用于RF收發(fā)器的簡(jiǎn)單基帶處理器
作者/ Rejeesh Kutty ADI公司
本文引用地址:http://www.ex-cimer.com/article/201612/342208.htm摘要:本文詳細(xì)地描述了RF基帶處理器的一般設(shè)計(jì)原則,并使用ADI公司的AD9361 FPGA參考設(shè)計(jì)討論了BBP的實(shí)際硬件實(shí)施。本文中提出的相關(guān)基帶處理器允許對(duì)數(shù)據(jù)進(jìn)行處理,以使其在兩個(gè)RF系統(tǒng)之間進(jìn)行無(wú)線傳輸。
如今,無(wú)線系統(tǒng)無(wú)處不在,無(wú)線設(shè)備和服務(wù)的數(shù)量持續(xù)增長(zhǎng)。設(shè)計(jì)完整的RF系統(tǒng)是一項(xiàng)跨學(xué)科設(shè)計(jì)挑戰(zhàn),模擬RF前端是其中最關(guān)鍵的部分。然而,AD9361等集成RF收發(fā)器的推出顯著減少了此類(lèi)設(shè)計(jì)的RF挑戰(zhàn)。這些收發(fā)器可為模擬RF信號(hào)鏈提供數(shù)字接口,可以輕松集成到ASIC或FPGA上進(jìn)行基帶處理。基帶處理器(BBP)允許在終端應(yīng)用和收發(fā)器設(shè)備之間的數(shù)字域中處理用戶數(shù)據(jù)。此外,使用Simulink等系統(tǒng)建模工具可以輕松完成基帶處理器設(shè)計(jì)。然而,新手用戶可能會(huì)發(fā)現(xiàn)難以理解和解決這個(gè)通信系統(tǒng)難題。本文嘗試為無(wú)線傳輸通信系統(tǒng)設(shè)計(jì)和實(shí)施簡(jiǎn)單的RF基帶處理器。設(shè)計(jì)使用AD9361 FPGA參考設(shè)計(jì)框架,在AD-FMCOMMS2-EBZ和Xilinx? ZC706平臺(tái)上實(shí)施。
1 在兩個(gè)正交信號(hào)I&Q上重復(fù)數(shù)據(jù)
典型的RF系統(tǒng)如圖1所示(直接RF系統(tǒng)除外)。圖1僅顯示了單個(gè)數(shù)據(jù)路徑,反方向是該數(shù)據(jù)路徑的鏡像圖像。由于載波相互獨(dú)立且彼此不同步,因此,發(fā)射和接收載波之間存在相位和頻率偏移,這將對(duì)接收器的解調(diào)產(chǎn)生不利影響。一個(gè)重要問(wèn)題是信號(hào)反轉(zhuǎn),由于偏移會(huì)定期合并和漂離,正交信號(hào)可能會(huì)反轉(zhuǎn)其作用??朔@種不確定性的簡(jiǎn)單方法是在兩個(gè)正交信號(hào)上重復(fù)相同數(shù)據(jù)。
2 以串行形式發(fā)送和接收數(shù)據(jù)(按位)
多數(shù)情況下,與BBP連接的RF前端接口是DAC和ADC,這些是模擬信號(hào)的數(shù)字接口。因此,不能簡(jiǎn)單地將數(shù)據(jù)發(fā)送到DAC輸入,并預(yù)計(jì)在ADC輸出端獲得相同數(shù)據(jù)。數(shù)據(jù)以串行形式發(fā)射,將單個(gè)位數(shù)據(jù)映射到DAC的全部分辨率。同樣,數(shù)據(jù)以串行形式接收,從ADC的全部分辨率解映射,這提供了充足的冗余。如果這些是16位轉(zhuǎn)換器,則接收器將從可能的65536數(shù)據(jù)集中決定1或0。僅這一點(diǎn),便可以顯著簡(jiǎn)化解碼。
3 用于RF收發(fā)器的簡(jiǎn)單基帶處理器
3.1 I&Q信號(hào)相互正交
RF前端設(shè)備(如AD9361)是I/Q收發(fā)器。如果輸入是正交信號(hào),這些設(shè)備最有效。這些設(shè)備通常沿兩個(gè)數(shù)據(jù)路徑進(jìn)行內(nèi)部I/Q匹配和校正,以抵消二者之間的任何差異。規(guī)則是,實(shí)部(I)信號(hào)是余弦函數(shù),虛部(Q)信號(hào)是正弦函數(shù)。
3.2 調(diào)制方案是BPSK
可以部署信號(hào)幅度、頻率或相位調(diào)制的所有常見(jiàn)方法。檢測(cè)相位差異相對(duì)來(lái)說(shuō)更加簡(jiǎn)單。由于數(shù)據(jù)以串行形式傳輸,因此,必然會(huì)選擇二進(jìn)制相移鍵控(BPSK)。
3.3 位間隔是8個(gè)樣本
數(shù)據(jù)需要時(shí)序信息、位間隔,可能的最大位間隔是采樣周期。為了使接收器保持簡(jiǎn)單,需要足夠的時(shí)間來(lái)解碼信號(hào),并做出決定。最簡(jiǎn)單的時(shí)序恢復(fù)方法是零交越和峰值檢測(cè)。在這種情況下,峰值將不一致。因此,選擇零交越進(jìn)行位間隔檢測(cè)和跟蹤。兩種系統(tǒng)之間也存在載波差異。在某些情況下,在用戶數(shù)據(jù)的任意端,樣本可能模糊不清。為每半個(gè)正弦信號(hào)留出4個(gè)樣本,位間隔設(shè)置為8個(gè)樣本。因此,有效的傳輸速率是采樣頻率除以8。
3.4 數(shù)據(jù)沒(méi)有直流成分
時(shí)序和相對(duì)相位恢復(fù)以信號(hào)的零交越為基礎(chǔ),因此,單個(gè)信號(hào)需要不含任何直流成分。此外,要求信號(hào)每隔一個(gè)位間隔允許至少一個(gè)零交越。正弦信號(hào)兼具兩者的屬性,并且非常符合上述BPSK調(diào)制方案要求。
3.5 數(shù)據(jù)已加擾
用戶數(shù)據(jù)是任意的,很可能是一長(zhǎng)串1或0。數(shù)據(jù)需要加擾,以便在接收器端恢復(fù)時(shí)序和相位,從而更高效地跟蹤信號(hào)。
3.6 數(shù)據(jù)以數(shù)據(jù)包的形式傳輸
由于系統(tǒng)彼此不同步,因此接收器的信號(hào)會(huì)存在幅度、頻率和相位誤差。解調(diào)信號(hào)是發(fā)射信號(hào)相對(duì)于本地載波發(fā)生相位變化的信號(hào)。載波可能會(huì)跟蹤一段時(shí)間,選取數(shù)據(jù),然后再跟蹤。因此,設(shè)計(jì)需要做好部分?jǐn)?shù)據(jù)丟失的準(zhǔn)備。為此,數(shù)據(jù)以數(shù)據(jù)包的形式傳輸??芍貜?fù)傳輸多個(gè)數(shù)據(jù)包,而非整個(gè)數(shù)據(jù)。
3.7 使用CRC驗(yàn)證數(shù)據(jù)包
數(shù)據(jù)包攜帶循環(huán)冗余校驗(yàn)(CRC)碼,因此,如果存在不匹配,則允許接收器丟包,并請(qǐng)求再次發(fā)送。
3.8 在每個(gè)前同步碼期間完成時(shí)序和相位校正
數(shù)據(jù)包表頭攜帶前同步碼,用于將其從接收到的數(shù)據(jù)流中劃分出來(lái)。此外,接收器使用該前同步碼復(fù)位信號(hào)的時(shí)序和相位信息,以解調(diào)數(shù)據(jù)包數(shù)據(jù)。
3.9 內(nèi)置性能指標(biāo)
接收器也支持統(tǒng)計(jì)計(jì)數(shù)器,如接收到的、丟棄的或校正的數(shù)據(jù)包數(shù)量。這些計(jì)數(shù)器用于衡量和監(jiān)控性能指標(biāo),包括誤碼率和有效數(shù)據(jù)速率。
總而言之,數(shù)據(jù)作為數(shù)據(jù)包以串行形式發(fā)送和接收。數(shù)據(jù)包攜帶前同步碼和CRC。數(shù)據(jù)在收發(fā)器設(shè)備前的中間正交信號(hào)上經(jīng)過(guò)BPSK調(diào)制和解調(diào)。因此,中間信號(hào)頻率和數(shù)據(jù)的位速率是采樣速率的八分之一?;鶐幚砥髂K及上述設(shè)計(jì)細(xì)節(jié)如圖2和圖3所示。
發(fā)送器讀取數(shù)據(jù)字節(jié)(字符寬度),并將其轉(zhuǎn)換為帶有表頭或前同步碼的數(shù)據(jù)包。將CRC添加到數(shù)據(jù)包末端。然后,對(duì)數(shù)據(jù)包數(shù)據(jù)進(jìn)行加擾和串行處理。在連接到收發(fā)器之前,單個(gè)位數(shù)據(jù)相位調(diào)制余弦(I)和正弦(Q)函數(shù)。
在接收方向,離線模塊恢復(fù)并跟蹤時(shí)序間隔和調(diào)制信號(hào)的相對(duì)相位。該信息用于從輸入的ADC樣本中恢復(fù)串行數(shù)據(jù)。然后組裝到數(shù)據(jù)包,并進(jìn)行解擾。在數(shù)據(jù)包結(jié)束時(shí),比較CRC,如果不匹配,則丟棄數(shù)據(jù)包。如果CRC匹配,數(shù)據(jù)傳遞給終端用戶。
4 實(shí)現(xiàn)
BBP設(shè)計(jì)在硬件中實(shí)施和測(cè)試。硬件是兩個(gè)評(píng)估板的組合:具有Zynq FPGA設(shè)備的Xilinx ZC706評(píng)估板和AD9361收發(fā)器的AD-FMCOMMS3-EBZ評(píng)估板。ADI提供支持該硬件的完整參考設(shè)計(jì)。該開(kāi)源設(shè)計(jì)在主要工具版本中免費(fèi)提供,可獲得完全支持和更新。
9361設(shè)備連接到axi_AD9361 IP外設(shè)。它在RF設(shè)備和系統(tǒng)存儲(chǔ)器之間傳輸原始采樣數(shù)據(jù)。外設(shè)和設(shè)備通過(guò)Linux內(nèi)核驅(qū)動(dòng)程序進(jìn)行初始化和控制。BBP則作為連接到axi_AD9361的另一個(gè)IP外設(shè)。出于歷史原因,BBP IP命名為axi_xcomm2ip。Linux中的用戶空間應(yīng)用程序用于在系統(tǒng)之間控制、發(fā)送和接收數(shù)據(jù)。
在ADI參考設(shè)計(jì)中,在發(fā)送方向,axi_AD9361 IP連接到解包模塊(util_upack),在接收方向,連接到打包模塊(util_cpack)。在發(fā)送方向,BBP數(shù)據(jù)插入解包模塊和AD9361內(nèi)核之間。為了使其不影響默認(rèn)數(shù)據(jù)路徑,BBP支持可選的數(shù)據(jù)路徑多路復(fù)用器,以選擇解包數(shù)據(jù)源或BBP數(shù)據(jù)源。BBP允許參考設(shè)計(jì)數(shù)據(jù)路徑作為默認(rèn)路徑,并僅在啟用時(shí)選擇BBP數(shù)據(jù)源。在接收方向,BBP僅連接到AD9361內(nèi)核。參考設(shè)計(jì)數(shù)據(jù)路徑不受影響。這允許框架不受妨礙地引導(dǎo)和設(shè)置系統(tǒng)。在系統(tǒng)設(shè)置后,啟用BBP,可通過(guò)覆蓋默認(rèn)數(shù)據(jù)路徑來(lái)進(jìn)行數(shù)據(jù)傳輸。以ADI參考設(shè)計(jì)實(shí)施的BBP的框圖如圖4所示。
5 小結(jié)
本文中討論的設(shè)計(jì)、初始化和數(shù)據(jù)傳輸使用一對(duì)這種硬件。設(shè)置僅需一對(duì)HDMI?監(jiān)視器、鍵盤(pán)、鼠標(biāo)及天線。系統(tǒng)彼此完全不同步,但需要相同設(shè)置。在每個(gè)方向,數(shù)據(jù)在不同載波上傳輸。設(shè)備1的發(fā)射載波頻率和設(shè)備2的接收載波頻率相同,但在另一個(gè)方向上不同。然而,如果回送中使用單個(gè)設(shè)備,發(fā)射和接收載波必須具有相同的頻率。BBP的HDL設(shè)計(jì)采用ADI庫(kù)模塊。
本文來(lái)源于《電子產(chǎn)品世界》2017年第1期第76頁(yè),歡迎您寫(xiě)論文時(shí)引用,并注明出處。
評(píng)論