鄧健志,程小輝
(桂林理工大學,廣西 桂林 541004)
視頻采集系統逐步在各行各業中得到應用,數據視頻終端使用得越來越多,而目前已有前段獲取的模擬視頻信號,因此還需要將其轉換為數字視頻信號。視頻采集已經有了一些專用的芯片。由于FPGA的出現,使用者可以設計定制滿足自身需要的IP核芯片。本文就是設計了一種基于TSK3000A的視頻采集系統IP核,并在NB2開發驗證平臺上,對設計進行驗證。
該設計的系統可以將模擬視頻信號轉化成數字視頻信號,并在LCD屏顯示出來。系統由5部分組成:視頻采集模塊、控制模塊、顯示模塊、存儲器和電源。系統結構如圖1所示。系統可以通過視頻采集模塊的視頻信號接口,接收來自模擬攝像頭、模擬有線電視信號等NTSC或PAL格式的模擬視頻信號,并利用視頻信號解碼器,將模擬信號轉化成相應的數字信號。然后,將該數字信號傳送給微控制器模塊,由該模塊對此數字視頻信號進行一系列處理之后,轉化成RGB數字信號,并輸出給顯示模塊。
其中,視頻采集模塊核心是TVP5150。TVP5150是TI公司推出的低功耗視頻解碼器,可以用于將NTSC和PAL格式的視頻信號轉換成8 bit的ITU-R BT656格式。ITU-R BT656是國際電信聯盟無線電通信部門提出的視頻標準。

ITU-RBT.601是“演播室數字電視編碼參數”標準,而ITU-R BT.656則是該標準中的數字接口標準,用于數字視頻設備之間的27 MHz的并口或者243 Mbit/s串行接口的數字傳輸接口標準,被廣泛用于數字電視、PDA、移動電話以及各類便攜式視頻終端。
開發驗證平臺采用的是Altium Designer公司制作的芯片級開發驗證平臺NanoBoard 2(簡稱NB2),帶有豐富的資源:TFT 觸摸屏、可編程時鐘、RS-232、CAN、PS/2、AD/DA轉換、大容量SRAM和Flash、JTAG接頭兼容、USB 2.0、I2C,另外還帶有音/視頻外設板,CF、SD、ATA的存儲外設板,以太網接口、IrDA數據通信外設板。很適合與Altium Designer一體化電子設計系統無縫協作,進行可編程器件快速的系統開發和實現[1-2]。
TSK3000A是采用哈弗架構的32位RISC微處理器,專門設計用于在FPGA上搭建一個32位平臺,有32×32位的硬件乘法器和除法器,尋址空間達到了4 Gbyte,可以很方便的將8位或者32位的系統移植上去。TSK3000A所有的指令都是32位的,支持5線程的處理方式,且每條指令都可以在1個時鐘周期執行完畢,有著非常好的處理性能。并且TSK3000A的IP核可以非常方便的與Wishbone并行總線。
Wishbone總線由Silicore公司提出,現由OpenCores組織維護,用于在IP核之間建立一個通用接口。Wish?bone地址和數據都是32位總線,且支持小于32位的地址數據通信。Wishbone總線最多可以連接8個主設備,16個從設備。當多個主設備同時申請控制時,由仲裁機制決定各主設備如何訪問共享總線。Wishbone總線作為免費的IP核接口規范,簡單、開放、高效、利于實現。
該設計采用了基于Openbus的系統設計方式,在FPGA軟核設計時采用Openbus,可以更方便的實現處理器IP核與外設IP核之間的連接。在設計時,Openbus設計類似普通的原理圖設計方式,但是將復雜的信號連接轉化成設備單線輸入輸出的連接,省去了很多配置的過程,簡化了FPGA的設計。
設計中的控制模塊IP核主要由微控制器IP核與外設控制IP核組成,IP核的連接主要是采用Wishbone總線的設計模式。該設計基于Openbus的控制模塊IP核原理圖,如圖2所示。TSK3000A是32位的RISC微處理器IP核,INTERCON1和INTERCON2是Wishbone多從設備并行總線IP核,MASTER1和MASTER2是基于Wishbone多主設備并行總線IP核,PRTIO是符合Wishbone總線標準的并行接口IP核,I2CM是I2C總機控制器IP核,BT656是視頻采集控制器接口IP核,MEM_CTRL_1和MEM_CTRL_2是基于Wishbone總線的存儲器控制器IP核,TFT是TFT液晶控制器IP核。
TSK3000A提供了到存儲器和其他通用I/O設備的接口,通過Wishbone并行總線與存儲器接口IP核以及其他外設控制器IP核相連。

INTERCON1和INTERCON2是基于Wishbone多從設備并行總線wb_intercon的IP核。用于微處理器IP核與多個從設備IP核相連。在設計中,INTER?CON1連接了Wishbone總線的通用并行接口PRTIO,I2C總機控制器I2CM,視頻采集控制器接口BT656和液晶控制器TFT。INTERCON2連接了外部存儲器控制IP核。
MASTER核是基于Wishbone多主機并行總線wb_multmaster的IP核,用于將從設備與多個主設備相連接。
PRTIO是符合Wishbone總線的并行接口IP核,主要用于連接存儲器以及一些通用IO設備。
I2CM是I2C總機控制器,用于微控制器與I2C總線設備的連接。I2C總線是兩線串行總線標準,一條是串行數據線SDA,一條是串行時鐘線SCL。帶有數據沖突檢測和仲裁功能,支持多主機總線,用于連接微控制器及其外設。
BT656視頻采集控制器接口用于連接NB2板上的TVP5150,將輸入的S-Video和composite video的信號轉換成ITU-R BT656格式的數據,并將BT656數據流轉換成存儲器鏡像文件以保存在外部存儲器,以便稍后讀取或顯示。
TFT控制器IP核提供了1個微控制器TSK3000A到TFT真彩LCD屏的32位數據接口,可以從外部存儲器獲取16 bit/pixel的視頻數據,刷新率可以達到50 MHz。
設計采用TSK3000A微處理器,需要設置微處理器的工作模式:內部存儲器2 k×32 bit,選擇使用處理器內部硬件乘法/除法單元MDU,并采用基于JTAG接口的片上調試系統,如圖3所示。

