你的位置:首頁 > 互連技術(shù) > 正文

USB3.0接口技術(shù)與電路設(shè)計

發(fā)布時間:2010-07-26

中心議題:
  • USB3.0的結(jié)構(gòu)與工作原理
  • USB3.0外設(shè)控制器的實(shí)現(xiàn)方式
  • 帶DMA視頻信號接口功能的USB接口電路設(shè)計
USB的英文全稱為UniversalSerialBus,中文含義是通用串行總線,它是一種快速的,雙向的,同步傳輸?shù)牧畠r的并可以進(jìn)行熱拔插的串行接口。USB接口使用方便,它可以連接多個不同的設(shè)備,而過去的串口和并口只能接一個設(shè)備。速度快是USB技術(shù)的突出特點(diǎn)之一。全速USB接口的最高傳輸率可達(dá)12Mb/s,比串口快了整整100倍,而執(zhí)行USB2.0標(biāo)準(zhǔn)的高速USB接口速率更是達(dá)到了480Mb/s.這使得高分辨率、真彩色的大容量圖象的實(shí)時傳送成為可能。

USB接口支持多個不同設(shè)備的串列連接,一個USB接口理論上可以連接127個USB設(shè)備。連接方式也十分靈活,既可以使用串行連接,也可以使用集線器(Hub)把多個設(shè)備連接在一起,再同PC機(jī)的USB接口相接。普通的使用串口、并口的設(shè)備都需要單獨(dú)的供電系統(tǒng),而USB設(shè)備則不需要。正是由于USB的這些特點(diǎn),使其獲得了廣泛的應(yīng)用。到目前為止,USB已經(jīng)在PC機(jī)的多種外設(shè)上得到應(yīng)用,包括掃描儀,數(shù)碼相機(jī),數(shù)碼攝像機(jī)、音頻系統(tǒng)、顯示器、輸入設(shè)備等。對于廣大的工程設(shè)計人員來說,USB是設(shè)計外設(shè)接口時理想的總線。
  
對于USB接口芯片,通常分為普通和DMA(直接存儲器存取)兩種工作模式。相對于普通模式,DMA數(shù)據(jù)傳輸模式傳輸速率更快,更適合于視頻數(shù)字信號等高速、實(shí)時信號的傳送。但遺憾的是,國內(nèi)市場上提供的各種USB接口電路板大部分僅工作在普通模式,缺少對DMA工作模式的支持,不能直接用于象CCD數(shù)字?jǐn)z像機(jī)USB接口這樣的需要工作在DMA模式下的設(shè)計開發(fā)。為了解決這個問題,我們對USB的原理進(jìn)行了研究,嘗試著利用51單片機(jī)結(jié)合PHILIPS公司的PDIUSBD12帶并行總線的USB接口器件設(shè)計帶DMA工作模式的可供視頻信號傳輸?shù)亩喙δ躑SB接口電路,現(xiàn)已設(shè)計出了完整的硬件電路。
  
1、USB概述
  
由于多媒體技術(shù)的發(fā)展對外設(shè)與主機(jī)之間的數(shù)據(jù)傳輸率有了更高的需求,因此,USB總線技術(shù)應(yīng)運(yùn)而生。USB(UniversalSerialBus)翻譯為中文就是通用串行總線,是由Conpaq、DEC、IBM、Inter、Microsoft、NEC和NorthenTelecom等公司為簡化PC與外設(shè)之間的互連而共同研究開發(fā)的一種免費(fèi)的標(biāo)準(zhǔn)化連接器,它支持各種PC與外設(shè)之間的連接,還可實(shí)現(xiàn)數(shù)字多媒體集成?,F(xiàn)在生產(chǎn)的PC幾乎都配備了USB接口,Microsoft的Windows98、NT以及MacOS、Linux、FreeBSD等流行操作系統(tǒng)都增加了對USB的支持。
  
USB的主要優(yōu)點(diǎn):
  l使用方便。連接外設(shè)不必再打開機(jī)箱;允許外設(shè)熱插拔,而不必關(guān)閉主機(jī)電源。
  l速度快。USB支持三種設(shè)備傳輸速率:1.5Mb/s(低速設(shè)備)、12Mb/s(中速設(shè)備)和480Mb/s(高速設(shè)備)。
  l獨(dú)立供電。USB接口提供了內(nèi)置電源。
  l連接靈活。一個USB口理論上可以連接127個USB設(shè)備。連接的方式也十分靈活,既可以使用串行連接,也可以使用集線器Hub,把多個設(shè)備連接在一起,再同PC機(jī)的USB口相接。
  l成本低。為了把外設(shè)連接到PC上,USB提供了一種低成本的解決方案。
  
