Hallo,
ich muss einfache Gatter ersetzen und habe da ein paar Probleme.
Zu den Gattern:
Ich habe 4 Eingangssignale und 3 Ausgangssignale.
Ein Eingang wird invertiert zu einem Ausgang.
Aus den restlichen Eingängen muss ich mit RS-Flipfops die beiden anderen
Ausgänge bauen.
Das ganze ist mit ca.22MHz auch nicht besonders flott, aber einen Takt
habe ich nicht. Muss alles mit 3,3Volt laufen.
So nun habe ich bei Reichelt mir die ganzen 74XX Bauteile angesehen und
komme irgendwie immer auf Teile die nicht mit 3V3 arbeiten.
Also habe ich mir überlegt das man das wohl besser mit einem CPLD machen
sollte.
Als Typen sollten mir "XC 9536XL VQ44", "M4A3 32/32-10VNC" oder
"LC4032V-75TN44C" reichen.
SO nur was braucht man alles dafür?
Sollte nicht besonders Teuer sein!
Dirk
Dirk schrieb:> Das ganze ist mit ca.22MHz auch nicht besonders flott, aber einen Takt> habe ich nicht. Muss alles mit 3,3Volt laufen.
Die alten TTLs sind wirklich nicht für 3,3V gebaut. Die dazu kompatiblen
74xCT auch nicht. Aber jeder andere 74xC Kram ist normalerweise dazu in
der Lage.
Reichelt ist aber auch nicht das Mass der Dinge. So sind beispielsweise
Darisus und TME deutlich besser bestückt.
Hallo Dirk,
wenn Du den Einarbeitungsaufwand nicht scheust, dann kann ich die PSoC4-
Controller empfehlen. Da hast Du einen ganzen Werkzeugkasten voll
digitaler (und analoger) Baugruppen. Stichwort CY8CKIT-049-42XX. Die
Baugruppen laufen auch ohne ein Programm des Controllers. Verdrahtung
erfolgt im Chip.
Beitrag "Schon mal jemand das CY8CKIT-049 4200 in der Hand gehabt?"
Ich tendiere auch mehr zu den VHC & LVX Typen, die machen 3v3.
Aber auch mit diesen Angeboten Typen komme ich Preislich immer auch auf
ca. 2Euro. Aber habe deutlich mehr Platz verbraucht und darf die
ca.22MHz kreuz und quer durch die Teile jagen.
Diese CPLD Typen wären da wirklich eine gute Alternative, wenn ich mich
damit auskennen würde.
Aber das kann ja nicht SO schwer sein, wenn man mir zum einstieg etwas
beratend hilft.
Die PSoC4 Controller sind garantiert nicht schlecht.
Aber ich habe schon 2 STM32F4 Typen drauf und muss jetzt nur noch etwas
"TTL" Kleinkram dran bauen.
Dirk schrieb:> Aber auch mit diesen Angeboten Typen komme ich Preislich immer auch auf> ca. 2Euro.
Wenn der Preis eine grosse Rolle spielt, und das keine grössere Serie
ist...
> Diese CPLD Typen wären da wirklich eine gute Alternative, wenn ich mich> damit auskennen würde.
...dann solltest du den Kostenaufwand des für die Programmierung
erforderlichen Krams mit einrechnen. Vom Knowhow-Aufwand ganz abgesehen.
Da hast Du mich etwas falsch verstanden.
Im Einkauft ist es einfach egal ob ich 6 74XXX oder 1 CPLD nehme.
Macht alles immer ca. 2 Euro.
Nur ich will den Aufwand!
Brauche da nur etwas Starthilfe.
Nachher beim umsetzen brauche ich weniger Hilfe, hatte vor vielen Jahren
mit dem alten 22V16 viel gemacht.
@ Dirk (Gast)
>Nur ich will den Aufwand!>Brauche da nur etwas Starthilfe.>Nachher beim umsetzen brauche ich weniger Hilfe, hatte vor vielen Jahren>mit dem alten 22V16 viel gemacht.
Na das klingt doch gut. Lad dir das aktuelle Xilinx Webpack runter,
viiiiiel GB! Installieren, los.
Ein Programmierklabel brauchst du dazu, gibt es für einen brauchbaren
Preis bei Ebay.
http://www.ebay.de/itm/Xilinx-Platform-USB-Download-Cable-Jtag-Programmer-for-FPGA-CPLD-C-Mod-NEW-/171008779562?pt=Wissenschaftliche_Ger%C3%A4te&hash=item27d0eae52a
Damit kann man fast alle Xilinxe programmieren.
Um 6 TTL-Ics zu ersetzen reicht ein kleiner CPLD mit 32 Macrozellen
locker!
XC 9536XL VQ44 reicht.
Beschreiben kannst du deine Logik mit VHDL, Verilog oder graphischer
Eingabe.
Viel Spaß.
Dirk schrieb:> So nun habe ich bei Reichelt mir die ganzen 74XX Bauteile angesehen und> komme irgendwie immer auf Teile die nicht mit 3V3 arbeiten.
Auch andere Mütter haben schöne Töchter...
Ich würde da erst mal bei Kandidaten wie Farnell, Mouser und Digikey
nach LV (Low Voltage) TTL suchen.
Und die Lösung mit TTL Bausteinen wird in diesem simplen Fall hier
garantiert billiger. Denn die TTL ICs werden sicher unter 2 Euro
liegen, das CPLD genauso sicher deutlich drüber...
Aber wenn du es unbedingt willst, dann fang gleich mit einer HDL an.
Ich habe es wirklich durchgerechnet und ich komme auf eine
Preisdifferenz von 10Cent zugunsten der 74XX.
Aber ich brauche mehr Platz und was ich schon sagte 22MHz über viele
Steilfankige Bauteile ist nicht besonder klug (Störsender).
Was auch für den CPLD spricht ist das ich hier einfacher was Ändern
kann wenn ich merke das ich was vergessen habe. BZW lege ich einfach
etliche Pins da noch drauf ohne das die jetzt gebraucht werden.
Um ganz ehrlich zu sein wollte ich zu erst einen XMOS Prozessor dafür
nehmen.
Und der kostet so ca. 10Euro, dafür hätte ich aber auch alle Tools hier
liegen.
Das Xilinx Webpack mir 1,5GB geht doch, wenn meine Platte da noch mit
macht.
Der Brenner ist jetzt auch nicht überteuert, ist so gut wie gekauft
Dann bestelle ich mir mal ein paar CPLDs und werfe den Download an.
Mal sehen vielleicht brenne ich den CLPD vom M4 aus dann kann ich sogar
später ein einfaches Ethernet Update machen. Für die Entwicklung benutzt
ich logischerweise den Brenner.
Danke Dirk
Den Brenner brauche ich womöglich gar nicht kaufen.
Ich habe eine breite Auswahl an JTAG Brenner (J-LINK, Amontec JTAGkey,
Olimex USB-JTAG adapter, ftdijtag, USBPROG3.0, ...) halt alles was man
so braucht.
Jetzt muss nur noch einer davon mit der IDE oder CMD/DOS arbeiten.
Nimm zwei single gate Bauteile 74AHCTxx. Für das RS-FF nimmst due ein
xx74 D-FF mit set und reset Eingang.
http://www.nxp.com/parametrics/group/12607/#/p=1,s=0,f=,c=,rpp=,fs=0,sc=,so=,es=
Dagegen kannst du vom Aufwand her jedes CPLD vergessen. Vergiss nicht
beim CPLD kommen eine Menge Dokumentations- und Archivierungsaufwand
hinzu damit man das auch nach x Jahren noch ersetzen kann, wenn es
abgekündigt wird Die CPLDs sind übrigens auch richtige Stromfresser. Da
kann es schnell notwendig werden einen "dickeren" Spannungsregler zu
wählen.
@ Dirk (Gast)
>Den Brenner brauche ich womöglich gar nicht kaufen.
naja.
>Ich habe eine breite Auswahl an JTAG Brenner (J-LINK, Amontec JTAGkey,>Olimex USB-JTAG adapter, ftdijtag, USBPROG3.0, ...) halt alles was man>so braucht.
Schön, das Problem ist nur, dass man es bis heute NICHT geschafft hat,
eine einheitliche Lib für den Low Level JTAG Zugriff zu schaffen. Denn
die unterste Ebene von JTAG ist bei allen ICs gleich, nur die höheren
Protokollschichten sind verschieden.
>Jetzt muss nur noch einer davon mit der IDE oder CMD/DOS arbeiten.
Eben, das ist das Problem!
Wegen 30 Euro lohnt sich kein tagelanges Rumgebastel!
Das kleine Programm xc3sprog soll mit den meisten meiner Debugger
arbeiten und auch mit dem Xilinx XC95X.
Wie schon gesagt sind 1,8 Euro nicht wirklich viel, würde auch das
3-fache zahlen.
Klar wenn ich die Teile auf der Rolle (1000-5000) kaufe und nicht im 25
Pack dann ist das einzel Zeug billiger. Der Xilinx würde aber auch bei
1000 Stück nicht mehr viel kosten.
Aber es geht nicht wirklich um den Preis, sondern um Platz, EMV und
Änderbarkeit.
Wenn ich jemals die Stückzahl von 100 Stück überschreite dann ist sogar
der Aufwand umgerechnet nur noch Kleinkram.
Mir schadet es außerdem nicht mal wieder was zu lernen.
Dirk schrieb:> Aber es geht nicht wirklich um den Preis, sondern um Platz, EMV und> Änderbarkeit.
Platz, ne ne, die Single Gate Logik gibt es im fliegenschiess Gehäuse,
der XC 9536XL VQ44 braucht 12x12 mm, ohne drumrum wie z.B. Anschluss für
den JTAG Programmer.
Ich glaube auch nicht dass er besser im EMV dasteht.
Änderbarkeit ist ein Argument, ob es bei deinen 3 Signalen wirklich
notwendig ist, muss du wissen.
> Wenn ich jemals die Stückzahl von 100 Stück überschreite dann ist sogar> der Aufwand umgerechnet nur noch Kleinkram.
Du hast auch noch Aufwand bei der Produktion.
>> Mir schadet es außerdem nicht mal wieder was zu lernen.
Das schadet nie, man muss allerdings Hinterfragen was man beim Schiessen
mit Kanonen auf Spatzen wirklich lernt.
Schau dir den LCMXO2-256HC-4SG32C als Alternative zu dem XC 9536XL VQ44
an.
Braucht nur ca 5x5 mm, ist auch mit I2C programmierbar, was leichter als
JTAG in die Applikation zu intergrieren ist, vor allem wenn man ohnehin
schon I2C hat.
Die Lattice Software unterstützt FTDI2232H basierende Programmer.
Ich habe den Eindruck Dirk geht hier gar nicht um eine wirtschaftliche
Lösung sondern Dirk will ein CPLD programmieren.
Dann sollte man aber das auch gleich sagen und hier nicht um die 2€
diskutieren.
Nachhaltigkeit und Änderungsmöglichkeit sind da die besseren Argumente
als Billig.
Ich habe auch nie gesagt das es um den Preis geht, sonder immer nur das
beide Lösungen in etwa das selbe kosten.
Der FPGA sieht auf dem 1. Blick recht brauchbar aus. Klein ist er auf
jeden Fall und Preislich sind wir Oh wunder wieder bei ca. 2Euro. Werde
ich mir heute Abend mal durchlesen.
Das die Single Gate Logik sehr klein sind und nicht mit den normalen
Typen vergleichbar sind habe ich auch gesehen.
Nun Ihr habt mir etliche Möglichkeiten gezeigt und jetzt muss ich wohl
entscheiden was besser passt.
Dirk schrieb:> sonder immer nur das beide Lösungen in etwa das selbe kosten.
Das glaube ich noch immer nicht. Ich hin normalerweise derjenige, der
sofort ein FPGA nimmt, aber genau hier ist die "flexiblere" CPLD-Lösung
der diskreten TTL-Lösung vermutlich in allen relevanten Belangen
unterlegen...
Falk Brunner schrieb:> Mensch Lothar, nun lass ihn doch ein bisschen mit dem CPLD spielen.> Effizienz ist nicht alles.
Du bekommst die Aufgabe ihm bei der Implementierung eines robusten R&S
Flipflops auf einem FPGA/CPLD zu helfen.
Evil Grin.
Hi,
nach etwas lesen (bin noch nicht ganz durch) und nochmaligen ausgiebigen
simulieren meiner Schaltung habe ich mich tatsächlich für diesen FPGA
entschieden oder den mit mehr Pins. Freue mich schon aufs löten.
Ich habe zwar noch nicht zu 100% kapiert wie der von mir den Code per
I2C oder SPI bekommt aber das richtige Dokument oder C-Code dafür finde
ich hoffentlich auch bald.
Meine Entscheidung für einen FPGA war jetzt nicht nur der Preis oder die
Fläche sonder auch die Update Möglichkeit und die flexible
Konfiguration.
Ich habe, wie schon gesagt, meine Logik noch mal überarbeitet.
Dabei habe ich dank FPGA deutlich bessere Möglichkeiten meine Signale zu
generieren. Benutzte nun auch einen Counter, 18 INV, 15 AND, 12 OR und
6 D-Flipflops mehr als im ersten Ansatz. Will ich aber noch mal
überarbeiten ist mir etwas zu viel geworden (Laufzeit). Lasse jetzt auch
noch etwas mehr Leitungen da durch laufen.
Das Hauptproblem ist nicht eine einfache Umsetzung der Signale sondern
das ich auf Fehler im den Eingangssignale reagieren muss und die M4
Schnittstellen (SPI) das nicht ohne hilfs Signale mitbekommen und
fehlerhafte Daten einlesen würden.
Dirk
Dirk schrieb:> Benutzte nun auch einen Counter, 18 INV, 15 AND, 12 OR
Dir ist schon klar, dass es diese Bausteine im FPGA nicht gibt? Da drin
gibt es (neben "fertiger" Hardware wie RAM und Taktmanagern) zur freien
Verfügung nur LUT und D-FF...
> Benutzte nun auch einen Counter
Sieht nach Glatteis aus. Womit wird der getaktet?
Da ich jetzt alle Signale und nicht nur die Steuersignale nehme habe ich
auch einen Takt. Solange die Internen Zellen reichen, was ich noch
prüfen muss, sollte ein Counter doch nicht so schwer sein zu bauen. Und
wenn es nicht passt dann wird halt Lösung 1 wieder genommen oder eine
abgespeckte Variante ohne Counter. Irgendwie wird eine Lösung meines
Problems da schon rein passen. Wenn es ganz schlimm kommt dann muss halt
der nächst größere drauf.
Ich finde aber ums verrecken nicht wie der FPGA über I2C hochfährt.
Die Pins zum Boot Auswahl habe ich aber ab da ist Dokumentationsebbe.
Dirk schrieb:> diesen FPGA
"Diesen" Array oder "dieses" Array?
Dirk schrieb:> der FPGA
"Der" Array oder "das" Array?
> wie der FPGA über I2C hochfährt.
Vorneweg: welches FPGA meinst du denn konkret?
Ich vermute aber, dass das FPGA gar nicht vom I2C booten kann, sondern
dass bestenfalls das interne Flash über die I2C Schnittstelle gebrannt,
und dann vom internen Flash gebootet wird.
Lothar Miller schrieb:>> Ich vermute aber, dass das FPGA gar nicht vom I2C booten kann, sondern> dass bestenfalls das interne Flash über die I2C Schnittstelle gebrannt,> und dann vom internen Flash gebootet wird.
Ich bin sicher es ist vom MachXO2 die Rede,
Das ist so, und gilt auch für Slave SPI.
Nur im JTAG Mode kann man den MachXO2 ohne den Umweg über den internen
Flash laden. Ist aber IMO keine Einschränkung, es sei denn man macht den
Fehler den I2C Config zu disablen.
@Dirk
Wenn du die MachXO2 Variante weiter verfolgen willst, beschaff dir ein
XO2 Breakout Board zum spielen und damit vertraut machen.
http://www.mouser.de/new/Lattice-Semiconductor/lattice-machxo2-breakoutboard/
Entschuldigung.
Da mir hier der LCMXO2-256HC-4SG32C also ein MachXO2 empfohlen wurde,
habe ich auch von genau diesem FPGA gesprochen.
Wenn ich das richtig verstanden habe dann kann der über I2C booten, aber
wenn ich den nur darüber flashen kann ist auch nicht schlimm. Hauptsache
ich kann den, wenn ich es brauche, mal ein Update verpassen. Wobei mir
ein Booten logischerweise besser gefallen würde. Ansonsten: JTAG spielen
wäre ja nicht so kompliziert.
Ein Demoboard und eine Handvoll Muster ist schon bestellt.
Bin dann mal gespannt wie ich damit zurecht komme.
Bastel schon mit der Designer Software meine Anwendung.
Dir