TSK3000A的I/O功能口地址空間映射設置如下:

TSK3000A外部存儲器的地址空間映射設置如下:

系統外部擴展了3片存儲器,采用的是Samsung公司的K6R40系列SRAM,分別用作視頻顯示數據和視頻采集數據的存儲,對應的控制器IP核是Mem_Ctrl_1和Mem_Ctrl_2。
視頻顯示存儲器控制器IP核Mem_Ctrl_1設置為:存儲器類型為異步SRAM,存儲空間為1 Mbyte,數據總線寬度為16 bit。系統時鐘設置為50 MHz,存儲器讀時鐘為2個時鐘周期;寫時鐘為1個時鐘周期。
視頻采集存儲器控制器IP核Mem_Ctrl_2設置為:存儲器類型為異步SRAM,存儲空間為1 Mbyte,數據總線寬度為16 bit。存儲器讀時鐘為2個時鐘周期;寫時鐘為1個時鐘周期。
系統的IP核需下載到FPGA內,FPGA外部電路如圖4所示。RST通過1個非門連接NB2上的測試按鍵,CLK連接外部時鐘源,PRTIO連接1組LED燈,BT656與I2CM連接TVP5150視頻采集模塊,TFT連接NB2上液晶顯示模塊,MEM_CTRL_1_MEM0和MEM_CTRL_1_MEM1連接2片視頻采集SRAM,MEM_CTRL_2連接1片視頻顯示數據SRAM[3-4]。

Constraint是FPGA工程的約束文件,指定了FPGA的目標器件、引腳I/O設置和端口映射等。在FPGA工程編譯、綜合時,綜合器需要通過約束文件對FPGA內部硬件電路進行布局布線,以使電路能夠工作。
設計采用Altium Designer 09和NB2板,在完成原理圖編譯后,系統會自動加載4個約束文件:NB2母板約束文件 NB2DSK01_08_DB30_06_MAPING 和 NB2DSK01_08、Xilinx子板約束文件DB30.06、音頻/視頻外設板約束文件PB01.07。
另外,還要添加1個時序約束文件,用于定義FPGA的時鐘頻率,即給設置為CLK_BRD的IO端口設置1個50 MHz的時鐘。該文件如下:
Record=Constraint|TargetKind=Port|TargetId=CLK_BRD|FP?GA_CLOCK_FREQUENCY=50 MHz
該設計中,視頻數據的處理,主要通過硬件IP核的功能實現,因此軟件設計方面較為簡單。存儲器映射通過Hardware.h設置各部分所使用的存儲器空間的起始地址和空間大小。

在主函數中,首先定義了屏幕的分辨力、中心,存儲器堆棧設置,處理器時鐘,初始化TFT、I2C總線、視頻采集模塊等。此外,顯示視頻數據時,采用逐行逐點掃描顯示的方式,對應代碼為:

NB2的XILINX子板采用的FPGA器件是Spartan-3系列的XC3S1500-4FG676C FPGA,該芯片有15×106個邏輯門,26624 個邏輯單元,487個用戶自定義I/O,208 kbit的distributed Ram和576 kbit的block ram,32個dedicated mulitiplier等。在該設計使用的芯片資源有:205個I/O,5個Ramb16s,共6025 個邏輯門等,如圖5所示。

設計采用的是Hitachi公司分辨力為240×320的TX09D50的TFT真彩屏,在視頻采集端接入機頂盒輸出的模擬電視信號,顯示效果如圖6所示。

該設計介紹了基于TSK3000A的視頻采集系統IP核。設計采用了32位微控制器TSK3000A、通用Wish?bone總線規范IP核和BT656視頻標準等。在FPGA軟核設計方面,采用了基于Openbus總線的系統設計方式。在Xilinx公司的Spartan-3系列FPGA芯片上下載實現,并接入NB2平臺平臺進行驗證。設計的系統可以將輸入的模擬視頻信號處理之后顯示在TFT真彩LCD屏上,圖像清晰,系統穩定,可移植性好,設計周期短[5]。
[1]鄧健志,程小輝.礦山救援系統的人機接口設計[J].煤礦機械,2008,29(3):188-190.
[2]焦國勝,秦會斌.嵌入式視頻采集與顯示系統設計[J].杭州電子科技大學學報,2011(6):14-17.
[3]李昌峻.基于SOPC的視頻采集系統設計[J].電子元器件應用,2008(1):32-34.
[4]王凱.基于TVP5150的視頻LCD顯示設計[J].電子設計工程,2011(1):178-182.
[5]Texas Instruments.TVP5150A/TVP5150AM1DataManual[EB/OL].[2011-07-20].http://www.docin.com/p-13852338.html.