基于CPLD的CIS圖像傳感器驅動(dòng)電路設計
(3)A/D轉換器的電路設計
由于灰度圖像的灰階通常為 256級,因此選用 8位的高速并行模數轉換器 TLC5540,它的最高工作頻率高達 40MHz,依靠 5V單電源工作,而且內部帶有基準電路構成分壓電路獲得參考電壓[1]。+5V

TLC5540在其時(shí)鐘信號的下降沿對輸入模擬信號進(jìn)行保持和采樣,在 2.5個(gè)時(shí)鐘周期后將轉換的數據輸出到內部總線(xiàn)上。當 TLC5540讀選通信號 OE有效時(shí),數據輸出到外圍管
腳上。 TLC5540的接口電路如圖 3所示。
TLC5540的參考電壓由精密基準電壓源 TL431、電阻 R6和 R7構成的電路提供。 TLC5540的 CLK管腳和 OE管腳由 CPLD直接控制,分別為 AD_EN和 AD_CLK。當 CPLD產(chǎn)生的 AD_EN為下降沿時(shí),CPLD使能 TLC5540的 OE腳將數據 AD[0..7]讀取到 CPLD的內部寄存器中,實(shí)現信號由模擬到數字的轉換過(guò)程。 3 軟件設計
3.1 CPLD的邏輯功能模塊設計
CPLD是 CIS控制模塊的核心部件。根據 CPLD需要完成的任務(wù),將 CPLD的邏輯功能劃分為不同的模塊,包括時(shí)序控制模塊、 A/D數據讀取模塊、數據暫存地址發(fā)生器、乒乓存儲的總線(xiàn)切換和 MPU接口模塊等。CPLD邏輯功能的模塊如圖 4所示。
3.2時(shí)序控制模塊
時(shí)序控制模塊是 CPLD在外部時(shí)鐘信號 CLK控制下,根據 MPU提供的 P_EN與 L_EN信號,產(chǎn)生 CIS的控制時(shí)序、A/D轉換器的控制時(shí)序、數據暫存的讀寫(xiě)信號。
(1)CIS傳感器和 AD轉換器的控制時(shí)序產(chǎn)生
根據 CIS傳感器的控制時(shí)序特性, CPLD為 CIS傳感器提供時(shí)鐘信號 CIS_CLK、選通信號 CIS_SI和光源控制信號 CIS_LED等。當微處理器將 P_EN置為高電平時(shí),CPLD處于初始化狀態(tài)。當 P_EN為低電平后,CPLD處于準備階段。此時(shí),一旦微處理器給 L_EN管腳上產(chǎn)生一個(gè)脈沖信號,CPLD就隨后自動(dòng)產(chǎn)生 CIS_SI信號啟動(dòng) CIS,同時(shí) CPLD的內部計數器對外部 CLK進(jìn)行計數。在根據計數值 CPLD產(chǎn)生 AD轉換器的控制信號。這一時(shí)序電路的硬件描述如下,其中 CNT是一個(gè) 0到 647的計數器。
if P_EN ='1' then
CNT=0; AD_EN='1'; CIS_SI='0';
elsif (CLK 'event and CLK ='1') then
if L_EN ='1' then CNT=1;
elsif CNT=647 or CNT=0 then CNT=0;
else CNT=CNT+1; end if;
if CNT=2 then CIS_SI ='1';
else CIS_SI ='0';end if;
if CNT>=64 and CNT=640 then AD_EN='0';
else AD_EN='1'; end if; end if;
3.3 A/D數據讀取模塊
A/D數據讀取模塊將模數轉換器的輸出數據暫存在 CPLD內部寄存器中。在 A/D轉換器的讀使能信號有效,即 AD_EN為 0時(shí), CPLD為 ADC產(chǎn)生時(shí)鐘 AD_CLK。CPLD在 AD_CLK的下降沿將 ADC的轉換結果暫存在寄存器 D1中,其硬件的描述如下。
if AD_CLK'EVENT and AD_CLK ='0' then D1(7 downto 0)=AD(7 downto 0); end if;
3.4數據暫存的地址發(fā)生器
CIS傳感器是按照一個(gè)個(gè)像素逐次串行輸出。因此必須將圖像數據按照地址逐次增一的格式存儲在存儲器 IS61C1024中。其寫(xiě)信號 A1_WR是由 A/D轉換器的讀使能信號 AD_EN和外部時(shí)鐘 CLK進(jìn)行邏輯與得到的,其硬件描述如下。
A1_WR=AD_EN and CLK;
存儲地址的產(chǎn)生是由一個(gè) 17位計數器 A1完成,當 P_EN=1時(shí)表示圖像采集沒(méi)有開(kāi)始,地址計數器 A1初始化為0。當 P_EN=0時(shí),在寫(xiě)信號 A1_WR的上升沿地址增 1,為下一個(gè)數據的存儲提供地址。這一過(guò)程的硬件描述如下。
評論