0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

A/D的转换原理

电子工程师 ? 来源:FPGA设计论坛 ? 作者:FPGA设计论坛 ? 2020-09-28 11:43 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1分辨率

当知道一个A/D或D/A转换器的位数n时,就可以知道其分辨率的大小。此时,A/D或者D/A转换器的都或许知道其分辨率的定义式( 选择D/A转换器来说明 ):

模拟量的范围( 如电压范围[ UMIN, UMAX] )确定之后,分辨率就可以用来确定当D/A转换器内部二进制数变化1时对应的模拟信号的变化量:

左边的B列表示D/A转换器对应的二进制值,U列代表电压。第二行从左到右分别表示二进制数的范围及电压的变化范围,具体的物理含义可表示当二进制从最小变化到最大时对应的电压也从最小变化到最大[ 采用数学中的比例思想可得到下面的比例等式 ]。那么当二进制值增加1( 上图中的1可理解为下一个二进制与上一个二进制值的差,以增1的方式进行 )时电压差值U( 可理解为当二进制值变化1后的电压值与之前二进制值对应电压的差值 )会相应的为多少呢?根据比例式求解就可以得到U的表达式:

这个表达式就证明了之前说的一句话,当模拟信号的范围确定以后,D/A分辨率的大小将决定模拟量的最小变化量。对于相同的模拟信号范围,当n值越大时,二进制每增加1对应的模拟信号的变化就越小[ 对整个模拟量范围划分的阶段更多 ],能表示的模拟信号的精度就越高。如UMAX=1, UMIN=0,n=8则D/A能输出0.0039这一点压值,但此D/A转换器永远输不出在此基础之上小于U的电压值如0.0039 + 0.09( 低于二进制变化一位电压变化的值了 )。这就是分辨率的作用和所追求的东西。每两个二进制值之间形成一个模拟量增量。

2 A/D或D/A的计算

不管是对于数模转换还是模数转换,其实都是根据事先设计好的二进制增1时对应的模拟量的增量值来计算。根据以上对分辨率的讨论可知,模拟量值从原来设定值变化到当前值需要变化的二进制值为多少呢,每变化一个二进制值模拟量就增加一个值U,直到增加到当前模拟量值。一般的A/D或者D/A转换器低分辨率的为8位,中分辨率的的有10位和12位,高分辨率的有16位,别看这8位的低分辨率( 值为0.00392 ),有效值也在小数点后三位。由以上分析分变率可知,分辨率与模拟量的乘积就是二进制每增加1时对应模拟量的变化增量[ 若模拟量范围为个位级,若输出模拟量的精度不需要精确到小数点后3位,则二进制增1操作不能引起模拟量的改变,若模拟量范围为十位级,若输出模拟量值精度不需要精确到小数点后两位,则二进制增1时模拟量输出不会改变,依次类推 ],10/12/16位A/D或D/A同样的道理。

2.1D/A通道数模转换计算

同理,D/A通道数模转换计算是已知模拟信号范围及知道一个二进制值时对应的模拟信号值。根据以上分析二进制下的模拟量计算公式应该为:


M为上次二进制值到当前二进制值变化的二进制值。根据分析的模拟量输出精度可知,若模拟量范围为个位级且输出精度不要求精确到小数点后三位,则二进制的增/减一个值不会改变模拟量的值。故上面的对U的计算公式就可以改成:

同理,当给定的二进制值M有-1的情况,如给定二进制值FFH时,就可以省掉-1项( 不影响结果 )。

2.2A/D通道模数转换计算

A/D通道模数转换计算是已知模拟信号范围及知道模拟量范围内的一个值时求对应的二进制数值。根据表1,可得已知电压值计算二进制值的公式如下:


<1> 根据以上所提到的精度问题,在不影响精度的条件下可以将2的n次方后的-1项去掉。

<2> 如果整个计算结果为小数,而对应二进制时需要整数来对应,此时是将这个小数的小数部分直接省掉作为计算二进制的整数呢还是将小数省掉后加1作为计算二进制的整数呢?其实随便取哪一个都不是很准确,但是在一定的误差要求范围内,应该是随便取哪一个都是可以的,可以取两个整数值来分别计算得到二进制值,然后再用此二进制值计算出对应的输出模拟量,选择误差较小的一个对应的二进制对应的模拟量值( 保证大者在最大值以下,小者在下限以上的前提下 )。


原文标题:AD转换原理

文章出处:【微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • AD
    AD
    +关注

    关注

    28

    文章

    876

    浏览量

    152172
  • 分辨率
    +关注

    关注

    2

    文章

    1082

    浏览量

    42755

