基于FPGA和多DSP的多總線(xiàn)并行處理器設(shè)計(jì)
2.8系統(tǒng)總線(xiàn)設(shè)計(jì)
為了充分發(fā)揮系統(tǒng)多CPU工作性能,系統(tǒng)除了基于FPGA的EMIF總線(xiàn)外,還冗余設(shè)計(jì)了HPI,SPI和I2C總線(xiàn),用于DSP之間的信息傳遞,控制與程序加載等。如圖所示多總線(xiàn)結(jié)構(gòu)如圖1。
圖5 系統(tǒng)時(shí)鐘設(shè)計(jì)圖
2.8.1 HPI主機(jī)接口
系統(tǒng)HPI (hardware platform interface)是一個(gè)16 b寬度的對(duì)外接口,主要用于主處理器DSP通過(guò)HPI向附DSP加載程序及對(duì)附DSP進(jìn)行控制,F(xiàn)PGA也可以通過(guò)HPI向主DSP加載程序或?qū)懭氪幚淼臄?shù)據(jù)或通過(guò)HPI讀取DSP處理完的數(shù)據(jù),DSP之間的數(shù)據(jù)可以通過(guò)HPI由主處理器進(jìn)行中轉(zhuǎn)。由于通信效率較低.HPl只用于系統(tǒng)初始化時(shí)主DSP通過(guò)向從DSP加載應(yīng)用程序。
2.8.2 SPI高速同步串行口
SPI (Serial Peripheral interface)高速同步串行口是一種標(biāo)準(zhǔn)的四線(xiàn)同步雙向串行總線(xiàn)。SPI接口主要應(yīng)用于實(shí)時(shí)時(shí)鐘,AD轉(zhuǎn)換器,還有數(shù)字信號(hào)處理器和FPGA之間,實(shí)現(xiàn)數(shù)據(jù)與控制信息傳輸。
SPI模塊為了和外設(shè)進(jìn)行數(shù)據(jù)交換,根據(jù)外設(shè)工作要求,其輸出串行同步時(shí)鐘極性和相位町以進(jìn)行配置,SPI主模塊和與之通信的外設(shè)時(shí)鐘相位和極性應(yīng)該一致。SPI接口如圖1所示。
2.8.3 I2C總線(xiàn)
I2C總線(xiàn)最主要的優(yōu)點(diǎn)是其簡(jiǎn)單性和有效性??偩€(xiàn)長(zhǎng)度可高達(dá)25英尺,能以lOkbps的最大傳輸速率支持40個(gè)組件,且支持多主控( multimastering),其中任何能夠進(jìn)行發(fā)送和接收的設(shè)備都可以成為主總線(xiàn)。一個(gè)主控能夠控制信號(hào)的傳輸和時(shí)鐘頻率。當(dāng)然,在任何時(shí)間點(diǎn)上只能有一個(gè)主控。本系統(tǒng)設(shè)計(jì)用于系統(tǒng)信息的廣播式傳遞和多向控制。
2.8.4 FPGA內(nèi)部FIFO設(shè)計(jì)
FIFO (First In First Out)是一種先進(jìn)先出的數(shù)據(jù)緩存器,無(wú)需外部讀寫(xiě)地址線(xiàn),使用起來(lái)非常簡(jiǎn)單,但只能順序?qū)懭霐?shù)據(jù),順序的讀出數(shù)據(jù),其數(shù)據(jù)地址由內(nèi)部讀寫(xiě)指針自動(dòng)加1完成。本系統(tǒng)利用FIFO完成GPGA與DSP等其他處理器之間的數(shù)據(jù)與控制信息交換,分為數(shù)據(jù)FIFO與控制FIFO兩種。
系統(tǒng)用FPGA自己實(shí)現(xiàn)一個(gè)FIFO,主要設(shè)計(jì)的參數(shù)包括:①FIFO的寬度,即FIFO -次讀寫(xiě)操作的數(shù)據(jù)位;②FIFO的深度,指FIFO可以存儲(chǔ)多少個(gè)N位的數(shù)據(jù)(如果寬度為N);③滿(mǎn)標(biāo)志:FIFO已滿(mǎn)或?qū)⒁獫M(mǎn)時(shí)由FIFO的狀態(tài)電路送出的一個(gè)信號(hào),以阻止FIFO的寫(xiě)操作繼續(xù)向FIFO中寫(xiě)數(shù)據(jù)而造成溢出( overflow);④空標(biāo)志:FIFO已空或?qū)⒁諘r(shí)由FIFO的狀態(tài)電路送出的一個(gè)信號(hào),以阻止FIFO的讀操作繼續(xù)從FIFO中讀出數(shù)據(jù)而造成無(wú)效數(shù)據(jù)的讀出(underflow),⑤讀時(shí)鐘:讀操作所遵循的時(shí)鐘,在每個(gè)時(shí)鐘沿來(lái)臨時(shí)讀數(shù)據(jù);⑥寫(xiě)時(shí)鐘:寫(xiě)操作所遵循的時(shí)鐘,在每個(gè)時(shí)鐘沿來(lái)臨時(shí)寫(xiě)數(shù)據(jù);⑦讀指針:指向下一個(gè)讀出地址。讀完后自動(dòng)加1;⑧寫(xiě)指針:指向下一個(gè)要寫(xiě)入的地址的,寫(xiě)完自動(dòng)加1。讀寫(xiě)指針其實(shí)就是讀寫(xiě)的地址,只不過(guò)這個(gè)地址不能任意選擇,而是連續(xù)的。
2.9工作模式
按照樣機(jī)功能,給出系統(tǒng)的工作流程圖6.其中,系統(tǒng)檢測(cè)主要包括數(shù)據(jù)采集系統(tǒng)檢測(cè)與各部分CPU的通信檢測(cè),用檢測(cè)數(shù)據(jù)校驗(yàn)系統(tǒng)采集與通信是否正確,再判斷是否正式進(jìn)入工作模式,目標(biāo)檢測(cè)有FPGA內(nèi)設(shè)計(jì)的信號(hào)預(yù)警檢測(cè)器完成目標(biāo)有無(wú)得判斷,在考慮是否進(jìn)行方向角的檢測(cè),否則按預(yù)定設(shè)定進(jìn)入周期性休眠狀態(tài)。
圖6 系統(tǒng)的工作流程圖
3 系統(tǒng)樣機(jī)及測(cè)試實(shí)驗(yàn)
通過(guò)設(shè)計(jì)樣機(jī)的多目標(biāo)方位估計(jì)與識(shí)別實(shí)驗(yàn)檢測(cè)了系統(tǒng)運(yùn)算性能。設(shè)計(jì)的實(shí)船噪聲數(shù)據(jù)的多目標(biāo)識(shí)別實(shí)驗(yàn)主要通過(guò)樣機(jī)多目標(biāo)識(shí)別軟件對(duì)三類(lèi)實(shí)船噪聲數(shù)據(jù)的特征提取、構(gòu)建和基于支持向量分類(lèi)器的識(shí)別能力?;谥С窒蛄繖C(jī)的多目標(biāo)識(shí)別實(shí)驗(yàn)結(jié)果表明,系統(tǒng)可以進(jìn)行實(shí)船噪聲數(shù)據(jù)的識(shí)別計(jì)算,單DSP工作模式的目標(biāo)識(shí)別時(shí)間不超過(guò)860ms,3個(gè)DSP并行工作的運(yùn)算時(shí)間小于360ms。
4 結(jié)論
本文設(shè)計(jì)的基于FPGA和3片DSP的目標(biāo)識(shí)別與定值并行處理器,采用多CPU設(shè)計(jì),通過(guò)設(shè)計(jì)并行處理結(jié)構(gòu)和數(shù)據(jù)傳輸總線(xiàn)模式。充分利用FPGA與DSP計(jì)算和邏輯處理的優(yōu)點(diǎn),解決了目標(biāo)識(shí)別與分類(lèi)的計(jì)算難題,使得基于盲信號(hào)方法和支持向量機(jī)技術(shù)的多目標(biāo)分類(lèi)與定位技術(shù)得以在水雷引信中實(shí)現(xiàn),通過(guò)引信樣機(jī)系統(tǒng)與通信測(cè)試實(shí)驗(yàn)獲得的系統(tǒng)各部分工作參數(shù)表明,系統(tǒng)工作狀態(tài)達(dá)到了設(shè)計(jì)目的,各模塊工作正常,模塊間的通信可靠,可以進(jìn)行引信樣機(jī)多目標(biāo)方位監(jiān)測(cè)與識(shí)別實(shí)驗(yàn),實(shí)際測(cè)試的系統(tǒng)內(nèi)部數(shù)據(jù)傳輸速度達(dá)到100M,系統(tǒng)最大處理能力可以達(dá)到7200MIPS。改進(jìn)了傳統(tǒng)采用單DSP處理器搭建信號(hào)處理器模式,具有功能強(qiáng)、性能指標(biāo)高、抗干擾能力強(qiáng)、工作穩(wěn)定可靠、體積小、功耗低、結(jié)構(gòu)緊湊合理的優(yōu)點(diǎn)。
評(píng)論