menuhedchip
Elektronik von hed

 

Universalprogrammiergerät hed.chip, Version 3.24 hed-chip

Adapter für PLCC, SOIC, TSOP, TQFP

Adapter

Bedienungsanleitung zum Programmiergerät

Anleitung

Beratung - direkt vom Entwickler !

Beratung

Liste der programmierbaren Bausteine

Devicelist

Download Software zum Programmiergerät

Download

Kauf ohne Risiko !

Garantie

Interessante Links

Links

Beschreibung Software zum hed.chip

Software

Technische Daten zum hed.chip

Spezifikation

Lohnt sich ein Update? Sehen Sie nach, was es Neues gibt !

Upd. Info

Zubehör zum Programmiergerät

Zubehör
Preisliste Preise
Bestellformular Bestellen
Fragen, Wünsche? Nehmen Sie mit uns Kontakt auf ! Kontakt
Suchen:

 

  

vorheriges Kapitel   Inhaltsverzeichnis   nächstes Kapitel

Programmierbare Logik - von PLDs und GALs

Der Begriff PLD (= Programmable Logic Device) ist ein sehr weit gefaßter Begriff. Er umfaßt Bausteine von einfachen TTL-PROMs bis hin zu Gate Arrays, in die ganze Prozessoren programmiert werden können.

Der Begriff GAL ist ein geschütztes Warenzeichen der Firma Lattice. Es handelt sich um einfache PLDs, teilweise auch als SPLD abgekürzt. Bausteine mit mehr Funktionalität werden als komplexe PLDs, abgekürzt CPLD, bezeichnet.

hed.chip programmiert eine Auswahl beliebter und leistungsfähiger Bausteine dieser Logikfamilien. Hier eine Auswahl der bei Drucklegung dieser Anleitung programmierbaren Bausteine:

      ATF16V8 ATF20V8 ATF22V10  
      GAL16V8 GAL20V8 GAL18V10 GAL22V10
      GAL6001 GAL6001B GAL6002B GAL20RA10
      PALCE16V8 PALCE20V8 PALCE22V10  

Die komplexen PLDs von Atmel (ATV750, ATV2500, ATF1500) stellen besondere Anforderungen an die Programmierhardware. Für diese Typen sind die Adapter DIP750, PLCC750, DIP2500, PLCC2500 bzw. PLCC1500 erforderlich.

Um eine Anwendung für einen PLD zu entwickeln, muß zunächst eine JEDEC-Datei erstellt werden. Das PLD-Entwicklungssystem, z.B. CUPL, Gal Development System GDS 3.5 oder easyABEL Version 4.3, setzt die logischen Gleichungen in eine solche JEDEC-Datei um. Es kann außerdem das zu erwartende Verhalten des PLD simulieren.

Prüfsummen und Testvektoren in der JEDEC-Datei werden ignoriert. Dies gestattet es, die JEDEC-Datei bei Bedarf mit einem normalen Texteditor zu verändern.

Wenn die logischen Gleichungen in der Datei MYAPP.PLD stehen, erzeugt CUPL daraus die Datei MYAPP.JED. Diese kann dann mit hed.chip in den Baustein programmiert werden. Im Falle einer Anwendung für einen ATF22V10 müßte dazu folgende Befehlszeile verwendet werden:

hedchip /ga22v10 /p myapp.jed
 

Die zusätzliche Angabe des Parameters /v veranlaßt den Programmer, die Programmierung anschließend zu verifizieren. Bei Angabe von /e wird der Baustein gelöscht, wenn der vor der Programmierung automatisch durchgeführte Leertest ergibt, daß dies nötig ist.

hedchip /ga22v10 /p /v /e myapp.jed

Securityfuse

Wenn der Baustein gegen Auslesen und Kopieren geschützt werden soll, kann die Securityfuse programmiert werden. Bei dem Entwicklungssystem CUPL kann die Anweisung dazu bereits bei der Erstellung der JEDEC-Datei gegeben werden.

CUPL fügt dann eine Anweisung *G1 in die JEDEC-Datei ein und veranlaßt dadurch hed.chip, die Securityfuse des Bausteins zu programmieren. Falls das nicht erwünscht ist, kann entweder diese Anweisung wieder aus der JEDEC-Datei entfernt werden oder in der Kommandozeile zusätzlich der Parameter /s0 angegeben werden. Der Parameter /s1 in der Kommandozeile hingegen veranlaßt hed.chip, die Securityfuse auch dann zu programmieren, wenn die JEDEC-Datei die Anweisung *G0 enthält. Kommandozeilenparameter, ob die Securityfuse programmiert werden soll oder nicht, haben Vorrang vor Anweisungen in der JEDEC-Datei.

hed.chip kann bei einigen PLDs die Securityfuse testen und wird bei dem Versuch, einen solchen Baustein auszulesen, eine Fehlermeldung erzeugen.

