摘要 本文講述了對某CCD相機的圖像數(shù)據(jù)輸出接口和圖像數(shù)據(jù)源的模擬過程。主要在CPLD器件上實現(xiàn),通過應用基于Channel link技術(LVDS串行/解串技術)的Camlink標準接口傳輸方案,最終以LVDS方式輸出信號,可以用來檢測圖像采集卡的工作狀態(tài)。
關鍵字 CCD Camlink LVDS CPLD
1 引言
多年來CCD 器件以體積小、重量輕、功耗小、工作電壓低和抗燒毀等優(yōu)點以及在分辨率、動態(tài)范圍、靈敏度、實時傳輸、自掃描等特性,廣泛地應用于攝像器材、氣象、航天航空、軍事、醫(yī)療以及工業(yè)檢測等眾多領域。
在對某多通道高速CCD相機輸出圖像信號的采集系統(tǒng)設計過程當中,我們需要對此系統(tǒng)在正式使用之前進行調試,來測試它能否正常工作。本文利用CPLD和LVDS嚴格對CCD相機的輸出接口進行了模擬,并且以LVDS方式輸出圖像信號。
2 相機系統(tǒng)輸出接口信號及Camera link 接口
此CCD 相機最終的輸出信號符合camera link 接口標準,每個通道輸出3072個像元后,接著輸出1024個零電平像元,數(shù)據(jù)采用LVDS差分輸出,每通道的輸出信號包括:控制信號:像元時鐘DCLK,行同步信號LVAL和外觸發(fā)信號DTRG;數(shù)字圖像信號(8位并行輸出)DATA。各信號波形大致如圖1 所示:
圖1
· DCLK像元時鐘頻率為31MHz,由62MHz晶振產(chǎn)生后二分頻得到。以LVDS信號輸出。
· 行同步信號LVAL在輸出3072個像元和1024個零電平像元時,LVAL為低電平,在兩個有效行中間會跳變幾個無效的像素點,跳變無效像素點時,LVAL為高電平。跳過的像素點的數(shù)目未定,初步設為固定4個像素。以LVDS信號輸出。
· 外觸發(fā)信號DTRG是用來觸發(fā)采集卡的工作,它與LVAL信號下降沿對齊,高電平寬度為像元時鐘一個周期的寬度。
為提高傳輸效率以及降低傳輸成本,CCD相機將以上圖像信號按Camera Link 標準轉換成低電平差分信號(LVDS)輸出。系統(tǒng)采用與CCD 相機相匹配的National semiconductor芯片組DS90C031W/ML 來完成TTL電平信號和LDVS信號之間的轉換,轉換接口芯片如圖2 所示,一個接口轉換芯片可以將4個信號轉換成4對符合TIA/EIA-644 標準的LVDS 數(shù)據(jù)流。另外還有兩個使能端,在工作時,EN接低電平, 接高電平。此芯片的最大傳輸速度可達77.7MHz,供電電壓為+5V,符合系統(tǒng)需要。最后輸出信號接到圖像采集系統(tǒng)的輸入端。在本文的設計當中,只用到驅動芯片,接收芯片放在圖像采集系統(tǒng)電路中。
3硬件結構
本設計的硬件電路主要由三部分組成,結構框圖如圖3所示。包括晶振電路、
CPLD、輸出接口(9片DS90C031)。整個電路的核心部分是CPLD,采用ALTERA公司的MAX7000S系列中的EPM7128SLC84-15芯片。它除了產(chǎn)生控制信號外,還要模擬一個灰度圖象的數(shù)據(jù)源。62MHz晶振用來產(chǎn)生CPLD工作所需要的時鐘。DSC90C031用來把CPLD產(chǎn)生的圖像信號和控制信號(TTL信號)轉化成LVDS信號,并輸出。其中每兩片能產(chǎn)生一個通道的8位的圖像輸出信號,共有4個通道,第9片用來轉換控制信號并輸出。
在電路設計過程中,為了提高系統(tǒng)的可靠性,要注意以下問題:1、CPLD器件的每個供電電壓管腳都要外接0.1μ電容來進行濾波。CPLD輸出信號也要進行濾波之后再接到DSC90C031。2、在輸出端,要使用終端電阻實現(xiàn)對差分傳輸線的最大匹配,阻值一般在90——130Ώ之間,系統(tǒng)也需要此終端電阻來產(chǎn)生正常工作的差分電壓。必要時也可使用2個阻值各為50Ώ的電阻,并在中間通過一個電容接地,以濾去共模噪聲。
4 CPLD程序設計
因為考慮到設計后期還要在CPLD前端加單片機對圖像信號的變化進行各種控制,所以要用到大約50個I/O口的操作,所以選用了ALTERA公司的MAX7000S系列中的EPM7128SLC84-15芯片,該芯片共有84個引腳,內部集成了6000門,其中典型可用門為2500個,有128個邏輯單元,60個可用I/O口,可單獨配置為輸入、輸出及雙向工作方式,2個全局時鐘及一個全局使能端和一個全局清除端。它支持多電壓工作,其傳輸延時為7.5ns,最高工作頻率高達125MHz。我們采用ALTERA公司的第三代開發(fā)軟件Max plus II進行仿真、綜合和下載。
整個程序分三個模塊:u1,u2,u3,其中u1是分頻模塊,用4輸出計數(shù)器對輸入的62M主時鐘(mclk)進行2分頻,u2是圖像數(shù)據(jù)產(chǎn)生模塊,用8位的計數(shù)器來產(chǎn)生灰度圖象數(shù)據(jù)。u3模塊是利用13位的計數(shù)器來產(chǎn)生控制信號,嚴格按照要求的時序關系,分別產(chǎn)生像元時鐘(DCLK)、行同步信號(LVAL)、外觸發(fā)信號(DTRG)。部分源程序如下:
begin
u1:fenpin port map(mclk,clr0,set,clk); //引用分頻模塊
u2:count8 port map(clk,clr1,set,countout8);//引用8位計數(shù)器
u3:count13 port map (clk,clr2,set,countout13);//引用13位計數(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)then
data<=countout8;//輸出有效像元
end if;
if (countout13>=3072 and countout13<=4095)then
data<=0;//輸出零像元
end if;
end if;
end process;
end rtl;
時序仿真圖如下圖所示:
5總結
編譯仿真通過后,在頂層用原理圖進行綜合實現(xiàn),然后燒入芯片進行實驗,并根據(jù)實際運行情況,對設計進行改進。如根據(jù)實際器件的延時特性,在設計中某些地方插入適當?shù)难舆t單元以保證各時延一致。
根據(jù)本文介紹的設計方案,采用CPLD技術設計的多路CCD圖像信號模擬器結構簡單,實現(xiàn)方便,易于修改。在圖像采集卡的測試過程中,發(fā)揮了重要作用。
參考文獻:
[1] 侯伯亨,顧新等.VHDL硬件描述語言與數(shù)字邏輯電路設計.西安電子科技大學出版社,2004
[2] 楊剛,龍海燕.VHDL與數(shù)字系統(tǒng)設計.電子工業(yè)出版社,2004
[3] data sheet of DS90CO31 . National Semiconductor .1998
[4] data sheet of MAX7000. ALTERA.2001