現(xiàn)在滿足USB要求的外設(shè)有:調(diào)制解調(diào)器,鍵盤,鼠標(biāo),光驅(qū),游戲手柄,軟驅(qū),掃描儀,音箱等。USB總線標(biāo)準(zhǔn)由1.1版升級到2.0版后,傳輸率由12Mbps增加到了480Mbps,更換介質(zhì)后連接距離由原來的5米增加到近百米。基于這點(diǎn),USB也可以做生產(chǎn)ISDN以及基于視頻的產(chǎn)品。USB總線結(jié)構(gòu)簡單,信號定義僅由2條電源線,2條信號線組成。
  
2、USB結(jié)構(gòu)與工作原理
  
一個USB系統(tǒng)可以從三個方面加以描述
  (1)USB互聯(lián)。
  (2)USB設(shè)備。
  (3)USB主機(jī)。

USB互聯(lián)是指一個USB設(shè)備與USB主機(jī)相聯(lián)并和其通信的方式,它包括:

  (1)總線拓?fù)浣Y(jié)構(gòu):USB主機(jī)和USB設(shè)備的連接模型。
  (2)層間關(guān)系:USB在系統(tǒng)中的每一層都要完成一定的任務(wù)。
  (3)數(shù)據(jù)流模型:USB系統(tǒng)中信源和信息之間的數(shù)據(jù)傳送方式。
  (4)任務(wù)規(guī)劃:USB提供可以共享的互聯(lián)機(jī)制。通過規(guī)劃對互連機(jī)制的訪問,可以支持同步數(shù)據(jù)傳輸。
  
下面簡要討論USB硬件結(jié)構(gòu)和數(shù)據(jù)流傳輸。
  [page]
2.1USB硬件結(jié)構(gòu)

一個USB系統(tǒng)包含三類硬件設(shè)備:USB主機(jī)(USBHOST)、USB設(shè)備(USBDEVICE)、USB集線器(USBHUB)。參見圖2-1。
  
(1)USBHOST
在一個USB系統(tǒng)中,當(dāng)且僅當(dāng)有一個USBHOST時,USBHOST有以下功能:
  ◇管理USB系統(tǒng);
  ◇每毫秒產(chǎn)生一幀數(shù)據(jù);
  ◇發(fā)送配置請求對USB設(shè)備進(jìn)行配置操作;
  ◇對總線上的錯誤進(jìn)行管理和恢復(fù)。
  
(2)USBDEVICE

在一個USB系統(tǒng)中,USBDEVICE和USBHUB總數(shù)不能超過127個。USBDEVICE接收USB總線上的所有數(shù)據(jù)包,通過數(shù)據(jù)包的地址域來判斷是不是發(fā)給自己的數(shù)據(jù)包:若地址不符,則簡單地丟棄該數(shù)據(jù)包;若地址相符,則通過響應(yīng)USBHOST的數(shù)據(jù)包與USBHOST進(jìn)行數(shù)據(jù)傳輸。

(3)USBHUB
  
USBHUB用于設(shè)備擴(kuò)展連接,所有USBDEVICE都連接在USBHUB的端口上。一個USBHOST總與一個根HUB(USBROOTHUB)相連。USBHUB為其每個端口提供100mA電流供設(shè)備使用。同時,USBHUB可以通過端口的電氣變化診斷出設(shè)備的插拔操作,并通過響應(yīng)USBHOST的數(shù)據(jù)包把端口狀態(tài)匯報給USBHOST。一般來說,USB設(shè)備與USBHUB間的連線長度不超過5m,USB系統(tǒng)的級聯(lián)不能超過5級(包括ROOTHUB)。
  
