Forum: Mikrocontroller und Digitale Elektronik Was brauche ich dazu um so etwas zu Programmieren?


von Michael H. (h_m)


Lesenswert?

Guten Tag,

ATF 22V10CQZ20PU :: Programmierbare Logik, DIL-24

den gibt's zb. bei Reichelt.

Aber kann mir jemand sagen was man dazu braucht um den zu Programmieren 
bzw welche IDE ??



braucht man da zb. Programmer tl866cs


grüsse Huber

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Das scheint kompatibel zu einem GAL (dem üblichen 22V10 von Lattice) zu 
sein. Dafür braucht's einen GAL-Assembler.

Hier ein Zufallstreffer aus der Open-Source-Ecke:

https://github.com/daveho/GALasm

von W.S. (Gast)


Lesenswert?

Michael H. schrieb:
> Aber kann mir jemand sagen was man dazu braucht um den zu Programmieren
> bzw welche IDE ??

IDE? --> Fehlanzeige.

Du brauchst erstens einen Texteditor, dann ein Programm zum Übersetzen 
von deiner Quelle zum JEDEC-File und dann einen Brenner, um anhand 
dieses Files deinen Chip zu brennen. Zum Übersetzen z.B. sowas wie ABEL. 
Ob und wo du allerdings an die Programmier-Spec's herankommst, ist 
fraglich und obendrein müßtest du dir dann noch nen passenden 
Programmierer bauen/besorgen.

Mein Rat: Laß es, und wenn dir nach ein wenig programmierbarer Logik 
zumute sein sollte, dann nimm dafür ein kleineres CPLD von Xilinx und 
besorg dir dafür das sog. "Webpack" von Xilinx. So ziemlich jede ältere 
Version ab 8.3 sollte dafür genügen.

W.S.

von Carsten S. (dg3ycs)


Lesenswert?

Rufus Τ. F. schrieb:
> Das scheint kompatibel zu einem GAL (dem üblichen 22V10 von Lattice) zu
> sein. Dafür braucht's einen GAL-Assembler.

Und natürlich auch das nötige Programmiergerät!

Ganz Grob lassen sich die (älteren) programmierbaren Bausteine in drei 
Gruppen einteilen: (der 22V10 ist vom Konzept her definitiv ein 
"älteres" Design)

1. Programmierbare Speicher wie EPROM & EEPROM(serielle und Parallele)
2. µC mit internem Programmspeicher
3. Programmierbare Logikbausteine (PAL/GAL ggf. CPLD)

Ursprünglich waren es für jede gruppe eigene Programmiergeräte üblich.
Für 1. die üblichen "Eprommer"

Bei 2. waren und sind die Geräte dann noch herstellerspezifisch. (was 
auch für die meisten aktuellen Bausteine noch gilt)

Für 3. Ebenfalls eigene Geräte notwendig.
Für komplexe Bausteine (CPLD/FPGA mti internem Codierungsspeicher) ist 
auch heute noch herstellerspezifische Technik zwingend notwendig. 
Zumindest wenn es bezahlbar sein soll.

Später kamen dann Universalprogrammiergeräte auf die viele Bausteine aus 
zwei oder alle drei Gruppen programmieren konnten.

Der TL866CS ist aber ein Eprommer mit der Zusatzmöglichkeit eine 
begrenzte  Anzahl von programmierbaren µC (z.b. PIC) programmieren zu 
können.
PLD wie GAL kann der TL aber NICHT!

Du brauchst daher ein Universalprogrammiergerät wie den GALEP!
(Imho kann der GALEP III diese Bausteine, den bekommt man recht günstig 
und auch die Software ist noch zum Download vorhanden. Solltest aber 
vorher checken. GALEP IV bekommt man teilweise auch noch Preiswert. Ich 
habe vor nun nahezu 10Jahren hier im Forum 120 euro für meinen Bezahlt)

