FPGA实现AD采集

news2024/10/6 20:33:49

1 理论学习(废话篇)

  ADC 模拟数字转换器(额谈到这个,真的很荣幸在ADI实习的时光,打住不扯了),凡是涉及到模拟信号转数字信号的时候,都会用到ADC。
  ADC的种类很多,有积分型,逐次比较型,SAR型等等,各有各的优势和缺点,一般根据实际项目来选择ADC型号。ADC有一个很重要的参数就是位宽,什么8位,12位,16位。这其实就是ADC的分辨率,最小能分辨的输入电压大小。假设ADC的位宽是8位,参考电压为5V,最小分辨率为:1/256*5v=0.0195mv 。

2 实战参考

FPGA高速ADC接口实战——250MSPS采样率ADC9481

2.1 ADC硬件特性分析(瞎抄的)

   首先必须通过datasheet分析其核心参数、接口定义和时序要求。ADC9481的采样率为250MSPS,精度8bit。其原理结构图如下
在这里插入图片描述
主要引脚:
CLK:差分时钟输入,信号频率为250Mhz
VIN:模拟信号输入,范围是1vpp
VREF:电压参考输入输出,这里使用内部固定参考电压模式
SENSE:参考模式选择
D7A~D0A: 通道A的数字信号输出
D7B~D0B:通道B的数字信号输出
DCO: 数字差分时钟信号输出,信号频率为125Mhz
S1:数据格式选择,该接口电压决定数格式是原码还是补码
PDWN:低功耗选通

接下来看看接口时序:
在这里插入图片描述

2.2 基于FPGA的AD采集

   LVDS低电压差分信号,是一种低功耗,低误码率、低串扰和低辐射的差分信号技术。KSPS,采样千次每秒,是转化速率的单位。
  逐次逼近型ADC由比较器包括n位逐次比较型AD转换器,它由控制逻辑电路、时序产生器、移位寄存器、DA转换器及电压比较器组成
在这里插入图片描述
逐次逼近转换过程和用天平称重类似,从最重的开始试放与被称物体进行比较,若物体重于砝码,则该砝码保留,否则移去。再加上第二个次重砝码,由物体的重量是否大于砝码的重量决定第二个砝码是否保留。
  逐次逼近AD转换器,就是将输入模拟信号与不同的参考电压作多次比较,使转换所得的数字量在数值上逐次逼近模拟量对应值。如上图,它由脉冲启动后,在第一个时钟脉冲作用下,控制电路使时序产生器的最高位置1,其他位置0,其输出的数据寄存器将100.000送到DA转换器,输入电压首先与DA器输出电压 VERF/2 进行比较,如果v1>= (VERF/2),比较器就输出1,否则为0.比较结果存于数据的寄存器的Dn-1位。然后再第二个时钟脉冲CP下,移位寄存器的次高位置1,其他低位置0.如最高位已存1,则此时vo=(3/4)VERF。于是v1再与(3/4)VERF相比较,如v1>=(3/4)VERF,则次高位 Dn-2=0;如最高位为0.,则vo=VERF/4 ,与vo相比较如 v1>= VERF/4,则Dn-2位存1,否则位存0…依次类推,逐次比较得到输出数字量。基准电压VREF。(抄了这么一大段 我好像还没理解,我来理一理)
好吧理解了一点,就这样依次比较!

举个例子如下:
电路为8位AD转换器,输入模拟量VA=6.84v,DA转换器基准电压VREF=10v。当启动脉冲低电平到来后转换开始,在第一个CP作用下,数据寄存器将D7-D0=1000000000送入DA转换器,其输出电压vo=5v(这个0.5 怎么算出来的?),vA与vo比较,vA大于vo存1;第二个CP到来的时候,寄存器输出D7-D0=11000000,vo为7.5v,vA再与7.5v比较,因为小于7.5,所以D6存0;输入第三个CP时,D7~D0=10100000,vo=6.25v;vA再与v0进行比较,如此重复下去。经8个时钟周期,转换结束。由图中v0的波形可见,在逐次比较过程中,与输出数字量对应的模拟电压v0逐渐逼近vA值,最后得到AD转换器转换结果D7-D0为10101111。该数字量所对应的模拟电压为6.83v,与实际输入的模拟电压6.84的相对误差仅仅为0.06%。
在这里插入图片描述

