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

Parallele Speicherbausteine

hed.chip programmiert EPROMs von 8 kByte bis 512 kByte sowie EEPROMs und FLASH-PEROM von 0.5kByte bis 512kByte.

 

 

hed.chip benutzt das Programm HEXBIN.COM zur Umwandlung einer HEX-Datei in eine Binärdatei. Die Angabe eines Offsets wird nicht unterstützt. Wenn zum Beispiel ein EPROM programmiert werden soll, das später von einem Prozessor ab Adresse 08000h gesehen wird, dann muß die Umwandlung Intel-HEX --> Binär vom Anwender selbst durchgeführt werden, oder es muß mit geeigneten Assembleranweisungen dafür gesorgt werden, daß die HEX-Datei keinen Offset enthält. Andernfalls würde eine Binärdatei erzeugt, die zunächst bis zur Adresse 08000h den Wert 0FFh enthält und erst danach die eigentlich zu programmierenden Daten. Die aktuelle Version des Programms HEXBIN.COM unterstützt keine segmentierte Adressierung. In diesem Fall muß die Konvertierung HEX à Binär vom Anwender mit geeigneten Werkzeugen selbst durchgeführt werden.

EPROMs

Die Hersteller von EPROMs weisen ausdrücklich darauf hin, daß die genaue Einhaltung der Spezifikationen für eine optimale Programmierbarkeit und den langfristigen Erhalt der Daten unbedingt notwendig ist. Obwohl sich die Programmieralgorithmen gleichen, hat doch jeder Hersteller eigene Vorstellungen, wie EPROMs programmiert werden sollten. Der erste Schritt vor der Programmierung sollte also immer ein Blick in die Bausteinliste sein, um das jeweils richtige Bausteinmnemonic zu ermitteln.Dann wird hed.chip die Programmierung genau gemäß den Spezifikationen des Herstellers durchführen.

Es wurden von allen aufgeführten Herstellern die neuesten Algorithmen verwendet. Dabei fiel auf, daß sich in einigen Fällen die Typbezeichnung in den letzten 10 Jahren nicht geändert hat, obwohl alte Datenbücher andere Algorithmen mit meist längeren Pulszeiten verwenden. Den damals üblichen Algorithmen entsprechen am ehesten die Algorithmen für die Bausteine M2764A, M27128A und M27256 von SGS Thomson. Die zugehörigen Bausteinmnemonics sind: s2764, s27128 und s27256. Diese Mnemonics sollten verwendet werden, wenn sehr alte Bausteine programmiert werden sollen.

Mit dem Adapter PLCC32 können einige, aber nicht alle EPROMs in der Bauform PLCC32 programmiert werden. Welche Typen in der Bauform PLCC32 programmiert werden können, ist der Bausteinliste zu entnehmen.

EPROM 27C16

Für diesen Typ wird der Adapter DIPMEM benötigt. Für Selbstbauer: Es müssen folgende Pins getauscht werden: 1 und 5, 9 und 10, 12 und 29, sowie 13 und 28. Alle anderen Pins werden 1:1 durchverbunden. Der Adapter kann aber auch preisgünstig von Höpping Elektronik Design und allen Distributoren des Programmiergerät hed.chip komplett fertig bezogen werden.

EPROMs 2708, 2716 und 2732

Diese Typen werden von dem Programmiergerät hed.chip nicht unterstützt. Für die Programmierung werden Spannungen über 20V und teils mehrere, unterschiedliche Versorgungsspannungen benötigt. Als Ersatz für 2716 und 2732 können in den meisten Fällen die CMOS-Versionen 27C16 und 27C32 eingesetzt werden. Die Pinbelegung muß im Einzelfall an Hand der Hersteller Datenblätter überprüft werden. Vom Standard abweichend war z.B. der Typ TMS2716 von Texas Instruments.

EEPROMs 28C-Serie

EEPROMs sind grundsätzlich byteweise programmierbar. Die größeren Typen gestatten meist auch die Programmierung mehrerer Bytes einer Seite in einem Schreibvorgang. Soweit vorhanden wird diese Möglichkeit der seitenweisen Programmierung zur Steigerung der Geschwindigkeit benutzt. Außerdem programmiert hed.chip - soweit vorhanden - den Schreibschutz dieser Bausteine, wenn in der Kommandozeile bei der Programmierung der Parameter /s1 zusätzlich angegeben wird.

Bei der seitenweisen Programmierung und zur Aktivierung des Schreibschutzes muß das jeweils folgende Byte in einer bestimmten max. Zeitspanne geschrieben werden. In einer DOS-Task eines Multitasking Systems wie z.B. Windows 95 oder Windows NT 4.0 ist das in der Regel möglich, kann aber nicht unter allen Umständen gewährleistet werden. Die DOS-Task sollte dazu im Vollbild Modus ausgeführt werden. Alle Einstellmöglichkeiten sind auf maximale Geschwindigkeit hin zu optimieren. Druckertreiber, die den gleichen Druckerport bedienen, sollten entfernt werden. Die Programmierung sollte unbedingt mit der Option /v verifiziert werden. Falls dabei wiederholt Fehler festgestellt werden, muß zur Programmierung dieser Bausteine der Rechner mit DOS gebootet werden.