Gruß
Carsten

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Carsten S. schrieb:
> Der TL866CS ist aber ein Eprommer mit der Zusatzmöglichkeit eine
> begrenzte  Anzahl von programmierbaren µC (z.b. PIC) programmieren zu
> können.
> PLD wie GAL kann der TL aber NICHT!

Das sieht der Hersteller anders, der einige GALs von Lattice (16V8, 20V8 
und 22V10) in seiner Deviceliste aufführt.

http://www.autoelectric.cn/MiniPro/MiniProSupportList.txt

von Dumpf Backe (Gast)


Lesenswert?

Rufus Τ. F. schrieb:
> Hier ein Zufallstreffer aus der Open-Source-Ecke:
>
> https://github.com/daveho/GALasm

Das ist sehr nützlich für jemanden wie Michael Huber der es
nicht schafft aus eigener Kraft sich die Informationen zu
GALs zu beschaffen.

Wie soll er denn dann schaffen die nichtcompilierte Source
in ein lauffähiges Programm umzuwandeln?

von georg (Gast)


Lesenswert?

Michael H. schrieb:
> Aber kann mir jemand sagen was man dazu braucht um den zu Programmieren
> bzw welche IDE ??

Rufus Τ. F. schrieb:
> Hier ein Zufallstreffer aus der Open-Source-Ecke:
>
> https://github.com/daveho/GALasm

Hallo Michael, damit du weisst auf was du dich da einlässt: das ist eine 
Software für Atari ST, leicht modifiziert.

Die Anbieter von aktuellen CPLDs wie Altera oder Lattice oder Xilinx 
hatten in alten Versionen noch eine Unterstützung für PAL/GAL, aber da 
sie die nicht mehr herstellen wurde die aus den Entwicklungssystemen 
gestrichen. Ich verwende (wieder) PALASM4 in einer DosBox unter 
Windows10.

Georg

von Theor (Gast)


Lesenswert?

Rufus Τ. F. schrieb:
> Carsten S. schrieb:
>> Der TL866CS ist aber ein Eprommer mit der Zusatzmöglichkeit eine
>> begrenzte  Anzahl von programmierbaren µC (z.b. PIC) programmieren zu
>> können.
>> PLD wie GAL kann der TL aber NICHT!
>
> Das sieht der Hersteller anders, der einige GALs von Lattice (16V8, 20V8
> und 22V10) in seiner Deviceliste aufführt.
>
> http://www.autoelectric ... (link gekürzt wegen SPAM-Meldung)

Vorsicht!

Es gibt bekanntermaßen subtile Unterschiede im 
GAL-PAL-Programmieralgorithmus je nach Hersteller - obwohl etwa die 
Bezeichnung auf einen 22V schliessen lässt sind nicht alle 22V aller 
Hersteller zwingend auf die gleiche Weise zu programmieren
So wird zwar in der Liste der ATF 16V (also Atmel) aufgeführt aber nicht 
der vom TO genannte 22V. Es besteht also die Möglichkeit, dass gerade 
dieser Typ nicht programmiert werden kann.

von Dumpf Backe (Gast)


Lesenswert?

W.S. schrieb:
> Mein Rat: Laß es, und wenn dir nach ein wenig programmierbarer Logik
> zumute sein sollte, dann nimm dafür ein kleineres CPLD von Xilinx und
> besorg dir dafür das sog. "Webpack" von Xilinx. So ziemlich jede ältere
> Version ab 8.3 sollte dafür genügen.

Das halte ich auch für den richtigen Weg. Es gibt CPLDs von
Xilinx die sind etwas grösser (XCR3032, 32 vs 10 Makrozellen)
aber komplett in der IDE von Xilinx WebPack (ab v3.3?)
programmierbar, sowohl Code als auch Download (ISP). Zur Not gibt
es diese Bausteine auch im PLCC Gehäuse wo sie noch leichter zu
verarbeiten sind, ansonsten im TQFP.

