盧俊杰,羅 哉,鄭永軍,郭 斌,2,胡曉峰
(1.中國計量大學(xué),浙江杭州 310018;2.杭州沃鐳智能科技股份有限公司,浙江杭州 310018)
隨著汽車電子技術(shù)的日益成熟,汽車電動助力轉(zhuǎn)向系統(tǒng)(electric power steering,EPS)的裝車率越來越高,EPS系統(tǒng)是一種使用電機(jī)提供輔助扭矩的新型汽車動力轉(zhuǎn)向系統(tǒng)。無人駕駛汽車以及各種駕駛輔助設(shè)備,都在一定程度上受EPS系統(tǒng)的發(fā)展影響[1]。
EPS的研發(fā)需要獲取重要的技術(shù)參數(shù),通過搭建EPS試驗臺進(jìn)行仿真實驗相比于實車實驗可以縮短產(chǎn)品的開發(fā)周期,節(jié)約開發(fā)成本。EPS試驗臺的測試系統(tǒng)包括工控機(jī)、數(shù)據(jù)采集卡及傳感器等,如回正性能試驗中需要對輸入及輸出端扭矩、助力電機(jī)的電壓和電流等信號進(jìn)行監(jiān)測、分析和處理[2]。因此EPS試驗臺對數(shù)據(jù)采集系統(tǒng)的采樣精度、通道數(shù)量、緩存容量和傳輸速率等提出了較高的要求。目前國內(nèi)EPS試驗臺中數(shù)據(jù)采集系統(tǒng)多采用NI公司的產(chǎn)品如PCI-6259、PCIe-6320,以及研華公司的產(chǎn)品如PCI-1710等,該類板卡有通用性強(qiáng)、成熟度高等優(yōu)點,但是價格較高[3-4]。
針對以上問題,設(shè)計了一款基于PXIe(PCIe exte-nsion for instrumentation)接口和FPGA控制的32通道數(shù)據(jù)采集系統(tǒng),具有成本低、可靠性強(qiáng)、大容量高速傳輸?shù)奶攸c[5-8]。PXIe結(jié)合了PCIe的電氣總線特性與Compact PCIe的機(jī)械規(guī)范,并增加了專門的同步總線、環(huán)境測試規(guī)范等,廣泛應(yīng)用于航空、汽車生產(chǎn)及工業(yè)測試等領(lǐng)域[9]。
根據(jù)性能指標(biāo)需求,整個系統(tǒng)架構(gòu)由信號調(diào)理電路、輸入選擇電路、ADC數(shù)據(jù)采集模塊、FPGA芯片及其外圍電路、DDR3數(shù)據(jù)緩存模塊、電源管理系統(tǒng)、PXIe連接器和上位機(jī)軟件組成,系統(tǒng)總體設(shè)計框圖如圖1所示。其中PXIe連接器為PXIe規(guī)范定義的XJ3與XJ4連接器,XJ3連接器由2對PCIe高速差分?jǐn)?shù)據(jù)信號線以及100 MHz參考時鐘、熱插拔檢測、復(fù)位信號線等組成;XJ4連接器提供工控機(jī)機(jī)箱背板的12 V電源經(jīng)過DC-DC轉(zhuǎn)換和穩(wěn)壓芯片及其外圍電路變換為±15 V、5 V、3.3 V、2.5 V等電源網(wǎng)絡(luò)為其他模塊供電。
圖1 系統(tǒng)總體設(shè)計框圖
系統(tǒng)的基本工作流程為:傳感器輸出的模擬信號通過背板連接器輸入信號調(diào)理電路,每路模擬信號經(jīng)過偏移衰減、差分轉(zhuǎn)單端和抗混疊濾波處理后送入4塊8∶1多路復(fù)用器組成的輸入選擇電路;然后FPGA通過MUX控制總線對多通道模擬信號輪詢切換將數(shù)據(jù)送入ADC數(shù)據(jù)采集模塊;其次FPGA完成數(shù)字信號的接收和FIR濾波處理,并根據(jù)需要把采集的數(shù)據(jù)存儲到用戶邏輯側(cè)AXI外設(shè)寄存器,以備PXIe進(jìn)行少量采樣數(shù)據(jù)上傳,寄存器同時對工控機(jī)下發(fā)的采樣配置參數(shù)保存,或者把數(shù)據(jù)傳輸至DDR3存儲器中大容量緩存;最后,通過PXIe接口將數(shù)據(jù)送入工控機(jī)進(jìn)行處理和顯示。
本系統(tǒng)使用14 bit ADC芯片AD9240,其主要功能和指標(biāo)為:高采樣速率,最高達(dá)10 MSPS;低功耗,單一的+5 V電源供電,功耗僅285 mW;低噪聲,積分非線性誤差為0.5 LSB,微分非線性誤差為1 LSB。AD9240的電壓轉(zhuǎn)換范圍由參考電壓VREF決定,如式(1)所示:
-VREF≤VINA-VINB≤VREF
(1)
式中:VINA和VINB為施加在芯片引腳上的差分電壓。
AD9240內(nèi)部參考電壓溫度穩(wěn)定度可以滿足使用要求為20×10-6V/℃,因此本設(shè)計將SENSE和VREFCOM端口相聯(lián),得到內(nèi)部參考電壓VREF為2.5 V。AD9240的轉(zhuǎn)換速率由采樣時鐘決定,每個時鐘上升沿處采集的模擬信號會在延遲3個時鐘周期后輸出,AD9240時序圖如圖2所示,表1為時序約束。時鐘穩(wěn)定性對采樣精度有很大影響,因此采樣時鐘由FPGA的全局時鐘資源優(yōu)化后提供,同時由于FPGA的BANK電壓為3.3 V,采用高速邏輯門芯片實現(xiàn)5 V電平轉(zhuǎn)換。
圖2 AD9240時序圖
表1 時序約束
系統(tǒng)指標(biāo)要求差分輸入電壓范圍為±20 V,因此需要在模擬信號進(jìn)入ADC之前進(jìn)行信號調(diào)理,信號調(diào)理電路如圖3所示。
圖3 信號調(diào)理電路原理圖
首先,電容C1、C3組成一階RC低通濾波器,限制到達(dá)ADC輸入端的帶寬外噪聲,同時采用2個相反方向串聯(lián)的穩(wěn)壓二極管保護(hù)運放輸入免受任一方向的過壓影響。其次,AD8512是一款高精度、低噪聲、高帶寬的JFET運算放大器,在供電電壓為±15 V的情況下,具有增益帶寬積8 MHz,CMRR最小值86 dB及輸入失調(diào)電壓0.08 mV和輸入偏置電流20 pA等特性?;贏D8512組成差分放大電路,當(dāng)R1=R4,R2=R5,R3=R6,C1=C3時,經(jīng)過計算可得該電路的傳遞函數(shù)為
(2)
式中:VP和VN為差分輸入電壓;VO為調(diào)理電路輸出電壓。
電路增益為R3/(R1+R2),差分輸入阻抗為2(R1+R2),通過合理選擇阻值使得輸入模擬電壓轉(zhuǎn)為在ADC的電壓轉(zhuǎn)換范圍內(nèi),同時與信號源輸出阻抗做匹配,本設(shè)計中R1=47 kΩ,R2=1 MΩ,R3=127 kΩ。式(3)為共模抑制比計算經(jīng)驗公式。
(3)
式中:G為電路增益;ε為電阻容差;α為比例參數(shù)。
當(dāng)參數(shù)α取4時計算最小共模抑制比,計算可得電阻容差ε為0.1%。數(shù)據(jù)采集卡一般采用多塊ADC芯片方案,隨著通道數(shù)的增加,成本也越高,本設(shè)計采用單塊ADC芯片,當(dāng)增加通道數(shù)量時,只需增加調(diào)理電路和多路復(fù)用器,具有低成本的擴(kuò)展性。
FPGA作為整個系統(tǒng)的主控單元,其邏輯設(shè)計是系統(tǒng)性能的關(guān)鍵,XC7A100T型FPGA的邏輯設(shè)計采用Xilinx官方推出的VIVADO開發(fā)環(huán)境,主要包括ADC數(shù)據(jù)接收控制、FIR數(shù)字濾波器、數(shù)據(jù)緩存控制和Block Design,內(nèi)部邏輯框圖如圖4所示。
圖4 FPGA內(nèi)部邏輯設(shè)計框圖
Block Design是基于Xilinx豐富的IP核和AXI協(xié)議的一種FPGA程序設(shè)計方式,本設(shè)計使用了Xilinx官方提供的PCIe IP核XDMA,DDR存儲器IP核MIG和MSXBO公司提供的IP核FDMA。除此外,時鐘管理單元MMCM將XDMA提供的125 MHz時鐘分別轉(zhuǎn)化為100 MHz時鐘用于用戶邏輯和200 MHz時鐘用于MIG控制器。
PCIe接口各版本的性能參數(shù)見表2。本設(shè)計采用PCIe2.0 X2接口,可提供鏈路帶寬為10 GT/s,滿足高速傳輸設(shè)計指標(biāo)。
表2 PCIe各版本性能參數(shù)
XC7A100T芯片帶有PCIe硬核模塊,在不占用額外邏輯資源的情況下便可完成高性能、高效率的PCIe接口設(shè)計。Xilinx提供了3種關(guān)于PCIe的IP,分別為“7 Series Integrated Block for PCIe”、“AXI Memory Mapped to PCIe”和“DMA/Bridge Subsystem for PCIe(XDMA)”,其中第一種IP集成度低,僅包含了PCIe協(xié)議,第二種IP在前者基礎(chǔ)上集成AXI內(nèi)部總線。本設(shè)計采用的IP核為XDMA不僅包含有PCIe協(xié)議的物理層、數(shù)據(jù)鏈路層和事務(wù)層,并且實現(xiàn)了一個高性能、可配置的分散聚集式DMA[10]。本設(shè)計將XDMA配置為AXI MemoryMap接口,以實現(xiàn)PCIe地址空間和AXI地址空間之間的高性能數(shù)據(jù)傳輸,除此外添加AXI-Lite Master總線實現(xiàn)PCIe BAR地址到AXI-Lite地址空間的映射,主要用于上位機(jī)CPU與AXI4-Slave自定義IP核內(nèi)外設(shè)寄存器進(jìn)行通信。
存儲芯片選用2片DDR3內(nèi)存,數(shù)據(jù)接口32 bit,容量為512 MB,在200 MHz工作頻率下理論帶寬可達(dá)3 200 MB/s,滿足最高32通道10 MSPS的大容量數(shù)據(jù)緩存要求。MIG控制器IP核包括了物理層、內(nèi)存控制器和用戶接口模塊,完成DDR3的初始化、刷新和預(yù)充電操作,并且把DDR3復(fù)雜的讀寫時序簡化,本設(shè)計配置為標(biāo)準(zhǔn)AXI接口,以實現(xiàn)與用戶邏輯的連接。
FDMA是一種方便用戶邏輯進(jìn)行AXI4 Full Master操作的IP核,主要用于采集數(shù)據(jù)到DDR3的DMA傳輸。同時為了實現(xiàn)用戶邏輯與PCIe的簡單高速通信,設(shè)計了AXI4-Slave自定義IP核存儲上位機(jī)PCIe發(fā)送的ADC配置信息和采樣數(shù)據(jù),寄存器地址見表3。
表3 AXI4-Slave寄存器地址表
將所有IP核掛載到AXI4總線上,則上位機(jī)和用戶邏輯分別可以通過PCIe和FDMA來訪問對應(yīng)AXI地址空間的各個模塊。自定義IP外設(shè)寄存器和DDR3通過地址映射成為上位機(jī)和FPGA的共享存儲器。當(dāng)上位機(jī)向FPGA發(fā)送寫請求時,XDMA把配置信息寫入外設(shè)寄存器,進(jìn)而控制ADC數(shù)據(jù)接收模塊把數(shù)據(jù)通過FDMA存入DDR3;當(dāng)上位機(jī)向FPGA發(fā)出讀請求時,XDMA將數(shù)據(jù)從DDR3讀出到上位機(jī)內(nèi)存。
用戶邏輯接收到配置信息后,ADC數(shù)據(jù)接收控制模塊開始控制ADC芯片,圖5為模塊的FPGA邏輯架構(gòu)。通過除法器IP核由配置采樣速率和啟用通道數(shù)計算ADC的單通道采樣時鐘;由于AD9240輸出在時鐘沿后3個周期出現(xiàn),數(shù)據(jù)處理單元根據(jù)啟用通道數(shù)包含的二進(jìn)制位置信息,經(jīng)過寄存器延遲產(chǎn)生當(dāng)前數(shù)據(jù)的通道位置、數(shù)據(jù)有效標(biāo)志和14 bit并行數(shù)據(jù);同時MUX控制單元產(chǎn)生MUX總線選通相應(yīng)模擬通道;除此外,狀態(tài)處理單元對配置采樣深度和采樣計數(shù)器比較,控制全局使能信號。
圖5 數(shù)據(jù)接收模塊邏輯架構(gòu)
ADC轉(zhuǎn)換后的數(shù)據(jù)仍存在高次諧波和其他高頻信號,這些噪聲的存在會影響到數(shù)據(jù)處理和分析結(jié)果,因此將數(shù)據(jù)傳輸?shù)较乱患壡靶枰獙?shù)據(jù)進(jìn)行濾波處理。本設(shè)計采用9階FIR有限長單位沖擊響應(yīng)濾波器,具有線性相位、幅度特性可設(shè)置的特點。圖6是基于式(4)的FPGA邏輯架構(gòu),其中x(n)為輸入信號,N為階數(shù),g(n)為輸出信號,利用MATLAB的FDATOOL工具產(chǎn)生濾波器系數(shù)h(k),將系數(shù)導(dǎo)入FPGA通過寄存器延遲和加乘法操作實現(xiàn),由于濾波器系數(shù)為小數(shù),而FPGA只能處理整數(shù),采用移位算法實現(xiàn)先放大后取整,再除以相同的倍數(shù),可以減少硬件資源消耗。
圖6 FIR數(shù)字濾波器邏輯架構(gòu)
(4)
FDMA controller模塊實現(xiàn)將濾波后數(shù)據(jù)打包為FDMA的Pkg總線,由狀態(tài)機(jī)和FIFO組成。本設(shè)計只用到FDMA的寫通道,其時序圖如圖7所示;采用同步FIFO,輸入時鐘為100 MHz系統(tǒng)時鐘,輸入使能和數(shù)據(jù)為濾波器的有效信號和16 bit輸出,輸出使能和數(shù)據(jù)為Pkg總線的en信號和128 bit數(shù)據(jù)。狀態(tài)機(jī)包括IDLE和WRITE狀態(tài),IDLE狀態(tài)下,設(shè)置AXI突發(fā)傳輸一個數(shù)據(jù)包大小為128 bit×256=4 096 B,當(dāng)FIFO讀計數(shù)器達(dá)到256時產(chǎn)生一個標(biāo)志位,則狀態(tài)機(jī)檢測到標(biāo)志位后產(chǎn)生一個Pkg總線的areq高脈沖,并且狀態(tài)機(jī)跳轉(zhuǎn);WRITE狀態(tài)下,一個數(shù)據(jù)包經(jīng)過FIFO傳輸?shù)紽DMA,則FDMA會產(chǎn)生一個反饋信號last,狀態(tài)機(jī)檢測到該信號后將地址增加4096并返回IDLE狀態(tài)。
圖7 FDMA寫通道時序圖
系統(tǒng)上位機(jī)軟件分為驅(qū)動和應(yīng)用程序,本系統(tǒng)基于XDMA驅(qū)動生成動態(tài)鏈接庫DLL,使用Visual Studio平臺進(jìn)行應(yīng)用程序的開發(fā),編程語言為C#。圖8為應(yīng)用程序界面圖,操作流程為:首先,通過選擇啟用通道號,輸入采樣頻率和采樣點數(shù)后,點擊設(shè)置按鈕;然后,點擊自動,界面實時刷新顯示當(dāng)前各通道采樣值或點擊測試,上位機(jī)將采集到的數(shù)據(jù)保存創(chuàng)建Excel文件且作圖顯示。
圖8 應(yīng)用程序界面圖
通過直流電源GPD-2303S輸出被測直流電壓,該直流電源的電壓讀值精度為±(0.03%×讀數(shù)+10 bit),可以滿足對系統(tǒng)采樣精度測試。上位機(jī)設(shè)置采樣率為2.5 MHz,采樣點數(shù)為10 240,測量結(jié)果如表4所示,結(jié)果表明本系統(tǒng)采樣精度優(yōu)于0.1%,滿足性能要求。
表4 采樣精度
使用信號發(fā)生器輸出峰峰值為20 V、頻率為f的正弦信號作為測試信號,其中f的取值范圍為:{2.4,6.1,10,15.5,20,50,60,70,110,130,150,160,170,175,190,195…},單位kHz,上位機(jī)設(shè)置采樣率為2.5 MHz,采樣點數(shù)為10 240,記錄每個頻率下系統(tǒng)采集到的信號峰峰值VO,則VO/20即為系統(tǒng)的增益,將其轉(zhuǎn)換為對數(shù),當(dāng)增益衰減到-3 dB時輸入信號的頻率即為系統(tǒng)帶寬,測量結(jié)果如圖9所示,結(jié)果表明系統(tǒng)帶寬約為190 kHz。
圖9 增益-頻率變換曲線
選取系統(tǒng)帶寬內(nèi)若干頻率點,使用MATLAB將采集到的數(shù)據(jù)做FFT變換并加窗,計算得到各頻率點動態(tài)性能參數(shù)如表5所示,結(jié)果表明系統(tǒng)動態(tài)性能良好,信噪比約為55 dB,有效位數(shù)接近9 bit。
表5 動態(tài)性能參數(shù)
本文根據(jù)汽車EPS試驗臺中對測試系統(tǒng)的性能指標(biāo)需求,設(shè)計了一款基于PXIe總線和FPGA的32通道數(shù)據(jù)采集系統(tǒng),對系統(tǒng)采樣精度、模擬帶寬和動態(tài)性能進(jìn)行測試,結(jié)果表明本設(shè)計在滿足測試需求的同時與同類型數(shù)據(jù)采集系統(tǒng)比較具有價格優(yōu)勢。本設(shè)計增加輸入通道時,只需增加信號調(diào)理電路和多路復(fù)用器,具有低成本的擴(kuò)展性,同時FPGA邏輯設(shè)計中XDMA+MIG+AXI4-Slave自定義IP的Block Design邏輯架構(gòu)可以方便地運用在其他類型PXIe板卡設(shè)計中,具有靈活的移植性,對國內(nèi)EPS試驗臺的研發(fā)具有實用價值。