Re: Writing to DS2406
Gregg C Levine <hansolofalcon <at> worldnet.att.net>
2007-10-01 23:31:28 GMT
Hello!
I believe I am missing something here. Jim you, and your staff (I presume
you have one because of the EE and his scope.) did all of that with a
DS9490R and successful.
What about using the passive version of the DS9097? (And of course I do not
recall the full number for this gizmo, just the specific name for it.) Of
course this presupposes that you do have a legacy serial port available, and
that one of the DS9097s for such a function is indeed available.
I can see where installing specific information into a DS2406 or the Unique
Ware devices for a specific project. And then including routines in your
code to read them back and including functions for accessing them via both
forms are also needful and necessary.
But then again this is just me.
--
Gregg C Levine hansolofalcon <at> worldnet.att.net
"The Force will be with you. Always." Obi-Wan Kenobi
> -----Original Message-----
> From: owfs-developers-bounces <at> lists.sourceforge.net
[mailto:owfs-developers-
> bounces <at> lists.sourceforge.net] On Behalf Of Jim Kusznir
> Sent: Monday, October 01, 2007 7:03 PM
> To: owfs-developers <at> lists.sourceforge.net
> Subject: Re: [Owfs-developers] Writing to DS2406
>
> Thanks for the help!
>
> We actually found that the DS9490R includes a zener diode (in package
> DS9503P) that limited the output. We removed and properly bypassed
> it, and now get programming pulses to 10.5V, which appears sufficient
> to burn the prom. We are sucessfully burning the eprom in the 2506's!
>
> (Our power supply was a PC power supply, and we watched it on the
> OScope, and verified that it was not moving at all. The voltage
> limitation was internal to the module.
>
> Thanks for all the help!!
>
> --Jim
>
> On 10/1/07, njh <njh <at> njhurst.com> wrote:
> > This is an obvious thing, but have you tried putting a capacitor right
on
> > the power supply leads to the chip? 0.1uF bypassing cap should do the
> > trick I think?
> >
> > njh
> >
> > On Mon, 1 Oct 2007, Jim Kusznir wrote:
> >
> > > I got an EE to bring over an OScope, and we may have found out some
more info.
> >
> > First, we have verified that it is sending programming pulses.
> > Unfortunately, these pulses are only 8.5V for 480microseconds. We've
> > viewed the +12 supply on VPP, and verifed it is 12V. From my
> > understanding, VPP needs to be 12, and that the votage is supposed to
> > be passed through from the VPP pin. Is this correct? Is there any
> > setting that can effect this, or does this sound like a dead chip?
> >
> > Thanks!
> > --Jim
> >
> > On 10/1/07, Jim Kusznir <jkusznir <at> gmail.com> wrote:
> > > I think we're getting close. It appeared to work from the command
> > > prompt, but when I read memory, nothing has been changed. I also
> > > noticed some owfs paths coming out in the memory readback, so there
> > > might be a bug there elsewhere, too:
> > >
> > > root <at> eme206-05 12.588636000000 # echo -n "A Long Test Into An OWFS
> > > Device. Not too long though." > memory
> > > root <at> eme206-05 12.588636000000 # cat memory
> > >
> ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
> ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
> ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
> ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿy~
> > > ÿÿÿÿ* <at> A <at> Aÿÿ ÿÿ*
> > > ÿÿ*8 <at> A <at> A`ÿÿÿÿÿÿ* <at> A8 <at> A <at> 4` ÿÿÿÿÿÿ*ÿÿÿÿÿÿ*
> <at> AMÿÿÿÿÿÿÿÿ*ÿÿÿÿÿÿÿÿhÿÿÿÿÿÿÿÿ*36000000/memory
> > >
> > > ÿÿ ÿÿÿÿÿÿ*READ path=/uncached/12.588636000000/memory size=4096
offset=0
> > > 4 ÿÿÿÿÿÿ8 <at> ÿÿÿÿÿÿ8
> > > <at> A4ÿÿÿÿÿÿÿÿ (ÿÿÿÿÿÿ8 <at> ÿÿÿÿÿÿ8ÿÿÿÿÿÿÿÿ804`ÿÿ ÿÿÿÿÿÿ*RELEASE
> > > path=/uncached/12.588636000000/pages/page.0
> > > <at> Aÿÿÿÿÿÿ
> > > <at> Aÿÿÿÿÿÿÿÿ*ÿÿÿÿÿÿÿÿ <at> 0ÿÿ* <at> Aÿÿ <at> ÿÿ
> > > <at> Aÿÿ
> > > <at> A <at> A 0
> > > <at> A <at> A
> > > <at> Ap <at> A <at> ÿÿ ÿÿÿÿ*`ÿÿÿÿÿÿ*4ÿÿÿÿÿÿÿÿ* <at> <at> A4ÿÿÿÿÿÿÿÿ*00ÿÿ
> > > <at> Aÿÿ <at> Aeÿÿÿÿÿÿ8C <at> A4ÿÿÿÿÿÿÿÿ*lÿÿÿÿÿÿ800
> > > <at> A[cÿÿÿÿÿÿ*68 ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ*`ÿÿÿÿÿÿ*ÿÿ <at> Aÿÿ]ÿÿÿÿÿÿ*8 <at> Ax, <at> A
> ì°(r)ªª* 6
> > > 8 <at> A þ £ë8
> > > 8 <at> Aÿÿ ÿÿÿÿ*ÿÿ ÿÿÿÿ*........ 8 <at> Aÿÿ ÿÿÿÿ*ÿÿ ÿÿÿÿ*ÿÿ ÿÿÿÿ8ÿÿ ÿÿÿÿ*8 <at> Aÿÿ
ÿÿÿÿ*
> ÿÿÿÿÿÿ*hÿÿÿÿ*hÿÿÿÿ*ÿÿÿÿÿÿÿÿ
> > > <at> A8 <at> A`ÿÿÿÿÿÿ*pÿÿÿÿÿÿ* ÿÿÿÿÿÿ* ÿÿÿÿÿÿÿÿ*
ÿÿÿÿ*ÿÿÿÿÿÿÿÿ ÿÿÿÿ*
> ÿÿÿÿÿÿÿÿÿÿ*ÿÿÿÿ* ÿÿ ÿÿÿÿ*ÿÿ ÿÿÿÿ*
> > > Xÿÿ6 ÿÿÿÿÿÿ*ÿÿÿÿÿÿÿÿ* <at> <at> 0 ÿÿÿÿ* ÿÿÿÿlÿÿÿÿl
ÿÿÿÿ*ÿÿlÿÿÿÿ4ÿÿÿÿ*ÿÿ <at> Ap
> ÿÿÿÿ* S G
> > > ÿÿÿÿ* ÿÿÿÿ#ÿÿÿÿ*ÿÿÿÿ P <at> A ;ÿÿÿÿÿÿp ÿÿÿÿ* ÿÿDÿÿ <at> 0ÿÿlÿÿ <at> AP
> <at> AÿÿNÿÿÿÿ*ÿÿ <at> AP <at> A <at> ÿÿÿÿ*Pÿÿl
> > > <at> Aÿÿa`ÿÿ8 <at> <at> A <at> <at> Aÿÿ! ÿÿÿÿrÿÿÿÿ <at> AP <at> Aroot <at> eme206-05 12.588636000000
> #
> > >
> > > here's the debug trace:
> > >
> > > ---------------- Debug Trace -----------------------
> > > unique: 103, opcode: LOOKUP (1), nodeid: 4, insize: 47
> > > LOOKUP /uncached/12.588636000000/memory
> > > CALL: FSTAT path=/uncached/12.588636000000/memory
> > > CALL: PARSENAME path=[/uncached/12.588636000000/memory]
> > > DEBUG: Cache_Get_Device 12 58 86 36 00 00 00 18
> > > DEBUG: Get from cache sn 12 58 86 36 00 00 00 18 pointer=(nil)
index=-1 size=4
> > > DEBUG: value found in cache
> > > CALL: ATTRIBUTES path=/uncached/12.588636000000/memory
> > > DEBUG: ParsedName_destroy /uncached/12.588636000000/memory
> > > NODEID: 5
> > > unique: 103, error: 0 (Success), outsize: 136
> > > unique: 104, opcode: SETATTR (4), nodeid: 5, insize: 128
> > > CALL: TRUNCATE path=/uncached/12.588636000000/memory
> > > CALL: FSTAT path=/uncached/12.588636000000/memory
> > > CALL: PARSENAME path=[/uncached/12.588636000000/memory]
> > > DEBUG: Cache_Get_Device 12 58 86 36 00 00 00 18
> > > DEBUG: Get from cache sn 12 58 86 36 00 00 00 18 pointer=(nil)
index=-1 size=4
> > > DEBUG: value found in cache
> > > CALL: ATTRIBUTES path=/uncached/12.588636000000/memory
> > > DEBUG: ParsedName_destroy /uncached/12.588636000000/memory
> > > unique: 104, error: 0 (Success), outsize: 112
> > > unique: 105, opcode: OPEN (14), nodeid: 5, insize: 48
> > > CALL: OPEN path=/uncached/12.588636000000/memory
> > > unique: 105, error: 0 (Success), outsize: 32
> > > OPEN[0] flags: 0x8001 /uncached/12.588636000000/memory
> > > unique: 106, opcode: WRITE (16), nodeid: 5, insize: 118
> > > WRITE[0] 54 bytes to 0
> > > CALL: WRITE path=/uncached/12.588636000000/memory size=54 offset=0
> > > DEBUG: FS_OWQ_create of /uncached/12.588636000000/memory
> > > CALL: PARSENAME path=[/uncached/12.588636000000/memory]
> > > DEBUG: Cache_Get_Device 12 58 86 36 00 00 00 18
> > > DEBUG: Get from cache sn 12 58 86 36 00 00 00 18 pointer=(nil)
index=-1 size=4
> > > DEBUG: value found in cache
> > > OWQ OneWireQuery structure of /uncached/12.588636000000/memory
> > > OneWireQuery size=54 offset=0, extension=0
> > > Byte buffer OneWireQuery buffer, length=54
> > > -- 41 20 4C 6F 6E 67 20 54 65 73 74 20 49 6E 74 6F
> > > -- 20 41 6E 20 4F 57 46 53 20 44 65 76 69 63 65 2E
> > > -- 20 20 4E 6F 74 20 74 6F 6F 20 6C 6F 6E 67 20 74
> > > -- 68 6F 75 67 68 2E
> > > <A Long Test Into An OWFS Device. Not too long though.>
> > > OneWireQuery I=54 U=54 F=2.66795E-322 Y=54 D=Wed Dec 31 16:00:54
1969
> > >
> > > --- OneWireQuery done
> > > DEBUG: Selecting a path (and device)
> > > path=/uncached/12.588636000000/memory SN=12 58 86 36 00 00 00 18 last
> > > path=00 00 00 00 00 00 00 00
> > > DATA: DS9490_reset
> > > DATA: DS9490_reset: ok
> > > DEBUG: Transaction select = 0
> > > DEBUG: Transaction send = 0
> > > DEBUG: Transaction readin = 0
> > > DEBUG: Transaction CRC16 = 0
> > > DATA: DS9490_level 2 (old = 0)
> > > DATA: DS9490_level 0 (old = 2)
> > > DATA: DS9490_HaltPulse
> > > DATA: DS9490_HaltPulse: loop
> > > DATA: DS9490_HaltPulse: ok
> > > DEBUG: Transaction program pulse = 0
> > > DEBUG: Transaction end = 0
> > > DEBUG: Wrote DS2406 byte 0 -- no errors
> > > DEBUG: Selecting a path (and device)
> > > path=/uncached/12.588636000000/memory SN=12 58 86 36 00 00 00 18 last
> > > path=00 00 00 00 00 00 00 00
> > > DATA: DS9490_reset
> > > DATA: DS9490_reset: ok
> > > DEBUG: Transaction select = 0
> > > DEBUG: Transaction send = 0
> > > DEBUG: Transaction readin = 0
> > > DEBUG: Transaction CRC16 = 0
> > > DATA: DS9490_level 2 (old = 0)
> > > DATA: DS9490_level 0 (old = 2)
> > > DATA: DS9490_HaltPulse
> > > DATA: DS9490_HaltPulse: loop
> > > DATA: DS9490_HaltPulse: ok
> > > DEBUG: Transaction program pulse = 0
> > > DEBUG: Transaction end = 0
> > > DEBUG: Wrote DS2406 byte 1 -- no errors
> > > DEBUG: Selecting a path (and device)
> > > path=/uncached/12.588636000000/memory SN=12 58 86 36 00 00 00 18 last
> > > path=00 00 00 00 00 00 00 00
> > > DATA: DS9490_reset
> > > DATA: DS9490_reset: ok
> > > DEBUG: Transaction select = 0
> > > DEBUG: Transaction send = 0
> > > DEBUG: Transaction readin = 0
> > > DEBUG: Transaction CRC16 = 0
> > > DATA: DS9490_level 2 (old = 0)
> > > DATA: DS9490_level 0 (old = 2)
> > > DATA: DS9490_HaltPulse
> > > DATA: DS9490_HaltPulse: loop
> > > DATA: DS9490_HaltPulse: ok
> > > DEBUG: Transaction program pulse = 0
> > > DEBUG: Transaction end = 0
> > > DEBUG: Wrote DS2406 byte 2 -- no errors
> > > DEBUG: Selecting a path (and device)
> > > path=/uncached/12.588636000000/memory SN=12 58 86 36 00 00 00 18 last
> > > path=00 00 00 00 00 00 00 00
> > > DATA: DS9490_reset
> > > DATA: DS9490_reset: ok
> > > DEBUG: Transaction select = 0
> > > DEBUG: Transaction send = 0
> > > DEBUG: Transaction readin = 0
> > > DEBUG: Transaction CRC16 = 0
> > > DATA: DS9490_level 2 (old = 0)
> > > DATA: DS9490_level 0 (old = 2)
> > > DATA: DS9490_HaltPulse
> > > DATA: DS9490_HaltPulse: loop
> > > DATA: DS9490_HaltPulse: ok
> > > DEBUG: Transaction program pulse = 0
> > > DEBUG: Transaction end = 0
> > > DEBUG: Wrote DS2406 byte 3 -- no errors
> > > DEBUG: Selecting a path (and device)
> > > path=/uncached/12.588636000000/memory SN=12 58 86 36 00 00 00 18 last
> > > path=00 00 00 00 00 00 00 00
> > > DATA: DS9490_reset
> > > DATA: DS9490_reset: ok
> > > DEBUG: Transaction select = 0
> > > DEBUG: Transaction send = 0
> > > DEBUG: Transaction readin = 0
> > > DEBUG: Transaction CRC16 = 0
> > > DATA: DS9490_level 2 (old = 0)
> > > DATA: DS9490_level 0 (old = 2)
> > > DATA: DS9490_HaltPulse
> > > DATA: DS9490_HaltPulse: loop
> > > DATA: DS9490_HaltPulse: ok
> > > DEBUG: Transaction program pulse = 0
> > > DEBUG: Transaction end = 0
> > > DEBUG: Wrote DS2406 byte 4 -- no errors
> > > DEBUG: Selecting a path (and device)
> > > path=/uncached/12.588636000000/memory SN=12 58 86 36 00 00 00 18 last
> > > path=00 00 00 00 00 00 00 00
> > > DATA: DS9490_reset
> > > DATA: DS9490_reset: ok
> > > DEBUG: Transaction select = 0
> > > DEBUG: Transaction send = 0
> > > DEBUG: Transaction readin = 0
> > > DEBUG: Transaction CRC16 = 0
> > > DATA: DS9490_level 2 (old = 0)
> > > DATA: DS9490_level 0 (old = 2)
> > > DATA: DS9490_HaltPulse
> > > DATA: DS9490_HaltPulse: loop
> > > DATA: DS9490_HaltPulse: ok
> > > DEBUG: Transaction program pulse = 0
> > > DEBUG: Transaction end = 0
> > > DEBUG: Wrote DS2406 byte 5 -- no errors
> > > DEBUG: Selecting a path (and device)
> > > path=/uncached/12.588636000000/memory SN=12 58 86 36 00 00 00 18 last
> > > path=00 00 00 00 00 00 00 00
> > > DATA: DS9490_reset
> > > DATA: DS9490_reset: ok
> > > DEBUG: Transaction select = 0
> > > DEBUG: Transaction send = 0
> > > DEBUG: Transaction readin = 0
> > > DEBUG: Transaction CRC16 = 0
> > > DATA: DS9490_level 2 (old = 0)
> > > DATA: DS9490_level 0 (old = 2)
> > > DATA: DS9490_HaltPulse
> > > DATA: DS9490_HaltPulse: loop
> > > DATA: DS9490_HaltPulse: ok
> > > DEBUG: Transaction program pulse = 0
> > > DEBUG: Transaction end = 0
> > > DEBUG: Wrote DS2406 byte 6 -- no errors
> > > DEBUG: Selecting a path (and device)
> > > path=/uncached/12.588636000000/memory SN=12 58 86 36 00 00 00 18 last
> > > path=00 00 00 00 00 00 00 00
> > > DATA: DS9490_reset
> > > DATA: DS9490_reset: ok
> > > DEBUG: Transaction select = 0
> > > DEBUG: Transaction send = 0
> > > DEBUG: Transaction readin = 0
> > > DEBUG: Transaction CRC16 = 0
> > > DATA: DS9490_level 2 (old = 0)
> > > DATA: DS9490_level 0 (old = 2)
> > > DATA: DS9490_HaltPulse
> > > DATA: DS9490_HaltPulse: loop
> > > DATA: DS9490_HaltPulse: ok
> > > DEBUG: Transaction program pulse = 0
> > > DEBUG: Transaction end = 0
> > > DEBUG: Wrote DS2406 byte 7 -- no errors
> > > DEBUG: Selecting a path (and device)
> > ><<snip>>
> > >
> > >
> >
-------------------------------------------------------------------------
> > This SF.net email is sponsored by: Microsoft
> > Defy all challenges. Microsoft(R) Visual Studio 2005.
> > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> > _______________________________________________
> > Owfs-developers mailing list
> > Owfs-developers <at> lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/owfs-developers
> >
-------------------------------------------------------------------------
> > This SF.net email is sponsored by: Microsoft
> > Defy all challenges. Microsoft(R) Visual Studio 2005.
> > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> > _______________________________________________
> > Owfs-developers mailing list
> > Owfs-developers <at> lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/owfs-developers
> >
> >
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2005.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> Owfs-developers mailing list
> Owfs-developers <at> lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/owfs-developers
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/