原文标题:AD转换原理

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    AD、DA转换器接口技术与实用线路

    本书共分七章,主要内容包括:绪论、模拟开关与采样/保持器、D/A转换基本原理与接口技术、A/D转换
    发表于 04-10 15:10

    NS2009 I2C接口4线电阻触摸屏控制器中文手册

    ? ? ? NS2009是一款带12C接口的4线制电阻式触摸屏控制电路,内含12位分辨率A/D转换器。NS2009能通过执行两次A/D
    发表于 04-09 15:24 ?1次下载

    单片机硬件电路设计实例(工程师多年经验总结)

    电池供电时是否要考虑做一些省电低功耗线路。 带检测功能的产品是否用到A/D功能,有无必要用到一些精密参考源,主要针对测量及充电电路,或是可否直接采用RC充放电线路来做模拟量检测,A/D
    发表于 03-05 10:32

    ADS1211如何给四通个道的初始化、四个通道又是如何轮流进行A/D转换

    本人最近在工程设计中用到ADS1211(板卡上的处理器是LM3S2965)。目前手头有一份1210/1211的英文PDF,反复看过几遍后感觉是文档中的初始化、A/D转换流程都是基于单通道
    发表于 02-13 07:53

    求助,关于使用ADC12C105的问题求解

    范围。。。。。。。。。。然而我的信号,可能是负几十毫伏(或十几毫伏)到2V多左右一个脉冲波形。。。。。。能不能用该芯片进行A/D转换????????? 若果能是不是低于0.3V的信号转换
    发表于 02-13 06:49

    CC2530连接ADS7822,经示波器检测,CLK无输出波形是怎么回事?

    Din(对应MCU的MOSI),所以CC2530的P1.6没有连接,悬空。 P_ADS7822_CS=0; //启动A/D转换 U1DBUF=0x66; while (!U1RX_BYTE
    发表于 02-10 08:22

    求一个可以直接连接在C6455DSK的EMIFA接口的A/D转换

    想找一个可以直接连接在C6455DSK的EMIFA接口的A/D转换卡,高速的,大概在30MHz左右,而且是并行的
    发表于 02-06 07:32

    一文看懂ADC转换过程

    1、A /D转换的一般步骤和取样定理模拟量到数字量的转换过程: 取样:把时间连续变化的信号变换为时间离散的信号。 保持:保持取样信号,使有充分时间将其变为数字信号。 取样定理: 量化和
    的头像 发表于 01-23 17:43 ?2041次阅读
    一文看懂ADC<b class='flag-5'>转换</b>过程

    DDC112U的数据输出接口能否和MCU的SPI接口进行连接?

    看了DDC112的Datasheet,关于它的数据的输出,Datasheet好像并未明确说明其数据输出接口(主要是这几个信号:/DXMIT、DCLK、DOUT)是否能够与MCU的SPI接口进行连接,由MCU通过SPI接口读出DDC112完成的A/D
    发表于 01-23 06:40

    ADC0808经典例程 驱动代码

    ADC0808是采样分辨率为8位的、以逐次逼近原理进行模/数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换
    发表于 01-21 06:28

    请问ADS131E08S从启动AD转换转换结束到底需要多长的时间?

    /64k =15.625us 就可以完成一次A/D转换。 但是在Datasheet中又看到以下的描述: 如果按照这个表格中的关系计数的话:Tsettle = 152*Tclk = 152*444ns
    发表于 12-31 08:13

    请问是否有模拟端支持最大4.2v电压,数字端支持1.8v电压的A/D转换芯片型号?

    请问是否有模拟端支持最大4.2v电压,数字端支持1.8v电压的A/D转换芯片型号? 若是数字端输出为I2C或者SPI接口更好。 谢谢!
    发表于 12-30 07:48

    INA226利用串口助手把读取的数据显示,但是输出的结果不对,为什么?

    时对应的器件地址 uchar H_AD; // H_AD用于存储高八位A/D转换结果 uchar L_AD; // L_AD用于存储低八位A/D
    发表于 12-27 06:00

    A/D转换过程中,高速ADC与低速ADC在提高性能指标上,考虑的点有什么不同?

    A/D转换过程中,高速ADC与低速ADC在提高性能指标上,考虑的点有什么不同?
    发表于 12-18 07:07

    GM7150 低功耗 NTSC/PAL 视频解码器 CVBS转BT656/601

    A/D 转换、自动钳位、自动增益控制(AGC)、时钟发生(CGC)、多制式解码、亮度/对比度/饱和度控制(BCS)。
    的头像 发表于 10-31 17:56 ?1566次阅读
    GM7150 低功耗 NTSC/PAL 视频解码器  CVBS转BT656/601