DVB-S射頻調制的FPGA設計方案
DVB-S標準只是規定了信道編碼及調制方式,沒(méi)有提供具體的射頻調制方案,DVB-S標準要求載波的頻率范圍為950 MHz-2150 MHz,由于受到FPGA內部資源運算速度的限制,一般只能實(shí)現中頻調制[1]。傳統的射頻調制是在中頻調制后加模擬上變頻,如中頻調制之后采用 AD8346[2]進(jìn)行射頻調制,但這樣就增加了設計的復雜度及成本。本文采用ADI公司最新推出的AD9789與FPGA相結合的方法實(shí)現了全數字 DVB-S標準射頻調制。
1 系統構架
AD9789[3] 14 bit TxDAC芯片內部集成了QAM編碼器、內插器和數字上變頻器,可為有線(xiàn)基礎設施實(shí)現2.4 GHz的采樣率。AD9789 TxDAC支持DOCSIS-III、DVB_C 2個(gè)標準,并不支持DVB-S標準。配置選項可以設置數據路徑來(lái)為QAM編碼器和SRRC濾波器設置旁路,從而使DAC能夠用于諸如無(wú)線(xiàn)基礎設施等多種應用中。本文就是利用這一點(diǎn)實(shí)現了DVB_S的射頻調制,在FPGA內部實(shí)現DVB-S信道編碼[3](隨機化、RS編碼、卷積交織、卷積壓縮編碼)、星圖映射、SRRC 濾波器(滾降系數為0.35),經(jīng)ODDR模塊給AD9789提供復數數據。其射頻調制方案如圖1所示。
2 可變符號率的設計
DVB-S調制器符號率一般支持1 MS/s~45 MS/s可調,這就需要對TS流進(jìn)行速率調整。整個(gè)DVB_S信道編碼有2次速率的變化:(1)RS編碼,它將188的包結構變成204的包結構,數據輸出的速率為輸入的204/188倍。(2)卷積壓縮編碼,由于卷積壓縮編碼采用不同的編碼比率,如1/2、2/3、3/4、5/6、7/8,對應的輸出數據速率就變成輸入數據速率的1、3/4、2/3、3/5、4/7倍,針對符號率的設計,本文提出了符號率的設計公式:FBAND=A×204 /188×8×1/2×(N/N-1),其中A為T(mén)S流的輸入數據速率,N的取值為2、3、4、6、7,之所以乘以8是因為在卷積編碼時(shí)要進(jìn)行數據的并串轉換。
本文采用插空包的方式實(shí)現RS編碼速率調整,其設計思路是在信道編碼之前對TS流進(jìn)行一次速率調整,將188的數據包變成204的數據包,這樣大大簡(jiǎn)化了后端的設計,具體的操作就是通過(guò)FIFO實(shí)現,由于TS流速率慢,所以先寫(xiě)FIFO,等到寫(xiě)滿(mǎn)一半,開(kāi)始讀,讀的時(shí)候每次只讀188個(gè)數據,然后再在其后添加16 B數據,添加0即可,這樣就變成了204個(gè)字節的包結構。由于讀的速率很快,有可能讀空,所以要判斷FIFO內部所剩下的數據,當不滿(mǎn)188 B時(shí),就插入204 B的空包,這樣可以保證速率調整之后的數據是連續的。符號率的設計公式變成:FBAND=B×8×1/2×(N/N-1),只需要改變B及N的值就可以實(shí)現符號率的可變。
針對卷積壓縮編碼速率調整,本文采用重配置DCM[4]與FIFO結合的方式實(shí)現,由于調制采用不同的編碼率,導致輸出的數據速率是可變的,這就使得數據的輸出時(shí)鐘是輸入時(shí)鐘的非整數倍,很難做到小數分頻,所以提出了用重配置DCM的方式提供可靠的時(shí)鐘對應關(guān)系。經(jīng)卷積壓縮編碼后的數據輸出是不連續的,為了便于后續數據升采樣的處理,通過(guò)一個(gè)FIFO將數據打成勻速的。
3 AD9789基本結構[5]
AD9789 包含一個(gè)用于器件配置和狀態(tài)寄存器回讀的 SPI(串行外設接口)端口。靈活的數字接口可以適應4 bit~32 bit的數據總線(xiàn)寬度,并且可以接收實(shí)數或復數數據,最多可接收4路輸入信號。每一路信號最大能經(jīng)過(guò)5級半帶插值濾波,插值之后的數據與NCO生成的正余弦信號相乘,再經(jīng)過(guò)通道增益變化,4路信號相加后再通過(guò)總增益調整、16倍插值和帶通濾波器實(shí)現數字上變頻,最后經(jīng)數模轉換輸出,其原理如圖2所示。4個(gè)通道的基帶處理模塊內部結構相同,如圖3所示。在本設計中,旁路掉QAM編碼器和SRRC濾波器,經(jīng)過(guò)5級半帶插值后,通過(guò)調節P/Q值,可實(shí)現不同符號率的調整。
4 AD9789上變頻原理及配置流程[5]
基帶信號經(jīng)過(guò)插值后與NCO生成的正余弦信號相乘,從而把基帶信號頻譜調制到0~fDAC/16之間完成基帶調制,即實(shí)現圖4(a)~圖(b)的轉換。經(jīng)過(guò)16倍插值濾波器后,形成16個(gè)奈奎斯特區,后15個(gè)區內的頻譜為第1奈奎斯特區基帶調制信號的鏡像頻譜,通過(guò)配置帶通濾波器的中心頻率,可濾除不需要的15個(gè)鏡像,得到要想的調制信號,如圖4(c)所示。AD9789的這種特殊架構,使得輸出的調制信號頻率范圍為0~fDAC,而fDAC最高可達 2.4 GHz,完全可以滿(mǎn)足DVB-S標準L波段輸出的要求。
AD9789通過(guò)SPI接口進(jìn)行參數配置,配置時(shí)鐘SCLK不能超過(guò)25 MHz。寫(xiě)操作時(shí),在SCLK上升沿有效。讀操作時(shí),數據在SCLK下降沿有效。AD9789的配置指令由指令控制字和操作數2部分組成。指令控制字包括 3部分:讀寫(xiě)操作指示位、一次讀寫(xiě)的字節個(gè)數和起始寄存器的地址。如果執行寫(xiě)操作,操作數就是要寫(xiě)入寄存器的值。如果執行讀操作,則操作數就是從相應寄存器中讀到的值。缺省情況下,SDIO是輸入,SDO是輸出,讀寫(xiě)數據高位在前。
配置AD9789時(shí)需要注意,大部分寄存器都是立即更新,但0x16~0x1D,0x22~0x23除外。只有在0x1E[7]為1 后,0x16~0x1D寄存器數據才更新。只有當0x24[7]位由0變?yōu)?后,0x22~0x23才更新。0x1E[7]會(huì )自動(dòng)清零,但0x24[7] 不會(huì )。為了保證來(lái)自FPGA的數據與AD9789的采樣時(shí)鐘相位一致,AD9789內部集成可編程重定時(shí)器,使用三級寄存器來(lái)實(shí)現重定時(shí)功能,具體由內部寄存器0x21[2:0]、0x23[7:0]控制。配置AD9789的流程如表1所示。
5 FPGA與AD9789的接口設計
AD9789的工作時(shí)鐘由ADF4350與ADCLK914聯(lián)合提供。ADF4350[6]是ADI公司推出的業(yè)界首款全集成的頻率合成器,內置片上 VCO(壓控振蕩器)與PLL(鎖相環(huán)),支持137.5 MHz~4.4 GHz范圍內的連續調諧,且支持整數小數分頻,具有出色的相位噪聲性能,完全可以滿(mǎn)足本系統的要求。
ADCLK914[7]是一款采用ADI公司專(zhuān)利的互補雙極性(XFCB-3)硅鍺(SiGe)工藝技術(shù)制造的超快型時(shí)鐘/數據緩沖器。ADCLK914 具備高壓差分信號(HVDS)輸出,適合用于驅動(dòng)ADI最新的高速數模轉換器(AD9789、AD9739)。
本系統中,在FPGA內部完成信道編碼、星座映射及基帶成形。AD9789數據接口總線(xiàn)采用32 bit,LVDS模式,只使用一個(gè)通道。所以輸入為一路復數數據信號,數據為16 bit的差分信號。根據所選的接口模式,在采樣時(shí)鐘上升沿,采樣得到的16 bit數據為I, 在采樣時(shí)鐘下降沿,采樣得到的16位數據為Q,調用一個(gè)ODDR模塊,將基帶成形后的I路數據和Q路數據合二為一,以L(fǎng)VDS模式輸出,分別與 AD9789的DP[15:0]和DN[15:0]相連。ODDR的工作時(shí)鐘直接來(lái)自DCO,DCO是AD9789數據的采樣時(shí)鐘輸出,由FDAC分頻產(chǎn)生,具體由內部寄存器0x22[5:4]決定,確保FPGA輸出數據和AD9789的數據采樣時(shí)鐘速率相等。
本文詳細介紹了DVB_S可變符號率的設計,利用新器件AD9789能實(shí)現數字上變頻的特性,結合FPGA,提出了一套解決全數字DVB-S射頻調制的方案,并給出了配置AD9789的詳細流程。結合具體實(shí)例,給出了重要參數的設置方法,與傳統的射頻調制相比,免去對片外混頻器和低通濾波器的需求,具有更佳的性能、更低的成本和更好的靈活性,可廣泛用于電纜調制解調器系統。
評論