Zynq—AD9238数据采集DDR3缓存千兆以太网发送实验(一)

ACM9238 高速双通道ADC模块自助服务手册AD9238


一、实验目的

本次实验通过电脑上的网络调试助手,将命令帧进行发送,然后通过ACZ7015开发板上的以太网芯片接收,随后将接收到的数据转换成命令,从而实现对ACM9238模块采样频率、数据采样个数以及采样通道的配置。配置完成之后,ACM9238模块开始采集数据,将采集的数据存储至ddr中,然后通过网口以UDP协议传输到电脑。用户可以在电脑上通过网口调试工具进行指令的下发,并以文件的形式保存接收到的数据,然后使用MATLAB软件进行进一步的数据处理分析。

二、AD9238

模块在各方面参数性能上与AD9226保持一致。但是在设计上优化了信号调理电路,将单端信号先转成差分信号,再送入ADC转换,已获得更小的采样误差。

功能参数
1、±5V电压输入范围
2、每通道65Msps最高采样速率
3、每通道12位输出

三、DDR3(大容量存储器件)

DDR=Double Data Rate双倍速率,DDR SDRAM=双倍速率同步动态随机存储器,人们习惯称为DDR,其中,SDRAM 是Synchronous Dynamic Random Access Memory的缩写,即同步动态随机存取存储器。而DDR SDRAM是Double Data Rate SDRAM的缩写,是双倍速率同步动态随机存储器。(摘录:ddr(双倍数据速率)_百度百科 (baidu.com))

1.相关知识

PL:通用可编程逻辑FPGA。

PS:两个 Cortex-A9 核、 IO 外设、各类硬核控制器等资源在内的 SOC 处理系统。

PS部分的DDR3主要用作ARM CPU的内存系统,ARM CPU的程序可以在该DDR3中运行,PS部分的DDR3存储器使用,不需要,也不能调用MIG IP来控制,只需要在设计中添加ZYNQ7 Processing System 组件,并配置好DDR相关的参数,即可使用。ACZ7015开发板的DDR型号为MT41K256M16 RE-125。

 

PL部分如果要使用DDR3存储器:

第一种:首先在PL部分要设计DDR3部分电路,并且需要通过在IP Catlog中调用MIG IP来创建DDR3控制器。

第二种:PL通过AXI4(4个高性能数据交互端口,High-Performance Ports)接口使用PS的DDR3存储器空间。

2.架构优势

PL通过HP端口写入到PS侧DDR3中的数据,不仅PL可以再读回来,同时PS侧的ARM CPU也可以读写这些数据。相同的道理,PS侧在某些区域写入的数据,PL侧也可以从该区域读出来使用。

3.直接使用DDR控制器可能会遇到的实际问题

如何确保读写DDR时数据的有效性以及读写传输的高效性?

3.1读写时钟频率不同跨时钟域怎么办?单一Ui时钟能满足数据读写侧速率需求吗?

DDR控制器的时钟频率恒定,但是大部分硬件(读写)有自身的固定工作频率、数据读写频率,并且有可能与DDR时钟频率不一致。有可能导致DDR控制器无法满足读写硬件的速率需求,进而数据交互存在跨时钟域,还会导致DDR读写错误。

3.2读写数据不连续怎么办?

在速率满足的情况下,还可能存在外设发送接收数据并不连续的问题。

3.3读写数据位宽不同怎么办?

DDR典型数据位宽128位,但外设一般为8位或16位。

以上问题通过在读写段各添加一个FIFO解决,进而引出AXI转化模块

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/710675.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript中的new Proxy()和Object.defineProperty使用详细,Vue2和vue3中双向数据绑定的原理

简介: Object.defineProperty() 是 JavaScript 中一个强大且常用的方法,用于定义对象属性,允许我们精确地控制属性的行为,包括读取、写入和删除等操作,是vue2中双向数据绑定的原理; new Proxy() 是ES6中一…

Tomcat布署及优化

1.Tomcat简介 Tomcat 是 Java 语言开发的,Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,Tomcat 属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。一般来说&…

在实训云平台上配置云主机

文章目录 零、学习目标一、实训云升级二、实训云登录(一)登录实训云(二)切换界面语言(三)规划云主机实例 三、创建网络三、创建路由器2024-2-29更新到此四、添加接口五、创建端口六、添加安全组规则七、创建…

反相输入放大器与生俱来的坑

我们都知道反相放大器能将输入的信号反相放大,这是很基本的知识,学过电路的一般都知道。反相放大器的公式为Vout -Vin*Rf/Rin(运算放大器应用汇总)。根据已知的公式,能很轻松的完成设计,但反相放大器与生俱…

每日一类:QString类深入讲解

QString类是Qt框架中的一个核心组件,设计用于方便、高效地处理Unicode字符串。与标准C中的字符串处理方式相比,QString提供了更为丰富的API,支持国际化,并且内部使用UTF-16编码,能够处理世界上几乎所有的语言文字。 设…

【PHP进阶】Rabbitmq的实际使用

