USB接口技術分析及電路設計
目前,市場上提供的USB接口電路板很多,但大部分僅使用普通的工作模式,缺少對DMA工作模式的支持,不能直接用于象CCD數字攝像機USB接口這樣的需要工作在DMA模式下的設計開發(fā)。
所謂的DMA傳送方式,全名叫直接存儲器存取(Direct Memory Access)數據傳送方式,是指采用專門的硬件(DMA控制器)來執(zhí)行數據傳送。DMA控制器可以從CPU那里接管系統(tǒng)總線的控制權,并且由本身發(fā)出存儲器地址信號以及訪問存儲器和I/O設備的讀/寫脈沖等控制信號,使得數據通過總線,直接在存儲器和I/O設備之間(或I/O設備與存儲器之間,存儲器與存儲器之間)進行傳送。在DMA接管總線執(zhí)行數據傳送過程中,CPU暫停工作。
由于DMA傳送方式僅僅在需要占用總線傳送數據時才暫停CPU的操作,CPU的工作效率極高,傳輸數據可由硬件自身控制,大大提高了傳送速率,十分適合于高速數據的采集。
下面就介紹一下我們利用51單片機結合PHILIPS公司的PDIUSBD12帶并行總線的USB接口器件設計帶DMA工作模式的可供視頻信號傳輸的多功能USB接口電路。
4.1 系統(tǒng)概況
該系統(tǒng)主要實現USB的接口功能,通過它,外設與計算機之間可以實現USB方式的連接。外設接口1用于DMA方式數據的傳送,可與CCD攝像頭等設備相連。外設接口2采用了標準的IDE接口方式,可直接于硬盤等大容量存儲器相連,傳輸海量數據,也可以通過接口轉換,與其他功能的外設相連,具有較廣的適用性。
下面說明了此多功能USB接口電路的框圖:
這個框圖顯示了兩種接口方案:普通模式和DMA模式。
(1)方案一:普通模式
圖4-2是該USB接口電路普通模式的框圖,該框圖說明了連接外設的一種簡單模式,所有寄存器和數據的讀寫都是通過8051 的I/O 來仿真的,因此數據吞吐速率較低,適合間歇式數據的傳送。
(2)方案二:DMA模式
數據傳送以DMA方式,直接由D12傳送到計算機里,MCU只完成DMA的初始化工作,傳輸速度快,適合于視頻數字信號等高速實時傳送。
系統(tǒng)詳細的電原理圖和電路板結構圖參見附錄。
4.2 系統(tǒng)主要部件及電路
該系統(tǒng)主要由89C51控制電路、PDIUSBD12 接口電路、數據選擇電路、串并轉換電路、掛起復位電路、IDE擴展接口電路等組成,下面分述各部分的功能和特點。
4.2.1 89C51控制電路
89C51是該接口電路的控制核心,其中P0,P2口用做16位數據I/O口,P1,P3口用做控制。
89C51的晶振頻率為24MHz,每個機器周期為0.5us.
4.2.2 PDIUSBD12 接口電路
PDIUSBD12是一個性能優(yōu)化的USB器件,通常用于基于微控制器的系統(tǒng)并與微控制器通過高速通用并行接口進行通信,也支持本地DMA傳輸。該器件采用模塊化的方法實現一個 USB接口,允許在眾多可用的微控制器中選擇最合適的作為系統(tǒng)微控制器,允許使用現存的體系結構并使固件投資減到最小。這種靈活性減少了開發(fā)時間、風險和成本,是開發(fā)低成本且高效的USB外圍設備解決方案的一種最快途徑。 PDIUSBD12完全符合USB1.1規(guī)范,也能適應大多數設備類規(guī)范的設計,如成像類、大容量存儲類、通信類、打印類和人工輸入設備等,因此,PDIUSBD12 非常適合做很多外圍設備,如打印機、掃描儀、外部大容量存儲器( Zip驅動器)和數碼相機等?,F在用SCSI實現的很多設備如果用 USB來實現可以直接降低成本。
PDIUSBD12掛起時的低功耗以及LazyClock輸出符合ACPI 、OnNOW和USB電源管理設備的要求。低功耗工作允許實現總線供電的外圍設備。
PDIUSBD12還集成了像SoftConnect、GoodLink、可編程時鐘輸出、低頻晶振和終端電阻等特性。所有這些特性都能在系統(tǒng)實現時節(jié)省成本,同時在外圍設備上很容易實現更高級的 USB功能。
(1)內部結構
?、?模擬收發(fā)器。集成的收發(fā)器直接通過終端電阻與USB電纜接口。
② 電壓調整器。片上集成的1個3.3 V電壓調整器為模擬收發(fā)器供電,也提供連接到外部1.5 kΩ上拉電阻的輸出電壓。作為選擇,PDIUSBD12提供集成1.5 kΩ上拉電阻的SoftConnect技術。
?、?PLL。片上集成1個6~48 MHz的倍頻PLL(鎖相環(huán)),允許使用6 MHz的晶振,EMI也由于使用低頻晶振而減小。PLL的工作不需要外部器件。
④ 位時鐘恢復。位時鐘恢復電路用4倍過采樣原理從輸入的USB 數據流中恢復時鐘,能跟蹤USB規(guī)范中指出的信號抖動和頻率漂移。
?、?PHILIPS串行接口引擎PSIE。PHILIPS的SIE完全實現USB協議層??紤]到速度,它是全硬件的, 不需要固件(微程序)介入。這個模塊的功能包括:同步模式識別、并 /串轉換、位填充/不填充、CRC校驗、PID確認、地址識別以及握手鑒定。
?、?SoftConnect。高速設備與USB的連接是靠把D+通過1個1.5 kΩ的上拉電阻接到高電平來建立的。在PDIUSBD12中,這個上拉電阻是集成在芯片 內的,缺省是沒有連接到VDD,這個連接是靠外部 MCU發(fā)一個命令來建立的。這使得系統(tǒng)微處理器可以在決定建立 USB連接之前完成初始化。重新初始化USB總線連接也可以不用拔掉電纜來完成。
?、?GoodLink。GoodLink是靠一個引腳接發(fā)光二極管實現的。在 USB設備枚舉時LED指示燈將立即閃亮;當PDIUSBD12被成功枚舉并配置時, LED指示燈將會始終亮;經過PDIUSBD12的USB數據傳輸過程中, LED將一閃一閃,傳輸成功后LED熄滅;在掛起期間,LED熄滅。這種特性可以使我們知道 PDIUSBD12的狀態(tài),方便電路調試?!、?存儲器管理單元MMU和集成RAM。MMU和集成RAM能緩沖USB(工作在 12Mb/s)數據傳輸和微控制器之間并行接口之間的速度差異,這允 許微控制器以自己的速度讀寫USB包。
?、?并行和DMA接口。并行接口容易使用、速度快并且能直接與主微控制器接口。對于微控制器,PDIUSBD12可以看成是一個有8位數據總線和1位地址線的存儲設備。 PDIUSBD12支持多路復用和非多路復用的地址和數據總線。在主端點(端點 2)和局部共享存儲器之間也可使用DMA(直接存儲器存取)傳輸。它支持單周期模式和塊傳送模式 兩種DMA傳輸。
(2)PDIUSBD12引腳說明
(3)PDIUSBD12的典型連接
PDIUSBD12與80C51的連接電路如 圖4-6 所示。在這個例子中, ALE始終接低電平,說明采用單獨地址和數據總線配置。A0 腳接80C51的任何I/O引腳,控制是命令還是數據輸入到PDIUSBD12 。80C51的P0口直接與PDIUSBD12的數據總線相連接,CLKOUT 時鐘輸出為80C51提供時鐘輸入。
(4)PDIUSBD12的DMA 傳輸
直接存儲器尋址 允許在主端點和本地共享存儲器間實現數據塊的有效傳輸.使用DMA控制器,PDIUSBD12 的主端點和本地共享存儲器間的數據傳輸可自主進行而不需要本地CPU 的干預.要處理任何DMA傳輸,本地CPU 從主機接收必要的建立信息并對DMA控制器進行相應的編程.典型的對DMA控制器的傳輸模式、字節(jié)計數寄存器和地址計數器進行正確的編程。在該模式下, PDIUSBD12 發(fā)出請求時開始傳輸,當字節(jié)計數器減少為零時終止。在DMA 控制器編程之后,本地CPU 在初始化傳輸時將PDIUSBD12 中的DMA使能位置位。
評論