NO IMAGE

簡單的講:(UART與COM)

      嵌入式裡面說的串列埠,一般是指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類似,但是採用差分訊號負邏輯。