嵌入式系統數字圖像采集接口電路設計
四、內存直接寫(xiě)入接口設計
在處理器速度較慢且圖像數據輸出的頻率不能降低的情況下,采用上述I/O接口方法不能得到完整的圖像。另外,有些應用中要求能夠實(shí)時(shí)采集圖像。為此,我們設計了高速數據圖像采集方法?內存直接寫(xiě)入法。由于SRAM訪(fǎng)問(wèn)控制簡(jiǎn)單,電路設計方便,被大量嵌入式系統采用,本文以SRAM作為存儲器。
1、電路原理和結構
內存直接寫(xiě)入方法通過(guò)設計的圖像采集控制器(以下簡(jiǎn)稱(chēng)控制器)不需處理器參與,直接將圖像數據寫(xiě)入系統中的內存中,實(shí)現高速圖像采集。
圖5是接口結構圖,當需要采集圖像時(shí),處理器向控制器發(fā)出采集請求,請求信號capture_r從高到低??刂破鹘拥秸埱竺}沖后,發(fā)出處理器掛起請求信號HOLD,使處理器的外總線(xiàn)處于高阻狀態(tài),釋放出總線(xiàn)??刂破魇盏教幚砥鲬餒OLDA后管理總線(xiàn),同時(shí)檢測圖像同步信號。當檢測到圖像開(kāi)始位置時(shí),控制器自動(dòng)產(chǎn)生地址和讀寫(xiě)控制信號將圖像數據直接寫(xiě)入內存中。圖像采集完成后,控制器自動(dòng)將總線(xiàn)控制權交還處理器,處理器繼續運行,控制器中與采集相關(guān)的狀態(tài)復位??刂破骺梢愿鶕叫盘柣蛟O定的采集圖像大小確定采集是否完成。
在圖5中,控制器包括同步信號檢測、地址發(fā)生器、SRAM寫(xiě)控制器、總線(xiàn)控制器和處理器握手電路等主要部分。同步信號檢測確定每一場(chǎng)(幀)和每一行的起始位置;地址發(fā)生器產(chǎn)生寫(xiě)SRAM所需的地址;SRAM寫(xiě)控制器產(chǎn)生寫(xiě)入時(shí)序;總線(xiàn)控制器在采集圖像時(shí)管理總線(xiàn),采集完成后自動(dòng)釋放;處理器握手電路接受處理器命令、發(fā)總線(xiàn)管理請求和應答處理器。
2、SRAM寫(xiě)控制時(shí)序
采集圖像過(guò)程中,控制器自動(dòng)將數據寫(xiě)入到硬件設定的內存中。寫(xiě)內存時(shí),控制器產(chǎn)生RAM地址(A)、片選信號(/CS)、讀信號(/RD)和寫(xiě)信號(/WD),同時(shí)鎖存傳感器輸出的數據并送到數據總線(xiàn)(D)上。每寫(xiě)入一個(gè)數據后,地址(A)自動(dòng)增1。采集時(shí)/CS保持有效(‘0’)狀態(tài)而/RD處于無(wú)效狀態(tài)(‘1’)。地址A的變化必須與/WD和數據鎖存器協(xié)調好才能保證圖像數據的有效性。
圖6是控制器產(chǎn)生的SRAM信號時(shí)序圖。用PCLK作為地址發(fā)生器的輸入時(shí)鐘,且在其上升沿更新地址值。同樣,在PCLK的上沿鎖存數據并輸出到總線(xiàn)上。將PCLK反相,作為/WD信號,使得在/WD的上升沿地址和數據穩定,確保寫(xiě)入數據的有效性。
3、控制器主要功能的VHDL描述
描述控制器中全部功能的VHDL代碼較長(cháng),而且有些部分是常用的(如計數器等)。圖像采集狀態(tài)產(chǎn)生和同步信號的檢測是其中重要的部分。下面介紹這兩部分的VHDL描述。
圖像采集狀態(tài) capture_s:
處理器的采集請求信號capture_r使capture_s從‘0’到‘1’,場(chǎng)地址發(fā)生器(計數器)的溢出位vcount_o,清除capture_s。
process (capture_r, reset, vcount_o)
begin
if reset='0' or vcount_o='1' then
capture_s='0'; -- 清除
else if capture_r'event and capture_r='0' then
capture_s='1'; -- 置狀態(tài)位
end if;
end process;
同步信號檢測:
評論