基于EZ-USB FX2的圖像采集系統(tǒng)的設(shè)計與實現(xiàn)
2.1 固件程序設(shè)計
固件程序流程圖如圖2所示。該固件在采集卡上電后初始化CY7C68013,使其工作在Slave FIFO模式,設(shè)置總線位數(shù)為8位,以便接收SM7113H的8位數(shù)字視頻信號。將EP2端點設(shè)置為批量AUTO IN傳輸方式,512字節(jié)4倍FIFO緩沖。一次最大傳輸數(shù)據(jù)包大小為512字節(jié)。利用SAA7113H的時鐘信號實現(xiàn)同步從屬FIFO寫數(shù)據(jù)。本文引用地址:http://butianyuan.cn/article/194485.htm
通過模擬的I2C端口初始化SAA7113H,使其能夠接收CCD攝像機的模擬視頻信號,以標(biāo)準(zhǔn)的ITU656格式輸出,并設(shè)置RSTO輸出奇偶場標(biāo)志,然后等待上位機的開始采集命令。
在收到PC機開始圖像采集命令后,固件程序首先通過IOAO端口檢查SAA7113H的奇偶場信號。如果外部模擬視頻信號源未連接,該信號將一直維持高電平。固件在一段時間等待并確認(rèn)外部視頻信號未連接的情況下,向PC機回傳設(shè)備尚未準(zhǔn)備好的信息,否則一直清空FIFO,將FIFO中已有效據(jù)清除,直到奇場信號到來,固件回送設(shè)備準(zhǔn)備好信息給PC,以實現(xiàn)視頻圖像幀同步采集。圖像數(shù)據(jù)傳輸過程將由SIE完全控制,固件不參與傳輸操作。
2. 2 驅(qū)動程序設(shè)計
Cypress開發(fā)包中提供了一個通用驅(qū)動程序,即cyUSB.sys,該驅(qū)動程序符合Windows硬件質(zhì)量實驗室WHQL標(biāo)準(zhǔn),系統(tǒng)直接使用該驅(qū)動程序?qū)崿F(xiàn)圖像數(shù)據(jù)采集。由于CY7C68013采用的是軟配置的方案,芯片中并沒有提供用于永久存放固件程序的存儲器,固件程序需要在每次上電后通過外部存儲器加載或從PC機下載到內(nèi)部RAM中。驅(qū)動程序主要實現(xiàn)固件程序的裝載功能,以便系統(tǒng)上電后,可以自動從PC機下載固件到CY7C68013,然后使用通用驅(qū)動程序完成采集卡的設(shè)備重枚舉。
在Cypress提供的開發(fā)包中包含了一個固件下載驅(qū)動模板,即EZ-Loader Driver。系統(tǒng)固件下載驅(qū)動主要依賴它來實現(xiàn)。具體的步驟為:
1)利用hex2c.exe將Intel HEX格式文件轉(zhuǎn)換成C代碼數(shù)組。
2)將所有的EZ-Loader Driver文件連同子文件復(fù)制到一個新建的目錄中。并利用第一步得到的C代碼數(shù)組替換EZ-Loader Driver中firmwa re.c中的數(shù)組。
3)在WindowsXP DDK中使用build命令在新建目錄中創(chuàng)建固件下載驅(qū)動程序。
4)改寫驅(qū)動安裝信息文件。
評論