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