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

news2024/12/23 9:52:21
为实现阵列涡流检测系统总体功能,需研制一套多通道信号采集硬件系统,以搭配
软件编程实现分时激励和分时采集。基于以上要求,本章介绍了阵列涡流检测系统的硬
件模块设计。
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
出信号进行相位计算并与数值相敏检波算法计算的相位进行对照,验证系统设计。

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

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

相关文章

PADS Logic元件库创建的管脚如何快速复制

在绘制原器件封装的时候,如果对管脚一个一个去进行放置会影响效率,因此可以通过对管脚进行复制来实现快速放置管脚。 第一步:在元件界面点击添加端点图标,先进行一个管脚的放置,如图1所示 图1 放置管脚示意图 第二步&…

2.Vue3中Cesium地图初始化及地图控件配置

前言 本文中,我们主要介绍 Cesium 在 Vue 3运行环境的配置,以及 Cesium 实例中控件的显隐设置,本文是后续文章内容的基础,项目代码在此查看;通过本文,我们可以得到一个纯净的 cesium 项目,后续的…

ptrace修改进程数据

ptrace可以修改和读取一个进程的数据 long ptrace(enum __ptrace_request request,pid_t pid,void *addr,void *data); PTRACE_TRACEME, 本进程被其父进程所跟踪。其父进程应该希望跟踪子进程 PTRACE_PEEKTEXT, 从内存地址中读取一个字节,内存地址由addr给出 PT…

基于docker搭建gitea私服仓库,并开启https访问、ssh访问和邮箱验证通知功能

系列文章目录 git常用命令大锦囊 文章目录 系列文章目录前言一、gitea安装1. 安装docker compose2. 安装gitea 二、给gitea配置https访问三、gitea配置ssh方式拉取代码四、给gitea配置可发送的邮箱五、gitea注册开启邮箱验证和邮箱通知六、限制所有仓库只有登录后才能访问七、…

Windows git bash输入vim报错,不能使用vim-plug插件管理器

Windows系统下的git bash在安装时自带了默认的vim&#xff0c;我自己也下了个gvim&#xff0c;并且配置了.vimrc&#xff0c;其中使用了vim-plug管理nerdtree这些插件。但是在bash中vim <file>时&#xff0c;就会蹦出来几行报错&#xff1a; 处理 /c/Users/<username…

pyqt 实现计算器

1.由designer设计实现的计算器类 文件名为&#xff1a;untitled.py # -*- coding: utf-8 -*-# Form implementation generated from reading ui file untitled.ui # # Created by: PyQt5 UI code generator 5.15.9 # # WARNING: Any manual changes made to this file will b…

浅谈无线温度监控系统在低功耗开关柜中的应用

安科瑞 华楠 摘要&#xff1a;为了能够实现实时监测高压开关柜的温度状况&#xff0c;提出一种基于无线传感器网络的开关柜温度在线监测系统。设计的无线温度在线监测系统不仅解决了开关柜内高温、高压、强电磁感应等在恶劣环境下不易检测的问题&#xff0c;而且从硬件选择和软…

谷粒商城篇章4 ---- P102-P172【分布式高级篇一】

目录 1. Elasticsearch 1.1 基本概念 1.1.1 Index&#xff08;索引&#xff09; 1.1.2 Type&#xff08;类型&#xff09; 1.1.3 Document&#xff08;文档&#xff09; 1.1.4 倒排索引机制 1.2 Docker安装 ES 1.2.1 下载镜像文件 1.2.2 运行 Elasticsearch 1.3 初步…

mongodb,redis,mysql 区别

一、MySQL 关系型数据库。 在不同的引擎上有不同 的存储方式。 查询语句是使用传统的sql语句&#xff0c;拥有较为成熟的体系&#xff0c;成熟度很高。 开源数据库的份额在不断增加&#xff0c;mysql的份额页在持续增长。 缺点就是在海量数据处理的时候效率会显著变慢。 二、Mo…

C基础day8(2023.7.10)

一、Xmind整理&#xff1a; 二、课上练习&#xff1a; 练习1&#xff1a;基本类型参数 #include <stdio.h> #include <string.h> #include <stdlib.h> //传参&#xff1a;被调函数需要使用主调函数的局部变量&#xff0c;传参 void Sum(char a,char b);//被…

