Hardwarebeschaltung für eine Software-I2C

OP #1333898
Hallo,

ich habe einen µC der keine I2C-Schnittstelle hardwareseitig hat. Es 
sind aber noch zwei IOs frei. Der µC soll der Master sein, daher dürfte 
das kein Problem sein Softwaretechnisch umzusetzten.
Mein problem ist die Hardware.....
Die I2C ist ja ein Open-Drain. Das kann ich mit einem FET lösen. Aber 
wie kann ich der Hardware beibringen, dass ich die Leitung auch auslesen 
will?

Bei Schaltung als Eingang hat der µC einen Pull-Down, welchen ich leider 
auch nicht abschalten kann.
Als Ausgang treibt das Ding bis VCC und GND. Damit könnte es, wenn der 
Slave den SDA runterzieht und der Master noch nicht umgeschaltet hat 
doch zu einem Kurzschluss kommen, oder?

Kann mir wer eine vernünftige Hardwarebeschaltung geben.

Gruß,
Florian
Florian Degler schrieb:
> Kann mir wer eine vernünftige Hardwarebeschaltung geben.

- zeichne eine Linie von einem Portpin zu SDA
- zeichne eine Linie vom anderen Portpin zu SCL
- fertig ist der Schaltplan.


Um nun Open-Drain zu erreichen, setzte nach dem Reset beide Portpins auf 
0 und fasse sie nie wieder an.

Pin = 0-Ausgang: setzte Direction auf Ausgang
Pin = 1-Ausgang oder Eingang: setze Direction auf Eingang


Peter

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 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.