4.14. GAL Programmierer

Einleitung

In der letzten · Zeit findet man immer häufiger Schaltungen, die programmierbare Logikbausteine,
kurz PLD (programmable logic devices) enthalten. Bei diesen handelt es sich um vom Anwender zu programmierende Bausteine, deren Funktion durch einen ‘ Programmiervorgang festgelegt wird. Inzwischen gibt es solche Bausteine von den verschiedensten Herstellern in unterschiedlichen Ausführungen und Bezeichnungen. Die gebräuchlichsten Bezeichnungen sind zur Zeit:

PLD: Programmable Logic Device
PAL = Programmable Array Logic
GAL: Generic Array Logik

Allen gemeinsam ist die Eigenart, dass sie für die kompliziertesten Logikschaltungen programmiert werden können, die sich aus den Grundverknüpfungen UND, ODER und NICHT realisieren lassen. Die meisten der am Harkt erhältlichen PLD enthalten programmierbare UND-, ODER- sowie ANTI VALENZ-Verknüpfungen. llm solche Bausteine sinnvoll programmieren zu können, sind gute Kenntnisse in der Digitaltechnik erforderlich. Für die Programmierung benötigt man ein entsprechendes Programmiergerät und die für den jeweiligen Baustein erforderliche Software. Im folgenden wird der Aufbau eines Programmierinterfaces als zusätzlichen Schnittstelle zum MFA-Mikrocomputer zur Programmierung von Bausteinen des Typs GAL 16V8 beschrieben.

Funktionsbeschreibung.

Das GAL-Programmierinterface basiert auf der Schaltung der Programmierbaren Parallelschnittstelle
Bfz/MFA 4.3.Die Funktion der Programmierbaren Parallelschnittstelle ist in der zugehörigen Fachpraktischen Übung beschrieben, so daß hier lediglich auf die für den Einsatz als GAL-Programmierinterface notwendigen Schaltungserweiterungen eingegangen wird.

Diese Erweiterungen der Parallelschnittstelle sind:

  1. Ein bidirektionaler Bus-Treiberbaustein 74LS245.
  2. Einen Schaltungsteil, mit dem die Spannung von 5V elektronisch geschaltet werden kann.
  3. Einen Schaltungsteil zur Erzeugung der notwendigen Editierspannung.
  4. Für den Programmiervorgang die benötigte mechanische Aufnahme.

Aufgabe des bidirektionalen Bus-Treibers.

Aufgabe des bidirektionalen Bus-Treibers ist es, den Datenbus einerseits, sowie die Datenanschlüsse
des programmierbaren Parallelschnittstellenbausteins andererseits beim Schreib- bzw. Lesevorgang
zu entlasten. Seine Funktion ist im Zusammenhang mit den- Baugruppen 8-K-RAM/EPROM Speicherkarten bereits beschrieben und wird als bekannt vorausgesetzt. Der Baustein wird durch das Adressvergleichersignal ausgewählt. Die Übertragungsrichtung für die Daten -entweder vom Datenbus zum Schnittstellenbaustein, oder umgekehrt- wird mittels des Steuersignals IOW an dem Richtungssteuerungsanschluss DIR bestimm.

Der elektronische Schalter für die Versorgungsspannung

Bild 2 zeigt den Schaltungsausschnitt, der die Versorgungsspannung von 5V zum Anschussstift 20 des
Aufnahmesockels für den zu programmierenden GAL-Baustein schaltet. Die so geschaltete Versorgungsspannung wird auch über einen Pull-up-Widerstand an den Anschlussstift 12 des Sockels gelegt. Über den Portanschluss PC5 wird die Basis von Transistor V2 angesteuert. Führt PC5 einen L-Pegel,
so sperrt der Transistor. Als Folge davon fließt kein Kollektorstrom durch die Teilerwiderstände R7
und R8 und der Transistor V1 wird ebenfalls sperren. An seinem Kollektoranschluss stellt sich somit
ein hochohmiger Zustand ein, Wird später das GAL-Programmierprogramm gestartet, so wird nach der Initialisierung des Schnittstellenbausteins an dem Portanschluss PC5 ein H-Pegel ausgegeben und damit der Transistor V2 über den Basisspannungsteiler RS und R6 leitend geschaltet. Bedingt durch den jetzt fließenden Kollektorstrom von V2, wird die Basis von V1 angesteuert. V2 schaltet ebenfalls durch und damit ist die Versorgungsspannung an den o.g. Anschlüssen vorhanden. Dieser Zustand wird auch durch die Leuchtdiode V3 angezeigt.

