Serial Flash und Datenintegrität

23/06/2008 - 20:22 von wolti | Report spam
Hallo,

Ich debugge gerade ein Design mit einem seriellen 66Mhz AT45DB642D
Datenflash. Ein Problem was ich habe ist, dass ich unter stàrkeren
externen Störungen (Z.b. 10V/m in der Messhalle im Bereich von <
200Mhz und/oder Burst) Probleme habe mit diesem Baustein. Die Probleme
àußern sich durch Datenkorrumption beim Lesen und Schreiben. Beim
Lesen ist das ganze nicht so schlimm, da dies zu keinen permanenten
Probleme führt. 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ützt sind, sind klarerweise noch
etwas einfacher.

Meine Frage hier ist aber natürlich eher von der Hardwareseite.
Schaltungsmàssig habe ich die Eingànge des Atmel einmal mit 100pF
bedàmpft. Die SPI Leitungen sind alle mit Serienwiderstànden
ausgeführt (Bei den jeweiligen Treibern). Vom Layout her gibt es einen
Controllerteil mit ungefàhr 40mm Abstand zum seriellen Datenflash.
Leider müssen/gehen diese Leitungen auch über 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öglichkeiten auf die schnelle, wàhre aber dankbar für weitere
Anregungen. Das Layout des Controllers ist ein 2-Lagen Design und hat
ein paar unglückliche Cuts in der Groundplane. Die habe ich aber
testweise schon gebrückt, weil ich dort das Problem vermutete. Die
Versorgung des AT45DB642D ist mit 1uF, 100nF und 10nF gestützt.

- Filter beim FCC Stecker um Störungen 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
 

Lesen sie die antworten

#1 Joerg
23/06/2008 - 21:03 | Warnen spam
wrote:
Hallo,

Ich debugge gerade ein Design mit einem seriellen 66Mhz AT45DB642D
Datenflash. Ein Problem was ich habe ist, dass ich unter stàrkeren
externen Störungen (Z.b. 10V/m in der Messhalle im Bereich von <
200Mhz und/oder Burst) Probleme habe mit diesem Baustein. Die Probleme
àußern sich durch Datenkorrumption beim Lesen und Schreiben. Beim
Lesen ist das ganze nicht so schlimm, da dies zu keinen permanenten
Probleme führt. 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ützt sind, sind klarerweise noch
etwas einfacher.

Meine Frage hier ist aber natürlich eher von der Hardwareseite.
Schaltungsmàssig habe ich die Eingànge des Atmel einmal mit 100pF
bedàmpft. Die SPI Leitungen sind alle mit Serienwiderstànden
ausgeführt (Bei den jeweiligen Treibern). Vom Layout her gibt es einen
Controllerteil mit ungefàhr 40mm Abstand zum seriellen Datenflash.
Leider müssen/gehen diese Leitungen auch über 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öglichkeiten auf die schnelle, wàhre aber dankbar für weitere
Anregungen. Das Layout des Controllers ist ein 2-Lagen Design und hat
ein paar unglückliche Cuts in der Groundplane. ...




Autsch! Das ist in >50% meiner Faelle der Hauptgrund.


... Die habe ich aber
testweise schon gebrückt, weil ich dort das Problem vermutete. Die
Versorgung des AT45DB642D ist mit 1uF, 100nF und 10nF gestützt.

- Filter beim FCC Stecker um Störungen 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)




Hier wuerde Layout und Schaltbild helfen. Was ist ein FCC Stecker? Wie
lang ist der SPI? Sauber terminiert? Muss SPI denn mit 2MHz laufen?

Notfalls helfen nur mehrgliedrige Tiefpassfilter fuer SCLK, MOSI und
eventuell auch MISO.

Gruesse, Joerg

http://www.analogconsultants.com/

"gmail" domain blocked because of excessive spam.
Use another domain or send PM.

Ähnliche fragen