USB總線最多可支持127個USB外設(shè)連接到計算機(jī)系統(tǒng)。USB的拓?fù)涫菢湫谓Y(jié)構(gòu),有1個USB根集線器(roothub),下面還可有若干集線器。1個集線器下面可接若干USB接口。USB線纜包括4條線:Vbus(USB電源)、D+(數(shù)據(jù))、D-(數(shù)據(jù))和Gnd(USB地)。線纜最大長度不超過5m。USB1.1的傳輸速率最高為12Mb/s(低速外設(shè)的標(biāo)準(zhǔn)速率為1.5Mb/s,高速外設(shè)的標(biāo)準(zhǔn)速率為12Mb/s)。圖2-1是典型的USB功能器件結(jié)構(gòu)框圖,圖2-3是高速外設(shè)的USB線纜與電阻的連接圖。圖2-3中:FS為全速(高速);LS為低速;R1=15kΩ,R2=15kΩ。USB外設(shè)可以采用計算機(jī)里的電源(+5V,500mA),也可外接USB電源。在所有的USB信道之間動態(tài)地分配帶寬是USB總線的特征之一,這大大地提高了USB帶寬的利用率。當(dāng)一臺USB外設(shè)長時間(3ms以上)不使用時,就處于掛起狀態(tài),這時只消耗0.5mA電流。按USB1.0/1.1標(biāo)準(zhǔn),USB的標(biāo)準(zhǔn)脈沖時鐘頻率為12MHz,而其總線時脈沖時鐘為1ms(1kHz),即每隔1ms,USB器件應(yīng)為USB線纜產(chǎn)生1個時鐘脈沖序列。這個脈沖系列稱為幀開始數(shù)據(jù)包(SOF)。高速外設(shè)長度為每幀12000bit(位),而低速外設(shè)長度只有每幀1500bit。1個USB數(shù)據(jù)包可包含0~1023字節(jié)數(shù)據(jù)。每個數(shù)據(jù)包的傳送都以1個同步字段開始。
  
2.2USB的數(shù)據(jù)流傳輸
  
主控制器負(fù)責(zé)主機(jī)和USB設(shè)備間數(shù)據(jù)流的傳輸。這些傳輸數(shù)據(jù)被當(dāng)作連續(xù)的比特流。每個設(shè)備提供了一個或多個可以與客戶程序通信的接口,每個接口由0個或多個管道組成,它們分別獨(dú)立地在客戶程序和設(shè)備的特定終端間傳輸數(shù)據(jù)。USBD為主機(jī)軟件的現(xiàn)實(shí)需求建立了接口和管道,當(dāng)提出配置請求時,主控制器根據(jù)主機(jī)軟件提供的參數(shù)提供服務(wù)。
  
USB支持四種基本的數(shù)據(jù)傳輸模式:控制傳輸,等時傳輸,中斷傳輸及數(shù)據(jù)塊傳輸。每種傳輸模式應(yīng)用到具有相同名字的終端,則具有不同的性質(zhì)。
  
控制傳輸類型:支持外設(shè)與主機(jī)之間的控制,狀態(tài),配置等信息的傳輸,為外設(shè)與主機(jī)之間提供一個控制通道。每種外設(shè)都支持控制傳輸類型,這樣主機(jī)與外設(shè)之間就可以傳送配置和命令/狀態(tài)信息。
等時傳輸類型:支持有周期性,有限的時延和帶寬且數(shù)據(jù)傳輸速率不變的外設(shè)與主機(jī)間的數(shù)據(jù)傳輸。該類型無差錯校驗(yàn),故不能保證正確的數(shù)據(jù)傳輸,支持像計算機(jī)-電話集成系統(tǒng)(CTI)和音頻系統(tǒng)與主機(jī)的數(shù)據(jù)傳輸。
  
中斷傳輸類型:支持像游戲手柄,鼠標(biāo)和鍵盤等輸入設(shè)備,這些設(shè)備與主機(jī)間數(shù)據(jù)傳輸量小,無周期性,但對響應(yīng)時間敏感,要求馬上響應(yīng)。
  
數(shù)據(jù)塊傳輸類型:支持打印機(jī),掃描儀,數(shù)碼相機(jī)等外設(shè),這些外設(shè)與主機(jī)間傳輸?shù)臄?shù)據(jù)量大,USB在滿足帶寬的情況下才進(jìn)行該類型的數(shù)據(jù)傳輸。
  
USB采用分塊帶寬分配方案,若外設(shè)超過當(dāng)前帶寬分配或潛在的要求,則不能進(jìn)入該設(shè)備。同步和中斷傳輸類型的終端保留帶寬,并保證數(shù)據(jù)按一定的速率傳送。集中和控制終端按可用的最佳帶寬來傳輸傳輸數(shù)據(jù)。
  [page]
