數(shù)字中頻調(diào)制解調(diào)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:為了實(shí)現(xiàn)MSK數(shù)字調(diào)制解調(diào)、擴(kuò)頻解擴(kuò)等復(fù)雜算法,設(shè)計(jì)了以TMS320C6416 DSP和Altera公司FPGAEP3SE110為核心的數(shù)字中頻調(diào)制解調(diào)系統(tǒng),并在此系統(tǒng)中成功實(shí)現(xiàn)MSK數(shù)字正交調(diào)制和MSK復(fù)相關(guān)解調(diào)等復(fù)雜運(yùn)算。該系統(tǒng)的硬件架構(gòu),對(duì)工程實(shí)踐數(shù)字中頻調(diào)制解調(diào)系統(tǒng)有一定的指導(dǎo)意義。
關(guān)鍵詞:TMS320C6416;EP3SE110;AD9957;AD9233;MSK調(diào)制解調(diào)
軟件無(wú)線電(SDR)是具有可重配置硬件平臺(tái)的無(wú)線設(shè)備,因?yàn)楦偷某杀?、更大的靈活性和更高的性能,迅速成為軍事、公共安全和商用無(wú)線領(lǐng)域的事實(shí)標(biāo)準(zhǔn)。SDR基帶處理通常需要處理器和FPGA,處理器通常實(shí)現(xiàn)系統(tǒng)控制和配置功能,而FPGA實(shí)現(xiàn)大計(jì)算量信號(hào)的實(shí)時(shí)處理。因此采用DSP+FPGA的方案符合軟件無(wú)線電中的硬件可重新配置的思想。
1 電路系統(tǒng)設(shè)計(jì)
數(shù)字中頻調(diào)制解調(diào)系統(tǒng)以Ahera公司的FPGAEP3SE110為核心,來(lái)實(shí)現(xiàn)中頻調(diào)制解調(diào)系統(tǒng)中MSK數(shù)字調(diào)制解調(diào)、擴(kuò)頻解擴(kuò)、信噪比估計(jì)和RS編譯碼等數(shù)字信號(hào)處理功能。并在其外圍加上TMS320C6416 DSP協(xié)處理器完成與信息處理器的信息處理和擴(kuò)跳頻圖樣管理,采用AD9233完成模擬中頻到數(shù)字信號(hào)的轉(zhuǎn)換,采用AD9957將調(diào)制后的MSK數(shù)字信號(hào)轉(zhuǎn)換成70 MHz的模擬中頻,系統(tǒng)總體框圖如圖1所示。
[!--empirenews.page--]
1.1 TMS320C6416的內(nèi)部結(jié)構(gòu)
在本系統(tǒng)中,采用了一片TMS320C6416A8作為協(xié)處理器,處理外界接收到的各種通信消息,完成格式的轉(zhuǎn)換、信息預(yù)處理、端機(jī)運(yùn)行控制,擴(kuò)跳頻圖樣計(jì)算與管理等功能。TMS320C6416是TI公司推出的TMS320C6000系列中的定點(diǎn)的高速DSP芯片,它采用超長(zhǎng)指令字體系結(jié)構(gòu),CPU時(shí)鐘頻率最高可達(dá)到1 GHz時(shí),其運(yùn)算能力最高支持8條指令并行執(zhí)行,定點(diǎn)處理能力最高可達(dá)8 GIPS。它有64個(gè)相互獨(dú)立增強(qiáng)的可編程E-DMA通道,可獨(dú)立于CPU進(jìn)行工作,以CPU時(shí)鐘速率進(jìn)行數(shù)據(jù)吞吐。DSP在上電時(shí)根據(jù)相應(yīng)管腳的狀態(tài)確定Boot模式、工作頻率。TMS320C6416有三種上電自舉方式:No Boot引導(dǎo)、HPI引導(dǎo)與ROM引導(dǎo)。DSP在復(fù)位時(shí)檢測(cè)BEA[19:18]引腳電平狀態(tài)來(lái)確定采用何種Boot模。TMS320C6416T的PLL系數(shù)選擇由引腳CLKMODE1和CLKMODE0決定,復(fù)位時(shí)系統(tǒng)檢測(cè)這兩個(gè)引腳的狀態(tài),根據(jù)這兩個(gè)引腳的狀態(tài),決定選擇不同的PLL系數(shù),有BY-PASS方式、×6方式、×12方式、×20方式。本板選用40MHz的外部晶振時(shí)鐘輸入,PLL的倍頻系數(shù)設(shè)為20倍,CPU的系統(tǒng)時(shí)鐘運(yùn)行在800MHz。
1.2 外部存儲(chǔ)器
1.2.1 EMIFA與SDRAM的接口
TMS320C6416片內(nèi)有1 MB的內(nèi)部RAM存儲(chǔ)器,而用于通信消息格式轉(zhuǎn)換的程序需要500 KB的存儲(chǔ)空間,還需要1 MB的數(shù)據(jù)存儲(chǔ)空間,其片內(nèi)存儲(chǔ)器不能滿(mǎn)足以上程序運(yùn)行和數(shù)據(jù)處理的需要,因此電路系統(tǒng)擴(kuò)展了大容量的SDRAM以存放相關(guān)的數(shù)據(jù)以及程序。
基于以上需求,DSP外部SDRAM采用1片Micron的MT48LC8M3282 8M×32映射到EMIFA總線的CE0外部存儲(chǔ)空間。Micron的MT48LC8M3282是86-pin TSOP的CMOS同步DRAM,最高工作頻率(處理速度)為166MHz(5.5 ns)。SDRAM設(shè)備時(shí)鐘始終控制在CPU時(shí)鐘速率的1/6,即當(dāng)CPU芯片以800 MHz運(yùn)行時(shí),SDRAM以133 MHz運(yùn)行。
1.2.2 EMIFB與程序FLASH的接口
FLASH存儲(chǔ)器是在EPROM和E2PROM的基礎(chǔ)上發(fā)展起來(lái)的一種非易失性存儲(chǔ)器,在掉電情況下仍能保證數(shù)據(jù)不丟失,并能夠在線實(shí)施擦除和再編程操作。在TMS320C6416的應(yīng)用程序的開(kāi)發(fā)中,程序代碼或數(shù)據(jù)表是要保存在FLASH或其他非易失存儲(chǔ)器中,以保證掉電時(shí)代碼仍在,程序在加電復(fù)位后自動(dòng)運(yùn)行。TMS320C6416的EMIFB通過(guò)異步接口可以支持8位FLASH配置。要實(shí)現(xiàn)TI公司TMS320C6416的外部ROM自舉,8b的ROM /FLASH存儲(chǔ)器必須配置在TMS320C6416的EMIFB總線上的CE1空間。本系統(tǒng)使用的程序FLASH芯片為Spansion公司S29GL256P,該FLASH芯片是一種存儲(chǔ)量32M×8 b的閃速存儲(chǔ)器,存取時(shí)間為90 ns,能夠在線擦除,并能在大多數(shù)標(biāo)準(zhǔn)的微處理器總線上通過(guò)特殊的編碼命令序列編程。為了方便以后FPGA和DSP程序的遠(yuǎn)端動(dòng)態(tài)更新,本系統(tǒng)采用了FPGA和DSP共享FLASH的方式,當(dāng)DSP收到上位機(jī)更新程序的命令后,通過(guò)更新FLASH中相應(yīng)段的內(nèi)容,來(lái)更新相應(yīng)FPGA或DSP程序。
1.2.3 EMIFA與FPGA雙口RAM的接口
在本系統(tǒng)中,為了實(shí)現(xiàn)并行處理,需要實(shí)現(xiàn)DSP與FPGA之間的數(shù)據(jù)通信,考慮到數(shù)據(jù)交換的處理速度和軟件編譯的難易程度,本系統(tǒng)采用FPGA內(nèi)建雙口RAM的方式實(shí)現(xiàn)這一功能,具體的實(shí)現(xiàn)方式采用中斷方式,當(dāng)DSP收到上位機(jī)通過(guò)高速LVDS傳來(lái)的下時(shí)隙發(fā)送數(shù)據(jù)命令后,將下一時(shí)隙要發(fā)射的數(shù)據(jù)和計(jì)算好的擴(kuò)跳頻圖樣,放到與FPGA通信的發(fā)射數(shù)據(jù)單元雙口RAM內(nèi),向FPGA內(nèi)控制模塊雙口RAM寫(xiě)中斷命令,F(xiàn)PGA收到中斷后,跟據(jù)內(nèi)部的時(shí)隙控制信號(hào),完成RS編碼,MSK數(shù)字調(diào)制,頻合控制,將基帶調(diào)制數(shù)據(jù)送給AD9957,產(chǎn)生70 MHz模擬調(diào)制信號(hào),送給上變頻單元。當(dāng)DSP收到上位機(jī)傳來(lái)的下時(shí)隙接收數(shù)據(jù)命令后,將下一時(shí)隙偽碼和跳頻圖樣計(jì)算好后,通知FPGA,F(xiàn)PGA根據(jù)AD9233采樣信號(hào)進(jìn)行同步捕獲、解擴(kuò)、解跳、譯碼,將解調(diào)譯碼后的信息送到與DSP通信的接收數(shù)據(jù)單元雙口RAM后,給DSP產(chǎn)成中斷信號(hào),這個(gè)中斷信號(hào)使DSP完成一次EDMA傳輸,EDMA傳輸完成后,DSP發(fā)出中斷清除命令,并將接收到的信息報(bào)給上位機(jī),從而完成一次完整的數(shù)據(jù)發(fā)送和接收。
1.3 FPGA模塊
本系統(tǒng)中采用了Altera公司的StrixⅢ系列EP3SE110作為核心處理器,完成了數(shù)字中頻MSK調(diào)制解調(diào)、RS編譯碼、CRC校驗(yàn)碼、信號(hào)信噪比估計(jì)、頻合控制、收發(fā)通道自檢控制、收發(fā)延時(shí)測(cè)量、TOA測(cè)量、各種時(shí)隙信號(hào)產(chǎn)生和對(duì)外600 MHz高速LVDS串行通信等功能。StrixⅢ系列FPGA是Altera公司具有全新構(gòu)架的高密度產(chǎn)品。它采用65 mm工藝,與StratixⅡ相比,器件的邏輯密度是前者的2倍,功耗降低了50%,性能提高了25%。本設(shè)計(jì)采用的EP3SE110芯片,片上LVDS總線最高速率可以達(dá)到1.25 Gb/s,該芯片集成有106 500 LE,896個(gè)18×18乘法器,16個(gè)全局時(shí)鐘網(wǎng)絡(luò),88個(gè)等效LVDS通道,片上RAM達(dá)到9 Mb的容量。FPGA的加載方式采用FPP方式,加載時(shí)序控制由CPLD來(lái)完成。600 MHz高速LVDS采用FPGA內(nèi)部的SERDES來(lái)完成,為保證數(shù)據(jù)高效可靠的傳輸,數(shù)據(jù)傳輸采用8b10b編碼。
1.4 D/A模塊
D/A采用AD9957。AD9957是具有18位I,Q數(shù)據(jù)通路和14位DAC的1GSPS正交數(shù)字上變頻器。它在單片上集成了高速直接數(shù)字頻率合成器(DDS)、高速14位數(shù)模轉(zhuǎn)換器、時(shí)鐘乘法器電路、數(shù)字濾波器以及其他DSP功能。AD9957有3種工作模式:正交調(diào)制模式、單頻輸出模式、插值DAC模式。
本系統(tǒng)中MSK調(diào)制方式采用正交調(diào)制,AD9957在正交調(diào)制模式下主要設(shè)置的工作參數(shù)有時(shí)鐘倍頻、頻率控制字、內(nèi)插因子、D/A輸出增益控制等。時(shí)鐘倍頻:AD9957的系統(tǒng)時(shí)鐘頻率=輸入時(shí)鐘頻率×倍頻。系統(tǒng)的載波是由DDS提供的,其工作時(shí)鐘等于系統(tǒng)時(shí)鈍。根據(jù)抽樣與恢復(fù)定理,DDS的工作時(shí)鐘至少要兩倍于載波頻率,才有可能產(chǎn)生完整的載波信號(hào)。一般情況下,為使DDS產(chǎn)生的載波更為穩(wěn)定,其頻率要小于系統(tǒng)時(shí)鐘的40%。為了保證輸出信號(hào)的頻譜質(zhì)量,本板的800 MHz系統(tǒng)時(shí)鐘直接由時(shí)鐘綜合器產(chǎn)生。AD9957內(nèi)部鎖相環(huán)采用旁路方式,內(nèi)插濾波器系數(shù)設(shè)為5,產(chǎn)生與外部基帶調(diào)制數(shù)據(jù)同步的80 MHz時(shí)鐘PDCLK。
1.5 A/D模塊
A/D部分的設(shè)計(jì)采用ADI公司的AD9233和差分放大器AD8352配合使用,進(jìn)來(lái)的70 MHz模擬中頻信號(hào)先經(jīng)過(guò)AD8352放大后再送給AD9233進(jìn)行處理,AD9233可以在70 MHz輸入頻率下提供85 dBc的SFDR性能,通過(guò)SPI或硬件連接,采樣后的數(shù)據(jù)可以輸出為二進(jìn)制補(bǔ)碼、偏移碼和格雷瑪。ADI公司的AD8352低失真放大器可以用于單端轉(zhuǎn)差分輸入,來(lái)緩沖和與多種12 b,14 b和16 b的高速模數(shù)轉(zhuǎn)換器接口。AD8352可以在頻率為180 MHz時(shí)達(dá)到一個(gè)高達(dá)80 dB的無(wú)雜散動(dòng)態(tài)范圍,差分放大器的增益范圍在0~24 dB之間,可以按照單晶體管要求進(jìn)行調(diào)節(jié)。[!--empirenews.page--]
1.6 CPLD模塊
CPLD采用Altera公司的MAXⅡ系列的EPM2210F324來(lái)實(shí)現(xiàn)系統(tǒng)電源上電順序控制電壓監(jiān)測(cè)、軟件看門(mén)狗、時(shí)鐘綜合器的配置和FPGA與DSP的程序加載等功能。具體實(shí)現(xiàn)如下:系統(tǒng)上電時(shí)根據(jù)系統(tǒng)電源上電要求,控制電源模塊加電使能端來(lái)控制上電順序。通過(guò)電壓監(jiān)測(cè)芯片,對(duì)系統(tǒng)電壓異常進(jìn)行監(jiān)測(cè),根據(jù)異常情況進(jìn)行系統(tǒng)復(fù)位或切斷電源。通過(guò)內(nèi)建計(jì)數(shù)器,實(shí)現(xiàn)軟件看門(mén)狗功能,軟件看門(mén)狗可以通過(guò)DSP使能打開(kāi)或關(guān)閉,以方便系統(tǒng)調(diào)試。系統(tǒng)正常上電后通過(guò)SPI配置時(shí)鐘綜合器,產(chǎn)生系統(tǒng)所需的時(shí)鐘。時(shí)鐘配置完成后,CPLD控制FPGA采用FPP方式從FL-ASH中加載程序,當(dāng)FPGA加載成功后,根據(jù)FPGA的配置引腳CONFIGDONE狀態(tài),將FLASH控制權(quán)交給DSP,控制DSP完成程序的加載。
1.7 時(shí)鐘和電源模塊
實(shí)現(xiàn)數(shù)字中頻調(diào)制解調(diào)系統(tǒng)的時(shí)鐘電路設(shè)計(jì)如下:板內(nèi)40 MHz恒溫晶振與外部供給的10 MHz原子鐘通過(guò)時(shí)鐘綜合器ADI公司的AD9522做雙時(shí)鐘切換、主備時(shí)鐘備份,CPLD根據(jù)需要配置時(shí)鐘綜合器生成DSP與FPGA的40 MHz工作時(shí)鐘、AD9233的40MHz或80 MHz采樣時(shí)鐘、AD9957的800 MHz輸入時(shí)鐘。電源采用凌特公司的LTM4600產(chǎn)生FPGA和DSP的I/O電壓3.3 V和FPGA的核電壓1.1 V,采用凌特公司的LT1764產(chǎn)生FPGA的2.5V電壓,采用TI公司的TPS54310產(chǎn)生DSP的核電壓1.2V,用凌特公司的LT1764產(chǎn)生AD9233的模擬電源1.8V和AD9957的模擬電壓3.3V。
2 軟件設(shè)計(jì)
2.1 MSK數(shù)字?jǐn)U頻調(diào)制
根據(jù)理論分析,MSK可以看作是具有正弦加權(quán)的OQPSK,系統(tǒng)采用具有正弦加權(quán)的OQPSK的調(diào)制方案,原理框圖如圖2所示。
在硬件電路實(shí)現(xiàn)時(shí),MSK基帶調(diào)制(圖中實(shí)線部分)在FPGA中實(shí)現(xiàn),當(dāng)接收到系統(tǒng)的發(fā)送允許St_TCLK時(shí),啟動(dòng)MSK基帶調(diào)制,從RAM中讀取發(fā)送信息數(shù)據(jù),從低位開(kāi)始進(jìn)行差分編碼、根據(jù)消息和偽碼進(jìn)行偽隨機(jī)擴(kuò)頻,將擴(kuò)頻后的數(shù)據(jù)進(jìn)行串并變換、正余弦加權(quán)運(yùn)算,之后將正余弦加權(quán)后數(shù)據(jù)送給D/A處理。中頻調(diào)制(圖中虛線部分)采用AD公司的帶D/A轉(zhuǎn)換的正交數(shù)字上變頻器AD9957完成,AD9957可以實(shí)現(xiàn)數(shù)據(jù)的內(nèi)插濾波、正交上變頻、D/A轉(zhuǎn)換輸出等功能,本系統(tǒng)設(shè)置中頻頻率為70 MHz。
由于基帶MSK調(diào)制就是對(duì)并行的兩路數(shù)據(jù)進(jìn)行正弦加權(quán),即每個(gè)比特對(duì)應(yīng)于周期為fb/4的半個(gè)的正弦波形,根據(jù)0/1選擇不同的相位,因此在具體實(shí)現(xiàn)中,可以采用查找表的方法,根據(jù)內(nèi)插系數(shù)先產(chǎn)生半個(gè)波長(zhǎng)的正弦波信號(hào)數(shù)據(jù)進(jìn)行存儲(chǔ),在調(diào)制時(shí)根據(jù)數(shù)據(jù)選擇輸出不同相位的半個(gè)周期正弦波形。[!--empirenews.page--]
圖3表示的是在板運(yùn)行時(shí),在QuartusⅡ的在線邏輯分析儀SignalTap上采集的MSK基帶調(diào)制波形,其中Ldata為I路調(diào)制數(shù)據(jù)。
2.2 MSK數(shù)字解擴(kuò)解調(diào)
本板的信息解調(diào)采用解擴(kuò)解調(diào)一次完成的方案:即在系統(tǒng)完成捕獲和同步的情況下,利用擴(kuò)頻碼的相關(guān)性,通過(guò)相關(guān)運(yùn)算,解出信息,因此系統(tǒng)接收方案就歸結(jié)為如何對(duì)相關(guān)峰進(jìn)行捕獲的問(wèn)題。
由于本系統(tǒng)的信號(hào)帶寬為5 MHz,因此可以根據(jù)欠采樣理論,對(duì)70 MHz模擬中頻信號(hào)進(jìn)行40 MHz欠采樣;根據(jù)數(shù)字信號(hào)處理理論,對(duì)70 MHz模擬中頻信號(hào)進(jìn)行40 MHz采樣,相當(dāng)于一次下變頻,將頻譜搬移到10 MHz的載頻上,通過(guò)本地的10 MHz的NCO,對(duì)采樣后的信號(hào)進(jìn)行數(shù)字正交下變頻,采用低通濾波器,濾掉高次諧波分量,變?yōu)榛鶐盘?hào)后,在與本地的PN碼所對(duì)應(yīng)的MSK基帶信號(hào)進(jìn)行基帶復(fù)相關(guān)運(yùn)算,運(yùn)算后的實(shí)部與虛部的模值就是最大相關(guān)峰值?;鶐?fù)相關(guān)原理框圖如圖4所示。
圖5為根據(jù)基帶復(fù)相關(guān)原理,在板運(yùn)行時(shí)解出的相關(guān)峰,根據(jù)實(shí)際測(cè)試結(jié)果,該方法完全可以滿(mǎn)足系統(tǒng)的指標(biāo)要求,并具備一定的抗多徑和多普勒頻偏的能力。
3 結(jié)論
通過(guò)采用DSP+FPGA的方案構(gòu)建的中頻調(diào)制解調(diào)系統(tǒng)能夠更好地完成中頻調(diào)制、解調(diào)、編譯碼、擴(kuò)頻解擴(kuò)和消息預(yù)處理等功能。將對(duì)時(shí)序要求嚴(yán)格的算法放到FPGA中實(shí)現(xiàn),系統(tǒng)控制和消息預(yù)處理由DSP來(lái)完成,這樣使得系統(tǒng)調(diào)試更加方便。通過(guò)該系統(tǒng)還可以實(shí)現(xiàn)QPSK。16QAM等其他多種調(diào)制方式,通過(guò)DSP對(duì)FPGA的不同配置,實(shí)現(xiàn)信號(hào)不同調(diào)制解調(diào)方式的切換,來(lái)實(shí)現(xiàn)中頻意義上的軟件無(wú)線電。