-
您的位置:
- 網(wǎng)站首頁(yè)
- > 物聯(lián)百科
- > 產(chǎn)品百科
您的位置:
串口通訊是電子工程師和嵌入式開(kāi)發(fā)工程師面對(duì)的最基本問(wèn)題,RS232則是其中最簡(jiǎn)單最常用的通訊方式。但是初學(xué)者往往搞不清有關(guān)的名詞如UART和RS232或RS485之間是什么關(guān)系?
UART,是通用異步收發(fā)傳輸器(Universal Asynchronous Receiver/Transmitter),既然是“器”,顯然,它就是個(gè)設(shè)備而已,要完成一個(gè)特定的功能的硬件,它本身并不是協(xié)議。那么它要完成什么功能呢?它的最基本功能,是串行數(shù)據(jù)和并行數(shù)據(jù)之間的轉(zhuǎn)換。我們知道,計(jì)算機(jī)中的數(shù)據(jù)以Byte為基本單位,對(duì)一個(gè)Byte的存取是并行的,即,同時(shí)取得/寫(xiě)入8個(gè)bit。而串行通信,需要把這個(gè)Byte“打碎”,按照時(shí)間順序來(lái)收發(fā)以實(shí)現(xiàn)串行。例如:
內(nèi)存中的數(shù)據(jù)是: 1 1 1 0 0 1 0 1
串行發(fā)送的實(shí)際效果是(按時(shí)間排序【注1】):
1
0
1
0
0
1
1
1
接收則是上述過(guò)程的逆過(guò)程。
這就是UART做的最基本工作,進(jìn)一步的,它還要控制“發(fā)車(chē)的班次”,比如確認(rèn)一個(gè)Byte的這8個(gè)bit是什么時(shí)候開(kāi)始的,又是什么時(shí)候結(jié)束的,兩個(gè)班次之間至少要隔多長(zhǎng)時(shí)間的緩沖,等等。這一部分,也具有協(xié)議的特征,但是相對(duì)于道路上的協(xié)議,更具有一般性,或曰,是與車(chē)在什么道路上開(kāi),相對(duì)獨(dú)立的。
RS232/RS485,是兩種不同的電氣協(xié)議,也就是說(shuō),是對(duì)電氣特性以及物理特性的規(guī)定,作用于數(shù)據(jù)的傳輸通路上,它并不內(nèi)含對(duì)數(shù)據(jù)的處理方式。比如,最顯著的特征是:RS232使用3-15v有效電平,而UART,因?yàn)閷?duì)電氣特性并沒(méi)有規(guī)定,所以直接使用CPU使用的電平,就是所謂的TTL電平(可能在0~3.3V之間)。更具體的,電氣的特性也決定了線路的連接方式,比如RS232,規(guī)定用電平表示數(shù)據(jù),因此線路就是單線路的,用兩根線才能達(dá)到全雙工的目的;而RS485, 使用差分電平表示數(shù)據(jù),因此,必須用兩根線才能達(dá)到傳輸數(shù)據(jù)的基本要求,要實(shí)現(xiàn)全雙工,必需用4根線。但是,無(wú)論使用RS232還是RS485,它們與UART是相對(duì)獨(dú)立的,但是由于電氣特性的差別,必須要有專(zhuān)用的器件和UART接駁,才能完成數(shù)據(jù)在線路和UART之間的正常流動(dòng)。
UART和RS232/RS485的關(guān)系是什么? - cp4 - Red Stone Blue Sky
RS232甚至規(guī)定了接口的具體樣式,圖為DB9接口
~
總結(jié):從某種意義上,可以說(shuō),線路上存在的僅僅是電流,RS232/RS485規(guī)定了這些電流在什么樣的線路上流動(dòng)和流動(dòng)的樣式;在UART那里,電流才被解釋和組裝成數(shù)據(jù),并變成CPU可直接讀寫(xiě)的形式。