Da die GALs bereits in den 90er Jahren auf dem stark absteigenden
Ast lebten vergessen viele dass es 5V Bausteine waren. Alles was
heute an CPLDs geboten wird ist maximal 3.3V kompatibel. Mit
5V-Prozessoren und anderen Schaltungen muss man also aufpassen.

von Schorsch X. (bastelschorsch)


Lesenswert?

Es gibt von Atmel eine WinCupl Version, die 22V10 kann. Dazu auch 
Programme für ISP Bausteine. Das sollte doch reichen ?

von U.G. L. (dlchnr)


Lesenswert?

georg schrieb:
>> https://github.com/daveho/GALasm
>
> Hallo Michael, damit du weisst auf was du dich da einlässt: das ist eine
> Software für Atari ST, leicht modifiziert.

Zum Erstellen einer JEDEC-Datei gibt's von Atmel für den 
ATF-22V10CQZ20PU CUPL: http://www.atmel.com/tools/wincupl.aspx

von U.G. L. (dlchnr)


Lesenswert?

Wenn Dual Inline notwendig ist, hier eine bessere Alternative:
https://www.mouser.de/productdetail/microchip-technology-atmel/atf750lvc-15pu?qs=sGAEpiMZZMuJNuO2s1hGZJOLqYzZpioSuSWsOFN9Bj4%3D
(etwas biliger, etwas schneller und ungefähr die doppelte Menge an 
programmierbarer Logik drin)

von U.G. L. (dlchnr)


Lesenswert?

Wenn's auch SMD und 3,3V sein darf, nimm besser sowas:
https://www.mouser.de/ProductDetail/Lattice/LC4032V-10TN44I/?qs=%2fha2pyFadujXOxIfIZOKobLgNtYSFWt2RYWUsaHwR0RDrL9rThq4DA%3d%3d
(billgiger, schneller, und viel mehr drin)

von U.G. L. (dlchnr)


Lesenswert?


von Werner H. (pic16)


Lesenswert?

Als Programmer für die GALs geht der Genius "G540" und zum erstellen der 
Jedec Files könnte man, wenn vorhanden, Protel98 benutzen. Besser aber 
man nimmt modernere CPLDs, mehr Zellen, mehr Speed und weniger Strom.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Heutzutage in Gals einzusteigen ist wie Transistoren selber schnitzen: 
veraltetes und unnützes Wissen.

Wenn heute in programmierbare Logik eingestiegen werden soll, dann würde 
ich die MachXO von Lattice empfehlen...

: Bearbeitet durch Moderator
von U.G. L. (dlchnr)


Lesenswert?

Lothar M. schrieb:
> Wenn heute in programmierbare Logik eingestiegen werden soll, dann würde
> ich die MachXO von Lattice empfehlen...

MACHXO/MACHXO2 kann man durchaus empfehlen - wir bewegen uns dann 
allerdings bei noch größeren, "komplizierterem" Gehäusen und eben im 
FPGA-Bereich.

von Manfred (Gast)


Lesenswert?

Rufus Τ. F. schrieb:
> Dafür braucht's einen GAL-Assembler.

Zu Zeiten, wo ich noch jede Menge Logikbausteine auf die Platine 
gebracht habe, waren PAL und GAL ganz toll: In die Software die 
Wahrheitstabellen einhacken, brennen und gut. Vertan ... eben neu 
brennen.

Ich hatte dazu die kommerzielle Umgebung "CUPL".

Aktuell sehe ich nicht mehr, diese Stromfresser einzusetzen - in 
Hardware bin ich aber nur noch hobbymäßig unterwegs. Wenn ich überlege, 
was ich früher mit GALs gemacht habe, war da nichts bei, was 
zeitkritisch gewesen wäre - meist täte es ein Mikrocontroller.

von Peter D. (peda)


Lesenswert?

Michael H. schrieb:
> Aber kann mir jemand sagen was man dazu braucht um den zu Programmieren
> bzw welche IDE ??