模拟电路(PHY)的端接电阻(terminator)

电气终端&#xff08;英语&#xff1a;electrical termination&#xff09;&#xff0c;是使传输线的末端的负载与传输线特性阻抗相匹配&#xff0c;以避免信号在末端反射的措施。实现电气终端的装置是端接器&#xff08;英语&#xff1a;terminator&#xff09;&#xff0c;有…

《向量数据库指南》——向量数据库的技术挑战和优势

目录 技术挑战 向量数据库的优势 技术挑战 在前面,我列出了向量数据库应该具有的理想功能,然后将向量数据库与向量搜索库和向量搜索插件进行比较。现在,让我们简单来了解一下向量数据库的技术挑战。未来的教程中,我们将介绍 Milvus 是如何解决这些问题的,以及这些技术是…

一个月学通Python(十六):Django模型深入理解(Web开发)

专栏介绍 结合自身经验和内部资料总结的Python教程&#xff0c;每天3章&#xff0c;1个月就能全方位的完成Python的学习并进行实战开发&#xff0c;学完了定能成为大佬&#xff01;加油吧&#xff01;卷起来&#xff01; 全部文章请访问专栏&#xff1a;《Python全栈教程&…

Openlayers实战:加载高德地图

在国内地图市场上,高德地图占据了重要的地位。Openlayers可以加载高德地图,这其中根据不同的参数,可以显示遥感地图,矢量地图等,可以显示中文,英文。 效果图 源代码 /* * @Author: 大剑师兰特(xiaozhuanlan),还是大剑师兰特(CSDN) * @此源代码版权归大剑师兰特所有…

flutter页面添加透明遮罩

路由工具 import package:test/main.dart; import package:flutter/material.dart;import circle_page_route.dart;class NavigatorUtil {static push(Widget page, {BuildContext context}) {return Navigator.push(context ?? navigatorKey.currentContext,MaterialPageRo…

津津乐道设计模式 - 迭代器模式详解(以购物车的场景来演示迭代器模式)

&#x1f604; 19年之后由于某些原因断更了三年&#xff0c;23年重新扬帆起航&#xff0c;推出更多优质博文&#xff0c;希望大家多多支持&#xff5e; &#x1f337; 古之立大事者&#xff0c;不惟有超世之才&#xff0c;亦必有坚忍不拔之志 &#x1f390; 个人CSND主页——Mi…

【C++】priority_queue使用与模拟实现

认识priority_queue 1、priority_queue(优先级队列)是一种容器适配器&#xff0c;底层是一个完全二叉树的大堆&#xff08;堆总是一颗完全二叉树&#xff0c;根结点最大的堆叫做大堆&#xff1b;根结点最小的堆叫做小堆&#xff09;&#xff0c;头文件在queue中&#xff0c;根…

simple RNN pytorch代码实现

simple RNN pytorch代码实现 在写这篇博客之前&#xff0c;博主要说一件事情&#xff0c;网上的simple RNN代码很多都是错误的&#xff0c;博主的也是错误的&#xff0c;为什么呢&#xff1f; 因为simple RNN的梯度下降代码必须自己去写&#xff0c;simple RNN的梯度下降不能使…

巧用浮动布局、解决高度塌陷实例分享

问题 如图所示&#xff0c;这种效果该怎么实现呢&#xff1f; 面包屑导航和按钮一行两端显示面包屑或编辑栏超出宽度则自动另行显示 实现 采用浮动&#xff0c;绿色块左浮&#xff0c;蓝色块右浮&#xff0c;利用浮动特性实现宽度超出另一行显示的效果&#xff0c;并是动态的…

ModaHub魔搭社区:什么是非结构化数据?

目录 概览 区分结构化、半结构化和非结构化数据 结构化数据示例 欢迎来到向量数据库 101 系列教程。 概览 这是向量数据库 101 系列教程第一课,主要向大家介绍一下非结构化数据。 现在我们每天都会产生新的数据,这无疑是全球一体化和全球经济的关键动力。从腕部佩戴的…