www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 2x HW Uart / Sinnvoll?


Autor: Michael P. Jung (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Markus Kaufmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Michael P. Jung (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@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

Autor: Markus Kaufmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?...
steht allerdings, daß er I2C in Software realisiert.

Markus

Autor: Michael P. Jung (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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. ;-)

Autor: Markus Kaufmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Michael,

Du kannst ja einen AVR verwenden. Einige davon (z.B. Mega8) machen I2C
in Hardware.

Markus

Autor: Sebastian Voitzsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: KoF (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.