周應(yīng)發(fā) ZHOU Ying-fa;黃澤鍔 HUANG Ze-e
(廣州颯特股份有限公司,廣州 510006)
(Guangzhou SAT Infrared Co.,Ltd.,Guangzhou 510006,China)
Camera Link是一種基于視頻應(yīng)用發(fā)展而來(lái)的通信接口,是在Channel Link技術(shù)基礎(chǔ)上發(fā)展出來(lái)的[1]。Camera Link標(biāo)準(zhǔn)是由國(guó)家半導(dǎo)體實(shí)驗(yàn)室提出的一種Channel Link技術(shù)標(biāo)準(zhǔn)發(fā)展而來(lái)的,它在傳統(tǒng)LVDS傳輸數(shù)據(jù)的基礎(chǔ)上又加載了并轉(zhuǎn)串發(fā)送器和串轉(zhuǎn)并接收器,利用SER/DES(串行化/解串行化)技術(shù)以高達(dá)4.8Gb/s的速度發(fā)送數(shù)據(jù)。Camera Link標(biāo)準(zhǔn)使用每條鏈路需兩根導(dǎo)線的LVDS傳輸技術(shù)。驅(qū)動(dòng)器接收28個(gè)單端數(shù)據(jù)信號(hào)和1個(gè)時(shí)鐘信號(hào),這些信號(hào)以7:1的比例被串行發(fā)送,也就是5對(duì)LVDS信號(hào)通道上分別傳輸4組LVDS數(shù)據(jù)流和1組LVDS時(shí)鐘信號(hào),即完成28位數(shù)據(jù)的同步傳輸只需5對(duì)線,而且在多通道66MHz像素時(shí)鐘頻率下傳輸距離可達(dá)6m[2-4]。
系統(tǒng)使用Spartan-6系列的FPGA,型號(hào)為XC6SLX45來(lái)進(jìn)行設(shè)計(jì)。該系列的FPGA為成本敏感型應(yīng)用帶來(lái)了低風(fēng)險(xiǎn)、低成本和低功耗的最佳平衡。該系列不僅擁有業(yè)界領(lǐng)先的系統(tǒng)集成能力,同時(shí)還能實(shí)現(xiàn)適用于大批量應(yīng)用的最低總成本[5-6]。
本文闡述如何在FPGA進(jìn)行Camera Link接口設(shè)計(jì),使用該方法在FPGA中設(shè)計(jì)模塊,用于替代原使用的并轉(zhuǎn)串驅(qū)動(dòng)芯片SN75LVDS83,即節(jié)約了成本,降低了功耗,也便于系統(tǒng)的小型化。
1.1 系統(tǒng)硬件設(shè)計(jì) 系統(tǒng)原電路如圖1所示,其中FPGA將從視頻設(shè)備中采集到的數(shù)字圖像數(shù)據(jù),包括24位RGB數(shù)據(jù),行信號(hào)HSYNC,場(chǎng)信號(hào)VSYNC,數(shù)據(jù)使能信號(hào)DEN,及一位保留信號(hào),共28路;同時(shí)還有像素時(shí)鐘信號(hào)傳輸給并轉(zhuǎn)串驅(qū)動(dòng)芯片SN75LVDS83,通過(guò)該芯片將28位CMOS/TTL信號(hào)以7:1方式并串變換為4條LVDS數(shù)據(jù)信號(hào),即Y0P和Y0M至Y3P和Y3M。鎖相環(huán)傳輸時(shí)鐘,即CLKOUTP和CLKOUTM通過(guò)第五條LVDS鏈路與其中四路LVDS數(shù)據(jù)信號(hào)并行傳輸。
圖1 原系統(tǒng)硬件電路原理圖
然后將5路LVDS信號(hào)通過(guò)連線傳輸?shù)斤@示驅(qū)動(dòng)板上的接收器芯片SN75LVDS82,該芯片接收4路LVDS數(shù)據(jù)信號(hào)和1路LVDS時(shí)鐘信號(hào),將數(shù)據(jù)信號(hào)串并轉(zhuǎn)換為28位CMOS/TTL并行信號(hào),然后送到液晶屏的數(shù)字接口。系統(tǒng)顯示屏使用友達(dá)的5寸液晶屏,型號(hào)為A050VW01,該屏具有RGB數(shù)字接口。通過(guò)5對(duì)線纜傳輸,減少了線纜使用的數(shù)量。因此可使用較少連接器,也節(jié)省了空間。
原硬件設(shè)計(jì),雖然設(shè)計(jì)簡(jiǎn)單,也成功的實(shí)現(xiàn)了圖像的成功傳輸。但使用了并轉(zhuǎn)串驅(qū)動(dòng)芯片SN75LVDS83,該芯片封裝較大,不利于系統(tǒng)的小型化。其次,該芯片正常工作時(shí)功耗在170mW左右。對(duì)于手持設(shè)備而言,該功耗也不少。本系統(tǒng)設(shè)計(jì)將該芯片的功能集成到系統(tǒng)的主控芯片F(xiàn)PGA芯片上,通過(guò)FPGA來(lái)實(shí)現(xiàn)并轉(zhuǎn)串驅(qū)動(dòng)芯片。即圖1中系統(tǒng)并轉(zhuǎn)串驅(qū)動(dòng)器模塊集成到FPGA中。
1.2 基于FPGA的系統(tǒng)設(shè)計(jì) 使用Camera Link協(xié)議,根據(jù)并轉(zhuǎn)串驅(qū)動(dòng)芯片SN75LVDS83的芯片規(guī)格書(shū)[7],28位數(shù)據(jù)信號(hào)的時(shí)序設(shè)計(jì)如圖2所示。時(shí)鐘CLKOUTP/CLKOUTM是像素時(shí)鐘PCLK的7倍頻。該圖將28位數(shù)據(jù)傳輸?shù)臅r(shí)序及各個(gè)位分別儲(chǔ)存的數(shù)據(jù)信號(hào)都進(jìn)行說(shuō)明。在FPGA編程時(shí),參考該圖進(jìn)行編程。
圖2 CameraLink數(shù)據(jù)傳輸時(shí)序
FPGA設(shè)計(jì)時(shí)使用工具軟件Xilinx ISE Design Suite 12.4,使用類(lèi)似于原理圖的圖形輸入方式進(jìn)行設(shè)計(jì),通過(guò)硬件描述語(yǔ)言VHDL編程,然后生成相應(yīng)的圖形模塊。其中圖3所示的模塊是頂層中LVDS時(shí)鐘信號(hào)的設(shè)計(jì)方法,CTL_LOGIC是控制信號(hào),像素時(shí)鐘PCLK通過(guò)該模塊進(jìn)行時(shí)鐘的7倍頻,生成時(shí)鐘CLKx7。同時(shí),PCLK通過(guò)CLKOUT輸出給差分信號(hào)生成模塊OBUFDS,生成時(shí)鐘LVDS信號(hào)CLKOUTP和CLKOUTM。
圖3 時(shí)鐘LVDS信號(hào)生成模塊
另外四路LVDS數(shù)據(jù)信號(hào)的設(shè)計(jì)方法如圖4所示,圖4中給出了其中一路LVDS信號(hào)的圖形化模塊,根據(jù)圖2所示的時(shí)序設(shè)計(jì),第一路LVDS數(shù)據(jù)信號(hào)傳輸D0,D1,D2,D3,D4,D6,D7位,該位所儲(chǔ)存的信息在如圖2所示,圖4中也進(jìn)行了標(biāo)識(shí),如紅色信號(hào)的第0位Red(0)儲(chǔ)放在D0位。由圖3中產(chǎn)生時(shí)鐘7倍頻和7路并行數(shù)據(jù)輸入到并串轉(zhuǎn)換模塊,該模塊實(shí)現(xiàn)了并行7路數(shù)據(jù)輸入,串行一路數(shù)據(jù)輸出。輸出的串行數(shù)據(jù)通過(guò)OBUFDS模塊,生成差分信號(hào)Y0P,Y0M。另外三路LVDS信號(hào)而使用同樣設(shè)計(jì)方法。最終生成5路LVDS信號(hào),然后傳輸?shù)斤@示板上的串轉(zhuǎn)并接收芯片SN75LVDS82。通過(guò)該芯片輸出原圖像數(shù)字信號(hào)給液晶屏。
圖4 數(shù)據(jù)LVDS信號(hào)生成模塊
通過(guò)在FPGA中設(shè)計(jì)模塊,替代原使用的并轉(zhuǎn)串驅(qū)動(dòng)芯片SN75LVDS83,最后在FPGA中成功的實(shí)現(xiàn)了原芯片的功能,圖像成功的傳輸?shù)揭壕辽线M(jìn)行顯示。圖5是傳輸標(biāo)準(zhǔn)彩條數(shù)據(jù)后,友達(dá)的5寸液晶屏中的顯示效果,該系統(tǒng)已成功應(yīng)用在相應(yīng)的手持設(shè)備中。
圖5 標(biāo)準(zhǔn)彩條傳輸顯示
[1]Basler.Specification of the camera link interface standard for digital cameras and flame grabbers[Z].Ahrensburg,Germany:Basler,2000.
[2]王小艷,張會(huì)新,孫永生,楊倩.Camera Link協(xié)議和FPGA的數(shù)字圖像信號(hào)源設(shè)計(jì)[J].網(wǎng)絡(luò)與通信工程,2008(07):59-61.
[3]朱齊丹,劉進(jìn)業(yè),康嶺.Camera Link硬件接口電路設(shè)計(jì)[J].應(yīng)用科技,2008(10):57-60.
[4]李寧,汪駿發(fā).基于Camera Link的高速數(shù)據(jù)采集系統(tǒng)[J].紅外,2005(07):31-37.
[5]Spartan-6 Family Overview/DataSheet[M].Xilinx,2010.
[6]Spartan-6 FPGA Packaging and Pinouts/DataSheet[M].Xilinx,2010.
[7]Sn75lvds83a/DataSheet[M].TI,2009.