2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Vorteil: Besetzt weniger Pins und ist kostengünstig
Mangel:Übertragungsgeschwindigkeit ist langsam
Anwendungen:Kommunikationssituationen über große Entfernungen und langsame Geschwindigkeit
Vorteil: Schnelle Übertragungsrate
Mangel: Belegung vieler Pins und hohe Kosten
Anwendungen:Kurzstreckensituationen.
Daten können nur in eine Richtung übertragen werden.
Daten können in beide Richtungen übertragen werden, es muss jedoch ein Time-Sharing erfolgen.
Daten können gleichzeitig in beide Richtungen übertragen werden.
Datenübertragung mit Uhrenport
Es gibt keinen Uhrenport und Sender und Empfänger verwenden ihre eigenen Uhren, um den Datensende- und -empfangsprozess zu steuern.
Bedeutung: Universal Asynchronous Receiver Transmitter, ein serieller Datenbus, Es wandelt beim Senden von Daten parallele Daten zur Übertragung in serielle Daten um und wandelt beim Empfangen von Daten die empfangenen seriellen Daten in parallele Daten um. Um dies zu erreichen, sind zwei Signalleitungen erforderlich. Eine dient zur Übertragung über die serielle Schnittstelle und die andere ist für den Empfang über die serielle Schnittstelle zuständig. TXD und RXD müssen über Kreuz verbunden sein.
1.physikalische Schicht: Schnittstellentyp, Levelstandard usw.
2.Protokollschicht: Kommunikationsprotokoll (einschließlich Datenformat, Übertragungsrate usw.)
UART Ein Datenrahmen während der Übertragung oder des Empfangs besteht aus 4 Es besteht aus Startbit, Datenbit, Paritätsbit und Stoppbit. 。
Startbit: Zu Beginn eines Frames muss ein Low-Bit mit Low-Level 0 beibehalten werden.
Daten Bits: Die zu übertragenden Datenbits können 5 bis 8 Bits lang sein, LSB zuerst, MSB zuletzt.
Prüfziffer: Optionales Bit, belegt ein Bit und muss nicht überprüft werden.
Stoppbit: Das Ende eines Frames, erforderlich, belegt optional 0,5/1/1,5/2 Bits und behält den logischen High-Pegel bei.
Baudrate: Die Geschwindigkeit der seriellen Kommunikation wird durch die Baudrate ausgedrückt, die die Anzahl der pro Sekunde übertragenen Bits binärer Daten darstellt. Die Einheit ist bps (Bits pro Sekunde).Üblicherweise werden Baudraten von 9600 verwendet、19200、38400, 57600 und 115200 Warten.
Der UART ist für die Durchführung der Seriell-Parallel-Umwandlung der Daten verantwortlich, während die Signalübertragung durch eine externe Treiberschaltung erfolgt.Der Übertragungsprozess elektrischer Signale weist unterschiedliche Ebenenstandards und Schnittstellenspezifikationen für die asynchrone serielle Kommunikation aufSchnittstellenstandardsEs gibt RS232、RS422, RS485 usw., die unterschiedliche elektrische Eigenschaften der Schnittstelle definieren, wie z RS-232 ist eine Single-Ended-Ein- und Ausgabe, while RS-422/485 Für differenziellen Ein- und Ausgang
Die experimentelle Aufgabe dieses Abschnitts besteht darin, dass der Host-Computer über den Debugging-Assistenten für die serielle Schnittstelle Daten an das Venus Development Board und das Venus Development Board PL sendet. Das Terminal empfängt Daten über den seriellen USB_UART-Anschluss und sendet die empfangenen Daten an den Host-Computer, um den Daten-Loopback des seriellen Anschlusses abzuschließen. UART-Baudrate: 115200. Stoppbit: 1, Datenbit 8, kein Paritätsbit.
Im uart_rx-Modul: uart_rxd sind die von der seriellen Schnittstelle empfangenen Daten, und uart_rx_done zeigt an, dass die Datenkonvertierung abgeschlossen ist (die Daten werden von parallelen Daten in serielle Daten konvertiert). uart_rx_data repräsentiert die seriellen Daten nach Abschluss der Konvertierung. Hinweis: Die empfangenen parallelen Daten sind 1 Bit und die konvertierten seriellen Daten sind 8 Bits.
Im uart_tx-Modul: uart_tx_dat stellt die konvertierten seriellen 8-Bit-Daten dar, uart_tx_en stellt dar, dass die Daten von parallel nach seriell konvertiert wurden, uart_txd stellt die konvertierten parallelen Daten dar und uart_tx_busy stellt dar, dass die Daten von seriell nach seriell konvertiert wurden seriell und wird konvertiert.
Da es sich bei uart_rxd um ein asynchrones Signal handelt und das Startbit einen niedrigen Pegel hat, muss der Abfallflankenwechsel erfasst werden. Daher muss er in drei Takten verarbeitet werden, damit das Startbitsignal für den Datenempfang erhalten werden kannstart_deDas Signal zeigt an, dass parallele Daten eingehen, und dann kann die Parallel-Seriell-Konvertierung durchgeführt werden;
RX_Flagge Zeigt an, dass die Konvertierung paralleler Daten in serielle Daten im Gange ist, beginnend mit start_en und endend mit rx_cnt=9 und baud_cnt bis 216. Dadurch soll vermieden werden, dass das Startbit der nächsten Rahmendaten vor dem Ende der Rahmendaten kommt, sodass das Stoppbit auf 0,5 Bits gesteuert wird.
baud_cnt: Der Systemtakt beträgt 50 MHz, was 50000000 entspricht, und die Baudrate beträgt hier 115200, also 50000000/115200 = 434, dh es werden 434 Systemtaktzyklen benötigt, um ein Datenbit zu übertragen, sodass der Zähler baud_cnt benötigt wird.
RX_Daten : Da die seriellen Daten 8 Bit lang sind, ist es am besten, einen Index hinzuzufügen, um das Auffinden eines bestimmten Datenbits und die Zuweisung eines Werts zu erleichtern. Daher ist rx_cnt erforderlich.
rx_data_t:Konvertierte serielle Daten.
uart_rx-Wellenformdiagramm
uart_tx_en: Zeigt an, dass die serielle Datenkonvertierung abgeschlossen ist, d. h. das Signal uart_rx_done.
uart_data_t: Speichert die seriellen Datenbits nach der Konvertierung vorübergehend, um die spätere Übertragung zu erleichtern.
baud_cnt: Wie oben.
tx_cnt: Dasselbe wie oben.
uart_tx-Wellenformdiagramm
uart_rx-Simulationswellenform
uart_tx-Wellenformsimulation
UART-Gesamtwellenformdiagramm
Öffnen Sie das Debugging-Tool für die serielle Schnittstelle
Fügen Sie dem zu debuggenden Signal das Debug-Attribut hinzu, brennen Sie das Programm auf die Entwicklungsplatine und geben Sie die folgenden Informationen in den Assistenten für die serielle Schnittstelle ein.
Denn die vierstelligen Hexadezimalcodes von 55 66 77 lauten 0101 0101, 0110 0110 bzw. 0111 0111.