基于CPLD的CCD相機(jī)圖像信號模擬器的設(shè)
1 引言
多年來CCD 器件以體積小、重量輕、功耗小、工作電壓低和抗燒毀等優(yōu)點(diǎn)以及在分辨率、動態(tài)范圍、靈敏度、實(shí)時(shí)傳輸、自掃描等特性,廣泛地應(yīng)用于攝像器材、氣象、航天航空、軍事、醫(yī)療以及工業(yè)檢測等眾多領(lǐng)域。
在對某多通道高速CCD相機(jī)輸出圖像信號的采集系統(tǒng)設(shè)計(jì)過程當(dāng)中,我們需要對此系統(tǒng)在正式使用之前進(jìn)行調(diào)試,來測試它能否正常工作。本文利用CPLD和LVDS嚴(yán)格對CCD相機(jī)的輸出接口進(jìn)行了模擬,并且以LVDS方式輸出圖像信號。
2 相機(jī)系統(tǒng)輸出接口信號及Camera link 接口
此CCD 相機(jī)最終的輸出信號符合camera link 接口標(biāo)準(zhǔn),每個(gè)通道輸出3072個(gè)像元后,接著輸出1024個(gè)零電平像元,數(shù)據(jù)采用LVDS差分輸出,每通道的輸出信號包括:控制信號:像元時(shí)鐘DCLK,行同步信號LVAL和外觸發(fā)信號DTRG;數(shù)字圖像信號(8位并行輸出)DATA。各信號波形大致如圖1 所示:

圖1
· DCLK像元時(shí)鐘頻率為31MHz,由62MHz晶振產(chǎn)生后二分頻得到。以LVDS信號輸出。
·&nb
sp; 行同步信號LVAL在輸出3072個(gè)像元和1024個(gè)零電平像元時(shí),LVAL為低電平,在兩個(gè)有效行中間會跳變幾個(gè)無效的像素點(diǎn),跳變無效像素點(diǎn)時(shí),LVAL為高電平。跳過的像素點(diǎn)的數(shù)目未定,初步設(shè)為固定4個(gè)像素。以LVDS信號輸出。· 外觸發(fā)信號DTRG是用來觸發(fā)采集卡的工作,它與LVAL信號下降沿對齊,高電平寬度為像元時(shí)鐘一個(gè)周期的寬度。
為提高傳輸效率以及降低傳輸成本,CCD相機(jī)將以上圖像信號按Camera Link 標(biāo)準(zhǔn)轉(zhuǎn)換成低電平差分信號(LVDS)輸出。系統(tǒng)采用與CCD 相機(jī)相匹配的National semiconductor芯片組DS90C031W/ML 來完成TTL電平信號和LDVS信號之間的轉(zhuǎn)換,轉(zhuǎn)換接口芯片如圖2 所示,一個(gè)接口轉(zhuǎn)換芯片可以將4個(gè)信號轉(zhuǎn)換成4對符合TIA/EIA-644 標(biāo)準(zhǔn)的LVDS 數(shù)據(jù)流。另外還有兩個(gè)使能端,在工作時(shí),EN接低電平, 接高電平。此芯片的最大傳輸速度可達(dá)77.7MHz,供電電壓為+5V,符合系統(tǒng)需要。最后輸出信號接到圖像采集系統(tǒng)的輸入端。在本文的設(shè)計(jì)當(dāng)中,只用到驅(qū)動芯片,接收芯片放在圖像采集系統(tǒng)電路中。

3硬件結(jié)構(gòu)
本設(shè)計(jì)的硬件電路主要由三部分組成,結(jié)構(gòu)框圖如圖3所示。包括晶振電路、
CPLD、輸出接口(9片DS90C031)。整個(gè)電路的核心部分是CPLD,采用ALTERA公司的MAX7000S系列中的EPM7128SLC84-15芯片。它除了產(chǎn)生控制信號外,還要模擬一個(gè)灰度圖象的數(shù)據(jù)源。62MHz晶振用來產(chǎn)生CPLD工作所需要的時(shí)鐘。DSC90C031用來把CPLD產(chǎn)生的圖像信號和控制信號(TTL信號)轉(zhuǎn)化成LVDS信號,并輸出。其中每兩片能產(chǎn)生一個(gè)通道的8位的圖像輸出信號,共有4個(gè)通道,第9片用來轉(zhuǎn)換控制信號并輸出。
在電路設(shè)計(jì)過程中,為了提高系統(tǒng)的可靠性,要注意以下問題:1、CPLD器件的每個(gè)供電電壓管腳都要外接0.1μ電容來進(jìn)行濾波。CPLD輸出信號也要進(jìn)行濾波之后再接到DSC90C031。2、在輸出端,要使用終端電阻實(shí)現(xiàn)對差分傳輸線的最大匹配,阻值一般在90——130Ώ之間,系統(tǒng)也需要此終端電阻來產(chǎn)生正常工作的差分電壓。必要時(shí)也可使用2個(gè)阻值各為50Ώ的電阻,并在中間通過一個(gè)電容接地,以濾去共模噪聲。
4 CPLD程序設(shè)計(jì)
因?yàn)榭紤]到設(shè)計(jì)后期還要在CPLD前端加單片機(jī)對圖像信號的變化進(jìn)行各種控制,所以要用到大約50個(gè)I/O口的操作,所以選用了ALTERA公司的MAX7000S系列中的EPM7128SLC84-15芯片,該芯片共有84個(gè)引腳,內(nèi)部集成了6000門,其中典型可用門為2500個(gè),有128個(gè)邏輯單元,60個(gè)可用I/O口,可單獨(dú)配置為輸入、輸出及雙向工作方式,2個(gè)全局時(shí)鐘及一個(gè)全局使能端和一個(gè)全局清除端。它支持多電壓工作,其傳輸延時(shí)為7.5ns,最高工作頻率高達(dá)125MHz。我們采用ALTERA公司的第三代開發(fā)軟件Max plus II進(jìn)行仿真、綜合和下載。
整個(gè)程序分三個(gè)模塊:u1,u2,u3,其中u1是分頻模塊,用4輸出計(jì)數(shù)器對輸入的62M主時(shí)鐘(mclk)進(jìn)行2分頻,u2是圖像數(shù)據(jù)產(chǎn)生模塊,用8位的計(jì)數(shù)器來產(chǎn)生灰度圖象數(shù)據(jù)。u3模塊是利用13位的計(jì)數(shù)器來產(chǎn)生控制信號,嚴(yán)格按照要求的時(shí)序關(guān)系,分別產(chǎn)生像元時(shí)鐘(DCLK)、行同步信號(LVAL)、外觸發(fā)信號(DTRG)。部分源程序如下:
begin
u1:fenpin port map(mclk,clr0,set,clk); //引用分頻模塊
u2:count8 port map(clk,clr1,set,countout8);//引用8位計(jì)數(shù)器
u3:count13 port map (clk,clr2,set,countout13);//引用13位計(jì)數(shù)器
set<='1';
clr1<='0';
dclk<=clk;
process(clk)
begin
if(clk'event and clk='1')then
if (countout13>=4096 and countout13<=4099)then
lval<='1';
data<=countout8;
else
lval<='0';
end if;
if(countout13=4099)then
dtrg<='1';
clr2<='1';
else
dtrg<='0';
clr2<='0';
end if;
if(countout13>=0 and countout13<=3071)thendata<=countout8;//輸出有效像元
end if;
if (countout13>=3072 and countout13<=4095)then
data<=0;//輸出零像元
end if;
end if;
end process;
end rtl;
時(shí)序仿真圖如下圖所示:

5總結(jié)
編譯仿真通過后,在頂層用原理圖進(jìn)行綜合實(shí)現(xiàn),然后燒入芯片進(jìn)行實(shí)驗(yàn),并根據(jù)實(shí)際運(yùn)行情況,對設(shè)計(jì)進(jìn)行改進(jìn)。如根據(jù)實(shí)際器件的延時(shí)特性,在設(shè)計(jì)中某些地方插入適當(dāng)?shù)难舆t單元以保證各時(shí)延一致。
根據(jù)本文介紹的設(shè)計(jì)方案,采用CPLD技術(shù)設(shè)計(jì)的多路CCD圖像信號模擬器結(jié)構(gòu)簡單,實(shí)現(xiàn)方便,易于修改。在圖像采集卡的測試過程中,發(fā)揮了重要作用。
(李愛玲 張伯珩 達(dá)選福 邊川平)
參考文獻(xiàn):
[1].CPLDdatasheethttp://www.dzsc.com/datasheet/CPLD_1136600.html.
[2].LVDSdatasheethttp://www.dzsc.com/datasheet/LVDS_457917.html.
[3].TTLdatasheethttp://www.dzsc.com/datasheet/TTL_1174409.html.
[4].DS90C031datasheethttp://www.dzsc.com/datasheet/DS90C031_268245.html.
[5].MAX7000Sdatasheethttp://www.dzsc.com/datasheet/MAX7000S_1018714.html.
[6].EPM7128SLC84-15datasheethttp://www.dzsc.com/datasheet/EPM7128SLC84-15_1054460.html.
來源:零八我的愛0次





