基于ZYNQ阵列涡流检测系统硬件设计(一)

为实现阵列涡流检测系统总体功能,需研制一套多通道信号采集硬件系统,以搭配
软件编程实现分时激励和分时采集。基于以上要求,本章介绍了阵列涡流检测系统的硬
件模块设计。
3.1 阵列涡流检测系统总体设计
阵列涡流检测系统需要利用 DA 数模转换芯片对激励线圈进行正弦激励,激励信号
需外加功率运放提高带负载能力。感应线圈的感应信号会被 AD 模数转换芯片进行采集,
ZYNQ PL 部分会将 AD 模数转换芯片的数字量保存在 FIFO 中,编写数字相敏检波
算法将感应电压信号进行阻抗分解,实现感应信号实部、虚部和相位差的获得。最后通
LWIP 传输到上位机中进行显示。
3.2 阵列涡流检测系统硬件设计
3.2.1 ZYNQ 平台
Zynq-7000 系列是 Xilinx 设计的拥有 FPGA+ARM 的结合,全可编程这是一个野心
也是一个趋势,便于设计开发,加速产品上市 [51-53] Zynq-7020 芯片内部所集成的 FPGA
ARM 资源, FPGA 一种硬件可编程芯片, ARM 是基于 RISC 的微处理器,具有软件
可编程性,两者结合稳定性和灵活性高 [54-56] ZYNQ PS PL 之间的传输采用了 AXI
总线,两者之间的数据传输是通过乒乓缓存的方式进行,
ZYNQ PS 包含处理器和 DDR
控制器, PL 部分包含 Xilinx Artix 处理器, PS PL 的集成让 ZYNQ 既拥有了极其
强大的扩展性,又降低了开发难度,提高了数据传输的稳定性 [57-61]
3.2.2 DAC 转换电路
选用 AD9767 ROM 查找表中的数字量转换为模拟量。 AD9767 是一个双通道,高
14 CMOS DAC 最高数模转换速度可达 125MSPS AVDD 引脚为模拟电压输入,
输入电压范围最高可达到 6.5V AVDD 引脚的电压最高值限定了模拟电压的范围。
DVDD 引脚为数字电压输入,输入电压范围最高可达到 6.5V DVDD 引脚电压幅值过
高导致 AD9767 会提高对数字电压高电平所要求的实际电压数值。
AD9767 里内部含有控制放大器,用于调节全尺度输出电流 I OUTFS ,全尺度输出电流
I OUTFS 是参考电流 I REF 32 倍。

AD9767 通过将IREF限定在 62.5μA 625μA 可以将IOUTFS限定在 2mA 20mA 之间。

 

其中 DAC CODE 表示 AD9767 的输入数字量, AD9767 有两个数字输入通道,每个
输入数字通道都有 14 个并联输入且都有独立的 WRT 线和 CLK 线。当 MODE 引脚绑定
为逻辑 1 时, AD9767 将进入双端口模式,这时每个 DACs 都有自己完全独立的数字输
入和控制线,两者互不干扰。
数字量会进入到输入锁存器中,之后会进入到 DAC 锁存器,最后模拟量会得到新
值。其中 WRT 线路控制通道输入锁存,而 CLK 线路控制 DAC 锁存,两组锁存器都会
在各自的控制线的上升边缘进行更新。在 AD9767PCB 布线的时候,可以将 WRT CLK
接在一起,使得两组锁存器同时更新,但 CLK 不可以滞后 WRT ,否则将突破数据的建
立保持时间,会使得数据的输出出现错误。
MODE 引脚设定为逻辑 0 时, AD9767 会以交错模式运行,此时 WRT1 将作为
IQWRT CLK1 将作为 IQCLK WRT2 作为 IQSEL CLK2 作为 IQRESET 。在 IQWRT
的上升沿,数字量会进入到设备中。当 IQSEL 为逻辑 1 时,数字量会进入到通道 1,当
IQSEL 为逻辑 0 时,数字量会进入到通道 2 。当 IQRESET 为高电平时, IQCLK 将会被
禁用,当 IQRESET 变为低电平时,在 IQCLK 的下一个上升沿, DAC 锁存器会被更新
并改变模拟量的输出值。
本设计中将 MODE 引脚连接到 3.3V 电压中,即将 MODE 置为高电平,使得通道之
间是独立运作的,将通道 2 14 个输入量接 10K 电阻连地, CLK2 WRT2 可以不接
电阻,使得通道 2 关闭。
为了将 AD9767 的差分输出变为单端输出,采用一个运算放大器来执行差分到单端
的转换。这里选用 AD8066 电压反馈放大器。 AD8066 是双路放大器,具有 5V 24V
宽电源供电,带宽为 145MHz ,具有轨到轨输出能力。

 如图 3-5 所示 AD8066 差分输出由 R20R26R21 R2 确定。