3、USB外設(shè)控制器的兩種實(shí)現(xiàn)方式
  
USB芯片在外設(shè)領(lǐng)域的應(yīng)用面很廣。USB外設(shè)控制芯片通常包括USB收發(fā)器、串行接口引擎(SIE)、USB控制器和外設(shè)功能等四個模塊(SIE主要以硬件方式處理大多數(shù)USB協(xié)議,USB控制器負(fù)責(zé)與PC交互通信信息)。USB控制器一般有兩種類型:一種是MCU集成在芯片里面的,如Intel的8X930AX、CYPRESS的EZ-USB、SIEMENS的C541U以及MOTOLORA、NationalSemiconductors等公司的產(chǎn)品;另一種就是純粹的USB接口芯片,僅處理USB通信,如PHILIPS的PDIUSBD11(I2C接口)、PDIUSBP11A、PDIUSBD12(并行接口),NationalSemiconductor的USBN9602、USBN9603、USBN9604等。
  
集成MCU的USB控制芯片優(yōu)點(diǎn)是CPU與控制器在同一片芯片里,CPU只需要訪問一系列寄存器和存儲器,便可實(shí)現(xiàn)USB口的數(shù)據(jù)傳輸,最大限度的發(fā)揮USB高速的特點(diǎn)。而且簡化了程序的設(shè)計,極大地降低了USB外設(shè)的開發(fā)難度。缺點(diǎn)是靈活性不夠高,開發(fā)成本較大。
  
純粹的USB接口芯片的優(yōu)點(diǎn)是系統(tǒng)組成靈活,可根據(jù)不同的系統(tǒng)需求,搭配不同的MCU,具有較高的性能價格比。但因?yàn)閁SB控制器是通過串行口或并行口與MCU連接,在傳輸速度方面和開發(fā)難度方面不如集成了MCU的控制芯片。
  
不同的實(shí)現(xiàn)方式在設(shè)計開銷、上市時間、元器件開銷和引腳數(shù)方面各有優(yōu)劣,選擇不同的方案意味著在以上各項(xiàng)指標(biāo)中進(jìn)行取舍。
  
本文主要介紹PHILIPS公司的PDIUSBD12器件。該芯片是一款性價比很高的USB器件,它通常用作微控制器系統(tǒng)中實(shí)現(xiàn)與微控制器進(jìn)行通信的高速通用并行接口,設(shè)計者可根據(jù)需要選擇合適的微控制器,靈活性較大,適用于開發(fā)低成本且高效的USB外圍設(shè)備。
  
4、應(yīng)用:帶DMA視頻信號接口功能的USB接口電路設(shè)計
  
目前,市場上提供的USB接口電路板很多,但大部分僅使用普通的工作模式,缺少對DMA工作模式的支持,不能直接用于象CCD數(shù)字?jǐn)z像機(jī)USB接口這樣的需要工作在DMA模式下的設(shè)計開發(fā)。
  
所謂的DMA傳送方式,全名叫直接存儲器存取(DirectMemoryAccess)數(shù)據(jù)傳送方式,是指采用專門的硬件(DMA控制器)來執(zhí)行數(shù)據(jù)傳送。DMA控制器可以從CPU那里接管系統(tǒng)總線的控制權(quán),并且由本身發(fā)出存儲器地址信號以及訪問存儲器和I/O設(shè)備的讀/寫脈沖等控制信號,使得數(shù)據(jù)通過總線,直接在存儲器和I/O設(shè)備之間(或I/O設(shè)備與存儲器之間,存儲器與存儲器之間)進(jìn)行傳送。在DMA接管總線執(zhí)行數(shù)據(jù)傳送過程中,CPU暫停工作。
  
由于DMA傳送方式僅僅在需要占用總線傳送數(shù)據(jù)時才暫停CPU的操作,CPU的工作效率極高,傳輸數(shù)據(jù)可由硬件自身控制,大大提高了傳送速率,十分適合于高速數(shù)據(jù)的采集。
  
下面就介紹一下我們利用51單片機(jī)結(jié)合PHILIPS公司的PDIUSBD12帶并行總線的USB接口器件設(shè)計帶DMA工作模式的可供視頻信號傳輸?shù)亩喙δ躑SB接口電路。
  
