| » Die Programmierung mit Data I/O Geräten |
| |
|
Die aktuelle Programmierarchitektur in Data I/O Geräten ist so konstruiert, dass der Baustein quasi in das Schaltschema des Programmiergeräts integriert wird. Damit erreichen wir unglaublich kurze Programmierzeiten, die sich der theoretischen Betriebsgeschwindigkeit des zu programmierenden Bausteins immer weiter annähern.
Bei der Bausteinprogrammierung laufen mehrere Unterprozeduren ab. Mit unseren Geräten lassen sich diese individuell festlegen. Idealerweise wählen Sie nur die aus, die Ihnen einen maximalen Output garantieren. Trotzdem sind Sie im Hinblick auf den Durchsatz, je nach Gerät, auch eingeschränkt.
|
| |
|
| » Zu einem typischen Programmiervorgang gehören folgende Unterprozeduren: |
| |
|
| Continuity Testing |
Das Programmiergerät prüft, ob alle entscheidenden Pins mit den Sockelkontakten verbunden sind. Diese Methode wurde in den frühen 80iger Jahren von Data I/O zusammen mit Testingenieuren unterschiedlicher Halbleiterhersteller entwickelt, um die Programmierung betriebssicherer zu machen. Die meisten Bausteine besitzen ESD-Schutzdioden und andere parasitäre Komponenten wie Widerstände und Kapazitäten, die dafür verantwortlich sind dass Strom fließt, wenn der Baustein an eine invertierte Spannung angeschlossen wird. Das heißt, wenn die Versorgungsspannung (VSS) positiv wird, erzeugt das an den zu testenden Pins messbare Effekte, weil diese im Bezug zur VSS auf ein negatives Niveau gezogen werden.
Da keine Bausteintechnologie der anderen gleicht, gibt es mehrere Möglichkeiten die Pins zu testen. Die jeweils richtige Methode wird dann bestimmt, wenn der Bausteinsupport erstellt wird. Bei einem kleinen Teil der Bausteine kann ein Continuity Test nicht durchgeführt werden. Dann geht man davon aus, dass bei einem eventuell fehlenden Kontakt der Baustein durch einen der anderen Tests ausfällt. |
| Electronic Identifier Comparison (I.D. Checking) |
Hat der Baustein eine eingebaute elektronische Kennung, gleicht das Programmiergerät diese mit dem Code des ausgewählten Bausteins ab. So ist gewährleistet, dass auch der richtige Programmieralgorithmus selektiert wurde. |
| Blank Checking |
Um sicherzustellen, dass keine Zellen programmiert sind, vergleicht das Programmiergerät „word by word“ jede Zelle des Bausteins, ob sie dem Leerzustand entspricht. |
| Illegal Bit Checking |
Der „illegal bit“-Zustand tritt immer dann auf, wenn der Versuch unternommen wird, eine programmierte Zelle durch erneutes Programmieren zu löschen. Bit für Bit vergleicht das Programmiergerät die zu programmierenden Daten mit seinem eigenen RAM-Speicher, damit es überhaupt nicht zum „illegal bit“-Zustand kommt.
Das gilt nicht für byte-löschbare Bausteine, bei denen der Löschvorgang in die Programmierung integriert ist, aber für alle anderen Bausteine inklusive denen, welche auf einmal gelöscht werden müssen wie z.B. Flash EEproms. |
| Programming |
Bei der Programmierung werden Daten in den Datenspeicherbereich eines programmierbaren Bausteines geschrieben. Weil diese Art der Bausteine allgemein als „Read Only“ fungieren, benötigen viele vor allem ältere Bausteintechnologien eine spezielle Beschaltung. Außerdem müssen diese Chips während der Programmierung vom Schaltkreis isoliert sein.
Die korrekte Programmierung von Speicherzellen programmierbarer Bausteine erfordert spezielle Algorithmen. Diese Algorithmen werden vom Bausteinhersteller spezifiziert. Data I/O Geräte garantieren, dass immer der richtige Algorithmus verwendet wird – vorausgesetzt der richtige Baustein wurde vorher ausgewählt. |
| Data Verification |
Wort für Wort vergleicht das Programmiergerät die Daten mit den geladenen im eigenen RAM-Speicher. Das vollzieht sich in zwei Schritten: einmal mit VCC am unterem Limit und einmal mit VCC am oberen Limit gesetzt. Wenn die 1-Pass-Verifizierung gewählt wurde, wird VCC auf den Nominallevel gesetzt. All diese Level sind im Abschnitt „DC Eigenschaften“ der Bausteinspezifikation definiert. Viele Programmiergerätehersteller halten eine Dataenverifizierung für überflüssig, weil die Daten auf dem Baustein schon während des Programmierens überprüft werden. Die interne Automatik des Chips bestätigt aber nur die Daten, die von außen geliefert werden. Hat ein Pin also keinen richtigen Kontakt, können Daten- oder Adressbits verloren gehen. Gerade weil die Kontaktierung nach wie vor mechanisch geschieht, ist es nicht immer möglich, während des gesamten Vorgangs optimale Kontakte zu gewährleisten.
Obwohl die Data I/O Geräte so zuverlässig sind, dass eine nachträgliche Kontrolle nicht unbedingt nötig wäre, empfehlen wir nach der Programmierung zumindest die 1-Pass-Verifizierung durchzuführen. |
| |
|
| » Allgemeine Programmierprozeduren |
| |
|
| Functional Verification |
Programmierbare Logikbausteine (PLDs), deren „Design Output-Datei“ im Jedec 3x-Datenformat ist, haben optional Testvektoren. Der Jedec 3x-Standard definiert Symbole für Stimulus- und Testbedingungen. Sind also Testvektoren in der Datei vorhanden, legt das Programmiergerät entsprechende Stimuli an und testet die Outputsignale. |
| File Download from Host Computer |
Das Programmiergerät empfängt die Daten von einem Hostrechner. Während des Herunterladens werden die Programmdaten in komprimierter Form übertragen, in binäre Daten übersetzt und im RAM des Gerätes gespeichert. |
| Fill Programmer RAM |
Das Programmiergerät belegt seinen RAM mit den entsprechenden Daten. Die Daten werden spezifiziert als Byte oder Word, und mit diesem Byte oder Wort wird der ganze Baustein programmiert.
Wenn all die oben genannten Unterprozeduren für den Programmiervorgang gewählt wurden, ergibt sich diese Abfolge:
- Fill Programmer Ram
- Download Data from Host Computer
- Continuity Testing
- I.D. Checking
- Blank Testing
- Illegal Bit Testing (nur bei Ausfall von Blank Testing)
- Data and Feature Programming
- Data Verification
- Functional Verification (nur Logikbausteine)
- Security Bit Programming (falls anwendbar)
- Security Bit Verification (falls anwendbar)
|
|
|
| » Sprint
- Programmiersysteme |
| |
|
| TOP |
Kontaktstation Dual in
line oder PLCC für Optima, Dual, Quad oder Octal Grundgerät.
|
| TOP84PLC |
Universelle PLCC-Kontaktstation 20 - 84 Pins. |
| Insert |
Positionierrahmen für
TOP84PLC oder TOP1PLC. 20 / 28 / 32 / 44 / 52 / 68 oder 84 Pin. |
| FlashTop |
Besteht aus Aufnahmestation (FlashTOP Base)
und FlashTOP Adapter für flash-übliche Gehäuseformen.
Ermöglicht gleichzeitiges Programmieren von 4 Flash Bausteinen.
|
| SMP |
Maintenance Plan - Updates
der Programmieralgorithmen. |
| Site |
Programmierplatz auf Dual, Quad oder Octal. |
| Gang |
Mehrfachprogrammierung
mindestens zwei gleicher Bausteine auf gleichen Kontaktstationen (TOPs) |
| Swap |
Ermöglicht bei MultiSyte (Dual, Quad
oder Octal) das Einsetzen von ICs während bereits auf anderen
Plätzen (Sites) programmiert wird. Beispiel: Octal - auf
den oberen vier Plätze wird gerade programmiert; Zur gleichen
Zeit können die unteren Plätze mit Bausteinen bestückt
werden und umgekehrt. |
| Mod |
Hardwarevoraussetzung,
die der Programmieralgorithmus benötigt, um bestimmte Bausteine
programmieren zu können. z. B.: New ASICs, BaseV7, und/oder Mod
1/98. |
|
|
| » UniSystem
- Programmiersysteme |
| |
|
| Site48 |
48 Pin Dual in line Modul
(nur für UniSite Programmiergerät) |
| PinSite: |
Modul für UniSite zur Aufnahme verschiedener
universeller Kontaktstationen wie PLCC, SOIC, PGA oder PPI Base. |
| Base |
Universelle Kontaktstation
PLCC 20-84 Pins, SOIC .150 - 520.mil oder PPI. |
| PPI |
Package Pinout Interface |
| PPI-Base |
Universelle Aufnahmestation
für alle verschiedenen Bausteingehäuseformen durch Adapter
(PPI Adapter). |
| MatchBook™ |
Positionierrahmen für universelle PLCC/LCC
und SOIC Kontaktstationen. PLCC/LCC » 20 Pin bis 84 Pin SOIC
» .150mil bis .520mil (Gehäusebreite entspricht 8 Pin bis
44 Pin) |
| PADs |
Kontaktfolien zum Schutz
der tatsächlichen Pins der PLCC oder SOIC-Base |
KeepCurrent
Algorithmus |
Neuer oder modifizierter Programmieralgorithmus,
der als Download auf der Data I/O WebSite erhältlich ist. Wird
im nächsten oder über nächsten Algorithmen-Update aufgenommen |
| Extended (Beta) Algorithmus:
|
Wie KeepCurrent, zur schnellen
Unterstützung der Kunden, jedoch noch ohne Dokumentation. |
|
|
| » TaskLink
Steuerungssoftware |
| |
|
| TaskLink Win |
Steuerungssoftware für
Windows® 9x/NT4.0/2000. TL Win unterstützt alle aktuellen
Programmiergeräte außer Programmierautomaten der ProMaster-Serie,
PP100 und PS200/300. |
| Task |
Programmier - Aufgabe unter Verwendung definierter
Parameter. |
| Kit |
Zusammenfassung mehrerer
Tasks. |
| Administrator Mode |
Bediener kann alle Programmierparameter frei
definieren oder Tasks/Kits erstellen und programmieren. |
| Operator Mode |
Bediener kann nur Tasks/Kits,
die im Admin mode erstellt wurden, zur Programmierung verwenden |
|
|
| » Gehäuseformen |
| |
|
| DIP |
Dual In-Line Package |
| SDIP |
Shrink DIP |
| PLCC |
Plastic Leaded Chip Carrier |
| JLCC |
J Leaded Chip Carrier |
| LCC |
Leaded Chip Carrier |
| SOIC |
Small Outline Integrated Circuit |
| SOP |
Small Outline Package |
| TSOP |
Thin Small Outline Package |
| VSOP |
Very Small Outline Package |
| TVSOP |
Thin VSOP |
| BGA |
Ball Grid Array |
| µBGA |
Micro BGA |
| PGA |
Pin Grid Array |
| QFP |
Quad Flat Pack |
| QFP Carrier |
Quad Flat Pack Carrier |
| CSP |
Chip Scale Package |
| CARD |
Memory Card |
|
|
| » Bausteintechnologien |
|
|
| Logikbausteine: |
| |
|
| PLD |
Programmable Logic Device |
| CPLD |
Complex Programmable Logic Device |
| EPLD |
Erasable PLD |
| FPGA |
Field Programmable Logic Device |
| PLD |
Programmable Logic Device |
| LCA |
Xilinx Logic Cell Array |
| MACH |
AMD MACH family of CPLDs |
| FLEX |
Altera FPGAs |
| MAX |
Altera CPLDs |
| SRAM |
Static Ram |
| Antifuse |
Actel FPGAs |
|
|
| Microcontroller: |
| |
| OTP |
One Time Programmable |
|
|
| Weitere: |
| |
| MCP |
Multi-Chip Package |
| DCA |
Direct Chip Attach |