Prev: SC16IS752 anyone?
Next: PIC vs AVR vs ARM
From: Michael R. Kesti on 11 Oct 2006 09:45 Grant Edwards wrote: >On 2006-09-29, Fred Bartoli <fred._canxxxel_this_bartoli(a)RemoveThatAlso_free.fr_AndThisToo> wrote: >> Mark McDougall a ?crit : >><snipped> >>> 4. Masochistic tendencies. Debugging real-time multi-threaded apps using >>> a single LED and a CRO is not unheard of! ;) >>> >> Morse code? > >Yes, it's been done. It was'nt Morse, but I've been known to output a state machine's state index using two output pins. At the state machine's entry point one output was toggled to generate a sync pulse and then the other output was toggled after a number of times equal to the state variable. A dual-trace 'scope monitoring the outputs and triggered by the the sync pulse displayed the state variable quite nicely! -- ======================================================================== Michael Kesti | "And like, one and one don't make | two, one and one make one." mrkesti at hotmail dot com | - The Who, Bargain
From: CBFalconer on 11 Oct 2006 11:56 "Michael R. Kesti" wrote: > Grant Edwards wrote: >> Fred Bartoli wrote: >>> Mark McDougall a ?crit : >>><snipped> >>>> 4. Masochistic tendencies. Debugging real-time multi-threaded >>>> apps using a single LED and a CRO is not unheard of! ;) >>>> >>> Morse code? >> >> Yes, it's been done. > > It was'nt Morse, but I've been known to output a state machine's > state index using two output pins. At the state machine's entry > point one output was toggled to generate a sync pulse and then the > other output was toggled after a number of times equal to the state > variable. A dual-trace 'scope monitoring the outputs and triggered > by the the sync pulse displayed the state variable quite nicely! You can improve that to a single pin by emulating a UART. Emit a long start pulse, followed by the binary describing the state, and a long stop pulse. As long as the scope sweep is long compared to the complete signal, less the stop pulse, you should easily maintain sync. This assumes you can control the pulse lengths reasonably well so that the bits are well delimited by the scope reticule. Probably not reasonable for over 20 bits of state info. You could even make the start pulse considerably shorter than the bit times. -- Some informative links: <news:news.announce.newusers <http://www.geocities.com/nnqweb/> <http://www.catb.org/~esr/faqs/smart-questions.html> <http://www.caliburn.nl/topposting.html> <http://www.netmeister.org/news/learn2quote.html> <http://cfaj.freeshell.org/google/>
From: Michael R. Kesti on 12 Oct 2006 00:25 CBFalconer wrote: >"Michael R. Kesti" wrote: > >> It was'nt Morse, but I've been known to output a state machine's >> state index using two output pins. At the state machine's entry >> point one output was toggled to generate a sync pulse and then the >> other output was toggled after a number of times equal to the state >> variable. A dual-trace 'scope monitoring the outputs and triggered >> by the the sync pulse displayed the state variable quite nicely! > >You can improve that to a single pin by emulating a UART. Emit a >long start pulse, followed by the binary describing the state, and >a long stop pulse. As long as the scope sweep is long compared to >the complete signal, less the stop pulse, you should easily >maintain sync. This assumes you can control the pulse lengths >reasonably well so that the bits are well delimited by the scope >reticule. Probably not reasonable for over 20 bits of state info. >You could even make the start pulse considerably shorter than the >bit times. That's an improvement in terms of pin count, but is more complex to code and consumes more execution time, too. Always remember and never forget that there are ALWAYS tradeoffs! -- ======================================================================== Michael Kesti | "And like, one and one don't make | two, one and one make one." mrkesti at hotmail dot com | - The Who, Bargain
From: Charles Marslett on 12 Oct 2006 17:25 On Sat, 30 Sep 2006 09:55:21 +1200, Jim Granville <no.spam(a)designtools.maps.co.nz> wrote: >Mike Silva wrote: >> Jim Granville wrote: >> >>>...Or if 8 bits in a 3mm package scares you a little, this alternative >>>http://www.zilog.com/docs/zneo/FL0121.pdf >>> >>>gives you 16 x 32 bit register CPU. Large PCB+Compiler ToolChain and In >>>System Debug, is <$50. >> >> >> Jim, your posts on this board have talked me into getting one myself. >> Never hurts to play around with another device family. > >Let us know how you get on. I have not got my hands on one yet, but >I'm tempted to give one to my son. Appeal is the low price, and ALL docs >and Tools come from one company. Caution is, it is new silicon, but for >teaching that's not such an issue. [for work, I'll stick with 8051, >until an app screams for more crunch-power :)] > >-jg And I would recommend the TI MSP-430 USB key. You can carry it around in your pocket, comes with an debugging system, tool chain and a "sort of" 16-bit processor with 8 I/O pins. For $15 if you sign up for their contest or whatever it is. As someone else mentioned about TI processors, you get all the documentation you could want (lots of sample code, processor docs, etc.) from TI, but it is TI documentation. You get to read it and re-read it.... --Charles
From: Mike Silva on 12 Oct 2006 18:53
CBFalconer wrote: > You can improve that to a single pin by emulating a UART. Emit a > long start pulse, followed by the binary describing the state, and > a long stop pulse. As long as the scope sweep is long compared to > the complete signal, less the stop pulse, you should easily > maintain sync. This assumes you can control the pulse lengths > reasonably well so that the bits are well delimited by the scope > reticule. Probably not reasonable for over 20 bits of state info. > You could even make the start pulse considerably shorter than the > bit times. Just thinking out loud here, but for viewing state on a scope I'd like to see bit starting point clearly identified. Something like 3/4 on and 1/4 off for a '1', and 1/4 on, 3/4 off for a '0'. That way every rising edge is the start of a new bit. There are lots of useful debugging things you can do with a single bit and a scope. |