基于CPLD的CIS圖像傳感器驅動電路設計
If P_EN ='1' then A1=(others=>'0'); elsif A1_WR'event and A1_WR ='1' then A1=A1+1; end if;
3.5乒乓存儲功能的總線切換
為了提高系統(tǒng)的效率,當 CPLD在采集數(shù)據(jù)時,微處理器同時完成前幅圖像數(shù)據(jù)的處理,因此在系統(tǒng)中采用雙緩沖存儲區(qū)[2]。當 CPLD向 RAM1寫數(shù)據(jù)時,緩沖區(qū) RAM2的總線控制權交給微處理器。當微處理器完成 RAM2中數(shù)據(jù)的處理且 CPLD完成當前幅圖像的采集后,總線進行切換,使 CPLD將下一幅圖像的數(shù)據(jù)寫入 RAM2,此時 RAM1的總線控制權切換給微處理器??偩€切換由 P_EN的上升沿觸發(fā) EXCH信號取反。下面的程序是 EXCH信號在不同情況下,各總線工作狀態(tài)的硬件描述。雙向數(shù)據(jù)總線的 VHDL硬件描述如下。
D=R1D when EXCH='0' and RD='0' else
R2D when EXCH='1' and RD='0' else
ZZZZZZZZ;
R1D=D when EXCH='0' and WR='0' else
D1 when EXCH='1' and A1_WR='0' else
ZZZZZZZZ;
R2D=D1 when EXCH='0' and A1_WR='0'else
D when EXCH='1' and WR= '0' else
ZZZZZZZZ;
地址總線和控制總線切換過程的硬件描述如下。
if EXCH ='0' then
R1A=A;R1_WR=WR;R1_RD=RD;
R1_CE=CS;R2A=A1;R2_WR=A1_WR;
R2_RD='1';R2_CE='0';
else
R1A= A1;R1_WR= A1_WR; R1_RD='1';
R1_CE='0'; R2A= A;R2_WR= WR;本文引用地址:http://www.ex-cimer.com/article/191968.htm
R2_RD=RD; R2_CE= CS;
end if;
4 結論圖 5給出了在 Quartus II 6.0中采用 EPM7128QC160型 CPLD對上述方案的仿真時序波形圖,仿真結果與設計思想完全吻合。此驅動電路已在紙幣清分設備中得到較好的應用。
本文作者創(chuàng)新點:以 CPLD為核心實現(xiàn) CIS傳感器時序驅動、A/D轉換器控制、雙緩沖區(qū)的乒乓總線切換以及微處理器接口等功能;微處理器不直接控制底層器件,提高了微處理器的效率;采用雙緩沖區(qū)的乒乓工作方式,圖像采集和圖像處理實現(xiàn)并行工作,提高了圖像處理系統(tǒng)的性能。
評論