-
        

Ergebnis 1 bis 4 von 4

Thema: I2C an Controller

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    03.02.2004
    Ort
    Köln
    Alter
    35
    Beiträge
    84

    I2C an Controller

    Anzeige

    Hallo,

    ich würde gerne eine I2C Kommunikation an meinem Pontech SV203 Controller realisieren. Mir stehen I/O Ports und auch ein A/D Wandler zur Verfügung. Ich habe nicht sehr viel Ahnung von Elektronik und dachte mir, ich könnte ja die I/O Ports für SDA bzw. SCL verwenden und den Status (High/Low) mittels der A/D Ports messen. Nun tauchen bei mir einige Denkfehler (Fragen) auf (s. auch Abb.):

    1. So (wie in Abb.) kann ja kein Bus-Teilnehmer SDA bzw. SCL setzen?!

    2. Irgendwie fehlt mir ja jetzt Spannung, hab jedenfalls nicht mehr 5V wenn ich messe (irgendwie auch logisch wegen den Widerständen?!).

    Naja viel mehr die Frage, wie macht man es richtig, bzw. ist es mit diesen Ports überhaupt möglich?

    Thx!
    Martin

    Manual Pontech Board: http://www.pontech.com/products/sv20..._webmanual.pdf
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken i2c.gif  

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.801
    PullDown ist auch nicht angesagt. Was du brauchst sind PullUps nach Vcc für SDA und SCL.

    A/D-Wandler ist nicht gut, da sowohl I2C-Master als auch Slave SDA und SCL verändern können müssen. Optimal sind digitale I/O-Ports, die du zwischen LOW und High-Z schalten kannst. Kompletter Ausgangstreiber mit High-Treiber ist nicht gut, weil auf dem I2C-Bus ein 'Wired OR' benutzt wird, somit brauchst du Treiber mit Open Collector oder Open Drain.
    Deine I/O-Lines kannst du umschalten zwischen IN (High-Z) und OUT, das sollte es tun.

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    03.02.2004
    Ort
    Köln
    Alter
    35
    Beiträge
    84
    okay, I/O war vllt der falsche ausdruck. ich kann an den ports den pin nur auf High, Low setzen oder Togglen. Auslesen kann ich da glaube ich nix...

    Treiber mit Open Collector oder Open Drain?????

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.801
    Könnte so aussehen wie im Bild. OUT ist softwaremässig zu invertieren, weil der NPN invertiert.
    Bedenke aber, daß deine Konstruktion recht langsam wird.
    Wenn ichs recht verstanden habe, wird das Dings ja über PC und COM gesteuert, und der ADC braucht Zeit, um den Input zu liefern.
    Wenn es ein I2C-Slave werden soll, musst du aber halbwegs echtzeitfähig sein: Wenn der Master SCL runter zieht wirst du SCL weiter nach unten ziehen, bis du das entsprechende Bit verarbeitet hast. Fraglich ab du das schnell genug schaffst, so daß der Master auch auf dich wartet.
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken i2c-io.png  

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •