USB接口技術(shù)分析及電路設計
PDIUSBD12 可編程為單周期DMA或突發(fā)模式DMA。在單周期DMA 中,DMREQ在每單個(gè)應答后直到被DMACK_N 重新激活之前保持無(wú)效。在突發(fā)模式DMA 中,DMREQ 在器件中突發(fā)編程時(shí)一直保持有效。該過(guò)程持續到PDIUSBD12 通過(guò)EOT_N 接收到一個(gè)DMA 終止信息。這時(shí)產(chǎn)生一個(gè)中斷指示本地CPU ,DMA操作已經(jīng)完成。
在DMA 讀操作時(shí),DMREQ 僅當緩沖區完全表示主機成功的發(fā)送了一個(gè)信息包到PDIUSBD12 時(shí)才有效。由于具有雙緩沖配置主機可以在第一個(gè)緩沖區被讀出時(shí)對第二個(gè)緩沖區進(jìn)行填充。這種并行的處理有效的增加了數據吞吐量。當主機沒(méi)有完全填滿(mǎn)緩沖區的情況下(單向ISO 配置時(shí)小于64 或128 字節)。DMREQ 會(huì )在緩沖區的最后一個(gè)字節時(shí)無(wú)效,而不管當前的DMA突發(fā)計數。在更新了DMA突發(fā)計數的下一個(gè)包發(fā)送時(shí),DMREQ 再次被激活。
DMA的寫(xiě)操作與之相似,當緩沖區未裝滿(mǎn)時(shí),DMREQ 一直有效。當緩沖區填滿(mǎn)時(shí),在下一個(gè)IN 標志將信息包送入主機。當傳輸完成之后DMREQ 變?yōu)闊o(wú)效。同樣的,雙緩沖配置在這也改善了數據的吞吐量。在非同步傳輸中(批量模式和中斷),在數據被發(fā)送到主機之前,緩沖區需要通過(guò)DMA寫(xiě)操作完全裝滿(mǎn)。唯一的例外是,在DMA傳輸結束時(shí),EOT_N 接收的信號將會(huì )停止DMA寫(xiě)操作并且在下一個(gè)IN 標志置位時(shí)將緩沖區的內容傳送到主機。
在同步模式中,本地CPU 和DMA 控制器必須保證它們在一個(gè)USB 幀(1ms )中能夠吞吐的最大信息包的規模。DMACK_N 的激活將自動(dòng)選擇主端點(diǎn)(端點(diǎn)2 )而不管當前選擇的端點(diǎn)。PDIUSBD12的DMA操作可通過(guò)普通的I/O 對其它端點(diǎn)的存取實(shí)現交叉存取。DMA操作可通過(guò)以下方式終止:復位DMA使能寄存器位或EOT_N 加上DMACK_N 以及RD_N/WR_N的激活。
PDIUSBD12 支持單地址模式中的DMA傳輸,也可以在DMA 控制器的雙地址模式中工作。在單地址模式中,DMA 通過(guò)DREQ ,DMACK_N,EOT_N,WR_N 和RD_N 控制線(xiàn)實(shí)現傳輸。在雙地址模式中,DMREQ,DMACK_N和EOT_N未用,取而代之的是CS_N,WR_N和RD_N控制信號。需要遵循 PDIUSBD12的I/O 模式傳輸協(xié)議。在讀周期中對DMAC 信號源進(jìn)行訪(fǎng)問(wèn),在寫(xiě)周期對目標進(jìn)行訪(fǎng)問(wèn)。傳輸需要兩個(gè)單獨的總線(xiàn)周期來(lái)儲存暫存在DMAC 中的數據。
4.2.3 DMA方式數據傳輸電路
上面詳細介紹了PDIUSBD12芯片的原理和工作方式,下面將介紹接口電路板工作在DMA方式的原理。該傳輸方式的原理框圖參看圖4-3。
當外設接口1接入要求DMA傳輸的設備,51單片機向D12發(fā)出DMA傳送的指令,并通過(guò)控制口線(xiàn)使157數據選擇電路里74164傳送過(guò)來(lái)的并行數據直接與D12的并行接口相連,不在進(jìn)入51單片機,在完成了對D12 DMA傳送初始化以后,MCU不再控制傳送,而由計數器滿(mǎn)8向D12發(fā)送一個(gè)讀信號,使D12 讀取164內存儲的8個(gè)字節的數據,如此反復,整個(gè)傳輸過(guò)程由硬件完成,不受MCU 的速率限制,從而實(shí)現了DMA傳輸。
此工作方式適用于視頻數字信號的傳輸,下面是連接CCD攝像頭的電路示意圖:
CCD_IN為經(jīng)過(guò)A/D轉化或二值化處理的視頻數字信號,CCD_CLK1為脈沖同步信號,CCD_CLK2為行同步信號,CCD_CLK3為場(chǎng)同步信號。計數器對CCD_CLK1進(jìn)行計數,滿(mǎn)8個(gè)脈沖向D12的讀端發(fā)一個(gè)低電平,通知D12對164里面的數據進(jìn)行讀取。
4.2.4 數據選擇電路
數據選擇電路是由兩片74H157搭建而成,數據選擇DATA_SEL端連到了51的控制口線(xiàn)上,由51控制D12的并行數據I/O口是和51的P0口相連還是和74HC93串并轉換輸出的并行數據線(xiàn)相連,從而到達了數據選擇的作用。
4.2.5 串并轉換及計數器電路
電路中74HC164起了串并轉換的作用,在DMA工作方式下,通過(guò)接入數據同步脈沖,把外設接口1送入的串行數據轉化成并行數據,供D12直接讀取。
計數器74HC93負責對CCD_CLK1進(jìn)行計數,滿(mǎn)8個(gè)脈沖向D12的讀端發(fā)一個(gè)低電平,通知D12對164里面的數據進(jìn)行讀取。
4.2.6 復位掛起電路
復位掛起電路
掛起和復位電路被設計在一起,允許器件進(jìn)入掛起模式還可以達到在USB 規格Rev.1.1 中所陳述的掛起限制電流。
執行此功能以后將強迫MCU 進(jìn)入掉電模式,MCU 振蕩器停止工作。只有硬件復位才能喚醒MCU工作。從這個(gè)電路中,復位信號是連接到復位電路的,當上位PC 機從掛起狀態(tài)恢復時(shí),將導致D12 觸發(fā)掛起信號,并通過(guò)上面的電路而產(chǎn)生復位信號。
4.2.7 外設接口2
采用標準的IDE接口連線(xiàn)方式的外設接口2電路
外設接口2采用了標準的IDE接口連線(xiàn)方式,可直接與計算機硬盤(pán)、光驅、光盤(pán)刻錄機等相連,用于傳輸海量數據,使用方便。
由于采取了51接口擴展的方式,通過(guò)對接口的轉換,也可以與其他更多的外設相連,用途比較廣泛。
4.2.8 其他器件
l 按下按鈕SW1 :復位或恢復系統
l LED D1 : USB 接口連接成功指示器:當此LED 點(diǎn)亮時(shí)表示USB 主機和USB 器件已經(jīng)裝配和枚舉。如果它正在閃爍表示數據已經(jīng)發(fā)送或接收。
l JP2: 外設接口1,用于與CCD相連,為4接口的接插件
l CON1: USB CON 用于與USB電纜相聯(lián)。
結束語(yǔ)
USB為計算機外設輸入輸出提供了新的接口標準。它使設備具有熱插拔,即插即用,自動(dòng)配置的能力,并標準化設備連接。USB的級聯(lián)星型拓撲結構大大擴充了外設數量,使增加,使用外設更加便捷,快速。而新提出的USB2.0標準更是將數據傳輸速率提高到了一個(gè)新的高度,這是具有美好的應用前景。
評論