Programmiergerät, auch Device-Programmer oder EPROM-Brenner genannt, ist ein Gerät zum Transferieren von Daten in programmierbare Bausteine (integrierte Schaltkreise), wie etwa ROMs, EPROMs, EEPROMs, Flash-Speicher, GALs, PALs, PLDs, CPLDs, FPGAs, und Microcontroller.

Was hat das mit der Unendlichkeit zu tun?

Überhaupt nichts. Der Autor dieser Website arbeitet lediglich für eine ►Programmiergeräte-Firma und möchte diese Gelegenheit nutzen, um Wissen über Programmiergeräte zu verbreiten. Es gibt vier grundsätzliche Einsatzbereiche von Programmiergeräten:

  • Gang-Programmiergeräte - für Massenproduktion.
  • Universal-Programmiergeräte - für Labor und Kleinserienproduktion.
  • Taschen-Programmiergeräte - für Labor und Aussendienst.
  • Spezial-Programmiergeräte - nur für bestimmte Bausteintypen.

Das ideale Programmiergerät kombiniert die Vorteile von Universal- und Taschen-Programmiergeräten mit der Möglichkeit, mehrere Geräte zu einem Gang-Programmiergerät zu kaskadieren.

Wie viele Bauteile werden unterstützt?

Theoretisch kann ein Universalprogrammiergerät mit perfekten Pintreibern und Adaptern für alle Gehäuseformen sämtliche existierenden Bausteine programmieren. In der Praxis hängt dies von der Anzahl und Vielseitigkeit der Pintreiber, von der Zahl der in der Software bereits implementierten Bauteile sowie davon ab, wie Bauteile gezählt werden.

Es existieren heute etwa 5000 verschiedene programmierbare Bausteine. Dennoch gibt es für einige Programmiergeräte Listen mit 10.000, 30.000 oder gar über 40.000 unterstützten Bausteinen - wie ist das möglich? Die Antwort ist einfach: clevere Hersteller führen die gleichen Bausteine mehrfach in der Liste auf. Beispielsweise taucht der GAL 16V8 von Lattice bis zu 400(!) mal in den Bausteinlisten einiger Programmiergeräte-Hersteller auf. Aus diesem Grund hat die bloße Anzahl der Bausteine wenig Aussagekraft für den Vergleich von Programmiergeräten.

Was ist ein Pintreiber?

Ein Pintreiber ist der Schaltkreis, der jeden Anschluss des Programmiersockels steuert. Er versorgt den Anschluss mit Logikpegeln, Programmierspannungen, Versorgungsspannungen, Pullup/Pulldown-Widerständen, Ground, Takt, und Logikeingängen mit einstellbarem Schwellwert. Der Pintreiber ist der wichtigste Faktor für die Zuverlässigkeit, Vielseitigkeit und Geschwindigkeit eines Programmiergeräts.

Wichtig ist die Unterstützung logischer Pegel mit möglichst geringer Spannung. Je geringer die kleinstmögliche Spannung, desto mehr Low-Voltage Schaltkreise können zuverlässig programmiert werden. Dies wird besonders wichtig mit der Produktion neuer Low-Power Schaltkreise verschiedener Hersteller, die Logikpegel im Bereich von 1.3V erfordern.

Intern besteht ein Pintreiber entweder aus einem speziell entwickelten integrierten Schaltkreis (wie in der GALEP Programmiergeräteserie), oder er ist aus einzelnen Komponenten wie Transistoren und Widerstandsnetzwerken aufgebaut. Ein spezielles Treiber-IC hat viele Vorteile, wie minimale Ausgangskapazität, geringes SSO-Rauschen, höhere Taktraten und bessere Signalformen. Zudem erlaubt hohe Integration das Design sehr kleiner, leichter, USB- oder Akku-betriebener portabler Programmiergeräte.

Was kostet ein Programmiergerät?

Universalprogrammiergeräte kosten zwischen 250 und 2500 EUR. Dieser Preis ist jedoch allein wenig aussagekräftig, denn hinzu kommt noch der Preis für die Adapter oder Module in den Gehäuseformen, die Sie benötigen (Adapter werden in den DIL-Sockel gesteckt, während auswechselbare Module den Sockel ersetzen). Für programmierbare Bausteine sind etwa 60 verschiedene Gehäuseformen gebräuchlich. Wenn Sie also zusätzlich zum Programmiergerät noch 60 Adapter oder Module erwerben, können Sie sämtliche Bausteine programmieren... oder etwa nicht?

Leider nein. Zumindest nicht mit allen Geräten. Ein Blick in die Bausteinlisten mancher Programmiergeräte-Hersteller zeigt, dass Sie für die aufgelisteten Bausteine bis zu 1000(!) verschiedene Adapter benötigen. Mehrere unterschiedlich beschaltete Adapter für die gleiche Gehäuseform sind dann erforderlich, wenn das Gerät zu wenig Pintreiber besitzt und diese nicht universell genug sind. Dagegen kommen Geräte mit einer hohen Anzahl wirklich universeller Pintreiber - wie z.B. GALEP-5D - mit einer minimalen Anzahl von Adaptern aus und verursachen deutlich geringere Gesamtkosten. Zum Programmiergeräte-Vergleich können Sie aus den Bausteinlisten die Adapterkosten für die von Ihnen benötigen Bausteine ermitteln.

Wie zuverlässig ist ein Programmiergerät?

n der Serienproduktion wäre der Ausfall eines Produktionsgerätes fatal. Auch in der Entwicklung möchte sich der Ingenieur ungern mit der Möglichkeit auseinandersetzen, dass eine Fehlfunktion in der Schaltung auf ein schlecht programmiertes PLD zurückzuführen ist. Daher erwarten Benutzer zu Recht extreme Zuverlässigkeit von einem Programmiergerät. Sorgfältig ausgelegte Hardware, die in einem weiten Bereich von Umgebungs- und Stromversorgungsbedingungen funktioniert, und ausgiebige Produktionstests und Burn-In Zyklen sind für Programmiergeräte wichtig.

Die Pintreiber eines robusten Programmiergeräts sind geschützt gegen Überlastung und so ausgelegt, dass sie alle Arten von Fehlbedienung erkennen und überleben, wie etwa falsch eingesetzte Bausteine. Wenn ein Programmiergerät mit einem eigenen Prozessor ausgestattet ist, sollte es einen separaten Schaltkreis zur Überwachung der Programmierspannungen für den Fall eines Softwarefehlers haben.

Um sicherzugehen, dass man sich auf ein Programmiergerät und auf den Herstellersupport verlassen können, lohnt es sich festzustellen, ob das Gerät CE und RoHs konform ist, und ob sein Hersteller das ISO 9001 Zertifikat besitzt.

Und was ist nun das beste Programmiergerät?

Im Gegensatz zu vielen anderen Fragen, die das Leben stellt, läßt sich diese unter Berücksichtigung all der oben genannten Faktoren relativ leicht beantworten. Das zurzeit (2008) weltweit beste und fortschrittlichste Programmiergerät ist GALEP-5 von der Firma Conitec.


 

Weblinks zum Thema

Conitec Programmiergeräte
Programmiergeräte-Forum

 

© Johann Christian Lotter   ■  Infinity  ■  Links  ■  Forum