Universal Programmer UP 2.0

Der Universal Programmer UP 2.0 ist eine Weiterentwicklung des bewährten AnaGate Universal Programmers UPP, der die Kernfunktionalität der beiden Ethernet-Gateways AnaGate I2C und AnaGate SPI bereit stellt.

Das Konzept einen transparenten Zugriff auf den I2C- bzw. SPI-Bus über eine LAN-Schnittstelle zu ermöglichen, wurde übernommen und beide Hardware-Schnittstellen in einem einzelnen Gerät zusammengefaßt. Über die Software-Schnittstelle des AnaGate UP 2.0 können auf diese Weise vom PC aus beliebige I2C- und SPI-Befehle abgesetzt werden.

Die Programmierung von Speicherbausteinen erfolgt über eine kostenlose batchfähige Programmiersoftware, in der die einzelnen Programmieralgorithmen hinterlegt sind. Noch nicht unterstützte Bausteine können auf Anfrage in die Programmiersoftware übernommen werden. Alternativ besteht auch die Möglichkeit, den AnaGate UP 2.0 über eine frei verfügbare Anwendungsbibliothek (API) anzusteuern und in eigenen Anwendungen individuell zu verwenden.

Zusätzlich stellt das Gerät eine JTAG-Schnittstelle für die Programmierung bzw. das Debugging von JTAG-fähigen Bausteinen sowie eine galvanisch getrennte Stromversorgung für die Versorgung von der angeschlossenen Bausteinen bzw. Baugruppen zur Verfügung.

Das AnaGate UP 2.0 ist aufgrund seiner hohen Programmiergeschwindigkeit geradezu für den Einsatz in der Serienfertigung bei der In-System-Programmierung von elektronischen Baugruppen über z.B. Wechseladaptersysteme prädestiniert. Er wird aber auch gerne im Laborbereich für die Einzelprogrammierung während der Entwicklung eingesetzt.

Wesentliche Programm-Funktionen :

  • Beschreiben und Auslesen von seriellen EEPROMs am I2C-Bus bzw.  seriellen EEPROMs und Flash-Speicher am SPI-Bus via TCP/IP (Ethernet)
  • Automatische Überprüfung der programmierten Daten (Verify)
  • I2C-Baudrate: 100, 400 und 1000 kbps
  • SPI-Baudrate: 200 bis 10000 kbps
  • JTAG-Baudrate: 10 bis 8000 kbps
  • I2C-EEPROM-Typen: alle gängigen Formate, insbesondere 24C01, 24C02, 24C04, 24C08, 24C16, 24C32, 24C64, 24C128, 24C256, 24C512, 24xx1025
  • SPI-EEPROM/Flash-Typen: M25P05, M25P16, M25P10, M25P20, M25P40, M25P80, M95128, M95256, AT25F512A, AT25F2048, AT25F4096, AT25040A, AT25080A, AT45DB041D und Kommando-kompatible Bausteine
  • JTAG-Schnittstelle basierend auf OpenOCD via TCP/IP ansprechbar (Programmierung und Debugging)
  • Unterstützung Batch-Betrieb
  • Unterstützte Hexdatenformate: Intel Hex ASCII, Motorola S-Record und Binärformat
  • Betriebssysteme: Windows 7/XP/10 (Linux-Version auf Anfrage)

Die Verbindung zum Programmiergerät von einem PC aus erfolgt grundsätzlich über eine herkömmliche Netzwerkverbindung (TCP/IP, LAN, WLAN), die Installation von zusätzlichen Gerätetreibern ist bei einer funktionsfähigen Netzwerkschnittstelle im Regelfall nicht notwendig.

Programmiergeschwindigkeit für SPI und I2C im Vergleich

Das konkrete Verhalten des Universal Programmer 2.0 im Vergleich zu verschiedenen Vorgänger-Modellen für SPI und I2C ist nachfolgend anhand von Referenzbausteinen aufgezeigt.

