孫黃悅, 于 映
(南京郵電大學 集成電路科學與工程學院, 江蘇 南京 210023)
毫米波通信具有波束窄、尺寸小、探測能力強等優(yōu)點[1],已成為當前移動通信研究的熱點。早期毫米波雷達主要應用于軍事領域,近年來隨著雷達技術的發(fā)展,毫米波雷達傳感器開始應用于汽車電子、無人機、智能交通等民用領域[2-3]。毫米波雷達具有精度高、抗干擾能力強、全天候全天時、高分辨率、多目標等優(yōu)點。2017 年5 月16 日,美國德州儀器(TI)全球發(fā)布了AWR和IWR 兩個系列的毫米波雷達傳感器,面向汽車領域和工業(yè)領域。 本文使用TI 公司的毫米波雷達AWR1243boost 開發(fā)板作為系統(tǒng)的射頻前端傳感器。AWR1243 器件是一款能夠在76~81 GHz 頻帶內(nèi)運行的集成式單芯片F(xiàn)MCW 收發(fā)器,主要集成了小數(shù)分頻PLL、發(fā)射器、接收器、基帶和ADC,具有4 GHz 的可用帶寬、3 個發(fā)射通道和4 個接收通道。AWR1243 評估板上還集成了77 GHz 毫米波MIMO 天線、頻率為40 MHz的時鐘晶振、與外部處理器進行控制連接的SPI 接口以及與外部處理器進行數(shù)據(jù)連接的MIPI D-PHY 和CSI2 V1.1 接 口[4]。AWR1243 芯片的架構(gòu)如圖1 所 示。
針對毫米波雷達射頻前端的高速數(shù)據(jù),毫米波雷達采集數(shù)據(jù)系統(tǒng)應具有高數(shù)據(jù)采集速率、大數(shù)據(jù)容量以及較高的可移植性等特點?,F(xiàn)場可編程門陣列(Field Programmable Gate Array, FPGA)具有并行運算能力強、實時性好等優(yōu)點,可以滿足毫米波雷達射頻前端高速數(shù)據(jù)的需求。本文提出一種以FPGA、USB 為數(shù)據(jù)傳輸媒介的適用于毫米波雷達的數(shù)據(jù)采集系統(tǒng)[2],介紹了FPGA 內(nèi)部各功能模塊的劃分和基本的數(shù)據(jù)通路。
基于FPGA 的毫米波雷達數(shù)據(jù)采集系統(tǒng)主要由射頻前端模塊、FPGA 數(shù)據(jù)采集卡模塊以及上位機模塊[1,4-5]三部分組成,系統(tǒng)架構(gòu)如圖2 所示。AWR1243boost評估板的接收天線接收毫米波回波信號,并經(jīng)過混頻器、濾波器、ADC 模塊轉(zhuǎn)換為高頻數(shù)字信號。AWR1243boost 提供了CSI2 和LVDS 兩種接口輸出ADC 原始數(shù)據(jù)[4]。在該系統(tǒng)中,F(xiàn)PGA 數(shù)據(jù)采集卡通過配置模塊,選擇使用LVDS 格式的ADC 原始數(shù)據(jù)。FPGA 數(shù)據(jù)采集卡采集射頻前端的原始數(shù)據(jù),并對其進行降速、位寬轉(zhuǎn)換以及緩存處理。緩存后的數(shù)據(jù)通過USB 模塊轉(zhuǎn)換成符合USB協(xié)議的數(shù)據(jù)格式,再發(fā)送給上位機,上位機解析數(shù)據(jù)并進行處理。在該系統(tǒng)中,F(xiàn)PGA 選用Xilinx 公司的Artix-7 系列XC7A35T 芯片,該芯片內(nèi)部有33 280 個邏輯單元、5 200個查找表以及41 600 個觸發(fā)器。DDR3 芯片選用Micron(美光)公司2 Gbit 芯片,型號為MT41J28M6HA-125。DDR 的總線寬度為16 bit,最高運行時鐘頻率為400 MHz(數(shù)據(jù)速率為800 Mb/s)。 USB 模 塊 選 用FTDIChip 公 司 的FT232H單通道高速USB芯片,其最高通信速率可達到480 Mb/s,并且支持不同的數(shù)據(jù)通信模式(FIFO、I2C、SPI),在本文系統(tǒng)中,采用FIFO模式進行通信。
圖2 數(shù)據(jù)采集系統(tǒng)架構(gòu)
AWR1243 是一種集成調(diào)頻連續(xù)波(FMCW)收發(fā)器,外部處理器可通過SPI 接口控制雷達內(nèi)各個參數(shù),如FMCW 調(diào)頻斜率、采樣率、Chirp 參數(shù)配置、接口通道、數(shù)據(jù)格式等[4,6]。射頻前端配置模塊主要分為4 個子模塊,分別為40 MHz 時鐘分頻模塊、片選使能模塊、FMCW 毫米波配置模塊以及配置發(fā)送控制模塊,如圖3 所示。
圖3 射頻前端配置模塊
圖3 中:clk_40M 模塊是分頻模塊,主要產(chǎn)生40 MHz 頻率時鐘;cs_generate 模塊是產(chǎn)生片選使能模塊;fmcw_config 模塊主要負責配置射頻前端各個參數(shù)的具體數(shù)值;awr_config_send_fsm 主要負責參數(shù)發(fā)送模塊的狀態(tài)機控制。參數(shù)發(fā)送狀態(tài)轉(zhuǎn)移圖如圖4 所示。
圖4 參數(shù)發(fā)送狀態(tài)轉(zhuǎn)移圖
圖5 所示為SPI 時序圖,其各個參數(shù)均按照此時序依次發(fā)送給AWR1243boost 的寄存器,當檢測到cs 有效下降沿時,間隔兩個時鐘周期數(shù)據(jù)有效,并且每2 B,cs使能有效一次。
圖5 SPI 時序圖
AWR1243boost interface 模塊主要負責接收毫米波雷達射頻前端數(shù)據(jù),毫米波雷達產(chǎn)生4 路串行低電壓差分(LVDS)數(shù)據(jù)[7],該模塊架構(gòu)如圖6 所示。針對差分數(shù)據(jù)格式,此模塊中采用雙異步FIFO 接收數(shù)據(jù)[8]。
圖6 AWR1243boost interface 架構(gòu)
將高電平有效的4 組接口串行數(shù)據(jù)連接高電平有效異步FIFO,將低電平有效的串行數(shù)據(jù)連接低電平有效異步FIFO,即輸入數(shù)據(jù)設置為rdata_p[3∶0]和rdata_n[3∶0],并且將差分時鐘分別連接2 個異步FIFO 的輸入時鐘,此差分時鐘頻率為150 MHz。異步FIFO 的讀時鐘則由系統(tǒng)架構(gòu)中的時鐘模塊產(chǎn)生,時鐘 頻率為100 MHz。
DDR3 控制模塊為系統(tǒng)的數(shù)據(jù)緩存模塊[9-10]。射頻前端數(shù)據(jù)單通道輸入速率為150 Mb/s;USB 模塊的接口速率最大可達480 Mb/s,該數(shù)據(jù)線具有一定的空閑期,需要將數(shù)據(jù)進行緩存,然后再發(fā)送給上位機,就可以最大限度地解決傳輸速度不匹配的問題。DDR3 控制模塊的各參數(shù)可根據(jù)Xilinx 提供的MIG IP 核進行配置。圖7 所示為DDR3 interface control 模塊架構(gòu)框圖。
圖7 DDR3 interface control 模塊架構(gòu)
用戶接口模塊接收通道合并后的數(shù)據(jù),并設置寫突發(fā)長度(wr_burst_len)、寫突發(fā)數(shù)據(jù)(wr_burst_data)、寫突發(fā)地址(wr_burst_addr)以及寫突發(fā)請求信號(wr_burst_req)等。突發(fā)傳輸模塊解析以上信號,并生成 app_rdy、app_en、app_addr、app_wdf_data 以 及app_cmd 信號作為IP 核的輸入,用于和DDR3 SDRAM存儲模塊交互。
在寫傳輸時,突發(fā)傳輸模塊準備信號app_rdy 和使能信號app_en 都應保持高使能,并確保寫操作命令app_cmd 和地址信號app_addr 有效。當app_wdf_rdy 信號和app_wdf_wren 信號都為高時,此時寫入數(shù)據(jù)app_wdf_data 有效。讀傳輸時,需要app_rdy、app_en、app_addr 及app_cmd 信號同時有效時數(shù)據(jù)才有效,且數(shù)據(jù)輸出會有延遲。
USB interface control 模塊主要作為FT232H 驅(qū)動芯片的接口模塊[8,11-13]。使用FT_Prog 軟件可將FT232H 配置為同步FIFO 模式[11]。因此本文進行該模塊設計時,同樣需要設計一個同步FIFO 模塊,用于和FT232H 中的同步FIFO 模塊進行數(shù)據(jù)交互[14]。USB interface control模塊框圖如圖8 所示。
圖8 USB interface control 模塊框圖
系統(tǒng)平臺搭建完成后,進行系統(tǒng)測試和分析。測試過程主要包括 FPGA程序燒錄、功能仿真、收發(fā)數(shù)據(jù)對比。
本文系統(tǒng)在Xilinx 公司提供的Vivado 軟件開發(fā)環(huán)境下進行FPGA 程序的編寫、功能仿真、綜合優(yōu)化、綜合后仿真、布局布線以及板級仿真和驗證。在板級仿真和驗 證 時,加 入ILA(Intergrated Logic Analyzer)核,即Vivado 的集成邏輯分析儀。在系統(tǒng)架構(gòu)內(nèi)加入ILA 模塊,ILA 模塊通過多個探針(Probe)采集需要觀察的信號。首先,將FPGA 程序進行編譯綜合,生成bit 流文件;再使用FPGA 下載器連接計算機和FPGA,將bit 流文件燒錄到FPGA 中;下載完成后ILA 模塊自動打開,采集需要觀察的信號,判斷信號是否正確并進行調(diào)試。
在系統(tǒng)架構(gòu)的頂層模塊中加入ILA 核,主要檢測射頻前端四路差分數(shù)據(jù)與AWR1243boost interface 模塊中異步FIFO 的寫入數(shù)據(jù)。 圖9 所示為ILA 抓取AWR1243boost interface 模塊異步FIFO 的寫入數(shù)據(jù)。
圖9 異步FIFO 寫入數(shù)據(jù)
圖10 所示為射頻前端配置模塊的片選信號波形,其中每2 Byte,信號使能有效一次。
圖10 AWR1243boost 四路串行數(shù)據(jù)
數(shù)據(jù)從兩方面進行接收:一方面,使用TI 公司的毫米波雷達配置軟件(UniFlash)對AWR1243boost 雷達板卡燒錄驅(qū)動程序[15],在PC 端使用串口助手捕捉原始的雷達回傳數(shù)據(jù)(bin 文件);另一方面,射頻前端數(shù)據(jù)經(jīng)過系統(tǒng),由PC 端的Matlab 接收并收集。導出收集的數(shù)據(jù)并與原始的雷達回傳數(shù)據(jù)對比,發(fā)現(xiàn)導出的數(shù)據(jù)與原始的雷達回傳數(shù)據(jù)一致,沒有出現(xiàn)數(shù)據(jù)丟失的情況。圖11 所示為原始的雷達回傳數(shù)據(jù)的部分展示,使用Binary Viewer軟件打開,左側(cè)為數(shù)據(jù)地址,右側(cè)為數(shù)據(jù)。
圖11 原始數(shù)據(jù)(部分)
圖12 所示為Matlab 收集的數(shù)據(jù),Matlab 將接收到的原始數(shù)據(jù)收集到文本文件中。通過對比可以發(fā)現(xiàn),其原始數(shù)據(jù)和經(jīng)過系統(tǒng)緩存后的數(shù)據(jù)一致。
圖12 Matlab 收集的數(shù)據(jù)
本文提出一種基于FPGA 的毫米波雷達數(shù)據(jù)采集系統(tǒng),該系統(tǒng)通過FPGA 向射頻前端發(fā)送參數(shù)數(shù)據(jù),并通過FPGA 接收回傳的雷達原始數(shù)據(jù),可為后續(xù)的算法實現(xiàn)提供一套穩(wěn)定的數(shù)據(jù)采集系統(tǒng)。
注:本文通訊作者為于映。