Saturday, May 16, 2009

AVR / 89S Microcontrollers programmer compatible with AVR910

Programmer it is executed on the basis of the driver from Objective Development and it is completely compatible on commands with original programmer AVR910 from ATMEL. The description of the original circuit programmer can be taken in Application Note AVR910: In-System Programming , and the list of supported commands can be seen in Application Note AVR109: Self Programming

the Design:

The circuit programmer is resulted in figure below. Safety fuse F1 serves for protection of lines of port USB against casual short circuit on circuits of programmer. Diodes VD1, VD2 - with a direct power failure ~0,6 … 0,7В, are intended for downturn of a power of microcontroller DD1 up to 3,6 V. Light-emitting diodes VL1, VL2 signal about the current actions programmer, and, accordingly, designate modes of reading and recording. Light-emitting diode VL3 serves for the signal system of submission of a power on programmer.




The jumper J1-J2 serves as for initial programming the microcontroller (close J1 - MODify), and for use as a socket programmer (close J2 - NORMal). Resistors R10 - R14 are intended for the coordination of levels of signals of the controller programmer and the programmed controller.

Speed for port SPI it is equal 187,5 kHz. It allows to program controllers with clock frequency approximately from 570 kHz for tiny/mega, 750 kHz for 90S and 7,5 MHz for 89S. Controllers are programmed from 10 till 30 seconds together with verification depending on volume FLASH of memory and clock frequency. On conclusion LED of socket ISP the meander with frequency of 1 MHz for "revival" uCU at which have been wrongly programmed fuse bits, responsible for clocking is removed. The signal is generated constantly and does not depend on an operating mode of programmer

Programmer it was tested with programs AVRProg v.1.4 (enters into a package AVRStudio ), ChipBlasterAVR v.1.07 Evaluation , AVROSP (ATMEL AVR Open Source Programmer) , CodeVisionAVR . Besides programmer it was tested with the program AVRDUDE , however, the program with given programmer is not compatible, as not all commands of the report AVR910 fulfils correctly. Programmer allows to program all controllers AVR supporting ISP (In System Programming - Programming In System), and as uCU series 89S - 89S53 and 89S8252. At present with the set forth above programs programming controllers 89S53, 89S8252, 90S2313, 90S8515, ATtiny26, ATtiny45, ATtiny2313, ATmega48, ATmega8, ATmega8515, ATmega8535, ATmega16, ATmega32, ATmega64 ATmega128, AT90CAN128 is tested

I strongly recommend to repeat the circuit one-in-one, to throw out "superfluous" details from the circuit can result or in wrong functioning programmer, or to possible failure USB of port on РС, for what, naturally, I do not carry what responsibility.

Insertion FUSE BITS:

For normal functioning the controller in the circuit it is necessary, that were programmed (bats SPIEN, CKOPT and SUT0 are established in "0"). Usually uCU, going from a factory, i.e. new, have already programmed bats SPIEN. As it is desirable (but it is not necessary) to program (to establish in "0") bats BODEN that will resolve job built - in uCU broun-out the detector. At not programmed to bat BODLEVEL level operations broun-out the detector there will be at a level of 2,4...2,9 Volt... Other bats should be not programmed (are established in "1")

Installation:

Windows XP

To stitch the controller. To connect newly-baked programmer to РС through free socket USB. OS will find the new device - AVR910 USB Programmer , at the offer automatically to find the driver, to refuse, and to specify a way to a file prottoss.avr910.usb.inf . At the prevention{warning}, that the driver has no digital signature, to send OS in erotic travel. Small problems at me have arisen, when, after installation, program AVRProg v. 1.4 could not find programmer as OS has appropriated to him number COM9. After monitoring ports appeared, that AVRProg searches for the device only on ports COM1 - COM4. To change number of port it is possible if to go in the manager of devices in: AVR910 USB Programmer-> Properties> Parameters of port-> In addition-> Number of COM-port

Windows 2000

Basically, installation does not differ from described above for Windows XP, but there is one BUT - delays in the driver usbser.sys spoil a chain of commands from on PC up to Soft programmer and, circuit of answers back from programmer up Soft to on PC... I yet have not established the Problem, but there is a decision... Certainly not the most beautiful, but works reliably:-) It is necessary to replace a file usbser.sys in system folders Windows 2000 on similar from Windows XP. These are folders ...\winnt\system32\drivers \ and ...\winnt\system32\dllcashe \ . The file usbser.sys from Windows XP SP1 can be taken here . It is natural, that the driver should be substituted having loaded under other OS (for example from a loading disk). As nucleus of these two OS are very similar, the driver from XP fine feels itself under 2000:--) At least, I have tested some more devices, pretending to be USB CDC Class, and all of them worked as usually... Attempts install the driver from XP through an adjusting file, unfortunately, in anything have not resulted. If who that knows, how it can be made, I shall be grateful.

Files:

All archives contain a file of an insertion, an adjusting inf-file and the circuit in format Adobe pdf. Except for it old versions contain the description as old html pages.

avr910_usb_programmer.files.ver.1.01.rar the Version from 25.08.2006. Frequency trim SPI, that adds speed of programming a little, however, it, there are problems with job on some computers because of timeout expectations ON programmer

avr910_usb_programmer.files.ver.1.02.rar the Version from 21.09.2006. No frequency trim, but for that generation of a meander on conclusion LED of a ISP-socket has appeared. There is a mistake in an insertion, connected with an establishment on conclusion RESET of a ISP-socket a broad gully. "0" at the first inclusion programmer. The conclusion remains in such status before the first programming or an input in the menu of installation fuse bits...

avr910_usb_programmer.files.ver.1.03.rar the Version from 31.10.2006. Is corrected a mistake of version 1.02.

avr910_usb_programmer.files.ver.1.04.rar the Version from 16.12.2006. internal pull-up the resistor connection Is added to an input MISO uCU programmers during programming target uCU. Probably, it will be useful at reading payments with the lowered voltage power, and in general, I think, will positively have an effect on reliability of reading programmed uCU.

No comments:

Post a Comment