4.1系統(tǒng)概況
  

該系統(tǒng)主要實(shí)現(xiàn)USB的接口功能,通過它,外設(shè)與計算機(jī)之間可以實(shí)現(xiàn)USB方式的連接。外設(shè)接口1用于DMA方式數(shù)據(jù)的傳送,可與CCD攝像頭等設(shè)備相連。外設(shè)接口2采用了標(biāo)準(zhǔn)的IDE接口方式,可直接于硬盤等大容量存儲器相連,傳輸海量數(shù)據(jù),也可以通過接口轉(zhuǎn)換,與其他功能的外設(shè)相連,具有較廣的適用性。
  
下面說明了此多功能USB接口電路的框圖:
  
這個框圖顯示了兩種接口方案:普通模式和DMA模式。
  
(1)方案一:普通模式
  
連接外設(shè)的一種簡單模式,所有寄存器和數(shù)據(jù)的讀寫都是通過8051的I/O來仿真的,因此數(shù)據(jù)吞吐速率較低,適合間歇式數(shù)據(jù)的傳送。
  
(2)方案二:DMA模式
  
數(shù)據(jù)傳送以DMA方式,直接由D12傳送到計算機(jī)里,MCU只完成DMA的初始化工作,傳輸速度快,適合于視頻數(shù)字信號等高速實(shí)時傳送。
  
系統(tǒng)詳細(xì)的電原理圖和電路板結(jié)構(gòu)圖參見附錄。
  
4.2系統(tǒng)主要部件及電路
  
該系統(tǒng)主要由89C51控制電路、PDIUSBD12接口電路、數(shù)據(jù)選擇電路、串并轉(zhuǎn)換電路、掛起復(fù)位電路、IDE擴(kuò)展接口電路等組成,下面分述各部分的功能和特點(diǎn)。
  
4.2.1 89C51控制電路
  
89C51是該接口電路的控制核心,其中P0,P2口用做16位數(shù)據(jù)I/O口,P1,P3口用做控制。

89C51的晶振頻率為24MHz,每個機(jī)器周期為0.5us.
  
4.2.2 PDIUSBD12接口電路
  
PDIUSBD12是一個性能優(yōu)化的USB器件,通常用于基于微控制器的系統(tǒng)并與微控制器通過高速通用并行接口進(jìn)行通信,也支持本地DMA傳輸。該器件采用模塊化的方法實(shí)現(xiàn)一個USB接口,允許在眾多可用的微控制器中選擇最合適的作為系統(tǒng)微控制器,允許使用現(xiàn)存的體系結(jié)構(gòu)并使固件投資減到最小。這種靈活性減少了開發(fā)時間、風(fēng)險和成本,是開發(fā)低成本且高效的USB外圍設(shè)備解決方案的一種最快途徑。PDIUSBD12完全符合USB1.1規(guī)范,也能適應(yīng)大多數(shù)設(shè)備類規(guī)范的設(shè)計,如成像類、大容量存儲類、通信類、打印類和人工輸入設(shè)備等,因此,PDIUSBD12非常適合做很多外圍設(shè)備,如打印機(jī)、掃描儀、外部大容量存儲器(Zip驅(qū)動器)和數(shù)碼相機(jī)等。現(xiàn)在用SCSI實(shí)現(xiàn)的很多設(shè)備如果用USB來實(shí)現(xiàn)可以直接降低成本。
  
PDIUSBD12掛起時的低功耗以及LazyClock輸出符合ACPI、OnNOW和USB電源管理設(shè)備的要求。低功耗工作允許實(shí)現(xiàn)總線供電的外圍設(shè)備。
  
PDIUSBD12還集成了像SoftConnect、GoodLink、可編程時鐘輸出、低頻晶振和終端電阻等特性。所有這些特性都能在系統(tǒng)實(shí)現(xiàn)時節(jié)省成本,同時在外圍設(shè)備上很容易實(shí)現(xiàn)更高級的USB功能。
  
(1)內(nèi)部結(jié)構(gòu)

①模擬收發(fā)器。集成的收發(fā)器直接通過終端電阻與USB電纜接口。

②電壓調(diào)整器。片上集成的1個3.3V電壓調(diào)整器為模擬收發(fā)器供電,也提供連接到外部1.5kΩ上拉電阻的輸出電壓。作為選擇,PDIUSBD12提供集成1.5kΩ上拉電阻的SoftConnect技術(shù)。

