Published:2011/8/1 1:13:00 Author:Li xiao na From:SeekIC
By Andreas Oyrer
Microcontroller programmers are usually dedicated to the devices of one particular manufacturer. This multi-programmer/ however, can not only program the most important mid-range microcontrollers made by Atmel (and soon also Microchip)/ but also serial EEPROMs. Thanks to its USB interface, programming is simple, flexible and quick.
This multi-programmer is tailored to the requirements of the semi-professional user. It is not designed for the entire range of microcontrollers from one particular manufacturer, but rather for general use with standard 8-bit microcontrollers which have limited memory capacity. The hardware is capable of programming microcontrollers from more than one manufacturer (currently Atmel and Microchip) as well as serial EEPROMs. Since these use different programming algorithms and voltages, this is something of an unusual feature. ’Semi-professional’ also means that the programmer is a development tool, and so must be suitable for use while debugging. The programmer must be fast, so that the job of getting software to work correctly does not become a chore.
The programmer must also be controllable, which is achieved by using a USB interface. HID (Human Interface Device) compatibility means that the device will work straightforwardly with versions of Windows from 98SE onwards. All that is needed to operate the multi-programmer is a spare USB port on the PC. The device takes its power from the USB port (it is ’bus-powered’), and so no mains supply is needed.
The microcontroller used does not have its own program memory, and so the firmware is downloaded directly from the PC over the USB cable when it is plugged in. Updating the firmware simply requires changing a file on the PC.
It is also possible to store the firmware in an EEPROM on the programmer board, accessed by the microcontroller on power-up. In this case the USB must be used to upload new firmware versions into the EEPROM.
A special feature of this device is that the microcontroller to be programmed does not have to be removed from the target circuit and put in the programming socket. The programmer has two ISP (in-system programming) interfaces available, one for Microchip microcontrollers, one for Atmel devices.
USB Microcontroller
At the heart of the hardware is the TUSB3210 (IC1) from Texas Instruments. This is an 8052-compatible microcontroller with a full speed (12 Mbit/s) USB interface, offering four I/O ports each with 8 port pins, a UART, a watchdog timer and an I2C interface. The TUSB3210 does not have its own flash memory, and so the firmware must be reloaded every time power is applied. Software is loaded into the 8k-by-8 (8 kbyte) RAM memory by a built-in boot loader: this can be over the USB interface, or, alternatively, the software can be stored in serial EEPROM IC5 (a 24LC64). The EEPROM is connected to the I2C interface pins SDA and SCL of the TUSB3210: its contents are read whenever the device is reset and copied to the TUSB3210’s RAM. If the USB option is used a driver is required on the PC to send the software to the TUSB3210. Whether from the EEPROM or from the PC, once all the firmware has been copied into RAM the boot loader software disconnects from the USB. The program stored in the RAM is run and the device is then reinitialised over the USB.
Reprinted Url Of This Article: http://www.seekic.com/blog/project_solutions/2011/08/01/Multi_Programmer__One_Size_Fits_All_(1).html
Print this Page | Comments | Reading(349)
Author:Ecco Reading(30179)
Author:Ecco Reading(3461)
Author:Ecco Reading(3181)
Author:Ecco Reading(3661)
Author:Ecco Reading(5231)
Author:Ecco Reading(3248)
Author:Ecco Reading(3390)
Author:Ecco Reading(3530)
Author:Ecco Reading(3935)
Author:Ecco Reading(3707)
Author:Ecco Reading(3677)
Author:Ecco Reading(3714)
Author:Ecco Reading(6028)
Author:Ecco Reading(3692)
Author:Ecco Reading(4478)