Hallo an alle, wie aus meinem gestrigen Posting zu erahnen, arbeite ich immer noch an der Ansteuerung eines Flash-Speichers. AMIC A29040l-70. Datenblatt: http://pdf1.alldatasheet.com/datasheet-pdf/view/55589/AMICC/A29040L-70.html Lesen klappt soweit wunderbar, Verkabelung zum Mikrocontroller(Arduino Mega 2560, also ATMega 2560) alles in Ordnung und überprüft. Der Fehler liegt in meinem Programmtext, ich blicke mit den Comand Sequences und dem Write Befehl, insbesondere dem Chip Erase, an das ich mich als erstes herangewagt habe, nicht klar :/ Hier seht ihr meinen Versuch, einen Chip Erase durchzuführen, im Anhang. Stellenweise war sogar ein teil des ersten Sektors schön mit "1"en gefüllt, aber jetzt funktioniert gar nichts mehr. Vielleicht liegt es am Timing, aber so vermurkst kann es ja gar nicht sein, wenn es zumindest partiell funktioniert (hat). Könntet ihr bitte einmal als Experten den Programmcode durchsehen und mir sagen, warum es nicht klappt? Schonmal Danke, freue mich über jeden konstruktiven Beitrag :)
Oh, zwei Mal das Gleiche angehängt, entschuldigt.
Gast
#3290243
Dieser Fehler im Code wurde übrigens schon behoben, keine Besserung erzielt... ioLinesWrite(0b10100000); // 0x10 für Chip Erase Wurde in ioLinesWrite(0b00010000); korrigiert.
Gast
#3290498
Hast Du den AMIC direkt am µC angeschlossen? Der AMIC braucht zum Schreiben/Löschen 30mA, zum Lesen nur 20mA. Der AVR liefert nur 20mA. Wie schnell kommen denn die Befehle aus dem AVR? Bist Du vllt. zu schnell: Noise pulses of less than 5ns (typical) on OE,CE or WE do not initiate a write cycle.
Die Adress-, Steuer- und Datenleitungen liegen direkt an dein uC Ein-, bzw. Ausgängen. Die Spannungsversorgung ist jedoch extern über einen Spannungsregler, da sollte es kaum Probleme geben, der wird dadurch kaum ausgelastet. Hm, ich dachte, da ein Takt 62ns bei 16Mhz dauert, und "digitalWrite" in dieser IDE in mindestens 3,4 Befehle kompiliert wird, dass das kein Problem darstellen wird.
Gast
#3290618
DirkZ schrieb: > Der AVR liefert nur 20mA. Quatsch: Der AVR liefert max. 40mA.
Für euch ist sowas doch alltäglich, seht es doch bitte mal durch und gebt ein kurzes Statement, wenn ihr Lust habt :/
Gast
#3291743
Beitrag "M32 Bascom Programm zum Beschreiben von AM29F040 Flash" http://www.mikrocontroller.net/attachment/18571/f040test.bas Ein Beisiel in BASCOM zum Lesen/Schreiben und Löschen eines AM29F040. Solltest Dich zurechtfinden. Zu Deinem Code:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
Warum setzt Du WE wieder auf HIGH?
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.