Forum: Mikrocontroller und Digitale Elektronik MC68331 Ram Initialisierung


von Peter M. (piet1974)


Lesenswert?

Hallo,
ich habe hier ein Platine mit einem NXP MC68331 und zwei Ram Bausteinen 
1Mx16 Bit. Ich würde gerne etwas herumexperimentieren und bräuchte Hilfe 
bei der Adressierung. Die Adress Leitungen der beiden RAM Bausteile sind 
alle Parallel geschaltet (A0 - A19). AM 68k geht A0 vom RAM auf ADDR1 
usw. bis A19 geht auf ADDR20. Die Write Enable sind auch parallel 
geschaltet. Die Output Enable sind nicht parallel geschaltet. Die Chip 
Enables sind parallel geschaltet.
Jetzt muss ich das RAM per BDM initialisieren.
Meine Idee war:
Adressbereich:
$0 - $FFFFF: Base Address $0007 (Block Size 1MB)
$100000 - $1FFFFF Base Address $1007
$200000 - $2FFFFF Base Address $2007
$300000 - $3FFFFF Base Address $3007

Nur irgendwie haut das nicht hin. Ich sehe per BDM nur 3MB statt der 4 
MB. Kann ein 68k Profi eventuell mir auf die Sprünge helfen?
Vielen Dank!
Gruß
Peter

von Volker B. (Firma: L-E-A) (vobs)


Lesenswert?

Peter M. schrieb:

> ich habe hier ein Platine mit einem NXP MC68331 und zwei Ram Bausteinen
> 1Mx16 Bit.

> Die Adress Leitungen der beiden RAM Bausteile sind
> alle Parallel geschaltet (A0 - A19).

Das ist m.E. sinnvoll.

> Die Write Enable sind auch parallel
> geschaltet.

Mal' doch bitte einen richtigen Schaltplan. Meinst Du mit diesem Roman, 
dass R/W von der MCU an beide /WE der RAMs geführt wird?

> Die Output Enable sind nicht parallel geschaltet. Die Chip
> Enables sind parallel geschaltet.

Das kann ich mir nicht vorstellen! Damit könnten beide RAMs nur 
gleichzeitig beschrieben werden.

> Jetzt muss ich das RAM per BDM initialisieren.

> Meine Idee war:
> Adressbereich:
> $0 - $FFFFF: Base Address $0007 (Block Size 1MB)
> $100000 - $1FFFFF Base Address $1007
> $200000 - $2FFFFF Base Address $2007
> $300000 - $3FFFFF Base Address $3007

Ja, dann mach' das doch! Das Handbuch sagt Dir auch welche Register wie 
zu beschreiben sind. Das ist auch via BDM möglich.

> Nur irgendwie haut das nicht hin. Ich sehe per BDM nur 3MB statt der 4
> MB.

Leider bin ich des Hellsehens nicht mächtig. Unfähig wie ich bin, 
bräuchte ich einen Schaltplan (in grafischer Form) und die Werte mit 
welchen Du die zu den RAMs gehörenden Chip-Select Pin Assignment 
Registers per BDM beschreibst.

Nachtrag: Auch die Bezeichnung des SRAMs wäre hilfreich. Da der 68331 
nur max. 1MByte Blöcke mit seinen intern erzeugten CS-Signalen 
adressieren kann, musst Du wohl oder übel zwei CS pro SRAM verwenden.

Welches MCU-Signal hast Du mit den OE der RAMs verbunden?

Grüßle,
Volker

: Bearbeitet durch User
von Irgend W. (Firma: egal) (irgendwer)


Lesenswert?

Peter M. schrieb:
> $0 - $FFFFF: Base Address $0007 (Block Size 1MB)
> $100000 - $1FFFFF Base Address $1007
> $200000 - $2FFFFF Base Address $2007
> $300000 - $3FFFFF Base Address $3007

Volker B. schrieb:
> Leider bin ich des Hellsehens nicht mächtig. Unfähig wie ich bin,
> bräuchte ich einen Schaltplan (in grafischer Form) und die Werte mit
> welchen Du die zu den RAMs gehörenden Chip-Select Pin Assignment
> Registers per BDM beschreibst.

Interessant wären auch noch die Adressen A20 bis A23 wie diese 
Konfiguriert sind.
Für den angenommenen Adressbereich müsste auch irgendwo ausgewertet 
werden das diese Null sind. Kann ich mir aber nicht so ganz vorstellen, 
zumindest bei den klassischen 68K liegt dort die Vektortabelle.

von Volker B. (Firma: L-E-A) (vobs)


Lesenswert?

Irgend W. schrieb:

> Interessant wären auch noch die Adressen A20 bis A23 wie diese
> Konfiguriert sind.

Der 68331 besitzt 11 konfigurierbare Chip-Select-Leitungen, siehe 
Handbuch, Abs. 4.8, Table 4-20.

> Für den angenommenen Adressbereich müsste auch irgendwo ausgewertet
> werden das diese Null sind.

Wie geschrieben, das macht die MCU.

> Kann ich mir aber nicht so ganz vorstellen,
> zumindest bei den klassischen 68K liegt dort die Vektortabelle.

Naja, der 331 bietet schon etwas mehr Komfort als der gute alte 68000.

Über /CSBOOT wird üblicherweise ein ROM selektiert, konfigurierbar über 
Pull-Down-Widerstände auf den Datenleitungen. Der ROM-Code muss dann das 
restliche System initialisieren. Wobei sich die CS-Leitungen intern auch 
mit anderen Signalen verknüpfen lassen, wie R/W, /LDS und /UDS.

Leider schreibt der TO nichts dazu -- bin gespannt, ob wir hier noch 
einen echten Hellseher haben, der Licht ins Dunkel bringt. :-)

Grüßle,
Volker

: Bearbeitet durch User
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.