Wozu brauchst Du unbedingt diesen IC?

Ich hatte auch mal das Problem, daß ein exotischer PAL nicht mehr 
beschaffbar war. Ich hab ihn dann durch einen ATtiny261 ersetzen können 
und die Gleichungen in AVR-Assembler realisiert.

von Carsten S. (dg3ycs)


Lesenswert?

Rufus Τ. F. schrieb:
> Carsten S. schrieb:
>> Der TL866CS ist aber ein Eprommer mit der Zusatzmöglichkeit eine
>> begrenzte  Anzahl von programmierbaren µC (z.b. PIC) programmieren zu
>> können.
>> PLD wie GAL kann der TL aber NICHT!
>
> Das sieht der Hersteller anders, der einige GALs von Lattice (16V8, 20V8
> und 22V10) in seiner Deviceliste aufführt.
>
> http://www.autoelectric... (gekürzt wg SpamWarnung)

OK, Dann hat er mittlerweile welche drinn.
In meiner Liste (älteren, lokalen) Liste sind die entweder noch nicht 
drin oder ich war einfach Blind. Da es keine Sortierung nach 
Bauteilvariante gibt ist beides möglich.

Lothar M. schrieb:
> Heutzutage in Gals einzusteigen ist wie Transistoren selber schnitzen:
> veraltetes und unnützes Wissen.

Also der Vergleich hinkt dann doch schon gewaltig.
Klar, für Neuentwicklungen - und seien auch nur Hobbyprojekte- wo es um 
das erreichen eines Ziels geht ist ein GAL/PAL sicher alles andere als 
Sinnvoll. Keine Frage.
(Es mag vielleicht sehr seltene Konstellationen geben wo es doch sinn 
macht. Mir fällt aber gerade keine ein die nicht sehr konstruiert ist)

