Forum: Mikrocontroller und Digitale Elektronik differentielle clock RAM


von Vor N. (Gast)


Angehängte Dateien:

Lesenswert?

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

von Frank K. (fchk)


Lesenswert?

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

von Marian (phiarc) Benutzerseite


Lesenswert?

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

von Vor N. (Gast)


Lesenswert?

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.

von void (Gast)


Lesenswert?

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.

von Roger S. (edge)


Lesenswert?

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

von торфкопф (Gast)


Lesenswert?

Ein DDR in einer nicht zu komplexen Anwendung erfordert ein FPGA, haett 
ich gesagt. Das kann zumindest die noetigen Signale generieren.

von Vor N. (Gast)


Lesenswert?

Danke für die super Tipps.

Ich werde einen SDR SDRAM verwenden, ist schlussfolgend klüger.

von void (Gast)


Lesenswert?

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.

von Vor N. (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.