EZ-USB FX2實(shí)現圖像采集系統
固件程序流程圖如圖2所示。該固件在采集卡上電后初始化CY7C68013,使其工作在Slave FIFO模式,設置總線(xiàn)位數為8位,以便接收SM7113H的8位數字視頻信號。將EP2端點(diǎn)設置為批量AUTO IN傳輸方式,512字節4倍FIFO緩沖。一次最大傳輸數據包大小為512字節。利用SAA7113H的時(shí)鐘信號實(shí)現同步從屬FIFO寫(xiě)數據。

圖2 固件程序流程圖
通過(guò)模擬的I2C端口初始化SAA7113H,使其能夠接收CCD攝像機的模擬視頻信號,以標準的ITU656格式輸出,并設置RSTO輸出奇偶場(chǎng)標志,然后等待上位機的開(kāi)始采集命令。
在收到PC機開(kāi)始圖像采集命令后,固件程序首先通過(guò)IOAO端口檢查SAA7113H的奇偶場(chǎng)信號。如果外部模擬視頻信號源未連接,該信號將一直維持高電平。固件在一段時(shí)間等待并確認外部視頻信號未連接的情況下,向PC機回傳設備尚未準備好的信息,否則一直清空FIFO,將FIFO中已有效據清除,直到奇場(chǎng)信號到來(lái),固件回送設備準備好信息給PC,以實(shí)現視頻圖像幀同步采集。圖像數據傳輸過(guò)程將由SIE完全控制,固件不參與傳輸操作。
2.2 驅動(dòng)程序設計
Cypress開(kāi)發(fā)包中提供了一個(gè)通用驅動(dòng)程序,即cyUSB.sys,該驅動(dòng)程序符合Windows硬件質(zhì)量實(shí)驗室WHQL標準,系統直接使用該驅動(dòng)程序實(shí)現圖像數據采集。由于CY7C68013采用的是軟配置的方案,芯片中并沒(méi)有提供用于永久存放固件程序的存儲器,固件程序需要在每次上電后通過(guò)外部存儲器加載或從PC機下載到內部RAM中。驅動(dòng)程序主要實(shí)現固件程序的裝載功能,以便系統上電后,可以自動(dòng)從PC機下載固件到CY7C68013,然后使用通用驅動(dòng)程序完成采集卡的設備重枚舉。
在CyprESS提供的開(kāi)發(fā)包中包含了一個(gè)固件下載驅動(dòng)模板,即EZ-Loader Driver.系統固件下載驅動(dòng)主要依賴(lài)它來(lái)實(shí)現。具體的步驟為:
1)利用hex2c.exe將Intel HEX格式文件轉換成C代碼數組。
2)將所有的EZ-Loader Driver文件連同子文件復制到一個(gè)新建的目錄中。并利用第一步得到的C代碼數組替換EZ-Loader Driver中firmwa re.c中的數組。
3)在WindowsXP DDK中使用build命令在新建目錄中創(chuàng )建固件下載驅動(dòng)程序。
4)改寫(xiě)驅動(dòng)安裝信息文件。
2.3 PC機采集程序
PC機采集程序用Visual Studio.net 2003調用CyAPI函數庫實(shí)現。為提高圖片采集速度,程序使用兩個(gè)線(xiàn)程分別實(shí)現圖像數據采集和圖像甄別和處理。程序總流程圖如圖3所示。

評論