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