徐東明 劉澤帆
(1.西安郵電大學通信與信息系統學院 西安 710000)(2.西安郵電大學電子工程學院 西安 710000)
由于一系列如更高的生產力,更快的上市時間等許多優點,高層次綜合在作為硬件設計的主要設計方法學方面越來越受歡迎。即使HLS 提供了許多優于當前基于RTL的設計方法的優點,在有效利用HLS CAD 工具進行面向復雜現實世界應用的硬件設計方面仍有許多工作要做。
文獻[1]、[8]中有幾個關于各種硬件設計的高層次綜合的案例研究,但它們往往只關注設計本身,而不是用舊的基于RTL的設計方法學與HLS結果進行比較和評估。在文獻[2]中呈現了一個案例,研究了集中在HLS 和HDL 綜合結果的比較和評估上。文獻[3]使用Vivado HLS CAD 工具合成了H.264 視頻解碼算法。文獻[10]展示了以前的一些專注于HLS 技術的案例研究已經證明HLS 已經為主流實現做好準備。文獻[11]、[13]介紹了業界和學術界目前可用的HLS 的CAD 工具的詳細概述。
課題的主要動機是基于文獻[4]、[5]以中高級復雜度來設計一種汽車雷達信號處理算法探究檢測目標的距離和相對于系統所在單元的物理速度來比較HLS和基于HDL的設計方法。
本文的主要目標是通過模擬和綜合基于賽靈思Virtex 7 FPGA 的汽車雷達信號處理算法,來評估和比較HLS 和基于HDL 的設計方法。用于評估和比較的指標是上市時間,速度(時序分析)和面積(資源利用率)。用于此目的的CAD 工具是Xilinx Vivado HLS。文獻[4]、[5]描述了我們比較中使用的HDL 模型。為了比較分析的公平性,現有的HDL 模型更新為針對Xilinx Virtex 7 FPGA 使用Xilinx Vivado,因為最初的設計是針對Xilinx Virtex 5。
本文將回答的其他一些問題是:
1)HLS 是否已經可以用于復雜的真實世界應用,例如汽車雷達信號處理算法?
2)HLS相比基于HDL的合成有什么優勢?
檢測車輛中各種情景的目標在汽車碰撞避免中起著重要作用。盡管車輛中的防撞回避是目標檢測的眾多應用之一,但它是一項重要的應用,因為道路上的安全始終是重中之重。所有的全球汽車行業都在廣泛的追求基于雷達的目標檢測,如碰撞警告、自動剎車、盲點監控、停車輔助、自適應巡航控制、換道輔助以及后方碰撞警告和避免等。像雷達等各種目標檢測方法在設計自動駕駛汽車時正在進行廣泛的研究。
此前,高功率脈沖多普勒雷達技術被用于目標檢測,但文獻[5]提出該技術因梅賽德斯-奔馳脈沖雷達輔助車距巡航控制系統故障而受到批評。因此,引入了頻率調制連續波(Frequency Modulated-Continuous Wave,FM-CW)雷達等新技術。近年來,汽車雷達系統在減少致命事故的數量方面已證明非常可靠。最初,這些系統實施起來很昂貴,只能用于高端豪華轎車。由于硬件技術的進步,在汽車行業實施這些系統的成本已經大大降低。這使得低端車輛也可以配備防撞系統。
我們將關注的汽車雷達信號處理系統在文獻[5]中介紹。該系統基于溫莎大學開發的遠程汽車系統。它基于使用微機電系統(Microelectromechanical System,MEMS)羅特曼透鏡,MEMS 無線電頻率(Radio Frequency,RF)開關和相控陣天線的線性FM-CW(Low Frequency Modulated-Continuous Wave,LFM-CW)方法來測量目標范圍和速度,以發送和接收信號,算法將處理以獲得期望的輸出。文獻[5]中的表1 提供了汽車雷達信號處理系統的初始系統規格。

表1 初始系統規格
采用頂層控制(Top-Level Contro,TLC)精密晶圓技術的76.5 GHz 單片微波集成電路(Monolithic Microwave Integrated Circuit,MMIC)電壓控制振蕩器。
圖1 顯示了整個雷達系統的框圖,其中顯示了主要組件。在此設計中,我們將重點關注作為FPGA的雷達處理單元。我們可以看到,RPU或FPGA有3個主輸出和1個主輸入。整個工作原理如下:
1)輸出到77 GHz VCO。
2)輸出到單刀3 擲(Single Pole Three Throw,SP3T)開關。
3)計算出被檢測目標的速度和距離。
唯一的主要輸入是從模數轉換器(Analog to Digital Converter,ADC)接收到的時域采樣。
文獻[5]中要合成的雷達信號處理算法可以分為兩部分:
1)雷達發射機控制和SP3T開關控制。
2)雷達接收機流量控制和信號處理。

