Forum: Mikrocontroller und Digitale Elektronik TWI funktioniert erst nach mehrmaligem ein und ausschalten!


von René P. (speedy909)


Lesenswert?

Hallo,

habe ein großes Problem mit meinen 2 LM75 --> wenn ich mein Gerät 
einstecke müsste ich 2 temperaturen erhalten!
diese aktualisiereen sich ca. alle 500ms.

aber manchmal krige ich keine Temperatur zurück (der Prozessor hängt 
sich auch nicht auf, er erkennt einfach die Sensoren nicht!

an was kann das liegen? (nach mehrmaligem Ein und Ausstecken 
funktioniert dan wieder alles!)

Hardware: ATmega16
Software: AVR Studio (GCC)

von Michael U. (amiga)


Lesenswert?

Hallo,

Wartezeit nach PowerOn zu kurz? Keine Ahnung jetzt, wie lange die LM75 
nach PowerOn brauchen, bis sie ansprechbar sind.
Fehler in der Initialisierung des TWI, die undefinierte Zustände nach 
PowerOn zuläßt?

Gruß aus Berlin
Michael

von Markus B. (wolframator)


Lesenswert?

Hast Du mal die Funktionalität des µC mit anderen "TWI-Modulen" 
getestet? (externes EEProm z.B.)

von René P. (speedy909)


Lesenswert?

hab ich mir auch schon gedacht:
als startup verwende ich 64ms + 1K CK, zusätzlich
warte ich vor der initialisierung noch 1 sek!

von René P. (speedy909)


Lesenswert?

jetzt habe ich noch etwas interessantes herausgefunden.

wenn ich ein Prozessorreset mit einem Taster auslöse und die Temperatur 
vorher ausgelesen werden konnte (wird die Temperatur wieder problemlos 
ausgegeben)
und wenn vorher keine Temperatur angezeigt wurde, wird nach einem Reset 
immer noch keine temperatur angezeigt!

also kanns doch nicht an der software liegen oder?

von Michael U. (amiga)


Lesenswert?

Hallo,

sieht mir nach einem TWI-Init-Problem aus.
Wenn es richtig gelaufen ist, geht alles, der LM75 ist zufrieden mit der 
Welt und bleibt es auch bis zum nächsten PowerOff/On. Vom Prozessorreset 
bekommt ja den LM75 nichts mit.

Ist die Init schiefgelaufen, hängt sich der LM75 auf und antwortet nicht 
mehr .
Das bleibt dann auch nach einem Prozessorreset so...
Ich habe noch nichts mit dem LM75 gemacht, aber schon genug andere 
I2C-Bausteine benutzt. Der Zustand, daß man den Slave irgendwie falsch 
anspricht und der dann dauerhaft schmollt, habe ich da auch schon 
hinbekommen.
Am Anfang vermutlich vorsichtshalber erstmal ein paat I2C-Stop schicken, 
damit der Bus und die Slaves in einem definierten Zustand kommen.

Gruß aus Berlin
Michael

von René P. (speedy909)


Lesenswert?

danke Michael U.,

jetzt weiß ich wo ich suchen muss! --> das sich der LM75 aufhängen kann 
hab ich nicht gewusst
ich bau jetzt zuerst mal meine hardware fertig auf und kümmere mich 
später um das softwareproblem

von Bensch (Gast)


Lesenswert?

Problem hatte ich mit einer RTC, der Quarz braucht bis zu 10 sec zum 
Anschwingen. Wenn in der Zeitspanne auf den Baustein zugegriffen wird, 
hängt sich der I2C komplett auf. Nach einigen sec Wartezeit ist der 
GoldCap soweit geladen, dass beim erneuten Hochfahren der Quarz bereits 
schwingt und dann alles ok ist.
Irgendwie merkwürdiges Verhalten der Bausteine, hätte man auch besser 
machen können.
Zum Glück gibt es für die PCF8563 eine softwarekompatible Alternative, 
sogar mit integriertem Quarz: RTC8564 von Epson.

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.