IR與RS-232的匹配技術(shù)
現(xiàn)代電子設(shè)備通常包含最新的數(shù)據(jù)通信接口,以實(shí)現(xiàn)更高的數(shù)據(jù)率或增進(jìn)用戶的便利性。紅外技術(shù)(IR)是數(shù)據(jù)通信接口的一個(gè)很好例子,但有時(shí)單獨(dú)使用這種最新接口還是不夠的,設(shè)備還需要與采用傳統(tǒng)接口如RS-232的老設(shè)備兼容才會(huì)被用戶所接受。因此,常見(jiàn)的紅外技術(shù)和RS-232共存于同一設(shè)備中。
數(shù)據(jù)通信接口可以分成三個(gè)基本層:物理層、協(xié)議層和應(yīng)用層。物理層主要定義硬件的電氣特性和通信速度。協(xié)議層定義數(shù)據(jù)格式。應(yīng)用層利用數(shù)據(jù)格式在特定設(shè)備中執(zhí)行特定的工作。例如,在由紅外數(shù)據(jù)協(xié)會(huì)(IrDA)所定義的協(xié)議中,應(yīng)用層IrTran-P用于在成像設(shè)備如數(shù)碼相機(jī)中傳遞圖片。
RS-232只是一個(gè)物理層,而IR包括全部三個(gè)層?;贗rDA的IR也有多個(gè)物理層:115Kb/s的SIR、1Mb/s的MIR、4Mb/s的FIR以及16Mb/s的VFIR。由于RS-232和SIR使用相同的數(shù)據(jù)成幀器,通常稱為一個(gè)UART。
RS-232是異步串行通信最常用的物理層,并將繼續(xù)在多類終端設(shè)備中得到廣泛應(yīng)用,諸如網(wǎng)絡(luò)、工業(yè)控制設(shè)備和POS系統(tǒng)等。而IR得到了各類電子設(shè)備的支持,如筆記本電腦、手機(jī)、數(shù)碼相機(jī)和PDA等。
傳統(tǒng)解決方案
在僅有一個(gè)UART的系統(tǒng)中實(shí)現(xiàn)IR和RS-232匹配通常需要4個(gè)IC——雙SPDT模擬開關(guān)、編解碼器(ENDEC)、RS-232收發(fā)器和IR收發(fā)器(見(jiàn)圖1)。模擬開關(guān)引導(dǎo)發(fā)射(Tx)和接收(Rx)信號(hào)往返于相應(yīng)的收發(fā)器。來(lái)自微處理器(或微控制器)的通用輸出控制模擬開關(guān)。
對(duì)于IR操作,Tx信號(hào)必須通過(guò)ENDEC的編碼器部分。這將傳統(tǒng)的UART NRZ信號(hào)壓縮成IR收發(fā)器滿足IrDA SIR標(biāo)準(zhǔn)所要求的RZ脈沖。Rx正好相反,需要由IR收發(fā)器發(fā)送通過(guò)ENDEC的解碼器部分(見(jiàn)圖2a)。解碼器將單一脈沖展寬為傳統(tǒng)的NRZ信號(hào),從而被UART識(shí)別。IR收發(fā)器的工作隨后只在IR頻譜內(nèi)接發(fā)信息(見(jiàn)圖2b)。
RS-232的操作更直接。模擬開關(guān)引導(dǎo)Tx和Rx信號(hào)往返于RS-232收發(fā)器。RS-232收發(fā)器不需要ENDEC,使之能夠接受TTL/CMOS信號(hào),直接往返于UART。RS-232只不過(guò)是一個(gè)電平轉(zhuǎn)換器,通過(guò)使用內(nèi)部電荷泵將TTL/CMOS電平轉(zhuǎn)換為小于+5V而大于-5V的電平。
另一種普遍的折衷做法是去除模擬開關(guān)。用這種方法在僅有一個(gè)UART的系統(tǒng)中實(shí)現(xiàn)IR和RS-232匹配只需要3個(gè)IC——ENDEC、RS-232收發(fā)器和IR收發(fā)器。將IR和RS-232兩收發(fā)器的Tx線連到一起,去除模擬開關(guān)。兩收發(fā)器的Rx線采取同樣的連接。
由于兩收發(fā)器的Tx線連結(jié)在一起,因而數(shù)據(jù)同時(shí)發(fā)送到兩個(gè)發(fā)送器。在同一時(shí)間通過(guò)IR和RS-232發(fā)送器發(fā)送相同數(shù)據(jù),會(huì)浪費(fèi)功耗,不適合大多數(shù)應(yīng)用。因此,許多系統(tǒng)設(shè)計(jì)師在這種情況下都將電源從不用的收發(fā)器中去除,以節(jié)省電力。但是,由于不用的收發(fā)器將通過(guò)一個(gè)內(nèi)部保護(hù)二極管由發(fā)送器輸入線上的電壓來(lái)供電,因些,這種方法實(shí)際上達(dá)不到節(jié)電的目的。
這種折衷方案不比傳統(tǒng)的解決方案簡(jiǎn)單,因?yàn)樗髢砂l(fā)送器都要經(jīng)過(guò)仔細(xì)選擇。因此,采用這種做法時(shí),需要確保兩個(gè)收發(fā)器在無(wú)需去除電源的情況下,具有滿意的關(guān)斷特性(見(jiàn)圖3)。
改進(jìn)的解決方案
在僅有一個(gè)UART的系統(tǒng)中實(shí)現(xiàn)IR和RS-232不再需要3或4個(gè)IC。相反地,前面所討論的傳統(tǒng)解決方案用一個(gè)IC(見(jiàn)圖4)就可實(shí)現(xiàn)。本例中的MAX3130就是這樣一種IC,它將全部四項(xiàng)功能包含在一個(gè)28引腳的SSOP封裝內(nèi)。其內(nèi)部的雙SPDT模擬開關(guān)通過(guò)改變IC的/IR-MODE腳上的邏輯狀態(tài)來(lái)實(shí)現(xiàn)控制。內(nèi)部的雙SPDT模擬開關(guān)在/IR-MODE為高電平時(shí)引導(dǎo)信號(hào)往返于RS-232收發(fā)器。/IR- MODE為低電平時(shí),信號(hào)被引導(dǎo)往返于IR收發(fā)器。內(nèi)部的ENDEC在由UART波特輸出信號(hào)所提供的Baud16時(shí)鐘的幫助下對(duì)信號(hào)進(jìn)行壓縮和展寬。
當(dāng)前,許多處理器均帶有多個(gè)內(nèi)部UART。當(dāng)設(shè)計(jì)所選用的處理器擁有兩個(gè)可用UART時(shí),雙SPDT模擬開關(guān)便不再需要。
有些微控制器所擁有的內(nèi)部UART不包含或不能提供像工業(yè)標(biāo)準(zhǔn)16550 UART那樣與波特輸出等效的信號(hào)。波特輸出信號(hào)只不過(guò)是一個(gè)比選定波特率快16倍的時(shí)鐘。所有ENDEC在某些時(shí)候都需要這種Baud16時(shí)鐘來(lái)生成。
創(chuàng)建支持9600波特以外波特率的Baud16時(shí)鐘不是一項(xiàng)簡(jiǎn)單的工作。首先,Baud16時(shí)鐘需要在開展任何通信之前就存在,且首次通信需在9600波特下進(jìn)行。首次通信時(shí),兩IR連接系統(tǒng)就每一系統(tǒng)所支持的最快速率達(dá)成一致。這些完成以后,需要適當(dāng)增大Baud16時(shí)鐘,以使所有的新通信都被限定在更快的現(xiàn)行波特率上。換言之,不能僅有一個(gè)晶體振蕩器、并用觸發(fā)器和跳線進(jìn)行分割。必須通過(guò)軟件來(lái)控制Baud16時(shí)鐘。
雖然帶多個(gè)內(nèi)部UART的微處理器很平常,但系統(tǒng)設(shè)計(jì)師必須采用一種可能沒(méi)有兩個(gè)內(nèi)部UART的特殊處理器。在這種情況下,對(duì)于要求每個(gè)接口都時(shí)時(shí)與其自身的UART相連接的設(shè)計(jì)來(lái)說(shuō),工作會(huì)變得復(fù)雜。更為嚴(yán)峻的是,如果8個(gè)I/O引腳沒(méi)辦法與一個(gè)并行UART連接,那么設(shè)計(jì)師將很難有更多的選擇余地。■ (鋤禾譯)
評(píng)論