基于USB2.0的非制冷紅外熱像儀圖像處理系統(tǒng)
1.3 數據傳輸
本設計采用Cypress公司的USB2.O控制器芯片CY7C68013,該片集成有包含8.5 kB RAM增強型8051微處理器,4 kB的FIFO存儲器,通用可編程接口(GPIF),串行接口引擎(SIE)和USB2.0收發(fā)器。
芯片工作在Slave FIFO的接口方式下,在該模式下外部邏輯直接控制接口芯片內部的FIFO。其工作過程是,當USB設備接入計算機時,計算機和USB設備之間產生枚舉過程,計算機檢測到有設備接入,自動發(fā)出查詢請求,USB設備回應請求,返回設備的Verdor ID和Product ID,計算機據此裝載相應的驅動程序,完成重枚舉過程。計算機通過USB發(fā)出采集指令后,啟動A/D和FPGA,紅外圖像的一幀經過SAA7114處理送到SRAM,然后通過USB芯片上傳給計算機。在上傳過程中,兩片SRAM分別存儲一幀圖像的奇偶場,當一片用于存儲時,另一片用于傳輸已存儲的圖像,如此往復完成實時視頻圖像采集。
1.3 現場可編程門陣列單元
FPGA完成的邏輯功能包括:對SAA7114進行配置,將A/D轉換后的數字視頻流變換成固定分辨率的圖像視頻流及行場使能信號,控制USB芯片及SRAM存儲芯片的讀寫時序。采用FPGA實現這些功能降低了PCB板的復雜程度,而且提高了系統(tǒng)的靈活性。本文引用地址:http://m.butianyuan.cn/article/202522.htm
2 軟件設計
本系統(tǒng)的軟件由以下3部分組成。
2.1 固件程序設計
開發(fā)USB接口的應用系統(tǒng)最重要的是USB驅動程序和固件程序的編制。Cypress公司的開發(fā)包中提供專門的開發(fā)系統(tǒng),為開發(fā)固件提供了便利條件。在Cypress的主頁上有。EZ-USB開發(fā)工具包下載,提供了控制面板程序(ControlPanel)和KeilC51套裝軟件。在Keil uVision2環(huán)境下在Periph.c和Dscr.a5l文件中加入用戶代碼程序即可實現特定的功能,加快開發(fā)進度。固件程序設計主要包括初始化、處理標準USB設備請求以及USB掛起時的電源管理,初始化FIFO及USB端點。CY7C68013具有軟配置的特性,當設備與主機連接后,可裝載不同的固件使設備呈現不同的特性,方便外設固件的在線升級。
設置CY7C68013內部相應的寄存器,使其工作在USB2.0方式下,由固件程序應答USB的傳輸,而不是USB內核。芯片工作在Slave FIF0接口模式下。
框架函數分為3大類:任務分配器(以TD為字首)、標準設備請求分析(以DR為字首)和USB中斷處理(以ISR為字首)。
void TD_Init(void)
該函數在框架初始化期間調用,函數中可設置整體狀態(tài)變量的初始值,規(guī)定各種資源的使用及配置外圍接口的輸入/輸出等。
Void TD_poll(void)
設備工作期間,該函數重復調用,包含一個執(zhí)行外設功能的狀態(tài)機。
BOOL TD_Suspend(void)
該函數包含使設備進入低功耗狀態(tài)的程序,然后返回True。返回False時,阻止設備進入掛起狀態(tài)。
void TD_Resume(void)
此函數使設備恢復到正常操作方式。
設備請求主要完成的任務是確定新的配置接口和端點。USB中斷完成用戶定義的中斷請求服務。本設計中使用的是SLAVE FIFO工作模式。
2.2 FPGA的程序設計
SAA7114不僅輸出了數字視頻流,還輸出了場同步信號、行同步信號、奇偶場信號和像素時鐘信號,FPGA根據這些同步信號以及SRAM的片選、寫選通信號等來控制視頻數據流的時序,完成圖像采集、緩存和上傳。
2.3 上位機驅動程序設計和應用程序設計
利用VC++6.O對Cypress提供的GPD重新擴充生成定制的驅動程序。應用程序是通過I/O控制調用訪問USB設備完成紅外視頻的采集、處理、顯示及存儲。
3 結束語
該系統(tǒng)能夠完成圖像的采集、傳輸、存儲等要求,達到了設計的數據傳輸要求。系統(tǒng)具有集成度高、靈活性好、即插即用與自動配置等優(yōu)點。但圖像在高分辨率的情況下數據量較大,當PC連接有多個USB高速設備時對帶寬的要求較高,可先將數據壓縮后再上傳。
評論