Hat hier jemand schonmal xmega A1U mit EBI und SDRAM verwendet?

OP #7713734

Moin.

Ich habe Probleme mit dem EBI. Der CS-Pin macht einfach nichts. Ich könnte ihn zwar auch einfach GNDen, aber das ist nicht Sinn der Sache. Das EBI ist schon soweit konfiguriert, dass es laut Oszi erfolgreich auto refreshes ausgibt (ist also im SDRAM Modus) und auch lds und sts toggelt an den richtigen Pins rum. CS bleibt aber immer HIGH oder LOW, je nachdem, wie ich _OUT voreingestellt habe. _DIR ist für den CS-Pin immer gesetzt. Eigentlich müsste er da rumtoggeln. Als ob er auf 3 Port EBI steht...

PORTCFG_EBIOUT = 0b10. Da erwarte ich den CS3 (den man für SDRAM nehmen muss) auf F7.

EBI_CTRL = 0b01000010. Also 8 Bit und 4 Port EBI.

Was kann man da sonst noch falsch machen?

Achja, es ist ein atxmega128a1u.

OP

Hallo Falk,

ich habe mir deinen Code und dein Routing mal angeschaut. Das Routing ist identisch. Der Code ist hier Assembler, aber das spielt ja keine Rolle. In den Registern steht das selbe drin, wenn man davon ausgeht, dass Atmel damals keine Zahlendreher in ihren Headerfiles eingebaut hat.

Also ich finde den Fehler einfach nicht. Manuell vial PORTF_OUTSET PORTF_OUTCLR kann ich CS problemlos toggeln. Sieht im Oszi sauber aus. Aber EBI macht da nichts. Was ich etwas verdächtig finde ist, dass ich den CS manuell überhaupt toggeln kann. Wenn EBI aktiv wäre, müsste der Pin für Änderungen an PORTF_OUTSET PORTF_OUTCLR eigentlich gesperrt sein.

Da ich im Oszi den SDRAM-Refresh sehe, müsste EBI doch hier auch den CS periodisch LOW ziehen, oder?

Kannst du dich erinnern, ob der CS bei dir damals irgendwie rumgezickt hat?

OP

Achso und ich habe in deinem Code nirgendwio die Stelle gefunden, wo du vom CS-Pin PORTF_OUT HIGH setzt, bevor du _DIR auf 1 setzt. Das macht man ja eigentlich so, damit CS nicht kurz LOW geht. Wenn du das aber gar nicht gemacht hast, könnte bei dir der /CS chronisch LOW gewesen sein, ohne dass du es gemerkt hast?

Christian schrieb:

Da ich im Oszi den SDRAM-Refresh sehe, müsste EBI doch hier auch den CS periodisch LOW ziehen, oder?

Kannst du dich erinnern, ob der CS bei dir damals irgendwie rumgezickt hat?

Puhhh, du fragst mich Fragen. Das war von ZEHN Jahren! Ich mach mal den Olaf S. . . . An CS Probleme kann ich mich nicht erinnern. Ob ich dort mal das Oszi drangehalten habe aber auch nicht 8-0

Wait . . .

Ich habe meinen uralten Prototypen ausgegraben, den gibt's noch! Und siehe da, CS ist dauerhaft LOW.

Im Anhang CKE und CLK.

Angehängte Dateien:
OP

Vielen Dank für die Info. Wenn ich hier CS einfach auf Dauer-LOW schalte, funktioniert es. Ist halt nicht sauber, weil der CS ja eigentlich nicht Dauer-LOW sein sollte. In diesem Fall natürlich egal. Bin froh, dass es überhaupt funktioniert. xmega ist ja leider eh tot. Ich kann mir zwar nicht vorstellen, dass so ein Errata nicht aufgefallen ist und vermute den Fehler weiterhin bei mir/uns, aber naja, wat solls.

Nutzt du die Dinger noch? Ist immerhin 10 Jahre her :D

Beitrag #7714024 wurde von einem Moderator gelöscht.
(Firma: L-E-A)

Christian schrieb:

Wenn ich hier CS einfach auf Dauer-LOW schalte, funktioniert es. Ist halt nicht sauber, weil der CS ja eigentlich nicht Dauer-LOW sein sollte.

Selber habe ich mit dem EBI nicht gearbeitet und deshalb auch keine eigenen Erfahrungen damit.

Meine Überlegung: Wäre es möglich, dass CS nur dann inaktiv wird, wenn mindestens 2 CS-Signale definiert sind? Das wäre vielleicht ein Versuch wert, wenn Du noch einen entsprechenden Pin übrig hast...

Grüßle, Volker

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 2 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.