認識UART接口
嵌入式里面說的串口,一般是指UART口, 但是我們經常搞不清楚它和COM口的區別, 以及RS232, TTL等關系, 實際上UART,COM指的物理接口形式(硬件), 而TTL、RS-232是指的電平標準(電信號)。
UART有4個pin(VCC, GND, RX, TX), 用的TTL電平, 低電平為0(0V),高電平為1(3.3V或以上)。
COM口是我們臺式機上面常用的口(下圖),9個pin, 用的RS232電平, 它是負邏輯電平,它定義+5~+12V為低電平,而-12~-5V為高電平
詳細的說:
UART的特征
一般uart控制器在嵌入式系統里面都做在cpu一起,像飛思卡爾的IMX6芯片就是這樣,有多個uart控制器。
引腳介紹(COM口比較多pin,但是常用的也是這幾個):
VCC:供電pin,一般是3.3v,在我們的板子上沒有過電保護,這個pin一般不接更安全
GND:接地pin,有的時候rx接受數據有問題,就要接上這個pin,一般也可不接
RX:接收數據pin
TX:發送數據pin,我之前碰到串口只能收數據,不能發數據問題,經baidu,原來是設置了流控制,取消就可以了,適用于putty,SecureCRT
在調試的時候, 多數情況下我們只引出rx,tx即可。 比如調試gps模塊, IC數據直接通過uart上報,我就直接用了兩個線連出了rx,tx,連上串口轉USB小板, 電腦從串口直接獲取數據,這樣跳過了開發板,測試了gps的數據有沒有問題。
使用方法:
我們常用UART口進行調試,但是UART的數據要傳到電腦上分析就要匹配電腦的接口,通常我們電腦使用接口有COM口和USB口(最終在電腦上是一個虛擬的COM口),但是要想連上這兩種接口都要需要進行硬件接口轉換和電平轉換。
如果連接電腦COM口, 需要一個類似下圖的轉換小板, 它實現了TTL電平和RS232電平互轉, 我之前使用過, 但是現在很少用了。
如果要連接USB接口, 需要類似下面的小板, 它實現了TTL電平和USB電平的轉換, 這種使用的較多。
電路圖和連接如下, 通常上面有個專門轉換芯片。
總結
1、串口、COM口是指的物理接口形式(硬件)。而TTL、RS-232、RS-485是指的電平標準(電信號)。
2、接設備的時候,一般只接GND RX TX。不會接Vcc或者+3.3v的電源線,避免與目標設備上的供電沖突。
3、PL2303、CP2102芯片是 USB 轉 TTL串口 的芯片,用USB來擴展串口(TTL電平)
4、MAX232芯片是 TTL電平與RS232電平的專用雙向轉換芯片,可以TTL轉RS-232,也可以RS-232轉TTL。
5、TTL標準是低電平為0,高電平為1(+5V電平)。RS-232標準是正電平為0,負電平為1(±15V電平)。
6、RS-485與RS-232類似,但是采用差分信號負邏輯。
計算機內部采用并行數據,不能直接把數據發到Modem,必須經過UART整理才能進行異步傳輸,其過程為:CPU先把準備寫入串行設備的數據放到UART的寄存器(臨時內存塊)中,再通過FIFO(First Input First Output,先入先出隊列)傳送到串行設備,若是沒有FIFO,信息將變得雜亂無章,不可能傳送到Modem。
它是用于控制計算機與串行設備的芯片。有一點要注意的是,它提供了RS-232C數據終端設備接口,這樣計算機就可以和調制解調器或其它使用RS-232C接口的串行設備通信了。作為接口的一部分,UART還提供以下功能:將由計算機內部傳送過來的并行數據轉換為輸出的串行數據流。將計算機外部來的串行數據轉換為字節,供計算機內部并行數據的器件使用。在輸出的串行數據流中加入奇偶校驗位,并對從外部接收的數據流進行奇偶校驗。在輸出數據流中加入啟停標記,并從接收數據流中刪除啟停標記。處理由鍵盤或鼠標發出的中斷信號(鍵盤和鼠標也是串行設備)。可以處理計算機與外部串行設備的同步管理問題。有一些比較高檔的UART還提供輸入輸出數據的緩沖區,比較新的UART是16550,它可以在計算機需要處理數據前在其緩沖區內存儲16字節數據,而通常的UART是8250。如果您購買一個內置的調制解調器,此調制解調器內部通常就會有16550 UART。
通過這種通信功能可以實現非常多的用途,比如短距離通信,燒寫程序,串行口轉接其他通信簡單。
UART特點以及功能概述
通用異步收發傳輸器(Universal Asynchronous Receiver/Transmitter,通常稱作UART,讀音/?ju?art/)是一種異步收發傳輸器,是電腦硬件的一部分,將資料由串行傳輸(Serial communication)與平行傳輸(Parallel communication)間作傳輸轉換。UART通常用在與其他通訊協定(如EIA RS-232)的連結上。
具體實物表現為獨立的模塊化芯片,或作為集成于微處理器中的周邊設備。一般和RS-232C規格的,類似Maxim的MAX232之類的標準信號幅度變換芯片進行搭配,作為連接外部設備的接口。在UART上追加同步方式的序列信號變換電路的產品,被稱為USART(Universal Synchronous Asynchronous Receiver Transmitter)。
在手機設計和測試階段被用來控制CPU與其余部分的信息傳送
UART是通用異步收發器(異步串行通信口)的英文縮寫,它包括了RS232、RS499、RS423、RS422和RS485等接口標準規范和總線標準規范,即UART是異步串行通信口的總稱。而RS232、RS499、RS423、RS422和RS485等,是對應各種異步串行通信口的接口標準和總線標準,它規定了通信口的電氣特性、傳輸速率、連接特性和接口的機械特性等內容。實際上是屬于通信網絡中的物理層(最底層)的概念,與通信協議沒有直接關系。而通信協議,是屬于通信網絡中的數據鏈路層(上一層)的概念。COM口是PC(個人計算機)上,異步串行通信口的簡寫。由于歷史原因,IBM的PC外部接口配置為RS232,成為實際上的PC界默認標準。所以,現在PC機的COM口均為RS232。若配有多個異步串行通信口,則分別稱為COM1、COM2.。