首页 > 编程语言 >基于FPGA的数据采集、编码、通讯和存储系统设计(即FPGA+RTL8211千兆以太网+SD卡存储+RTC+Uart+AD7606数模转换+电流放大采集等硬件设计与程序验证)

基于FPGA的数据采集、编码、通讯和存储系统设计(即FPGA+RTL8211千兆以太网+SD卡存储+RTC+Uart+AD7606数模转换+电流放大采集等硬件设计与程序验证)

时间:2024-04-08 18:32:31浏览次数:21  
标签:FPGA 程序验证 千兆 硬件 采集 串口 download 以太网 SD

主要功能框图
介绍一个小项目,加强对FPGA相关接口的整体把握。
硬件及软件代码梳理:
硬件系统的主要功能框图,其中FPGA作为处理单元,实现了包括电流和电压的采集、千兆以太网通讯、SD卡本地数据存储和串口通讯等。已经过板级测试,测试包含:千兆网通讯收发测试、AD采集的数据验证、SD卡存储验证、RTC实时时钟读取和RTC的RAM突发读取等。
PCB设计采用的是AD软件,Verilog程序通过quartus II软件编写。
系统分为硬件设计和软件设计。
一、硬件设计
下图分别为硬件的正面和反面,纯个人手工焊接。考虑了千兆以太网中的高速数据线的差分阻抗100Ω、数字电源和模拟电源的划分等,PCB主要采用四层板的设计方案。顶层和底层为信号走线层;第二层为完整的地层,分为数字地(DGND)和模拟地(AGND),为顶层的信号层和电位电流模拟量的采集提供参考;第三层为电源层,本层提供较为完整的3.3V电源平面和模拟地平面,还有1.2V和2.5V的电源平面。
其中硬件设计中需注意的是千兆以太网的设计和电流采集部分。千兆网部分采用的是ETL8211EG芯片,支持千兆以太网,但要实现千兆网络,布线时要保证差分对的阻抗100Ω,需要考虑蛇形走线和线宽线距、参考层等因素。电流采集部分要考虑模拟地的划分和电流的放大倍数、高精度电阻等,这里我选的是INA240A系列,包含20、50、100、200四种增益可以选择。数模转换是8通道,每通道16位,支持并行的200SPS采样率的AD7606芯片。SD卡就是最常见的Micro SD Card,买的闪迪的16G的卡。RTC是常见的DS1302。考虑版面问题,数码管只留了一个。硬件下载AD源文件下载链接:https://download.csdn.net/download/qq_39521541/15110220

实际硬件正面
实际硬件反面
运行硬件正面
AD中的三维图如下:
三维图正面
三维图反面

各模块的原理图如下,这是初版 的原理图,实际的硬件在此基础上进行了修改,但是变化不大,就不再截图了。
主芯片及外围电路1
主芯片及外围电路2
电源管理部分电路
千兆以太网部分电路存储通讯和显示电路电压和电流采集电路
二、软件程序编写
在以上硬件的基础上编写了程序,总程序5000余行。实现了AD7606电压和电流数据的采集和RTC的时间和内部RAM突发读写,然后并行的存储和通过千兆以太网与串口发送到电脑上。
程序的顶层模块设计如下图:
程序顶层模块图
通过电脑上的网络助手同时采集到的串口数据、千兆以太网数据和用Winhex查看的SD卡内存储的数据如下图,数据完全一致。串口数据为什么也用网络助手显示呢,因为我板子上的串口上可以插上一个网络模块,这样串口数据也可以通过无线发送到电脑了,当然硬件上也有有线的串口端子,也进行了验证,不再截图赘述。
数据验证
程序主要难点在于逻辑与时序的处理,程序中进行了一些时序的操作。为了方便我理清思路也进行了主要的时序图的绘制,如下图所示,画时序图的软件可以在这里下载https://download.csdn.net/download/qq_39521541/14951291,破解版很好用。主要逻辑时序图
程序的模块结构如下图所示,其中4G其实就是串口,为了进行跨时钟域和SD的闪存,用了双口FIFO、双口RAM、单口RAM、ROM等IP核。
程序模块结构图
接下来是编译后的资源占用情况和编译信息,从图中可以看出基本不存在警告,其实现存的三个警告,完全不影响结果,而且知道警告存在的原因即可。
编译结果
时序约束部分截图如下,时钟主要约束了50M的系统时钟、25M的SD卡时钟和125M的千兆网时钟。
时钟约束

