ATF150x: Unterschied zwischen den Versionen
Tw (Diskussion | Beiträge) (→Entwicklung der Logik) |
Tw (Diskussion | Beiträge) (→Programmierung des ATF-1504) |
||
| Zeile 38: | Zeile 38: | ||
Die JTAG Schnittstelle benötigt 4 Signale am CPLD. Das bedeutet, es gehen 4 PIN am CPLD quasi 'verloren' und stehen nicht für die Schaltung zur Verfügung. Man kann aber den CPLD so programmieren, dass diese 4 JTAG Pins als normale IO verwendet werden. Das hat aber den Nachteil, dass man den CPLD ab sofort nicht mehr über JTAG erreichen kann. Eine Umprogrammierung ist damit nicht mehr so einfach möglich. | Die JTAG Schnittstelle benötigt 4 Signale am CPLD. Das bedeutet, es gehen 4 PIN am CPLD quasi 'verloren' und stehen nicht für die Schaltung zur Verfügung. Man kann aber den CPLD so programmieren, dass diese 4 JTAG Pins als normale IO verwendet werden. Das hat aber den Nachteil, dass man den CPLD ab sofort nicht mehr über JTAG erreichen kann. Eine Umprogrammierung ist damit nicht mehr so einfach möglich. | ||
| + | <br /> | ||
| + | ==== ATMISP ==== | ||
| + | |||
| + | Dieses Tool von Microchip benötigt man für die Programmierung des CPLD. Das ATMISP kann direkt mit dem Microchip Programmer | ||
<br /> | <br /> | ||
| + | |||
== JTAG Programmer == | == JTAG Programmer == | ||
Version vom 12. September 2021, 20:05 Uhr
Inhaltsverzeichnis
Der CPLD ATF-1504
Ein CPLD ist ein programmierbarer Baustein, der die Funktion einer komplexen logischen Schaltung nachbilden kann. Eine Schaltung bestehend aus zig Logik IC findet Platz ein einem einzigen CPLD.
- Der CPLD ATF-1504 von Microchip bietet
- 5V Technologie (AS Type) oder 3,3V mit 5V toleranten IO
- 64 Makrozellen
- die Bauform PLCC-44 ist einfach lötbar
- Programmierung über JTAG
Es gibt einige Anbieter von CPLDs. Aber es gibt kaum noch lieferbare CPLD die mit 5V Technik kompatibel sind. Da ist der ATF-1504 eine große Ausnahme, und diese Eigenschaft macht ihn besonders wertvoll für kleine Retro Projekte.
Programmierung des ATF-1504
JEDEC Datei
Der CPLD wird 'leer' geliefert und kann von Natur aus gar nichts tun. Die Logik, für die der CPLD verwendet wird, kommt in Form einer Jedec Datei. Diese Datei wird über eine JTAG Schnittstelle in den CPLD programmiert. Danach ist der CPLD bereit für seinen Einsatz ...
JTAG Schnittstelle
Die JTAG Schnittstelle funktioniert über 4 Signale (TCK,TDO,TMS,TDI). Dabei können mehrere CPLD in einer 'JTAG Chain' (JTAG Kette) verbunden sein. So können mehrere CPLD mit einem einzigen Programmiergerät beschrieben werden. Die JTAG Schnittstelle von Microchip besteht gewöhnlich aus einem 10 poligen Wannenstecker. Die Verbindung zum Programmiergerät erfolgt über ein Flachbandkabel. Die Nase beim Wannenstecker verhindert, dass der Stecker verkehrt herum eingesetzt wird.
Einer der Vorteile von JTAG ist, dass der CPLD direkt in seiner Schaltung (direkt auf dem Board) programmiert werden kann. Der CPLD muss dazu nicht von seinem Board entfernt werden. Durch die JTAG Chain können auf einem Board auch mehrere CPLD mit derselben JTAG Schnittstelle angesprochen werden.
Die JTAG Schnittstelle benötigt 4 Signale am CPLD. Das bedeutet, es gehen 4 PIN am CPLD quasi 'verloren' und stehen nicht für die Schaltung zur Verfügung. Man kann aber den CPLD so programmieren, dass diese 4 JTAG Pins als normale IO verwendet werden. Das hat aber den Nachteil, dass man den CPLD ab sofort nicht mehr über JTAG erreichen kann. Eine Umprogrammierung ist damit nicht mehr so einfach möglich.
ATMISP
Dieses Tool von Microchip benötigt man für die Programmierung des CPLD. Das ATMISP kann direkt mit dem Microchip Programmer
JTAG Programmer
Der JTAG Programmer hat die Aufgabe das JEDEC File in den CPLD zu schreiben. Dazu nutzt der Programmer die JTAG Schnittstelle.
Microchip ATDH1150USB
Programmer auf Basis eines FT232H
Entwicklung der Logik
Für die Entwicklung der Logik im CPLD (JEDEC File) existieren verschiedene Tools. Unter anderem funktionieren auch die Tools von Altera, weil die CPLD Chips von Microchip und die Chips von Altera nahezu identisch sind. Der Microchip ATF-1504 entspricht dem Altera EPM-7064, das Ausgabe File des Altera Tool muss allerdings für den ATF-1504 konvertiert werden.
Das Tool von Microchip ist WinCUPL, es kann von der Homepage von Microchip herunter geladen werden. WinCUPL wirkt etwas veraltet, aber es läuft tadellos auf meinem Windows 10 PC. Man liest oft negative Kritik zu WinCUPL, aber ich kann diese Meinungen nicht teilen. Bis jetzt hat WinCUPL für all meine Projekte tadellos funktioniert. Es kompiliert schnell und gibt klare Fehlermeldungen aus, wenn im Quelltext etwas falsch ist. Der Simulator erlaubt die Vorgabe von Situationen und zeigt den Status der IO grafisch über die Zeit an. Aus meiner Sicht lässt es sich sehr gut mit dem WinCUPL entwickeln.
Es gibt noch weitere Tools, die teilweise nur unter DOS oder älteren Windows Versionen laufen. Mit diesen Tools habe ich mich nie länger beschäftigt.
Das WinCUPL gibt mehrere Dateien aus. Für den produktiven Einsatz im CPLD selbst ist jedoch nur das JEDEC File relevant. Das JEDEC File wird direkt mit einem JTAG Programmer in den CPLD geladen.
DEV Board
Die CPLD Logik wird wahrscheinlich nicht beim ersten Versuch sofort richtig funktionieren. Man benötigt daher eine Möglichkeit, die Logik zu testen.
Microchip DK3
Das DK3 ist ein sehr komfortables DEV Board von Microchip, auf dem Board sind:
- 44-Pin TQFP Adapter
- JTAG Port
- Erweiterungs Ports
- ein 2 MHz Oszillator
- vier 7-segment LED Anzeigen
- acht LEDs
- Spanungsversorgung: 1.8V, 3.3V und 5.0V
- einfacher Zugang zuallen I/O Pins
Über optional erhältlicher Adapter Boards kann man weitere Bauformen des CPLD komfortabel am DK3 testen.
DEV Board selbst gebaut
Bei der Firma PCBWAY gibt es ein ATF-1504 DEV Board als 'Shared Project' von dem Benutzer Yellperil.
Ich möchte mich an der Stelle bei Yellperil bedanken, das DEV Board hat mir sehr gute Dienste geleistet bei der Entwicklung meines UC2 Modul.
Das DEV Board von Yellperil ist schlicht und einfach gehalten. Es sind keinerlei Eingabe oder Anzeige Elemente vorhanden. Aber das ist auch nicht nötig, wenn man eine Testschaltung oder einen Prototypen aufbaut auf einem Steckbrett. Das Steckbrett wird dann über Steckdrähte mit den IO des DEV-Board verbunden.
- Auf dem DEV Board befinden sich die nötigsten Bestandteile
- PLCC-44 Sockel (für den CPLD)
- JTAG Port
- alle IO PINs sind auf Steckleisten
- die Sonder PINs sind auf einer eigenen Steckleiste
- Stromversorgung über Hohlraumstecker (J2)
- alternativ kann die Stromversorgung über die Steckleiste erfolgen
Achtung: die Stromversorgung ist nicht geregelt und auch nicht gegen Verpolung geschützt.
Auf dem Board befinden sich noch ein 10µF als Siebung, die 4 obligatorischen Stützkondensatoren je 100nF für den CPLD und Widerstände für die JTAG Schnittstelle.
Entwicklung und erste Prototypen
Prototypen:
Leider haben sich bei dem Platinen Prototyp noch zwei kleine Fehler eingeschlichen. Die Probleme wurden mit Fädel-Draht behoben und das Layout wurde überarbeitet.
Downloads
WEB Links
- ATF-1504 DEV Board als 'shared Project' bei PCBWAY
- ATF-1504 DEV Board (BLOG)