鄧健志,程小輝
(桂林理工大學(xué),廣西 桂林 541004)
視頻采集系統(tǒng)逐步在各行各業(yè)中得到應(yīng)用,數(shù)據(jù)視頻終端使用得越來(lái)越多,而目前已有前段獲取的模擬視頻信號(hào),因此還需要將其轉(zhuǎn)換為數(shù)字視頻信號(hào)。視頻采集已經(jīng)有了一些專用的芯片。由于FPGA的出現(xiàn),使用者可以設(shè)計(jì)定制滿足自身需要的IP核芯片。本文就是設(shè)計(jì)了一種基于TSK3000A的視頻采集系統(tǒng)IP核,并在NB2開發(fā)驗(yàn)證平臺(tái)上,對(duì)設(shè)計(jì)進(jìn)行驗(yàn)證。
該設(shè)計(jì)的系統(tǒng)可以將模擬視頻信號(hào)轉(zhuǎn)化成數(shù)字視頻信號(hào),并在LCD屏顯示出來(lái)。系統(tǒng)由5部分組成:視頻采集模塊、控制模塊、顯示模塊、存儲(chǔ)器和電源。系統(tǒng)結(jié)構(gòu)如圖1所示。系統(tǒng)可以通過視頻采集模塊的視頻信號(hào)接口,接收來(lái)自模擬攝像頭、模擬有線電視信號(hào)等NTSC或PAL格式的模擬視頻信號(hào),并利用視頻信號(hào)解碼器,將模擬信號(hào)轉(zhuǎn)化成相應(yīng)的數(shù)字信號(hào)。然后,將該數(shù)字信號(hào)傳送給微控制器模塊,由該模塊對(duì)此數(shù)字視頻信號(hào)進(jìn)行一系列處理之后,轉(zhuǎn)化成RGB數(shù)字信號(hào),并輸出給顯示模塊。
其中,視頻采集模塊核心是TVP5150。TVP5150是TI公司推出的低功耗視頻解碼器,可以用于將NTSC和PAL格式的視頻信號(hào)轉(zhuǎn)換成8 bit的ITU-R BT656格式。ITU-R BT656是國(guó)際電信聯(lián)盟無(wú)線電通信部門提出的視頻標(biāo)準(zhǔn)。
ITU-RBT.601是“演播室數(shù)字電視編碼參數(shù)”標(biāo)準(zhǔn),而ITU-R BT.656則是該標(biāo)準(zhǔn)中的數(shù)字接口標(biāo)準(zhǔn),用于數(shù)字視頻設(shè)備之間的27 MHz的并口或者243 Mbit/s串行接口的數(shù)字傳輸接口標(biāo)準(zhǔn),被廣泛用于數(shù)字電視、PDA、移動(dòng)電話以及各類便攜式視頻終端。
開發(fā)驗(yàn)證平臺(tái)采用的是Altium Designer公司制作的芯片級(jí)開發(fā)驗(yàn)證平臺(tái)NanoBoard 2(簡(jiǎn)稱NB2),帶有豐富的資源:TFT 觸摸屏、可編程時(shí)鐘、RS-232、CAN、PS/2、AD/DA轉(zhuǎn)換、大容量SRAM和Flash、JTAG接頭兼容、USB 2.0、I2C,另外還帶有音/視頻外設(shè)板,CF、SD、ATA的存儲(chǔ)外設(shè)板,以太網(wǎng)接口、IrDA數(shù)據(jù)通信外設(shè)板。很適合與Altium Designer一體化電子設(shè)計(jì)系統(tǒng)無(wú)縫協(xié)作,進(jìn)行可編程器件快速的系統(tǒng)開發(fā)和實(shí)現(xiàn)[1-2]。
TSK3000A是采用哈弗架構(gòu)的32位RISC微處理器,專門設(shè)計(jì)用于在FPGA上搭建一個(gè)32位平臺(tái),有32×32位的硬件乘法器和除法器,尋址空間達(dá)到了4 Gbyte,可以很方便的將8位或者32位的系統(tǒng)移植上去。TSK3000A所有的指令都是32位的,支持5線程的處理方式,且每條指令都可以在1個(gè)時(shí)鐘周期執(zhí)行完畢,有著非常好的處理性能。并且TSK3000A的IP核可以非常方便的與Wishbone并行總線。
Wishbone總線由Silicore公司提出,現(xiàn)由OpenCores組織維護(hù),用于在IP核之間建立一個(gè)通用接口。Wish?bone地址和數(shù)據(jù)都是32位總線,且支持小于32位的地址數(shù)據(jù)通信。Wishbone總線最多可以連接8個(gè)主設(shè)備,16個(gè)從設(shè)備。當(dāng)多個(gè)主設(shè)備同時(shí)申請(qǐng)控制時(shí),由仲裁機(jī)制決定各主設(shè)備如何訪問共享總線。Wishbone總線作為免費(fèi)的IP核接口規(guī)范,簡(jiǎn)單、開放、高效、利于實(shí)現(xiàn)。
該設(shè)計(jì)采用了基于Openbus的系統(tǒng)設(shè)計(jì)方式,在FPGA軟核設(shè)計(jì)時(shí)采用Openbus,可以更方便的實(shí)現(xiàn)處理器IP核與外設(shè)IP核之間的連接。在設(shè)計(jì)時(shí),Openbus設(shè)計(jì)類似普通的原理圖設(shè)計(jì)方式,但是將復(fù)雜的信號(hào)連接轉(zhuǎn)化成設(shè)備單線輸入輸出的連接,省去了很多配置的過程,簡(jiǎn)化了FPGA的設(shè)計(jì)。
設(shè)計(jì)中的控制模塊IP核主要由微控制器IP核與外設(shè)控制IP核組成,IP核的連接主要是采用Wishbone總線的設(shè)計(jì)模式。該設(shè)計(jì)基于Openbus的控制模塊IP核原理圖,如圖2所示。TSK3000A是32位的RISC微處理器IP核,INTERCON1和INTERCON2是Wishbone多從設(shè)備并行總線IP核,MASTER1和MASTER2是基于Wishbone多主設(shè)備并行總線IP核,PRTIO是符合Wishbone總線標(biāo)準(zhǔn)的并行接口IP核,I2CM是I2C總機(jī)控制器IP核,BT656是視頻采集控制器接口IP核,MEM_CTRL_1和MEM_CTRL_2是基于Wishbone總線的存儲(chǔ)器控制器IP核,TFT是TFT液晶控制器IP核。
TSK3000A提供了到存儲(chǔ)器和其他通用I/O設(shè)備的接口,通過Wishbone并行總線與存儲(chǔ)器接口IP核以及其他外設(shè)控制器IP核相連。
INTERCON1和INTERCON2是基于Wishbone多從設(shè)備并行總線wb_intercon的IP核。用于微處理器IP核與多個(gè)從設(shè)備IP核相連。在設(shè)計(jì)中,INTER?CON1連接了Wishbone總線的通用并行接口PRTIO,I2C總機(jī)控制器I2CM,視頻采集控制器接口BT656和液晶控制器TFT。INTERCON2連接了外部存儲(chǔ)器控制IP核。
MASTER核是基于Wishbone多主機(jī)并行總線wb_multmaster的IP核,用于將從設(shè)備與多個(gè)主設(shè)備相連接。
PRTIO是符合Wishbone總線的并行接口IP核,主要用于連接存儲(chǔ)器以及一些通用IO設(shè)備。
I2CM是I2C總機(jī)控制器,用于微控制器與I2C總線設(shè)備的連接。I2C總線是兩線串行總線標(biāo)準(zhǔn),一條是串行數(shù)據(jù)線SDA,一條是串行時(shí)鐘線SCL。帶有數(shù)據(jù)沖突檢測(cè)和仲裁功能,支持多主機(jī)總線,用于連接微控制器及其外設(shè)。
BT656視頻采集控制器接口用于連接NB2板上的TVP5150,將輸入的S-Video和composite video的信號(hào)轉(zhuǎn)換成ITU-R BT656格式的數(shù)據(jù),并將BT656數(shù)據(jù)流轉(zhuǎn)換成存儲(chǔ)器鏡像文件以保存在外部存儲(chǔ)器,以便稍后讀取或顯示。
TFT控制器IP核提供了1個(gè)微控制器TSK3000A到TFT真彩LCD屏的32位數(shù)據(jù)接口,可以從外部存儲(chǔ)器獲取16 bit/pixel的視頻數(shù)據(jù),刷新率可以達(dá)到50 MHz。
設(shè)計(jì)采用TSK3000A微處理器,需要設(shè)置微處理器的工作模式:內(nèi)部存儲(chǔ)器2 k×32 bit,選擇使用處理器內(nèi)部硬件乘法/除法單元MDU,并采用基于JTAG接口的片上調(diào)試系統(tǒng),如圖3所示。
TSK3000A的I/O功能口地址空間映射設(shè)置如下:
TSK3000A外部存儲(chǔ)器的地址空間映射設(shè)置如下:
系統(tǒng)外部擴(kuò)展了3片存儲(chǔ)器,采用的是Samsung公司的K6R40系列SRAM,分別用作視頻顯示數(shù)據(jù)和視頻采集數(shù)據(jù)的存儲(chǔ),對(duì)應(yīng)的控制器IP核是Mem_Ctrl_1和Mem_Ctrl_2。
視頻顯示存儲(chǔ)器控制器IP核Mem_Ctrl_1設(shè)置為:存儲(chǔ)器類型為異步SRAM,存儲(chǔ)空間為1 Mbyte,數(shù)據(jù)總線寬度為16 bit。系統(tǒng)時(shí)鐘設(shè)置為50 MHz,存儲(chǔ)器讀時(shí)鐘為2個(gè)時(shí)鐘周期;寫時(shí)鐘為1個(gè)時(shí)鐘周期。
視頻采集存儲(chǔ)器控制器IP核Mem_Ctrl_2設(shè)置為:存儲(chǔ)器類型為異步SRAM,存儲(chǔ)空間為1 Mbyte,數(shù)據(jù)總線寬度為16 bit。存儲(chǔ)器讀時(shí)鐘為2個(gè)時(shí)鐘周期;寫時(shí)鐘為1個(gè)時(shí)鐘周期。
系統(tǒng)的IP核需下載到FPGA內(nèi),F(xiàn)PGA外部電路如圖4所示。RST通過1個(gè)非門連接NB2上的測(cè)試按鍵,CLK連接外部時(shí)鐘源,PRTIO連接1組LED燈,BT656與I2CM連接TVP5150視頻采集模塊,TFT連接NB2上液晶顯示模塊,MEM_CTRL_1_MEM0和MEM_CTRL_1_MEM1連接2片視頻采集SRAM,MEM_CTRL_2連接1片視頻顯示數(shù)據(jù)SRAM[3-4]。
Constraint是FPGA工程的約束文件,指定了FPGA的目標(biāo)器件、引腳I/O設(shè)置和端口映射等。在FPGA工程編譯、綜合時(shí),綜合器需要通過約束文件對(duì)FPGA內(nèi)部硬件電路進(jìn)行布局布線,以使電路能夠工作。
設(shè)計(jì)采用Altium Designer 09和NB2板,在完成原理圖編譯后,系統(tǒng)會(huì)自動(dòng)加載4個(gè)約束文件:NB2母板約束文件 NB2DSK01_08_DB30_06_MAPING 和 NB2DSK01_08、Xilinx子板約束文件DB30.06、音頻/視頻外設(shè)板約束文件PB01.07。
另外,還要添加1個(gè)時(shí)序約束文件,用于定義FPGA的時(shí)鐘頻率,即給設(shè)置為CLK_BRD的IO端口設(shè)置1個(gè)50 MHz的時(shí)鐘。該文件如下:
Record=Constraint|TargetKind=Port|TargetId=CLK_BRD|FP?GA_CLOCK_FREQUENCY=50 MHz
該設(shè)計(jì)中,視頻數(shù)據(jù)的處理,主要通過硬件IP核的功能實(shí)現(xiàn),因此軟件設(shè)計(jì)方面較為簡(jiǎn)單。存儲(chǔ)器映射通過Hardware.h設(shè)置各部分所使用的存儲(chǔ)器空間的起始地址和空間大小。
在主函數(shù)中,首先定義了屏幕的分辨力、中心,存儲(chǔ)器堆棧設(shè)置,處理器時(shí)鐘,初始化TFT、I2C總線、視頻采集模塊等。此外,顯示視頻數(shù)據(jù)時(shí),采用逐行逐點(diǎn)掃描顯示的方式,對(duì)應(yīng)代碼為:
NB2的XILINX子板采用的FPGA器件是Spartan-3系列的XC3S1500-4FG676C FPGA,該芯片有15×106個(gè)邏輯門,26624 個(gè)邏輯單元,487個(gè)用戶自定義I/O,208 kbit的distributed Ram和576 kbit的block ram,32個(gè)dedicated mulitiplier等。在該設(shè)計(jì)使用的芯片資源有:205個(gè)I/O,5個(gè)Ramb16s,共6025 個(gè)邏輯門等,如圖5所示。
設(shè)計(jì)采用的是Hitachi公司分辨力為240×320的TX09D50的TFT真彩屏,在視頻采集端接入機(jī)頂盒輸出的模擬電視信號(hào),顯示效果如圖6所示。
該設(shè)計(jì)介紹了基于TSK3000A的視頻采集系統(tǒng)IP核。設(shè)計(jì)采用了32位微控制器TSK3000A、通用Wish?bone總線規(guī)范IP核和BT656視頻標(biāo)準(zhǔn)等。在FPGA軟核設(shè)計(jì)方面,采用了基于Openbus總線的系統(tǒng)設(shè)計(jì)方式。在Xilinx公司的Spartan-3系列FPGA芯片上下載實(shí)現(xiàn),并接入NB2平臺(tái)平臺(tái)進(jìn)行驗(yàn)證。設(shè)計(jì)的系統(tǒng)可以將輸入的模擬視頻信號(hào)處理之后顯示在TFT真彩LCD屏上,圖像清晰,系統(tǒng)穩(wěn)定,可移植性好,設(shè)計(jì)周期短[5]。
[1]鄧健志,程小輝.礦山救援系統(tǒng)的人機(jī)接口設(shè)計(jì)[J].煤礦機(jī)械,2008,29(3):188-190.
[2]焦國(guó)勝,秦會(huì)斌.嵌入式視頻采集與顯示系統(tǒng)設(shè)計(jì)[J].杭州電子科技大學(xué)學(xué)報(bào),2011(6):14-17.
[3]李昌峻.基于SOPC的視頻采集系統(tǒng)設(shè)計(jì)[J].電子元器件應(yīng)用,2008(1):32-34.
[4]王凱.基于TVP5150的視頻LCD顯示設(shè)計(jì)[J].電子設(shè)計(jì)工程,2011(1):178-182.
[5]Texas Instruments.TVP5150A/TVP5150AM1DataManual[EB/OL].[2011-07-20].http://www.docin.com/p-13852338.html.