謝 偉
(中國(guó)電子科技集團(tuán)公司第十研究所,成都 610036)
傳統(tǒng)的電子系統(tǒng)設(shè)備中,各功能都是以分離式的設(shè)備完成其相應(yīng)的功能,而現(xiàn)在的電子系統(tǒng)設(shè)備大多都是將多個(gè)功能作為整體進(jìn)行設(shè)計(jì),其特點(diǎn)就是軟硬件模塊化、通用化,達(dá)到降低成本、縮短研制周期的目的,本文介紹了一種通用信號(hào)處理模塊的設(shè)計(jì)方法。
本設(shè)計(jì)以DSP作為處理器,DSP與FPGA協(xié)同工作,完成系統(tǒng)中頻及基帶信號(hào)的處理,模塊FPGA和DSP程序代碼可動(dòng)態(tài)加載,根據(jù)主機(jī)任務(wù)需要實(shí)時(shí)配置成不同功能。同時(shí)具備FPGA和DSP代碼在線更新功能。模塊框圖如圖1所示。
圖1 模塊設(shè)計(jì)框圖
模塊主要由DSP、FPGA、LVDS高速串行總線接口組成。DSP和FPGA功能程序加載正確后,模塊的處理通道根據(jù)系統(tǒng)配置執(zhí)行數(shù)字接收或者發(fā)送流程。在數(shù)字接收流程中,F(xiàn)PGA接收通過(guò)LVDS高速串行總線傳來(lái)的AD數(shù)據(jù),經(jīng)過(guò)處理后傳給DSP進(jìn)行進(jìn)一步處理,同時(shí)通過(guò)離散線接口和RapidIO總線接口和信道等單元交換控制參數(shù),最終的處理結(jié)果由DSP通過(guò)RapidIO接口傳送系統(tǒng)。數(shù)字發(fā)送流程和接收流程相反。待處理的基帶信號(hào)由整機(jī)通過(guò)RapidIO接口送給信號(hào)處理模塊。DSP和FPGA對(duì)基帶信號(hào)進(jìn)行處理后,通過(guò)LVDS高速串行總線發(fā)送給信道激勵(lì)模塊。
主機(jī)通過(guò)RapidIO總線下傳新版本程序進(jìn)行FPGA和DSP代碼在線更新。主機(jī)在需要對(duì)信號(hào)處理模塊進(jìn)行功能重構(gòu)時(shí),通過(guò)RapidIO總線向DSP發(fā)送功能重構(gòu)指令。
數(shù)字接收和發(fā)送流程是各功能算法對(duì)中頻信號(hào)的解調(diào)過(guò)程和對(duì)發(fā)送基帶信號(hào)的調(diào)制過(guò)程,LVDS高速串行總線接口用來(lái)傳輸AD/DA數(shù)據(jù),其連接示意框圖見(jiàn)圖2。
圖2 LVDS高速串行總線接口示意框圖
AD采樣數(shù)據(jù)和采樣時(shí)鐘按照?qǐng)D3所示時(shí)序送入信道模塊并/串轉(zhuǎn)換的同步并行數(shù)據(jù)輸入端,就會(huì)獲得如圖3所示的串行數(shù)據(jù)輸出Do。Do信號(hào)傳送到信號(hào)預(yù)處理模塊的某個(gè)接收通道串行輸入端。信號(hào)處理模塊產(chǎn)生和AD采樣頻率相同的時(shí)鐘信號(hào)送給該處理通道FPGA,F(xiàn)PGA將該時(shí)鐘信號(hào)作為本地參考時(shí)鐘輸入到串/并轉(zhuǎn)換的鎖相環(huán),獲得如圖4Rout所示的并行數(shù)據(jù)輸出。DA數(shù)據(jù)的發(fā)送和AD數(shù)據(jù)的接收流程相似,傳輸方向相反。
圖3 數(shù)據(jù)發(fā)送時(shí)序
圖4 數(shù)據(jù)接收時(shí)序
主機(jī)通過(guò)RapiIO總線向信號(hào)處理模塊DSP發(fā)送功能程序燒寫(xiě)指令,并將需要更新的程序數(shù)據(jù)發(fā)送給模塊DSP。DSP收到功能程序燒寫(xiě)指令后立即停止當(dāng)前運(yùn)行的程序,跳轉(zhuǎn)到底層管理程序,并開(kāi)始執(zhí)行底層管理程序。底層管理程序接收主機(jī)傳來(lái)的新程序,解析功能程序燒寫(xiě)指令,然后將新版本程序固化到非易失性存儲(chǔ)芯片中相應(yīng)的地址處,覆蓋原來(lái)的程序。功能程序更新流程框圖如圖5所示。
圖5 FLASH程序更新流程框圖
FPGA上電后不能自行加載程序,要等到DSP運(yùn)行底層管理程序時(shí)才開(kāi)始加載FPGA程序。DSP底層管理程序通過(guò)外部存儲(chǔ)器接口總線從非易失性存儲(chǔ)芯片中讀出FPGA程序,接口控制CPLD實(shí)現(xiàn)DSP外部存儲(chǔ)器接口總線和FPGA加載端口的接口適配邏輯,然后通過(guò)接口控制CPLD寫(xiě)入FPGA配置端口。DSP和FPGA加載端口之間接口電路原理如圖6所示。
圖6 DSP和FPGA加載端口之間接口電路原理圖
上電完成后,當(dāng)DSP鎖相環(huán)穩(wěn)定工作,DSP將立即啟動(dòng)上電自舉流程。DSP上電自舉流程分下述三個(gè)步驟進(jìn)行:首先進(jìn)行底層引導(dǎo)程序加載,然后加載DSP底層管理程序,底層管理程序主要完成模塊硬件初始化、上電后程序加載、處理通道功能重構(gòu)以及功能程序在線更新等任務(wù),最后加載用戶功能程序。
本文介紹了一種信號(hào)處理模塊的硬件電路及軟件設(shè)計(jì),能夠方便的實(shí)現(xiàn)應(yīng)用程序的動(dòng)態(tài)加載和代碼更新,開(kāi)發(fā)者可以靈活的選擇DSP與FPGA的型號(hào)來(lái)實(shí)現(xiàn)功能。