Aber ob das erlenen von Wissen über "veraltete" Bauelemente unnütz ist 
oder nicht, bzw. ob es Sinn macht sich damit zu beschäftigen ist 
letztendlich immer noch eine Frage von Aufwand und nutzen.
Und gerade bei GAL /PAL ist der Aufwand doch eher gering, der Nutzen 
aber bei Interesse an PLD dennoch vorhanden da fast alles für komplexere 
Bauteile immer noch Gültigkeit hat. Einzig das Wissen um die Bedienung 
der Entwicklungstools ist "vielleicht verloren".
An der FH haben wir im letzten Praktikumstermin der Vorlesung 
Digitaltechnik II innerhalb eines 2h PRaktikums den ersten Kontakt mit 
PLD inkl. kompletter Entwicklungsumgebung gehabt und am ende hatten alle 
nahezu selbstständig eine funktionierende FSM in einem GAL 
implementiert. (OK, bei einigen war geringe Unterstützung durch den 
Tutor oder früh fertigen Komilitonen mit Vorkenntnissen (wie mir) nötig. 
Aber das wesentliche wurde von allen selbst erarbeitet und die Dinge wie 
Analyse der geforderten Funktion und Entwurf der FSM waren in der Zeit 
auch noch mit drin.

-So extrem ist das mit dem notwendigen GAL spezifischen Wissen also 
nicht-
Durch ihre eher mäßige komplexität und mechanische und elektrische 
Robustheit im vergleich zu aktuellen "state of the art" PLD sind sie für 
Anfänger für die allerersten Kontakte vielleicht gar nicht so schlecht.

Gerade für die ersten Dinge und wenn man noch auf der Ebene der 
Generierung mit Wahrheitstabelle arbeitet ist der Umgang mit den GAL 
Werkzeugen, auch wenn die alles andere als eine ausgefeilte IDE bieten, 
wesentlich einfacher als die modernen IDE der PLD Anbieter.

Das es im weiteren Verlauf natürlich Sinn macht den Wechsel auf die 
nächste Evolutionsstufe vorzunehmen und von den Warheitstabellen weg zu 
einer HDL (VHDL oder Verilog) zu gehen ist dabei unbestritten.
Aber zumindest meiner Meinung nach ist das kennen und verstehen der 
Grundlagen der Digitaltechnik immer noch notwendige Vorraussetzung um 
sinnvoll auch mit aktuellen PLD in einer HDL zu arbeiten.
Und die meisten lernen nun einmal in kleinen Häppchen am einfachsten.
Gibt aber natürlich auch diejenigen die direkt nur die großen Brocken 
wollen. (Sprinter und Dauerläufer halt)

Letztendlich gibt es aber genau EINEN Grund warum ich in den meisten 
Fällen dennoch von einem Einstieg zu Lernzwecken mit GAL abraten würde:
GAL brauchen spezielle PRogrammiergeräte und viele dieser Geräte die GAL 
Bausteine beschreiben können sind für modernere PLD nicht einsetzbar.
(Oder diese kosten ein Vermögen)
Programmer für moderne PLD bekommt man hingegen schon recht günstig...

Wenn ein solches Programmiergerät also nicht schon vorhanden ist ODER 
sowieso beschafft werden soll weil es auch noch für andere Zwecke 
benötigt wird als die Konfigurationsfiles in den GAL zu schreiben 
(Beispielsweise um 27er oder 28er (E)Eproms zu beschreiben), dann macht 
es in der Tat keinen Sinn mehr an GAL zu denken.
ISt ein solches Gerät aber vorhanden können ein paar Stunden mit den 
alten Bausteinen aber durchaus immer noch Sinnvoll sein.
>
> Wenn heute in programmierbare Logik eingestiegen werden soll, dann würde
> ich die MachXO von Lattice empfehlen...
Naja, das ist vielleicht ein bisschen so als wenn jemand Fragt was er 
braucht um einem alten 2CV herumzuschrauben und man sagt ihm er solle 
doch mit einem BMW M5(F90) anfangen... (Wo wir schon bei schlechten 
Vergleichen waren)

Davon abgesehen haben wir jetzt einen Möglichen Anwendungsfall komplett 
unterschlagen: Es könnte ja auch sein das der TE ein Gerät hat wo ein 
solcher GAL z.b. zum Auskodieren bestimmter Betriebszustände verbaut ist 
und möchte nun ein paar Funktionen ändern. Dies habe ich auch schon 
gemacht um beispielsweise bei einem alten Messplatz die Frequenzlücke zu 
entfernen.
(Zu dem Preis das im Hinzugekommenen Bereich natürlich die Werte nur 
sehr ungefähr eingehalten wurden).

In einem solchen Fall ist die Verwendung eines zum Originalbaustein 
elektrisch 100% kompatiblen Typs die mit abstand sinnvollste Lösung.

Gruß
Carsten

von georg (Gast)


Lesenswert?

Carsten S. schrieb:
> In einem solchen Fall ist die Verwendung eines zum Originalbaustein
> elektrisch 100% kompatiblen Typs die mit abstand sinnvollste Lösung.

Peter hat zwar recht, dass man die logische Funktion sehr oft durch 
einen µController ersetzen kann, aber praktisch nie mit passendem 
Gehäuse/Pinout. Es wird also noch zusätzlich eine Adapterplatine nötig 
(oder eine Layoutänderung). Für Ersatzzwecke ist daher ein äquivalenter 
Baustein am besten, wobei man durchaus einfache Uralt-PALs wie 16R4 
durch ein Universalpal wie 18V8 ersetzen kann. Für 22V10 gibt es aber 
wohl nichts anderes als ein 22V10.

Georg

von U.G. L. (dlchnr)


Lesenswert?

georg schrieb:
> Für 22V10 gibt es aber
> wohl nichts anderes als ein 22V10.

Ein 22V10 läßt sich durch einen ATF750 ersetzen - bei 5V mit ATF750C 
oder ATF750CL, bei 3,3V durch den schon erwähnten ATF750LVC.

von Possetitjel (Gast)


Lesenswert?

Lothar M. schrieb:

> Heutzutage in Gals einzusteigen ist wie Transistoren
> selber schnitzen: veraltetes und unnützes Wissen.

Die Kenntnis der direkten Realisierung einer diskjunktiven
Normalform (nix anderes ist ein GAL) ist "unnützes Wissen"?

Das erklärt einiges.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Possetitjel schrieb:
> Lothar M. schrieb:
>> Heutzutage in Gals einzusteigen ist wie Transistoren selber schnitzen:
>> veraltetes und unnützes Wissen.
> Die Kenntnis der direkten Realisierung einer diskjunktiven Normalform
> (nix anderes ist ein GAL) ist "unnützes Wissen"?
Das habe ich zwar so nirgends geschrieben und man kann die disjunktive 
Normalform auch auf einem CPLD anwenden, aber eigentlich lautet die 
Antwort auf diese Frage: Ja.
Denn ich weiß zwar, wie man Terme händisch minimiert, ich brauche es 
aber im täglichen Leben nicht. Und etwas was ich nicht brauche, nützt 
mir nichts.

> Das erklärt einiges.
Ich formuliere es mal ganz einfach so:
GAL = tot, fine, obsolete. CPLD = end of life. FPGA = active.

Aber keine Sorge, Michael hat sich laut 
Beitrag "TL866cs oder TL866a Kaufen ?" schon 
entschieden: er wird den toten Gaul reiten.

von MaWin (Gast)


Lesenswert?

Lothar M. schrieb:
> Heutzutage in Gals einzusteigen ist wie Transistoren selber
> schnitzen: veraltetes und unnützes Wissen.
>
> Wenn heute in programmierbare Logik eingestiegen werden soll, dann würde
> ich die MachXO von Lattice empfehlen...

Blödsinn.

Gerade Anfänger profitieren von der einfach verständlichen Struktur 
eines PAL und werden von der Komplexität eines FPGA eher erschlagen.

Die Sprache, wie ABEL, ist einfacher verständlich/erlernbar als dein 
beliebtes aber akademisches VHDL, und zudem auch noch Grundlage des 
praktisch nützlicheren Verilog.

Und wer ATF Chips billig programmieren will, suche nach ATFBlast.

von MaWin (Gast)


Lesenswert?

Lothar M. schrieb:
> Ich formuliere es mal ganz einfach so:
> GAL = tot, fine, obsolete. CPLD = end of life. FPGA = active.

Ich stelle mir gerade vor, wie jemand auf einer Platine, auf der der 
Adressdecoder durch ein 22v10 realisiert wird, eine andere Adresse 
einstellt in dem er ein FPGA programmiert, oder auch nur ein 
pinkompatibles CPLD sucht, oder einen uC programmieren will der in 25ns 
Zugriffszeit die Adressdecodierung übernimmt.

von Holm T. (Gast)


Lesenswert?

MaWin schrieb:
> Lothar M. schrieb:
>> Ich formuliere es mal ganz einfach so:
>> GAL = tot, fine, obsolete. CPLD = end of life. FPGA = active.
>
> Ich stelle mir gerade vor, wie jemand auf einer Platine, auf der der
> Adressdecoder durch ein 22v10 realisiert wird, eine andere Adresse
> einstellt in dem er ein FPGA programmiert, oder auch nur ein
> pinkompatibles CPLD sucht, oder einen uC programmieren will der in 25ns
> Zugriffszeit die Adressdecodierung übernimmt.

Ausnahmsweise: Danke MaWin!

Ich hantiere nach wie vor mit alten Prozessoren und daraus aufgebauten 
Computern, teilweise aus Spaß an der Freude, teilweise weil irgend 
Jemand das unbedingt repariert haben will.
Ansichten wie die von Lothar sind da leider überhaupt nicht hilfreich.

Gruß,
Holm

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.