TWI-Master Problem

TWIinp(adr, byte) Acknowledge und STOP (Denk-)Fehler?

all
 
Avatar
 
Subject:

TWI-Master Problem

 · 
Posted: 30.04.2014 - 14:41  ·  #1
Hallo,

beim Atmega128A @10 MHz haben wir einen TWImaster Treiber mit TWIpresc = 400 kB/s konfiguriert. Die Bussignale messen wir mit einem Oszi. Bei Lesen des Slaves mit dieser Funktion

TWIinp(addr, b); // b ist ein byte

erhalte ich folgende Sequenz:

1 Master: |START|addr+R|
2 Slave: |ACK|Daten|
3 Master: |NACK| <----- Hier sollte nach NACK ein STOP kommen!!!
4 Slave: |Daten|
5 Master: |ACK|

Dann bleibt SDA auf High und der Bus ist blockiert...

Lt. I2C-Spezifikation (http://www.nxp.com/documents/user_manual/UM10204.pdf, Seite 15) müsste in Zeile 3 der Master ein NACK und STOP schicken, weil die 8 Bit schon fertig eingelesen sind. Stattdessen versucht er noch ein Byte zu lesen und lässt den Slave mit anschließendem ACK für immer und ewig warten.

Was ist hier falsch?

VG
Alois
all
 
Avatar
 
Subject:

Re: TWI-Master Problem

 · 
Posted: 05.05.2014 - 11:23  ·  #2
Ich habe inzwischen den TWImaster mit dem I2Cport ersetzt und mit diesem funktioniert es wie erwartet. Leider ist dieser langsamer.

Habe auch beobachtet dass

TWIinp(addr, w); // w ist ein word

auch 3 Bytes vom Slave einliest statt 2 und die ACK/NACKs sind falsch.

Ich habe ein System, welches mit anderen I2C-Bausteinen zuverlässig läuft. Mit dem Logikanalyzer sehe ich aber auch diese "Extra-Bytes", jedoch scheinen die I2C-Slaves dies einfach zu ignorieren und halten nicht die SDA-Leitung fest.

VG
Alois
rh
Administrator
Avatar
Gender:
Location: Germany
Age: 24
Homepage: e-lab.de
Posts: 5558
Registered: 03 / 2002
Subject:

Re: TWI-Master Problem

 · 
Posted: 06.05.2014 - 22:24  ·  #3
ich werde mich in nächster Zeit darum kümmern.

rolf
all
 
Avatar
 
Subject:

Re: TWI-Master Problem

 · 
Posted: 17.06.2014 - 17:33  ·  #4
Hallo Rolf,

hast Du schon ungefähr einen Zeitrahmen dafür?

Viele Grüße
Alois
rh
Administrator
Avatar
Gender:
Location: Germany
Age: 24
Homepage: e-lab.de
Posts: 5558
Registered: 03 / 2002
Subject:

Re: TWI-Master Problem

 · 
Posted: 18.06.2014 - 10:23  ·  #5
Hallo Alois,
ich hatte mich darum "gekümmert", weis aber nicht mehr ob ich eine Lösung
dazu gefunden habe oder nicht. Tut mir leid, ist mir komplett entfallen.
Bitte mal testen und wieder Bescheid geben. Danke.

rolf
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 15 · Cache Hits: 14   93   107 · Page-Gen-Time: 0.028028s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI