USB接口技術(shù)分析及電路設(shè)計(jì)
4、應(yīng)用:帶DMA視頻信號(hào)接口功能的USB接口電路設(shè)計(jì)
目前,市場上提供的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è)相連,具有較廣的適用性。
下面說明了此多功能USB接口電路的框圖:
這個(gè)框圖顯示了兩種接口方案:普通模式和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ī)等。現(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è)6~48 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使能位置位。
評(píng)論