Forum: Mikrocontroller und Digitale Elektronik SQI Flash SST26 spinnt


von Dirk F. (dirkf)


Angehängte Dateien:

Lesenswert?

Hallo,
zur Datenspeicherung verwende ich an meiner MCU ein externen Flash 
Bauteil Typ SST26.
Leider kommt es zeitweise vor, dass Unsinn im Flash steht.
Ich habe den Eindruck, dass passiert immer nach einem neu Programmieren 
der MCU.
Kann es sein, dass beim Programmieren alle Leitungen zum 
Speicherbaustein hochohmig werden und dann zu einem zufälligen Schreiben 
kommt ?

In der Original Schaltplan von Microchip (PIC32MZ EF STARTER KIT)  sind 
keinerlei Pull-Up oder Pull-Down Widerstände vorgesehen.

Ich plane jetzt, beim nächsten Layout einen 10 K Pull-Up  an den _CS Pin 
zu legen  (s.Anlage).

von Frank K. (fchk)


Lesenswert?

Dirk F. schrieb:

> Kann es sein, dass beim Programmieren alle Leitungen zum
> Speicherbaustein hochohmig werden und dann zu einem zufälligen Schreiben
> kommt ?

Ja, das ist so.

> Ich plane jetzt, beim nächsten Layout einen 10 K Pull-Up  an den _CS Pin
> zu legen  (s.Anlage).

Das ist die Lösung.

fchk

von Dirk F. (dirkf)


Lesenswert?

Frank K. schrieb:
> Das ist die Lösung.

Danke

von Dirk F. (dirkf)


Lesenswert?

Dirk F. schrieb:
>> Das ist die Lösung.

Warum bauen die Chip Hersteller nicht direkt einen Pull-Up in den Chip 
ein ?

von Frank K. (fchk)


Lesenswert?

Dirk F. schrieb:
> Dirk F. schrieb:
>>> Das ist die Lösung.
>
> Warum bauen die Chip Hersteller nicht direkt einen Pull-Up in den Chip
> ein ?

Weil der Pin mehrere Funktionen hat und der User die Wahl haben soll, 
wie er den Pin benutzt. Ein fester Pullup könnte da stören.
Du kannst sehr wahrscheinlich einen internen Pull-Up dazuschalten, aber 
erst wenn der Prozessor bereits läuft. Vorher ist alles auf Input-HighZ. 
Und genau für die Zeit, wenn der Prozessor nicht läuft und nicht 
konfiguriert ist, brauchst Du den externen Pullup.

fchk

von Gregor J. (Firma: Jasinski) (gregor_jasinski)


Lesenswert?

Frank K. schrieb:
> Du kannst sehr wahrscheinlich einen internen Pull-Up dazuschalten, aber
> erst wenn der Prozessor bereits läuft. Vorher ist alles auf Input-HighZ.
> Und genau für die Zeit, wenn der Prozessor nicht läuft und nicht
> konfiguriert ist, brauchst Du den externen Pullup.

Der interne Pull-UP des µControllers reicht nicht aus, selbst wenn der 
µC schon läuft und die IOs koniguriert hat, werden bei jedem Reset alle 
Pull-UPs an den IOs deaktiviert und CS des Speichers floatet wieder. 
Manche andere ICs, die am SPI-Interface hängen, können dadurch schon mal 
ihren Output aktivieren, was im schlimmsten Fall auch zum Pinkonflikt 
(z.B. mit dem Programmer) führen kann. Ergo, immer einen realen Pull-UP 
(z.B. diese 10k) an CS verwenden.

von Dirk F. (dirkf)


Lesenswert?

Frank K. schrieb:
> Weil der Pin mehrere Funktionen hat

Also der _CE (Chip Enable)  vom SST26  hat nur diese Funktion.

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
Noch kein Account? Hier anmelden.