msp430g2553, ¿cómo puedo obtener una tasa de baudios UART superior a 9600?

Tengo un msp430g2553 en su plataforma de lanzamiento. He intentado usar una tasa de baudios de 19200 con el UART y obtengo un galimatías. Por lo que he encontrado, algo con la plataforma de lanzamiento o los controladores limita la tasa de baudios de UART a 9600. Por las hojas de datos, sé que el chip puede transmitir hasta 1 MBd, pero no puedo encontrar nada que me diga cómo utilizar cualquier tasa de transferencia. superior a 9600. ¿Qué hardware o software necesito para que el msp430 se comunique con mi computadora más rápido?

PD: estoy usando el msp430 para enviar muestras de ADC a un programa C# en mi computadora, y funciona perfectamente a 9600, pero no puedo hacerlo más rápido.

EDITAR: "El MSP en sí puede alcanzar hasta 1 MBd. Es el convertidor USB/ser dentro del LaunchPad (el llamado UART de aplicación) que está limitado a 9600Bd; su parte de alta velocidad es necesaria para la funcionalidad JTAG (depuración) ." - fuente . Entonces, ¿cómo puedo configurar una conexión USB/serie en lugar de la plataforma de lanzamiento?

¿Estás usando un cristal externo? Lo necesitará para velocidades de transmisión más altas.
No estoy usando el cristal externo, pero la hoja de datos dice que puedo usar un número de tasas más altas que 9600 mientras se ejecuta a 1 MHz. No necesito ejecutarlo a la velocidad máxima en baudios, solo algo superior a 9600.
¿Cómo sabe que el problema es el MSP430 UART en lugar del ADC o su computadora? ¿Cómo has aislado el problema?
El ADC funciona a 200ksps y estoy usando interrupciones, por lo que es bastante rápido usar una velocidad de transmisión de 19200. Usando los controladores ti para el uart msp430 y masilla para recibir los datos, no obtengo los caracteres correctos del msp. Pasé varias horas buscando en Google cosas de velocidad en baudios para el msp430, y varios lugares dicen que la plataforma de lanzamiento o los controladores (no pude averiguar cuál con certeza) no permitían nada por encima de 9600Bd. Sé que el chip puede funcionar mejor debido a las hojas de datos, pero no pude encontrar ninguna forma de implementar uart sin la plataforma de lanzamiento y los controladores estándar.
¿Probó los ejemplos de código de TI? Supongo que ha habilitado el DCO, junto con el cristal de 32768Hz.
Basé mi UART en el ejemplo de TI, intentaré publicar mi código esta noche. No me he metido con los relojes; debería funcionar a 1 MHz predeterminado, ya que utiliza el divisor 104 para una velocidad de transmisión de 9600 baudios.

Respuestas (2)

Como ha notado, el controlador USB del Launchpad está codificado para 9600bps. No puedes cambiarlo.

Entonces, ¿cómo puedo configurar una conexión USB/serie en lugar de la plataforma de lanzamiento?

Omitiendo la conexión serial USB del Launchpad. Necesita un adaptador serie TTL de USB a ~3,3 V (3,6 para voltaje estándar de Launchpad).

Simplemente retire los puentes RX y TX y conecte el RX del MSP430 al TX del adaptador en serie y el TX del MSP430 al RX del adaptador. Todavía puede programar y depurar el msp430 a través de la plataforma de lanzamiento, ya que todo lo que necesita son los puentes SBW y RST.

Configure el msp430 para que coincida con la velocidad que necesita. Cualquier ic estándar FTDI o Prolific o Cypress usb-serial con el voltaje correcto funcionaría.

Gracias, pensé que necesitaba un adaptador en serie, pero nadie en Internet dijo qué necesitaba hacer con él o qué obtener, solo que la plataforma de lanzamiento no funcionaría para velocidades de transmisión más rápidas.
@Marcopolo1613 sí, simplemente retire los puentes RX y TX, y conecte el RX del MSP430 al TX del adaptador en serie y el TX del MSP430 al RX del adaptador. Todavía puede programar y depurar el msp430 a través de la plataforma de lanzamiento, ya que todo lo que necesita son los puentes SBW y RST.

La tasa de baudios se establece con los registros UCA0BR0 y UCA0BR1. Busque en la hoja de datos a qué valores igualarlos. Asegúrese de que su computadora esté configurada a la misma velocidad en baudios. Puede probar con un programa de terminal como PuTTY.

He usado los valores recomendados de las hojas de datos antes de publicar, y he estado usando PuTTY para probarlo. cuando la tasa de baudios supera los 9600, obtengo los caracteres incorrectos. Por lo que leí, el problema tiene que ver con un límite codificado en la plataforma de lanzamiento o los controladores, no en el chip. Así que estoy tratando de averiguar cómo puedo superar 9600 a pesar de ese límite, es decir, hardware o software para una mejor comunicación USB-serie con un msp430g2553.
Esto es directamente de un ingeniero de instrumentos de Texas en sus foros: "puede usar 1000000 baudios con un reloj de 16 MHz. (UCOS16 = 1, UCBRx = 1, UCBRSx = 0, UCBRFx = 0)". ¿Has comprobado dos veces la configuración de masilla? ¿Tiene un alcance para ver si los datos que envía son correctos?
Al usar Putty, ¿ha seleccionado la velocidad de transmisión correcta? Asegúrese de seleccionar la misma velocidad de transmisión; de lo contrario, tendrá datos incorrectos. si no funciona, le sugiero que use un software similar como Tera Term solo para la conformación.
He ingresado la tasa de baudios correcta en PuTTY. Además, soy muy consciente de que el chip puede alcanzar 1 MBd con el reloj de 16 MHz, pero ¿la plataforma de lanzamiento (la placa de circuito roja) permite algo superior a 9600? Por lo que he encontrado en Google, no es así, aunque no tiene sentido por qué lo hace. Estoy buscando a alguien que tenga un ejemplo probado y probado de tasas de baudios más altas, y cómo lo hizo (es decir, hardware adicional o una solución de software).