??? 摘? 要: 介紹USB接口在串行通信中的應用,討論USB接口同RS-232接口的轉換以及USB接口modem的簡化設計,并給出了實際中的產品樣圖。?
????關鍵詞: USB? RS-232? 通訊類? UniModem
?
1 USB接口簡介?
??? USB即通用串行總線,可以實現熱插拔,采用菊花鏈結構,最多可以同時連接127臺設備,由總線提供電源,并有檢錯、糾錯功能以保證數據正確傳輸。?
??? USB在PC機上應用時,PC機的操作系統需要支持USB協議,此時PC機上的軟件包括兩部分:USB初始化軟件和運行部分。前者對外設進行構造并定義一個唯一的標識,這就是所謂的列舉過程,以獲得每個外設的描述表。?
??? 另外USB主機端軟件分層為多種外設的類,如大存儲器外設、通訊外設、音頻外設、人機接口外設等。?
??? USB數據線傳送差分信號,所有通信由根集線器初始化,并由外部集線器復制,其連接為點到點,采用半雙工。USB數據線上無時鐘信號,故節點間為異步通訊,總線上所有外設的額定通信速率為12MHz,外設采用過采樣方式從總線上接收信號。接收器依賴于有規律的信號變化以保持與發送器的同步,USB規格書中采用不歸零翻轉以實現其數據線的發送編碼。?
2 USB到RS-232轉換器?
??? RS-232是個流行的接口。在MS-DOS中,四個串行接口稱為COM1、COM2、COM3和COM4,而絕大部分windows應用程序最多可以有4個外設,但是如果用戶要擴充更多外設時,就必須要用插入式串行卡或者外部開關盒實現。?
??? RS-232點對點連接,一個串口只能連接一個外設。而USB是一種多點、高速的連接方式,采用集線器能實現更多的連接。USB接口的基本部分是串行接口引擎SIE,SIE從USB收發器中接收數據位,轉化為有效字節傳送給SIE接口;反之,SIE接口也可以接收字節轉化為串行位送到USB總線。?
??? 圖1為轉換器加串行外設示意圖。在轉換器和外設接收器端各有一個微控制器,實際上這兩個微控制器可以合并,可采用MCS-51系列控制器或者I2C總線的微控制器實現。?
?
?
??? 圖2為使用外部USB連接的微控制器示意圖,通用微控制器選用MCS-51,USB外圍芯片是Philips的PDIUSBD11,該芯片帶有I2C接口,其SIE接口包括一個中斷和一個較大寄存器,用于對I2C總線的存取。當一個數據包來到時,PDIUSBD11將其中斷線拉低,微控制器轉入中斷處理程序,首先讀取PDIUSBD11的中斷狀態寄存器,然后再讀取其他寄存器的值,以獲得數據包類型和包中數據。每次傳送完一個數據包均會產生一次中斷請求,中斷處理程序監視控制序列并檢測所有錯誤。
?
?
3 用USB連接56kbps modem設計?
??? USB協議中包括一個通信類,定義了一種結構,以囊括所有用于遠程通信服務和中速網絡服務的設備。這樣,外設就可以將自身標識為一個通信類的外設。?
3.1 傳統的modem結構?
??? 傳統modem一般包括:?
??? ·微控制器:以對控制碼譯碼(AT命令集)?
??? ·數字信號處理器(DSP):對信號調制和解調?
??? ·模擬調制和解調電路?
??? ·數據存取管理電路?
??? ·隔離器:將高電壓或高電流隔離電話線?
3.2 簡化設計?
??? 由于PC機串口的最高速率為115.2kbps,這樣在圖3的結構中會形成一個速度瓶頸。RS-232系統包括2個串行信號路徑,其方向相反,分別用于傳輸命令和數據,而命令和狀態必須與數據交織在一起;而USB支持分離的命令和數據通道并允許獨立的狀態報告。?
?
?
??? 在Windows操作系統中,通信層的UniModem驅動程序(圖4所示)可以實現modem命令集。微軟的VCOMM口驅動軟件可以重新定位原先面向串行口的輸出,將之直接傳給Windows外設驅動模塊(WDM—Windows Device Driver Model)的類驅動器,由WDM類驅動器將輸出送到USB外設。而采用相反的順序則可將由USB外設的輸入送至Unimodem驅動器并最終回到應用程序。?
?
?
??? 另外,由于PC主機有足夠的處理能力,在處理用戶應用程序的同時,完全可以實現實時信號處理,并且Intel在其處理器中保留了MMX指令集。該指令集有DSP算法的優點,同時又是通過“軟”處理實現,且相對于物理的DSP芯片,該指令集的信號處理算法可以方便地升級。?
??? 通過“軟處理”,傳統的調制解調器中只保留了調制級、信號隔離器和一個數據存取管理器。圖5即為簡化了的設計,帶有一個變壓器用作隔離器。?
?
?
??? 本文討論了USB接口技術在串行通信中的應用,通過在外設中加入一個微控制器,并利用幾個Windows支持的通信類,簡化了傳統USB接口modem的設計。文中給出了一個實際modem的簡化設計,利用LabView軟件和VB語言可以對該modem進行仿真模擬。?
參考文獻?
1 USB Specification V1.1 ?
2 Device Class Definition for Audio V1.0?
3 Device Class Definition for Communications V1.1?
4 張汝春. USB新技術.北京:清華大學出版社,2002