圖1 雷達的系統框圖
2.2.1 雷達發射機和SP3T開關控制
該算法的這一部分為電壓控制振蕩器和單刀三擲開關提供必要的輸出。電壓控制振蕩器控制雷達系統發送的信號,單刀三擲開關負責在微機電系統羅特曼鏡頭光束端口(波束端口1,波束端口2,波束端口3)之間切換。
雷達設計的傳輸部分負責以下職責:
1)通過使用數模轉換器(Digital to Analog Converter,DAC)進行電壓掃描來調整電壓控制振蕩器,從而生成雷達頻率啁啾聲。
2)在接收到適當的信號后,將啁啾聲生成與信號處理同步。
3)跟蹤每次向下掃描結束的時間,以便將適當的輸出發送到單刀三擲開關控制器,以切換到下一個波束端口,從而改變波束方向。
4)修改輸出到單刀三擲開關以在微機電系統羅特曼鏡頭光束端口之間切換。
(1)波束端口1到波束端口2;
(2)波束端口2到波束端口3;
(3)波束端口3返回波束端口1。
這部分算法的流程圖可以在文獻[5]中的圖2中看到。文獻[5]中關于這部分算法的一些關鍵信息列舉如下:
1)傳感器從羅特曼透鏡的光束端口1 開始,并在系統復位后開始。
2)系統以向上掃描或正向頻率啁啾開始。
3)基于快速數模轉換器的市場可用性,具有900ns 刷新周期的10 位模數轉換器應適用于1ms的目標掃描持續時間。

圖2 雷達發射處理算法程序設計圖
4)基于10 位調制輸出,模數轉換器配置為輸出4.5 V~6.1 V 的電壓范圍,從FPGA 到模數轉換器的范圍從0~1023。
5)時鐘信號也發送至數模轉換器的數模轉換器時鐘。
6)模數轉換器的采樣時鐘將發送到模數轉換器。
7)3 引腳微機電系統無線電頻率RF 開關控制的輸出將是FPGA的3位輸出:
(1)(100)2(十進制數4):用于波束端口1;
(2)(010)2(十進制數2):用于波束端口2;
(3)(001)2(十進制數1):用于波束端口3。
2.2.2 雷達接收機處理與控制算法
這是汽車雷達信號處理算法的主要部分,它輸出目標信息。對此的輸入是從模數轉換器接收到的時域采樣。這部分算法的職責如下:
1)將漢明窗口應用于從ADC 采集到的時域樣本。
2)對窗口化的時域采樣執行快速傅里葉變換(FFT)以轉換為頻域樣本。
3)計算頻域樣本的振幅平方值。
4)通過對向上和向下掃描運行恒虛警率(CFAR)算法,忽略噪聲、雜波和單個目標檢測。
5)在單元恒虛警率算法完成后,通過峰值配對計算最終目標信息。雷達接收機處理與控制算法的流程圖見文獻[5]中的圖3。文獻[5]中提出了關于這部分算法的一些關鍵信息列舉如下:
1)系統的帶寬選擇為800MHz,可達到相當的距離分辨率。
2)計算出2MHz 的采樣頻率,2048 個樣品的采樣頻率為1.024 ms以上。
3)FFT 大小(即樣本數)將為2048,因此,將在1.024ms內收集2048個樣本。
4)CFAR 算法選擇了單元平均恒虛警率(Cell-Averaging Constant False Alarm Rate,CA-CFAR)。
5)由于FFT的輸出是對稱的,因此只考慮一半的FFT 輸出,因此單元平均恒虛警率算法可處理1024個頻域峰值。
6)誤報的概率被選為10-6,CUT 任一側的4 個單元的平均深度和CUT 任一側的2 個保護帶的平均深度被選中,其產生大約1.3714的縮放常數。
7)光譜接近度和功率水平是用于峰值配對的兩個標準。表2 中可以看到完整算法的最終設計規范。這些規范用于汽車雷達信號處理系統的三種實現。

圖3 雷達接收機處理算法程序設計圖

表2 算法的最終參數[5]
由于道路交通事故數量的不斷增加,雷達傳感器已經成為汽車行業非常流行的配置之一。與基于RTL 的設計相比,本課題實現了2 倍的加速,同時使得設計時間從大約16周減少到6周。FPGA的資源利用率雖然增加但仍低于FPGA 可用總資源的5%。此外,開發的Verilog HDL代碼可以用ASCI來實現,這大大提高了在實時環境中驗證設計的效率和準確性。