新聞中心

        EEPW首頁 > 設計應用 > IR與RS-232的匹配技術

        IR與RS-232的匹配技術

        作者:■ Maxim集成產品公司 Ted Salazar 時間:2005-04-27 來源:eaw 收藏

        現代電子設備通常包含最新的數據通信接口,以實現更高的數據率或增進用戶的便利性。紅外技術(IR)是數據通信接口的一個很好例子,但有時單獨使用這種最新接口還是不夠的,設備還需要與采用傳統接口如RS-232的老設備兼容才會被用戶所接受。因此,常見的紅外技術和RS-232共存于同一設備中。
        數據通信接口可以分成三個基本層:物理層、協議層和應用層。物理層主要定義硬件的電氣特性和通信速度。協議層定義數據格式。應用層利用數據格式在特定設備中執行特定的工作。例如,在由紅外數據協會(IrDA)所定義的協議中,應用層IrTran-P用于在成像設備如數碼相機中傳遞圖片。
        RS-232只是一個物理層,而IR包括全部三個層。基于IrDA的IR也有多個物理層:115Kb/s的SIR、1Mb/s的MIR、4Mb/s的FIR以及16Mb/s的VFIR。由于RS-232和SIR使用相同的數據成幀器,通常稱為一個UART。
        RS-232是異步串行通信最常用的物理層,并將繼續在多類終端設備中得到廣泛應用,諸如網絡、工業控制設備和POS系統等。而IR得到了各類電子設備的支持,如筆記本電腦、手機、數碼相機和PDA等。

        傳統解決方案
        在僅有一個UART的系統中實現IR和RS-232匹配通常需要4個IC——雙SPDT模擬開關、編解碼器(ENDEC)、RS-232收發器和IR收發器(見圖1)。模擬開關引導發射(Tx)和接收(Rx)信號往返于相應的收發器。來自微處理器(或微控制器)的通用輸出控制模擬開關。
        對于IR操作,Tx信號必須通過ENDEC的編碼器部分。這將傳統的UART NRZ信號壓縮成IR收發器滿足IrDA SIR標準所要求的RZ脈沖。Rx正好相反,需要由IR收發器發送通過ENDEC的解碼器部分(見圖2a)。解碼器將單一脈沖展寬為傳統的NRZ信號,從而被UART識別。IR收發器的工作隨后只在IR頻譜內接發信息(見圖2b)。
        RS-232的操作更直接。模擬開關引導Tx和Rx信號往返于RS-232收發器。RS-232收發器不需要ENDEC,使之能夠接受TTL/CMOS信號,直接往返于UART。RS-232只不過是一個電平轉換器,通過使用內部電荷泵將TTL/CMOS電平轉換為小于+5V而大于-5V的電平。
        另一種普遍的折衷做法是去除模擬開關。用這種方法在僅有一個UART的系統中實現IR和RS-232匹配只需要3個IC——ENDEC、RS-232收發器和IR收發器。將IR和RS-232兩收發器的Tx線連到一起,去除模擬開關。兩收發器的Rx線采取同樣的連接。
        由于兩收發器的Tx線連結在一起,因而數據同時發送到兩個發送器。在同一時間通過IR和RS-232發送器發送相同數據,會浪費功耗,不適合大多數應用。因此,許多系統設計師在這種情況下都將電源從不用的收發器中去除,以節省電力。但是,由于不用的收發器將通過一個內部保護二極管由發送器輸入線上的電壓來供電,因些,這種方法實際上達不到節電的目的。
        這種折衷方案不比傳統的解決方案簡單,因為它要求兩發送器都要經過仔細選擇。因此,采用這種做法時,需要確保兩個收發器在無需去除電源的情況下,具有滿意的關斷特性(見圖3)。

        改進的解決方案
        在僅有一個UART的系統中實現IR和RS-232不再需要3或4個IC。相反地,前面所討論的傳統解決方案用一個IC(見圖4)就可實現。本例中的MAX3130就是這樣一種IC,它將全部四項功能包含在一個28引腳的SSOP封裝內。其內部的雙SPDT模擬開關通過改變IC的/IR-MODE腳上的邏輯狀態來實現控制。內部的雙SPDT模擬開關在/IR-MODE為高電平時引導信號往返于RS-232收發器。/IR- MODE為低電平時,信號被引導往返于IR收發器。內部的ENDEC在由UART波特輸出信號所提供的Baud16時鐘的幫助下對信號進行壓縮和展寬。
        當前,許多處理器均帶有多個內部UART。當設計所選用的處理器擁有兩個可用UART時,雙SPDT模擬開關便不再需要。
        有些微控制器所擁有的內部UART不包含或不能提供像工業標準16550 UART那樣與波特輸出等效的信號。波特輸出信號只不過是一個比選定波特率快16倍的時鐘。所有ENDEC在某些時候都需要這種Baud16時鐘來生成。
        創建支持9600波特以外波特率的Baud16時鐘不是一項簡單的工作。首先,Baud16時鐘需要在開展任何通信之前就存在,且首次通信需在9600波特下進行。首次通信時,兩IR連接系統就每一系統所支持的最快速率達成一致。這些完成以后,需要適當增大Baud16時鐘,以使所有的新通信都被限定在更快的現行波特率上。換言之,不能僅有一個晶體振蕩器、并用觸發器和跳線進行分割。必須通過軟件來控制Baud16時鐘。
        雖然帶多個內部UART的微處理器很平常,但系統設計師必須采用一種可能沒有兩個內部UART的特殊處理器。在這種情況下,對于要求每個接口都時時與其自身的UART相連接的設計來說,工作會變得復雜。更為嚴峻的是,如果8個I/O引腳沒辦法與一個并行UART連接,那么設計師將很難有更多的選擇余地。■ (鋤禾譯)



        關鍵詞: Maxim

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 河西区| 浦城县| 长阳| 弥勒县| 景东| 龙岩市| 缙云县| 安国市| 东安县| 万源市| 彰化市| 祁门县| 固始县| 乡城县| 墨江| 石泉县| 大关县| 米泉市| 志丹县| 资阳市| 平果县| 灵璧县| 朝阳县| 哈密市| 富宁县| 新干县| 松原市| 灵武市| 民权县| 东乡| 广昌县| 拉萨市| 昌邑市| 克拉玛依市| 庄河市| 广德县| 遵义市| 永仁县| 融水| 博客| 长海县|