區分:串口,COM口,UART,USART

    本文主要簡述串口,COM口,UART,USART之間的聯繫和區別,另外也講述了串口的RS-232電平和TTL電平,以及單片機與電腦之間的串口連接方式。


串口

      串口,即串行接口,與之相對應的另一種接口叫並口,並行接口。兩者的區別是,傳輸一個字節(8個位)的數據時,串口是將8個位排好隊,逐個地在1條連接線上傳輸,而並口則將8個位一字排開,分別在8條連接線上同時傳輸。

      在相同的數據傳輸速率下,並口的確比串口更快,但由於並口的各個連接線之間容易互相干擾,高速情況下難以同步各連接線的數據,而且硬件成本也相對串口更高(線多),因而串口取代並口成爲了現在的主流接口,較具代表性的要數Universal Serial Bus,通用串行總線,也就是USB。其它在嵌入式領域常見的串行接口還包括:I2C,SPI,RJ-45,UART,USART等。

 

COM口

      電腦上的異步串行通信接口,有時也稱之爲串口(其實這個叫法並不嚴謹)。電腦COM口使用DB9連接器,遵循RS-232標準,RS-232規定了通信口的電氣特性(比如多少伏爲邏輯“1”)和接口機械特性(形狀,針腳定義)等內容。COM口多見於舊式電腦,用於連接鼠標,調製調解器等設備,現在已被USB取代。

 

UART與USART

       UART,全稱Universal Asynchronous Receiver/Transmitter,通用異步收發傳輸器。

      USART,全稱Universal Synchronous/Asynchronous Receiver/Transmitter,通用同步異步收發傳輸器。

      兩者都是一個數據收發器,屬於硬件電路範疇。UART使用異步通信,而USART既可異步通信,也可同步通信。當USART使用異步通信時,就變成了UART。單片機的串口指的就是UART或USART。

      同步通信和異步通信的區別是:時鐘線的有無。同步通信有時鐘線,收發雙方通過統一的時鐘來確定何時進行數據的傳輸,如I2C和SPI。異步通信沒有時鐘線,只能在數據的頭和尾加入標誌位來區分不同的數據幀,接收數據之前也要預先知道波特率的大小,傳輸效率比同步通信要低。

 

串口、RS-232與TTL

      前面講過,RS-232是一個串行通信接口標準,它規定了邏輯“1”爲-3 ~ -15V,邏輯“0”爲+3 ~ +15V,符合該標準的串口也叫RS-232串口,比如電腦的COM口。那麼,還有不符合RS-232標準的串口?答案是肯定的,那就是單片機(如stm32)的UART/USART,這個也叫串口,但它不遵循RS-232標準,使用的是TTL電平(Transistor-Transistor Logic),該電平的邏輯“1”爲+5V,邏輯“0”爲0V,稱爲TTL串口。

      需要注意的是,串口、UART/USART通常指的是硬件接口,而RS-232指的是屬於物理層範疇的串行通信接口標準,簡而言之,RS-232就是個標準。

 

單片機與電腦的連接

      既然單片機有串口(UART/USART),電腦也有串口(COM口),那麼兩者就可以通過串口進行通信。

     如果電腦有實體COM口,由於COM口使用的RS-232電平跟單片機的UART/USART使用的TTL電平不一樣,這時就需要使用MAX232之類的電平轉換芯片,將TTL電平轉換成RS-232電平,連接示意如下:

電腦COM口 <---> MAX232 <---> 單片機UART/USART

      如果電腦沒有COM口,就要通過CH340之類的USB轉TTL串口芯片,來實現用USB模擬COM口,這樣電腦的USB口就變成了一個TTL串口,可以跟單片機的UART/USART通信,連接示意如下:

電腦USB口 <---> CH340 <---> 單片機UART/USART


參考:



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章