Wie LM75 an AVR anschließen ?

Gast #321890
Lesenswert?
• ▲
▼
@all

ich möchte einen LM75 via I2C an einen ATmega8 anschliessen.
- ja, Frauen können sowas auch -
Ich habe mich etwas belesen, und bin etwas irritiert über die teils
widersprüchlichen Aussagen bez. der Pull-up Widerstände.
Deshalb hier meine Fragen:

1. Müssen diese Widerstände sein ?
2. Wenn ja, wie hoch muss der Widerstand sein ?
3. Müssen beide (SCL,SDA) mit einem Pull-up versehen werden ?

Gruß, Sabine
Gast #321891
Lesenswert?
• ▲
▼
Diese Widerstände müssen bei beiden Signalleitungen sein, es handelt
sich dabei um sogenannte Pullup Widerstände, die den Pegel der
Signalleitungen auf Versorgungsspannungspegel hochziehen. Der Wert der
Widerstände ist relativ unkritisch, 10kOhm ist ein üblicher Wert.
Gast #321892
Lesenswert?
• ▲
▼
@Sabine
Frauen dürfen das auch!!!

1. Ja
2. Der Wert, der mir am häufigsten über den Weg läuft ist 4k7
3. Ja

Nachtrag zu 2.
Ist im allgemeinen unkritisch. Jedoch bei hohen Frequenzen solltest du
möglichst niedrige Werte benutzen. Wenn du mehr erfahren möchtest, dann
lies dir z.B. App Notes von Maxim zum I2C Bus durch. Da bekommst du dann
Informationen aus erster Hand und musst dir nicht das dumme Gelaber
anhören und die Besserwisserei von irgendwelchen Forenteilnehmern über
dich ergehen lassen.

P.s.: Der ATMega8 kann I2C hardwaremäßig, das nennt sich bei Atmel
jedoch TWI (Two Wire Interface). Schau dir mal die Pins PC4 und PC5 an.

Wenn du mit CodeVision programmierst, kannst du die I2C Befehle auf
Hochsprachenebene ausführen, also i2c_read oder so ähnlich. Für ander
Compiler wirst du sicherlich libraries finden, also hier an diesem
Punkt bitte nicht das Rad neu erfinden.

In diesem Sinne viel Spaß beim basteln/arbeiten und vor allem Erfolg.
Gast #321893
Lesenswert?
• ▲
▼
Wenn SCL beim LM75 nur ein Eingang ist, dann kann man den im AVR auch
als Gegentaktausgang ohne pullup definieren (bei Software-I2C).

SDA braucht aber in jedem Fall einen. Da I2C nur für max 3mA
spezifiziert ist, sollte der Pullup nicht unter 1,8k sein.


Für Single-Master I2C ist Software-I2C zu bevorzugen, da einfacher und
sicherer.

Besonders bei langen Leitungen kann sich ein HW-I2C durch Störungen
verklemmen und dann wartet man ewig auf den Interrupt. Für ein
zuverlässiges HW-I2C muß man daher immer einen Watchdog-Timer
aufsetzen, der dann das HW-I2C resettet (disablen + neu
initialisieren).

Einige MCs haben daher gleich einen Watchdog-Timer ins HW-I2C mit
eingebaut, der bei I2C-Aktivitäten automatisch resettet wird. Der AVR
aber leider nicht.


Peter

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.