EZ-USB電磁眼接口設計
USB作為一種新的擴展接口,主要致力于計算機-電話(huà)一體化和應用類(lèi)消費產(chǎn)品。它的數據傳輸速率比串/并口都要高。USB總線(xiàn)具有時(shí)分復用的特點(diǎn),多個(gè)不同速度的USB外設可以通過(guò)集線(xiàn)器同時(shí)連接到同一臺計算機的同一個(gè)USB中上,在USB總線(xiàn)帶寬允許的情況下,多個(gè)外設可以同時(shí)工作而不相互影響。USB傳輸速率適用于中、低速外設。高速模式下,USB支持實(shí)時(shí)的視頻、音頻和壓縮的視頻數據傳輸。本文對于CMOS視頻傳感器為核心的數字圖像設備(電腦眼)與USB接口進(jìn)行了研究,并利用Anchor公司的EZ-USB 2131Q芯片設計了一種基于外接RAM的單片方案,實(shí)現了電腦眼的USB接口。
本文引用地址:http://dyxdggzs.com/article/149921.htm1 USB概述與EZ-USB 2131Q芯片介紹
通用串行總線(xiàn)(Universal Serial Bus)適用于USB的外圍設備連接到主機,通過(guò)PCI總線(xiàn)和PC內部的系統總線(xiàn)連接,實(shí)現數據的傳送。同時(shí)USB又是一種通信協(xié)議,支持主系統和其外圍設備之間的數據傳送。在USB的網(wǎng)絡(luò )協(xié)議中,每個(gè)USB的系統只能有一個(gè)主機。
1.1 USB的基本特征
USB是一種層狀的星形拓撲,其根部是主機控制器,USB器件直接與根部接口連接實(shí)現其功能。若多個(gè)器件同時(shí)行使其功能,就要通過(guò)集線(xiàn)器來(lái)擴展,但擴展層不能超過(guò)5層。USB器件支持熱插拔,而且可以即插即用。USB一般支持兩種傳輸速度,即低速1.5Mbit/s和高速12Mbit/s,在USB2.0版本中其速度提高到480Mbit/s。
USB通過(guò)四根電纜線(xiàn)連接,兩根用于電源線(xiàn),兩根用于差動(dòng)數據線(xiàn)(D+和D-)。主機是USB通信的中心,它控制和分時(shí)連接器件。主機是唯一可利用系統資源的。主機控制器經(jīng)根集線(xiàn)器初始化交易,主機控制器每毫秒開(kāi)始一幀(USB2.0中每1/8毫秒開(kāi)始一幀稱(chēng)微幀),在這一幀或1/8幀中,外設與主機進(jìn)行數據通信。主機對多個(gè)外設進(jìn)行交易,并對外設請求的帶寬進(jìn)行分時(shí)。
USB有四種傳輸方式用不同類(lèi)型垢數據??刂苽鬏?主要用于設置、命令和狀態(tài)信息;中斷傳輸,與一般的中斷概念不同,主要用于鍵盤(pán)、鼠標等少量數據的傳輸;批量傳輸,主要用于打印機、掃描儀等大量數據傳輸;同步傳輸,用于視頻、聲音等實(shí)時(shí)傳輸。
同步傳輸方式下,數據傳輸保持固定的帶寬和延時(shí),保證了數據傳輸速率的穩定性。
USB有諸多優(yōu)點(diǎn),適合于與視頻電腦眼的接口。本文應用一種內置微控制器的USB芯片,設計了一種同步傳輸方式的單片方案。
一般來(lái)講,USB的控制芯片有兩種類(lèi)型,一種是MCU(微控制器)集成在芯片里面的產(chǎn)品;另一種是單獨的一個(gè)芯片實(shí)現USB的Engine功能。
考慮到USB傳輸速率較高,如果利用只實(shí)現Engine功能的芯片,外加一個(gè)普通微控制器(如8051),其處理速度就會(huì )很慢而達不到USB傳輸要求。USB外設作為消費類(lèi)產(chǎn)品的目的之一在于降低產(chǎn)品成本,如果采用高速微處理器(如DSP),滿(mǎn)足了USB傳輸速率,但成本較高。在各方面比較下,選擇了內置有微控制器的芯片EZ-USB 2131Q。
1.2 EZ-USB 2131Q芯片介紹。
EZ-USB 2131Q內部框圖如圖1所示。它是Anchor公司的一種內嵌有微控制器的80腳的USB芯片,包含有3個(gè)8位多功能端口,8位數據端口、16位地址端口、兩個(gè)USB數據端口和其它輸入輸出端口。
其采用了一種基于內部RAM的解決方案,允許客戶(hù)隨時(shí)不斷地設置和升級,不受端口數據、緩沖大小、傳輸速度及傳輸方式的限制。
片內嵌有一個(gè)增強型的8051微控制器,4個(gè)時(shí)鐘的周期使它比標準8051的速度快3倍。
EZ-USB 2131Q有兩種同步傳輸方式:即普通讀寫(xiě)方式和快速讀寫(xiě)方式。在普通讀寫(xiě)方式下,芯片從外部讀取或向外部寫(xiě)入數據的速率不會(huì )超過(guò)1000字節/ms,而且數據傳輸指令只能一一列出,共要寫(xiě)出1000行相同的指令。中間不能用循環(huán)來(lái)傳輸數據,而且也沒(méi)有時(shí)間來(lái)加入其它指令。這種方式對于要求同步傳輸、每幀傳輸1023字節的設備是不可取的。在快速讀寫(xiě)方式下,芯片可以在0.5ms內從外部讀取或向外部寫(xiě)入1023字節的數據,并且還留有足夠的時(shí)間可以加入其它指令。
2 電腦眼與EZ-USB 2131Q的接口方案
2.1 電腦眼的USB單片方案
本文中電腦眼的傳輸速度為9幀/s,發(fā)送一場(chǎng)圖像數據約111ms;而USB采集一場(chǎng)圖像數據約108ms,電腦眼發(fā)送圖像數據和USB接收圖像數據的時(shí)間基本相當。
根據EZ-USB 2131Q和電腦眼的總線(xiàn)其傳輸速率,可以利用外接存儲器來(lái)實(shí)現各功能塊的接口,電腦眼與EZ-SUB接口框圖如圖2所示。電腦眼通過(guò)8位數據線(xiàn)傳輸數據,如果保持電腦眼數據的連續傳輸,就用場(chǎng)同步和象素同步作為控制信號。EZ-USB2131Q具有8位輸入輸出數據線(xiàn),多功能口可用來(lái)接收和發(fā)送控制信號,其地址線(xiàn)在快速傳輸模式下不可用。
芯片每幀從外部存儲器取數1023字節,在電腦眼與EZ-USB 2131Q接口時(shí),如果利用一個(gè)2KB的異步FIFO,電腦工作如下:在電路加電后,電腦眼的場(chǎng)同步控制信號時(shí)FIFO進(jìn)行初始化,然后電腦眼的象素同步信號選通FIFO的讀數據端口,將電腦眼采集的圖像數據寫(xiě)入FIFO;當FIFO中的數據量達到1KB時(shí)(即半滿(mǎn)時(shí)),FIFO自動(dòng)對半滿(mǎn)標志端口置位,EZ-USB2131Q芯片內的控制指令在USB的幀中斷時(shí)檢測到半滿(mǎn)標志位后,發(fā)出快速讀數據控制信號,從FIFO中取出1023個(gè)字節的圖像數據存入芯片內部的緩沖中。因電腦眼一場(chǎng)圖像的分辨率是384×287象素,一場(chǎng)圖像數據為110208(1023×107+747)字節,在取完1023×107字節數據后,芯片在USB的下一幀中斷時(shí)檢測不到FIFO半滿(mǎn)置位標志。為了保證電腦眼不中斷地采集數據而只能舍棄剩余的747字節的數據,并且新的場(chǎng)同步信號的到來(lái)又會(huì )對FIFO進(jìn)行初始化,開(kāi)始存入新一場(chǎng)圖像數據。這一接口電路雖然簡(jiǎn)單,能實(shí)現圖像顯示,但通過(guò)USB口所顯示的圖像不完整。因此,設計了基于外接RAM的單片方案。
2.2 基于外接RAM的單片方案
介于上述接口方案存在的缺陷,即要保證電腦眼不間斷采集數據又要保證EZ-USB 2131Q芯片能獲取一場(chǎng)圖像的全部數據,可以采取如圖3所示的另一種單片方案。上面提到過(guò),電腦眼一場(chǎng)的圖像數據是110208字節,要存入一場(chǎng)圖像數據就需要一個(gè)128KB的RAM。為了保證電腦眼不間斷地連續傳輸,在此單片方案中利用一個(gè)多路轉換器對兩個(gè)128KB的RAM進(jìn)行切換,分別存入電腦眼連續采集的兩場(chǎng)圖像數據。外接RAM的電路中,包含有3大功能塊:兩個(gè)128KB的RAM組成存儲功能塊、兩個(gè)地址發(fā)生器及一個(gè)多路轉換器,如圖3所示。存儲功能塊用于存儲電腦眼的一場(chǎng)完整圖像數據,地址發(fā)生器用于存儲器的地址選擇,多路轉換器用于切換對存儲塊的工作路徑。
多路轉換器是利用電腦眼場(chǎng)同步信號來(lái)進(jìn)行切換的,其切換頻率與電腦眼的場(chǎng)同步信號的頻率相當。在多路轉換器中,當電腦眼的場(chǎng)同步信號到來(lái)時(shí),一路選通RAMA并同時(shí)對RAMA寫(xiě)選通,另一路選通RAMB并同時(shí)對RAMB讀選通。A地址發(fā)生器由電腦眼的象素同步信號觸發(fā),由此產(chǎn)生的地址信號被接入RAMA的地址端,并將電腦眼采集的一場(chǎng)圖像數據寫(xiě)入RAMA中,A地址發(fā)生器對RAMB是不選通狀態(tài)。在EZ-USB芯片端,芯片快速讀控制信號觸發(fā)B地址發(fā)生器,產(chǎn)生的地址信號接入RAMB地址端。此時(shí)B地址發(fā)生器對RAMA是不選通狀態(tài),這樣USB芯片就能從RAMB中讀取完整的一場(chǎng)圖像數據。在芯片讀取下一場(chǎng)圖像數據時(shí),上述過(guò)程正好相反,電腦眼向RAMB中寫(xiě)入數據,EZ-USB芯片從RAMA中取出數據。
2.3 基于RAM單片方案的軟件流程
如上所述,EZ-USB 2131Q芯片采用了一種基于RAM的方案,實(shí)現數據格式轉換的程序并未固化在芯片中,是一種軟硬結合的固件(FIRMWARE)。當器件插入USB口時(shí),主機對器件進(jìn)行輪詢(xún),獲取了器件的ID號后,系統程序將FIRMWARE下載到芯片內部,執行數據格式的邏輯轉換。FIRMWARE結構如圖4所示。其中:TD_Init():用于初始化FIRMWARE的全局狀態(tài)變量;TD_Poll():反復調用,用于執行用戶(hù)的外設功能;TD_Suspend():此函數可以使器件進(jìn)入低功耗狀態(tài);TD_Resume():此函數用于響應外部恢復事件,使器件恢復正常工作狀態(tài)。
FIRMWARE工作時(shí),獲取圖像數據后轉換成USB數據格式,提交給計算機處理。
利用FIFO的方法,電路簡(jiǎn)單,可以得到穩定的圖像。但代價(jià)是要丟掉一些有效數據,在不損失有效數據的條件下又必須控制電腦眼,會(huì )使得圖像的傳輸速率降。是一種可用但不最佳的方法。
電腦眼基于外接RAM的單片方案,雖然在電路上比接FIFO稍顯復雜,但此方案解決了數據傳輸的完整性,而且能保持電腦眼連續采集數據,保證了電腦眼的最大傳輸速率。
圖5是通過(guò)基于RAM的單片方案獲取電腦眼采集的圖像數據并經(jīng)USB口送入計算機,經(jīng)過(guò)客戶(hù)軟件處理后得到的電腦眼的圖像。
綜上所述,基于外接RAM的單片方案是一種穩定可以的解決方案,保證了數據的完整性和連續性。
評論