Andere geschützte PLDs werden als leer verkannt. Solche Bausteine können auch nicht durch die zusätzliche Angabe von /e bei der Programmierung gelöscht werden. In einem solchen Fall muß der Baustein in einem seperaten Arbeitsschritt gelöscht werden:

hedchip /gl22v10 /e ; Beispiel für ein GAL22V10

Bausteine kopieren

Mit hed.chip können PLDs auch ausgelesen und kopiert werden. Beim Auslesen erzeugt hed.chip bei den einfachen PLDs 16V8, 20V8, 18V10, 22V10 und 20RA10 eine JEDEC-Datei mit den gleichen Anweisungen wie es auch CUPL macht. Zum Auslesen dieser Bausteine muß ein Dateiname mit der Extension .JED angegeben werden. Komplexe PLDs (GAL6001/2, Atmel ATV-Serie, ATF1500) werden in ein binäres Datenformat ausgelesen. Für diese Bausteine darf kein Dateiname mit der Extension .JED verwendet werden. hed.chip kann diese Binärdateien in andere Bausteine gleichen Typs programmieren. Beispiel:

hedchip /gatv750 /r myapp.bin ;Atmel ATV750 in Datei MYAPP.BIN auslesen
hedchip /gatv750 /p/v myapp.bin ; anderen Baustein gleichen Typs programmieren

ATF16V8, ATF20V8, ATF22V10, ATF1500

Atmel schreibt für diese PLD-Bausteine auf FLASH-Speicherbasis vor, daß sie vor der ersten Programmierung (ATF1500: vor jeder Programmierung) konditioniert werden. Das heißt, der ganze Baustein wird zweimal vollständig mit 0 programmiert und anschließend wieder gelöscht. Während der Konditionierung können Verify-Fehler ignoriert werden. Dem hed.chip ist eine JEDEC-Datei beigefügt, die zur Konditionierung aller Atmel-PLD benutzt werden kann. Für einen ATF20V8 geht das so:

hedchip /ga20v8 /p/e conditio.jed ; 1. Mal programmieren
hedchip /ga20v8 /p/e conditio.jed ; 2. Mal programmieren
hedchip /ga20v8 /e/v ; Löschen, Leertest
 

Die Befehle zur Konditionierung können auch in die ohnehin empfohlene Batchdatei aufgenommen werden.

ATF1500

Für die zur Zeit verfügbaren Exemplare schreibt Atmel vor, daß weder die User-ID noch die Securityfuse programmiert werden dürfen. Daher konnte dieser Teil der Software noch nicht getestet werden. Es wird der Adapter PLCC1500 benötigt.

ATV750(B) und ATV2500(B):

Für die PLDs ATV750(B) und ATV2500(B) werden spezielle Adapter DIP750, DIP2500, PLCC750 bzw. PLCC2500 benötigt. Auf diesen Adaptern befinden sich je zwei Jumper. Zur Programmierung des ATV750 und ATV2500 müssen beide Jumper gesteckt und zur Programmierung des ATV750B und ATV2500B beide entfernt werden.

Der Adapter DIP750 wird auch für die Bausteine Atmel AT22V10/L und AT22V10B/L verwendet. Dabei handelt es sich um eine ältere Version des 22V10 auf EPROM-Speicherbasis.

AMD PALCE-Serie

hed.chip unterstützt aus dieser PLD-Serie die Typen PALCE16V8H/Q, PALCE20V8H/Q. Der Typ PALCE22V10H/Q wird in der Revision 4 und 5 unterstützt. Diese werden in Katalogen z.B. als PALCE22V10H-25PC4 angeboten. Alle PALCE-Bausteine, auch neue und leere Bausteine, müssen vor der Programmierung gelöscht werden. Eine Programmierung mit der Datei CONDITIO.JED, wie z.B. für Atmel ATF-PLD vorgesehen, ist nicht erforderlich.

Die Bausteine AMD PALCE16V8 und PALCE20V8 sind vollständig funktionskompatibel zu den entsprechenden Bausteinen von Atmel und Lattice. Zwischen diesen Bausteinen gibt es lediglich einen kleinen Unterschied bei der Rückführung der Registerausgänge in die UND-Matrix. In den meisten Fällen können für GAL16V8 und GAL20V8 erstellte Quelldateien ohne Änderung in einen PALCE-Baustein programmiert werden.

Um Inkompatibilitäten vollkommen auszuschließen, sollte bei der Erstellung der JEDEC-Datei der richtige Zielbaustein, also entweder GAL16V8, GAL20V8 oder PALCE16V8, PALCE20V8 angegeben werden. Die Unterschiede zwischen diesen Bausteinen wurden in der Ausgabe 1/94, Seite 52ff der Zeitschrift Elektor ausführlich beschrieben.

Der Typ PALCE22V10 kann direkt mit für GAL22V10 entwickelten und compilierten JEDEC-Dateien programmiert werden.