Tony Nixon posted [to the PICList] that he was able to write a boot loader for the '877 including a PC program to write code out to the PIC which would then write it to FLASH and run it. It dawned on me that a '877 preprogrammed with this boot loader was a $5 development environment when combined with the free MPLAB software and a few bench tools (power supply, DVM, signal generator, function generator, frequency counter, scope, logic probe or analyser, etc...) Then I started thinking that all these things have been implemented (at least in basic form) in PIC's. And the support electronics for a DVM and scope are very simular, as are the (variable) power supply and signal generator and the code for the function generator, frequency counter and scope all involve rapidly copying port values to or from ram, so....
The upshot is that I think a $10 board consisting of a '877, MAX 232, Analog front end, PWM output filters and power regulators could provide the following:
The ISR would loop checking the RS232 port and could also be capturing port pin signals, a2d results, etc.. and sending them to the PC which could display them on the screen in virtual logical analyzers, o'scopes etc...
When the user presses the single step button, the single step command is sent by the PC to PIC and the ISR returns for one more main code instruction. If the user selected the Run button the ISR could still interrupt the main code every so many cycles and report to the PC the registers, ports, a2d etc... This would introduce a heck of a jitter in the main program but it would be better than not having it at all.
If the user selected a register in the PC display the GUI would allow editing and then send a request to the PIC ISR which would update the register and continue looping.
http://www.xs4all.nl/~wf/wouter/pic/wisp/ has a nice charge pump design under PIC control. Not closed loop though.
Anyway, you could develop right on the CUMP and then port it to a (smaller, cheaper) target processor which you program, stimulate and test via the CUMP after the code is basically running. See http://www.adv-transdata.com/User_Guide/DS91033.pdf (cached 20000229114401)
Optional extensions are without limit. Starting from a low cost, easy base, the unit could be cheaply extended to add external high speed RAM signal capture and generation, high impedance analog front ends and back ends, user interfaces to replace the PC GUI. If the daughter card interface is done correctly, these additions would be as easy as plugging in a new card with the code for the main processor to use it right on the daughter cards own EEPROM.
An external, high speed (hundreds of MHz) oscillator with a high speed counter (maybe the timers in the SX48/52) might be capable of adding TDR capability. Most 50 ohm coaxial cable has a V factor of .66, and the pulse goes out and comes back, so figure .33C as a starting point. At 300 MHz, a wavelength in free space is 1M, so to get accuracy to the nearest meter, you'd have to count at 600*.33 or 200 MHz. Other cables are different, basically the higher the Z, the higher the C.
Build a 110VAC to 1V switcher, use 'flat-transformer' technology for 98% or better efficiency. With this type transformer, there is almost zero leakage inductance, so almost no losses from snubbers, etc. in the primary. Flat transformers don't even need square 50/50 duty cycle...you can regulate by varying the on time of the input voltage switches. They have a limitation of fifteen volts, but yield an easy way to build a 300kHz to 1 MHz switcher.
On the secondary, be sure to use Power Mosfets as synchronous rectifiers, so that ON resistance is perhaps .05 Ohms when they conduct and diode losses are virtually non-existent. In other words, you drive the Mosfets on only when the diode they replace is supposed to conduct. Terrific efficiency. Output voltage or current is easy to control depending on the feedback circuit used. We are talking 98% efficiency here with 1.0 volts out, scalable to almost any power level.
Dan Michaels says:
I've done a number of the things you mention using 20Mhz PIC16C73/74/76 chips. They make rather nice simple 1-chip scope/logic_analyzer/generator instruments - albeit a little slow.
The best "logic analyzer" rate is 2.5Mhz using a 20Mhz part. 1 instr to capture, 1 to store, using linear code and direct addressing. You can't fill more than about 96+80=176 locations without bank-fiddling, which adds some skew. The best rate I could coax out of 1-bit sampling, which of course requires time to pack 8-bits to a byte, was 1 Mhz.
If you can actually get 20Mhz and 5 Mhz datacq, as mentioned in your e-mail, please tell me how.
Also, regarding "signal generator via PWM", this works extremely well on the 2nd gen PICs with the built-in PWM generator. Turns out all period values and duty-cycles are available on these chips, so you are not limited to just a few PWM rates (as on most microcontrollers??), and you can actually get continuous pulse widths and reprates from 50ns @ 5Mhz, down to about 800us @ 1.2Khz. Since, it's done in h.w., there is no s.w. overhead or timing loop problems.
A while back, I wrote an Appnote about this, which spells it out in detail:
"AN-ECD06 - Precision 50-nsec Pulse Generation Using a PIC16C63" available at: http://www.oricomtech.com/appnotes.htm
- Dan Michaels
But the web archive is not accessible from that. Use the PICList.com archive instead. Translating the one to the other should be pure hell. I * think * the number at the end of the link is the counted number of the post since the beginning of the month. The month view in the PICList.com archive might help you get near the right point....
If you were willing to help fix up the links, I could modify the archive browser to show a cumulative count for each day from the first of the month as well as the count per day.+
|file: /Techref/idea/ebb.htm, 22KB, , updated: 2007/1/22 09:57, local time: 2019/10/15 13:54,
|©2019 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions?|
<A HREF="http://massmind.org/Techref/idea/ebb.htm"> Electronics Bench in a Box</A>
|Did you find what you needed?|
Welcome to massmind.org!
Welcome to massmind.org!