摘 要: 結合S5933和TMS320C6000 DSP設計了高速圖像處理硬件平臺,可適應和滿足利用PC機進行高速數(shù)據(jù)采集與處理設備的技術發(fā)展趨勢和應用需求。
關鍵詞: 前端數(shù)據(jù)采集;TMS320C6000系列DSP;PCI總線專用芯片;實時高速數(shù)字圖像處理
當前,在計算機、多媒體、數(shù)據(jù)通信和網(wǎng)絡技術的發(fā)展、應用和融合中,人們對計算機視頻應用的要求越來越高,這使得實時、高速、便捷、智能化、大容量的高性能數(shù)字圖像處理設備成為未來視頻設備的發(fā)展方向,這必然要求產生與之相適應的新理論、新方法和新算法。為了在利用和實現(xiàn)這些新技術的過程中驗證其可行性,突破高速DSP硬件設備的技術應用瓶頸,本文提出了一種基于PCI總線和TI公司C6000系列高端DSP芯片的高速數(shù)字圖像處理平臺設計方案,從硬件和軟件上解決了通過AMCC公司的S5933 PCI總線接口芯片,由CLPD作橋,實現(xiàn)與功能強大的 TMS320C6416 HPI主機接口的高速通信,為做進一步實時音視頻壓縮、圖像檢測、視覺定位、高速處理等算法研究提供了完整的實踐平臺。
1 系統(tǒng)硬件結構
TMS320C6000系列DSP是基于TMS320C6000平臺的32 bit浮點DSP處理器。它包含兩個子系列:用于定點計算的TMS320C62x系列和用于浮點計算的TMS320C67x系列。TMS320C6000系列時鐘頻率最高可達到250 MHz。該系列DSP包含兩個通用的寄存器組A和B,每組有16個32 bit的寄存器。芯片內含8個運算功能單元:兩個乘法器(M1和M2),6個算術邏輯單元(L1、L2、S1、S2、D1及D2),所有單元都能獨立并行操縱。以TM320C6701為例,其工作頻率最高為167 MHz,最快速度可達8×167=1 336 MIPS。
基于S5933的高速TMS320C6000 DSP圖像處理硬件平臺設計系統(tǒng)框圖如圖1所示。整個系統(tǒng)由前端數(shù)據(jù)采集、DSP和PCI總線專用芯片組成。
DSP芯片采用TI公司高性能數(shù)字信號處理器TMS320C6416,芯片采用哈佛結構、流水線操作、專用硬件乘法器、快速DSP指令。主頻可高達600 MHz~1 GHz,片內的RAM采用兩級高速緩存結構,程序和數(shù)據(jù)擁有獨立的緩存空間。片內提供多種集成外設;多通道的EMDA控制器、多信道帶緩沖能力的串口McBSP、32 bit通用計數(shù)器和I2C總線主/從模式接口等。
TMS320C6416的兩個獨立的外部數(shù)據(jù)總線接口EMIFA(64 bit)和EMIFB(32 bit)具有很高的數(shù)據(jù)吞吐率(最高能達到1 200 Mb/s),而且可以與目前幾乎所有類型的存儲器直接連接,完成數(shù)字圖像處理數(shù)據(jù)的大容量高速存儲。
前端采用兩路ADI公司的14 bit數(shù)/模轉換器AD6645(80/105 MSPS)通過SMA射頻端子進行高速數(shù)據(jù)采樣,其具有很高的無雜散動態(tài)范圍和過采樣性能,可以降低系統(tǒng)對前端射頻元器件的要求,從而降低系統(tǒng)的復雜性和生產成本。數(shù)據(jù)經(jīng)FPGA進行一定緩沖,或是進行FFT、濾波、去噪,再由64 bit的EMIFA接口發(fā)送到DSP進行編解碼處理、MPEG4壓縮等。最終,壓縮編碼后的視頻數(shù)據(jù)流可通過RS422將數(shù)據(jù)同步輸出或是由PCI總線發(fā)送給主機端保存或進行進一步驗證。
該平臺DSP片外提供大容量高速存儲器空間。用ISSI公司的SBSRAM(128 KB×32 bit)和HYNIX的SDRAM(4 MB×16 bit),外置4 MB的Flash,為預處理或是處理后的圖像數(shù)據(jù)提供可靠、充裕的暫存空間。SBSRAM和SDRAM均可由EMIFB進行無縫連接,為硬件的實現(xiàn)帶來了很大的便利。
PCI部分采用目前較常用的AMCC公司S5933接口芯片,它是一種功能強且使用靈活的PCI總線控制器專用芯片。該芯片符合PCI局部總線規(guī)范2.1版本,既可作為PCI總線目標設備,實現(xiàn)基本的傳送要求,也可作為PCI總線主控設備,訪問其他PCI總線設備。S5933的峰值傳送速率為132 Mb/s(32 bit PCI數(shù)據(jù)總線)。
S5933外部提供了3個物理總線:PCI總線接口、外加總線接口(Add_On Bus)和可選的NVRAM接口。用戶可根據(jù)需要設計S5933與外加總線接口相連接的邏輯電路和配置空間的初始化,而不必考慮PCI總線規(guī)范的眾多協(xié)議,從而將復雜的PCI總線接口關系轉化為簡單的8 bit/16 bit/32 bit外加總線接口關系。
S5933硬件結構及外部連接圖如圖2所示。主機端通過32 bit PCI總線與S5933進行數(shù)據(jù)傳輸,再由CPLD做內部狀態(tài)機,負責DSP端HPI(Host-Port Interface)接口的時序控制,使DSP與主機端進行16 bit/32 bit的數(shù)據(jù)交互。
主機接口HPI是TI高性能DSP上配置的與主機進行通信的片內外設。通過HPI接口,主機可以非常方便地訪問DSP的所有地址空間,從而實現(xiàn)對DSP的控制。例如,TMS320C6421的HPI接口是一個16 bit寬的并行端口。主機(Host)對CPU地址空間的訪問是通過EDMA控制器實現(xiàn)的。HPI接口的訪問主要通過HPI控制寄存器(HPIC)、HPI地址寄存器(HPIA)和HPI數(shù)據(jù)寄存器(HPID)三個專用寄存器來實現(xiàn)。
另一方面,CPLD掛載在EMIFB上,進行DSP端存儲器映射,從而使DSP可以通過Add_On Bus接口實現(xiàn)對S5933內部FIFO或Mailbox的控制,達到與主機端進行命令或狀態(tài)信息的通信。
2 系統(tǒng)軟件實現(xiàn)