多并行處理器接收機(jī)設(shè)計(jì)與實(shí)現(xiàn)
摘要:為滿足對(duì)衛(wèi)星信號(hào)處理越來越快的速.度及通用性的要求,設(shè)計(jì)并實(shí)現(xiàn)了一款高性能的衛(wèi)星接收機(jī)。該接收機(jī)的設(shè)計(jì)在原理上采用多并行處理器的思想,因衛(wèi)星接收機(jī)的中頻處理數(shù)據(jù)量大,實(shí)時(shí)性高。這樣,對(duì)芯片的選型提出了很高的要求,通過比較選擇了兩片目前業(yè)界處理能力強(qiáng)的DSP芯片TMS320C6416T核心計(jì)算單元,并結(jié)合使用了兩片功耗低,成本低和大容量的FPGA芯片EP3C120完成衛(wèi)星接收機(jī)中的數(shù)據(jù)處理,從而使接收機(jī)的處理速度和處理能力大大提高,滿足了處理高實(shí)時(shí)性和大數(shù)據(jù)量衛(wèi)星信號(hào)的要求。
關(guān)鍵詞:DSP;FPGA;多并行處理器;衛(wèi)星接收機(jī)
0 引 言
在航空、航天領(lǐng)域,擴(kuò)頻接收機(jī)對(duì)信號(hào)處理速度的要求不斷提高。同時(shí),鑒于當(dāng)前單一處理器導(dǎo)航接收機(jī)結(jié)構(gòu)給導(dǎo)航算法帶來的約束及并行多處理器技術(shù)的日益成熟,為了避免專用衛(wèi)星接收機(jī)的重復(fù)研制工作,降低研制的難度、成本和周期,提高可靠性,近幾年這一領(lǐng)域中提出了多并行處理器通用接收機(jī)硬件平臺(tái)的思想。基于這一思想,本文的接收機(jī)設(shè)計(jì)在文獻(xiàn)[1]的基礎(chǔ)上做了一些改進(jìn),采用了兩片DSP芯片TMS3206416T(以下簡(jiǎn)稱C6416)和兩片F(xiàn)PGA芯片EP3C120的設(shè)計(jì)方案。這樣,完成各種不同的信號(hào)處理任務(wù)可以采用完全統(tǒng)一的硬件平臺(tái),所不同的只是該硬件平臺(tái)上運(yùn)行的軟件。這就增加了系統(tǒng)的靈活性和硬件平臺(tái)的通用性,并解決了不同信號(hào)處理任務(wù)分配的問題。
1 接收機(jī)板的總體描述
接收機(jī)板的原理圖框圖如圖1所示,板上資源及性能指標(biāo)如表1所示。
板上有兩片C6416T,它們?cè)诮Y(jié)構(gòu)上完全對(duì)稱,描述上稱兩片C6416T及其外圍資源為C6416T模塊。C6416T模塊中對(duì)稱的結(jié)構(gòu)決定了兩片C6416T既可以是串行流水方式的并行計(jì)算,也可以是并發(fā)操作方式的并行計(jì)算,具體的方式由接收機(jī)板完成的算法來決定。兩片C6416T通過雙端口存儲(chǔ)器(DPRAM)以共享存儲(chǔ)器的方式耦合在一起,來完成處理時(shí)兩者之間的數(shù)據(jù)共享和通訊。雙口存儲(chǔ)器數(shù)據(jù)總線寬度為64 b,容量為9 Mb。另外,兩片C6416T之間還可以通過多功能串口(McBSP)進(jìn)行數(shù)據(jù)傳輸,而且每片C6416T外圍配備有1 024 Mb的SDRAM和64 Mb的FLASH。其中,大容量的SDRAM可用來暫存大量的中間處理數(shù)據(jù);大容量的FLASH可用來存儲(chǔ)大量的程序和非易失性數(shù)據(jù)。這里設(shè)計(jì)的存儲(chǔ)器最大存儲(chǔ)容量比較大,主要是基于通用性的考慮,配備不同容量時(shí)可以滿足不同的應(yīng)用需求,這可根據(jù)實(shí)際的情況而定。除此之外,板上還有兩片3C120及其外圍資源,描述上將其稱為3C120模塊。3C120模塊中兩片3C120之間也通過9 Mb的DPRAM來完成兩者之間的數(shù)據(jù)共享和通信,而且兩片3C120之間還通過自定義I/O擴(kuò)展總線接口來進(jìn)行數(shù)據(jù)通信與傳輸。另外,每片3C120與各自平行對(duì)應(yīng)的C6416T之間通過EMIFA總線和SPI進(jìn)行數(shù)據(jù)傳輸,與所對(duì)應(yīng)的兩路10 b ADC相連,以完成對(duì)接收中頻數(shù)據(jù)的采樣。
2 模塊的設(shè)計(jì)
接收機(jī)板中,C6416T和3C120是核心器件,其他器件都是外設(shè),以下的描述將圍繞C6416T和3C120兩個(gè)模塊展開。
C6416T模塊中主要的外設(shè)都與EMIF相連接,所以外設(shè)接口的設(shè)計(jì)主要介紹EMIF的設(shè)計(jì)。C6416T有兩個(gè)EMIF接口,EMIFA的外總線上連接了FPGA,SDRAM和DPRAM,它們的數(shù)據(jù)寬度都是64 b。出于信號(hào)完整性考慮,外總線通過匹配電阻來解決信號(hào)反射的問題。FPGA用同步時(shí)序訪問,SDRAM和DPRAM都是同步器件,它們被直接連接到臨近EMIFA口這一級(jí)總線上,這一級(jí)總線的訪問速率高,稱為高速總線。EMIFA的每個(gè)CE空間最大的存儲(chǔ)管理能力是256 Mb,外接4片32 b數(shù)據(jù)寬度、512 Mb的SDRAM時(shí),可以達(dá)到這個(gè)最大容量,本設(shè)計(jì)電路中每個(gè)C6416T用了兩片32 b數(shù)據(jù)寬度、512 Mb的SDRAM,占用一個(gè)CE空間,共1 024 Mb。另外,所選DPRAM芯片數(shù)據(jù)寬度為72 b,為了能與EMIFA總線匹配,在電路設(shè)計(jì)中將DPRAM的數(shù)據(jù)線每取8 b就間隔1 b,這樣就得到64 b的數(shù)據(jù)寬度。
EMIFB的外總線上連接了FLASH,它的數(shù)據(jù)寬度為16 b,存儲(chǔ)容量為64 Mb。因?yàn)镋MIFB對(duì)8 b的異步存儲(chǔ)設(shè)備的管理能力只有1 Mb,所以接8 Mb的FLAsH需要做地址擴(kuò)展,這個(gè)擴(kuò)展功能在CPLD中完成。在該接收機(jī)板中EMIFB的BCE1空間所對(duì)應(yīng)的16 Mb FLASH用來做8 b Bootloader,剩余的48 MbFLASH用來存儲(chǔ)重要數(shù)據(jù)。每個(gè)C6416T的EMI-FA和EMIFB的存儲(chǔ)空間分配如圖2和圖3所示。
對(duì)于3C120模塊而言,它除了通過EMIFA接口和C6416T相通信外,還通過SPI來和C6416T相互傳輸數(shù)據(jù),這樣有利于數(shù)據(jù)的處理。同時(shí),兩片3C120為了能相互共享數(shù)據(jù)和存儲(chǔ)數(shù)據(jù),它們之間連接了一個(gè)9 Mb的DPRAM。
3 模塊的通訊鏈路設(shè)計(jì)
接收機(jī)板中主要包括了三大通訊鏈路,主要介紹如下:
(1)C6416T模塊中兩片DSP(C6416TA和C6416TB)之間的通訊它們有兩種通訊方式:DPRAM通訊、串口通訊。
兩個(gè)C6416T分別與DPRAM的左、右口相連。C6416TA將要處理的數(shù)據(jù)從左口鏈路送入DPRAM,再通過DPRAM的右口中斷管腳通知C6416TB,然后C6416TB從DPRAM的右口取走數(shù)據(jù)。C6416TB也可以用同樣的方式給C6416TA傳送數(shù)據(jù)。中斷產(chǎn)生是通過寫和讀DPRAM的左右口郵箱來實(shí)現(xiàn)的,如圖4所示。C6416TA寫左口郵箱時(shí),會(huì)在右口產(chǎn)生中斷給C6416TB,然后C6416TB讀左口郵箱可清除中斷。左口中斷的產(chǎn)生和清除方法也是一樣。
兩個(gè)C6416T通過串口1和串口2相互連接,可實(shí)現(xiàn)全雙工通訊,同步串口的最高時(shí)鐘速率可達(dá)l/4CPU時(shí)鐘頻率。
(2)3C120模塊中兩片F(xiàn)PGA(3C120A和3C120B)之間的通訊
它們也有兩種通訊方式:DPRAM通訊、自定義I/O通訊。兩片3C120通過DPRAM通訊的原理與兩片C6416T相同。另外,兩片3C120之間還互連了一些I/O口,在實(shí)際應(yīng)用當(dāng)中可以對(duì)這些I/O口進(jìn)行定義,讓其來完成兩片3C120間的數(shù)據(jù)交換。
(3)3C120模塊與C6416T模塊之間的通訊它們包括兩部分,兩片3C120分別與所對(duì)應(yīng)平行的C6416T之間的通訊。每片3C120與所對(duì)應(yīng)的C6416T之間可通過EMIFA總線、SPI和中斷來進(jìn)行數(shù)據(jù)的交換和控制。
4 接收機(jī)板的SI仿真
信號(hào)完整性(Signal Integrity,SI)是指在信號(hào)線上的信號(hào)質(zhì)量。在高速電路中來自接收端的反射信號(hào)很容易到達(dá)驅(qū)動(dòng)端,如果反射信號(hào)很強(qiáng),疊加的波形就有可能改變?cè)瓉淼倪壿嫚顟B(tài),導(dǎo)致電路無法正常工作。該接收機(jī)板總線傳輸速率要求很高,所以在PCB布線之前,應(yīng)預(yù)先進(jìn)行調(diào)研,以形成規(guī)則或設(shè)計(jì)準(zhǔn)則,從而確保設(shè)計(jì)結(jié)果不出現(xiàn)明顯的信號(hào)完整性問題,這是SI仿真的前仿真。前仿真的過程是,首先將主要器件的IBIS仿真模型加到待布線的PCB中,定義輸入?yún)?shù)和可能的拓?fù)浞秶?,然后用Cadence運(yùn)行每個(gè)可能的仿真組合,分析信號(hào)完整性的仿真結(jié)果,最后找到可以接受的數(shù)值范圍,將其范圍解釋為PCB布線的約束條件,再進(jìn)行PCB約束驅(qū)動(dòng)布線。一般來說,前仿真也很難保證實(shí)際布線之后不出現(xiàn)信號(hào)完整性問題。所以在約束驅(qū)動(dòng)布線后再次進(jìn)行SI仿真,來檢查是否符合信號(hào)完整性的要求,這是SI仿真的后仿真。在對(duì)該接收機(jī)板布線之前對(duì)地址線和數(shù)據(jù)線的拓?fù)浣Y(jié)構(gòu)進(jìn)行了分析并做了前仿真,其拓?fù)浣Y(jié)構(gòu)分別如圖5,圖6所示。
從圖5,圖6中可以看出,地址線的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)在DSP的外設(shè)端未加匹配電阻,這樣做的目的是為了減少PCB布線的繁瑣性,但為了減少接收端反射信號(hào)對(duì)DSP端驅(qū)動(dòng)信號(hào)的影響,這樣做的前提首先應(yīng)當(dāng)保證符合信號(hào)完整性的要求。該設(shè)計(jì)中由于元器件布局的原因,DSP的地址線到其每個(gè)外設(shè)的距離相差不大,這樣只需要在靠近DSP端加上匹配電阻就能符合SI的要求。當(dāng)然,在DSP及其外設(shè)每端都加上匹配電阻的話,信號(hào)質(zhì)量會(huì)更好,DSP數(shù)據(jù)線就采取了這種做法,由于它的數(shù)據(jù)線與其每個(gè)外設(shè)的距離不同,要保證信號(hào)完整性就不得不在靠近各器件這端的中部都加上匹配電阻。
為了檢驗(yàn)實(shí)際布線后信號(hào)的完整性,在布線完成之后對(duì)數(shù)據(jù)線和地址線分別做了后仿真,這里只取數(shù)據(jù)線AED50和地址線AEA3的后仿真波形圖,如圖7,圖8所示。
圖7,圖8中,U6為DSP,它作為驅(qū)動(dòng)源,輸出100 MHz的矩形波信號(hào)驅(qū)動(dòng)它的外設(shè);U7,U8為SDRAM,U10為DPRAM,U13為FPGA,它們作為DSP的外設(shè),接收DSP發(fā)送來的信號(hào)。從這兩幅圖中可以看出,反射信號(hào)對(duì)數(shù)據(jù)線和地址線都有一定的影響,但都滿足信號(hào)完整性的要求,同時(shí)也驗(yàn)證了在兩種不同拓?fù)浣Y(jié)構(gòu)下所產(chǎn)生的信號(hào)質(zhì)量不同。
5 測(cè)試結(jié)果
該接收機(jī)板已經(jīng)設(shè)計(jì)實(shí)現(xiàn)。為了檢測(cè)電路板的功能和性能,針對(duì)DSP和FPGA編制了所需的驅(qū)動(dòng)程序,并通過各種測(cè)試程序?qū)﹄娐钒遄隽舜罅康摹㈤L(zhǎng)時(shí)間的各種測(cè)試。經(jīng)過測(cè)試,可以確定電路板的功能已經(jīng)按照設(shè)計(jì)的初衷實(shí)現(xiàn),也符合接收機(jī)板要求的技術(shù)指標(biāo)。另外,對(duì)電路板上各種資源訪問性能的測(cè)試結(jié)果做了統(tǒng)計(jì),如表2所示。
6 結(jié) 語
該接收機(jī)板的運(yùn)算能力強(qiáng),通用性強(qiáng),存儲(chǔ)容量大,可以通用于各種視頻圖像處理、雷達(dá)信號(hào)處理和衛(wèi)星信號(hào)處理等領(lǐng)域,目前已應(yīng)用在對(duì)處理速率和存儲(chǔ)容量要求較高的衛(wèi)星接收機(jī)技術(shù)方案中。