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