Wenn ich das Datenblatt richtig verstanden habe, dann werden über den Anschluss DQ des DS18B20 Daten empfangen und gesendet. Auf der MSP430 Seite muss auch ein Anschluss benutzt werden, der Daten empfangen und senden kann. Kann man UTXD und URXD einfach verbinden oder welchen Anschluss sollte man nehmen ? Es gibt ja auch noch I²C und SPI. MfG Wolfgang
vermutlich 1-wire ;-) das must du selber implementieren (über eine i/o leitung)
Sicher ist das 1Wire Hat die gleichen Eigenschaften wie der S20 nur das man hier die Auflösung zwischen 9 und 12 Bit wählen kann.
Da hab ich vermutlich meine Frage ungeschickt gestellt. Richtig, es ist 1-wire. Noch einmal das sich mir stellende Problem: Wenn ich Daten zum DS18B20 senden will, würde ich den Ausgang UTXD0 des µC verwenden. Um Daten vom DS18B20 zu empfangen, würde ich URXD0 des µC verwenden. Da aber beides über nur eine Leitung läuft, meine Frage, ob man URXD0 und UTXD0 verbinden kann, ohne etwas zu zerstören. Oder macht man das völlig anders? MfG Wolfgang
Ach so meinste das. Nein bei 1W wird nur über eine Leitung komuniziert. Ist ja sozusagen der Witz an der Geschichte. Je nachdem womit du Programierst bekommste fertige Routinen/Befehle oder mußt dir das Protokoll selber zusammenstricken (Is nicht besonders schwer)
Der Witz ist mir bekannt, dass alles über eine Leitung läuft. Und das ist für mich aber auch das Problem. Wo ist diese eine Leitung am µC anzuschließen? UTXD des µC ist ja vorzugsweise zum Senden und URXD vorzugsweise für den Empfang von seriellen Daten vorgesehen. MfG Wolfgang
Genau da liegt der Hacken. UTXD & URXD sind die PINs Des UARTs. Für das 1-Wire Protokoll reicht ein einfacher Portpin den kannst Du als Eingang und als Ausgang schalten. Beim 1-wire Protokoll ist das Timing das entscheidende. Die Daten kommen zwar seriell rein sind aber in keinster Weise RS232 konform sprich das was der uart erwartet. Wenn Du etwas suchst dann dürftest Du hier einiges an Code finden. Ich bin gerade daran eine 1-wire GPL Implemementierung in C zu schreiben. Ist im Moment noch etwas AVR lastig das sollte sich aber durch ein paar Makros ändern lassen. Leider hat das Semester wieder angefangen und ich habe wieder weniger Zeit für solche Projekte. Gruß Christian
Hi! Es würde funktionieren, die UART-Implementierung von 1wire (mit unterschiedliche Baudraten) zu verwenden. Dazu einfach UTXD und URXD verbinden die dann DQ bilden. Problem ist halt der Strong-Pull-Up. Aber am einfachsten würde sein, eine SW-Implementierung durchzuführen. Und die basic-OW-Instructions zu implementieren (ein Oszi währe dabei sehr hilfreich). Durch die Three-State I/O's vom MSP430 kann man alles wunderbar mit einer Leitung machen. mfg Weichinger Klaus www.weinga-unity.at.tt
Für 1-wire muß man einen opendrain-Pin simulieren. Hier ist ein AVR-Beispielcode: http://www.mikrocontroller.net/forum/read-4-84831.html#new Für ne andere CPU muß man nur die Portpinzugriffe und die Zeitverzögrungen anpassen. Peter
Ich denke, dass meine Frage zunächst geklärt ist. danke Auf UTXD und URXD kam ich, weil im Datenblattbeispiel Rx und Tx verbunden abgebildet worden sind. Das war wohl keine so gute Idee. Also werde ich die DQ Leitung an einen I/O Pin hängen und es mit einem Programmbeispiel nacharbeiten. MfG Wolfgang
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.