Gerät Bus Baustein Größe Baudrate Programmierung Verify Gesamt
I2C Programmer I2C AT24C1024 128 KByte 400 kbps 6,4 sec 5,1 sec 11,5 sec
Universal Programmer I2C AT24C1024 128 KByte 400 kbps 5,0 sec 3,8 sec 8,8 sec
Universal Programmer 2.0 I2C AT24C1024 128 KByte 1000 kbps 2,6 sec 2,1 sec 4.7 sec
Universal Programmer 2.0 I2C 24LC512[1] 128 KByte 400 kbps 3,8 sec 2,0 sec 5.8 sec
[1]max. 400 kBit/s lt. Datenblatt (dieser Baustein wird im Programmiergeräte Vergleichstest 2012 der Fa. Batronix ebenfalls verwendet)

Gerät Bus Baustein Größe Baudrate Löschen Programmierung Verify Gesamt
SPI Programmer SPI M25P16  2 MByte 6,25 MHz 14,8 sec 141,6 sec 28,7 sec 185,1 sec
Universal Programmer SPI M25P16 2 MByte 8,33 MHz 14,7 sec 37,8 sec 8,0 sec 60,5 sec
Universal Programmer 2.0 SPI M25P16 2 MByte 8,33 MHz 14,7 sec 10,2 sec 5,2 sec 30,0 sec

Es wurde bei der Messung jeweils ein herkömmlicher PC (Intel Core2 Duo E8400, 3.0 GHz, 4 GByte RAM mit Betriebssystem Windows 7 64bit SP1) verwendet. Es wurden mehrere Durchläufe gemittelt, die Bausteine wurden dabei jedes Mal komplett vom PC aus übers LAN beschrieben und ausgelesen.

AnaGate Universal Programmer 2.0 - Technische Daten

System
Prozessor ARM9 (32Bit, 200 MHz)
Betriebssystem Linux (Kernel 2.6.20)
I2C Bus
Baudrate 50, 100, 200, 400 bzw. 1000 kbps (einstellbar per Software)
High-Pegel SCL/SCA 3.0 - 5.0 V (galvanisch getrennt)
Betriebsmodus Single-Master Mode, Multi-Master-Mode
Schnittstelle 1x 6-poliger Stecker mit SCL, SCA, GND, Vcc, GND
SPI Bus
Baudrate 200 bis 10000 kbps (einstellbar per Software)
High-Pegel CLK/MISO/MOSI/-SS 1.8 - 5.0 V (galvanisch getrennt)
Betriebsmodus SPI Master
Schnittstelle 1x 10-poliger Stecker mit CLK, MISO, MOSI, -SS, Vcc, GND
JTAG
Baudrate 200 bis 8333 kbps (einstellbar per Software)
High-Pegel 1.8 - 5.0 V (galvanisch getrennt)
Betriebsmodus JTAG Master
Schnittstelle 1x 20-poliger Stecker mit -TRST, -SRST, TDI, TMD, TCK, TDO, Vcc, GND
LAN Interface
Baudrate 10/100 Mbps
TCP/IP statische oder dynamische IP-Adresse (DHCP), einstellbar über HTTP-Interface
Schnittstelle RJ45
Digital IO
Eingänge 4, galvanisch getrennt, 3.3 - 24V
Ausgänge 4, galvanisch getrennt, 3.3 - 24V (ges. max. 0,5A)
Gehäuse
LxBxH 155mm x 105mm x 40mm
Hutschiene Hutschienenadapter optional erhältlich
Spannungsversorgung
Eingangsspannung 9 .. 28V DC oder per Steckernetzteil (EU, UK, US)
Richtlinien, Zertifikate
EG-Richtlinien CE, RoHS
Software

Programmiersoftware: I2C EEPROM Programmer, SPI EEPROM Programmer, JTAG Programmer

Unterstützung für Linux auf Anfrage.