USB的英文全稱為Universal Serial Bus,中文含義是通用串行總線,,它是一種快速的,,雙向的,同步傳輸?shù)牧畠r(jià)的并可以進(jìn)行熱拔插的串行接口,。USB接口使用方便,,它可以連接多個(gè)不同的設(shè)備,,而過去的串口和并口只能接一個(gè)設(shè)備。速度快是USB技術(shù)的突出特點(diǎn)之一,。全速USB接口的最高傳輸率可達(dá)12Mb/s,比串口快了整整100倍,,而執(zhí)行USB2.0標(biāo)準(zhǔn)的高速USB接口速率更是達(dá)到了480Mb/s.這使得高分辨率、真彩色的大容量圖象的實(shí)時(shí)傳送成為可能,。USB接口支持多個(gè)不同設(shè)備的串列連接,,一個(gè)USB接口理論上可以連接127個(gè)USB設(shè)備。連接方式也十分靈活,,既可以使用串行連接,,也可以使用集線器(Hub)把多個(gè)設(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è)備等,。對(duì)于廣大的工程設(shè)計(jì)人員來說,USB是設(shè)計(jì)外設(shè)接口時(shí)理想的總線,。
對(duì)于USB接口芯片,,通常分為普通和DMA(直接存儲(chǔ)器存取)兩種工作模式。相對(duì)于普通模式,,DMA數(shù)據(jù)傳輸模式傳輸速率更快,,更適合于視頻數(shù)字信號(hào)等高速、實(shí)時(shí)信號(hào)的傳送,。但遺憾的是,,國內(nèi)市場(chǎng)上提供的各種USB接口電路板大部分僅工作在普通模式,缺少對(duì)DMA工作模式的支持,,不能直接用于象CCD數(shù)字?jǐn)z像機(jī)USB接口這樣的需要工作在DMA模式下的設(shè)計(jì)開發(fā),。為了解決這個(gè)問題,我們對(duì)USB的原理進(jìn)行了研究,嘗試著利用51單片機(jī)結(jié)合PHILIPS公司的PDIUSBD12帶并行總線的USB接口器件設(shè)計(jì)帶DMA工作模式的可供視頻信號(hào)傳輸?shù)亩喙δ躑SB接口電路,,現(xiàn)已設(shè)計(jì)出了完整的硬件電路,。
1、USB概述
由于多媒體技術(shù)的發(fā)展對(duì)外設(shè)與主機(jī)之間的數(shù)據(jù)傳輸率有了更高的需求,,因此,,USB總線技術(shù)應(yīng)運(yùn)而生。USB(Universal Serial Bus)翻譯為中文就是通用串行總線,,是由Conpaq,、DEC、IBM,、Inter,、Microsoft、NEC和Northen Telecom等公司為簡化PC與外設(shè)之間的互連而共同研究開發(fā)的一種免費(fèi)的標(biāo)準(zhǔn)化連接器,,它支持各種PC與外設(shè)之間的連接,,還可實(shí)現(xiàn)數(shù)字多媒體集成。現(xiàn)在生產(chǎn)的PC幾乎都配備了USB接口,,Microsoft 的Windows98,、NT以及MacOS、Linux,、FreeBSD等流行操作系統(tǒng)都增加了對(duì) USB的支持,。
USB的主要優(yōu)點(diǎn):
l 使用方便。連接外設(shè)不必再打開機(jī)箱;允許外設(shè)熱插拔,,而不必關(guān)閉主機(jī)電源,。
l 速度快。USB支持三種設(shè)備傳輸速率:1.5 Mb/s(低速設(shè)備),、12 Mb/s(中速設(shè)備)和480 Mb/s(高速設(shè)備),。
l 獨(dú)立供電。USB接口提供了內(nèi)置電源,。
l 連接靈活,。一個(gè)USB口理論上可以連接127個(gè)USB設(shè)備,。連接的方式也十分靈活,,既可以使用 串行連接,也可以使用集線器Hub,,把多個(gè)設(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版升級(jí)到2.0版后,,傳輸率由12Mbps增加到了480Mbps,更換介質(zhì)后連接距離由原來的5米增加到近百米,?;谶@點(diǎn),USB也可以做生產(chǎn)ISDN以及基于視頻的產(chǎn)品,。USB 總線結(jié)構(gòu)簡單,,信號(hào)定義僅由2條電源線,2條信號(hào)線組成,。
2,、USB結(jié)構(gòu)與工作原理
一個(gè)USB系統(tǒng)可以從三個(gè)方面加以描述
(1)USB互聯(lián)。
(2)USB設(shè)備,。
(3)USB主機(jī),。
USB互聯(lián)是指一個(gè)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ī)劃對(duì)互連機(jī)制的訪問,,可以支
持同步數(shù)據(jù)傳輸,。
下面簡要討論USB硬件結(jié)構(gòu)和數(shù)據(jù)流傳輸。
2.1 USB硬件結(jié)構(gòu)
一個(gè)USB系統(tǒng)包含三類硬件設(shè)備: USB主機(jī)(USB HOST),、 USB設(shè)備(USB DEVICE),、USB集線器(USB HUB)。參見圖2-1,。
(1)USB HOST
在一個(gè)USB系統(tǒng)中,,當(dāng)且僅當(dāng)有一個(gè)USB HOST時(shí),USB HOST有以下功能:
◇ 管理USB系統(tǒng);
◇ 每毫秒產(chǎn)生一幀數(shù)據(jù);
◇ 發(fā)送配置請(qǐng)求對(duì)USB設(shè)備進(jìn)行配置操作;
◇ 對(duì)總線上的錯(cuò)誤進(jìn)行管理和恢復(fù),。
(2)USB DEVICE
在一個(gè)USB系統(tǒng)中,,USB DEVICE和USB HUB總數(shù)不能超過127個(gè)。USB DEVICE接收USB總線上的所有數(shù)據(jù)包,,通過數(shù)據(jù)包的地址域來判斷是不是發(fā)給自己的數(shù)據(jù)包:若地址不符,,則簡單地丟棄該數(shù)據(jù)包;若地址相符,則通過響應(yīng)USB HOST的數(shù)據(jù)包與USB HOST進(jìn)行數(shù)據(jù)傳輸。
(3)USB HUB
USB HUB用于設(shè)備擴(kuò)展連接,,所有USB DEVICE都連接在USB HUB的端口上,。一個(gè)USB HOST總與一個(gè)根HUB (USB ROOT HUB)相連。USB HUB為其每個(gè)端口提供100mA電流供設(shè)備使用,。同時(shí),,USB HUB可以通過端口的電氣變化診斷出設(shè)備的插拔操作,并通過響應(yīng)USB HOST的數(shù)據(jù)包把端口狀態(tài)匯報(bào)給USB HOST,。一般來說,,USB設(shè)備與USB HUB間的連線長度不超過5m,USB系統(tǒng)的級(jí)聯(lián)不能超過5級(jí)(包括ROOT HUB),。
USB總線最多可支持127個(gè)USB外設(shè)連接到計(jì)算機(jī)系統(tǒng),。USB的拓?fù)涫菢湫谓Y(jié)構(gòu),有1個(gè)USB根集線器(root hub),,下面還可有若干集線器,。1個(gè)集線器下面可接若干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ì)算機(jī)里的電源(+5V,,500mA),也可外接USB電源,。在所有的USB信道之間動(dòng)態(tài)地分配帶寬是USB總線的特征之一,,這大大地提高了USB帶寬的利用率。當(dāng)一臺(tái)USB外設(shè)長時(shí)間(3ms以上)不使用時(shí),,就處于掛起狀態(tài),,這時(shí)只消耗0.5mA 電流。按USB1.0/1.1標(biāo)準(zhǔn),,USB的標(biāo)準(zhǔn)脈沖時(shí)鐘頻率為12MHz,,而其總線時(shí)脈沖時(shí)鐘為1ms(1kHz),即每隔1ms,,USB器件應(yīng)為 USB線纜產(chǎn)生1個(gè)時(shí)鐘脈沖序列。這個(gè)脈沖系列稱為幀開始數(shù)據(jù)包(SOF)。高速外設(shè)長度為每幀12000bit(位),,而低速外設(shè)長度只有每幀 1500bit,。1個(gè)USB數(shù)據(jù)包可包含0~1023字節(jié)數(shù)據(jù)。每個(gè)數(shù)據(jù)包的傳送都以1個(gè)同步字段開始,。
2.2 USB的數(shù)據(jù)流傳輸
主控制器負(fù)責(zé)主機(jī)和USB設(shè)備間數(shù)據(jù)流的傳輸,。這些傳輸數(shù)據(jù)被當(dāng)作連續(xù)的比特流。每個(gè)設(shè)備提供了一個(gè)或多個(gè)可以與客戶程序通信的接口,,每個(gè)接口由0個(gè)或多個(gè)管道組成,,它們分別獨(dú)立地在客戶程序和設(shè)備的特定終端間傳輸數(shù)據(jù)。USBD為主機(jī)軟件的現(xiàn)實(shí)需求建立了接口和管道,,當(dāng)提出配置請(qǐng)求時(shí),,主控制器根據(jù)主機(jī)軟件提供的參數(shù)提供服務(wù)。
USB支持四種基本的數(shù)據(jù)傳輸模式:控制傳輸,,等時(shí)傳輸,,中斷傳輸及數(shù)據(jù)塊傳輸。每種傳輸模式應(yīng)用到具有相同名字的終端,,則具有不同的性質(zhì),。
控制傳輸類型:支持外設(shè)與主機(jī)之間的控制,狀態(tài),,配置等信息的傳輸,,為外設(shè)與主機(jī)之間提供一個(gè)控制通道。每種外設(shè)都支持控制傳輸類型,,這樣主機(jī)與外設(shè)之間就可以傳送配置和命令/狀態(tài)信息,。等時(shí)傳輸類型:支持有周期性,有限的時(shí)延和帶寬且數(shù)據(jù)傳輸速率不變的外設(shè)與主機(jī)間的數(shù)據(jù)傳輸,。該類型無差錯(cuò)校驗(yàn),,故不能保證正確的數(shù)據(jù)傳輸,支持像計(jì)算機(jī)-電話集成系統(tǒng)(CTI)和音頻系統(tǒng)與主機(jī)的數(shù)據(jù)傳輸,。
中斷傳輸類型:支持像游戲手柄,,鼠標(biāo)和鍵盤等輸入設(shè)備,這些設(shè)備與主機(jī)間數(shù)據(jù)傳輸量小,,無周期性,,但對(duì)響應(yīng)時(shí)間敏感,要求馬上響應(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ù),。
3,、USB外設(shè)控制器的兩種實(shí)現(xiàn)方式
USB芯片在外設(shè)領(lǐng)域的應(yīng)用面很廣。USB外設(shè)控制芯片通常包括USB收發(fā)器,、串行接口引擎(SIE),、USB控制器和外設(shè)功能等四個(gè)模塊(SIE 主要以硬件方式處理大多數(shù)USB協(xié)議,USB控制器負(fù)責(zé)與PC交互通信信息),。USB控制器一般有兩種類型:一種是MCU集成在芯片里面的,,如 Intel的8X930AX、CYPRESS的EZ-USB,、SIEMENS的C541U以及 MOTOLORA,、National Semiconductors等公司的產(chǎn)品;另一種就是純粹的USB接口芯片,僅處理 USB通信,,如PHILIPS的PDIUSBD11(I2C接口),、 PDIUSBP11A、PDIUSBD12(并行接口),,National Semiconductor的USBN9602,、USBN9603、USBN9*等,。
集成MCU的USB控制芯片優(yōu)點(diǎn)是CPU與控制器在同一片芯片里,,CPU只需要訪問一系列寄存器和存儲(chǔ)器,便可實(shí)現(xiàn)USB口的數(shù)據(jù)傳輸,,最大限度的發(fā)揮 USB高速的特點(diǎn),。而且簡化了程序的設(shè)計(jì),極大地降低了USB外設(shè)的開發(fā)難度,。缺點(diǎn)是靈活性不夠高,,開發(fā)成本較大。
純粹的USB接口芯片的優(yōu)點(diǎn)是系統(tǒng)組成靈活,,可根據(jù)不同的系統(tǒng)需求,,搭配不同的MCU,具有較高的性能價(jià)格比,。但因?yàn)閁SB控制器是通過串行口或并行口與MCU連接,,在傳輸速度方面和開發(fā)難度方面不如集成了MCU的控制芯片。
不同的實(shí)現(xiàn)方式在設(shè)計(jì)開銷,、上市時(shí)間,、元器件開銷和引腳數(shù)方面各有優(yōu)劣,,選擇不同的方案意味著在以上各項(xiàng)指標(biāo)中進(jìn)行取舍。
本文主要介紹PHILIPS公司的PDIUSBD12器件,。該芯片是一款性價(jià)比很高的USB器件,,它通常用作微控制器系統(tǒng)中實(shí)現(xiàn)與微控制器進(jìn)行通信的高速通用并行接口,,設(shè)計(jì)者可根據(jù)需要選擇合適的微控制器,,靈活性較大,適用于開發(fā)低成本且高效的USB外圍設(shè)備,。
4,、應(yīng)用:帶DMA視頻信號(hào)接口功能的USB接口電路設(shè)計(jì)
目前,市場(chǎng)上提供的USB接口電路板很多,,但大部分僅使用普通的工作模式,,缺少對(duì)DMA工作模式的支持,不能直接用于象CCD數(shù)字?jǐn)z像機(jī)USB接口這樣的需要工作在DMA模式下的設(shè)計(jì)開發(fā),。
所謂的DMA傳送方式,,全名叫直接存儲(chǔ)器存取(Direct Memory Access)數(shù)據(jù)傳送方式,是指采用專門的硬件(DMA控制器)來執(zhí)行數(shù)據(jù)傳送,。DMA控制器可以從CPU那里接管系統(tǒng)總線的控制權(quán),,并且由本身發(fā)出存儲(chǔ)器地址信號(hào)以及訪問存儲(chǔ)器和I/O設(shè)備的讀/寫脈沖等控制信號(hào),使得數(shù)據(jù)通過總線,,直接在存儲(chǔ)器和I/O設(shè)備之間(或I/O設(shè)備與存儲(chǔ)器之間,,存儲(chǔ)器與存儲(chǔ)器之間)進(jìn)行傳送。在DMA接管總線執(zhí)行數(shù)據(jù)傳送過程中,,CPU暫停工作,。
由于DMA傳送方式僅僅在需要占用總線傳送數(shù)據(jù)時(shí)才暫停CPU的操作,CPU的工作效率極高,,傳輸數(shù)據(jù)可由硬件自身控制,,大大提高了傳送速率,十分適合于高速數(shù)據(jù)的采集,。
下面就介紹一下我們利用51單片機(jī)結(jié)合PHILIPS公司的PDIUSBD12帶并行總線的USB接口器件設(shè)計(jì)帶DMA工作模式的可供視頻信號(hào)傳輸?shù)亩喙δ躑SB接口電路,。
4.1 系統(tǒng)概況
該系統(tǒng)主要實(shí)現(xiàn)USB的接口功能,通過它,,外設(shè)與計(jì)算機(jī)之間可以實(shí)現(xiàn)USB方式的連接,。外設(shè)接口1用于DMA方式數(shù)據(jù)的傳送,可與CCD攝像頭等設(shè)備相連,。外設(shè)接口2采用了標(biāo)準(zhǔn)的IDE接口方式,,可直接于硬盤等大容量存儲(chǔ)器相連,傳輸海量數(shù)據(jù),,也可以通過接口轉(zhuǎn)換,,與其他功能的外設(shè)相連,,具有較廣的適用性。
兩種接口方案:普通模式和DMA模式,。
(1)方案一:普通模式
圖4-2是該USB接口電路普通模式的框圖,,該框圖說明了連接外設(shè)的一種簡單模式,所有寄存器和數(shù)據(jù)的讀寫都是通過8051 的I/O 來仿真的,,因此數(shù)據(jù)吞吐速率較低,,適合間歇式數(shù)據(jù)的傳送。
(2)方案二:DMA模式
數(shù)據(jù)傳送以DMA方式,,直接由D12傳送到計(jì)算機(jī)里,,MCU只完成DMA的初始化工作,傳輸速度快,,適合于視頻數(shù)字信號(hào)等高速實(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,每個(gè)機(jī)器周期為0.5us.
4.2.2 PDIUSBD12 接口電路
PDIUSBD12是一個(gè)性能優(yōu)化的USB器件,,通常用于基于微控制器的系統(tǒng)并與微控制器通過高速通用并行接口進(jìn)行通信,也支持本地DMA傳輸,。該器件采用模塊化的方法實(shí)現(xiàn)一個(gè) USB接口,,允許在眾多可用的微控制器中選擇最合適的作為系統(tǒng)微控制器,允許使用現(xiàn)存的體系結(jié)構(gòu)并使固件投資減到最小,。這種靈活性減少了開發(fā)時(shí)間,、風(fēng)險(xiǎn)和成本,是開發(fā)低成本且高效的USB外圍設(shè)備解決方案的一種最快途徑,。 PDIUSBD12完全符合USB1.1規(guī)范,,也能適應(yīng)大多數(shù)設(shè)備類規(guī)范的設(shè)計(jì),如成像類,、大容量存儲(chǔ)類,、通信類、打印類和人工輸入設(shè)備等,,因此,,PDIUSBD12 非常適合做很多外圍設(shè)備,,如打印機(jī)、掃描儀,、外部大容量存儲(chǔ)器( Zip驅(qū)動(dòng)器)和數(shù)碼相機(jī)等?,F(xiàn)在用SCSI實(shí)現(xiàn)的很多設(shè)備如果用 USB來實(shí)現(xiàn)可以直接降低成本。
PDIUSBD12掛起時(shí)的低功耗以及LazyClock輸出符合ACPI ,、OnNOW和USB電源管理設(shè)備的要求,。低功耗工作允許實(shí)現(xiàn)總線供電的外圍設(shè)備。
PDIUSBD12還集成了像SoftConnect,、GoodLink,、可編程時(shí)鐘輸出,、低頻晶振和終端電阻等特性,。所有這些特性都能在系統(tǒng)實(shí)現(xiàn)時(shí)節(jié)省成本,同時(shí)在外圍設(shè)備上很容易實(shí)現(xiàn)更高級(jí)的 USB功能,。
(1)內(nèi)部結(jié)構(gòu)
?、?模擬收發(fā)器。集成的收發(fā)器直接通過終端電阻與USB電纜接口,。
?、?電壓調(diào)整器。片上集成的1個(gè)3.3 V電壓調(diào)整器為模擬收發(fā)器供電,,也提供連接到外部1.5 kΩ上拉電阻的輸出電壓,。作為選擇,PDIUSBD12提供集成1.5 kΩ上拉電阻的SoftConnect技術(shù),。
?、?PLL。片上集成1個(gè)*8 MHz的倍頻PLL(鎖相環(huán)),,允許使用6 MHz的晶振,,EMI也由于使用低頻晶振而減小,。PLL的工作不需要外部器件。
④ 位時(shí)鐘恢復(fù),。位時(shí)鐘恢復(fù)電路用4倍過采樣原理從輸入的USB 數(shù)據(jù)流中恢復(fù)時(shí)鐘,能跟蹤USB規(guī)范中指出的信號(hào)抖動(dòng)和頻率漂移,。
?、?PHILIPS串行接口引擎PSIE。PHILIPS的SIE完全實(shí)現(xiàn)USB協(xié)議層,??紤]到速度,它是全硬件的,, 不需要固件(微程序)介入,。這個(gè)模塊的功能包括:同步模式識(shí)別,、并 /串轉(zhuǎn)換、位填充/不填充,、CRC校驗(yàn),、PID確認(rèn)、地址識(shí)別以及握手鑒定,。
?、?SoftConnect。高速設(shè)備與USB的連接是靠把D+通過1個(gè)1.5 kΩ的上拉電阻接到高電平來建立的,。在PDIUSBD12中,,這個(gè)上拉電阻是集成在芯片 內(nèi)的,缺省是沒有連接到VDD,,這個(gè)連接是靠外部 MCU發(fā)一個(gè)命令來建立的,。這使得系統(tǒng)微處理器可以在決定建立 USB連接之前完成初始化。重新初始化USB總線連接也可以不用拔掉電纜來完成,。
?、?GoodLink。GoodLink是靠一個(gè)引腳接發(fā)光二極管實(shí)現(xiàn)的,。在 USB設(shè)備枚舉時(shí)LED指示燈將立即閃亮;當(dāng)PDIUSBD12被成功枚舉并配置時(shí),, LED指示燈將會(huì)始終亮;經(jīng)過PDIUSBD12的USB數(shù)據(jù)傳輸過程中, LED將一閃一閃,,傳輸成功后LED熄滅;在掛起期間,,LED熄滅。這種特性可以使我們知道 PDIUSBD12的狀態(tài),,方便電路調(diào)試,。?、?存儲(chǔ)器管理單元MMU和集成RAM,。MMU和集成RAM能緩沖USB(工作在 12Mb/s)數(shù)據(jù)傳輸和微控制器之間并行接口之間的速度差異,這允 許微控制器以自己的速度讀寫USB包,。
?、?并行和DMA接口。并行接口容易使用,、速度快并且能直接與主微控制器接口,。對(duì)于微控制器,PDIUSBD12可以看成是一個(gè)有8位數(shù)據(jù)總線和1位地址線的存儲(chǔ)設(shè)備,。 PDIUSBD12支持多路復(fù)用和非多路復(fù)用的地址和數(shù)據(jù)總線,。在主端點(diǎn)(端點(diǎn) 2)和局部共享存儲(chǔ)器之間也可使用DMA(直接存儲(chǔ)器存取)傳輸。它支持單周期模式和塊傳送模式 兩種DMA傳輸。
(2)PDIUSBD12引腳說明
(3)PDIUSBD12的典型連接
PDIUSBD12與80C51的連接電路如 圖4-6 所示,。在這個(gè)例子中,, ALE始終接低電平,說明采用單獨(dú)地址和數(shù)據(jù)總線配置,。A0 腳接80C51的任何I/O引腳,,控制是命令還是數(shù)據(jù)輸入到PDIUSBD12 。80C51的P0口直接與PDIUSBD12的數(shù)據(jù)總線相連接,,CLKOUT 時(shí)鐘輸出為80C51提供時(shí)鐘輸入,。
(4)PDIUSBD12的DMA 傳輸
直接存儲(chǔ)器尋址 允許在主端點(diǎn)和本地共享存儲(chǔ)器間實(shí)現(xiàn)數(shù)據(jù)塊的有效傳輸.使用DMA控制器,PDIUSBD12 的主端點(diǎn)和本地共享存儲(chǔ)器間的數(shù)據(jù)傳輸可自主進(jìn)行而不需要本地CPU 的干預(yù).要處理任何DMA傳輸,本地CPU 從主機(jī)接收必要的建立信息并對(duì)DMA控制器進(jìn)行相應(yīng)的編程.典型的對(duì)DMA控制器的傳輸模式、字節(jié)計(jì)數(shù)寄存器和地址計(jì)數(shù)器進(jìn)行正確的編程,。在該模式下,, PDIUSBD12 發(fā)出請(qǐng)求時(shí)開始傳輸,當(dāng)字節(jié)計(jì)數(shù)器減少為零時(shí)終止,。在DMA 控制器編程之后,,本地CPU 在初始化傳輸時(shí)將PDIUSBD12 中的DMA使能位置位。
PDIUSBD12 可編程為單周期DMA或突發(fā)模式DMA,。在單周期DMA 中,,DMREQ在每單個(gè)應(yīng)答后直到被DMACK_N 重新激活之前保持無效。在突發(fā)模式DMA 中,,DMREQ 在器件中突發(fā)編程時(shí)一直保持有效。該過程持續(xù)到PDIUSBD12 通過EOT_N 接收到一個(gè)DMA 終止信息,。這時(shí)產(chǎn)生一個(gè)中斷指示本地CPU ,,DMA操作已經(jīng)完成。
在DMA 讀操作時(shí),,DMREQ 僅當(dāng)緩沖區(qū)完全表示主機(jī)成功的發(fā)送了一個(gè)信息包到PDIUSBD12 時(shí)才有效,。由于具有雙緩沖配置主機(jī)可以在第一個(gè)緩沖區(qū)被讀出時(shí)對(duì)第二個(gè)緩沖區(qū)進(jìn)行填充。這種并行的處理有效的增加了數(shù)據(jù)吞吐量,。當(dāng)主機(jī)沒有完全填滿緩沖區(qū)的情況下(單向ISO 配置時(shí)小于64 或128 字節(jié)),。DMREQ 會(huì)在緩沖區(qū)的最后一個(gè)字節(jié)時(shí)無效,而不管當(dāng)前的DMA突發(fā)計(jì)數(shù),。在更新了DMA突發(fā)計(jì)數(shù)的下一個(gè)包發(fā)送時(shí),,DMREQ 再次被激活。
DMA的寫操作與之相似,,當(dāng)緩沖區(qū)未裝滿時(shí),,DMREQ 一直有效。當(dāng)緩沖區(qū)填滿時(shí),,在下一個(gè)IN 標(biāo)志將信息包送入主機(jī),。當(dāng)傳輸完成之后DMREQ 變?yōu)闊o效。同樣的,雙緩沖配置在這也改善了數(shù)據(jù)的吞吐量,。在非同步傳輸中(批量模式和中斷),,在數(shù)據(jù)被發(fā)送到主機(jī)之前,緩沖區(qū)需要通過DMA寫操作完全裝滿,。唯一的例外是,,在DMA傳輸結(jié)束時(shí),EOT_N 接收的信號(hào)將會(huì)停止DMA寫操作并且在下一個(gè)IN 標(biāo)志置位時(shí)將緩沖區(qū)的內(nèi)容傳送到主機(jī),。
在同步模式中,,本地CPU 和DMA 控制器必須保證它們?cè)谝粋€(gè)USB 幀(1ms )中能夠吞吐的最大信息包的規(guī)模。DMACK_N 的激活將自動(dòng)選擇主端點(diǎn)(端點(diǎn)2 )而不管當(dāng)前選擇的端點(diǎn),。PDIUSBD12的DMA操作可通過普通的I/O 對(duì)其它端點(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控制信號(hào),。需要遵循 PDIUSBD12的I/O 模式傳輸協(xié)議,。在讀周期中對(duì)DMAC 信號(hào)源進(jìn)行訪問,在寫周期對(duì)目標(biāo)進(jìn)行訪問,。傳輸需要兩個(gè)單獨(dú)的總線周期來儲(chǔ)存暫存在DMAC 中的數(shù)據(jù),。
4.2.3 DMA方式數(shù)據(jù)傳輸電路
上面詳細(xì)介紹了PDIUSBD12芯片的原理和工作方式,下面將介紹接口電路板工作在DMA方式的原理,。該傳輸方式的原理框圖參看圖4-3,。
當(dāng)外設(shè)接口1接入要求DMA傳輸?shù)脑O(shè)備,51單片機(jī)向D12發(fā)出DMA傳送的指令,,并通過控制口線使157數(shù)據(jù)選擇電路里74164傳送過來的并行數(shù)據(jù)直接與D12的并行接口相連,,不在進(jìn)入51單片機(jī),在完成了對(duì)D12 DMA傳送初始化以后,,MCU不再控制傳送,,而由計(jì)數(shù)器滿8向D12發(fā)送一個(gè)讀信號(hào),使D12 讀取164內(nèi)存儲(chǔ)的8個(gè)字節(jié)的數(shù)據(jù),,如此反復(fù),,整個(gè)傳輸過程由硬件完成,,不受MCU 的速率限制,從而實(shí)現(xiàn)了DMA傳輸,。
此工作方式適用于視頻數(shù)字信號(hào)的傳輸,,下面是連接CCD攝像頭的電路示意圖:
CCD_IN為經(jīng)過A/D轉(zhuǎn)化或二值化處理的視頻數(shù)字信號(hào),CCD_CLK1為脈沖同步信號(hào),,CCD_CLK2為行同步信號(hào),,CCD_CLK3為場(chǎng)同步信號(hào)。計(jì)數(shù)器對(duì)CCD_CLK1進(jìn)行計(jì)數(shù),,滿8個(gè)脈沖向D12的讀端發(fā)一個(gè)低電平,,通知D12對(duì)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)換及計(jì)數(shù)器電路
電路中74HC164起了串并轉(zhuǎn)換的作用,,在DMA工作方式下,通過接入數(shù)據(jù)同步脈沖,,把外設(shè)接口1送入的串行數(shù)據(jù)轉(zhuǎn)化成并行數(shù)據(jù),,供D12直接讀取。
計(jì)數(shù)器74HC93負(fù)責(zé)對(duì)CCD_CLK1進(jìn)行計(jì)數(shù),,滿8個(gè)脈沖向D12的讀端發(fā)一個(gè)低電平,,通知D12對(duì)164里面的數(shù)據(jù)進(jìn)行讀取。
4.2.6 復(fù)位掛起電路
復(fù)位掛起電路
掛起和復(fù)位電路被設(shè)計(jì)在一起,,允許器件進(jìn)入掛起模式還可以達(dá)到在USB 規(guī)格Rev.1.1 中所陳述的掛起限制電流,。
執(zhí)行此功能以后將強(qiáng)迫MCU 進(jìn)入掉電模式,MCU 振蕩器停止工作,。只有硬件復(fù)位才能喚醒MCU工作。從這個(gè)電路中,,復(fù)位信號(hào)是連接到復(fù)位電路的,,當(dāng)上位PC 機(jī)從掛起狀態(tài)恢復(fù)時(shí),將導(dǎo)致D12 觸發(fā)掛起信號(hào),,并通過上面的電路而產(chǎn)生復(fù)位信號(hào),。
4.2.7 外設(shè)接口2
采用標(biāo)準(zhǔn)的IDE接口連線方式的外設(shè)接口2電路
外設(shè)接口2采用了標(biāo)準(zhǔn)的IDE接口連線方式,可直接與計(jì)算機(jī)硬盤,、光驅(qū),、光盤刻錄機(jī)等相連,用于傳輸海量數(shù)據(jù),,使用方便,。
由于采取了51接口擴(kuò)展的方式,通過對(duì)接口的轉(zhuǎn)換,也可以與其他更多的外設(shè)相連,,用途比較廣泛,。
4.2.8 其他器件
l 按下按鈕SW1 :復(fù)位或恢復(fù)系統(tǒng)
l LED D1 : USB 接口連接成功指示器:當(dāng)此LED 點(diǎn)亮?xí)r表示USB 主機(jī)和USB 器件已經(jīng)裝配和枚舉。如果它正在閃爍表示數(shù)據(jù)已經(jīng)發(fā)送或接收,。
l JP2: 外設(shè)接口1,,用于與CCD相連,為4接口的接插件
l CON1: USB CON 用于與USB電纜相聯(lián),。
結(jié)束語
USB為計(jì)算機(jī)外設(shè)輸入輸出提供了新的接口標(biāo)準(zhǔn),。它使設(shè)備具有熱插拔,即插即用,,自動(dòng)配置的能力,,并標(biāo)準(zhǔn)化設(shè)備連接。USB的級(jí)聯(lián)星型拓?fù)浣Y(jié)構(gòu)大大擴(kuò)充了外設(shè)數(shù)量,,使增加,,使用外設(shè)更加便捷,快速,。而新提出的USB2.0標(biāo)準(zhǔn)更是將數(shù)據(jù)傳輸速率提高到了一個(gè)新的高度,,這是具有美好的應(yīng)用前景。