Hallo, ich moechte eine Hardware entwickeln um von RS232 auf diverse andere Bussysteme umzusetzen. Zum einen I2C weil es dafuer sehr viele schoene und guenstige Sensoren und Aktoren gibt. Zum anderen habe ich vor kurzem von dem DS1820 gehoert. Ein Temperatursensor mit 1-Wire(TM) Bussystem. Ziemlich geniale Geschichte und absolut lowcost. (Datenblatt als Anhang) Jetzt meine eigentliche Frage: Brauche ich fuer einen solchen Einsatz ueberhaupt zwei Hardware UARTs? Ich koennte genausogut Port1 eines MSP430F1232 mit einem Interrupt belegen und bitweise die Daten einlesen. (Ist umstaendlich, aber es geht.) Bringt mir ueberhaupt ein zweites Hardware UART im Falle 1-Wire(TM) irgendwelche vorteile, oder ist das Geldverschwendung? - Der kleinste/guenstigste MSP430 mit zwei Hardware UARTs ist der MSP430F147 (32KB+256B Flash Memory, 1KB RAM). Dank seiner Bauform ist das stecken auf ein Experimentierboard gestorben was jedoch auch nicht weiter tragisch ist, da ich sowieso fuer die Anwendung ein eigenes Board entwickeln muss. - Und das wird vorerst mit JTAG Schnittstelle gebaut. :-) Bin ich vieleicht auch auf dem Holzpfad und habe mich irrsinnigerweise in den MSP430 verliebt? Auch Tipps zu anderer Hardware (ATMEL, PIC,...) sind willkommen. Es wird zeit fuer ne Prise Schlaf... Gute Nacht, Michael
Hallo, die U(S)ARTs nützen dir weder bei 1-Wire noch bei I2C etwas, das muss man sowieso in Software machen. Ein paar der "größeren" MSP430 haben Hardware-I2C, aber das ist überhaupt nicht nötig. Andreas
Hallo Michael, die U(S)ARTs sind für RS232 gedacht. Für andere Protokolle (z.B. I2C) gibts teilweise auch Hardwareunterstützung. I2C ist ein (geschützter) Begriff von Philips(?), deswegen nennen die anderen Hersteller das manchmal anders, bei Atmel heißt es TWI. Außerdem findet man oft noch Unterstützung für das SPI-Interface. Hardwareunterstützung für das 1-Wire-Protocol kenne ich nicht. Ob man die Schnittstellen unbedingt in Hardware braucht, hängt vor allem von der Systemlast und der Geschwindigkeit der Schnittstellen ab. Wenn Du z.B. Daten mit 400kHz von einem EEPROM lesen willst und gleichzeitig mit 115200bps auf RS232 zugreifen willst, dann ist Hardwareunterstützung sicher eine große Erleichterung. Andererseits gibts sehr viele Anwendungen, bei denen sich der Microcontroller auch bei 1MHz Takt noch langweilt. Ein DS1820 nach RS232-Umsetzer ist sicher so ein Fall. Markus
@Andreas: Laut dem Datenblatt hat sogar schon der MSP430F1232 ein Hardware USART (ich muss mal raussuchen wofuer das S steht) das I²C unterstuetzt. In den Datenblaettern ist das zwar mit einem PRELIMINARY Wasserzeichen hinterlegt, dennoch sollte diese Funktion existieren. Ich kann also beruhigt den Interrupt fuer die Datenpins von Port 1 anschalten und als Waechter fuer RX laufen lassen. Btw. Wenn ich nun hergehe und 1-Wire machen will, dann muss ich staendig die Direction umschalten. Kostet das nicht auch Cycles und kann einen faelschlichen Interrupt erzeugen? Gibt es zum Thema 1-Wire bereits existente Dokumentation um mit einem MSP430 zu realisieren? Ich denke, dass ich dann doch lieber bei der fuer mich einfachen Bauform des MSP430 bleibe. Mehr RAM und mehr Flash ist zwar auch reizvoll, jedoch deutlich umstaendlicher zu handlen und wirklich noch nicht notwendig. Jetzt geh ich aber wirklich Schlafen, Michael
Hallo Michael, also im Datenblatt dieses MSPs kann ich nur sehen, daß der USART auch SPI kann. Von I2C finde ich da nichts. In der Übersicht http://focus.ti.com/docs/prod/productfolder.jhtml?genericPartNumber=MSP430F1232 steht allerdings, daß er I2C in Software realisiert. Markus
Hoppla, ich hatte mich auf die MSP430x1xx User Guide bezogen. In dieser wird das USART auch als I2C kompatibel beschrieben. Ich hab eben in dem Datenblatt nachgesehen und auch kein I2C gefunden. Waer ja auch zu schoen gewesen... Konkret heisst das fuer mich, dass ich sowieso I2C und 1-Wire via Software erledigen muss. Komm ich wohl nicht drum rum "Bit-Schiebereien" zu veranstalten. ;-)
Hallo Michael, Du kannst ja einen AVR verwenden. Einige davon (z.B. Mega8) machen I2C in Hardware. Markus
Hallo Michael, in meinem Projekt (mal wieder 'nen MP3-Player...) verwende ich I2C (damit wird der Decoder konfiguriert), SPI (Datenverbindung zum Controller) und RS-232 (derzeit noch Online-Verbindung zum Rechner, Steuerung, Debug-Ausgaben etc.). Das Ganze mit einem ATmega 162L: SPI und RS-232 in Hardware, I2C per Software, der 162 hat kein Hardware-I2C. Für die Softwarelösung habe ich im Netz eine Routine gefunden, die funktioniert wunderbar. Gerade, wenn man via I2C nur ein paar Daten und nur ab und an lesen muß (wie bei mir die Konfig-Daten für den Decoderchip), funktioniert das wunderbar. Gruß, Sebastian
ich weiß, dieser beitrag ist schon sehr alt, aber kennt jemand solch eine iic routine und könnte sie mir zeigen??? auch suche ich immernoch die initialiierung für die softwareemulation... mfg KoF
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.