On Sun, Jan 29, 2006 at 09:46:56AM +0100, Wouter van Ooijen wrote: > > I think there's one paradigm issue here. It's not effective if you put > > it in the realm of traditional programmers. I think of this type (and > > all of my Trivial programmers too) as firmware dumping > > circuits. Their place > > is not to serve as a traditional programmer, but as a non > > intelligent tool > > to get to intelligent programmers, both self hosting (via > > bootloaders) and > > off chip hosted. > > > > In that context a power flip or two one time per chip isn't > > too terribly costly. > > I was not thinking of cost, Neither was I. I meant cost in terms of time and difficulty. > but of error-pronesness. So we're in the same area. > That's why I don't like the timing capacitor(s). I tested my Trivial BootStrapper with a simple feedback loop. The resistor/cap combo for the 555 is going to get you into a general timing ballpark. You only have to get it timed somewhere near the center of a serial character cell. The feedback loop simply loops back the inverted output of the 555. If the timing is correct you get back a character in the 0x1f, 0x0f, or 0x07 range. > And thye switches must be switched at the > right moment, and the Vpp must be 13 Volt, which is *not* the same as a > wall-wart set to 13Volt (if that existed), so I think this progger is > more complex to use (even to use once) than it seems. I never perceived getting 13V as too difficult a problem. A 7812 regulator with a diode on the ground leg gets you 12.6V which is good enough for programming work and cost (in terms of diffculty) only a single 3 pin regulator, a diode, and a couple of smoothing caps. Also many PIC parts only require a Vpp of 3.5 above Vdd. So switching 12V which is readily available on a PC is also doable. Finally one could build a programmer with automatic Vpp switching. Generally USB to serial converters do have working modem control signals. However, they are generally not synchronized to the TX stream. So you cannot have the precise timing control that programmers like JDM require. But if the modem control signal is switchable at all, you can use it to switch Vpp. By using a transistor switch, there would not be any RS-232 voltage level issues as transistors can switch on with as little as 1V. So a circuit along the lines of your El Cheap RS-232 interface for WLoader (IIRC a current limiting resistor, a zener diode clamp, and a switching transistor) would be sufficient to control Vpp. > To ride your hobby horse: I think programming a bootloader or the > firmware of an intelligent progger is one of the places where LVP is > appropriate. Yes and no. Yes because it's simpler to wire and test. No because you lose the PGM permanently, which is untenable primarily because MChip in their infinite wisdom stuck LVP in the middle of a perfect good 8 bit I/O port. I find that a strategy of building the LVP version first, testing it, then adding the Vpp circuit after LVP testing is a workable solution. My development of the TBS555 bogged down with the RX feedback. It tested perfectly as an outgoing "Black Hole" a la ZPL. In fact ZPL's python code could be easily adapted to driving the TBS555. I'm still debating how important verification is for the bootloader dumper. Should it be as simple as testing with a blinky LED and then dump a self verifying bootloader to the part? BTW James, if you are still reading, having a conversion application to drive the serial port isn't critical. As I stated above this type of device is not designed to be a traditional programmer. It's much more akin to P-code/bytecode interpreters of the past. Get the interpreter onto a new target, then use it to port all of the rest of the software. Same here as the TBS555 is used solely to dump in a bootloader, then the bootloader is used from then on to program the chip. BAJ -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist