张津硕,雷志勇
(1.西安工业大学 兵器科学与技术学院,西安 710021;
2.西安工业大学 电子信息工程学院,西安 710021)
大数据时代的来临体现在数据逐步复杂化、多元化。单通道传感器已经慢慢离开人们的视野,取而代之的是多通道传感器或者多传感器。对于信号处理相关实验来说,保证信号高速采集、快速缓存、高速传输是实验成功的前提[1]。
由于多通道传感器存在采样率过高、采样精度过高等原因使得采集到的数据量十分庞大,导致在设计系统时需要考虑大数据量的处理,缓存器以及传输方式。常见的数据处理芯片有微控制单元(MCU)和现场可编程门阵列(FPGA),在两者的对比之下,FPGA 以其出色的并行处理能力,在数据处理上所占的优势远大于MCU,同时FPGA 在使用时灵活多变,有非常丰富的板载资源供系统使用。故本系统选用Xilinx 公司型号为XC7K325TFFG676-2的FPGA 芯片作为核心控制器。一般存储手段有Flash、RAM、DDR3。三者对比,RAM 作为FPGA 自带的资源,存储量小且价格贵;
Flash 属于非易失性存储器,使用起来比较麻烦;
对比其他两种DDR3 SDRAM 不论在价格上还是在存储大小和速度上占有明显优势,且使用方式比较简单,故本系统选用DDR3 SDRAM 作为数据缓存模块。数据传输模块本系统使用千兆以太网UDP 协议作为数据传输方式,传输速度快且性能稳定,可以通过物理接口RJ45 实现远距离的数据传输[2-3]。
本系统总体设计如图1 所示,系统由电源、AD7606芯片、FPGA、DDR3 SDRAM 和以太网PHY 芯片组成。FPGA 内部逻辑模块设计主要有采集控制模块、AXI_MASTER 模块以及以太网通信模块组成。
图1 系统总体设计Fig.1 Overall system design
上位机向FPGA 发送采集控制命令后,AD7606开始采集信号[4],8 通道信号采集结束并转换完成时发出写请求,将数据写入FIFO 读写控制模块,经由AXI_MASTER 进行接口转换后将数据存入DDR3 SDRAM 中。设置AXI4 总线的突发长度,当DDR3 SDRAM 中的数据存够一次突发时,将数据从DDR3 SDRAM 中读出,通过AXI_MASTER 接口转换后,将数据通过FIFO 读写模块传至以太网通信模块,由以太网传输模块完成分层打包后,传至上位机中进行显示。
本系统采用模数转换器芯片型号为AD7606,该器件产自于亚德诺公司,是一款最高采样率为200KSPS、采样精度为16 位、8 通道且具有串行与并行数据输出两种模式。芯片本身内置有模拟输入箝位保护、二阶抗混叠滤波器、跟踪放大器。此芯片最大的特点是芯片内部没有寄存器资源,所以不需要对其进行配置,只需要对I/O 口进行管脚配置即可控制,故使用起来比较简单。本系统使用并行数据输出模式,8 通道的采样率均为200KSPS。FPGA 与AD7606 接口连接图如图2 所示[5]。
图2 FPGA 与AD7606 接口Fig.2 FPGA and AD7606 interface
本系统采用镁光公司型号为MT41J256M16 的DDR3 SDRAM。该芯片与FPGA 之间的控制由Xilinx官方的AXI4 接口的MIG 核来控制。由AXI4 总线最大突发长度为256,该缓存芯片内存为4 G bits,在设计DDR3 读写时,将DDR3 内部划分为8 个存储区域,对应从FIFO 出来的8 个通道地址。采用地址自加一的模式,完成对数据的读写。DDR3 的时钟为800 MHz,用户时钟设置为200 MHz[6]。
以太网模型分为2 种,一种是OSI 模型共7 层,另一种为TCP/IP 模型共4 层。本系统采用4 层TCP/IP 结构模型,其分别为应用层、传输层、网络层和链路连接层。其中在链路连接层要实现硬件连接。本系统采用型号为RTL8211E 的PHY 芯片,通过调用FPGA 内部的MAC 核与PHY 芯片连接,PHY 芯片与MAC 之间的接口为RGMII。PHY 芯片与PC 端之间的连接方式为物理连接,通过RJ45 接口进行连接。FPGA 与PHY 芯片之间的接口信息如图3 所示[7]。
图3 RGMII 接口Fig.3 RGMII interface
从图3 可以看出,对于千兆以太网来说,RGMII接口数据位宽为4 bit,所以RGMII 采用双沿采样模式,上升沿发送1~4 位数据,下降沿发送5~8 位数据。
由上位机下发采集命令至采集控制模块,由采集控制模块进行命令解析并向数模转换器发送开始采集命令,完成信号采集。在此模块中设计状态机来实现AD7606 工作时序图,如图4 所示。
图4 AD7606 状态转移图Fig.4 AD7606 state transition diagram
AD7606 数据输出流程为器件开始采集,拉低复位信号一个周期后,CONVST A/B 分辨表示1~4、5~8 通道数据进行转换,当出现Busy 信号时表示转换完毕。拉低器件的片选信号,每出现一个RD 会读取一个通道数据,读完第8 个通道后AD7606 一次数据的输出完成。
设计AXI_MASTER 模块是将FIFO 接口转为AXI4 接口,从而采用AXI4 接口的MIG 核来实现DDR3 的读写操作。此模块完成对各个参数的配置以及AXI4 总线时序,从而能达到使用的目的。AXI_MASTER 模块如图5 所示。其中最大突发长度设置为256,突发大小为64 位[8]。
图5 AXI_MASTER 模块Fig.5 AXI_ MASTER module
此模块使用TCP/IP 模型,其中Ethernet Header和CRC(校验)由MAC 生成,UDP Header 由传输层生成,IP Header 由网络层生成[9]。
数据由应用层产生并传递到传输层,有传输层给数据加上8 字节的UDP 包头,其中根据源端口号与目的端口号在相应位置进行设置,数据长度设置为1032 个字节,检查位全部置为0。
IP 包头设计主要是对版本、包头长度、总长度、标识码、TTL、protocol、源IP 地址和目的IP 地址做定义。本系统设计IP 版本为4,包头长度为20 字节,总长度为1052,TTL 为80 个周期,Protocol 为17,定义源IP 地址为192.168.0.2,目的IP 地址为192.168.0.3,以太网IP 包头设计如图6 所示。
图6 以太网IP 包头设计Fig.6 Ethernet IP header design
整个以太网帧结构如图7 所示。数据段总共设计1052 个字节。为了保证发送数据的正确性,在发送数据之前发送一个标志包,代表数据传输的开始[10]。
图7 以太网帧结构Fig.7 Ethernet frame structure
验证模块性能,使用Verilog 编写testbench 对AD7606 时序进行仿真,结果如图8 所示,与设计的状态机相符,实现了AD7606 时序。
图8 AD7606 时序仿真Fig.8 AD7606 timing simulation
搭建系统测试平台,使用上位机软件对系统的IP、端口号、采样率进行设置。设置完成之后开始采样,将采样数据保存至PC 端,通过MATLAB 将其打开,采样结果如图9 所示。
图9 系统测试结果Fig.9 System test results
为了实现多通道信号采集传输,本系统选用AD7606 作为信号采集芯片,采集结果真实。该系统可用于其他信号采集上,只需要对选用的模数转换器进行逻辑上的实现即可。若使用多传感器,则只需要根据数据量来考虑FIFO 的存储数据量以及DDR3 的带宽即可。本系统为信号采集传输的设计提供了参考。
猜你喜欢 传输层数据量时序 基于时序Sentinel-2数据的马铃薯遥感识别研究中国农业信息(2023年3期)2023-03-18基于Sentinel-2时序NDVI的麦冬识别研究中国农业信息(2021年3期)2021-11-22基于大数据量的初至层析成像算法优化北京大学学报(自然科学版)(2021年3期)2021-07-16基于Python语言的网络传输层UDP协议攻击性行为研究数字技术与应用(2021年2期)2021-04-22计算Lyapunov指数的模糊C均值聚类小数据量法东北师大学报(自然科学版)(2021年1期)2021-03-27ZnO电子传输层在有机无机杂化钙钛矿太阳能电池中的应用陶瓷学报(2020年5期)2020-11-09高刷新率不容易显示器需求与接口标准带宽电脑爱好者(2020年19期)2020-10-20宽带信号采集与大数据量传输系统设计与研究电子制作(2019年13期)2020-01-14物联网无线通信传输层动态通道保障机制通信电源技术(2018年5期)2018-08-23基于物联网GIS的消防智能巡检系统设计与实现电子技术与软件工程(2017年19期)2017-11-09扩展阅读文章
推荐阅读文章
老骥秘书网 https://www.round-online.com
Copyright © 2002-2018 . 老骥秘书网 版权所有