USB接口技術(shù)分析及電路設(shè)計(jì)
PDIUSBD12 可編程為單周期DMA或突發(fā)模式DMA。在單周期DMA 中,DMREQ在每單個(gè)應(yīng)答后直到被DMACK_N 重新激活之前保持無(wú)效。在突發(fā)模式DMA 中,DMREQ 在器件中突發(fā)編程時(shí)一直保持有效。該過(guò)程持續(xù)到PDIUSBD12 通過(guò)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ī)沒(méi)有完全填滿緩沖區(qū)的情況下(單向ISO 配置時(shí)小于64 或128 字節(jié))。DMREQ 會(huì)在緩沖區(qū)的最后一個(gè)字節(jié)時(shí)無(wú)效,而不管當(dāng)前的DMA突發(fā)計(jì)數(shù)。在更新了DMA突發(fā)計(jì)數(shù)的下一個(gè)包發(fā)送時(shí),DMREQ 再次被激活。
DMA的寫(xiě)操作與之相似,當(dāng)緩沖區(qū)未裝滿時(shí),DMREQ 一直有效。當(dāng)緩沖區(qū)填滿時(shí),在下一個(gè)IN 標(biāo)志將信息包送入主機(jī)。當(dāng)傳輸完成之后DMREQ 變?yōu)闊o(wú)效。同樣的,雙緩沖配置在這也改善了數(shù)據(jù)的吞吐量。在非同步傳輸中(批量模式和中斷),在數(shù)據(jù)被發(fā)送到主機(jī)之前,緩沖區(qū)需要通過(guò)DMA寫(xiě)操作完全裝滿。唯一的例外是,在DMA傳輸結(jié)束時(shí),EOT_N 接收的信號(hào)將會(huì)停止DMA寫(xiě)操作并且在下一個(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操作可通過(guò)普通的I/O 對(duì)其它端點(diǎn)的存取實(shí)現(xiàn)交叉存取。DMA操作可通過(guò)以下方式終止:復(fù)位DMA使能寄存器位或EOT_N 加上DMACK_N 以及RD_N/WR_N的激活。
PDIUSBD12 支持單地址模式中的DMA傳輸,也可以在DMA 控制器的雙地址模式中工作。在單地址模式中,DMA 通過(guò)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)行訪問(wèn),在寫(xiě)周期對(duì)目標(biāo)進(jìn)行訪問(wèn)。傳輸需要兩個(gè)單獨(dú)的總線周期來(lái)儲(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傳送的指令,并通過(guò)控制口線使157數(shù)據(jù)選擇電路里74164傳送過(guò)來(lái)的并行數(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è)傳輸過(guò)程由硬件完成,不受MCU 的速率限制,從而實(shí)現(xiàn)了DMA傳輸。
此工作方式適用于視頻數(shù)字信號(hào)的傳輸,下面是連接CCD攝像頭的電路示意圖:
CCD_IN為經(jīng)過(guò)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工作方式下,通過(guò)接入數(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),并通過(guò)上面的電路而產(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ò)展的方式,通過(guò)對(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é)束語(yǔ)
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)用前景。
評(píng)論