Hallo, ich versuch' grade was am externen Bus Controller eines LPC24xx anzuschliessen. RAM und so weiter ging gut; da habe ich mich nicht gross ums timing gekümmert. Diesmal solls aber ein selber gebastelter Peripherie-Baustein sein. Dabei muss ich bestimmte Adressen decodieren (z.B. mit einem 74x138) und bei Schreib- oder Lesezyklen auf unterschiedliche Bausteine zugreifen. Naja, ist nicht so einfach zum Erklären. Was ich grundsätzlich wissen will: Wenn \CSx aktiviert ist - wie viele ns vorher sind die Adressen gültig? Oder werden die überhaupt erst mit der fallenden Flanke von \CSx gültig? Dann: Wenn \WE bzw. BLSx aktiviert ist - wann sind die Daten gültig? Fallende Flanke von \WE, BLSx oder mit der steigenden Flanke? Und wann werden die Daten bei einem Lesezyklus vom Bus übernommen? Ich blick da nicht ganz durch. Das Manual habe ich wirklich (!) ganz gelesen, aber ich hab' nirgends ein Timing-Diagramm gefunden. Auch auf der NXP-Website scheint es nichts derartiges zu geben. Google führt einzig zu irgend einer Seite mit der Domain .br, wo ein paar spärliche Angaben zu finden sind, aber nichts was einem was bringt. Wo sind denn nun diese Diagramme? Gibts überhaupt welche? Wenn mir da einer weiterhelfen könnt' wäre das super. Gruss
Bin ich der Einzige, der diese Sachen nicht weiss oder bin ich einfach zu blöd die Diagramme zu finden? Oder gibts gar keine?
Auch wenns steinalt ist, ich habe da auch ein paar Fragen zu den WE und BLS timing, hat einer Ahnung wo man Timing Diagramme findet? Hab auch ewig gesucht. Genaue Frage ist: Im SRAM mode ist ein CPLD dran mit 32 bit Busbreite, um da Daten reinzuschreiben, brauche ich nur WE oder auch irgendwie die BLS Signale. Mir fehlt irgendwie der Bezug zwischen WE und BLS.
Hallo Peter, hab mal schnell in meinem Schema nachgeschaut. Ich habe einen kleinen FPGA am Bus hängen und das funktioniert. Ich verwende CS1 als Chipselect, und dann BLS0 als Schreib-Freigabe, da mein FPGA nur mit 8 Bits angebunden ist. Wenn du immer nur 32 bit breite Zugriffe auf deinen CPLD machst, kannst du aber meines Erachtens WE als Schreibsignal benutzen; sollten jedoch die individuellen Bytes schreibbar sein, dann müsstest du BLS0..3 benutzen anstatt WE. In den entsprechenden Config-Registern des EMC kannst du dann einstellen, dass nur bei Schreibzugriffen die BLS-Signale aktiviert werden. Lesefreigabe erfolgt dann mit OE. Klar soweit, oder hab ich jetzt völlige Verwirrung gestiftet? ;-)
Dieses PDF dürfte übrigens von Nutzen sein bei solchen Fragen. Ich weiss leider nicht mehr, woher es stammt, habs mal über Google gefunden und in meinem Fundus archiviert. Jetzt nützts endlich mal jemandem was, dass ich nie was lösche ;-)
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.