@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
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.
@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.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.