Verehrte Gemeinde! Ich habe 1. EPROMs M27C512 2. Programmer Batronix BX32 incl. Software 3. Rechner mit Windows XP 4. folgendes altmodisches Anliegen: Ich möchte (vorerst nur kombinatorische) binäre Verknüpfungen im EPROM speichern um so mehrere Gatter-IC einzusparen. Solange nur wenige (bis 5) Eingänge (=Adressleitungen des EPROMs) genutzt werden, kann ich die Binärwerte (=Speicherinhalt des EPROMs) zu Fuß eintippen – in der Software zum Programmer gibt es eine editierbare Tabelle - Hexdump oder Binärdump (=“Bitmuster“). Wenige Eingänge geben natürlich kaum Sinn. Möchte ich die 15 zur Verfügung stehenden Adressleitungen nutzen, brauche ich ein Programm, das die Schreibarbeit macht. Ich stelle mir das so vor, wie ich es von der SIMATIC kenne: Gattersymbole (möglichst aktuelle DIN) aus einer Bibliothek kopieren, verbinden, Ein-u. Ausgänge beschriften. Dann berechnet das Programm das entstehende Bitmuster welches ich dann in einem Zug in die Tabelle der Programmer-Software kopiere. Das Programm sollte auch in der Lage sein, bei mehr als 8 Ausgängen das Bitmuster zu teilen, um die entstehenden Teile in mehreren EPROMs zu speichern. Kennt jemand geeignete Freeware? Besten Dank im Voraus.
Martin K. schrieb: > Kennt jemand geeignete Freeware? Das das kaum der üblichen Nutzung von Eproms entspricht wirst Du da wohl wenig Glück haben. Vielleicht findest Du im Bereich PAL/GAL eine Software die auch Eproms kann.
Was du suchst, ist ein Programm, das automatisch Wahrheitstabellen erstellt. Martin K. schrieb: > Ich stelle mir das so vor, wie ich es von der SIMATIC kenne: > Gattersymbole (möglichst aktuelle DIN) aus einer Bibliothek kopieren, > verbinden, Ein-u. Ausgänge beschriften. Dann berechnet das Programm > das entstehende Bitmuster welches ich dann in einem Zug in die Tabelle > der Programmer-Software kopiere. Muss die Eingabe unbedingt graphisch sein? Oder wäre es auch in Ordnung, die Funktion als logischen Term einzugeben (was sowieso schneller von der Hand geht)? Letzteres kann man, falls du kein fertiges Programm dafür findest, in ganz wenigen Zeilen in einer (fast) beliebigen Programmiersprache selber zusammenhacken.
Grafisch wäre schön weil ich da den Überblick behalte. Boolsche Funktionen gehen auch mit excel. UND,ODER,Negation einzeln ist kein Problem, in der Praxis hat man aber derer mehrere hintereinander, auch mit mehr als 2 Eingängen. Wer hat dann in der excel-Formel noch den Durchblick? Folgendes Horrorszenareo: Am Ende des Projektes stellt man fest, dass man eine der Verknüpfungen in einem Detail ändern muss, dann möchte ich keine Excel-Formel auseinanderpflücken sondern mal eben nur ein Gattersymbol durch ein anders ersetzen.
So eine "Zweckentfremdung" von EProms war früher durchaus üblich. Da gab es sogar komplexe Schaltwerke durch Rückführung von Datenleitungen auf Adressleitungen. An der Hochschule gab es eine Software dafür, die lief noch unter DOS. Ich glaube die hieß LOG/IC. Da gab es Module für PLD ,Gals ,FlipFlop Schaltwerke Eproms u.s.w für. Eingabe waren Logictabellen oder Logische Gleichungen. Bei der Googlesuche danach habe ich folgendes gefunden. http://www.fh-sw.de/sw/fachb/et/hauptseite/fakultaet/studisoft/logic2.htm Vielleicht ist da ja was dabei.
Yalu X. schrieb: > Was du suchst, ist ein Programm, das automatisch Wahrheitstabellen > erstellt. Exakt, aber die meiste Software die ich kenne macht das umgekehrte, nämlich aus einer Wahrheitstabelle eine Gatterschaltung (ein programmiertes CPLD besteht ja aus entsprechend verschalteten Und- und Oder-Gattern). Wenn da nichts fertiges zu finden ist, könnte man sich das auch aus einer solchen Software zurechtschnitzen: man nehme eine IDE von Altera, Lattice usw. (Vorsicht, riesig!) und, gebe die Schaltung wie gewünscht ein (Gatter, VHDL,...) für ein passendes Device. Wenn man Testvektoren erstellt, die alle Eingabekombinationen umfassen, erhält man die Wahrheitstabelle der synthetisierten Schaltung. Allerdings ohne Optimierung. Georg
Warum ruft eigentlich niemand "Nimm einen Mikrocontroller"? Bei aller Liebe zu alten Bausteinen willst Du ja scheinbar etwas bestehendes neu machen. Wenn es das Timing hergibt ist ein hübscher AVR mit internem Oszillator an dieser Stelle das Mittel der Wahl. schlagt mich jetzt bitte nicht tot Hauspapa
Martin K. schrieb: > Grafisch wäre schön weil ich da den Überblick behalte. Ich persönlich überblicke solche Dinge besser als Formeln. Natürlich nicht als einen einzelnen Term, der kaum auf einer Bildschirmbreite Platz hat, sondern nach logischen Gesichtspunkten aufgeteilt in mehrere Unterterme. Aber da hat jeder einen anderen Geschmack :) > Boolsche Funktionen gehen auch mit excel. UND,ODER,Negation einzeln ist > kein Problem, in der Praxis hat man aber derer mehrere hintereinander, > auch mit mehr als 2 Eingängen. Wer hat dann in der excel-Formel noch den > Durchblick? Excel hat halt das Problem, dass die Formeln normalerweise gar nicht sieht, und wenn man sie sichtbar macht, werden sie völlig unstrukturiert in einer einzelnen Zeile angezeigt. Die Unterteilung in mehrere Formeln geht zwar, allerdings möchte man dann den einzelnen Teilen anstelle von A1 oder B3 aussagekräftige Namen geben, was in Excel nur umständlich machbar ist. Einen Grafikeditor für logische Schaltnetze, der Wahrheitstabellen in einem für den EPROM-Programmierer geeigneten Format generiert, kenne ich nicht und habe auf die Schnelle auch im Netz keinen gefunden. Es wäre prinzipiell noch möglich, einen x-beliebigen Diagramm- oder Schaltplaneditor zu verwenden, der die Schaltung in einem einfachen Netzlistenformat exportieren kann. Man könnte dann ein kleines Progrämmchen schreiben, das aus dieser Netzliste die EPROM-Datei generiert. Welche Ausgabeformate unterstützt denn die von dir liebgewonnene SIMATIC-Software? Vielleicht kann man darauf irgendwie aufbauen. uwe schrieb: > Nimm ein CPLD! Das wäre die neumodische Variante. Ich nehme aber an, dass Martin diese bereits kennt, sonst hätte er seine eigene nicht als altmodisch bezeichnet ;-) Aber wie Georg bereits geschrieben hat, kann man evtl. eine CPLD-Entwurfssoftware auch für EPROMs missbrauchen. RFIDler schrieb: > So eine "Zweckentfremdung" von EProms war früher durchaus üblich. > Da gab es sogar komplexe Schaltwerke durch Rückführung von > Datenleitungen auf Adressleitungen. So etwas wurde bspw. im Diskettenlaufwerkscontroller des Apple II gemacht. Das hat mich, als ich es zum erstan Mal sah, ziemlich beeindruckt :)
Zum besseren Verständnis: Ich erinnere mich grau an eine elektronische Steuerung für FESTO (Pneumatik) Baujahr etwa 1987. Vermutlich von einem Zulieferer. Die Platine war 100x160, hatte mittig ein EPROM (oder 2?), Ausgangstreiber (Transistoren), StatusLED für jeden Eingang u. Ausgang, das war's. Alles locker bebaut, ohne SMD. Angeschlossen waren eingangsseitig binäre Sensoren, Taster, Progammwahlschalter, ausgangsseitig PneumatikVentile oder Meldeleuchten. Damit hat die Maschine (inzwischen geschrottet) das gemacht, was sie sollte. Ohne Relais, ohne Rechner, ohne SPS oder das neumodische Zeug. Das war eine nach Kundenwunsch gefertigte Etikettiermaschine und sicherlich hat FESTO und andere Hersteller diese Platine tausendfach verwendet ohne die Bits einzeln in den EPROMer zu schreiben. Bestimmt gab es damals das von mir gesuchte Programm, ich möchte also nichts Altes neu erfinden. Warum kein µC,PAL,GAL,PLD,FPGA,CPLD,...? Da ich Selbst-Layouter (dank Target), Selbst-Ätzer (mit bescheidenen Möglichkeiten) und Selbst-Löter bin, bietet sich das altmodische DIL-Gehäuse an. Ich möchte auch keine zugekaufte Platine huckepack auf meine Platine bauen, so kann ich weder Platz und erst recht kein Geld sparen. Wenn es das gesuchte Progamm nicht gibt, mache ich eben weiter wie in den letzten 25 Jahren: CMOS 4xxx mit dem Nachteil, dass man nichts ändern kann.
Martin K. schrieb: > Warum kein µC,PAL,GAL,PLD,FPGA,CPLD,...? > Da ich Selbst-Layouter (dank Target), Selbst-Ätzer (mit bescheidenen > Möglichkeiten) und Selbst-Löter bin, bietet sich das altmodische > DIL-Gehäuse an. ?!? PAL und GAL gibt es sehr wohl in DIP, http://www.reichelt.de/GALs-PALs/GAL-20V8-15LP/3//index.html?ACTION=3&GROUPID=2955&ARTICLE=8130&OFFSET=16& und auch PLCC lässt sich problemlos verwenden http://www.reichelt.de/GALs-PALs/2/index.html?&ACTION=2&LA=3&GROUPID=2955;SID=14VBKr738AAAIAAAnWEDM8f6cd52692b18dd0645b4f7ff96c99f7 dank passender Sockel http://www.reichelt.de/PLCC-20/3/index.html?&ACTION=3&LA=446&ARTICLE=26483&artnr=PLCC+20&SEARCH=fassung+plcc und falls man einen einfachen Programmer braucht http://www.armory.com/~rstevew/Public/Pgmrs/GAL/_ClikMe1st.htm RFIDler schrieb: > An der Hochschule gab es eine Software dafür, die lief noch unter DOS. > Ich glaube die hieß LOG/IC. > Da gab es Module für PLD ,Gals ,FlipFlop Schaltwerke Eproms u.s.w für. Zumindest das aktuelle LOG/IC2 kann keine EPROMs http://www.fh-sw.de/sw/fachb/et/hauptseite/fakultaet/studisoft/logic2.htm Und die Version von 1995, die ich hier habe, klääst sich auf meinem Windoof natürlich nicht mehr installieren.
Weil mir gerade danach war, habe ich mal versucht, Spice-Netzlisten von digitalen Schaltnetzen mit einem Python-Programm in EPROM-Dateien zu überführen. Das funktioniert gar nicht einmal so schlecht: Folgendes ist zu tun, um eine Binärdatei für den EPROM-Programmierer zu erstellen: 1. Schaltung in LTspice zeichnen, dabei können AND-, OR und XOR-Gatter sowie Inverter verwendet werden. Die nicht benötigten Ein- und Ausgänge werden einfach unbeschaltet gelassen. 2. Einen Kommentar der Form "EPROM n a" einfügen, wobei n die Zahl der parallel genutzten EPROMs (um die Zahl der Ausgänge zu erhöhen) und a die Anzahl der Adressleitungen ist. Die Anzahl der Datenleitungen jedes EPROMs wird immer mit 8 angenommen. Für 16 Eingänge und 16 Ausgänge sind zwei 27C512 (o.ä.) erforderlich, also ist im Kommentar "EPROM 2 16" anzugeben. 3. Die Eingänge der Schaltung mit A0, A1 usw., die Ausgänge D0, D1 usw. (entsprechend den Adressein- und Datenausgängen des EPROMs) benennen. Die Ausgänge D0-D7 werden dabei dem ersten, D8-D15 dem zweiten EPROM zugeordnet usw. 4. Menü "View / SPICE Netlist" anklicken. Dabei wird ein Fenster mit der Netzliste wird geöffnet und gleichzeitg die Netzliste in einer Datei namens <name>.net gespeichert, wobei <name> der Schaltplandateiname ohne die Endung .ASC ist. 5. In der Konsole das im Anhang befindliche Python-Programm starten und den Dateinamen der Netzliste als Argument übergeben:
1 | python eprom.py <name>.net |
Es werden zur Kontrolle die EPROM-Konfiguration und die gefundenen Ein- und Ausgänge der Schaltung angezeigt. Fehlt einer dieser Anschlüsse, liegt möglicherweise ein Fehler in der eingegebenen Schaltung vor. Das Programm generiert für jedes zu programmierende EPROM eine Datei. Die Dateien heißen
1 | <name>_0.bin (für D0-D7) |
2 | <name>_1.bin (für D8-D15) |
3 | usw. |
Die Dateigröße ist jeweils 2 ** <Anzahl der Adressleitungen>. Es müssen nicht alle verfügbaren Adress- und Datenleitungen genutzt werden. In der Schaltung fehlende Adressleitungen werden als "don't care", fehlende Datenleitungen auf statisch high gesetzt. Als Beispiel habe ich in LTspice einen 8-Bit-Komparator eingegeben. Er vergleicht die durch AH = A[15-8] und AH = A[7-0] gegebenen Zahlenwerte und setzt die Ausgänge wie folgt:
1 | D0: high, wenn AH < AL |
2 | D1: high, wenn AH ≥ AL |
3 | D2: high, wenn AH = AL |
4 | D3: high, wenn AH ≠ AL |
5 | D4: high, wenn AH > AL |
6 | D5: high, wenn AH ≤ AL |
7 | D6: immer high |
8 | D7: immer high |
Das Programm ist nicht das schnellste, liefert aber auf meinem alten PC für das Beispiel in knapp 30 Sekunden immerhin das richtige Ergebnis. Leider gibt es in LTspice nicht die IEC-, sondern nur die ANSI- Gattersymbole.
Das sieht schon mal gut aus. Besten Dank dafür. Jetzt muss ich erstmal ANSI- Gattersymbole lernen. Da könnte man einen neuen Thread starten: Sind die Deutschen anormal was Schaltplansymbole betrifft, oder sind es die Anderen?
Martin K. schrieb: > Jetzt muss ich erstmal ANSI- Gattersymbole lernen. Naja, so arg viel zu lernen gibt es da auch wieder nicht :) Wenn du möchtest, kannst du natürlich auch in LTspice neue Symbole malen. Da es nur 4 Stück sind, ist das kein allzu großer Aufwand.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.