Serial Flash und Datenintegrität

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

Reply to
wolti
Loading thread data ...

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

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.

Reply to
Joerg

Danke,

Ich meine natuerlich einen FFC Stecker. Da ich kein Attachment so schnell anh=E4ngen kann - Das Datenblatt unter

formatting link
=E4quivalent zu diesem Stecker. Das FFC Kabel selbst ist 210mm. Die Leitung auf dem Controllerboard < 30mm. Die Leitungen auf der Hauptplatine sind nochmals 70mm. In diesem Fall gibt sich eine gesamte Busl=E4nge von 300mm. Das bestehende Bussystem ist nicht terminiert, macht auch nicht soviel Sinn, da man die Impedanz auf dem FFC Kabel nicht kontrollieren kann.

Die SPI Frequenz kann ich notfalls runtersetzen und damit k=F6nnte ich st=E4rkere Filterbeschaltungen machen. Ein Layout werde ich schauen, dass ich das als JPG bekomme. Den Cut in der Groundplane habe ich repariert, denke aber nicht, dass das bei diesem stark bed=E4mpften Signal viel ausmacht. Beim Auffangen von St=F6rungen aber schon eher.

Lg, Chris

Reply to
embedded.solutions.at

formatting link
ist äquivalent zu diesem Stecker. Das FFC Kabel selbst ist 210mm. Die

240mm Gesamtlaenge und nicht terminiert? Erstaunlich, dass das erst bei 10V/m vom Hocker gefallen ist. Das braucht ordentliche Filterung. Wenn es immer die gleiche Art FFC-Kabel ist, kann man die Impedanz bestimmen und zumindest sanft AC-terminieren mit ein paar zig pF in Serie. Lieber 30% danebenliegen als 100% danebenliegen.

Kann man erst nach Betrachtung von Schaltbild und (altem) Layout sagen. Aber wenn Du den Split weggemacht hast, ist das ja zumindest schon in Butter.

Reply to
Joerg

e

W=FCrdest du wenn du auf der einen Seite AC terminierst die Serienwiderst=E4nde drinnen lassen? Das Problem der kapazitiven Kopplung zwischen den Signalleitungen bleibt n=E4mlich. Wenn nun der Treiber zu stark w=E4re, und damit starke Flanken auf die Leitung gibt koppelt es =FCber.

Ich h=E4tte dann zum testen eine Konfiguration mit z.B. 100R Serienwiderstand und einer AC-Terminierung im Bereich von 50-100pF und einem Widerstand den ich noch probieren werde. Aber auch im Bereich von 50R-150R.

Lg, Chris

PS: Ich habe heute die Software-Modifikationen schon eingebaut, da es ja auch darum geht den Schaden am bestehenden System zu vermindern und mit einem Burst-Generator getestet, der die Fehler sehr gut erzeugt. Das System l=E4uft in dieser Konfiguration nur halbwegs stabil und der Rest sollte jetzt durch passende Elektronik=E4nderungen ebenfalls kein Problem sein.

Reply to
wolti

unter

formatting link
>> ist äquivalent zu diesem Stecker. Das FFC Kabel selbst ist 210mm. Die

Waehle den Kondensator dann so klein, dass Dir die Pegel zu den Schaltzeiten nicht auf die Haelfte absacken. Das sieht natuerlich alles etwas "hingebastelt" aus, aber wie wir hier sagen, you are between a rock and a hard spot. Ferritperlen am Ende des SPI koennen auch helfen.

Sauber waere ein Verfahren ohne Serienterminierung, wobei MISO dann auf der Steuerseite AC-terminiert werden muss.

Geht alles. Bislang ist mir noch kein EMV Fall vorgekommen, wo wir das Handtuch geschmissen haetten.

Reply to
Joerg

eme

ie

Hallo,

hmm - bei MOSI und SCK ist mir die Sache klar, da ich die Terminierung am Ende des Buses anbringen und damit verhindere, dass ich eine reflektierende Welle bekommen. Bei MISO habe ich das Problem, dass nun mehrere Sender am Bus sind. 2 entfernte Sender am Ende des FFC und das Flash am anderen Ende des FFC direkt neben dem Microkontroller. Von meiner Logik her w=FCrde ich, am Ende des FFC terminieren und falls noch zus=E4tzlich beim Eingang des Microcontrollers.

L=E4nge 25 60 210 40 30 +------------------#-------------------------#---------------- MISO | | | # # | | | T S1 S2 # KABEL # Flash T MCU | | | # # | | | +------------------#-------------------------#---------------- "GND"

Das Signal S1/S2 wird beim Eingang des Microcontrollers abgeschlossen. Die Signale vom Flash haben Leitungscharakter zu S1/S2. Daher wird dort abgeschlossen.

Reply to
embedded.solutions.at

unter

formatting link

Ok, so ganz komme ich nicht dahinter, was FFC ist und wie Deine Anlage aussieht. Aber nach HF-Gesichtspunkten muesste man dann MISO dort AC-terminieren, wo die Funktion "Input" liegt. Also am Master, vermutlich der uC. SCLK, MOSI, CE bei den Empfaengern, wobei bei einer groesseren Anzahl selbiger eine Serienterminierung (ausser vielleicht bei CE) am Master nicht mehr sinnvoll erscheint, denn dann geht Dir rasch die Amplitude in die Knie.

Reply to
Joerg

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.