Bild 2: Elektronisches Schalten der Versorgungsspannung

Erzeugung der Editierspannung

Zur Gewinnung der beim Programmieren des GAL-Bausteins erforderlichen Editierspannung von 16,5V dient der nachfolgend beschriebene Schaltungsteil. Er besteht im wesentlichen aus drei Funktionsblöcken:

  • Einem Rechteckgenerator
  • einer Spannungsvervielfachungsschaltung
  • einem elektronischen Schalter

Der Rechteckgenerator

Der Rechteckgenerator wird mit dem Timer-Baustein 555 und ,der im Bild 3 dargestellten Beschaltung aufgebaut. Die Innenschaltung des Timers zeigt, dass er aus zwei Komparatoren aufgebaut ist, wobei von Komparator Nl der invertierende Eingang auf zwei Drittel und der nichtinvertierende Eingang von Komparator N2 auf ein Drittel der Versorgungsspannung intern vorgespannt sind. Die Ausgänge der Komparatoren wirken auf ein SR-Flipflop, dessen Ausgangszustand nach außen geführt ist. Am Q-Nicht-Ausgang des Flipflops ist die Basis des Entladetransistors angeschlossen, dessen Open-Collektor-Anschluss ebenfalls außen zur Verfügung steht.

Bild 3: Innenschaltung und äußere Beschaltung des Timerbausteins 555

Durch die äußere Beschaltung mit den Widerständen R11 und R12 sowie dem Kondensator C1 wird die Gesamtschaltung zum Rechteckgenerator. Die Versorgungsspannung für diesen Schaltungsteil wird aus der vorhandenen negativen Spannung von -12V als niedrigem und 0V als hohem Versorgungspotential gewonnen. Für die folgende Betrachtung gilt, dass der statische Rücksetzeingang (4) mit hohem Potential verbunden und damit wirkungslos ist. Geht man von dem Anfangszustand aus, dass das Flipflop zurückgesetzt sei, so ist der Entladetransistor im leitenden Zustand und damit der Ausgang (7) niederohmig nach dem niedrigen Versorgungspotential geschaltet. Hierdurch stellt sich an den beiden Komparatoren folgender Zustand ein: Der Ausgang von Komparator N1 wird einen L-Pegel annehmen, weil an seinem invertierenden Eingang ein höheres Potential anliegt, als an seinem nicht invertierenden Eingang und bei Komparator N2 steht -umgekehrt- ein H-Pegel an. An den FlipFlop eingängen ergibt
sich daraus die Signalkombination für das Setzen. Damit wird ger Ausgang (3) einen H-Pegel führen. Die Basis des Entladetransistors wird nicht mehr angesteuert, der Transistor sperrt.

Die Folge davon ist, dass ein Ladestrom über die Widerstände R11 und R12 in den Kondensator C1 fließen kann. Der Kondensator lädt sich mit der Zeitkonstanten (R11 + R12) * C1 auf. Übersteigt die Spannung am Kondensator den Wert von 1/3 der Versorgungsspannung, so wird der Komparator N2 seinen Zustand wechseln und nun L-Pegel führen. Das Flipflop geht in den Speicherzustand, d.h. es bleibt gesetzt. Der Ladestrom fließt weiter und die Spannung am Kondensator steigt weiter an. Nachdem dann die Kondensatorspannung 2/3 der Versorgungsspannung überschritten hat, schaltet Komparator N1 ebenfalls um. Er führt jetzt einen H-Pegel, der bewirkt, dass das Flipflop zurückgesetzt wird. Ausgang (3) führt nun L-Pegel und der Entladetransistor wird durchgeschaltet. Dadurch wird der Kondensator C1 über den Widerstand R12 und die Kollektor-Emitterstrecke des Entladetransistors entladen. Die hierbei wirksame Zeitkonstante ist R12 * C1. Die Entladung des Kondensators wird solange fortgesetzt, bis die Kondensatorspannung wieder 1/3 der Versorgungsspannung unterschreitet.

