CPLD EPM570在視頻采集中的設計與應用
1 引言
經濟的發展促使著人們不斷地提高安防意識,當傳統的本地模擬監控方式逐漸不能滿足某些行業大范圍、遠距離監控的需求,如銀行跨地區聯網監控時,通過網絡將圖像進行遠程傳輸的集中監控方式應運而生。
基于網絡的嵌入視頻監控系統按照功能可劃分為視頻采集、視頻壓縮、視頻傳輸三個模塊。隨著嵌入式處理器性能的不斷提高,基于軟件的壓縮技術逐漸取代了基于專用視頻壓縮芯片的硬件壓縮技術,成為了嵌入式視頻監控系統的發展主流。由于基于軟壓縮的系統中視頻數據的采集工作應盡可能少地占用處理器時間,使得處理器能將更多時間投入視頻壓縮算法,提高系統性能,因此視頻數據采集模塊效率高低、采集到的圖像分辨率大小將直接關系到整個視頻監控系統的效果與性能。
2 視頻采集結構
2.1 模數轉換
為了獲得更好的通用性,本系統選取CVBS(復合電視廣播信號)或者S-Video(亮色分離信號)作為視頻源輸入,采用性價比較高的Philips SAA7113作為視頻ADC。SAA7113具有4路模擬信號輸入,輸出8位數字信號VP0~VP7;輸出兩路參考信號RTS0~RTS1,通過FC總線設置內部寄存器可分別配置成水平參考信號(HREF)、垂直參考信號(VREF)或者奇偶場同步信號,需要指出的是SAA7113輸出的數字信號是以27 MHz的LLC時鐘為同步信號,即每個LLC周期內有1個字節輸出(下降沿有效)。我國采用的是50 Hz PAL電視信號,每秒25幀圖像,每幀625行,其中576行有效(當VREF為高電平時),每行864個像素,其中720個像素有效(當HREF為高電平時),即每幀圖像的實際分辨率為720×576。SAA7113按奇偶場輸出,每場288有效行,每行720有效像素,視頻格式按照YUV4:2:2,即每行1 440 Byte,每場405 KB,每幀810 KB。
2.2 視頻緩存
由于視頻數據不斷地輸出,如果讓處理器不間斷地讀取數據是不現實的,必須要有適當的緩存使得處理器經過一段時間后讀取緩存內的數據。SAA7113是以場為單位輸出視頻數據的,因此最合適的緩存大小為1場即405 KB。參考乒乓切換的思想,給出詳細的緩存設計結構。
如圖1所示,整個緩存結構由切換控制電路和兩塊8 bit 512 KB SRAM組成。奇數場時,切換控制電路將SAA7113輸出的視頻數據寫入奇場SRAM,同時處理器將取出緩存在偶場SARM中的偶場數據;偶數場時,將SAA7113輸出的視頻數據寫入偶場SRAM,同時處理器將取出緩存在奇場SRAM數據。切換控制電路可由標準邏輯構成,也可由CPLD或者FPGA編程實現,考慮到時序控制及成本問題,使用CPLD實現切換電路為最佳方案。
3 MAX II系列器件
Altera推出的MAX II器件系列基于突破性的新型CPLD架構,是目前業界成本最低的CPLD。MAX II器件還將成本和功耗優勢引入了高密度領域,使設計者可以采用MAX II器件替代高成本或高功耗的ASSP和標準邏輯器件。
3.1 MAX II器件優點
MAX II系列器件主要有以下優點:
成本優化的架構。四倍的密度,一半的價格(和上一代MAX器件相比)。以最小化裸片面積為目標的架構,業界單個I/O引腳成本最低;
低功耗。十分之一的功耗(和3.3 V MAX器件相比)。1.8 V內核電壓以減小功耗,提高可靠性。
支持內部時鐘頻率高達300 MHz:兩倍的性能(和3.3 V MAX器件相比);
內置用戶非易失性Flash存儲器。通過取代分立式非易失性存儲器件減少元件數;
實時在系統可編程能力(ISP)。器件在工作狀態時能夠下載第二個設計,降低遠程現場升級的成本;
片內電壓調整器支持3.3 V、2.5 V或1.8 V電源輸入。減少電源電壓種類,簡化單板設計;
多電壓提供能力和外部器件在1.5 V、1.8 V、2.5 V或3.3 V邏輯級的接口。施密特觸發器、回轉速率可編程以及驅動能力可編程提高了信號完整性。
Altera提供免費的Quartus II基礎版軟件,支持所有MAX II器件,它是基于MAX II器件引腳鎖定式裝配和性能優化而設計的。
3.2 EPM570T144C5
本系統采用的切換電路邏輯相對比較簡單,而所需要的GPIO較多,同時為了與SRAM及處理器電壓匹配,所以選用核心電壓3.3 V、144引腳(其中116個GPIO)的EPM570T144C5作為實現控制電路的CPLD。
EPM570T144C5內部有570個邏輯單元(Logic Element),相當于440個宏單元(Macrocell),此前常用的EPM7128只有128個宏單元。EPM570T144C5內部分為兩個I/O bank,共116個通用I/O,引腳延時為8.8ns。滿足系統的設計要求。
4 具體實現
本系統選用IS61LV5128AL為緩存使用的SRAM,該器件容量為8 bit 512 KB,有8條地址線(I/O0~I/O7)、19條地址線(A0~18)、片選使能CE(低電平有效)、輸出使能OE(低電平有效)、寫使能WE(低電平有效)。由于兩片SRAM需要一直工作,且當寫有效時(WE低電平)是輸出使能無效,所以CE與OE可一直保持低電平,寫控制由CPLD生成。
4.1 SRAM地址線控制
寫緩存的地址由LLC計數生成,但不是每個LLC都包含有效數據需要和HREF及VREF相與形成,在Quartus II中采用原理圖編輯方式對SRAM地址進行控制,具體如圖2所示。
圖2中主要包括2個19位計數器及4個19位三態緩沖門,其中HREF/VREF由SAA7113中的RTS0/RTS1配置形成,ODD(奇場指示信號)由VREF計數2分頻形成,EVEN(偶場指示信號)由ODD取反得到,這樣可免去對HREF計數,然后丟棄消隱行的過程,同時得到了HREF、VREF及ODD三個參考同步信號。圖中ODD_CS及EVEN_CS是由ODD及EVEN和CPU片選信號CS構成。奇數場時,偶場計數器清零,奇場計數器工作形成的地址通過緩沖門連接至奇場SRAM,同時若有CPU片選信號將會選通偶場SRAM,CPU的19位地址線將連接至偶場SRAM,偶數場時則反之。
4.2 SRAM數據控制
數據線控制電路主要由4個8位三態緩沖門組成,如圖3所示。其中VP0~VP7為SAA7113的8位數據輸出,其原理與地址線控制電路類似。寫控制電路由2個4輸入或門構成,其中nHREF及nVREF由HREF、VREF取非得到,實現只有在有效數據時才形成寫使能WE。
5 系統仿真
從圖4所示的Quartus II時序分析中可以看出LLC與ODD_nWE的延遲為8.8 ns,ODD_nWE與計數器生成的地址線的時間間隔為10 ns,即地址線的生成與LLC上升沿的時延為18.8 ns,由于LLC為27 MHz半個周期為18.5 ns,本系統設計正好滿足SAA7113輸出數據在LLC的下降沿開始有效。兩片SRAM地址信號SRAM0_Add、SRAM1_Add以及SRAM寫信號ODD_nWE、ENEN_nWE隨著場同步信號ODD交替出現,實現了高效的乒乓切換混存結構。
6 結束語
本文采用EPM570與兩片512 KB SRAM實現視頻采集系統,相較于采用雙口RAM、高速FIFO的緩存結構不僅價格低廉,能在時序上進行控制,還能獲得720×576的實際有效分辨率,緩存效率高,占用處理器資源少。為處理器進一步進行視頻壓縮提供了有力的保障。
評論