3.2.3 功率放大电路
OPA544F 是一种高压高电流运算放大器,具有 2A 的高电流输出能力,可以驱动高
功率负载,拥有 ±10V ±35V 的宽电源供电范围。 OPA544F 内部具有热保护,最大保护
电流为 4A ,实测将 OPA544F 的正负电源接反,测量电流值为 3980mA 上下,可以起到
限流保护的作用。

OPA544F 运放设置成同相放大,用±12V 供电,组成同相放大电路。

 

 

3.2.4 激励通道模拟开关
激励线圈和感应线圈可以相互转换,将功率运放的输出连接到 8 个线圈,需要一个
多路复用开关。在选取激励多路复用开关的时候需要考量的是多路开关最大可通过的电
流值,很遗憾大部份整合度高的多路开关的可通过电流值都很小,目前发现了一种但是
只允许一个通道的关断,因此需要每一个通道都配备一个模拟开关。
。。。
利用所构建的涡流无损检测硬件和软件系统,用信号发生器作为标准信号源代替感
应线圈的感应信号,检验设计的硬件系统输出激励和接收感应信号的能力以及数字相敏
检波算法的正确性。整个系统包括信号发生器、电源、示波器、 ZYNQ 核心板、采集系
统板等模块,构造如图 5-10 所示的检验系统,利用逻辑分析仪抓取信号发生器与 DA
出信号进行相位计算并与数值相敏检波算法计算的相位进行对照,验证系统设计。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C++进阶之路】list的基本使用和模拟实现

文章目录 初步认识①定义②底层原理③迭代器的分类 一、基本使用1.插入结点元素2.删除结点元素3.合并两个有序链表4.将一条链表的某一部分转移到另一条链表5.对链表排序并去重6.vector与list排序的比较 二、模拟实现①要点说明②基本框架③迭代器构造函数- -*->list里的迭代…

ChatGLM-6B+LangChain实战

目标:原始使用ChatGLM-6B可接受的文字长度有限,打算结合LangChain实现长文本生成摘要. 方法: step1:自定义一个GLM继承LangChain中的langchain.llms.base.LLM,load自己的模型. step2:使用LangChain的mapred…

vue 集成tinymce2实现图片,视频以及文件的上传

vue 集成tinymce2实现图片,视频以及文件的上传 1. 安装插件 (1)安装tinymce npm install tinymce -S (2)安装tinymce-vue npm install tinymce/tinymce-vue3.0.1 -S 2. 复制静态文件到public目录 资源下载路径&…

数据分析的iloc和loc功能

大家好,在处理大型数据集时,使用有效的数据操作和提取技术是必要的。Pandas数据分析库提供了强大的工具,用于处理结构化数据,包括使用iloc和loc函数访问和修改DataFrame元素的能力。在本文中,我们将探讨iloc和loc之间的…

JAVA集成国密SM2

JAVA集成国密SM2加解密 一、pom配置二、代码集成2.1、目录结构2.2、源码2.3、测试 三、相关链接 国密算法概述:https://blog.csdn.net/qq_38254635/article/details/131801527 SM2椭圆曲线公钥密码算法 为非对称加密,基于ECC。该算法已公开。由于该算法…

rabbitMQ杂记

消息队列应用场景 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量 削锋等问题实现高性能,高可用,可伸缩和最终一致性: 解耦: 异步: 削峰: 常…

基于单片机的教室智能照明台灯控制系统的设计与实现

功能介绍 以51单片机作为主控系统;LCD1602液晶显示当前时间、年月日、时分秒、前教室人数;2路红外探头用来感应当前教室进出人数;按键可以设置当前时间、自动手动模式、开启和关闭教室灯光时间;在手动模式下,可以通过按…

Spring IoC及DI依赖注入

