DSP+FPGA結(jié)構(gòu)在雷達(dá)模擬系統(tǒng)中的應(yīng)用
1 引言
本文引用地址:http://cafeforensic.com/article/189794.htm隨著信息技術(shù)革命的深入和計(jì)算機(jī)技術(shù)的飛速發(fā)展,低速、低可靠性的單片機(jī)以及小規(guī)模的集成電路已經(jīng)越來越不能滿足需要,正逐漸被DSP與可編程邏輯器件(如FPGA、CPLD)所取代。一方面,數(shù)字信號(hào)處理技術(shù)逐漸地發(fā)展成為一門關(guān)鍵的技術(shù)學(xué)科,而DSP芯片由于集成度高、運(yùn)算速度快、性能穩(wěn)定等特點(diǎn),極大地促進(jìn)了數(shù)字信號(hào)處理技術(shù),也使其在數(shù)字信號(hào)處理的應(yīng)用領(lǐng)域得到了極大的拓展;另一方面,電子系統(tǒng)集成化程度的提高,不僅可使系統(tǒng)的體積變小、重量減輕、功耗降低,更重要的是可使系統(tǒng)的可靠性大大地提高,因此電子系統(tǒng)日趨數(shù)字化、復(fù)雜化和大規(guī)模集成化。而由于可編程邏輯器件(如FPGA、CPLD)是一種數(shù)字集成電路的半成品,在其芯片上按一定排列方式集成了大量的門和觸發(fā)器等基本邏輯元件,利用某種開發(fā)工具對(duì)其進(jìn)行加工,即按設(shè)計(jì)要求將這些片內(nèi)的元件連接起來(此過程稱為編程),就能使其完成某個(gè)邏輯電路或系統(tǒng)的功能,成為一個(gè)可在實(shí)際電子系統(tǒng)中使用的專用集成電路,這樣就使得集成電路的體積大大地縮小,電路的集成規(guī)模也大大地提高。因此,DSP與可編程邏輯器件已經(jīng)越來越廣泛地應(yīng)用于當(dāng)今各個(gè)領(lǐng)域中。
2 系統(tǒng)組成及芯片介紹
該雷達(dá)模擬系統(tǒng)對(duì)真實(shí)雷達(dá)的整個(gè)操作和探測(cè)實(shí)施過程進(jìn)行了全仿真,能與雷達(dá)本機(jī)完全脫離,并能夠?qū)﹀e(cuò)誤操作情況作出實(shí)時(shí)提示及對(duì)訓(xùn)練結(jié)果進(jìn)行定量成績(jī)?cè)u(píng)估。該系統(tǒng)主要由兩個(gè)分系統(tǒng)構(gòu)成,一個(gè)是在主控計(jì)算機(jī)上的軟件模擬分系統(tǒng);另一個(gè)是在主機(jī)柜方面的硬件模擬分系統(tǒng),它包括了實(shí)現(xiàn)全仿真效果所需的全部硬件電路以及相應(yīng)的軟件控制程序。其中數(shù)字電路部分是以TI公司的TMS320C32式浮點(diǎn)DSP芯片為主控制芯片,與ALTERA公司的可編程邏輯陣列FLEX 10K系列器件組成核心控制系統(tǒng),采用C語(yǔ)言作DSP的軟件開發(fā)程序。DSP芯片完成數(shù)據(jù)的采集、處理以及通訊,FPGA中集成了實(shí)現(xiàn)雷達(dá)模擬系統(tǒng)功能的各種模塊,而所需的輸出波形由獨(dú)立的模擬電路完成。
TI公司的TMS320C32式浮點(diǎn)DSP芯片是一個(gè)性能價(jià)格比比較高的浮點(diǎn)處理器,為用戶提供了豐富的硬件與軟件資源。它的主要特點(diǎn)包括:哈佛結(jié)構(gòu)、流水線操作、專用的硬件乘法器、特殊的DSP指令、快速的指令周期等,這些特點(diǎn)使其可以實(shí)現(xiàn)快速的DSP運(yùn)算,并使大部分運(yùn)算(如乘法)能在一個(gè)指令周期內(nèi)完成。而且該DSP芯片是軟件可編程器件,具有通用微處理器的方便靈活等特點(diǎn)。
ALTERA公司的FLEX 10K系列器件是業(yè)界第一塊嵌入式可編程邏輯器件,它基于可重復(fù)配置的CMOS SRAM工藝,為柔性邏輯元素陣列架構(gòu),使用通用的門海架構(gòu)來實(shí)現(xiàn)一般性的邏輯功能,同時(shí)采用專用的硅片來實(shí)現(xiàn)規(guī)模較大的專用功能。和標(biāo)準(zhǔn)的門陣列比較,由于嵌入式功能在硅片上實(shí)現(xiàn),因此所需的硅片面積更小,系統(tǒng)速度更高。FLEX 10K系列器件不僅能夠提供高密度、高速度和系統(tǒng)集成功能,并且在單個(gè)器件內(nèi)部包含多重32比特總線、6144比特的RAM空間,還支持串行與并行兩種配置方式以及JTAG模式的在線仿真,這些特點(diǎn)使得FLEX 10K系列器件成為目前應(yīng)用最為廣泛的可編程邏輯器件之一。
3 硬件實(shí)現(xiàn)
在硬件模擬分系統(tǒng)中,主要使用的開發(fā)工具是MaxplusII可編程邏輯開發(fā)軟件。MaxplusII提供了一種與結(jié)構(gòu)無關(guān)的設(shè)計(jì)環(huán)境,使應(yīng)用ALTERA公司通用FPGA的設(shè)計(jì)者能夠方便地進(jìn)行設(shè)計(jì)輸入、快速處理和器件編程。MaxplusII提供了全面的邏輯設(shè)計(jì)能力,可將文本、圖形和波形等設(shè)計(jì)輸入方法任意組合建立起有層次的單器件或多器件設(shè)計(jì)。MaxplusII編譯器(compiler)完成最小化和邏輯綜合,把設(shè)計(jì)裝配成一個(gè)或多個(gè)器件并產(chǎn)生編程數(shù)據(jù);還可進(jìn)行設(shè)計(jì)校驗(yàn),包括功能仿真、定時(shí)仿真、影響速度的關(guān)鍵路徑的延時(shí)預(yù)測(cè)以及多系列器件交叉的多器件仿真。Compiler的Fitter(適配)模塊應(yīng)用試探法把經(jīng)過綜合的設(shè)計(jì)最恰當(dāng)?shù)赜靡粋€(gè)或多個(gè)器件實(shí)現(xiàn)。這種自動(dòng)適配功能使設(shè)計(jì)者得以從繁瑣的布局與布線工作中解脫出來。綜上所述,以MaxplusII為EDA軟件工具,周期短、集成度高、價(jià)格合適、可實(shí)現(xiàn)強(qiáng)大的邏輯功能。因此,用MaxplusII可編程邏輯開發(fā)軟件來完成FPGA內(nèi)部的邏輯模塊。并且,由于這些邏輯模塊都是在FPGA中實(shí)現(xiàn),所以這些模塊都具有很高的可移植性與易維護(hù)性,修改也非常方便,并且減少了電路板面積,使電路的集成度大大地提高。
硬件模擬分系統(tǒng)是整個(gè)雷達(dá)模擬系統(tǒng)的核心部分,主要完成真實(shí)雷達(dá)系統(tǒng)中主機(jī)柜的全部功能,包括數(shù)據(jù)的采集、處理、與主控計(jì)算機(jī)之間的通信以及操作過程中各種狀態(tài)信息的讀取等。其系統(tǒng)總體結(jié)構(gòu)框圖如圖1所示:
其中,TMS320C32式浮點(diǎn)DSP芯片為主控制芯片,而FPGA為核心芯片。為了完成雷達(dá)模擬功能,主要在FPGA中作出了串口通信、狀態(tài)讀取、顯示控制等8個(gè)功能模塊。這些模塊與DSP進(jìn)行數(shù)據(jù)交換,分別完成各自的模擬功能,然后通過相應(yīng)的軟件控制DSP的工作狀態(tài),進(jìn)而通過DSP實(shí)現(xiàn)對(duì)這些功能模塊的完全控制。限于篇幅,對(duì)于各個(gè)模塊的具體工作過程不再贅述。
4 軟件實(shí)現(xiàn)
在硬件模擬分系統(tǒng)中,采用Code Composer作為DSP芯片的開發(fā)軟件。Code Composer是TI公司提供的一款功能非常強(qiáng)大的DSP軟件開發(fā)工具,它提供配置、建立、調(diào)試、跟蹤和分析程序的功能,便于實(shí)時(shí)、嵌入式信號(hào)處理程序的編寫和調(diào)試。它能夠加速開發(fā)過程,減少開發(fā)周期,提高工作效率。此外,它不僅支持匯編語(yǔ)言開發(fā),還支持C語(yǔ)言開發(fā)以及C語(yǔ)言與匯編語(yǔ)言的混合開發(fā),而其中最后一種方法是目前DSP軟件以及其他嵌入式處理軟件的最流行和效率最高的方式。Code Composer由代碼生成工具、集成開發(fā)環(huán)境、調(diào)試分析工具等幾個(gè)主要部分組成,其中代碼生成工具奠定了CCS所提供的開發(fā)環(huán)境的基礎(chǔ)。
這里,使用C語(yǔ)言作為DSP芯片的軟件開發(fā)語(yǔ)言。當(dāng)系統(tǒng)上電后,DSP首先進(jìn)行各種狀態(tài)的初始化及設(shè)置工作模式,其中重要的是對(duì)定時(shí)器中斷及外部中斷的初始化設(shè)置。然后讀取主機(jī)柜面板上的初始位置信息,接著進(jìn)入主程序的查詢狀態(tài),每隔一段時(shí)間就查詢一次主機(jī)柜面板上各種狀態(tài)值是否發(fā)生變化。如果有變化發(fā)生,則進(jìn)行相應(yīng)的處理。
以串口通信中斷程序的工作過程為例。通過該程序控制可以FPGA中所作的串口通信模塊與主控計(jì)算機(jī)進(jìn)行通信,波特率已經(jīng)在模塊中設(shè)定。在接收模式下,該中斷程序?qū)⒔邮盏臄?shù)據(jù)送入模塊,然后該模塊能夠自動(dòng)比較接收到的數(shù)據(jù)是否為同步字符。如果是,則從接收到同步字符以后,每接收完一幀數(shù)據(jù)產(chǎn)生一次中斷,CPU響應(yīng)中斷后,讀取接收到的字符。全部接收完畢后,清除同步字符接收到標(biāo)志,則該模塊回到接收到同步字符前的狀態(tài)。在發(fā)送模式下,CPU向該模塊寫入一個(gè)8位數(shù)據(jù),則在自動(dòng)添加起、停位與奇偶校驗(yàn)位后串行發(fā)送。發(fā)送完畢后,產(chǎn)生一次串口中斷,響應(yīng)中斷后,將下一次要發(fā)送的數(shù)據(jù)寫入該模塊即可。部分程序如下所示:
評(píng)論