Hallo, ich (be)arbeite gerade einen externen Flash. Die Adressen etc. liegen auch richtig an, jedoch nicht die Daten. An den Datenleitungen kann ich lediglich ein kurzes Zucken (von 3.3V auf 3.0V) 2x sehen... ich weiß leider nicht warum, die Datenleitungen nicht auf Null Volt heruntergezogen werden können. Der Flash-IC ist der einzige IC am EBI so dass die Datenleitungen etc. auch sehr kurz sind. Als Controller hab ich den AT91RM9200 im Einsatz. Die anderen Signale sind ok. Der Flash selbst hat keine internen Pullups. Die Kommunikation erfolgt ja nur in eine Richtung beim Schreiben von Daten in den Flash, oder? D.h. selbst wenn der Flash IC defekt wäre, müssten die Datensignale einwandfrei am Flash anliegen? Bernd
Hallo, leider ist die Glaskugel kaputt, welchen Controllerbenutzt du? Aber so wie du es beschreibst hast du einen vollen Adress und Datenbus. Bei Adressen werden die I/O Pins des Controllers als Ausgönge geschaltet. Bei Datenleitungen wechselt das je nach dem ob du lesen oder schreiben willst. Hast die das Speicherinterface richtig initialisiert? Es sieht so aus als wenn die Datenleitungen gegeneinander arbeiten. Vielleicht auch WR und RD vertauscht? Oder brauchst du Pullup Widerstände?
>>leider ist die Glaskugel kaputt, welchen Controllerbenutzt du? sorry, hab ich mitten in den text reingeschrieben - den AT91RM9200 von Atmel. NRD und NRW sind richtig beschaltet - beide funktionieren auch. Die Datenleitungen habe ich mir noch einmal genau angeschaut. Das Zucken ist vorhanden, bevor überhaupt der Schreibvorgang erfolgt. Wenn dieser erfolgt, sehe ich lediglich die Impulse vom NRW Pin aber an den Datenleitungen passiert gar nichts (sind die ganze Zeit auf 3.3V). >>Hast die das Speicherinterface richtig initialisiert? Es sieht so aus >>als wenn die Datenleitungen gegeneinander arbeiten. Was genau verstehst du unter "Datenleitungen gegeneinander arbeiten"? Beim Controller gibt es ein entsprechendes Register, durch das die CS Leitungen freigeschaltet werden. Des Weiteren muss man den PIO Controller enablen auf Peripherie-Mode. Eigentlich betreffen alle Einstellungen den kompletten Daten- und Adressbus, da sie beide im gleichen PIO Controller enthalten sind (bei der TQFP-Version). Bernd
> NRD und NRW sind richtig beschaltet - beide funktionieren auch. Die > Datenleitungen habe ich mir noch einmal genau angeschaut. Das Zucken ist > vorhanden, bevor überhaupt der Schreibvorgang erfolgt. Wenn dieser > erfolgt, sehe ich lediglich die Impulse vom NRW Pin aber an den > Datenleitungen passiert gar nichts (sind die ganze Zeit auf 3.3V). Das zucken läßt drauf schliessen das die Datenleitungen nicht richtig arbeiten. Das Problem ist das wenn du z.b. schreiben möchtest der Controller seine Datenleitungen auf Ausgang stellt und der Flash seine auf Eingang. Das geschied mit hilfe des CS und NRD/NWR signals. Wenn der Flash das aber nicht macht aus welchen gründen auch immer und seine Datenleitungen auch auf ausgang setzt, treiben zwei ausgänge die Leitung, und das geht logischerweise nicht. Erzeugst du das CS-Signal selber oder hast du es fest am Flash verdrahtet? Jetzt hilft nur noch ein blick in die Datenblätter des Controllers und des Flash. Übernimmt der Controller die komplette Steuerung des Busses? Dirk
>>Erzeugst du das CS-Signal selber oder hast du es fest am Flash >>verdrahtet? Wie kann man das CS-Signal am Flash fest verdrahten? Bei mir ist es so, dass die CS-Leitung zwischen Flash-CS-Eingang und Controller-CS-Ausgang gelegt ist - sprich der Controller erzeugt den CS-Impuls. >>Übernimmt der Controller die komplette Steuerung des Busses? Beim Flash gibt es das RY/BY Signal, welches normalerweise mit dem Controller über den NWAIT Pin verbunden wird. Leider ist dieser beim Controller defekt (Erata Sheet). So ist keine Kontroller seitens des Controllers möglich, ob das Flash auch schon wieder bereit ist. Der Controller übernimmt die komplette Steuerung für den EBI. Hab zwar im Datenblatt nichts gelesen bezüglich Master und Slave - aber über NCS0 soll es auch möglich sein zu Booten, somit muss der Controller ja von sich aus auch dort nachschauen können, ob eine entsprechend Hardware (Flash) + Bootprogramm vorhanden ist. Das Flash befindet sich im Slave-Modus. http://pdf1.alldatasheet.com/datasheet-pdf/view/102740/SPANSION/S29GL032A90TFIR10.html (auf Seite 43 sowie Seite 19) Gruß Bernd
Bernd Schuster wrote: >>>Erzeugst du das CS-Signal selber oder hast du es fest am Flash >>verdrahtet? > > Wie kann man das CS-Signal am Flash fest verdrahten? Bei mir ist es so, > dass die CS-Leitung zwischen Flash-CS-Eingang und Controller-CS-Ausgang > gelegt ist - sprich der Controller erzeugt den CS-Impuls. Dirk meint, ob du den Flash über einen Pin am µC selektierst, oder ob du dir das sparst und den CS-Pin am Flash über einen Pull-Down auf Ground, respektive auf die Versorgungsspannung gelegt hast, OHNE das der µC an dem Zustand etwas ändern könnte.
>>Dirk meint, ob du den Flash über einen Pin am µC selektierst
ja genau so hab ich es installiert; direkte verbindung zwischen
Controller und Flash IC + einem 4.7k Pullup-Widerstand.
Bernd
Hallo, also wenn ich mir das datenblatt zum Flash und dem von Controller ansehe würde ich sagen das die nicht zusammen passen. Der Flash hat eine viel zu komplexe steuerung als wie er an das Speicherinterface des Controllers passen würde. Da beim Flash über dieverse Impulsfolgen und etc. bestimmte aktionen ausgelöst werden. Ich denke mal du hast versucht das Flash mit den Burst-Flash-Interface des Controller betrieben, aber dein Flash unterstützt das nicht so wirklich. An deiner stelle solltest du ein Flashbaustein suchen der ein Interface ähnlich eines SRAM hat und ihn auch so betreiben. Dann ist es auch erst vernünftig möglich von ihn zu booten oder aus ihn programm laufen zu lassen ohne sie erst in das RAM zu kopieren per internen Bootloader.
>also wenn ich mir das datenblatt zum Flash und dem von Controller ansehe vielen Dank das du dir die zeit genommen hast... >>Da beim Flash über dieverse Impulsfolgen und etc. bestimmte aktionen >>ausgelöst werden du meinst DQ1 etc. mit denen z.B. signalisiert werden können, ob ein Zugriff auf den Flash erfolgreich oder unterbunden worden ist etc? Ich kenn lediglich ein Board, welches mit einem ähnlichen Flash ausgestattet ist und läuft (von Taskit verkauft wird). http://www.spansion.com/datasheets/s29gl-m_00_b8_e.pdf Laut Datenblatt ist dieses sehr ähnlich zu dem von mir ausgewählten Flash. Bernd
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.