Arthur Digital Solutions


100MS/s DSO
USB-s programmer

Universal programmer with USB interface

This is a universal programmer/downloader unit. It can be used for programming a multitude of chips. Most modern microcontrollers, configuration FLASH memories, CPLDs and RAM based FPGAs have some serial configuration interface. Most of them requires no additional voltage for programming. Thus, it is possible to use a single device to program all of them.

This board is bus-powered, that is, it gets its power from the USB bus. That means that there is no need for an external power supply.

The device has 8 I/O lines which always use signal levels matching the power voltage of the target device. That way any circuit with power voltages between 2.5V and 5V can be programmed. The programmer board connects to the target with target chip specific cables. The different cables have a 48 bit identifier built into them, thus accidental misconfiguration of the programmer is automatically avoided.

In addition to the 8 I/O lines there is also a TTL level serial line. That can prove very useful for chips that are programmed using serial communication. Such chips are, for example, the NXP LPC2xxx or the Atmel AT91SAM7 series ARM based microcontrollers or the Renesas (Hitachi) H8/300H based chips. Furthermore, a +5V supply is also available on the programming connector.

The programmer sports an ATmega128 microcontroller which is responsible for precise timing of the signals and provides an intelligent interface towards the host. All the JTAG, I2C and SPI primitive operations are provided by the programmer board, the host program only has to call them. Currently the board can program the following devices:

  • ATMEL: AVR microcontrollers
  • Xilinx: xcf01s, xcf02x, xcf04s, xc18v01, xc18v02, xc18v04
  • ATMEL: AT17C256, AT17LV010
  • Microchip: PIC 16F84, 16F84A (needs extra circuitry for the +12V...)

Further devices can be added easily as long as the programming algorithm is published by the vendor. Currently Xilinx CPLDs are being added to the known devices list, as well as the NXP LPC series controllers.

The programmer board has three LEDs which are used to convey status information. There is also a push button of which the status can be polled by the host program and, for example, it can start programming when the button is pressed. That is very convenient when a series of target boards has to be programmed.

Top Last modified: 2017.12.05
Copyright © 2010