Forum: Mikrocontroller und Digitale Elektronik ATxMega LCD über EBI


von Hannes (Gast)


Lesenswert?

Hallo ich hätte eine Frage !

in der doku des avr´s steht

The External Bus Interface (EBI) is the interface for connecting 
external peripheral and memory
to the data memory space. The XMEGA A1 has 3 ports that can be used for 
the EBI. It can inter-
face external SRAM, SDRAM, and/or peripherals such as LCD displays and 
other memory
mapped devices.

heisst es das man hier das lcd display direkt an die schnittstelle 
anbinden kann ohne einen controller zb den T6963C

mfg
hannes

von holger (Gast)


Lesenswert?

>heisst es das man hier das lcd display direkt an die schnittstelle
>anbinden kann ohne einen controller zb den T6963C

Da hast du wohl sehr viel noch nicht verstanden.
Lesen und schreiben solltest du auch noch mal üben.
Such mal nach Memory Mapped.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

An das EBI kann man alle die Dinge anschließen, die sich wie SRAM oder 
SDRAM verhalten. Die also über (bidirektionale) bustaugliche 
Datenleitungen, Adressleitungen oder ChipSelects und 
Read/Write/OutputEnable Steuerleitungen verfügen und gewisse Timings 
beherrschen.

von Helmut R. (heru01)


Lesenswert?

Hallo TravelRec,

die Frage auch an Dich: hast Du schon mal EBI benutzt?
Ich weiss Du programmierst in ASM, von den Registern her ändert das aber 
nicht viel... :-)

EBI hat bei mir ein 'komisches Verhalten' (Adresse stimmt net (?), Chip 
generiert Axx Signale nicht); CS, WR, AD0..AD7 werden generiert.
Ich habe zum Thema XMega und EBi schon einen anderen Thread; will auch 
nicht mehrere aufmachen (äußerst unfein; zum Thema passt's aber - auch 
wenn ich kein LCD hab) - würde mich aber sehr über eine kurze Antwort 
freuen.

Hast Du ein Codeschnipsel für SRAM (ausser die Atmel Appnote) bei dem 
alles funktioniert? (gerne auch in Asm)
Ich habe viele Kommentare bezügl. EBI gelesen - z. B. dass es nicht 
funktionieren soll, etc. (Forum AVRFreaks) - die allgemeine Verwirrung 
ist gross.
Gut: 4 Port EBI ist ein Witz; in der Doku vorhanden, beim größten Chip 
nicht eingebaut?? 3 Port LPC SRAM Zugriff mit 8 Bit funktioniert aber 
hoffentlich...

Gruß
Helmut

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Ja, 3-Port LPC SRAM mit 2 Latches (eigentlich 2-PortLPC) habe ich an 
meinem SD-Karten Rekorder verwendet. Läuft einwandfrei. Die ALE-Signale 
werden im übrigen nur ausgegeben, wenn man die DDRx-Register und 
PORTx-Register passend setzt.
Beispiele folgen.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

;Control port for external SRAM
 ldi  Temp, 0b00111111
 sts  PORTH_DIR, Temp
 ldi  Temp, 0b00101111
 sts  PortH_Out, Temp

Anschluß:
H0: /WR
H1: /RD
H2: ALE1
H3: ALE2
H4: A16
H5: /CS


;Setup EBI
 ldi  Temp, 0b00100011  ;Data+Address multiplexed LPC, 2Port
 sts  EBI_CTRL, Temp
 ldi  Temp, 0b00100110  ;Address space 128kByte
 sts  EBI_CS1_CTRLA, Temp
 ldi  Temp, 0b00000000  ;WaitStates in CLKper cycles
 sts  EBI_CS1_CTRLB, Temp

von Helmut R. (heru01)


Lesenswert?

Hallo TravelRec,

vielen Dank!

Muss ich gleich mal ausprobieren...

Gruß
Helmut

von Helmut R. (heru01)


Lesenswert?

Hallo TravelRec,

also entweder hat der Chip einen Hau weg (oder ich???)
Also: ich habe den Chip so initialisiert, aber: ich sehe keine Signale.
Ich verwende zwar keinen ASM, sondern GCC, aber die Initialisierung 
sieht dann halt so aus:
1
  PORTH.DIRSET = 0x3F; //0b00111111;
2
  PORTH.OUTSET = 0x2F; //0b00101111;
3
4
  EBI.CTRL = 0b00100011;
5
  EBI.CS1.CTRLA = 0b00100110; // 128k 
6
  EBI.CS1.CTRLB = 0b00000000;  // Waitstates
Ist ziemlich grob exakt das gleiche. Funktioniert bei mir aber nicht.
Ab welcher Adresse greifst Du auf die Chips zu? Ich sehe Du hast 128k 
eingestellt.

Muss weitersuchen. Hab den Fehler noch nicht gefunden.

Gruß
Helmut

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Externes RAM läuft ab Adresse 0x4000.

von Helmut R. (heru01)


Lesenswert?

Hallo Travel Rec,

wie so meist ist es dann doch irgendein Mist gewesen...
So auch bei mir: ich habe (eigentlich alles) richtig lokatiert; spiele 
meinen Bootloader auf und übertrage dann das OS uuund...

... es geht nicht. Kein CS, kein Rd, kein Zugriff.

...überlege es mir anders und spiele das OS direkt über JTAG ICE ein, 
und es geht.
Hmmmm. Also doch noch Gesuche - aber an anderer Stelle.

Was ich auf jeden Fall sagen kann: ich bin erleichtert dass EBI geht - 
auch wenns net soo toll beschrieben ist....
Die Antwort von Atmel war wieder mal eine Bombe: ich habe nachgefragt, 
warum kein 4Port EBi beim AtXmega128A1, etc. und die Antwort war der 
Verweis aufs Datenblatt...   <Seufz> Danke Jungs! <Seufz>


Gruß
Helmut


PS auch jeden Fall dank an Dich, Travel Rec (diesmal echt!) - ich bin 
gespannt wie Dein Board läuft und wann Du mehr darüber postest.

von Johannes A. (Gast)


Lesenswert?

Ich muss hier doch mal eine Lanze für den Atmel-AVR-Support brechen. 
Denn zum XmegaA1 nach dem 4-Port-EBI zu fragen, heißt tatsächlich 
einfach nur, die Doku nicht verstanden zu haben...

Das Manual mag wohl ein 4-Port-EBI definieren, aber solange es auf 
keinem Chip implementiert ist (siehe Datenblätter), ist die Frage "warum 
nicht?" echt deplaziert. Und ich würde darauf auch nur mit einem mehr 
oder weniger freundlichen "RTFDS" antworten.

Gruß Johannes

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.