Das Ausgangssignal am Anschlussstift (3) des Timerbausteins bildet einen rechteckförmigen Spannungsverlauf. Die Pulszeit für den H- Pegel lässt sich aus dem Produkt

T1 = 0,66 * (R11 + R12) * C1
T1 = 0,66 * (33k + 3k3) * 22nF = 0,527ms

berechnen und die Pausenzeit aus:

Tp = 0,66 * R12 * C1
Tp = 0,66 * 33k * 22nF = 0,479ms

Hierdurch lässt sich auch Rechtecksignals, entweder aus oder aus der Gleichung die der Periodendauer
Summe von T1 + Tp oder aus der Gleichspannung

T = 0,66 * (R11 + 2 * R12) * C1
T = 0,66 * (3k3 + 66k) * 22nF = 1,006ms

bestimmen und damit ergibt sich auch die Frequenz der Rechteckspannung als Kehrwert der Periodendauer T zu ca. 1kHz. Siehe hierzu auch Bild 4.

Bild 4 : lmpulsverlauf am Timerausgang (3), Leerlauf

Die Spannungsvervielfachung

Die Erzeugung einer höheren Spannung, wie sie später für den Programmiervorgang der GAL-Bausteine benötigt wird, erfolgt im wesentlichen durch die beiden Kondensatoren C3 und C4, sowie den Dioden V4 und V5. Die Spannungsquelle liefert eine Spannung von 12V, die über die Diode V4 den Kondensator C3 auf diese Spannung auflädt. Ebenso wird der Kondensator C4 über die weitere Diode V5 aufgeladen.

Der Kondensator C3 wird zudem über den Widerstand R19 durch den Rechteckgenerator angesteuert. Der Rechteckgenerator liefert, wie bereits betrachtet, eine Rechteckimpulsfolge, deren beide Pegel 0V bzw. -12V betragen. Während der Ansteuerung mit -12V fließt also ein zusätzlicher Ladestrom über die Diode V4 in den Kondensator C3 und lädt ihn auf nahezu 24V auf. Wechselt dann der Pegel des Generators auf 0V, so kann der Kondensator sich nur über die Diode V5 zum Kondensator C4 entladen. Dieser Kondensator wird also auf die Spannung von ca. 24V aufgeladen. An ihm kann sie auch später abgenommen werden.

Bild 5 (links) zeigt die Stromrichtung Aufladevorgang für Kondensator C3 während Ansteuerung mit -12V über R19. Bild 5(rechts) zeigt Stromrichtung bei der Entladung von C1, die Aufladung von C4 zur Folge hat.

Bild 5a: Aufladung von C3 / Entladung von C3

Elektronischer Schalter und Stabilisierung für die Editierspannung.

Die durch die Spannungsvervielfachung gewonnene Gleichspannung von ca. 24V am ·Kondensator C4 wird mittels des Längstransistors V6 zum entsprechenden Anschluss des GAL-Bausteins durchgeschaltet.
Transistor V6 kann diese Spannung nur dann schalten, wenn seine Basis angesteuert wird. Hierzu dient der Transistor V7, der von den Portanschlüssen PC3 und PC4 des Schnittstellenbausteins angesteuert wird. Bild 6 zeigt diesen Teil der Schaltung. Liefern die Portanschlüsse einen L-Pegel, so wird V7 und damit
auch V6 sperren – die Editierspannung ist. abgeschaltet. Bei H-Pegel an den Portanschlüssen wird über den Basis-Spannungsteiler R13, R14 der Transistor V7 in den leitenden Zustand gebracht und damit auch V6 durchgesteuert. Durch den Widerstand R18 fließt. nun ein Strom über die Emitter-Kollektorstrecke des Transistors V6. Die Kondensatorspannung von nahezu 24V wird durch den Widerstand R18 und R17 geteilt und zudem durch die beiden in Reihe geschalteten Zenerdioden V5 und V9 auf 16,8V stabilisiert.
Diese so gewonnene Gleichspannung steht, gesteuert durch die Portanschlüsse des Schnittstellenbausteins am Anschluss (2) des Stecksockels für den GAL-Baustein zur Verfügung.

Bild 6 : Elektronischer Schalter und Stabilisierung für die Editierspannung

Bestückungspan

Bestückungsplan Frontplatine


Weitere Informationen

Dokumente