圣剑传说
作者圣剑传说2022-03-11 11:08
职工, 圣剑制造有限公司

基于FPGA模拟信号采集应用

字数 1893阅读 793评论 0赞 1

基于FPGA与Zynq在交通行业的运用

一、背景调研

①列车上的速度、温度、湿度、水压、油压等各种各样数据,分类传输给远程云服务器做数据的批量处理。
②大型的硬件平台可以对电气设备型号做识别,所查到的硬件ID可以回传给服务器与数据库比对后,显示所查一年和设备的型号。

二、需求分析

传感器采集的信号,无论是无线传输还是有线,那应该都是一个 硬件设备 的单数据或几个数据的传输。 可能 存在不稳定或者 传输速度 慢的情况, 而 传感器采集 批量 信号后,基于FPGA硬件平台做处理,比如说 分类 , 控制 , 批量数据 传输 这三个功能,保证高 数量数据采集 , 采集 速度快, 且传输 准确 安全,并 返回给对应服务器后台 大数据分析 处理 。
①分类: 判断数字信号类型,传感器或者通用AD/DA模块,最终以数字信号回传,数据流的长度或者其他有标识的信息,来区分信号类型。并按照控制器,或者计数器采用00,01,10,11的不同值来传输不同信息(仅仅以两位信号举例,实际信号种类远大于两位数)。
②控制: 有FPGA或者ZYNQ的内部高速信号传输的模块,对采集的信号上传给服务器,千兆以太网口上传,增加自己的包头协议,可以给快速传输UDP协议做安全可靠保护工作。
③批量数据传输: 分类后的数据,可以将相同类数据包批量处理上传。

三、问题分析

①传感器采集后数据是先存到一个地方吗?有没有实时性的要求?每秒能有多少数据量?
②数据处理用stm32也可以实现,适合不适合搭建FPGA的硬件平台?除此之外还需要扩展什么功能?
③ad采完是直接上传还是说要做一个FFT?ad的采集速率与传感器IC?

四、思路设计

①通过FPGA或者zynq的JTAG接口可以进行识别设备ID型号,把型号采集到后上传给服务器对比数据库,然后判定设备型号并显示。FPGA可以并发处理数据信息,因此可以同时识别多个设备型号,并采集相关信息,发送给PC端。
②对设备进行其他相关操作:
上位机(PC端主导)下发对电气设备、元器件、片上SOC、单片机或FPGA\ZYNQ等这些硬件设备的其他功能设计,除了可以扫描型号,还可以通过一帧网络帧下发,一帧状态帧返回的基于JTAG接口的回读功能。
这是官网的配置时序:

这是JTAG配置流程的16位状态机:

状态机的运作流程为:
指令加载----比特文件加载---指令加载
a.START指令---CAPTURE-IR
b.BIT文件的加载--CAPTURE-DR
c.SHUTDOWN指令---CAPTURE-IR
远程配置设备:可以把设计好的bit流文件,通过先下发配置指令(这个指令在设备官网的说明书里有,所有FPGA的用户指南都有)之前用的A7、V5、V7设备的官方文档都写得有JTAG的几大功能指令顺序。(按照官方流程设计就是上图这种)
重配置,就是如果回读检测设备异常,重新下发配置文件,让设备重新正常工作。此过程与配置、回读可以构成一个闭环自动控制的流程。
配置时的两种文件下发形式:
单帧注入与整体注入:
单帧注入,bit流文件中,除去包头包尾的数据外,其他应用数据,均采用一个递增的地址,与一帧数据结合的方式,进行注入。这样的优势在于,如果发现所配置帧数据有误,回读数据(错误帧)会及时被上位机检测到并及时暂停下一帧的数据下发,进行刷新修改,待回读返回正确应答帧后,再下发正确帧进行下一步配置。
整体注入,注入比特流的包含协议头协议尾以及多个应用数据的整体数据包,下发后如果配置文件无误,功能即可实现。如果有误,需要抹除旧文件后,重新修改文件,再下发。
缺点就是,修改比较繁琐,如果功能没实现,需要重新检测与修改比特流文件。
③数据采集
模拟信号转换为数字信号后,可以大批量上传给PC端大数据组处理。这个过程中,基层采集信号是批量传感器,传感器采集后以模拟信号输出, 然后通过FPGA/ZYNQ的外围AD/DA模块处理变为数字信号(乒乓操作、多通道),分类、处理 然后上传给后端服务器。
以比特流文件形式上传(bit)给后端数据库可以直接拿来操作。
数据采集的过程牵扯到两个接口,一个是AD模块转换为数字信号的接口,另一部分则JTAG的接口,最后还需要千兆以太网口的配置。
三者电路都要进行设计,例化模块,合并接口与实现,三个模块之间接口对接,需要考虑跨时钟域信号处理问题,比如千兆以太网口的信号均为125m 时钟,而JTAG信号为10M,此时需要调用一个异步FIFO让异步FIFO两端设置比例为125:10,且两端分别接JTAG读信号与网口写信号,或者JTAG写信号与网口读信号。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

1

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广