2.2.1 AD7982

本实验打算采用AD7982这个数据采集设备,是一个12位高速,低功耗、8通道逐次逼近型ADC。采用单电源工作,电源电压为2.7v到5.25v,最高吞吐率可以达到1Msps。内置低噪声、宽带宽采样保持放大器,可以处理8Mhz以上的输入频率。
通过配置控制寄存器,器件的模拟输入范围可以在0到REFin或0v到2REFin间选择,可采用标准二进制或者二进制补码输出编码。AD7928具有八个通道序列器的单端模拟输入,可以通过预先编程选择通道转换顺序。

参考:https://blog.csdn.net/weixin_43727437/article/details/103349387

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

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

相关文章

解决el-checkbox点击文字也会选中

最近要做一个 多选框嵌套下拉框的一个功能,在点击下拉框时,多选框一直会被选中或者取消,这里做一下解决记录 首先展示一下要做的功能 出现原因: el 的checkbox的组件整个是由lable包裹的,所以重写el-checkbox就可以了…

〖大前端 - 基础入门三大核心之CSS篇㉓〗- 过渡的缓动效果

当前子专栏 基础入门三大核心篇 是免费开放阶段。推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V!说明:该文属于 大前端全栈架构白宝书专栏,目前阶段免费开放,购买任意白宝书体系化专栏可加入TFS…

〖大前端 - 基础入门三大核心之CSS篇㉑〗- 3D变形 与空间移动

当前子专栏 基础入门三大核心篇 也是免费开放阶段。推荐他人订阅,可获取扣除平台费用后的35%收益。说明:该文属于 大前端全栈架构白宝书专栏,目前阶段免费开放,购买任意白宝书体系化专栏可加入TFS-CLUB 私域社区。福利&#xff1a…

Java去除字符串中空格、制表符、回车换行的方法

\t 是制表符\r\n 回车换行 注意:\r,\n的顺序是不能够对换的,否则不能实现换行的效果.操作系统的不同,换行符操也不同:\r: return 到当前行的最左边。\n: newline 向下移动一行,并不移…

Reddit NFT爆火,全球最大社区论坛成为Web3大规模应用前哨站

这是白话区块链的第1804期原创 作者 | 火火出品|白话区块链(ID:hellobtc) 据Dune Analytics最新数据显示,Reddit于Polygon网络发行的NFT系列Reddit Collectible Avatar销售总量已突破9万笔,在12月7日达到94…

火灾报警电路设计

火灾报警电路设计 设计一个火灾报警电路:有一火灾报警系统,设有烟感、温感和紫外线 光感3种类型的火灾探测器。为了防止误报警,只有当其中有两种或两种以 上类型的探测器发出火灾检测信号时,报警系统才产生报警控制信号。设计一个…

Linux驱动device_create创建字符设备文件

在Linux中有两种创建字符设备的方法,一种是通过mknod手动进行设备文件创建,第二种是通过device_create函数进行设备文件创建。在驱动开发中常用第二种方式进行设备文件的创建。 class_create和device_create 先来了解一下跟设备文件创建相关的两个函数。…

window 以zip的方式 安装mysql5.7或mysql8,或者两个一起安装Mysql5.7和Mysql8、或其他的版本也可以

window 以zip的方式 安装mysql5.7或mysql8,或者两个一起安装Mysql5.7和Mysql8、或其他的版本也可以 注意不能同一个端口。需要创建个my.ini ,配置内容在网上查下即可 比如说 mysql8的配置文件或mysql5.7的配置,当然内容差别不大,只是需要看自…

数据库系统课程设计(高校成绩管理数据库系统的设计与实现)

目录 1、需求分析 1 1.1 数据需求描述 1 1.2 系统功能需求 3 1.3 其他性能需求 4 2、概念结构设计 4 2.1 局部E-R图 4 2.2 全局E-R图 5 2.3 优化E-R图 6 3、逻辑结构设计 6 3.1 关系模式设计 6 3.2 数据类型定义 6 3.3 关系模式的优化 8 4、物理结构设计 9 4.1 聚…

