Hallo liebe leute, MUSS man allgemein differentielle Clock (CK und _CK) Eingänge differentiell ansteuern oder kann man "_CK" unverbunden lassen und lediglich CK als clock verwenden? So auf anhieb hätt ich gesagt das das nicht geht, aber in diesem Datenblatt (http://pdf.datasheetcatalog.com/datasheet2/a/0sdtk0z2qlxyskuuggdecru21iky.pdf) auf Seite 9 steht bei _CK immer "X-dont care". Also kann ich den genauso ansteuern wie eine Single Ended Clock wenn ich will (ich würd nur paar MHZ haben also muss das nicht allzu störsicher sein)? lg und danke für eine kurze Antwort Rena
Vor N. schrieb: > Hallo liebe leute, > > MUSS man allgemein differentielle Clock (CK und _CK) Eingänge > differentiell ansteuern oder kann man "_CK" unverbunden lassen und > lediglich CK als clock verwenden? Niemals Eingänge offen lassen. Grundsätzlich nicht. Ausnahmen stehen im Datenblatt - dann sind Pull-Ups oder Pull-Downs eingebaut. Das kann hier aber nicht funktionieren, weil es ja differentielle Signalkomponenten sind, wo auf der Empfängerseite ein Komparator ist, der ausgibt, ob CK > _CK oder CK < _CK. CK=_CK ist ein ungültiger Zustand. Natürlich musst Du darauf achten, dass beide Signalkomponenten absolut synchron sind. Die Laufzeit eines Inverters ist da schon zu viel. Das geht so weit, dass die Leiterbahnlängen abgeglichen werden müssen. DDR DRAM Layout ist nur etwas für fortgeschrittene und erfordert zwingend ein Multilayer Board. Lies mal das hier: http://cache.freescale.com/files/32bit/doc/app_note/AN2582.pdf Und es ist auch kein Fehler, den offiziellen Standard zu kennen und verstanden zu haben: http://cs.ecs.baylor.edu/~maurer/CSI5338/JEDEC79R2.pdf (alte Version, mehr habe ich auf Google auf die Schnelle nicht gefunden) fchk
Vor N. schrieb: > _CK immer "X-dont care" Frank K. schrieb: > weil es ja differentielle Signalkomponenten > sind, wo auf der Empfängerseite ein Komparator ist, der ausgibt, ob CK > > _CK oder CK < _CK. CK=_CK ist ein ungültiger Zustand. Darum geht es hier. Ich würde sagen, wenn das DB von dem spezifischen RAM zu _CK "don care" sagt...
Marian B. schrieb: > Vor N. schrieb: >> _CK immer "X-dont care" > > Frank K. schrieb: >> weil es ja differentielle Signalkomponenten >> sind, wo auf der Empfängerseite ein Komparator ist, der ausgibt, ob CK > >> _CK oder CK < _CK. CK=_CK ist ein ungültiger Zustand. > > Darum geht es hier. Ich würde sagen, wenn das DB von dem spezifischen > RAM zu _CK "don care" sagt... sagt... dann probier ichs einfach mal aus. und lass mir sicherheitshalber noch einen 2ten pin frei den ich eventuell differentiell ansteuern kann. Ich bete einfach mal das es klappt wenn ich _CK auf masse leg. :D > DDR DRAM Layout ist nur etwas für fortgeschrittene und erfordert > zwingend ein Multilayer Board. Lies mal das hier: > http://cache.freescale.com/files/32bit/doc/app_not... Jop glaub ich dir. danke für den link. danke euch beiden.
Marian B. schrieb: > Ich würde sagen, wenn das DB von dem spezifischen > RAM zu _CK "don care" sagt... Dann haben schon mehrere Personen in diesem thread das Datenblatt nicht verstanden. Oder erst garnicht gelesen. > Seite 9 steht bei _CK immer "X-dont care". Nein steht dort nicht. Da steht für bestimmte Komandos, dass CKE (Clock Enable) nicht verwendet wird (don't care) bzw. nur das CKE aus dem vorhergehenden Zyklus "CKEn-1" relevant ist. Auch steht an zwei Stellen ganz klar drin, dass CK und _CK differentiel zu benutzen sind; _CK pin Beschreibung und Note1 zur el. Charakterisierung von CK/_CK.
Vor N. schrieb: > auf Seite 9 steht bei _CK immer "X-dont care". Also kann ich den genauso > ansteuern wie eine Single Ended Clock wenn ich will (ich würd nur paar > MHZ haben also muss das nicht allzu störsicher sein)? Wie schon von void geschrieben, die Tabelle wurde fehlinterpretiert. CK,/CK ist ein differentieller Takt. Was verstehst du unter ein paar MHz? DDR SDRAM haben eine Limite, der aus deinem Datenblatt spezifiziert 100MHz als minimum. Die erste Generation DDR SDRAM hat auch keine Terminierung eingebaut. Ich nehm an du hast den ausgewaehlt weil er im TSOP daherkommt und deshalb von Hand loetbar ist. Dann wuerde ich dir zu SDR SDRAM raten, die sind zum Basteln viel angenehmer. Cheers, Roger
Ein DDR in einer nicht zu komplexen Anwendung erfordert ein FPGA, haett ich gesagt. Das kann zumindest die noetigen Signale generieren.
Danke für die super Tipps. Ich werde einen SDR SDRAM verwenden, ist schlussfolgend klüger.
Und tue dir auch noch den Gefallen einen uC mit integriertem SDRAM Controller bzw. erprobten code für dein FPGA zu verwenden. Denn das Ansteuern eines SDRAM mit Port-getoggle (Bitbanging) durch einen uC ist performence-mäßig bestenfalls dürftig und für dein Verständnis auch nicht unbedingt lehrreicher.
Noch eine kleine Zusammenfassung für die Nachwelt: SDRAMs benötigen oft auch eine minimale Clock Geschwindigkeit. Z.b. dieses hier braucht 1MHZ mindestens Zusammen mit den benötigten RefreshCyclen ist das für die meisten PICS wohl zu schnell. Anstatt DDR RAM oder SDRAM sollte man in diesem Fall einen SRAM verwenden. Der braucht weder Refresh Zyklen noch eine Mindestfrequenz für die clock. Ausserdem ist die Ansteuerung extrem simpel im vergleich (Nachteil: viel teurer, aber da kommt man wohl nicht drum rum) http://users.ece.utexas.edu/~valvano/Datasheets/K1008CE.pdf
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.