最后的最后附上总的程序源码:https://download.csdn.net/download/qq_39521541/15110143
。欢迎交流讨论

标签:FPGA,程序验证,千兆,硬件,采集,串口,download,以太网,SD
From: https://blog.csdn.net/qq_39521541/article/details/137519115

相关文章

  • 【FPGA基础】Latch基础
    “本文主要转载自https://zhuanlan.zhihu.com/p/93133247,高屋建瓴。其中关于如何会产生latch的部分,转载自https://zhuanlan.zhihu.com/p/34408492?from_voters_page=true。”在FPGA的设计中,避免使用锁存器是几乎所有FPGA工程师的共识,Xilinx和Altera也在手册中提示大家要慎用......
  • openGauss数据库源码学习-指标采集、预测与异常检测
    opengauss源码解析指标采集、预测与异常检测代码位置:/gausskernel/dbmind/tools/anomaly_detection各模组在整体结构上的组合在摩天轮论坛上官方解析文章已经叙述的相对完整详尽。该报告对应为具体模块内部的实现。Agent模块代码位置:~/agentAgent模块负责数据库指标数据......
  • 振弦采集仪在地下水位监测中的可行性研究与实践
    振弦采集仪在地下水位监测中的可行性研究与实践地下水位的监测对于水资源管理和地下水环境保护具有重要意义。传统的地下水位监测方法主要包括井水位计、压力传感器和雨水入渗监测等。然而,这些方法存在着一些局限性,如需要人工维护、监测周期长、监测点稀少等。 河北稳控科技......
  • MRI图像的TI/T2加权,切片厚度,采集平面
    T1加权成像(T1WI)----突出组织T1弛豫(纵向弛豫)差别T2加权成像(T2WI)----突出组织T2弛豫(横向弛豫)差别。T1加权图像:T1加权图像通过增强显示各种组织的解剖结构,能够显示组织的密度和形态等信息。T1加权图像通常用于显示脑部的解剖结构,如大脑皮层、灰质和白质等。在T1加权图像中,脑脊液......
  • 抖音评论关键词批量下载软件|视频评论提取采集工具
    《视频评论关键词批量采集软件:拓展客户群体,轻松抓取用户需求!》    随着视频平台的迅速发展,视频评论已成为了企业和个人了解用户需求、拓展客户群体的重要途径之一。为了帮助您更高效地抓取并分析视频视频评论,我们推出了全新版本的视频评论关键词批量采集软件,让您轻松......
  • [INS-30131] 执行安装程序验证所需的初始设置失败
    一、基础环境  操作系统:MicrosoftWindowsServer2012R2Standard(64位)  数据库版本:OracleDatabase11.2.0.4.0(64位)二、问题详情    在安装过程中,报错:[INS-30131]执行安装程序验证所需的初始设置失败。点击【详细信息】,弹出以下内容:附加信息:所有节点上的框架设置检......
  • 携程景点详情数据API接口丨携程景点详情数据采集接口丨携程API接口文档
    携程景点详情数据API接口是用于获取特定景点详细信息的编程接口。要使用这个API接口,你需要遵循以下步骤:注册开发者账号:访问携程开放平台,并注册成为一个开发者。创建应用并获取权限:在携程开放平台上创建一个应用,并获取相应的API权限。构建请求:根据文档指导,构建HTTP请求,设置必......
  • 甲方安全建设之日志采集实操干货
    前言没有永远的安全,如何在被攻击的情况下,快速响应和快速溯源分析攻击动作是个重要的话题。想要分析攻击者做了什么、怎么攻击进来的、还攻击了谁,那么日志是必不可少的一项,因此我们需要尽可能采集多的日志来进行分析攻击者的动作,甚至在攻击者刚落脚的时候就阻断攻击者。安装Elast......
  • 单芯片国产ARM+FPGA,复旦微FMQL20SM工业核心板正式发布!
      ......
  • 数控机床采集网关助力企业实现智能化生产-天拓四方
    随着工业4.0时代的到来,智能制造成为制造业转型升级的重要方向。数控机床作为制造业的核心设备,其数据采集与监控对于提升生产效率、优化生产流程具有重要意义。本案例将介绍数控机床采集网关的应用,通过该网关实现数控机床数据的实时采集、传输与分析,助力企业实现智能化生产。案......