Re: universal programmer




"Abstract Dissonance" <Abstract.Dissonance.hotmail.com> wrote in message
news:11qoqhlquql4kd3@xxxxxxxxxxxxxxxxxxxxx
> Since I'm trying to get into MCU it seems I will need a programmer to get
> anywhere. From looking online it seems that any "decent" programmer is
> pretty expensive(1k+) and those that are cheap seem to offer very few
> features and few chip support.
>
> I was thinking that it shouldn't be very difficult to program just about
> any chip by using a computer if the computer had "access" to all the pins
> on the chip. From looking at a few data sheets it seems that its very easy
> to program a MCU by simply handling the procedure through the software.
>
> heres a quote of how to program the PIC16C84
>
> The device is placed into a program/verify mode by
> holding the RB6 and RB7 pins low, while raising the
> MCLR pin from VIL to VIHH (see PIC16C84 EEPROM
> Memory Programming Specification (DS30189)). RB6
> becomes the programming clock and RB7 becomes
> the programming data. Both RB6 and RB7 are Schmitt
> Trigger inputs in this mode.
> After reset, to place the device into programming/verify
> mode, the program counter (PC) points to location 00h.
> A 6-bit command is then supplied to the device, 14-bits
> of program data is then supplied to or from the device,
> using load or read-type instructions. For complete
> details of serial programming, please refer to the In-Circuit
> Serial Programming Guide (DS30277).
> For ROM devices, both the program memory and Data
> EEPROM memory may be read, but only the Data
> EEPROM memory may be programmed.
>
>
> It seems to me that if most chips follow a very similar method where you
> use a few pins(lets say arbitrary too) to get it into program mode and a
> serial communication on one pin to transfer the code then it would be
> extremly easy to program any of those chips by using a computer(with just
> about any number of pins). Is this the actual case?
>
> Lets suppose I have a device that simply lets me access any of the pins on
> a chip from software.... could I then not use the software to program the
> chip? If so, is this true of pretty much most of the MCU's and EEPROMS or
> just a few? If not, what are the reasons why I couldn't do this?
>
> Only thing I can think of that could prevent it from being so easy is
> supplying the proper voltage to the right pin(but this shouldn't be that
> hard) and getting the right clock into the chip. Other things like having
> ot have resistors and stuff on certain pins for certain reasons and such
> would surely scew this method up as then it might become to complicated to
> do(well, it would be just easier to buy a "universal programmer"). If
> there are no resistors needed and I can generate the clock from the
> software in a computer and potentially the voltage(or just allow the
> voltage to be selectable by the hardware and on what pin it should be on)
> then I can't see why this would be that difficult. Definately would be
> much cheaper to do than buying a 1000$ programmer.
>
> Is it safe to say that the generalization of the above procedure for the
> PIC16C84 applies to almost all other MCU's? And what about those MCU's
> that cannot be programmed in that way, what makes them so different?
>
> Any ideas?
>
> Thanks,
> AD

For myself, using microcontrollers in DIP packages (no SMD) from 8 to 40
pins, I use a 40-pin ZIF socket (where the uC to be programmed is inserted)
and also a small 50-pin connector which can be a DB-50.
The first 40 pins of this connector are connected directly to the ZIF socket
pins and five other pins are connected to the programmer well known signals,
that are: MCLR (or Vpp), Vcc, ground, DATA and CLOCK. These five signals are
then hardware-strapped to the appropriate first 40-pins onto a 50-pin plug
that fits into the connector for the appropriate uC to be programmed (many
share the same programming pinouts).
If different uC with a new programming pinout is released, I just buy a new
50-pin plug and hardware-strap it for the new pinouts, that's all! Take a
few minutes and soldering iron.
So far, I could have coped with the many different programming pinouts
Microchip (and others) have conceived to make our lives more difficult to
program their chips :)

Johnny



.