Compartir tecnología

Experimento de comunicación en serie UART

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. Tipos de comunicación

1.1 Según método de comunicación de datos

1.1.1 Comunicación serie

ventaja: Ocupa menos pines y tiene bajo coste

defecto:La velocidad de transmisión es lenta

AplicacionesSituaciones de comunicación a larga distancia y baja velocidad.

1.1.2 Comunicación paralela

ventaja: Velocidad de transmisión rápida

defecto: Ocupa muchos pines y tiene un coste elevado

Aplicaciones:Situaciones de corta distancia.

1.2 Según la dirección de transmisión de datos

1.2.1 Comunicación símplex:

      Los datos sólo se pueden transferir en una dirección.

1.2.2 Comunicación semidúplex:

Los datos se pueden transferir en ambas direcciones, pero es necesario dividirlos en el tiempo.

1.2.3 Comunicación full-duplex:

Los datos se pueden transmitir en ambas direcciones simultáneamente.

1.3 Clasificación por dirección de sincronización de datos

1.3.1 Comunicación síncrona

Transferencia de datos con puerto de reloj

1.3.2 Comunicación asincrónica

No hay un puerto de reloj y el remitente y el receptor utilizan sus propios relojes para controlar el proceso de envío y recepción de datos.

2. Puerto serie UART

Significado: Transmisor Receptor Asíncrono Universal, un bus de datos en serie, Convierte datos paralelos en datos en serie para su transmisión al enviar datos y convierte los datos en serie recibidos en datos paralelos al recibir datos. Se necesitan dos líneas de señal para lograr esto. Una se usa para la transmisión del puerto serie y la otra es responsable de la recepción del puerto serie. TXD y RXD entre los dos dispositivos deben estar conectados de forma cruzada.

1.capa fisica: Tipo de interfaz, nivel estándar, etc.

2.Capa de protocolo: Protocolo de comunicación (incluido formato de datos, velocidad de transmisión, etc.)

Unidad de control unidireccional (UART) Una trama de datos durante la transmisión o recepción consta de 4 Consta de un bit de inicio, un bit de datos, un bit de paridad y un bit de parada. 。

        bit de inicio: Al comienzo de una trama, se debe mantener un bit bajo de nivel bajo 0.

        bits de datos: Los bits de datos que se transmitirán, los bits de datos pueden ser de 5 a 8 bits, LSB primero y MSB al final.

        Dígito de control: Bit opcional, ocupa un bit y no es necesario comprobarlo.

        bit de parada: El final de una trama, requerido, ocupa opcionalmente 0,5/1/1,5/2 bits, manteniendo la lógica en un nivel alto.

Velocidad de transmisión: la velocidad de comunicación en serie se expresa mediante la velocidad de transmisión, que representa la cantidad de bits de datos binarios transmitidos por segundo. La unidad es bps (bits por segundo).Las velocidades en baudios más utilizadas son 96001920038400, 57600 y 115200 esperar.

La UART es responsable de completar la conversión de datos de serie a paralelo, mientras que la transmisión de la señal se implementa mediante un circuito controlador externo.El proceso de transmisión de señales eléctricas tiene estándares de diferentes niveles y especificaciones de interfaz para comunicación en serie asíncrona.Estándares de interfazHay RS232RS422, RS485, etc., que definen diferentes características eléctricas de la interfaz, como RS-232 es una entrada y salida de un solo extremo, mientras que RS-422/485 Para entrada y salida diferencial

esperar.

3. Tareas experimentales

        La tarea experimental de esta sección es que la computadora host envíe datos a la Placa de desarrollo Venus y a la Placa de desarrollo Venus PL a través del asistente de depuración del puerto serie. El terminal recibe datos a través del puerto serie USB_UART y envía los datos recibidos a la computadora host para completar el bucle de datos del puerto serie. Velocidad de baudios UART: 115200. Bit de parada: 1, bit de datos 8, sin bit de paridad.

4. Dibujar el diagrama de bloques del sistema.

En el módulo uart_rx: uart_rxd son los datos recibidos por el puerto serie y uart_rx_done indica que la conversión de datos se completa (los datos se convierten de datos paralelos a datos en serie). uart_rx_data representa los datos en serie una vez completada la conversión. Nota: Los datos paralelos recibidos son de 1 bit y los datos en serie convertidos son de 8 bits.

En el módulo uart_tx: uart_tx_dat representa los datos en serie de 8 bits que se han convertido, uart_tx_en representa que los datos se han convertido de paralelo a serie, uart_txd representa los datos en paralelo convertidos y uart_tx_busy representa que los datos se han convertido de serie a serial y se está convirtiendo.

       

5. Dibujar un diagrama de forma de onda.

Debido a que uart_rxd es una señal asíncrona y el bit de inicio es de nivel bajo, es necesario capturar el cambio del flanco descendente, por lo que debe procesarse en tres tiempos para que se pueda obtener la señal del bit de inicio de recepción de datos.inicio_esLa señal indica que están llegando datos en paralelo y luego se puede realizar la conversión de paralelo a serie;

                  bandera rx Indica que la conversión de datos paralelos a datos en serie está en progreso, comenzando desde start_en y terminando con rx_cnt=9 y baud_cnt a 216. Esto es para evitar la situación en la que el bit de inicio de los datos del siguiente cuadro llega antes de que finalicen los datos del cuadro, por lo que el bit de parada se controla a 0,5 bits;

                 número de baudios: El reloj del sistema es de 50 MHz, que es 50000000, y la velocidad en baudios aquí es 115200, por lo que 50000000/115200 = 434, es decir, se necesitan 434 ciclos de reloj del sistema para transmitir un bit de datos, por lo que se necesita el contador baud_cnt.

                datos rx : Debido a que los datos en serie son de 8 bits, es mejor agregar un índice para facilitar la búsqueda de un determinado bit de datos y asignar un valor. Por lo tanto, se requiere rx_cnt.

                 datos_rx_t:Datos seriales convertidos.

diagrama de forma de onda uart_rx

uart_tx_en: indica que la conversión de datos en serie se ha completado, es decir, señal uart_rx_done.

uart_data_t: almacena temporalmente los bits de datos en serie después de la conversión para facilitar la transmisión posterior.

baud_cnt: Igual que el anterior.

tx_cnt: Igual que el anterior.

diagrama de forma de onda uart_tx

6. Simulación

forma de onda de simulación uart_rx

simulación de forma de onda uart_tx

diagrama general de forma de onda de uart

7. Verificación a nivel de placa

Abra la herramienta de depuración del puerto serie

Agregue el atributo de depuración a la señal que necesita ser depurada, grabe el programa en la placa de desarrollo e ingrese la siguiente información en el asistente del puerto serie.

Porque los códigos hexadecimales de cuatro dígitos de 55 66 77 son 0101 0101, 0110 0110, 0111 0111 respectivamente.