RabbitMQ是一个流行的消息队列中间件,它提供了可靠的消息传递机制。在使用RabbitMQ时,有几个重要的概念需要了解: 消息队列(Message Queue):RabbitMQ中的核心概念之一。它是消息的缓冲区,用于存…

容器安全工具使用指南:保障容器环境安全的利器

随着容器技术的广泛应用,容器安全成为关注的焦点。本文将深入介绍几个流行的容器安全工具,我们将深入了解容器安全领域的Top 10工具,包括Trivy、veinmind-tools、Clair、Docker Bench for Security、Sysdig Falco、neuVector等,详细讲解它们的功能、原理、安装和使用方法,…

【精简版】Ubuntu/Linux Anaconda 命令行终端安装

网上重复内容很多,大都啰里啰嗦,特作此笔记。 【精简版】Ubuntu/Linux Anaconda 命令行安装 1 下载安装包1.1 寻找适配版本安装包1.2 下载 2 运行安装程序3 设置安装路径4 添加环境变量并运行4.1 环境变量4.2 运行 5 验证安装成功感谢及参考博文 1 下载…

js ES6判断字符串是否以某个字符串开头或者结尾startsWith、endsWith

1.前言 startsWith:startsWith方法用于检查字符串是否以指定的字符串开头。 endsWith:endsWith方法用于检查字符串是否以指定的字符串结尾。 2.用法示例 const str Hello, world!;console.log(str.startsWith(Hello)); // true console.log(str.starts…

音频提取使用什么方法?视频提取音频

在数字技术与多媒体日益普及的今天,音频提取已成为一个常见且重要的任务。无论是为了制作视频、编辑音乐,还是进行语音识别和分析,我们都需要从原始材料中提取音频。那么,音频提取通常使用什么方法呢? 1. 使用专业的音…

【Git教程】(七)变基与拣取 —— 变基操作的概念、适用场景及其实现方式,拣取操作的实现 ~

Git教程 变基与拣取 1️⃣ 工作原理:复制提交2️⃣ 避免“钻石链”3️⃣ 什么情况下会遇到冲突4️⃣ 移植分支5️⃣ 执行变基后原提交的情况6️⃣ 提交的原件与副本存在于同一版本库中所带来的问题7️⃣ 捡取🌾 总结 通常, 一段提交历史中往…

编写科技项目验收测试报告需要注意什么?第三方验收测试多少钱?

科技项目验收测试是一个非常重要的环节,它对于确保科技项目的质量和可用性起着至关重要的作用。在项目完成后,进行科技项目验收测试可以评估项目的功能、性能和可靠性等方面,并生成科技项目验收测试报告,以提供给项目的相关方参考…

第十六届“中关村青联杯”全国研究生数学建模竞赛-E题:全球变暖气候预测分析(续)

目录 五、问题二:模型的建立与求解 5.1 问题分析 5.2 数据获取及处理 5.2.1 数据获取

git commit 的规范

今天在一个项目中提交git时报了下面的错误:subject may not be empty [subject-empty] type may not be empty [type-empty],上网查阅了一些资料,发现这种一种规范约束,用下面的命令我又重新提交了一次 git commit -m "feat…

SpringFramework实战指南(七)

SpringFramework实战指南(七) 4.5 三种配置方式总结4.5.1 XML方式配置总结4.5.2 XML+注解方式配置总结4.5.3 完全注解方式配置总结4.6 整合Spring5-Test5搭建测试环境4.5 三种配置方式总结 4.5.1 XML方式配置总结 所有内容写到xml格式配置文件中声明bean通过<bean标签<…

Docker技术概论(2):Docker环境的搭建

Docker技术概论&#xff08;2&#xff09; Docker环境的搭建 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://blo…

自动采集API壁纸系统源码自适应手机端

HTML5响应式自动采集API壁纸系统源码自适应手机端 瀑布流加载 源码下载&#xff1a;https://www.qqmu.com/2303.html

InnoDB备份与恢复篇(1)-InnoDB的备份与还原策略

InnoDB数据库的备份与还原策略 MySQL是一种广泛使用的关系型数据库管理系统&#xff0c;而InnoDB是MySQL的默认存储引擎之一。在生产环境中&#xff0c;对于数据库的备份和还原至关重要&#xff0c;以确保数据的安全性和可靠性。本文将介绍MySQL数据库InnoDB引擎的备份与还原策…

七、有序的列表

描述 创建一个依次包含字符串P、y、t、h、o和n的列表my_list&#xff0c;先使用sorted函数对列表my_list进行临时排序&#xff0c;第一行输出排序后的完整列表&#xff0c;第二行输出原始的列表。再使用sort函数对列表my_list进行降序排序&#xff0c;第三行输出排序后完整的列…

yolov8涨点技巧,添加SwinTransformer注意力机制,提升目标检测效果

目录 摘要 SwinTransformer原理 代码实现 YOLOv8详细添加步骤 ymal文件内容 one_swinTrans three_swinTrans 启动命令 完整代码分享 摘要 Swin Transformer通过引入创新的分层注意力机制展现了其架构的独特性&#xff0c;该机制通过将注意力区域划分为块并在这些块内执…