1AD7606/AD7616介紹
AD7606是ADI公司的16位、8通道同步采樣AD芯片,并行采樣率高達200KSPS(AD7616是16位、16通道、1MSPS)。在電力線路測量和保護系統中,需要對多相輸配電網絡的大量電流和電壓通道進行同步采樣,AD7606是目前電力系統中最常用的ADC采樣芯片之一。
AD7606片上集成模擬輸入箝位保護、二階抗混疊濾波器、跟蹤保持放大器、16位電荷再分配逐次逼近型ADC內核、數字濾波器、2.5V基準電壓源及緩沖、高速串行和并行接口。AD7606采用5V單電源供電,不再需要正負雙電源,并支持±10V或±5V的雙極性信號輸入。所有通道均能以高達200KSPS的速率進行采樣,同時輸入端箝位保護電路可以承受最高達±16.5V的電壓。
目前AD7606已廣泛應用于電力線路檢測和保護系統、多項電機控制、儀器儀表和控制系統、多軸定位系統核數據采集系統(DAS)。
圖 1
圖 2
圖 3
圖 4
2ZYNQ SoC在能源電力領域方案優勢
(1)采用Xilinx Zynq-7000 SoC高性能低功耗處理器,集成PS端單核/雙核ARM Cortex-A9 + PL端Artix-7架構可編程邏輯資源。
(2)可通過PL端Artix-7架構可編程邏輯資源按需擴展外部功能接口,只要資源滿足,理論上無數量限制。典型應用:CAN(4路)、千兆以太網(2路)、百兆以太網(4路)、UART(12路)、SPI(5路),特別是可通過外接多片AD芯片(AD7606/AD7616),實現16/32/64路AD同步采樣。
(3) OpenAMP框架可實現雙核ARM Cortex-A9非對稱使用方案,從而使雙核ARM實現分別跑兩個系統:一個ARM Cortex-A9跑Linux,一個ARM Cortex-A9作為實時核跑RTOS(FreeRTOS)或者裸機。實時核與FPGA端進行低延時的高速數據交換與實時通訊控制,從而滿足低延時的實時任務要求。而跑Linux的 ARM核作為更上層應用,處理更復雜的業務事務。
(4)外部可擴展LCD顯示與觸摸屏控制,分辨率支持2048*2048,支持1080P高清視頻播放與HDMI視頻輸出,滿足多種屏幕與人機交互的功能需求;
3AD7606在ZYNQ平臺的應用
創龍科技在Zynq-7000、OMAP-L138/C6748/F2837x + Spartan-6等平臺均提供了AD7606的開發案例。
創龍科技基于Zynq-7010/7020處理器設計的工業評估板TLZ7x-EasyEVM-S,它由核心板+底板構成。用戶使用核心板進行二次開發時,僅需專注上層運用,降低了開發難度和時間成本,可快速進行產品方案評估與技術預研。
圖 5TLZ7x-EasyEVM-S評估板(郵票孔)
圖 6TLZ7x-EasyEVM評估板
本文以Zynq-7000工業評估板TLZ7x-EasyEVM-S為例,講解ad7606_fft例程。
3.1功能說明
PL端采集AD7606的8通道AD信號,采樣率為200KSPS,并通過DMA IP核將數據緩存到PS端DDR中(每通道各采樣4096個點),再通過FFT IP核將數據進行FFT運算,然后將FFT運算結果保存到PS端DDR中,最后通過ILA顯示第一個通道的原始波形和FFT運算結果波形。
備注:由于本案例消耗邏輯資源較多,因此本案例不支持xc7z010,僅支持xc7z020。
3.2案例框圖
圖 7
點擊BLOCK DESIGN開發界面下的"Address Editor"選項,可查看IP核分配的地址,PS端可通過對應地址對IP核進行控制。
圖8
3.3AD7606模塊
該模塊控制AD7606對8通道AD信號按200K采樣率進行采集,并將數據通過AXI4-Stream接口進行發送。
圖 9
進入BLOCK DESIGN開發界面,雙擊模塊框圖,可查看模塊的具體配置信息。采樣率為200KSPS,模塊工作時鐘為50MHz。
圖 10
3.4案例測試
將TLP2P-PinBoard轉接板接到評估板CON8接口,再將AD模塊TL7606P與轉接板連接。
圖 11
進入評估板文件系統,執行如下命令配置PS-PL電平轉換寄存器。
Target# devmem 0xf8000900 w 0xf
圖 12
使用下載器加載PL端程序以及和PL端程序同目錄下的.ltx文件。
圖 13
在ila_1的Trigger Setup窗口點擊按鈕,雙擊axi_dma_0_m_axis_mm2s_tvalid將其添加為觸發信號。
圖 14
將Value的值改成R,設置為上升沿觸發。
圖 15
右擊Channel_1_data[15:0],點擊“Waveform Style -> Analog”將通道1的原始信號設置為模擬波形。
圖 16
右擊Channel_1_data[15:0],點擊“Radix -> Signed Decimal”設置數據為有符號類型。
圖 17
參考上面的步驟,在ila_2將axi_dma_1_m_axis_mm2s_tvalid添加為觸發信號,設置為上升沿觸發,將FFT IP核輸出數據的實部和虛部信號分別設置為模擬波形,并設數據為有符號類型。
圖 18
圖 19
使用信號發生源向TL7606P模塊的8個通道分別輸入信號,本案例測試的輸入信號是頻率為2KHz、峰峰值為3.3Vpp的正弦波。
將案例“sw\linux_system\image\”目錄下所有腳本文件拷貝至評估板文件系統。執行如下命令使能axi_dma_0的S2MM通道,將數據采集到PS端DDR中。
Target# ./axi_dma_0_ad7606_to_ddr.sh
執行如下命令使能axi_dma_1的S2MM通道(FFT轉換后數據保存到PS端DDR),等待FFT IP核工作。
Target# ./axi_dma_1_fft_to_ddr.sh
執行如下命令使能axi_dma_0的MM2S通道,把原始數據從DDR送到FFT IP核。
Target# ./axi_dma_0_ddr_to_fft.sh
執行如下命令使能axi_dma_1的MM2S通道,把FFT轉換后的數據從DDR送到ILA顯示。
Target# ./axi_dma_1_ddr_to_ila.sh
圖 20
axi_dma_0_ad7606_to_ddr.sh
配置axi_dma_0的S2MM通道,將數據傳輸到DDR。
圖 21
配置好DMA后,配置axi gpio輸出1,設置adc_enable為1,使能ADC轉換。需確保DMA已配置好,再使能ADC轉換并進行數據傳輸。
圖 22
axi_dma_0_ddr_to_fft.sh
配置axi_dma_0的MM2S通道,將DDR中的數據通過AXI4-Stream發送給FFT IP核。
圖 23
ila_1原始波形
輸入信號是頻率為2KHz、峰峰值為3.3Vpp(電壓幅值為1.65V)的正弦波。一共4096個采樣點,每個采樣點4個時鐘周期,即4096=16384/4。
圖 24
圖 25
波峰值為+10729,波谷值為-10794,峰峰值=(10729 + 10794)/(2^16)x10V≈3.2841V,采樣范圍為±5V。
圖 26波峰值
圖 27 波谷值
Ila_2FFT波形
Channel_1_fft_IM_Dout為虛部,Channel_1_fft_RE_Dout為實部。
圖 28
頻率計算
FFT變換點數N=4096,AD采樣率Fs為200KSPS。某點n所表示的頻率Fn=(n-1)*(Fs/N)(n>=1)。當n=1時,Fn為0,由于第一點表示的是直流分量,因此頻率為0,幅值也為0,該正弦波無直流分量。
從下圖可知,在第164個周期(即第42個采樣點)處出現信號,則信號頻率Fn=(42-1)*(Fs/N)=41*200KHz/4096=2001.95Hz,與原始信號頻率2KHz基本一致。
圖 29
幅值(波峰值)計算
某個點的幅值An=(根號(實部^2 + 虛部^2))*壓縮倍數/(N/2),則信號幅值An=(根號(4448^2 + 3008^2))x4096/4096x2≈10739.23,信號電壓幅值=10739.23/(2^16/2)x5V≈1.64V,與原始信號電壓幅值1.65V基本一致。
查看原始數據
每個采樣點32bit(包括實部和虛部),每個通道的數據的地址依次遞增,從地址0x19000000開始。
Target#devmem 0x19000000 //查看V1通道原始數據
Target#devmem 0x19000004 //查看V2通道原始數據
Target#devmem 0x19000008 //查看V3通道原始數據
Target#devmem 0x1900000c //查看V4通道原始數據
Target#devmem 0x19000010 //查看V5通道原始數據
Target#devmem 0x19000014 //查看V6通道原始數據
Target#devmem 0x19000018 //查看V7通道原始數據
Target#devmem 0x1900001c //查看V8通道原始數據
圖 30查看V1通道原始數據
查看FFT數據
每個采樣點32bit(包括實部和虛部),每個通道的數據的地址依次遞增,從地址0x19100000開始。
Target#devmem 0x19100000 //查看V1通道FFT數據
Target#devmem 0x19100004 //查看V2通道FFT數據
Target#devmem 0x19100008 //查看V3通道FFT數據
Target#devmem 0x1910000c //查看V4通道FFT數據
Target#devmem 0x19100010 //查看V5通道FFT數據
Target#devmem 0x19100014 //查看V6通道FFT數據
Target#devmem 0x19100018 //查看V7通道FFT數據
Target#devmem 0x1910001c //查看V8通道FFT數據
圖 31查看V1通道FFT數據
-
FPGA
+關注
關注
1626文章
21667瀏覽量
601864 -
ARM
+關注
關注
134文章
9046瀏覽量
366822 -
嵌入式
+關注
關注
5068文章
19019瀏覽量
303302 -
Zynq
+關注
關注
9文章
608瀏覽量
47128
發布評論請先 登錄
相關推薦
評論