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