Soft I2C

Gast #216203
Ich versuche gerade einen nicht ganz I2C kompatiblen Sensor an einem
Atmega8 anzuschließen.
Mein Problem ist das ich nicht weiß wie ich die Ports progammieren
muß.

- Als Ausgang?
- Als Eingang?
- Nach jeder Übertragung umschalten um Ack zu empfangen?

Wie ereiche ich das der Sensor die Datenleitung auf Low ziehen kann.
Wie macht es der Interne TWI.

Für einen Tipp wäre ich dankbar.
Gast #216205
Das Protokoll ist nicht das Prob. sondern die verwendung der Pins nicht
das ich den Sensor zerschieße wenn ich ihm High gebe und er Low will
;-)
Gast #216206
Hi,

schau mal in die ATMEL Application Note 300 -> bei AVRfreaks kann diese
geladen werden:
http://www.avrfreaks.net/index.php?module=FreaksTools&func=viewItem&item_type=tool&item_id=75


Diese beschreibt einen Software I2C Master Implementierung.
Die I2C Pins werden mit Pullups (z.B.10K) versehen.
Das Datenrichtungsregister für diese PINs wird als Eingang
konfiguriert,interne Pullups nicht einschalten.
Durch Umschalten der Datenrichtung an den betreffenden Pin kann dann
zwischen Masse und +5V geschaltet werden, um die Signale zu erzeugen.

Gruss
Andreas
Gast #216209
Das Ausgangsbit wird einmalig auf 0 gesetzt und nie wieder angefaßt.

Zum Senden einer 0 das Richtungsbit auf 1 setzen.

Zum Senden einer 1 oder zum Empfang das Richtungsbit auf 0 setzen.

Das gilt für beide Signale (SDA und SCL) !

Damit simuliert man einen I2C-konformen Open-Drain Ausgang.


Peter

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.