mstechca
New Member
Its me again with yet, another thought 1/2 stumbled on.
What I want to create is an ATMEL AT89C2051 programmer where more is done through hardware.
There are about three programmers which I have found on the internet, but they require too much software interaction.
To be specific, here is what I want to achieve:
as soon as the power to my circuit is turned on and the first AT89C2051 chip is inserted, it will read the first signature byte of the chip. If it is valid (1E according to the docs), it will then send a flag to the parallel port indicating that the unit is ready to accept incoming raw data. I want the computer to make the assumption that my circuit is an old dot-matrix printer.
Let's assume that I made a binary file containing acceptable instructions for the microcontroller called "boo.bin". If I issue the dos command "copy boo.bin PRN" the following will happen:
The contents of boo.bin will be sent down the parallel port, one byte at a time. The first time data appears, the circuit erases the previous contents on the AT89C2051, and then it programs the first byte. Then the rest of the bytes are programmed.
BUT, everything needs to be synchronized. Everytime something is happening, whether the chip needs to be validated, erased, or written to, the busy flag must be active, so that no bytes are lost.
Now here is the question I have been trying to answer myself.
How do I do this using the fewest number of chips possible without using a second microcontroller that is already programmed?
and how do I maximize programming speed?
What I want to create is an ATMEL AT89C2051 programmer where more is done through hardware.
There are about three programmers which I have found on the internet, but they require too much software interaction.
To be specific, here is what I want to achieve:
as soon as the power to my circuit is turned on and the first AT89C2051 chip is inserted, it will read the first signature byte of the chip. If it is valid (1E according to the docs), it will then send a flag to the parallel port indicating that the unit is ready to accept incoming raw data. I want the computer to make the assumption that my circuit is an old dot-matrix printer.
Let's assume that I made a binary file containing acceptable instructions for the microcontroller called "boo.bin". If I issue the dos command "copy boo.bin PRN" the following will happen:
The contents of boo.bin will be sent down the parallel port, one byte at a time. The first time data appears, the circuit erases the previous contents on the AT89C2051, and then it programs the first byte. Then the rest of the bytes are programmed.
BUT, everything needs to be synchronized. Everytime something is happening, whether the chip needs to be validated, erased, or written to, the busy flag must be active, so that no bytes are lost.
Now here is the question I have been trying to answer myself.
How do I do this using the fewest number of chips possible without using a second microcontroller that is already programmed?
and how do I maximize programming speed?