当前位置: 首页 > article >正文

ADC和DMA原理

1、什么是ADC 

        ADC(Analog-Digital Converter)模拟-数字转换器;

作用:ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁。ADC主要运用在传感器,一般是利用电阻电容等受的外界测量的物理量,导致测量电路电压发生变化,产生模拟信号,而单片机只能读取数字信号,所以就需要我们把模拟信号转变为数字信号。

ADC的类型

        1、积分型

        将电压转换成时间(脉冲宽度信号)或频率(脉冲频率),然后由定时器/计数器获得数字值。其优点是用简单电路就能获得高分辨率,但缺点是由于转换精度依赖于积分时间,因此转换速率极低。

        2、逐次逼近型

        逐次比较型AD由一个比较器和DA转换器通过逐次比较逻辑构成,从zz而输出数字值。其电路规模属于中等。其优点是速度较高、功耗低,在低分辩率(12位)时价格很高。

        3、并行比较型/串并行比较型

        并行比较型AD采用多个比较器,仅作一次比较而实行转换,又称FLash(快速)型。由于转换速率极高,n位的转换需要2n-1个比较器,因此电路规模也极大,价格也高,只适用于视频AD转换器等速度特别高的领域。

        下面介绍一个金典的逐次逼近行的ADC过程:首先我们开启时钟CLOCK,START给予一个脉冲信号,让ADC开始转换。我们可能有多路的输入,这时候可以根据,地址所存译码器,选择对应通道,输入电压A,然后SAR给DAC数据,DAC根据SAR的数据输出对应的电压B,比较器比较B和A的大小关系。然后SAR采用二分法的方法输出数据给DAC,使得DAC输出的电压B,不断和A的缩小差距近似相等。当近似相等时候,SAR将数据传递给8位锁存器,并将EOC置0,标志着转换完成,我们就可以根据8位地址锁存器的数据,DAC参考电压,与255~0的对应关系进行转换就可以得到数据

2、什么是DMA

        DMA(直接存储器访问),DMA传输是将数据从一个地址空间复制到另一个地址空间,提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。

        CPU无时不刻的在处理着大量的事务,但有些事情却没有那么重要,比方说数据的复制和存储数据,如果我们把这部分的CPU资源拿出来,让CPU去处理其他的复杂计算事务,能够更好的利用CPU的资源.

        因此:转移数据(尤其是转移大量数据)是可以不需要CPU参与。比如希望外设A的数据拷贝到外设B,只要给两种外设提供一条数据通路,直接让数据由A拷贝到B 不经过CPU的处理

 


http://www.kler.cn/a/519995.html

相关文章:

  • 如何优化深度学习模型来提高错别字检测准确率?
  • 如何在Python中进行数据分析?
  • JavaSE【学习笔记】
  • linux日志排查相关命令
  • 转换算术表达式
  • 2025年01月24日Github流行趋势
  • 为AI聊天工具添加一个知识系统 之63 详细设计 之4:AI操作系统 之2 智能合约
  • CLion开发Qt桌面
  • MySQL 基础学习(1):数据类型与操作数据库和数据表
  • Matlab实现TCN-LSTM时间卷积神经网络结合长短期记忆神经网络多特征分类预测(附模型研究报告)
  • gradle创建springboot单项目和多模块项目
  • C++实现设计模式---命令模式 (Command)
  • 系统架构设计中的性能优化策略
  • Python3 正则表达式:文本处理的魔法工具
  • 【2024年华为OD机试】(C卷,100分)- 最大矩阵和 (JavaScriptJava PythonC/C++)
  • go-引入未失使用的处理
  • 绘制决策树尝试3
  • openlayer getLayerById 根据id获取layer图层
  • 【漫话机器学习系列】058.特征重要度(Feature Importance)
  • Vue 响应式渲染 - 指令