Forum: Mikrocontroller und Digitale Elektronik Problem mit I2C EEPROM


von Michael M. (eos400dman)


Angehängte Dateien:

Lesenswert?

Hallo,

Ich versuche schon seit drei Tag ein 24LC256 anzusteuern.
Als Adresse hab ich 10100000 da ich A0-A2 auf GND gelegt hab. Es kommt 
aber keine Reaktion vom EEPROM wenn ich versuche diesen auszulesen. Im 
Anhang mal die Oszi Bilder von SCL und SDA. Muss der Takt so 
"merkwürdig" aussehen?
Hier mein Code zum auslesen:
1
  inc adresse_l
2
3
    rcall i2c_start        ; rufe TWI start auf
4
5
  ldi r17, 0b10100000        ; Bausteinadresse + write
6
7
  rcall i2c_write        ; schreibe über TWI
8
9
  mov r17, adresse_h 
10
11
  rcall i2c_write        ; schreibe über TWI
12
  
13
  mov r17, adresse_l
14
15
  rcall i2c_write        ; schreibe über TWI
16
17
18
  rcall i2c_start        ; rufe TWI start auf
19
20
  ldi r17, 0b10100001      ; Bausteinadresse + read
21
22
  rcall i2c_write        ; schreibe über TWI
23
24
  rcall i2c_readna      ; lese über TWI ohne ACK
25
26
  rcall i2c_stop        ; rufe TWI stop auf
27
28
  out PORTA, r17
Die Unterfunktion verwende ich schon länger die gehen eigentlich alle.

Gruß Michael

von lfcr (Gast)


Lesenswert?

Michael Mayer schrieb:
> Muss der Takt so "merkwürdig" aussehen?
Ich würde eher fragen darf er so aussehen, die Antwort ist wohl Nein. 
Ist der PIN aus Ausgang gestellt? Irgendwo ein Kondensator der da nicht 
hingehört?

von Schaltungswächter (Gast)


Lesenswert?

Pull Up R fehlt. sieht man schön an der Sättigung.

von Michael M. (eos400dman)


Lesenswert?

Pull Ups 4,7k sind dran. Kondensatoren sind keine in der Leitung. Ich 
hab beides noch mal nach gemessen. Die Kapazität zwischen GND und SCL in 
laut Multimeter 10nF kleiner kann ich aber auch nicht messen.

Gruß Michael

von Schaltungswächter (Gast)


Lesenswert?

bei 10nF sind etwa 9,99nF zu viel

von Schaltungswächter (Gast)


Lesenswert?

wie lang ist die Leitung?
Kondensator statt Widerstand verbaut?
Mach mal ein Bild.

von Michael M. (eos400dman)


Lesenswert?

Hast du auch einen Tipp von was das kommen kann? Ich hab nur 100nF 
Kondensatoren auf der Platine. Und davon ist auch nur einer in der Nähe 
der Leiterbahnen von SCL und SDA.

von Michael M. (eos400dman)


Angehängte Dateien:

Lesenswert?

Hier mal das Layout. Ist bestimmt nicht perfekt. War aber auch meine 
erste selbst gemacht Platine. SDA und SCL sind hervorgehoben.

Gruß Michael

von Schaltungswächter (Gast)


Lesenswert?

vielleicht noch der 4,7k auf der SCL Leitung hochohmig.
Löte mal einen drüber und schaue was auf dem Oszi passiert.

von Michael M. (eos400dman)


Angehängte Dateien:

Lesenswert?

So jetzt noch mal mit 4,7k parallel dazu. Kann es sein das sich die 
Frequenz des Taktes geändert hat?

von stiller Beobachter (Gast)


Lesenswert?

Ja sind jetzt nicht mehr 24 sondern 12µs.

Mal sehen, vielleicht ein Kerko kaputt.
Mess mal die Vcc am oszi über jedem der Chips.

von Michael M. (eos400dman)


Lesenswert?

Ich hab an allen VCC Pins eine saubere Gleichspannung mit 4,9V anliegen.

von Schaltungswächter (Gast)


Lesenswert?

Vielleicht mal ein Bild vom Aufbau.
Welche Pegel sollen zukünftig gemessen?
Sind längere Kabel angeschlossen?

von Schaltungswächter (Gast)


Lesenswert?

Michael Mayer schrieb:
> saubere Gleichspannung mit 4,9V anliegen.

Bitte nur den Wechselspannungsanteil mit 50mV/div

von Michael M. (eos400dman)


Angehängte Dateien:

Lesenswert?

Schaltungswächter schrieb:
> Vielleicht mal ein Bild vom Aufbau.
Aber gern doch.
> Welche Pegel sollen zukünftig gemessen?
Die Frage versteh ich nicht.
> Sind längere Kabel angeschlossen?
Ja ein externer Sensor wird später über ein längeres Kabel 
angeschlossen. Ist er aber im Moment noch nicht.

von Michael M. (eos400dman)


Angehängte Dateien:

Lesenswert?

Schaltungswächter schrieb:
> Bitte nur den Wechselspannungsanteil mit 50mV/div
Kein Problem.

von John (Gast)


Lesenswert?

Kann es sein, dass der PCF8574 spiegelverkehrt im Layout ist?

Hast Du mal ohne das EEPROM und den PCF, Clock und Data gemessen?

Gruß
John

von Schaltungswächter (Gast)


Lesenswert?

Vcc können wir ausschließen.
Gut machen wir es richtig.
EEProm raus und Signale messen

Wäre es möglich den Draht über X12 X9 X11 also die Verbindung in 
Richtung zum pcf8574 zu lösen?

Dann wieder messen.

Pegelmessung V5.1 steht auf der Platine.

von Schaltungswächter (Gast)


Lesenswert?

John schrieb:
> PCF8574 spiegelverkehrt im Layout ist?

Genau.

www.nxp.com/documents/data_sheet/PCF8574.pdf

von Schaltungswächter (Gast)


Lesenswert?

Na nu, kein Problem. Von unten bestücken.

von Michael M. (eos400dman)


Angehängte Dateien:

Lesenswert?

Ja der PCF8574 ist spiegelverkehrt. War ein dummer Fehler. Ich hab das
aber jetzt gelöst indem ich die Beine nach unter gebogen und an einen
Sockel gelötet habe:). Aber daran kann es nicht mal liegen da er nicht
im Sockel steckt. Hier mal die Signale ohne EEPROM nur mit Atmega am
TWI.

von Schaltungswächter (Gast)


Lesenswert?

Also wie vorher.

Alle Chips raus und mit angelegter 5v Spannung den Widerstand prüfen.
Rote Spitze gegen +5v - schwarze gegen SCL.

Brücke raus - wieder messen.

ATMega rein - starten - mit Oszi messen...

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.