【AIGC】论文阅读神器 SciSpace 注册与测试

欢迎关注【youcans的 AIGC 学习笔记】原创作品 【AIGC】论文阅读神器 SciSpace 注册与测试 1. 【SciSpace】网址与用户注册1.1 官网地址:[【SciSpace官网】https://typeset.io](https://typeset.io)1.2 官网注册 2. 【SciSpace】实战解说2.1 导入论文2.2 论文分析2.…

基于Python-sqlparse的SQL表血缘追踪解析实现

目录 前言 一、主线任务 1.数据治理 2.血缘追踪 3.SQL表血缘 二、实现过程 1.目标效果 2.代码实现 1.功能函数识别 2.SQL标准格式 3.解析AST树 4.最终效果: 点关注,防走丢,如有纰漏之处,请留言指教,非常感…

eclipse的安装与配置

1、下载 eclipse 下载地址:https://www.eclipse.org/downloads/ 点击 【Download Package】 找到JavaEE IDE,点击【Windows x86_64】 点击【Select Another Mirror】,然后点击国内任意一个大学镜像下载即可! 下载成功后&…

express的使用(一)

因为有时候没有登录CSDN,所以弄了一个订阅号,会不定时的更新文章(其实就是在csdn这边发布了之后搬过去,不过有问题的可以留言,csdn不常上来看),欢迎订阅文章链接:[订阅号-express的使用(一)] ------------------------…

全网首发2023全新ChatGPT3.5小程序开源源码 全新UI

源码简介: 2023全新ChatGPT3.5小程序开源源码 全新UI 全网首发 这一版本ui比较好看 回复速度也快了 小程序是java的 带后台 本来准备给你们带上接口的然后么后台是和接口连接的 我改什么内容你们前段都会显示所以全开源 自己搭建下吧,腾讯云买个国外服…

MFC基础入门

1 MFC入门 1.1 为什么学习MFC 在Windows平台上做GUI开发,MFC是一个不错的选择。 学习MFC不仅可以学习到MFC本身,而且可以学习MFC框架的设计思想。 1.2 Windows消息机制 基本概念解释 SDK:软件开发工具包(Software Development Kit)&…

『MySQL 实战 45 讲』15 - 两阶段提交、索引相关问题

日志和索引相关问题 mysql 两阶段提交问题 在两阶段提交的不同时刻,MySQL 异常重启会出现什么现象? 如果 crash 发生在时刻 A 由于此时 binlog 还没写,redo log 也还没提交,所以崩溃恢复的时候,这个事务会回滚 如果 …

数据链路层协议 ——— 以太网协议

文章目录 链路层解决的问题以太网协议认识以太网以太网帧格式认识MAC地址对比理解MAC地址和IP地址认识MTUMUT对IP协议的影响MTU对UDP协议的影响MTU对TCP协议的影响数据跨网络传输的过程 ARP协议ARP协议的作用ARP数据的格式ARP协议的工作流程 链路层解决的问题 IP拥有将数据跨网…

【前端知识】Cookie, Session,Token和JWT的发展及区别(二)

【前端知识】Cookie, Session,Token和JWT的发展及区别(二) 4. Session4.1 Session的背景及定义4.2 Session的特点👍4.2.1 Session的特点👀4.2.2 Session保存的位置 4.3 Session的一些重要/常用属性4.4 Session的认证流程4.5 Sessi…

Python数据清洗:Python和Pandas数据清洗的实用教程

前言: 技术书籍是学习技术知识的重要资源之一。读技术书可以帮助我们学习新技能和知识,技术书籍提供了可靠的、全面的信息,帮助我们快速学习新技能和知识。同时技术书籍有助于保持你的竞争力,因为它们提供了最新的技术知识和实践。…

什么? 你还没用过 Cursor? 智能 AI 代码生成工具 Cursor 安装和使用介绍

作者:明明如月学长, CSDN 博客专家,蚂蚁集团高级 Java 工程师,《性能优化方法论》作者、《解锁大厂思维:剖析《阿里巴巴Java开发手册》》、《再学经典:《EffectiveJava》独家解析》专栏作者。 热门文章推荐…