Schönen guten Morgen alle zusammen! Nach ewig dauernden Recherchen und Herumgewinde musste ich mich doch vom FGA400 – Gehäuse trennen und eine Alternative finden: Porterweiterung durch flottes Schieberegister. Nur wenige Stunden später hatte ich mich dann auch in dieses Modell verguckt: http://www.nxp.com/documents/data_sheet/74AHC_AHCT595.pdf ### Den Tristate umgehe ich durch „grundieren“ von _OE, korrekt? (Direkt nach dem Einschalten darf das ruhig vorkommen).(Vgl.: Beitrag "Shift-Register auch ohen Tri-State") ### Leider bin ich mir nicht ganz sicher, was SHCP und STCP bewirken. Stimmt folgendes: SHCP: Clock zum Durchshiften des „internen Registers“, ohne STCP wird das Signal nicht an die „Latch-Register“ weitergereicht ? STCP: Setzt alle Latch-Register auf den Zustand der „internen Register“, auf einen Schlag? (Das schließe ich zumindest aus dem Schaltplan des Datenblatts) Wenn ich da falsch liege, korrigiert mich bitte. Nun zur Geschwindigkeit: Das Modell ist so ziemlich das schnellste, was ich finden konnte ... aber wie schnell ist es denn jetzt wirklich? Im Datenblatt habe ich gesehen, dass f_max bei 3.3V typischerweise mit 125MHz Clocktakt (?) betrieben werden kann? Bei 4-5V sogar 170MHz. Meine Kiste FPGA (Xilinx Spartan XC3S400-5TQG144C) läuft auf 3.3V Ausgangsspannung bei 168MHz. ### Läuft das Shiftregister auch mit dieser Hertz-Zahl und 3.3V korrekt, oder muss ich den Takt „zerteilen“ ? Wie lange braucht ein Byte, um am Register-Ausgang vollständig anzuliegen: ### 168 /(8 + 1) => ca. 18 MHz (Rechnung okay?) Die Fragen/ Unklarheiten habe ich mit ### gekennzeichnet.
KräuseLot schrieb: > http://www.nxp.com/documents/data_sheet/74AHC_AHCT595.pdf > > ### Den Tristate umgehe ich durch „grundieren“ von _OE, korrekt? Ja > ### Leider bin ich mir nicht ganz sicher, was SHCP und STCP bewirken. > Stimmt folgendes: stimmt > Im Datenblatt habe ich gesehen, dass f_max bei 3.3V typischerweise mit > 125MHz Clocktakt (?) betrieben werden kann? > Bei 4-5V sogar 170MHz. > > Meine Kiste FPGA (Xilinx Spartan XC3S400-5TQG144C) läuft auf 3.3V > Ausgangsspannung bei 168MHz. > > ### Läuft das Shiftregister auch mit dieser Hertz-Zahl und 3.3V korrekt, > oder muss ich den Takt „zerteilen“ ? Wie schnell deine Kiste läuft interessiert den 595 nicht. Der interessiert sich nur dafür, wie schnell die Pulse sind, die du ihm an den SHCP und STCP Eingängen anbietest. Und ich schätze mal, dass deine Kiste es auch nicht schafft innerhalb eines Zykluses ein Datenbit anzulegen und danach einen SHCP-Puls von Low auf High und wieder zurück zu schalten. > > Wie lange braucht ein Byte, um am Register-Ausgang vollständig > anzuliegen: > > ### 168 /(8 + 1) => ca. 18 MHz (Rechnung okay?) prinzipiell fast ok. Nur die 168Mhz werden nicht stimmen. Du hast ja auch Verwaltungsaufwand (8-er Schleife, Bit extrahieren, Bit auf Datenleitung, SHCP Puls nachschieben), oder kann deine Kiste in Hardware 8 Bits raustakten?
@ KräuseLot (Gast) >### Den Tristate umgehe ich durch „grundieren“ von _OE, korrekt? Ja. >SHCP: Clock zum Durchshiften des „internen Registers“, ohne STCP wird >das Signal nicht an die „Latch-Register“ weitergereicht ? Ja, nennt der Fachmann auch Daten schieben. >STCP: Setzt alle Latch-Register auf den Zustand der „internen >Register“, auf einen Schlag? ja, nennt der Fachman auch speichern oder übernehmen. >Im Datenblatt habe ich gesehen, dass f_max bei 3.3V typischerweise mit >125MHz Clocktakt (?) betrieben werden kann? Naja, ist halt eine moderne Familie, könnte schon passen. >Bei 4-5V sogar 170MHz. >Meine Kiste FPGA (Xilinx Spartan XC3S400-5TQG144C) läuft auf 3.3V >Ausgangsspannung bei 168MHz. Spannung mit 168MHz? Eher nicht. >### Läuft das Shiftregister auch mit dieser Hertz-Zahl und 3.3V korrekt, >oder muss ich den Takt „zerteilen“ ? 168MHz ist nicht zuverlässig möglich. >Wie lange braucht ein Byte, um am Register-Ausgang vollständig >anzuliegen: Einen Takt an STCP. >### 168 /(8 + 1) => ca. 18 MHz (Rechnung okay?) Im Prinzip ja. MFG Falk
@ Karl Heinz Buchegger (kbuchegg) (Moderator) >> ### Läuft das Shiftregister auch mit dieser Hertz-Zahl und 3.3V korrekt, >> oder muss ich den Takt „zerteilen“ ? >Wie schnell deine Kiste läuft interessiert den 595 nicht. Und ob, denn die Kist macht ja den Takt. > Der >interessiert sich nur dafür, wie schnell die Pulse sind, die du ihm an >den SHCP und STCP Eingängen anbietest. Ja eben. > Und ich schätze mal, dass deine >Kiste es auch nicht schafft innerhalb eines Zykluses ein Datenbit >anzulegen und danach einen SHCP-Puls von Low auf High und wieder zurück >zu schalten. Irrtum, es ist ein FPGA und kein gemütlicher AVR. So ein FPGA kann noch viel mehr, wenn man weiß was man tut. >Du hast ja auch Verwaltungsaufwand (8-er Schleife, Bit extrahieren, Bit >auf Datenleitung, SHCP Puls nachschieben), oder kann deine Kiste in >Hardware 8 Bits raustakten? FPGA! Echte Hardware. SAUSCHNELL! MFG Falk
KräuseLot schrieb: > Porterweiterung durch flottes Schieberegister. Hm, also wenn evtl. noch Reserven vorhanden sein sollen, warum nimmst Du nicht gleich noch einen FPGA wie z.B. XC3S50AN? Der ist auf jeden Fall schnell genug und Du kannst selbst bestimmen was er darstellen soll. Oder ist das eine Preisfrage?
"Moin" Leuts! Sorry, dass ich mich erst jetzt für Eure flotten Antworten bedanken kann, doch ich habe seit meinem ersten Post VHDL getüftelt (6 Stunden Schlaf und eine Pizza waren auch noch drin). Scheinbar habe ich das Datenblatt doch nicht ganz fehlinterpretiert. Dennoch werde ich das Shift-Register auf 56MHz betreiben, um den Inhalt mit Sicherheit setzen/schalten zu können und keine Zustände zu bekommen (ich und das Shift-Register). Ich benötige insgesamt 256 Pins (reine Ausgänge), was sogar schon beim FBGA400-Gehäuse nicht ganz geklappt hätte. Bei 4 FPGAS XC3S50 á ~7€ und das ganze x Mal steigen die Kosten doch zu sehr. Nochmals Danke für Eure Mühen, ich Schlaf jetzt mal weiter über meinem ISE :)
Wenn viele und SCHNELLE Ausgänge braucht nimmt man eher Latches ala 74xx373, angesteuert mit 8/16/32 Bit Bus. MFG Falk
Das ist mir auch noch nicht untergekommen, dass FPGA-Gehäuse gekürzt werden. Normalerweilse wird doch Logik eher absorbiert, z.B. S3A50 oder ähnliche Billigviecher.
Warum nimmst du nicht einen kleinen XC9536XL/XC9572XL als Erweiterung. Ist flexible konfigurierbar und ebenfalls 5V-tolerant. Falls du DIP-Gehäuse brauchst: Bei Ebay gibts 36er mit 40erDIP ab 8 Euro inkl. Quarz..
@ Bert (Gast) >Warum nimmst du nicht einen kleinen XC9536XL/XC9572XL >als Erweiterung. Ist flexible konfigurierbar und >ebenfalls 5V-tolerant. >Falls du DIP-Gehäuse brauchst: Bei Ebay gibts 36er >mit 40erDIP ab 8 Euro inkl. Quarz.. Seit wann gibt es CPLDs von Xilinx in DIP? Und mit Quarz? Kaum.
@Falk Brunner bissl Hirn anschalten und mal nachschauen. Dann findest du den Chip sitzend auf einer Adapterkarte.
Ich schon. Allerdings zZ für 12-13Euro, meine Angabe bezog sich auf ein abgelaufenes Angebot (Sorry). In den letzten Wochen waren aber einige für 7-9Euro (Portofrei!) dabei. Davor zogen die Preise sehr stark an, weil die Dinger glaube ich als Mods für die XBox360 verwendet wurden.
Das kommt mir schon recht merkwürdig vor, nen FPGA programmieren, aber an nem simplen Schieberegister scheitern. Sind die Grundlagenkenntnisse heutzutage wirklich fast Null? Das Datenblatt ist doch vollkommen eindeutig, wie die Abfolge zu sein hat, also wo ist das Problem? Und die Timings stehen auch alle drin, HC schafft typisch 20MHz problemlos. Für mehr muß man nicht nur die Timings einhalten, sondern auch auf das Platinenlayout achten, vieleicht sogar Dämpfungs- und Abschlußwiderstände vorsehen. Ich hab noch den ganzen Urschleim gelernt und verstanden. Ich hab irgendwo noch ne Zählerkarte rumliegen 1:10 mit nur 8 Transistoren und die hat sogar funktioniert (max 1MHz). Peter
@Peter Ja, Du hast recht: Ich bin tatsächlich neu auf diesem Gebiet und besitze dennoch die Unverschämtheit, mich nicht dafür zu schämen. Die Funktionsweise des Schieberegisters war mir schon klar, dennoch war ich mir nicht sicher, ob ich nicht etwas vergessen/ übersehen hatte. Die maximale Frequenz war ja offen gelassen. Vielleicht hätte man diesen ja durch einen Trick auch schneller betreiben können. Ich habe in anderen Datenblättern die Frequenz in Abhängigkeit unterschiedlicher Kapazitäten (pF) gesehen. Das bezieht sich sicherlich auf die Kapazität der Leitungen vor dem Bauteil, ### richtig? ### Du sprichst von Widerständen bei Frequenzen >20MHz. Da ich genau in diesem Bereich arbeiten möchten, worauf sollte ich dabei achten? @Bert Wozu immer dieses Brustgetrommel von wegen "Hirn anschalten" etc.? Können wir uns nicht darauf einigen, dass wir alle nicht dumm sind? Grusz, Euer Semi-Anfänger KräuseLot
KräuseLot schrieb: > Ja, Du hast recht: Ich bin tatsächlich neu auf diesem Gebiet Angefangen hat jeder mal. Ich hab noch mit TTL gebastelt, 7400, 7474, 74193, das war schon ein gewaltiger Fortschritt gegenüber Transistorlogik. FPGAs waren nicht erfunden, nur von ASICs hatte man was gehört (nicht verfügbar für normal Sterbliche). Man muß natürlich nicht ganz von vorne anfangen. Aber ich denke, das Verständnis von Logik-ICs könnte schon hilfreich sein, beim Arbeiten mit FPGAs. Genauso, wie Assembler-Kenntnis hilfreich ist bei der (effizienten) C-Programmierung. An die Grenzen würde ich nicht gleich gehen, d.h. den HC595 erstmal mit max 10MHz ansteuern. Peter
@ Peter Aha ... verstehe ... Aber was genau meinst Du mit Verständnis von Logik-ICs? Was habe ich denn noch nicht verstanden? Wo finde ich in Deiner Ausführung die Antworten auf meine Fragen? Wie hilft das mir und den Mitlesern dieses Beitrags?
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.