③PLL。片上集成1個6~48MHz的倍頻PLL(鎖相環(huán)),允許使用6MHz的晶振,EMI也由于使用低頻晶振而減小。PLL的工作不需要外部器件。

④位時鐘恢復(fù)。位時鐘恢復(fù)電路用4倍過采樣原理從輸入的USB數(shù)據(jù)流中恢復(fù)時鐘,能跟蹤USB規(guī)范中指出的信號抖動和頻率漂移。

⑤PHILIPS串行接口引擎PSIE。PHILIPS的SIE完全實(shí)現(xiàn)USB協(xié)議層??紤]到速度,它是全硬件的,不需要固件(微程序)介入。這個模塊的功能包括:同步模式識別、并/串轉(zhuǎn)換、位填充/不填充、CRC校驗(yàn)、PID確認(rèn)、地址識別以及握手鑒定。

⑥SoftConnect。高速設(shè)備與USB的連接是靠把D+通過1個1.5kΩ的上拉電阻接到高電平來建立的。在PDIUSBD12中,這個上拉電阻是集成在芯片內(nèi)的,缺省是沒有連接到VDD,這個連接是靠外部MCU發(fā)一個命令來建立的。這使得系統(tǒng)微處理器可以在決定建立USB連接之前完成初始化。重新初始化USB總線連接也可以不用拔掉電纜來完成。
  [page]
⑦GoodLink。GoodLink是靠一個引腳接發(fā)光二極管實(shí)現(xiàn)的。在USB設(shè)備枚舉時LED指示燈將立即閃亮;當(dāng)PDIUSBD12被成功枚舉并配置時,LED指示燈將會始終亮;經(jīng)過PDIUSBD12的USB數(shù)據(jù)傳輸過程中,LED將一閃一閃,傳輸成功后LED熄滅;在掛起期間,LED熄滅。這種特性可以使我們知道PDIUSBD12的狀態(tài),方便電路調(diào)試。

⑧存儲器管理單元MMU和集成RAM。MMU和集成RAM能緩沖USB(工作在12Mb/s)數(shù)據(jù)傳輸和微控制器之間并行接口之間的速度差異,這允許微控制器以自己的速度讀寫USB包。
  
⑨并行和DMA接口。并行接口容易使用、速度快并且能直接與主微控制器接口。對于微控制器,PDIUSBD12可以看成是一個有8位數(shù)據(jù)總線和1位地址線的存儲設(shè)備。PDIUSBD12支持多路復(fù)用和非多路復(fù)用的地址和數(shù)據(jù)總線。在主端點(diǎn)(端點(diǎn)2)和局部共享存儲器之間也可使用DMA(直接存儲器存取)傳輸。它支持單周期模式和塊傳送模式兩種DMA傳輸。
  
(2)PDIUSBD12引腳說明
  
(3)PDIUSBD12的典型連接
  
PDIUSBD12與80C51的連接電路如圖4-6所示。在這個例子中,ALE始終接低電平,說明采用單獨(dú)地址和數(shù)據(jù)總線配置。A0腳接80C51的任何I/O引腳,控制是命令還是數(shù)據(jù)輸入到PDIUSBD12。80C51的P0口直接與PDIUSBD12的數(shù)據(jù)總線相連接,CLKOUT時鐘輸出為80C51提供時鐘輸入。
  
(4)PDIUSBD12的DMA傳輸
  
直接存儲器尋址允許在主端點(diǎn)和本地共享存儲器間實(shí)現(xiàn)數(shù)據(jù)塊的有效傳輸.使用DMA控制器,PDIUSBD12的主端點(diǎn)和本地共享存儲器間的數(shù)據(jù)傳輸可自主進(jìn)行而不需要本地CPU的干預(yù).要處理任何DMA傳輸,本地CPU從主機(jī)接收必要的建立信息并對DMA控制器進(jìn)行相應(yīng)的編程.典型的對DMA控制器的傳輸模式、字節(jié)計數(shù)寄存器和地址計數(shù)器進(jìn)行正確的編程。在該模式下,PDIUSBD12發(fā)出請求時開始傳輸,當(dāng)字節(jié)計數(shù)器減少為零時終止。在DMA控制器編程之后,本地CPU在初始化傳輸時將PDIUSBD12中的DMA使能位置位。
  
