引 言
USB的英文全稱為Universal Serial Bus,中文含義是通用串行總線,它是一種快速的,雙向的,同步傳輸的廉價的并可以進行熱拔插的串行接口。全速USB接口的最高傳輸率可達12Mb/s,比串口快了整整100倍,而執行USB2.0標準的高速USB接口速率更是達到了480Mb/s.這使得高分辨率、真彩色的大容量圖象的實時傳送成為可能。USB接口支持多個不同設備的串列連接,一個USB接口理論上可以連接127個USB設備。連接方式也十分靈活,既可以使用串行連接,也可以使用集線器(Hub)把多個設備連接在一起,再同PC機的USB接口相接。普通的使用串口、并口的設備都需要單獨的供電系統,而USB設備則不需要。
對于USB接口芯片,通常分為普通和DMA(直接存儲器存取)兩種工作模式。相對于普通模式,DMA數據傳輸模式傳輸速率更快,更適合于視頻數字信號等高速、實時信號的傳送。
??????? 本文簡要介紹USB 接口的特點、硬件結構、數據流傳送以及外設控制器的實現方式。并詳細說明利用51單片機結合PHILIPS公司的PDIUSBD12帶并行總線的USB接口器件設計帶DMA工作模式的可供視頻信號傳輸的多功能USB接口電路的過程。
1、USB概述
由于多媒體技術的發展對外設與主機之間的數據傳輸率有了更高的需求,因此,USB總線技術應運而生。USB(Universal Serial Bus)翻譯為中文就是通用串行總線,是由Conpaq、DEC、IBM、Inter、Microsoft、NEC和Northen Telecom等公司為簡化PC與外設之間的互連而共同研究開發的一種免費的標準化連接器,它支持各種PC與外設之間的連接,還可實現數字多媒體集成。現在生產的PC幾乎都配備了USB接口,Microsoft 的Windows98、NT以及MacOS、Linux、FreeBSD等流行操作系統都增加了對 USB的支持。
USB的主要優點:
l 使用方便。連接外設不必再打開機箱;允許外設熱插拔,而不必關閉主機電源。
l 速度快。USB支持三種設備傳輸速率:1.5 Mb/s(低速設備)、12 Mb/s(中速設備)和480 Mb/s(高速設備)。
l 獨立供電。USB接口提供了內置電源。
l 連接靈活。一個USB口理論上可以連接127個USB設備。連接的方式也十分靈活,既可以使用 串行連接,也可以使用集線器Hub,把多個設備連接在一起,再同PC機的USB口相接。
l 成本低。為了把外設連接到PC上,USB提供了一種低成本的解決方案。
現在滿足USB要求的外設有:調制解調器,鍵盤,鼠標,光驅,游戲手柄,軟驅,掃描儀,音箱等。USB總線標準由1.1版升級到2.0版后,傳輸率由12Mbps增加到了480Mbps,更換介質后連接距離由原來的5米增加到近百米。基于這點,USB也可以做生產ISDN以及基于視頻的產品。USB 總線結構簡單,信號定義僅由2條電源線,2條信號線組成。
2、USB結構與工作原理
一個USB系統可以從三個方面加以描述
(1)USB互聯。
(2)USB設備。
(3)USB主機。
USB互聯是指一個USB設備與USB主機相聯并和其通信的方式,它包括:
(1)總線拓撲結構:USB主機和USB設備的連接模型。
(2)層間關系:USB在系統中的每一層都要完成一定的任務。
(3)數據流模型:USB系統中信源和信息之間的數據傳送方式。
(4)任務規劃:USB提供可以共享的互聯機制。通過規劃對互連機制的訪問,可以支
持同步數據傳輸。
下面簡要討論USB硬件結構和數據流傳輸。
2.1 USB硬件結構
一個USB系統包含三類硬件設備: USB主機(USB HOST)、 USB設備(USB DEVICE)、USB集線器(USB HUB)。參見圖2-1。
(1)USB HOST
在一個USB系統中,當且僅當有一個USB HOST時,USB HOST有以下功能:
◇ 管理USB系統;
◇ 每毫秒產生一幀數據;
◇ 發送配置請求對USB設備進行配置操作;
◇ 對總線上的錯誤進行管理和恢復。
(2)USB DEVICE
在一個USB系統中,USB DEVICE和USB HUB總數不能超過127個。USB DEVICE接收USB總線上的所有數據包,通過數據包的地址域來判斷是不是發給自己的數據包:若地址不符,則簡單地丟棄該數據包;若地址相符,則通過響應USB HOST的數據包與USB HOST進行數據傳輸。
(3)USB HUB
USB HUB用于設備擴展連接,所有USB DEVICE都連接在USB HUB的端口上。一個USB HOST總與一個根HUB (USB ROOT HUB)相連。USB HUB為其每個端口提供100mA電流供設備使用。同時,USB HUB可以通過端口的電氣變化診斷出設備的插拔操作,并通過響應USB HOST的數據包把端口狀態匯報給USB HOST。一般來說,USB設備與USB HUB間的連線長度不超過5m,USB系統的級聯不能超過5級(包括ROOT HUB)。
USB總線最多可支持127個USB外設連接到計算機系統。USB的拓撲是樹形結構,有1個USB根集線器(root hub),下面還可有若干集線器。1個集線器下面可接若干USB接口。USB線纜包括4條線:Vbus(USB電源)、D+(數據)、D-(數據)和 Gnd(USB地)。線纜最大長度不超過5m。USB1.1的傳輸速率最高為12Mb/s(低速外設的標準速率為1.5Mb/s,高速外設的標準速率為 12Mb/s)。圖2-1是典型的USB功能器件結構框圖,圖2-3是高速外設的USB線纜與電阻的連接圖。圖2-3中:FS為全速(高速);LS為低速;R1=15kΩ,R2=15kΩ。USB外設可以采用計算機里的電源(+5V,500mA),也可外接USB電源。在所有的USB信道之間動態地分配帶寬是USB總線的特征之一,這大大地提高了USB帶寬的利用率。當一臺USB外設長時間(3ms以上)不使用時,就處于掛起狀態,這時只消耗0.5mA 電流。按USB1.0/1.1標準,USB的標準脈沖時鐘頻率為12MHz,而其總線時脈沖時鐘為1ms(1kHz),即每隔1ms,USB器件應為 USB線纜產生1個時鐘脈沖序列。這個脈沖系列稱為幀開始數據包(SOF)。高速外設長度為每幀12000bit(位),而低速外設長度只有每幀 1500bit。1個USB數據包可包含0~1023字節數據。每個數據包的傳送都以1個同步字段開始。
2.2 USB的數據流傳輸
主控制器負責主機和USB設備間數據流的傳輸。這些傳輸數據被當作連續的比特流。每個設備提供了一個或多個可以與客戶程序通信的接口,每個接口由0個或多個管道組成,它們分別獨立地在客戶程序和設備的特定終端間傳輸數據。USBD為主機軟件的現實需求建立了接口和管道,當提出配置請求時,主控制器根據主機軟件提供的參數提供服務。
USB支持四種基本的數據傳輸模式:控制傳輸,等時傳輸,中斷傳輸及數據塊傳輸。每種傳輸模式應用到具有相同名字的終端,則具有不同的性質。
控制傳輸類型:支持外設與主機之間的控制,狀態,配置等信息的傳輸,為外設與主機之間提供一個控制通道。每種外設都支持控制傳輸類型,這樣主機與外設之間就可以傳送配置和命令/狀態信息。
等時傳輸類型:支持有周期性,有限的時延和帶寬且數據傳輸速率不變的外設與主機間的數據傳輸。該類型無差錯校驗,故不能保證正確的數據傳輸,支持像計算機-電話集成系統(CTI)和音頻系統與主機的數據傳輸。
中斷傳輸類型:支持像游戲手柄,鼠標和鍵盤等輸入設備,這些設備與主機間數據傳輸量小,無周期性,但對響應時間敏感,要求馬上響應。
數據塊傳輸類型:支持打印機,掃描儀,數碼相機等外設,這些外設與主機間傳輸的數據量大,USB在滿足帶寬的情況下才進行該類型的數據傳輸。
USB采用分塊帶寬分配方案,若外設超過當前帶寬分配或潛在的要求,則不能進入該設備。同步和中斷傳輸類型的終端保留帶寬,并保證數據按一定的速率傳送。集中和控制終端按可用的最佳帶寬來傳輸傳輸數據。
3、USB外設控制器的兩種實現方式
USB芯片在外設領域的應用面很廣。USB外設控制芯片通常包括USB收發器、串行接口引擎(SIE)、USB控制器和外設功能等四個模塊(SIE 主要以硬件方式處理大多數USB協議,USB控制器負責與PC交互通信信息)。USB控制器一般有兩種類型:一種是MCU集成在芯片里面的,如 Intel的8X930AX、CYPRESS的EZ-USB、SIEMENS的C541U以及 MOTOLORA、National Semiconductors等公司的產品;另一種就是純粹的USB接口芯片,僅處理 USB通信,如PHILIPS的PDIUSBD11(I2C接口)、 PDIUSBP11A、PDIUSBD12(并行接口),National Semiconductor的USBN9602、USBN9603、USBN9604等。
集成MCU的USB控制芯片優點是CPU與控制器在同一片芯片里,CPU只需要訪問一系列寄存器和存儲器,便可實現USB口的數據傳輸,最大限度的發揮 USB高速的特點。而且簡化了程序的設計,極大地降低了USB外設的開發難度。缺點是靈活性不夠高,開發成本較大。
純粹的USB接口芯片的優點是系統組成靈活,可根據不同的系統需求,搭配不同的MCU,具有較高的性能價格比。但因為USB控制器是通過串行口或并行口與MCU連接,在傳輸速度方面和開發難度方面不如集成了MCU的控制芯片。
不同的實現方式在設計開銷、上市時間、元器件開銷和引腳數方面各有優劣,選擇不同的方案意味著在以上各項指標中進行取舍。
本文主要介紹PHILIPS公司的PDIUSBD12器件。該芯片是一款性價比很高的USB器件,它通常用作微控制器系統中實現與微控制器進行通信的高速通用并行接口,設計者可根據需要選擇合適的微控制器,靈活性較大,適用于開發低成本且高效的USB外圍設備。
4、應用:帶DMA視頻信號接口功能的USB接口電路設計
目前,市場上提供的USB接口電路板很多,但大部分僅使用普通的工作模式,缺少對DMA工作模式的支持,不能直接用于象CCD數字攝像機USB接口這樣的需要工作在DMA模式下的設計開發。
所謂的DMA傳送方式,全名叫直接存儲器存取(Direct Memory Access)數據傳送方式,是指采用專門的硬件(DMA控制器)來執行數據傳送。DMA控制器可以從CPU那里接管系統總線的控制權,并且由本身發出存儲器地址信號以及訪問存儲器和I/O設備的讀/寫脈沖等控制信號,使得數據通過總線,直接在存儲器和I/O設備之間(或I/O設備與存儲器之間,存儲器與存儲器之間)進行傳送。在DMA接管總線執行數據傳送過程中,CPU暫停工作。
由于DMA傳送方式僅僅在需要占用總線傳送數據時才暫停CPU的操作,CPU的工作效率極高,傳輸數據可由硬件自身控制,大大提高了傳送速率,十分適合于高速數據的采集。
下面就介紹一下我們利用51單片機結合PHILIPS公司的PDIUSBD12帶并行總線的USB接口器件設計帶DMA工作模式的可供視頻信號傳輸的多功能USB接口電路。
評論