Forum: Mikrocontroller und Digitale Elektronik SPI EEPROM in der Schaltung prg. geht - CS geht nicht low


von Christian S. (chris02)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich versuche gerade eine EEPROM in einer Schaltung zu programmieren, was 
leider nicht klappt.

Es handelt sich dabei um ein M95640, welches ich über einen CH341 China 
Programmer umprogrammieren will.
Den China Programmer habe ich so modifiziert, dass er mit 3V3 versorgt 
wird und somit die Logikpegel auch bei 3V3 sind. Als Software verwende 
ich AsProgrammer. Ist das EEPROM ausgelötet klappt das auslesen auch 
wunderbar.

Zum eigentlichem Problem:
Mit dem Logikanalyzer sieht man sehr schnell, dass der CS (S) Pin nicht 
auf Low gezogen wird. Daher kann das EEPROM auch nicht ausgelesen 
werden.
Das Signal des CS Pins in der Schaltung kommt über einen SN74LVC139A 
(Demultiplexer).

Meine Vermutung ist, dass der CH341 es nun nicht schafft diesen auf Low 
zu ziehen. Würde hier evtl. ein externer Transistor, zur Verstärkung des 
CS Signals, helfen? Habt ihr eine andere Idee/Vorschlag?

Vielen Dank und viele Grüße
Chris


*Links Datenblatt*:

*EEPROM 95640:* https://www.st.com/resource/en/datasheet/m95640-w.pdf

*SN74LVC139A Demultiplexer:* 
https://www.ti.com/lit/ds/symlink/sn74lvc139a.pdf

*EEPROM Programmer:* https://de.aliexpress.com/item/32828012179.html

*Datenblatt CH341:* https://www.anok.ceti.pl/download/ch341ds1.pdf

[Mod: Lebenslauf aus Links entfernt]

: Bearbeitet durch Moderator
von Micha W. (blackxiiv)


Lesenswert?

Moin,

Christian S. schrieb:
> Meine Vermutung ist, dass der CH341 es nun nicht schafft diesen auf Low
> zu ziehen. Würde hier evtl. ein externer Transistor, zur Verstärkung des
> CS Signals, helfen? Habt ihr eine andere Idee/Vorschlag?

Das ist sehr gut möglich. Der Plexer kann entspannt 50mA in die Leitung 
pumpen. Das schafft der CH341 nicht. Mach da keinen Transistor direkt 
rein, sonst grillst du den Output vom Plexer.

Du könntest versuchen 10kOhm in die CS Leitung zu schleifen und deinen 
Transistor dann zwischen 10k und EEPROM zu hängen.

Grüße!

: Bearbeitet durch User
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Christian S. schrieb:
> Das Signal des CS Pins in der Schaltung kommt über einen SN74LVC139A
> (Demultiplexer).
Krasse Idee, vorsätzlich eine Buskollision zu verursachen und dann noch 
zu erwarten, dass das funktioniert. Das ist, wie wenn du bei laufendem 
Motor einen Kolben wechseln würdest und dich beschwerst, dass der dann 
ruckelt.

> Habt ihr eine andere Idee/Vorschlag?
Die beste Lösung ist, die Leitung(en) des EEPROMs zum Programmieren mit 
Jumpern aufzutrennen.

Die zweitbeste Lösung ist, die EEPROM-Pins mit Serienwiderständen von 
anderen Treibern zu entkoppeln.

: Bearbeitet durch Moderator
von Christian S. (chris02)


Lesenswert?

Danke für die Rückmeldungen, ein Serienwiderstand hin zu zu fügen ist 
nicht möglich, da es sich um eine bereitsfertige Platine aus einem Gerät 
handelt.

Dann werde ich mal nachmessen, wo das Signal des Demultiplexers her 
kommt, um es auf der Seite ggf. auf Low ziehen zu können.

Wahrscheinlich aber direkt aus dem µC, ebenfalls ohne Serienwiderstand. 
Das gucke ich mir nun aber genauer an.

Vielen Dank und viele Grüße
Chris

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Christian S. schrieb:
> wo das Signal des Demultiplexers her kommt, um es auf der Seite ggf. auf
> Low ziehen zu können.
Auch das wird eine Buskollision ergeben, denn damit "invertierst" du 
dein Problem einfach nur: wenn du dafür sorgst, dass der DeMUX immer low 
ausgibt, dann kann dein Programmer das Signal eben nicht mehr nach high 
ziehen. Und das EEPROM-Protokoll braucht eben beide Pegel auf der CS 
Leitung.

von Harald K. (kirnbichler)


Lesenswert?

Der '139 hat Tristate-Ausgänge, wenn man die /G-Leitung nicht auf Masse 
legt, sind die Ausgänge hochohmig.

Je nachdem, welche Hälfte benutzt wird, sind das die Pins 1 oder 15.

(1 für die Ausgänge an Pin 4 .. 7, 15 für die Ausgänge an Pin 9 .. 12).

von Peter K. (chips)


Angehängte Dateien:

Lesenswert?

Harald K. schrieb:
> Der '139 hat Tristate-Ausgänge

leider nein:

von Harald K. (kirnbichler)


Lesenswert?

Peter K. schrieb:
> leider nein:

Fuck. Ich werd senil. Sorry für die Verwirrung.

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.