PDIUSBD12可編程為單周期DMA或突發(fā)模式DMA。在單周期DMA中,DMREQ在每單個應(yīng)答后直到被DMACK_N重新激活之前保持無效。在突發(fā)模式DMA中,DMREQ在器件中突發(fā)編程時一直保持有效。該過程持續(xù)到PDIUSBD12通過EOT_N接收到一個DMA終止信息。這時產(chǎn)生一個中斷指示本地CPU,DMA操作已經(jīng)完成。
  
在DMA讀操作時,DMREQ僅當(dāng)緩沖區(qū)完全表示主機(jī)成功的發(fā)送了一個信息包到PDIUSBD12時才有效。由于具有雙緩沖配置主機(jī)可以在第一個緩沖區(qū)被讀出時對第二個緩沖區(qū)進(jìn)行填充。這種并行的處理有效的增加了數(shù)據(jù)吞吐量。當(dāng)主機(jī)沒有完全填滿緩沖區(qū)的情況下(單向ISO配置時小于64或128字節(jié))。DMREQ會在緩沖區(qū)的最后一個字節(jié)時無效,而不管當(dāng)前的DMA突發(fā)計數(shù)。在更新了DMA突發(fā)計數(shù)的下一個包發(fā)送時,DMREQ再次被激活。
  
DMA的寫操作與之相似,當(dāng)緩沖區(qū)未裝滿時,DMREQ一直有效。當(dāng)緩沖區(qū)填滿時,在下一個IN標(biāo)志將信息包送入主機(jī)。當(dāng)傳輸完成之后DMREQ變?yōu)闊o效。同樣的,雙緩沖配置在這也改善了數(shù)據(jù)的吞吐量。在非同步傳輸中(批量模式和中斷),在數(shù)據(jù)被發(fā)送到主機(jī)之前,緩沖區(qū)需要通過DMA寫操作完全裝滿。唯一的例外是,在DMA傳輸結(jié)束時,EOT_N接收的信號將會停止DMA寫操作并且在下一個IN標(biāo)志置位時將緩沖區(qū)的內(nèi)容傳送到主機(jī)。
  
在同步模式中,本地CPU和DMA控制器必須保證它們在一個USB幀(1ms)中能夠吞吐的最大信息包的規(guī)模。DMACK_N的激活將自動選擇主端點(diǎn)(端點(diǎn)2)而不管當(dāng)前選擇的端點(diǎn)。PDIUSBD12的DMA操作可通過普通的I/O對其它端點(diǎn)的存取實(shí)現(xiàn)交叉存取。DMA操作可通過以下方式終止:復(fù)位DMA使能寄存器位或EOT_N加上DMACK_N以及RD_N/WR_N的激活。
  
PDIUSBD12支持單地址模式中的DMA傳輸,也可以在DMA控制器的雙地址模式中工作。在單地址模式中,DMA通過DREQ,DMACK_N,EOT_N,WR_N和RD_N控制線實(shí)現(xiàn)傳輸。在雙地址模式中,DMREQ,DMACK_N和EOT_N未用,取而代之的是CS_N,WR_N和RD_N控制信號。需要遵循PDIUSBD12的I/O模式傳輸協(xié)議。在讀周期中對DMAC信號源進(jìn)行訪問,在寫周期對目標(biāo)進(jìn)行訪問。傳輸需要兩個單獨(dú)的總線周期來儲存暫存在DMAC中的數(shù)據(jù)。
  
4.2.3DMA方式數(shù)據(jù)傳輸電路
  
上面詳細(xì)介紹了PDIUSBD12芯片的原理和工作方式,下面將介紹接口電路板工作在DMA方式的原理。  

當(dāng)外設(shè)接口1接入要求DMA傳輸?shù)脑O(shè)備,51單片機(jī)向D12發(fā)出DMA傳送的指令,并通過控制口線使157數(shù)據(jù)選擇電路里74164傳送過來的并行數(shù)據(jù)直接與D12的并行接口相連,不在進(jìn)入51單片機(jī),在完成了對D12DMA傳送初始化以后,MCU不再控制傳送,而由計數(shù)器滿8向D12發(fā)送一個讀信號,使D12讀取164內(nèi)存儲的8個字節(jié)的數(shù)據(jù),如此反復(fù),整個傳輸過程由硬件完成,不受MCU的速率限制,從而實(shí)現(xiàn)了DMA傳輸。
  
