pg直营网-pg网赌游戏 >关于创龙 > 新闻资讯 > 技术文章
联系pg直营网
contact us公司总机:020-8998-6280
技术热线:020-3893-9437
技术邮箱:support@tronlong.com
销售邮箱:sales@tronlong.com
ad7606/ad7616使zynq在能源电力领域如虎添翼,可实现16/32/64通道ad同步采样
2022/04/27
1 ad7606/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
2 zynq 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视频输出,满足多种屏幕与人机交互的功能需求;
3 ad7606在zynq平台的应用
创龙科技在zynq-7000、omap-l138/c6748/f2837x spartan-6等平台均提供了ad7606的开发案例。
创龙科技基于zynq-7010/7020处理器设计的工业评估板tlz7x-easyevm-s,它由核心板 底板构成。用户使用核心板进行二次开发时,仅需专注上层运用,降低了开发难度和时间成本,可快速进行产品方案评估与技术预研。
图 5 tlz7x-easyevm-s评估板(邮票孔)
图 6 tlz7x-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.3 ad7606模块
该模块控制ad7606对8通道ad信号按200k采样率进行采集,并将数据通过axi4-stream接口进行发送。
图 9
进入block design开发界面,双击模块框图,可查看模块的具体配置信息。采样率为200ksps,模块工作时钟为50mhz。
图 10
备注:模块、ip核简介可扫描文末二维码下载详细资料。
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_2 fft波形
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数据
以上案例的完整说明、源码、开发板资料,可点击链接或扫描二维码进行下载