Hallo,
Ich debugge gerade ein Design mit einem seriellen 66Mhz AT45DB642D Datenflash. Ein Problem was ich habe ist, dass ich unter st=E4rkeren externen St=F6rungen (Z.b. 10V/m in der Messhalle im Bereich von <
200Mhz und/oder Burst) Probleme habe mit diesem Baustein. Die Probleme =E4u=DFern sich durch Datenkorrumption beim Lesen und Schreiben. Beim Lesen ist das ganze nicht so schlimm, da dies zu keinen permanenten Probleme f=FChrt. Beim Schreiben ist es jedoch anders. Korrumpieren dort die Daten schreibe ich vielleicht an die falsche Speicherstelle oder eventuell auch falsche Daten. Softwareseitig werden wir jetzt beim Schreiben ein mehrfaches Verify machen und auch beim Lesen werde ich die Daten nun zur Kontrolle zweimal lesen und nur bei Korrektheit weitergeben. Die Daten wo CRC gesch=FCtzt sind, sind klarerweise noch etwas einfacher.Meine Frage hier ist aber nat=FCrlich eher von der Hardwareseite. Schaltungsm=E4ssig habe ich die Eing=E4nge des Atmel einmal mit 100pF bed=E4mpft. Die SPI Leitungen sind alle mit Serienwiderst=E4nden ausgef=FChrt (Bei den jeweiligen Treibern). Vom Layout her gibt es einen Controllerteil mit ungef=E4hr 40mm Abstand zum seriellen Datenflash. Leider m=FCssen/gehen diese Leitungen auch =FCber einen 250mm FCC Kabel zu einer weiteren Platine. Die Geschwindigkeit des SPI ist 2Mhz zum Flash und 250kHz zu den anderen Modulen. Ich sehe noch folgende M=F6glichkeiten auf die schnelle, w=E4hre aber dankbar f=FCr weitere Anregungen. Das Layout des Controllers ist ein 2-Lagen Design und hat ein paar ungl=FCckliche Cuts in der Groundplane. Die habe ich aber testweise schon gebr=FCckt, weil ich dort das Problem vermutete. Die Versorgung des AT45DB642D ist mit 1uF, 100nF und 10nF gest=FCtzt.
- Filter beim FCC Stecker um St=F6rungen dort nicht auf den Bus zu lassen. Im einfachsten Fall ein RC auf Masse. - Eventuell die Signal auf den externen Bus nur bei Bedarf aufschalten (Buffer mit Enable)
Danke, Christian