新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > USB3.0接口技術(shù)與電路設(shè)計

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

作者: 時間:2016-10-22 來源:網(wǎng)絡(luò) 收藏
摘 要:作為一種新型的,以其簡單易用、速度快等特點而備受青睞。本文簡要介紹 接口的特點、硬件結(jié)構(gòu)、數(shù)據(jù)流傳送以及外設(shè)控制器的實現(xiàn)方式。并詳細(xì)說明利用51單片機(jī)結(jié)合PHILIPS公司的PDID12帶并行總線的USB接口器件設(shè)計帶DMA工作模式的可供視頻信號傳輸?shù)亩喙δ躑SB接口電路的過程。

  引 言

本文引用地址:http://m.butianyuan.cn/article/201610/309302.htm

  USB的英文全稱為Universal Serial Bus,中文含義是通用串行總線,它是一種快速的,雙向的,同步傳輸?shù)牧畠r的并可以進(jìn)行熱拔插的串行接口。USB接口使用方便,它可以連接多個不同的設(shè)備,而過去的串口和并口只能接一個設(shè)備。速度快是USB技術(shù)的突出特點之一。全速USB接口的最高傳輸率可達(dá)12Mb/s,比串口快了整整100倍,而執(zhí)行USB2.0標(biāo)準(zhǔn)的高速USB接口速率更是達(dá)到了480Mb/s.這使得高分辨率、真彩色的大容量圖象的實時傳送成為可能。USB接口支持多個不同設(shè)備的串列連接,一個USB接口理論上可以連接127個USB設(shè)備。連接方式也十分靈活,既可以使用串行連接,也可以使用集線器(Hub)把多個設(shè)備連接在一起,再同PC機(jī)的USB接口相接。普通的使用串口、并口的設(shè)備都需要單獨的供電系統(tǒng),而USB設(shè)備則不需要。正是由于USB的這些特點,使其獲得了廣泛的應(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ù)字信號等高速、實時信號的傳送。但遺憾的是,國內(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)運而生。USB(Universal Serial Bus)翻譯為中文就是通用串行總線,是由Conpaq、DEC、IBM、Inter、Microsoft、NEC和Northen Telecom等公司為簡化PC與外設(shè)之間的互連而共同研究開發(fā)的一種免費的標(biāo)準(zhǔn)化連接器,它支持各種PC與外設(shè)之間的連接,還可實現(xiàn)數(shù)字多媒體集成?,F(xiàn)在生產(chǎn)的PC幾乎都配備了USB接口,Microsoft 的Windows98、NT以及MacOS、Linux、FreeBSD等流行操作系統(tǒng)都增加了對 USB的支持。

  USB的主要優(yōu)點:

  l 使用方便。連接外設(shè)不必再打開機(jī)箱;允許外設(shè)熱插拔,而不必關(guān)閉主機(jī)電源。

  l 速度快。USB支持三種設(shè)備傳輸速率:1.5 Mb/s(低速設(shè)備)、12 Mb/s(中速設(shè)備)和480 Mb/s(高速設(shè)備)。

  l 獨立供電。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米增加到近百米?;谶@點,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ù)流傳輸。

  2.1 USB硬件結(jié)構(gòu)

  一個USB系統(tǒng)包含三類硬件設(shè)備: USB主機(jī)(USB HOST)、 USB設(shè)備(USB DEVICE)、USB集線器(USB HUB)。參見圖2-1。

  (1)USB HOST

  在一個USB系統(tǒng)中,當(dāng)且僅當(dāng)有一個USB HOST時,USB HOST有以下功能:

  ◇ 管理USB系統(tǒng);

  ◇ 每毫秒產(chǎn)生一幀數(shù)據(jù);

  ◇ 發(fā)送配置請求對USB設(shè)備進(jìn)行配置操作;

  ◇ 對總線上的錯誤進(jìn)行管理和恢復(fù)。

  (2)USB DEVICE

  在一個USB系統(tǒng)中,USB DEVICE和USB HUB總數(shù)不能超過127個。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的端口上。一個USB HOST總與一個根HUB (USB ROOT HUB)相連。USB HUB為其每個端口提供100mA電流供設(shè)備使用。同時,USB HUB可以通過端口的電氣變化診斷出設(shè)備的插拔操作,并通過響應(yīng)USB HOST的數(shù)據(jù)包把端口狀態(tài)匯報給USB HOST。一般來說,USB設(shè)備與USB HUB間的連線長度不超過5m,USB系統(tǒng)的級聯(lián)不能超過5級(包括ROOT HUB)。

  USB總線最多可支持127個USB外設(shè)連接到計算機(jī)系統(tǒng)。USB的拓?fù)涫菢湫谓Y(jié)構(gòu),有1個USB根集線器(root hub),下面還可有若干集線器。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.2 USB的數(shù)據(jù)流傳輸

  主控制器負(fù)責(zé)主機(jī)和USB設(shè)備間數(shù)據(jù)流的傳輸。這些傳輸數(shù)據(jù)被當(dāng)作連續(xù)的比特流。每個設(shè)備提供了一個或多個可以與客戶程序通信的接口,每個接口由0個或多個管道組成,它們分別獨立地在客戶程序和設(shè)備的特定終端間傳輸數(shù)據(jù)。USBD為主機(jī)軟件的現(xiàn)實需求建立了接口和管道,當(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ù)傳輸。該類型無差錯校驗,故不能保證正確的數(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ù)。

  3、USB外設(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、National Semiconductors等公司的產(chǎn)品;另一種就是純粹的USB接口芯片,僅處理 USB通信,如PHILIPS的PDIUSBD11(I2C接口)、 PDIUSBP11A、PDIUSBD12(并行接口),National Semiconductor的USBN9602、USBN9603、USBN9604等。

  集成MCU的USB控制芯片優(yōu)點是CPU與控制器在同一片芯片里,CPU只需要訪問一系列寄存器和存儲器,便可實現(xiàn)USB口的數(shù)據(jù)傳輸,最大限度的發(fā)揮 USB高速的特點。而且簡化了程序的設(shè)計,極大地降低了USB外設(shè)的開發(fā)難度。缺點是靈活性不夠高,開發(fā)成本較大。

  純粹的USB接口芯片的優(yōu)點是系統(tǒng)組成靈活,可根據(jù)不同的系統(tǒng)需求,搭配不同的MCU,具有較高的性能價格比。但因為USB控制器是通過串行口或并行口與MCU連接,在傳輸速度方面和開發(fā)難度方面不如集成了MCU的控制芯片。

  不同的實現(xiàn)方式在設(shè)計開銷、上市時間、元器件開銷和引腳數(shù)方面各有優(yōu)劣,選擇不同的方案意味著在以上各項指標(biāo)中進(jìn)行取舍。

  本文主要介紹PHILIPS公司的PDIUSBD12器件。該芯片是一款性價比很高的USB器件,它通常用作微控制器系統(tǒng)中實現(xiàn)與微控制器進(jìn)行通信的高速通用并行接口,設(shè)計者可根據(jù)需要選擇合適的微控制器,靈活性較大,適用于開發(fā)低成本且高效的USB外圍設(shè)備。

  4、應(yīng)用:帶DMA視頻信號接口功能的USB接口

  目前,市場上提供的USB接口電路板很多,但大部分僅使用普通的工作模式,缺少對DMA工作模式的支持,不能直接用于象CCD數(shù)字?jǐn)z像機(jī)USB接口這樣的需要工作在DMA模式下的設(shè)計開發(fā)。

  所謂的DMA傳送方式,全名叫直接存儲器存取(Direct Memory Access)數(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)主要實現(xiàn)USB的接口功能,通過它,外設(shè)與計算機(jī)之間可以實現(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)方案一:普通模式

  圖4-2是該USB接口電路普通模式的框圖,該框圖說明了連接外設(shè)的一種簡單模式,所有寄存器和數(shù)據(jù)的讀寫都是通過8051 的I/O 來仿真的,因此數(shù)據(jù)吞吐速率較低,適合間歇式數(shù)據(jù)的傳送。

  (2)方案二:DMA模式

  數(shù)據(jù)傳送以DMA方式,直接由D12傳送到計算機(jī)里,MCU只完成DMA的初始化工作,傳輸速度快,適合于視頻數(shù)字信號等高速實時傳送。

  系統(tǒng)詳細(xì)的電原理圖和電路板結(jié)構(gòu)圖參見附錄。

  4.2 系統(tǒng)主要部件及電路

  該系統(tǒng)主要由89C51控制電路、PDIUSBD12 接口電路、數(shù)據(jù)選擇電路、串并轉(zhuǎn)換電路、掛起復(fù)位電路、IDE擴(kuò)展接口電路等組成,下面分述各部分的功能和特點。

  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傳輸。該器件采用模塊化的方法實現(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ī)等?,F(xiàn)在用SCSI實現(xiàn)的很多設(shè)備如果用 USB來實現(xiàn)可以直接降低成本。

  PDIUSBD12掛起時的低功耗以及LazyClock輸出符合ACPI 、OnNOW和USB電源管理設(shè)備的要求。低功耗工作允許實現(xiàn)總線供電的外圍設(shè)備。

  PDIUSBD12還集成了像SoftConnect、GoodLink、可編程時鐘輸出、低頻晶振和終端電阻等特性。所有這些特性都能在系統(tǒng)實現(xiàn)時節(jié)省成本,同時在外圍設(shè)備上很容易實現(xiàn)更高級的 USB功能。

  (1)內(nèi)部結(jié)構(gòu)

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

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

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

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

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

  ⑥ SoftConnect。高速設(shè)備與USB的連接是靠把D+通過1個1.5 kΩ的上拉電阻接到高電平來建立的。在PDIUSBD12中,這個上拉電阻是集成在芯片 內(nèi)的,缺省是沒有連接到VDD,這個連接是靠外部 MCU發(fā)一個命令來建立的。這使得系統(tǒng)微處理器可以在決定建立 USB連接之前完成初始化。重新初始化USB總線連接也可以不用拔掉電纜來完成。

 ?、?GoodLink。GoodLink是靠一個引腳接發(fā)光二極管實現(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ù)總線。在主端點(端點 2)和局部共享存儲器之間也可使用DMA(直接存儲器存取)傳輸。它支持單周期模式和塊傳送模式 兩種DMA傳輸。

  (2)PDIUSBD12引腳說明

  (3)PDIUSBD12的典型連接

  PDIUSBD12與80C51的連接電路如 圖4-6 所示。在這個例子中, ALE始終接低電平,說明采用單獨地址和數(shù)據(jù)總線配置。A0 腳接80C51的任何I/O引腳,控制是命令還是數(shù)據(jù)輸入到PDIUSBD12 。80C51的P0口直接與PDIUSBD12的數(shù)據(jù)總線相連接,CLKOUT 時鐘輸出為80C51提供時鐘輸入。

  (4)PDIUSBD12的DMA 傳輸

  直接存儲器尋址 允許在主端點和本地共享存儲器間實現(xiàn)數(shù)據(jù)塊的有效傳輸.使用DMA控制器,PDIUSBD12 的主端點和本地共享存儲器間的數(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 的激活將自動選擇主端點(端點2 )而不管當(dāng)前選擇的端點。PDIUSBD12的DMA操作可通過普通的I/O 對其它端點的存取實現(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 控制線實現(xiàn)傳輸。在雙地址模式中,DMREQ,DMACK_N和EOT_N未用,取而代之的是CS_N,WR_N和RD_N控制信號。需要遵循 PDIUSBD12的I/O 模式傳輸協(xié)議。在讀周期中對DMAC 信號源進(jìn)行訪問,在寫周期對目標(biāo)進(jìn)行訪問。傳輸需要兩個單獨的總線周期來儲存暫存在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ī),在完成了對D12 DMA傳送初始化以后,MCU不再控制傳送,而由計數(shù)器滿8向D12發(fā)送一個讀信號,使D12 讀取164內(nèi)存儲的8個字節(jié)的數(shù)據(jù),如此反復(fù),整個傳輸過程由硬件完成,不受MCU 的速率限制,從而實現(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ù)位掛起電路

  掛起和復(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è)接口2

  采用標(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)

  l LED D1 : USB 接口連接成功指示器:當(dāng)此LED 點亮?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ī)外設(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)用前景。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