msp430g2553, wie kann ich eine UART-Baudrate von mehr als 9600 erreichen?

Ich habe ein msp430g2553 in seiner Startrampe. Ich habe versucht, eine Baudrate von 19200 mit dem UART zu verwenden, und ich bekomme Kauderwelsch. Nach dem, was ich gefunden habe, begrenzt etwas mit dem Launchpad oder den Treibern die UART-Baudrate auf 9600. Aus den Datenblättern weiß ich, dass der Chip bis zu 1 MBd übertragen kann, aber ich kann nichts finden, das mir sagt, wie ich eine Übertragungsrate nutzen soll höher als 9600. Welche Hardware oder Software benötige ich, damit der msp430 schneller mit meinem Computer kommuniziert?

PS Ich verwende das msp430, um ADC-Samples an ein C # -Programm auf meinem Computer zu senden, und das funktioniert perfekt bei 9600, aber ich kann es nicht schneller machen.

BEARBEITEN: "Der MSP selbst kann bis zu 1 MBd erreichen. Es ist der USB / Ser-Konverter im LaunchPad (der sogenannte Anwendungs-UART), der auf 9600 Bd begrenzt ist - sein Hochgeschwindigkeitsteil ist für die JTAG-Funktionalität (Debugging) erforderlich ." -Quelle . _ Wie kann ich also anstelle des Launchpads eine USB/serielle Verbindung einrichten?

Verwenden Sie einen externen Kristall? Sie benötigen es für höhere Baudraten.
Ich verwende den externen Kristall nicht, aber das Datenblatt besagt, dass ich eine Reihe höherer Raten als 9600 verwenden kann, während ich mit 1 MHz laufe. Ich muss es nicht mit der maximalen Baudrate ausführen, nur mit etwas mehr als 9600.
Woher wissen Sie, dass das Problem eher der MSP430 UART als der ADC oder Ihr Computer ist? Wie hast du das Problem eingegrenzt?
Der ADC läuft mit 200 ksps und ich verwende Interrupts, das ist also ausreichend schnell, um eine Baudrate von 19200 zu verwenden. Wenn ich die ti-Treiber für den msp430 uart und putty zum Empfangen der Daten verwende, erhalte ich nicht die richtigen Zeichen vom msp. Ich habe mehrere Stunden damit verbracht, Baudraten für den msp430 zu googeln, und an einigen Stellen heißt es, dass entweder das Launchpad oder die Treiber (ich konnte nicht genau herausfinden, welche) nichts über 9600 Bd zuließen. Ich weiß, dass der Chip aufgrund der Datenblätter besser abschneiden kann, aber ich konnte keine Möglichkeit finden, uart ohne das Standard-Launchpad und die Treiber zu implementieren.
Haben Sie die Codebeispiele von TI ausprobiert? Ich nehme an, Sie haben den DCO zusammen mit dem 32768-Hz-Quarz aktiviert.
Ich habe meinen UART auf dem TI-Beispiel basiert, ich werde versuchen, meinen Code heute Abend zu posten. Ich habe nicht mit den Uhren herumgespielt; Es sollte mit dem Standardwert von 1 MHz laufen, da es den 104-Teiler für eine 9600-Baud-Rate verwendet.

Antworten (2)

Wie Sie bereits bemerkt haben, ist der USB-Treiber des Launchpads für 9600 bps fest codiert. Sie können es nicht ändern.

Wie kann ich also anstelle des Launchpads eine USB/serielle Verbindung einrichten?

Durch Umgehen der seriellen USB-Verbindung des Launchpads. Sie benötigen einen seriellen TTL-Adapter von USB auf ~3,3 V (3,6 für Launchpad-Standardspannung).

Entfernen Sie einfach die RX- und TX-Jumper und verbinden Sie den RX des MSP430 mit dem TX des seriellen Adapters und den TX des MSP430 mit dem RX des Adapters. Sie können das msp430 weiterhin über das Launchpad programmieren und debuggen, da es lediglich die SBW- und RST-Jumper benötigt.

Konfigurieren Sie den msp430 so, dass er der Geschwindigkeit entspricht, die Sie benötigen. Jeder Standard-FTDI- oder Prolific- oder Cypress-USB-Seriell-IC mit der richtigen Spannung würde funktionieren.

Danke, ich dachte, ich brauche einen seriellen Adapter, aber niemand im Internet hat gesagt, was Sie damit machen oder was Sie bekommen müssen, nur dass das Launchpad nicht für schnellere Baudraten funktionieren würde.
@ Marcopolo1613 ja, entfernen Sie einfach die RX- und TX-Jumper und verbinden Sie den RX des MSP430 mit dem TX des seriellen Adapters und den TX des MSP430 mit dem RX des Adapters. Sie können das msp430 weiterhin über das Launchpad programmieren und debuggen, da es lediglich die SBW- und RST-Jumper benötigt.

Die Baudrate stellen Sie mit den Registern UCA0BR0 und UCA0BR1 ein. Schlagen Sie im Datenblatt nach, auf welche Werte sie gesetzt werden sollen. Stellen Sie sicher, dass Ihr Computer auf die vernünftige Baudrate eingestellt ist. Sie können mit einem Terminalprogramm wie Putty testen.

Ich habe die empfohlenen Werte aus den Datenblättern vor dem Posten verwendet und Putty zum Testen verwendet. Wenn die Baudrate über 9600 geht, bekomme ich die falschen Zeichen. Nach dem, was ich gelesen habe, hat das Problem mit einem codierten Limit auf dem Launchpad oder den Treibern zu tun, nicht mit dem Chip. Also versuche ich herauszufinden, wie ich trotz dieser Grenze über 9600 kommen kann, dh Hardware oder Software für eine bessere serielle USB-Kommunikation mit einem msp430g2553.
Dies ist direkt von einem Texas Instruments-Ingenieur in ihren Foren: "Sie können 1000000 Baudrate mit einem 16-MHz-Takt verwenden. (UCOS16 = 1, UCBRx = 1, UCBRSx = 0, UCBRFx = 0)." Hast du deine Putty-Einstellungen nochmal überprüft? Haben Sie einen Bereich, um zu sehen, ob die von Ihnen gesendeten Daten korrekt sind?
Haben Sie bei der Verwendung von Putty die richtige Baudrate ausgewählt? Stellen Sie sicher, dass die gleiche Baudrate ausgewählt ist, sonst erhalten Sie falsche Daten. Wenn es nicht funktioniert, würde ich Ihnen vorschlagen, eine ähnliche Software wie Tera Term nur für die Konformation zu verwenden.
Ich habe in Putty die richtige Baudrate eingetragen. Mir ist auch bewusst, dass der Chip mit dem 16-MHz-Takt 1 MBd erreichen kann, aber lässt das Launchpad (die rote Platine) etwas über 9600 zu? Nach dem, was ich bei Google gefunden habe, ist dies nicht der Fall, obwohl es keinen Sinn ergibt, warum es das tut. Ich suche jemanden, der ein bewährtes und getestetes Beispiel für höhere Baudraten hat und wie sie es gemacht haben (dh zusätzliche Hardware oder eine Softwareumgehung).