软件版本:VIVADO2017.4 操作系统:WIN10 64bit 硬件平台:适用米联客 ZYNQ系列开发板 米联客(MSXBO)论坛:www.osrc.cn答疑解惑专栏开通,欢迎大家给我提问!! 28.1 DAQ7606 采集卡图片28.2 项目要求使用DAQ7606子卡采集数据,通过DMA将数据传输到PS端DDR,PS端使用TCP协议将采集数据发送至PC端。本项目的教程编写参考《DMA_PL_LWIP以太网传输》课时。如果读者对于 ZYNQ 的 DMA 传输,以及 LWIP 的使用还有疑问请先阅读《DMA_PL_LWIP以太网传输》课程并且掌握后再来学习本节课。 28.2.1 功能要求PS 通过 AXI GPIO IP核启动 PL 不间断循环构造64bit 位宽的 0~1023 的数据,利用 AXI DMA IP 核,通过 PS的 Slave AXI GP 接口传输至 PS DDR3 的乒乓缓存中。PL 每发完一次 0~1023,AXI DMA IP 核便会产生一个中断信号,PS 得到中断信号后将 DDR3 缓存的数据通过乒乓操作的方式由 TCP协议发 送至 PC 机。 28.2.2 控制协议以太网接收控制命令协议格式 启动:0xAA55FFA0 停止:0xAA55FFB1 复位:0xAA55FFC1 串口接收控制命令协议格式 启动:0xAA55EEA0 停止:0xAA55EEB1 复位:0xAA55EEC1 28.3 方案构架28.3.1 传输方案8 路 16bit 200K ADC 经过 PL 采集 送入 128bit 的 FIFO,之后通过 DMA 模块送入 DDR,PS 部分 接收到中断信号后,启动 LWIP 的 TCP 传输,把一包数据发送出去。控制信号,通过以太网口或者 串口发送给开发板,控制启停,复位。 28.3.2 数据包格式设计的数据包格式如上图所示,一包数据一共是 1024*128bit。其中包头部分 128bit(32bit*4)格 式,0XAA55AA55 0XAA55AA55 代表了数据包开始,Packet index 代表了数据包的序列号,length 代表了本包数据的长度。 28.4 FPGA 代码介绍28.4.1 axidma_tcp_demo_wrapper.v-------所有代码的顶层模块。作用是复制信号之间的连接。关键的信号为 adc_capture_en_reg2使能ADC 采集。 ad_data_valid 代表 ADC 数据有效。 关键代码如下:
28.4.2 ad7606_ctrl.v-------ADC7606 数 据 采 集 模 块 , 完 成 数 据 的 采 集 , 并 且 保 存 到 各 个 通 道 的 寄 存 器 , 并 且 以 ad_data_valid通知外部数据完成了采集。 其中关键代码如下:
资讯幻灯片
热门评论
热门专题
排行榜
XILINX 官网|站点统计|Archiver|手机版|米联客品牌主页|UISRC工程师开源站 ( 苏ICP备19046771号-2 ) GMT+8, 2025-4-1 04:36 , Processed in 0.215828 second(s), 87 queries . |