Hallo,
Ich möchte mit meinem Mikrocontroller MSP4030G2335 einen
Ultraschallsensor SRF08 via I2C auslesen.
Den Ultraschallsensor (Power,Ground) mit 5V Spannung zu versorgen ist ja
kein Problem.
Nun ist die Sache das mein Mikrokontroller wohl per 3,3V über I2C
kommuniziert und mein Ultraschallsensor allerdings 5V auf SDA, SCL haben
möchte wenn ich das richtig sehe??
Oder möchte der Ultraschallsensor 5V Spannungsversorgung, ihm reichen
aber 3,3V für die Kommunikation über I2C?
Sollte man dann ev. einen Spannungswandler einsetzen?
Gruß
Tammi
Hallo Tammi,
meinst Du den MSP430G2553? Der hat 5V-tolerante Eingänge -- trotzdem
würde ich Pegelwandler einsetzen. DER Standardtext dazu ist diese
AppNote von Philips:
http://www.datasheetarchive.com/dlmain/Datasheets-25/DSA-492462.pdf
(finde den Text nicht direkt bei einem Hersteller - sry). Ich verwende
meist die Schaltung unter "2.3" und benutze als MOSFETS z.B. BSS138;
andere mögliche Transistoren sind in der AppNote angegeben. Es gibt auch
fertige Pegelwandler-ICs. Pull-Ups nicht vergessen!
Gruß
Fred
Hey Fred,
erstmal vielen Dank für die schnelle und informative Antwort!!
Wenn ich nun 8 Pegelwandler brauche, könnt ich den hier nehmen?
http://www.exp-tech.de/Shields/8-channel-Bi-directional-Logic-Level-Converter---TXB0108.html
Der ist für 3,3V -> 5V gedacht und Bidirektional.
Wohl genau das richtige für I2C.
Oder gibts sons noch was worauf man achten sollte?
z.B. Wandlungszeit oderso?
Gruß
Tammi
Fred S. schrieb:> meinst Du den MSP430G2553? Der hat 5V-tolerante Eingänge
Nein, die hat er nicht. Wie kommst Du auf die Idee, daß er welche haben
soll?
Sieh im Datenblatt, Tabelle "Absolute Maximum Ratings":
"Voltage applied to any pin" ist -0.3V bis VCC + 0.3V.
Da VCC wiederum maximal 4.1V betragen darf, ist der absolute Grenzwert
bei 4.4V anzusetzen -- aber eben nur, wenn VCC bei 4.1V liegt.
Nochmal: Das sind die absolute maximum ratings, also Werte, die auf
keinen Fall zu überschreiten sind.
Fred S. schrieb:> Tut mit leid, hatte die G mit der F-Serie verwechselt.
Welcher MSP430Fxxx soll denn bitte 5V-kompatible Eingänge haben?
Der 'F543x/541x beispielsweise hat auch keine.
Tatsächlich.
Das ist möglicherweise eine auf die USB-fähigen Varianten beschränkte
Eigenschaft; bei anderen MSP430-Familienmitgliedern habe ich so etwas
noch nie gesehen -- deswegen auch meine ungläubige Frage.
Mal eine andre Frage..
Wenn ich 8 Ultraschallsensoren, wenn sie denn einen 3,3V Pegel hätten an
einen I2C anschließen kann, brauch ich dann nicht für 8
Ultraschallsensoren auch nur einen Pegelwandler??
Tammi schrieb:> Wenn ich 8 Ultraschallsensoren, wenn sie denn einen 3,3V Pegel hätten an> einen I2C anschließen kann
Wichtig ist, daß Du für jeden Sensor eine individuelle Adresse
einstellst, denn sonst fühlen sich alle gleichzeitig angesprochen.
1
Die Standardadresse (Lieferzustand) des SRF08 ist 0xE0.
2
Vom Benutzer kann die Adresse auf eine der folgenden 16
3
Adressen eingestellt werden:
4
E0, E2, E4, E6, E8, EA, EC, EE, F0, F2, F4, F6, F8, FA, FC und FE.
Was ich aber noch nicht ganz verstanden hab..
Bei dem
http://www.farnell.com/datasheets/1634018.pdf
steht bei:
Internal 10-kΩ Pullup Resistor on Each Port
and Option to Add External Pullup Resistor if
Required
im Datenblatt vom SRF08 steht:
Die SCL und SDA
Leitungen werden einmal auf dem gesamten
Bus durch Pull-Up Widerstände
abgeschlossen (gewöhnlich am Bus-Master).
Nun versteh ich noch nicht ganz ob die Pullup-Widerstände von dem
I2C-Pegelwandler zu hoch sein könnten bzw ob ich nun noch extra
Widerstände für den Ultraschallsensor brauche, und wenn ja wie hoch oO
In der Empfehlung vom Ultraschallsensorhersteller steht:
Die SDA und SCL-Leitungen sollten einen 5V Pullup-Widerstand haben,
empfohlen sind 1,8kOhm. Der SRF08 fungiert immer als Slave, nie als Bus
Master.
Schalt ich dann die Pull-Up-Widerstände nur auf der 5V Seite oder auch
auf der 3,3V Seite? Oo
Tammi schrieb:> Schalt ich dann die Pull-Up-Widerstände nur auf der 5V Seite oder auch> auf der 3,3V Seite?
Hat der 'G2553 interne Pullups, die Du verwenden kannst?
Sind 10k als I2C-Pullups ausreichend oder zu hochohmig?
Damit dürftest Du Deine Frage selbst beantworten können.