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