Mi informacion de contacto
Correo[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
ventaja: Ocupa menos pines y tiene bajo coste
defecto:La velocidad de transmisión es lenta
Aplicaciones:Situaciones de comunicación a larga distancia y baja velocidad.
ventaja: Velocidad de transmisión rápida
defecto: Ocupa muchos pines y tiene un coste elevado
Aplicaciones:Situaciones de corta distancia.
Los datos sólo se pueden transferir en una dirección.
Los datos se pueden transferir en ambas direcciones, pero es necesario dividirlos en el tiempo.
Los datos se pueden transmitir en ambas direcciones simultáneamente.
Transferencia de datos con puerto de reloj
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.
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 9600、19200、38400, 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 RS232、RS422, 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
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.
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.
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
forma de onda de simulación uart_rx
simulación de forma de onda uart_tx
diagrama general de forma de onda de uart
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.