利用XCS40實(shí)現(xiàn)小型聲納的片上系統(tǒng)集成
從傳統(tǒng)意義上來(lái)說(shuō),FPGA等通用可編程器件往往被應(yīng)用于速率較低的DSP設(shè)計(jì)中,而在高速的DSP應(yīng)用中,則往往使用專用的DSP芯片及集成電路進(jìn)行設(shè)計(jì)。這樣做雖然滿足了對(duì)速度的要求,但是開(kāi)發(fā)周期較長(zhǎng),產(chǎn)品的調(diào)試修改升級(jí)比較困難,而且靈活性較差。
隨著工藝水平的提高,FPGA等可編程器件的速度和規(guī)模都有了很大的提高,而且它還具有集成度高、體積小、功耗低、設(shè)計(jì)靈活等優(yōu)勢(shì),這樣就為利用可編程器件實(shí)現(xiàn)高速DSP處理開(kāi)辟了道路。目前新一代的FPGA等可編程器件,不僅在速度上能滿足DSP的要求,而且可編程資源也大大增加,在系統(tǒng)級(jí)集成方面也能滿足需要,從而提高了系統(tǒng)的靈活性和適應(yīng)性。因此,在開(kāi)發(fā)周期較短或?qū)ο到y(tǒng)靈活性要求較高的場(chǎng)所,F(xiàn)PGA能夠提供比專用DSP器件更高的系統(tǒng)速度和更好的解決方案。
我們?cè)谠O(shè)計(jì)小型聲納的過(guò)程中,根據(jù)系統(tǒng)的要求,采用了Xilinx公司的Spartan XCS40芯片。
1 器件介紹
Spartan系列的XCS40是Xilinx公司推出的低價(jià)格、高性能的現(xiàn)場(chǎng)可編程門(mén)陣列。它的主要特點(diǎn)是:
·系統(tǒng)門(mén)的數(shù)目達(dá)到了40000,Logic Cell數(shù)目達(dá)1862,系統(tǒng)資源豐富
·具備片上可配置分布式RAM, 最多配置的RAM比特?cái)?shù)達(dá)25088位
·分布式算術(shù)邏輯單元,支持分布式DSP運(yùn)算
·支持Alliance Core及系統(tǒng)集成
其片內(nèi)結(jié)構(gòu)如圖1所示。
2 由XCS40構(gòu)成的聲納系統(tǒng)的原理
以XCS40為主體構(gòu)成的漁用聲納的基本功能框圖如圖2所示。其中,虛線內(nèi)的功能模塊全部集中在XCS40芯片內(nèi)。
小型漁用聲納系統(tǒng)的基本工作原理是根據(jù)從水下反射的聲波回波信號(hào),顯示水下魚(yú)群和海底的深度情況。這種小型的聲波探測(cè)系統(tǒng)在漁業(yè)生產(chǎn)和航海安全上起著很重要的作用,在小型船舶上使用相當(dāng)普遍。整個(gè)系統(tǒng)分為模擬和數(shù)字兩大部分。
模擬部分根據(jù)環(huán)境噪聲和量程的要求,50kHz或200kHz載頻的鍵控脈沖經(jīng)過(guò)緩沖、整形、推動(dòng)和推挽功放之后,調(diào)制信號(hào)送到聲波換能器,發(fā)射到水中。接收電路為一外差接收機(jī)。不同頻率的反射信號(hào)經(jīng)過(guò)前放后,與本機(jī)的晶振混頻,產(chǎn)生455kHz的中頻信號(hào), 經(jīng)過(guò)兩級(jí)中放和檢波后,由A/D變換器形成3比特的數(shù)字信號(hào),送到聲納的數(shù)字處理部分。收發(fā)轉(zhuǎn)換模塊控制著收發(fā)信號(hào)的隔離,避免它們之間的串?dāng)_,尤其要避免發(fā)射信號(hào)串入接收機(jī)端而引起接收機(jī)性能的大幅度下降。同時(shí),通過(guò)時(shí)變?cè)鲆婵刂?TVG)等手段, 使得輸入信號(hào)的動(dòng)態(tài)范圍得到了壓縮,增大了接收機(jī)的工作范圍,也使得整個(gè)模擬部分的抗干擾性和信噪比得到了提高。
整個(gè)聲納系統(tǒng)的數(shù)字部分集中在一片XCS40芯片中。經(jīng)A/D變換后的數(shù)據(jù), 在數(shù)據(jù)獲取控制單元的協(xié)調(diào)下,通過(guò)正常記錄和海底鎖定記錄兩個(gè)通道分別進(jìn)入輸入存儲(chǔ)器。輸入存儲(chǔ)器中的回波數(shù)據(jù), 經(jīng)過(guò)相關(guān)處理、雜波消除、強(qiáng)度變換和坐標(biāo)變換等一系列信號(hào)處理后,在FPGA中內(nèi)置的顯示控制模塊的管理下寫(xiě)入VRAM。與此同時(shí), 顯示控制模塊產(chǎn)生行場(chǎng)同步信號(hào),并把不同強(qiáng)度的回波信號(hào)轉(zhuǎn)換成偽彩色信號(hào), 驅(qū)動(dòng)相應(yīng)的R、G、B輸出,將VRAM中的數(shù)據(jù)最終顯示在監(jiān)視器上。整個(gè)數(shù)字系統(tǒng)的運(yùn)行也由FPGA內(nèi)置的MCU模塊來(lái)控制, 提高了系統(tǒng)的集成度。
3 分布式計(jì)算與內(nèi)置RAM
由于FPGA基于SRAM的特性,特別適合乘法和累加等DSP算法,也可以用其實(shí)現(xiàn)廣泛的數(shù)學(xué)函數(shù)運(yùn)算。在設(shè)計(jì)上也可以采用并行結(jié)構(gòu)和分布式算法,使得資源達(dá)到最優(yōu)的配置。在該聲納的設(shè)計(jì)中, 使用了相關(guān)濾波器來(lái)除去鄰頻干擾、 雜波以及噪聲。并利用分布式計(jì)算,大大提高了信號(hào)處理效率。對(duì)于二進(jìn)制系統(tǒng),一個(gè)線性時(shí)不變的網(wǎng)絡(luò)的響應(yīng)可以用下面的公式來(lái)表示:
可見(jiàn), 上面的公式可以用加法器和分布式算術(shù)查找表來(lái)實(shí)現(xiàn)。對(duì)于所采用的相關(guān)濾波器, 可以用下面的比較簡(jiǎn)單的方法來(lái)實(shí)現(xiàn):
這樣,當(dāng)進(jìn)行異或運(yùn)算時(shí),對(duì)每次回波256點(diǎn)且每點(diǎn)3比特的數(shù)據(jù),可直接對(duì)每一位進(jìn)行相關(guān)處理, 只用一個(gè)時(shí)鐘周期即可完成運(yùn)算。由于充分利用了FPGA內(nèi)部的分布式功能模塊和并行計(jì)算的優(yōu)點(diǎn), 使得信號(hào)處理的速度得到了很大的提高。
為了實(shí)現(xiàn)在片內(nèi)完成DSP的功能, 除了必要的算術(shù)和邏輯功能模塊之外,必須具備一定數(shù)目的片內(nèi)存儲(chǔ)器。設(shè)計(jì)中所應(yīng)用的Spartan XCS40就具備了分布式的片內(nèi)RAM。由于Xilinx FPGA的主要功能模塊都是基于SRAM查找表結(jié)構(gòu)的,因此分布式RAM的結(jié)構(gòu)可以在FPGA內(nèi)的任何一處實(shí)現(xiàn)。這也是分布式RAM名稱的由來(lái)。除去CLB、IO模塊和布線模塊外,分布式片內(nèi)RAM已經(jīng)成為了又一種片內(nèi)資源。由于分布式片內(nèi)RAM沒(méi)有管腿和驅(qū)動(dòng),它可以達(dá)到相當(dāng)快的讀寫(xiě)操作速度。在我們的設(shè)計(jì)中,分布式RAM被用作數(shù)據(jù)的輸入緩存及數(shù)據(jù)寄存器。在片內(nèi),這些RAM被配置在數(shù)字信號(hào)處理部分的附近,從而減少了數(shù)據(jù)傳輸?shù)难訒r(shí)。
4 集成的顯示控制和MCU模塊
在帶有顯示子系統(tǒng)的設(shè)計(jì)中,一般都會(huì)用圖形控制芯片(GDC)來(lái)實(shí)現(xiàn)圖形顯示和控制。圖形控制芯片負(fù)責(zé)產(chǎn)生行場(chǎng)同步信號(hào),輸出像素點(diǎn)信號(hào),控制字符圖形和直線、圓等基本元素的輸出,讀寫(xiě)VRAM并控制VRAM的刷新。它是顯示子系統(tǒng)的核心。我們?cè)谠O(shè)計(jì)中最初采用的是NEC公司的UPD72020。但是在調(diào)試中發(fā)現(xiàn),由于該顯示控制芯片的主頻與系統(tǒng)的主頻不一樣,導(dǎo)致它與FPGA的時(shí)序無(wú)法配合。
為了解決這個(gè)問(wèn)題,我們?cè)谠O(shè)計(jì)中把圖形控制芯片的功能集成到了FPGA中,形成一個(gè)功能比較完備的CORE。圖形控制部分的結(jié)構(gòu)簡(jiǎn)圖如圖3所示。圖形控制部分的主要作用,是根據(jù)系統(tǒng)的要求,產(chǎn)生正確的行場(chǎng)時(shí)鐘脈沖,從而正確地控制像素點(diǎn)的輸出。系統(tǒng)的主時(shí)鐘頻率是40MHz,圖形控制部分把系統(tǒng)的主時(shí)鐘進(jìn)行分頻,產(chǎn)生出18.75kHz和50Hz的行同步信號(hào)和場(chǎng)同步信號(hào),加到監(jiān)視器的接口,驅(qū)動(dòng)正確的顯示。同時(shí),根據(jù)系統(tǒng)的要求,圖形控制模塊向VRAM中寫(xiě)入新的數(shù)據(jù),并且周期性地讀出VRAM中的數(shù)據(jù)進(jìn)行顯示和對(duì)VRAM進(jìn)行刷新。本設(shè)計(jì)中采用的顯示器是偽彩色顯示器,不同的彩色信號(hào)對(duì)應(yīng)于不同的回波強(qiáng)度。為了實(shí)現(xiàn)這個(gè)功能,我們?cè)贔PGA中的圖形控制模塊中建立了一個(gè)彩色矩陣(Color Matrix)。對(duì)應(yīng)于不同強(qiáng)度的像素點(diǎn)數(shù)據(jù),該矩陣可以將其轉(zhuǎn)化成為相應(yīng)輸出比例的R、G、B信號(hào),從而實(shí)現(xiàn)強(qiáng)度到彩色的轉(zhuǎn)換。
為了進(jìn)一步提高系統(tǒng)的集成度,我們采用了CAST公司為Xilinx的FPGA所設(shè)計(jì)的C2901微處理器核來(lái)讀取鍵盤(pán)輸入, 控制整個(gè)系統(tǒng)的運(yùn)行。該微處理器核的資源使用狀況和內(nèi)部結(jié)構(gòu)框圖如圖4所示。
由于采用高度集成的片上設(shè)計(jì)方法, 該聲納信號(hào)處理板的體積大大縮小, 整個(gè)系統(tǒng)僅由模擬電路、 XCS40及存儲(chǔ)器構(gòu)成, 設(shè)計(jì)和調(diào)試都非常簡(jiǎn)便, 整機(jī)工作性能也十分穩(wěn)定。
評(píng)論