ADC reenviando directamente a UART

0

Tengo un TM4C123GH6PM, también tengo la placa EK-TM4C123GXL con ese MCU. Soy nuevo en los microprocesadores y sigo estudiando para aprender. Tengo que implementar un proyecto con un módulo Bluetooth, que se conecta a través de UART a una MCU anfitriona. Quiero saber si puedo usar esta MCU para el host.

La MCU leerá una señal analógica, y debe muestrear de manera continua y periódica con una frecuencia de al menos 8000-10000 muestras por segundo. En tiempo real, estos datos se reenviarán directamente al UART y se enviarán al módulo Bluetooth. Mis preguntas son,

  • En primer lugar, ¿es posible con esta MCU?

  • En segundo lugar, sé cómo usar UART y cómo usar ADC básicamente, pero
    ¿Cómo configuro ADC para que se ejecute de forma periódica y continua? no es el predeterminado-?

  • En tercer lugar, como sé, el UART funciona con 10 bits cuando solo hay un bit de parada y ningún bit de paridad, el resto es de 8 bits, ¿cómo puedo hacer? solución para obtener 12 bits de datos por muestra de ADC, que no sea
    truncando?

pregunta natsirun

1 respuesta

2

Querrá muestrear a intervalos regulares con la menor fluctuación de fase posible, así que configure su programa MCU para que funcione con una interrupción de temporizador a la frecuencia de muestreo necesaria. Luego, en cada interrupción, lea los resultados de la conversión anterior y active la siguiente conversión. Algunas MCU tienen hardware incorporado que puede configurarse para desencadenar conversiones A / D desde un desbordamiento del temporizador.

A partir de las preguntas que ha formulado anteriormente, parece que tendrá que investigar un poco su MCU particular para averiguar cómo usar los temporizadores e interrupciones.

Los UART son buenos para bytes de datos de 8 bits. La forma en que transmite 12 bits desde un convertidor A / D es una de varias formas.

a) Envíe los primeros 8 bits de la muestra en un byte UART seguido de 4 bits en el siguiente byte UART.

b) Envíe los primeros 6 bits en un byte UART seguido de los 6 bits restantes en el siguiente byte UART.

c) Ambos enfoques anteriores desperdician el ancho de banda de UART en tiempos de bits que no transmiten datos útiles, por lo que otro esquema es enviar dos muestras de A / D (2 x 12 bits) empaquetadas en tres bytes de UART (3 x 8 bits). El empaque se puede dividir de varias maneras pero un método común es enviar la siguiente secuencia [Muestra1 (7: 0)] [Muestra2 (7: 0)] [Muestra1 (11: 8) Muestra2 (11: 8)].

    
respondido por el Michael Karas

Lea otras preguntas en las etiquetas