Beispiel: Ein AT28C256 soll programmiert, verifiziert und der Schreibschutz aktiviert werden:

hedchip lpt2 /g28c256 /p /v /s1 myapp.hex ; 28C256 in DIP28

 

Der Schreibschutz dieser Bausteine ist eine sinnvolle Eigenschaft. In der Anwenderschaltung schützt er zuverlässig vor unbeabsichtigten Schreibvorgängen. Solche Schreibvorgänge können zum Beispiel während des Einschaltens der Versorgungsspannung entstehen.

Normalerweise ist es nicht nötig, ein EEPROM vor der Programmierung zu löschen. Der Schreibschutz aber wird nur aufgehoben, wenn der Baustein gelöscht wird:

hedchip /g28c256 /e

Nicht-flüchtiger RAM-Speicher

Hierbei handelt es sich um RAM in einem Modul mit Stützbatterie. Der Vorteil solcher Bausteine ist, dass der Speicher unbegrenzt oft wiederbeschreibbar ist. Es gibt diese Baustein mit und ohne eingebauter Uhr.

  • Bei Bausteinen mit eingebauter Uhr sollte unbedingt Folgendes beachtet werden:
  • Diese Bausteine sollte nicht gelöscht werden. Das ist bei diesen Bausteinen für eine Wiederprogrammierung ohnehin nicht erforderlich

Der Speicherbereich mit den Registern für die Uhr sollte nicht überschrieben werden. Bei einem SGS Thomson M48T18 sollte die Quelldatei also nicht größer als 01FF8h Bytes sein.

Die Register, die vom Baustein für die Uhr benutzt werden, können mit hed.chip wie normale Speicherzellen beschrieben werden. Dabei wird allerdings keine Rücksicht genommen, welche Auswirkungen das auf die Uhr hat.

FLASH-ROM 29C- und 29EE-Serie

Diese mit 5V programmierbaren FLASH sind EEPROMs sehr ähnlich. Der Unterschied besteht darin, daß immer alle Bytes einer Seite geschrieben werden müssen. Nicht beschriebene Bytes einer Seite werden beim internen Schreibvorgang des Bausteins gelöscht. Eine Seite besteht bei den meisten Typen aus 128 Bytes.

hed.chip programmiert diese Bausteine von einer Reihe von Herstellern. Weitere werden zur Zeit getestet bzw. in die Programmiersoftware implementiert. hed.chip wertet die Baustein-ID dieser Bausteine aus und stellt daraufhin automatisch die Größe des Bausteins und die Programmierparameter ein. Nicht bekannte Bausteine, oder wenn der Hersteller-Code nicht mit dem angegebenen Mnemonic übereinstimmt, werden abgewiesen. Die Liste der dem hed.chip bekannten Bausteine wird laufend erweitert.

Der allgemeine Schreibschutz dieser Bausteine kann durch Angabe des Parameters /s1 bei der Programmierung aktiviert werden. Es gelten die gleichen Hinweise wie bei der seitenweisen Programmierung von EEPROMs.

Beispiel: Programmierung Atmel AT29C010, Schreibschutz aktivieren

hedchip /ga29cxxx /p /v /e /s1 myapp.bin

 

Dabei haben die zusätzlichen Parameter folgende Wirkung:

/v Die Programmierung und der Löschvorgang werden verifiziert.

/e Der Baustein wird gegebenenfalls vor der Programmierung gelöscht. Ohne diese Angabe könnte ein Baustein mit aktiviertem Schreibschutz nicht programmiert werden.

/s1 Der Schreibschutz des Bausteins wird nach der Programmierung aktiviert.

FLASH-Rom mit Bootblock Schreibschutz

Betrifft zur Zeit: Atmel AT29C020, AT29C040, Winbond W29C020

Durch Angabe des Parameters /sn bei der Programmierung können bei diesen Bausteinen je ein Speicherbereich am Speicheranfang und am Speicherende gegen weitere Programmierung geschützt werden. Dies ist sinnvoll, wenn der Baustein später im System neu programmiert werden kann und sichergestellt werden soll, daß ein Boot Block mit unverzichtbaren Routinen auf jeden Fall erhalten bleibt.

Über den Parameter /s kann jede Kombination von Softwareschutz (SDP) und Boot Block Lock eingestellt werden:

/s1 SDP (allgemeiner, reversibler Schreibschutz für den ganzen Baustein)
/s2 Lower Address Boot Block Lock (LABBL)
/s3 SDP + LABBL
/s4 Higher Address Boot Block Lock (HABBL)
/s5 SDP + HABBL
/s6 LABBL + HABBL
/s7 SDP + LABBL + HABBL

Die Angabe der verschiedenen Schreibschutzmechnismen kann auch einzeln erfolgen. Die beiden folgenden Befehlszeilen sind in ihrer Wirkung identisch und aktivieren beide Boot Block Locks und den reversiblen Schreibschutz SDP:

hedchip /ga29cxxx /p /v /e /s7 myapp.bin
hedchip /ga29cxxx /p /v /e /s1 /s2 /s4 myapp.bin

Der Schreibschutz der Boot Blöcke, LABBL und HABBL, kann nicht wieder aufgehoben werden. Die weitere Programmierung eines auf diese Weise geschützten Bausteins ist möglich, erfordert jedoch einige Umstände:

  1. Wenn der Schreibschutz des ganzen Bausteins, SDP, aktiviert ist, muß der Baustein mit dem Löschbefehl gelöscht werden. Dabei wird nur der Schreibschutz SDP aufgehoben. Der Baustein selbst kann nicht gelöscht werden.
  2. Falls das Lower Address Boot Block Lock (LABBL) aktiviert ist, muß der Baustein zunächst gelesen werden. Bei der anschließenden Programmierung muß der Speicherbereich des Lower Address Boot Block mit den zuvor gelesenen Daten wieder beschrieben werden.

Erklärung: hed.chip kann Bausteine nur kontinuierlich beginnend ab Adresse 00000h programmieren. Da der gesperrte Speicherbereich nicht verändert werden kann, muß vermieden werden, daß hed.chip bei dem Versuch feststellt, daß der Baustein in diesem Bereich nicht mehr programmierbar ist.

FLASH, Serie 29F

Diese Bausteine können wie die zuvor beschriebenen Bausteine der Serien 29C und 29EE ohne erhöhte Programmierspannung programmiert werden. Sie müssen jedoch vor jeder Programmierung gelöscht werden. Der Sektor-Schreibschutz dieser Bausteine kann mit hed.chip weder aktiviert noch deaktiviert werden.

hed.chip wertet die Baustein-ID dieser Bausteine aus und stellt automatisch die Größe des Bausteins ein und benutzt die richtigen Parameter zur Programmierung.

Zur Programmierung aller Bausteine dieser Serie wird das Bausteinmnemonic 29fxxx benutzt:

hedchip /g29fxxx /p/v/e your_app.bin ; löscht, programmiert und verifiziert 29F-FLASH
 

FLASH 28F-Serie

Diese FLASH benötigen zur Programmierung eine Programmierspannung von 12V. Sie müssen vor der Programmierung gelöscht werden. Das Bausteinmnemonic 28fxxx wird für alle Bausteine dieser Serie verwendet. hed.chip wertet die Baustein-ID des Bausteins aus und stellt automatisch die Größe des Bausteins ein und wählt den richtigen Programmieralgorithmus. Beispiel:

hedchip /g28fxxx /p/v/e your_app.bin ; löscht, programmiert und verifiziert 28F-FLASH
 

FLASH Intel 28F001B

Dieser Baustein hat einen durch Hardware geschützten 8kByte BootBlock. Beim 28F001BX-T liegt dieser Block an der Adresse 01E000h, beim 28F001BX-B an der Adresse 0.

Hinweis für hed.chip, Hardware-Version 1: Der BootBlock kann nur beschrieben bzw. gelöscht werden, wenn an RP# (Pin 30) 12V anliegt. Dazu muß folgendes gemacht werden: Mit einer Drahtbrücke muß Pin 1 des Bausteins mit Pin 30 verbunden werden. Leertest und Verify sollten ohne diese Drahtbrücke durchgeführt werden.

Hinweis für hed.chip, Hardware-Version 2 (alle Geräte seit 11/99): Dieser Baustein ganz ganz normal mit hed.chip programmiert werden.

Speicherbausteine in der Bauform PLCC32

Grundsätzlich wird dafür ein Adapter 1:1 von DIP32 auf PLCC32 verwendet. Die Software des hed.chip wurde so ausgelegt, daß damit die PLCC32-Versionen von 24, 28 und 32poligen DIP-Bausteinen programmiert werden können. Eine Ausnahme gibt es allerdings: Für EPROM 27C512 in PLCC32 wird der Adapter PLCC32_28 benötigt.

Die Bausteinliste gibt detaillierte Auskunft, welche Bausteine in der Bauform PLCC32 unterstützt werden. Für die Programmierung dieser Bausteine sind je nach Typ andere Mnemonics als für die DIP-Versionen notwendig.

Beispiel für den Baustein 28C256

Ein 28C256 in der Bauform PLCC32 soll gelöscht, programmiert, verfiziert und anschließend schreibgeschützt werden. Weil die Pinbelegung der 32poligen PLCC-Bauform von der der 28poligen DIP-Bauform abweicht, muß das Bausteinmnemonic /g28c256plcc verwendet werden.

hedchip /g28c256plcc /p/v/e/s1 myapp.hex ; nicht: /g28c256

Low Voltage

hed.chip ist auch in der Lage Low Voltage Bausteine zu programmieren. Low Voltage Bausteine, die auch mit 5V betrieben werden können, sind bereits in der Bausteinliste aufgeführt. Bausteine, die nur bei 3.3V betrieben werden können, werden nach und nach implementiert und in die Bausteinliste aufgenommen. Kundenwünsche nach der Programmierung bestimmter Bausteine werden bevorzugt behandelt.