基于TMS320C6x11系列DSP的圖像獲取方案
本設(shè)計(jì)方案旨在利用上述 的有利條件,提出一套基于TMS320C6x11系列DSP的圖像獲取方案,利用模擬視頻信號(hào)的統(tǒng)一性,實(shí)現(xiàn)隨意更換帶有標(biāo)準(zhǔn)模擬視頻信號(hào)輸出接口的圖像設(shè)備而無(wú)需在圖像處理系統(tǒng)的硬件和軟件上作修改。同時(shí),本方案還需提供一個(gè)相對(duì)通用的數(shù)字視頻接口,可以適應(yīng)TMS320C6xll系列DSP的接口。本設(shè)計(jì)的主要技術(shù)要求有:
?、僦С謽?biāo)準(zhǔn)的模擬視頻輸入接口,可以對(duì)標(biāo)準(zhǔn)的模擬視頻信號(hào)解碼得到數(shù)字圖像數(shù)據(jù);
?、谠诓唤档蛨D像幅面的前提下,圖像采集速度快,滿足一定的實(shí)時(shí)性要求;
③占用CPU時(shí)間少,使得圖像采集過(guò)程在后臺(tái)自主完成;
?、軘?shù)字圖像接口通用性好,可以在TMS320C6u1l系列乎臺(tái)上通用互換。
1 總體方案設(shè)計(jì)
1.1 方案的選擇
目前,解碼模擬視頻信號(hào)主要的方法有:采用A/D采樣模擬視頻信號(hào)和采用專用的模擬視頻信號(hào)解碼器。對(duì)于前一種方案需要的外部芯片較少,只需A/D轉(zhuǎn)換芯片即可;但是需要占用大量的CPU時(shí)間,在采集圖像的過(guò)程中CPU基本沒(méi)有額外的時(shí)間處理圖像。這個(gè)問(wèn)題通常會(huì)導(dǎo)致圖像處理系統(tǒng)處理圖像的時(shí)間嚴(yán)重不足。后一種方案采用專門的模擬視頻信號(hào)解碼器,需要一些額外的接口芯片,但是可以節(jié)約大量的CPU時(shí)間,圖像采集過(guò)程可以全部在后臺(tái)完成,基本上不需要CPU的干預(yù)。這個(gè)優(yōu)點(diǎn)對(duì)于圖像處理系統(tǒng),特別是算法比較復(fù)雜的處理系統(tǒng)(例如視頻 監(jiān)控系統(tǒng) )有著非常大的吸引力,所以本方案決定采用后者。
本方案中一個(gè)難點(diǎn)是:由模擬視頻信號(hào)解碼得出的數(shù)字視頻信號(hào)數(shù)據(jù)量非常大,而且由于是實(shí)時(shí)視頻信號(hào),所以數(shù)據(jù)輸出速率也非常高;但是相反,DSP外部存儲(chǔ)器接口的讀出速率卻比較慢。為了解決這個(gè)問(wèn)題,本方案采取了兩種緩沖方式.首先是使用高速FIFO,對(duì)數(shù)據(jù)進(jìn)行暫存以緩解速度上的差異,但是這樣的緩沖還不足以平衡兩者之間的速度差異。
于是在本方案中提出了“隔行采樣”的思想。通常,隔行采樣會(huì)使得分辨率下降,例如每四行采樣一行數(shù)據(jù),會(huì)使得圖像垂直方向上的行數(shù)下降到原來(lái)的1/4。這不是設(shè)計(jì)所希望的,所以為了保證圖像的分辨率,設(shè)計(jì)中在隔行采樣的同時(shí),將一整幅圖像的行數(shù)據(jù)交錯(cuò)分多次采樣,然后再重新組合成一幅完整的圖像。這樣既起到了緩沖速度差異的作用,又保證了圖像的分辨率。
最后本方案確定的思路是,采用FIFO來(lái)暫存一行圖像數(shù)據(jù),視頻解碼器直接向FIF0中寫(xiě)入圖像數(shù)據(jù)。當(dāng)FIFO中寫(xiě)入了有效圖像數(shù)據(jù)后,由CPLD向DSP發(fā)出中斷請(qǐng)求;同時(shí),DSP接到中斷請(qǐng)求后,啟動(dòng)DMA方式將一行圖像數(shù)據(jù)從FIFO中讀入到其外部RAM中存放。CPLD主要完成“隔行采樣”的實(shí)現(xiàn)、控制解碼器向FIFO中寫(xiě)入數(shù)據(jù)以及DSF從FIFO中讀出數(shù)據(jù)。
另外,本方案目前主要是針對(duì)PAL制式模擬信號(hào)的。PAL制模擬信號(hào)傳輸?shù)膱D像幅面大小為720×576像素。下面的設(shè)計(jì)主要針對(duì)該格式的視頻信號(hào)展開(kāi)。如果需要對(duì)NSTC等其他制式視頻信號(hào)解碼,只需要在軟件上作一些修改即可。
1.2 系統(tǒng)框圖
在本方案中,模擬視頻信號(hào)解碼器采用的是 Philips 公司的 SAA7111A 。對(duì)于PAL制式模擬視頻信號(hào),l行圖像數(shù)據(jù)有720個(gè)像素;同時(shí)由于YUV分量采用了4:2:2抽樣,所以需要 1440 字節(jié)的存儲(chǔ)空間存儲(chǔ)1行數(shù)據(jù)。由于本方案中需要用到FIFO對(duì)1行數(shù)據(jù)暫存,所以FIFO的存儲(chǔ)深度必須大于1440字節(jié),最后選定高速FIFO采用IDT公司的IDT72V23l,其具有2K×9位的存儲(chǔ)深度。同時(shí)還使用了LaittICe公司的CPLD—— LC4128V ,作為中間邏輯接口控制“隔行采樣”的完成、解碼器對(duì)FIFO的寫(xiě)操作以及DSP對(duì)FIFO的讀操作,系統(tǒng)框圖如圖l所示。
2 硬件方案設(shè)計(jì)
2.1 芯片介紹
本方案選用SAA7111A作為前端視頻解碼器。SAA71llA視頻解碼器是雙通道模擬預(yù)處理電路、自動(dòng)鉗位和增益控制電路、時(shí)鐘產(chǎn)生電路、數(shù)字多標(biāo)準(zhǔn)解碼器、亮度/對(duì)比度/飽和度控制電路、彩色空間矩陣的組合,是一款功能完善的視頻處理器。SAA711lA只需要單一的 3.3V電源供電,與C6x11的I/O電壓一 致。SAA7111A接收CVBS(復(fù)合視頻)或 S-video 模擬視頻輸入,可以將PAL、SECAM、NTSC模式的彩色視頻信號(hào)解碼為CCIR-60l/656兼容的彩色數(shù)字分量值,器件功能通過(guò)I2C接口控制。
SAA7111A的主要性能特點(diǎn)如下:
◆4路模擬輸入一一4路CVBS或2路Y/C或1路Y/C和2路CVBS;
◆主通道靜態(tài)增益可編程,自動(dòng)增益控制選擇的CVBS或Y/C通道;
◆2個(gè)8位視頻CMOS模數(shù) 轉(zhuǎn)換器 ;
◆片上時(shí)鐘產(chǎn)生器,只需要 24.576 MHz單一時(shí)鐘輸入;
◆自動(dòng)探測(cè)50 Hz和60 Hz場(chǎng)頻,自動(dòng)在PAL和NTSC標(biāo)準(zhǔn)間切換;
◆可以處理PALBGHI、PALN、PAL M、NTSC M、NTSC N、NTSC 4.43、NTSC-Japan和SECAM信號(hào)。從以上特點(diǎn)可以看出,SAA7111A功能強(qiáng)大,性能全面,可以滿足各種視頻轉(zhuǎn)換處理的需要,完全符合本系統(tǒng)的要求。SAA7111A已經(jīng)在各種視頻處理系統(tǒng)中得到廣泛的應(yīng)用,技術(shù)性能已得到充分的證明。采用SAA7111A具有很高的性價(jià)比。
2.2 DSP與FOFO接口技術(shù)
TMS320C6xll的外部存儲(chǔ)器接口(EMIF )提供了功能十分強(qiáng)大的外部接口,可以實(shí)現(xiàn)與諸多種類的存儲(chǔ)器的無(wú)縫接口,如SB SRAM 、 SDRAM 、SRAM、ROM等等。但是其對(duì)FIFO的接口并不能做到真正的無(wú)縫接口,需要增加一些外部邏輯來(lái)調(diào)整它們之間的時(shí)序。
本方案中采用的FIFO一一IDT72V23,是標(biāo)準(zhǔn)的同步FIFO,具有兩個(gè)獨(dú)立的讀寫(xiě)時(shí)鐘——RCLK、WCLK;同時(shí)還具有讀寫(xiě)控制信號(hào)WENl、WEN2、REN1和REN2。
對(duì)于本設(shè)計(jì)而言,要求DSP從FIFO中將數(shù)據(jù)讀出,故關(guān)鍵考慮DSP對(duì)IDT72V23l的讀時(shí)序。圖2是IDT72V31數(shù)據(jù)讀出的時(shí)序。
圖2中,tENS為REN1(REN2)的最短建立時(shí)間(SETUP),tDS為數(shù)據(jù)的最短建立時(shí)間(SETUP)。由圖2可以看出 IDT72V231 與一般SRAM讀時(shí)序的一個(gè)很大區(qū)別是:當(dāng)RCLK上升沿到來(lái)以后,需要有一個(gè)比較長(zhǎng)的延時(shí)tA才會(huì)有有效數(shù)據(jù)出現(xiàn)在總線上。此前一段時(shí)間內(nèi)總線上的數(shù)據(jù)是不穩(wěn)定的,并且該延時(shí)最長(zhǎng)可達(dá)到12ns。
但是對(duì)于TMS320C6x11而言,數(shù)據(jù)的讀入是在ARE信號(hào)的上升沿完成的,故這里設(shè)計(jì)的主要問(wèn)題是FIFO的RCLK時(shí)鐘怎樣提供。本設(shè)計(jì)中采用的解決辦法如下:
RCLK=!(ARE)
REN1&REN2=CEx+AOE+Address
也就是說(shuō),RCLK是由DSP的ARE信號(hào)取反得到的,而REN1和REN2信號(hào)是由DSP的AOE信號(hào)經(jīng)過(guò)地址譯碼后提供。這樣設(shè)計(jì)的TMS320C6xll與FIFO接口為了配合FIFO讀出時(shí)序的要求,還必須要求DSP的讀時(shí)序(主要是Setup/Strobe/Hold三個(gè)時(shí)序段)滿足以下要求:
Setup≥(tENS+tSKEW)/tcyc
Strobe≥(tA+tDS)/tcyc
Strobe≥(tCLKH(min)/tcyc
Hold+Setup≥(tCLKL(min)/tcyc
Setup+Strobe+Setup≥(trc(min)/tcyc
從時(shí)序圖上的數(shù)據(jù)可以看出,tENS≥5ns,tA≤12 ns,tDS≥5 ns;同時(shí),由于IDT72V23l的要求,RCLK高電平時(shí)間(tCLKH(min)大于等于8ns、RCLK低電平時(shí)間(tCLKL(min)大于等于8 ns以及讀寫(xiě)周期(trc(min)必須大于等于20ns。加上一定的冗余,最后計(jì)算可以得到:
Setup≥20ns
Strobe≥30 ns
Hold≥l0ns
在本設(shè)計(jì)的 TMS320C6211 的系統(tǒng)板上,EMIF的外部時(shí)鐘頻率是100 MHz,所以tcyc=10ns。這樣可以得出DSP中CExCTL寄存器中Setup值設(shè)置為2,Strobe值設(shè)置為3,Hold值設(shè)置為1。
實(shí)際系統(tǒng)實(shí)現(xiàn)證明。通過(guò)這樣的硬件接口設(shè)計(jì)后,TMS320C621l可以很穩(wěn)定地從FIF0中讀出數(shù)據(jù)。
2.3 隔行采樣技術(shù)
由于DSP接口與FIFO的接口速度只能達(dá)到15MB/s的速度,同時(shí)當(dāng)DSP把圖像數(shù)據(jù)從FIFO中讀出來(lái)以后還需要將數(shù)據(jù)存入其外部存儲(chǔ)器中,這樣DSP與FIFO的接口速度是完全不可能跟上解碼器SAA7111A的有效數(shù)據(jù)輸出速度(最低19.8 MB/s)的,所以DSP無(wú)法實(shí)時(shí)地從視頻流中抓出一幅完整的圖像。 因此,在DSP與SAA711lA的接口之間采用高速FIFO進(jìn)行緩沖的同時(shí),還采取了“隔行采樣”的方法來(lái)緩沖速度上的差異。通過(guò)計(jì)算得出DSP每隔4行有效視頻信號(hào)采1行視頻數(shù)據(jù)是合理的。(把DSP將獲取的數(shù)據(jù)存人其外部存儲(chǔ)器中所需要的時(shí)間考慮在內(nèi)。)
“隔行采樣”的結(jié)果會(huì)導(dǎo)致所獲取的圖像垂直分辨率下降(對(duì)于PAL制式視頻信號(hào)由原來(lái)的576行/幅下降到144行/幅)。為了保證圖像的分辨率,本設(shè)計(jì)中將每幅圖像分成連續(xù)的4次采樣.在連續(xù)的4次采樣中,分別抓取圖像中不同的144行數(shù)據(jù),也就是說(shuō),現(xiàn)在DSP抓取1幅完整幅面(720×576)大小的圖像需要分4次獲取,然后對(duì)數(shù)據(jù)重排組合得到完整的圖像。PAL制信號(hào)是按照50Hz的場(chǎng)頻對(duì)圖像進(jìn)行輸出的,即每秒種可以傳輸25幅圖像,現(xiàn)在由于“隔行采樣”的原因,DSP每秒鐘可以從PAL制信號(hào)中解碼出6.25幅完整幅面大小的圖像。這個(gè)速度完全可以滿足很多實(shí)時(shí)系統(tǒng)的要求,如視頻監(jiān)控系統(tǒng)。
“隔行采樣”功能的具體實(shí)現(xiàn)是由CPLD配合SAA7111A輸出的同步信號(hào)(行同步、場(chǎng)同步信號(hào))來(lái)完成的。由于IDT72V231(FIFO)的寫(xiě)入控制是通過(guò)WEN信號(hào)完成的,因此CPLD可以通過(guò)控制WEN信號(hào)來(lái)實(shí)現(xiàn)圖像的隔四行一采樣。具體WEN信號(hào)的產(chǎn)生邏輯如圖3所示。
由圖3可以清晰地看出,通過(guò)這種采樣方式以后,每次輸出的圖像行是隔4行輸出l行,而連續(xù)4次獲取的圖像則是一整幅圖像576行圖像數(shù)據(jù)中互不相同的144行數(shù)據(jù),這四部分圖像按照一定規(guī)律組合便可以得到一幅幅面為720×576像素的完整數(shù)宇圖像。
另外由圖3可以看出,SAA7111A每向FIFO中寫(xiě)入一行圖像數(shù)據(jù)(