2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
avantage: Occupe moins de broches et a un faible coût
défaut:La vitesse de transmission est lente
Applications:Situations de communication longue distance et à faible vitesse
avantage: Taux de transmission rapide
défaut: Occupant de nombreuses broches et coût élevé
Applications:Situations de courte distance.
Les données ne peuvent être transférées que dans un seul sens.
Les données peuvent être transférées dans les deux sens, mais elles doivent être partagées en temps partagé.
Les données peuvent être transmises simultanément dans les deux sens.
Transfert de données avec port horloge
Il n'y a pas de port d'horloge et l'expéditeur et le destinataire utilisent leurs propres horloges pour contrôler le processus d'envoi et de réception des données.
Signification : Émetteur-récepteur asynchrone universel, un bus de données série, Il convertit les données parallèles en données série pour la transmission lors de l'envoi de données, et convertit les données série reçues en données parallèles lors de la réception des données. Deux lignes de signal sont nécessaires pour y parvenir. L'une est utilisée pour la transmission du port série et l'autre est responsable de la réception du port série TXD et RXD entre les deux appareils qui doivent être connectés de manière croisée.
1.couche physique: Type d'interface, niveau standard, etc.
2.Couche de protocole: Protocole de communication (y compris le format des données, le taux de transmission, etc.)
UART Une trame de données en émission ou en réception est constituée de 4 Il se compose d'un bit de démarrage, d'un bit de données, d'un bit de parité et d'un bit d'arrêt. 。
peu de démarrage: Au début d'une trame, un bit faible de niveau bas 0 doit être maintenu.
Bits de données: Les bits de données à transmettre, les bits de données peuvent être de 5 à 8 bits, LSB en premier, MSB en dernier.
Chiffre de contrôle: Bit facultatif, occupe un bit et n'a pas besoin d'être vérifié.
Bit d'arrêt: La fin d'une trame, obligatoire, occupant éventuellement 0,5/1/1,5/2 bits, maintenant un niveau logique haut.
Débit en bauds : le débit de communication série est exprimé par le débit en bauds, qui représente le nombre de bits de données binaires transmis par seconde. L'unité est le bps (bits par seconde).Les débits en bauds couramment utilisés sont de 9 600、19200、38400, 57600 et 115200 attendez.
L'UART est chargé de terminer la conversion série-parallèle des données, tandis que la transmission du signal est mise en œuvre par un circuit pilote externe.Le processus de transmission des signaux électriques a différentes normes de niveau et spécifications d'interface pour la communication série asynchrone.Normes d'interfaceIl y a RS232、RS422, RS485, etc., qui définissent différentes caractéristiques électriques de l'interface, telles que RS-232 est une entrée et une sortie asymétriques, tandis que RS-422/485 Pour entrée et sortie différentielles
La tâche expérimentale de cette section est que l'ordinateur hôte envoie des données à la Venus Development Board et à la Venus Development Board PL via l'assistant de débogage du port série. Le terminal reçoit des données via le port série USB_UART et envoie les données reçues à l'ordinateur hôte pour terminer le bouclage des données du port série. Débit en bauds UART : 115 200. Bit d'arrêt : 1, bit de données 8, pas de bit de parité.
Dans le module uart_rx : uart_rxd correspond aux données reçues par le port série, et uart_rx_done indique que la conversion des données est terminée (les données sont converties des données parallèles en données série). uart_rx_data représente les données série une fois la conversion terminée. Remarque : les données parallèles reçues sont de 1 bit et les données série converties sont de 8 bits.
Dans le module uart_tx : uart_tx_dat représente les données série 8 bits qui ont été converties, uart_tx_en représente que les données ont été converties de parallèle en série, uart_txd représente les données parallèles converties et uart_tx_busy représente que les données ont été converties de série en série. série et est en cours de conversion.
Étant donné que uart_rxd est un signal asynchrone et que le bit de démarrage est de niveau bas, il est nécessaire de capturer le changement de front descendant, il doit donc être traité en trois battements, afin que le signal du bit de démarrage de la réception des données puisse être obtenu.start_frLe signal indique que des données parallèles arrivent, puis la conversion parallèle en série peut être effectuée ;
drapeau rx Indique que la conversion des données parallèles en données série est en cours, en commençant par start_en et en terminant par rx_cnt=9 et baud_cnt à 216. Ceci permet d'éviter la situation dans laquelle le bit de début des données de trame suivante arrive avant la fin des données de trame, de sorte que le bit d'arrêt est contrôlé à 0,5 bits ;
baud_cnt: L'horloge système est de 50 MHz, soit 5 000 000, et le débit en bauds ici est de 115 200, donc 5 000 000/115 200 = 434, c'est-à-dire qu'il faut 434 cycles d'horloge système pour transmettre un bit de données, le compteur baud_cnt est donc nécessaire.
données_rx : Étant donné que les données série sont de 8 bits, il est préférable d'ajouter un index pour faciliter la recherche d'un certain bit de données et l'attribution d'une valeur. Par conséquent, rx_cnt est requis.
rx_data_t:Données série converties.
diagramme de forme d'onde uart_rx
uart_tx_en : indique que la conversion des données série est terminée, c'est-à-dire le signal uart_rx_done.
uart_data_t : stocke temporairement les bits de données série après la conversion pour faciliter la transmission ultérieure.
baud_cnt : Idem que ci-dessus.
tx_cnt : Idem que ci-dessus.
diagramme de forme d'onde uart_tx
forme d'onde de simulation uart_rx
simulation de forme d'onde uart_tx
diagramme global de forme d'onde uart
Ouvrez l'outil de débogage du port série
Ajoutez l'attribut de débogage au signal qui doit être débogué, gravez le programme sur la carte de développement et entrez les informations suivantes dans l'assistant de port série.
Parce que les codes hexadécimaux à quatre chiffres de 55 66 77 sont respectivement 0101 0101, 0110 0110, 0111 0111.