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.
:
Bearbeitet durch User
@ 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!
Helmut S. schrieb: > Nimm zwei single gate Bauteile 74AHCTxx. Bei 3,3V vielleicht doch lieber ohne "T".
A. K. schrieb: > Helmut S. schrieb: >> Nimm zwei single gate Bauteile 74AHCTxx. > > Bei 3,3V vielleicht doch lieber ohne "T". Oder die 74LVC, oder NC7W von Fairchild .... Auch preislich sind Einzelgatter für diesen einfache Anwendung auch kaum zu schlagen, Ein D-FF liegt z.B. im unteren 2 stelligen €-Cent Bereich. http://www.mouser.de/Search/Refine.aspx?Keyword=74LVC1G74 Ein Inverter kostet auf der Rolle ganze 0.074 € http://www.mouser.de/Search/Refine.aspx?Keyword=74LVC1G74
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?
:
Bearbeitet durch Moderator
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
Den C Code zum I2C brennen habe ich gerade gefunden. Muss den jetzt nur anpassen.
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.