Spring 1.Spring的含义: Spring 可从狭义与广义两个角度看待 狭义的 Spring 是指 Spring 框架(Spring Fremework) 广义的 Spring 是指 Spring 生态体系 2.狭义的 Spring 框架 Spring 框架是企业开发复杂性的一站式解决方案 Spring 框架的核心是 IoC 容器和 AO…

透视表可视化简单案例

import pandas as pd import numpy as np import os basepath/Users/kangyongqing/Documents/kangyq/202307/标准版学期制C2/pathos.path.join(basepath,02freetime.csv) dtpd.read_csv(path,dtype{shifen:object}) print(dt.head()) import matplotlib.pyplot as pltfor i in …

Python探索金融数据进行时间序列分析和预测

大家好,时间序列分析是一种基于历史数据和趋势分析进行预测的统计技术。它在金融和经济领域非常普遍,因为它可以准确预测趋势并做出明智的决策。本文将使用Python来探索经济和金融数据,执行统计分析,并创建时间序列预测。 我们将…

55. 跳跃游戏

题目链接:力扣 解题思路: 贪心,因为题目只需要判断能够到达最后一个下标,所以可以从前往后遍历,使用maxEnd保存已经遍历过的位置能够跳跃达到的最大下标,如果maxEnd大于等于nums.length-1,则返回…

系统学习Linux-Rsync远程数据同步服务(三)

一、概述 rsync是linux 下一个远程数据同步工具 他可通过LAN/WAN快速同步多台主机间的文件和目录,并适当利用rsync 算法减少数据的传输 会对比两个文件的不同部分,传输差异部分,因此传输速度相当快 rsync可拷贝、显示目录属性&#xff0c…

ChatGPT:利用人工智能助推教育创新

当前,世界正需要一个更加开放的、更加个性化的学习空间,学生的个性发展和生存发展应该被关注和尊重,课程应该引导学生掌握有用的东西,学生之间的差距应该被正视,教育成功的标准也要被重新定义。过去,我们总…

N天爆肝数据库——MySQL(5)

本文主要对索引进行了讲解 这里写目录标题 本文主要对索引进行了讲解索引概述介绍优缺点索引结构二叉树红黑树B-Tree(多路平衡查找树)BTreeBTree与B-Tree区别: HashHash索引特点 为什么InnoDB存储引擎选择使用BTree索引结构?索引分类在InnoDB存储引擎中,…

基于微信小程序的求职招聘系统设计与实现(Java+spring boot+MySQL+微信小程序)

获取源码或者论文请私信博主 演示视频: 基于微信小程序的求职招聘系统设计与实现(Javaspring bootMySQL微信小程序) 使用技术: 前端:html css javascript jQuery ajax thymeleaf 微信小程序 后端:Java s…

(五)「消息队列」之 RabbitMQ 主题(使用 .NET 客户端)

0、引言 先决条件 本教程假设 RabbitMQ 已安装并且正在 本地主机 的标准端口(5672)上运行。如果您使用了不同的主机、端口或凭证,则要求调整连接设置。 获取帮助 如果您在阅读本教程时遇到问题,可以通过邮件列表或者 RabbitMQ 社区…

【C++】list的使用及底层实现原理

本篇文章对list的使用进行了举例讲解。同时也对底层实现进行了讲解。底层的实现关键在于迭代器的实现。希望本篇文章会对你有所帮助。 文章目录 一、list的使用 1、1 list的介绍 1、2 list的使用 1、2、1 list的常规使用 1、2、2 list的sort讲解 二、list的底层实现 2、1 初构…

windows环境hadoop报错‘D:\Program‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。

Hadoop版本为2.7.3,在环境配置好后,检查hadoop安装版本,报如标题所示错误,尝试网上主流的几种方法均无效。 错误:windows环境hadoop报错’D:\Program’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。 错误方…

perl输出中文乱码【win10】

perl输出中文乱码 运行的时候输出的内容变成了中文乱码,原因首先来查找一下自己的perl的模块里面是否有Encode-CN。请运行打开你的cmd并输入perldoc -l Encode::CN 如果出现了地址 则就是有,如果没有需要进行该模块的安装。 安装方式有很多种&#xff0…

STM32F407-- DMA使用

目录 1. DMA结构体 STM32F103: STM32F407: 2. F4系列实现存储器到存储器数据传输 1)结构体配置&初始化 2)主函数 补充知识点:关于变量存储的位置,关于内部存储器一般存储什么内容 3. F4系列实现…