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
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.
@ 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