此工作方式適用于視頻數(shù)字信號的傳輸,下面是連接CCD攝像頭的電路示意圖:
  
CCD_IN為經(jīng)過A/D轉(zhuǎn)化或二值化處理的視頻數(shù)字信號,CCD_CLK1為脈沖同步信號,CCD_CLK2為行同步信號,CCD_CLK3為場同步信號。計數(shù)器對CCD_CLK1進(jìn)行計數(shù),滿8個脈沖向D12的讀端發(fā)一個低電平,通知D12對164里面的數(shù)據(jù)進(jìn)行讀取。
  
4.2.4數(shù)據(jù)選擇電路
  
數(shù)據(jù)選擇電路是由兩片74H157搭建而成,數(shù)據(jù)選擇DATA_SEL端連到了51的控制口線上,由51控制D12的并行數(shù)據(jù)I/O口是和51的P0口相連還是和74HC93串并轉(zhuǎn)換輸出的并行數(shù)據(jù)線相連,從而到達(dá)了數(shù)據(jù)選擇的作用。
  
4.2.5串并轉(zhuǎn)換及計數(shù)器電路
  
電路中74HC164起了串并轉(zhuǎn)換的作用,在DMA工作方式下,通過接入數(shù)據(jù)同步脈沖,把外設(shè)接口1送入的串行數(shù)據(jù)轉(zhuǎn)化成并行數(shù)據(jù),供D12直接讀取。
  
計數(shù)器74HC93負(fù)責(zé)對CCD_CLK1進(jìn)行計數(shù),滿8個脈沖向D12的讀端發(fā)一個低電平,通知D12對164里面的數(shù)據(jù)進(jìn)行讀取。
  
4.2.6復(fù)位掛起電路
    
掛起和復(fù)位電路被設(shè)計在一起,允許器件進(jìn)入掛起模式還可以達(dá)到在USB規(guī)格Rev.1.1中所陳述的掛起限制電流。
  
執(zhí)行此功能以后將強(qiáng)迫MCU進(jìn)入掉電模式,MCU振蕩器停止工作。只有硬件復(fù)位才能喚醒MCU工作。從這個電路中,復(fù)位信號是連接到復(fù)位電路的,當(dāng)上位PC機(jī)從掛起狀態(tài)恢復(fù)時,將導(dǎo)致D12觸發(fā)掛起信號,并通過上面的電路而產(chǎn)生復(fù)位信號。
  
4.2.7外設(shè)接口
  
采用標(biāo)準(zhǔn)的IDE接口連線方式的外設(shè)接口2電路
  
外設(shè)接口2采用了標(biāo)準(zhǔn)的IDE接口連線方式,可直接與計算機(jī)硬盤、光驅(qū)、光盤刻錄機(jī)等相連,用于傳輸海量數(shù)據(jù),使用方便。
  
由于采取了51接口擴(kuò)展的方式,通過對接口的轉(zhuǎn)換,也可以與其他更多的外設(shè)相連,用途比較廣泛。
  
4.2.8其他器件
  
l按下按鈕SW1:復(fù)位或恢復(fù)系統(tǒng)
  
lLEDD1:USB接口連接成功指示器:當(dāng)此LED點(diǎn)亮?xí)r表示USB主機(jī)和USB器件已經(jīng)裝配和枚舉。如果它正在閃爍表示數(shù)據(jù)已經(jīng)發(fā)送或接收。
  
lJP2:外設(shè)接口1,用于與CCD相連,為4接口的接插件
  
lCON1:USBCON用于與USB電纜相聯(lián)。

USB為計算機(jī)外設(shè)輸入輸出提供了新的接口標(biāo)準(zhǔn)。它使設(shè)備具有熱插拔,即插即用,自動配置的能力,并標(biāo)準(zhǔn)化設(shè)備連接。USB的級聯(lián)星型拓?fù)浣Y(jié)構(gòu)大大擴(kuò)充了外設(shè)數(shù)量,使增加,使用外設(shè)更加便捷,快速。而新提出的USB2.0標(biāo)準(zhǔn)更是將數(shù)據(jù)傳輸速率提高到了一個新的高度,這是具有美好的應(yīng)用前景。
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書下載更多>>
熱門搜索
?

關(guān)閉

?

關(guān)閉