Hi, ich kann jetzt schlecht fragen wie schwierig der einstieg in die CPLD programmierung ist, zudem kommt es mir darauf garnicht an. Ich habe eine Logische/Digitale schaltung, und diese möchte ich ungern mit ttl ics aus der 74iger reihe aufbauen, so kam ich zu dem cpld. früher gabs mal gals und pals, und da sind auch noch die fpgas hinzu kommt die frage nach einem programmer und der software. xilinx hat da wohl etwas im angebot: 9572XL 72 makrozellen, wa auch immer man daraus schließen mag, -wie kann man abschätzen wieviel dort hinein geht? -gibts es einen einfachen programmer, der funktioniert und schnell lauffähig ist? -welche software genau muss es sein - ich las etwas von grafisch und von der möglichkeit das ganze in vhdl zu beschreiben. ich kenne vhdl nicht, gibts die möglichkeit eine art bibliothek der 74iger reihe auf das cpld zu laden und zu verdrahten... insgesamt erscheint mir das ganze immer etwas zu einfach beschrieben, wenn ich daran denke das allein die entwicklungsumgebung 800mb groß sein soll, gut - sollte mich nicht weiter stören bei dem festplattenplatz heut zu tage... tja, ich versuche nur abzuschätzen ob man mit mittelmäßigem aufwand, und mit kleinem budget (brenner und hardware) schnell ein kleines cpld programmieren kann...das ist meine frage... eventuell hat sich ja schonmal jemand von euch auch diese farge gestellt und etwas zusammengestellt... dank euch, m.
@ maddin (Gast) >Ich habe eine Logische/Digitale schaltung, und diese möchte ich ungern >mit ttl ics aus der 74iger reihe aufbauen, so kam ich zu dem cpld. Recht so, mein Sohn. >früher gabs mal gals und pals, und da sind auch noch die fpgas hinzu Vergiss die GALs und PALs. Zu teuer, zu klein, zu stromhungrig. >9572XL 72 makrozellen, wa auch immer man daraus schließen mag, >-wie kann man abschätzen wieviel dort hinein geht? Klar, wenn man sich damit auskennt. ;-) >-gibts es einen einfachen programmer, der funktioniert und schnell >lauffähig ist? Ja. http://www.geocities.com/jacquesmartini/digital/schematic/Parallel_Cable_III.png >-welche software genau muss es sein - ich las etwas von grafisch und von >der möglichkeit das ganze in vhdl zu beschreiben. Webpack von Xilinx. Wobei ich da eher die alte Version 6.3. empfehle. Kleiner und bugfreier. >ich kenne vhdl nicht, gibts die möglichkeit eine art bibliothek der >74iger reihe auf das cpld zu laden und zu verdrahten... Ist schon dabei. >tja, ich versuche nur abzuschätzen ob man mit mittelmäßigem aufwand, und >mit kleinem budget (brenner und hardware) schnell ein kleines cpld >programmieren kann...das ist meine frage... Kann man sehr gut. >eventuell hat sich ja schonmal jemand von euch auch diese farge gestellt >und etwas zusammengestellt... Man sehe sich die FPGA und CPLD Tutorials dieser Seite an. MFG Falk
...wow... dieses forum hatte ich glatt übersehen, jemand hat mich umgezogen... tja, wer lesen kann - ist klar im vorteil.. vieloen dank für die antwort bis jetzt..sehe mich mal nach der software um... mal sehen, was sich hier so ergibt.. wie sieht das eigentlich mit taktraten aus, sagen wir mal ich programmiere mir dort ein schiebe reg. rein, welche taktraten könnte ich beim 9572XL nutzen.... wovon hängt es u u ab.. evtl will ich eine große passive mux matrix realisieren, das heißt warscheinlich: 192bytes informationen müssen im cpld platz finden, naja, wäre nett wenn... und ich würde darauf muxen... in welchem cpld könnte ich also 192bytes ablegen, 192 compare einheiten anlegen (8bit) und auf 192 compare leitungen mit 24 - 1 aus 8 muxern auf den compare einheiten muxen. Zudem müsste ich die möglichkeit einbauen die 192bytes nach zu laden, über einen parallelen oder seriellen bus.. eventuell erfordert dies eine art ping pong buffering, also 384bytes... das cpld sollte also über 32i/o pins haben, am besten bei reichelt zu kaufen sein, leicht zu programmieren, und in einem handelbaren gehäuse PLCC o.ä. zu haben sein... gibts da was? m.
@ maddin (Gast) >wie sieht das eigentlich mit taktraten aus, sagen wir mal ich >programmiere mir dort ein schiebe reg. rein, welche taktraten könnte ich >beim 9572XL nutzen.... wovon hängt es u u ab.. 100MHz++. Ist relativ unabhängig vom Design. Erst wenn dein Design WIRKLICH komplex ist, und mehrere Stufen an Logik zwischen den Macrozellen benötigt werden, dann sinkt die maximale Taktrate. >evtl will ich eine große passive mux matrix realisieren, das heißt >warscheinlich: Was meinst du mit passiver MUX? Eine normale unidirektionale ist kein Problem. Aber bidirektionale ohne Richtungsumschaltung, so wie es mit Analogschaltern machbar ist, geht nicht. >192bytes informationen müssen im cpld platz finden, naja, wäre nett >wenn... und ich würde darauf muxen... 192 BYTES kannst du in einem CPLD vergessen! Das braucht auf jeden Fall ein FPGA. 192 Bits geht, braucht aber schon einen grossen CPLD mit 256 Macrozellen und mehr, Xilinx hat bis 512 Macrozellen. >in welchem cpld könnte ich also 192bytes ablegen, 192 compare einheiten >anlegen (8bit) und auf 192 compare leitungen mit 24 - 1 aus 8 muxern >auf den compare einheiten muxen. Zudem müsste ich die möglichkeit >einbauen die 192bytes nach zu laden, über einen parallelen oder >seriellen bus.. eventuell erfordert dies eine art ping pong buffering, >also 384bytes... Aha, das LED-Thema wieder. ;-) Du braucht für die 8x8x3 RGB-Matrix bestenfalls 24 PWMs. Aber auch dafür muss es schon ein relativ grosser CPLD sein. Ich hab mal 12 PWMs mit je 8 nichtlinaren Stufen in einen 72 Macrozellen-CPLD gepresst, incl. SPI. Aber wie gesagt, 192 BYTE kannst du mit JEDEM CPLD vergessen. Die Grössten haben 512 Macrozellen, d.h. du kannst maximal 512 BIT speichern. >das cpld sollte also über 32i/o pins haben, am besten bei reichelt zu >kaufen sein, leicht zu programmieren, und in einem handelbaren gehäuse >PLCC o.ä. zu haben sein... gibts da was? Ja, wie bereits gesagt die 95xxXL. Bei Reichelt. Unter GALs/PALs. MfG Falk
@ maddin (Gast) >Dateianhang: BlockSchaltungMatrix.JPG (39,3 KB, 3 Downloads) >hier mal ein kleines Bild: Kleiner Tip. Bildformate MFG Falk
jaja :-) das led thema, das wohl beliebteste unter den bastlern... ein anderer thread hat mich dazu angestiftet jetzt doch mal ein wenig nach zu forschen was denn jetzt wie schnell zu machen ist.. also: makrozelle gleich bit - ok - das ist doch schonmal was... tja, nur 24pwms - mann könnte sicher auch das muxing vor dem comperatoren machen, sozusagen immer jeweils 8 bytes auf einen comperator muxen, ich denke das problem bleibt weiterhin bestehen, ich bekomme die daten also nicht unter.... gibt es denn fpgas (leicht zu programmieren, grafisch, einfacher programmer - so wies scheint war dein posting für beides geeignet und im handelbarem gehäuse zu menschlichen kondtionen für privat leicht zu kaufen?) passive mux, damit meinte ich nur, das die matrix selbst keine wirkliche intelligenz besitzt, sie bekommt einen clock, und macht dann nur was im speicher steht... der speicher kann asynchron zum cklock überschrieben werden... so könnte man einen prozessor dahinter hängen der nur daten verteilen muss, die pwm und das gemuxe ist damit nicht weiter seine aufgabe... m.
@Falk (Gast) gab es etwas das du nicht erkennen konntest? gegentipp: mach die dinge nur so kompliziert wie nötig:-). m.
@ maddin (Gast) >also: makrozelle gleich bit - ok - das ist doch schonmal was... Ja, 1 FlipFlop + grosser Logikdekoder. >tja, nur 24pwms - mann könnte sicher auch das muxing vor dem >comperatoren machen, sozusagen immer jeweils 8 bytes auf einen >comperator muxen, ich denke das problem bleibt weiterhin bestehen, ich >bekomme die daten also nicht unter.... Ja, so direkt gehts nicht mit nem CPLD. Deshalb ja mein Vorschlag AVR+CPLD. Der CPLD macht 24xPWM, die vom AVR für jede LED-Zeile neu geladen werden muss. Oder du packst alles in ein FPGA. >gibt es denn fpgas (leicht zu programmieren, grafisch, einfacher >programmer - so wies scheint war dein posting für beides geeignet und im >handelbarem gehäuse zu menschlichen kondtionen für privat leicht zu >kaufen?) Naja, das mit dem Gehäuse ist ein Problem. Da gibts nur BGA oder QFP mit 0,5mm Pitch. Käuflich zu erwerben bei Reichelt zu brauchbaren Preisen. Aber FPGAs sind schon ein Stückchen aufwändiger, du brauchst noch Konfigurationsspeicher, mehrere Spannungen etc.. >passive mux, damit meinte ich nur, das die matrix selbst keine wirkliche Kein Problem. >gab es etwas das du nicht erkennen konntest? Nein, aber . . . >gegentipp: mach die dinge nur so kompliziert wie nötig:-). Was ist an der Generierung von PNG kompliziert? Ausserdem. "Was Hänschen nicht lernt, lernt Hans nimmer mehr." ;-) MfG Falk
:-)
tja falk,
nun dann habe ich einen avr und ein cpld auf meiner kleinen platine, ich
denke das hört sich menschlich an...
0,5mm pitch wäre zwar noch machbar mit der hand, mal sehen - wenns nicht
sein muss...
du sagt also, das die 24fach pwm mit einem cpld des genannten typs
möglich ist, und wenn ich recht verstehe hast du den ganzen kram schon
realisiert?
also, avr - cpld - spi dazwischen? anbindung an restsystem?
>>Was ist an der Generierung von PNG kompliziert? Ausserdem. "Was Hänschen
nicht lernt, lernt Hans nimmer mehr."<<
jap.
m.
@ maddin (Gast) >nun dann habe ich einen avr und ein cpld auf meiner kleinen platine, ich >denke das hört sich menschlich an... Nicht wahr. >du sagt also, das die 24fach pwm mit einem cpld des genannten typs >möglich ist, und wenn ich recht verstehe hast du den ganzen kram schon >realisiert? Bitte AUGEN AUF! Ich sagte 12 (ZWÖLF!) Kanäle mit je 8 nichtlinearen Stufen. Für 24 Kanäle müsstest du zwei CPLDs dieses Typs nehmen (9572XL). Oder einen doppelt so grossen CPLD. >also, avr - cpld - spi dazwischen? Ja, braucht drei Pins, SCK, MOSI, N_CS. > anbindung an restsystem? RS232? MFG Falk
au wei... wie ich befürchtet hatte 24 nichtlineare mit 256 stufen´... ist dann doch ein bissl viel... kannte mich mit cpld nicht aus - aber jetzt habe ich zu´mindest schon mal eine vorstellung was denn so mit72 makrozellen möglich bzw nicht möglihc ist... schönes we.. m.
Ich hab mal ein bisschen gerechnet und denke, ein Mega128 würde das auch noch schaffen. Zumindest bei 40Hz Multiplexfrequenz. 40Hz 8 Zeilen 256 Stufen = 81920HZ 16MHz / 81920Hz = 195 Takte je Zyklus Die reine (lineare) PWM braucht 5 Takte je Kanal -> 120 Takte, 40 Takte noch für Interrupt, Berechnung PWM-Zähler, Spalte und Ausgabe. In jedem Zyklus wird die Anzeige für 4 Takte zur Ausgabe der Spalteninformationen dunkelgetastet, die dadurch fehlenden 2% kann man sich bestimmt über die Treiber kompensieren. Aber das hat dann nichts mehr mit CPLD-Einstieg zu tun und müsste in ein anderes Unterforum ;) Schöne WE Jörg
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.