序列通訊

记录学习的Lyx發表於2024-06-23

序列通訊有關概念

  • 串列埠,通常指的是序列通訊介面。
  • 序列通訊(Serial Communication)
  • 序列通訊介面
    • 通用非同步收發器(Universal Asynchronous Receiver/Transmitter: UART),是一種硬體介面,通常稱串列埠
    • 通用同步/非同步收發器(Universal Synchronous Asynchronous Receiver/Transmitter: USART)
  • 序列通訊介面電氣標準
    • TTL、RS-232、RS-485
  • USB(Universal Serial Bus):通用序列匯流排,USB不是序列通訊介面

USB(Universal Serial Bus):是連線電腦與裝置的一種序列匯流排標準,也是一種輸入輸出I/O 連線埠的技術規範。多媒體電腦剛問世時,外接式裝置的傳輸介面各不相同,如印表機只能接並行埠、調變解調器只能接RS-232、滑鼠鍵盤只能接PS/2等。繁雜的介面系統,加上必須安裝驅動程式並重啟才能使用的限制,都會造成使用者的困擾。因此,創造出一個統一且支援易插拔的外接式傳輸介面,便成為無可避免的趨勢,USB應運而生。----維基百科

RS232 DB9介面採用序列通訊,總共9個引腳,在目前的其它工業控制使用的串列埠通訊中,一般只使用RXD、TXD以及GND三條訊號線,直接傳輸資料訊號。

非同步序列通訊的資料幀格式(data frame)

  • LSB (Least Significant Bit):最低有效位
  • MSB (Most Significant Bit):最高有效位
  • Start bit:開始位,為低電平(邏輯0)
  • Parity bit:校驗位,通常有Odd(奇校驗)、Even(偶校驗)、Space(0校驗)、Mark(1校驗)、None(無校驗)
    • Odd(奇校驗):有效資料和校驗位中"1"的個數為奇數個,例如有效資料8位01101001,該8位資料中共有4個"1"。要達到奇校驗的效果,校驗位就應該為1,因此資料位+校驗位就是9位:011010011
    • Even(偶校驗):有效資料和校驗位中"1"的個數為偶數個
    • Space(0校驗):校驗位總是0
    • Mark(1校驗):校驗位總是1
  • Idle:空閒位,為高電平(邏輯1)

舉個例子,序列通訊採用9600Baud、8位資料位、1位停止位、無校驗位。傳送"OK",其資料幀如下圖所示,b0是最低位,b7是最高位。其中0100111就是'O'的二進位制數,'K'的二進位制數01001011,可以看到幀的資料位先傳送的'O',接著是'K',並且資料位是從低位到高位。

參考連結:

https://learn.sparkfun.com/tutorials/serial-communication/all

https://doc.embedfire.com/mcu/stm32/f407batianhu/std/zh/latest/book/USART.html

相關文章