大三下9门期末考试有点让我喝闷可乐。加上大学来后就染上了不喜欢班长的习性(通常借金庸老爷子的话来形容他:其档次次再提高几个,方能让我嫌弃一下,小胸怀一下 ),各种情节导致我在无所谓与所谓之间考完试。同学们有的感觉释放和解脱,有的终于从考试这个系统中解放出来,觉得通过考试学不到真东西,然后还有和我一样的:没啥大的感觉。就是觉得第二种同学没有白来大学。

晚上开会,又给我留下了一个难题。我要大四了,我需要自己去体验和面对这个社会了吧。哪怕囧一点。在复习《计算机控制系统》这门课的时候,突然之间发现AD转换这个地方还有点意思,于是遂作笔记:在考完之后做个笔记。

1 分辨率

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

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

表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作为计算二进制的整数呢?其实随便取哪一个都不是很准确,但是在一定的误差要求范围内,应该是随便取哪一个都是可以的,可以取两个整数值来分别计算得到二进制值,然后再用此二进制值计算出对应的输出模拟量,选择误差较小的一个对应的二进制对应的模拟量值( 保证大者在最大值以下,小者在下限以上的前提下 )。

Note Over。

A/D | D/A 转换原理计算相关推荐

  1. 计算机原理 对口单招,对口单招计算机原理计算专题练习-20210622114415.pdf-原创力文档...

    对口单招计算机原理计算专题练习 一.数制转换类 1.十六进制数 1000 转换成十进制数是 ______ . A .4096 B .2048 C .1024 D . 8192 2 .十进制数 25.1 ...

  2. 信息转换原理: 信息、知识、智能的一体化理论

    来源:人机与认知实验室 [数据.信息.知识.智能除了转换外,是否还有变异.弥聚等?能否把这些变化看成是态.势.感.知结构扭曲而产生的必然现象?] 摘要 如何把信息转换为解决问题所需要的智能,是信息科学 ...

  3. 开发板A/D转换原理

    A/D转换器(Analog-to-Digital Converter)又叫模/数转换器,即使将模拟信(电压或是电流的形式)转换成数字信号.这种数字信号可让仪表,计算机外设接口或是微处理机来加以操作或是 ...

  4. (十)洞悉linux下的Netfilteramp;iptables:网络地址转换原理之SNAT

    源地址转换:SNAT SNAT 主要应用于下列场景: 这种情况下,我们只有一个公网地址A,而又有三台主机需要同时上网,这时就需要SNAT了.它的主要作用是将那些由私网发来的数据包skb的源地址改成防火 ...

  5. AD7760转换原理及采集程序设计 (24位Σ-Δ型ADC)

    1 AD7760(Σ-Δ模数转换器) 1.1 Σ-Δ型ADC的工作原理 的ADC不同,Σ-Δ型ADC不是直接根据采样数据的每一个样值的大小进行量化编码,而是根据前一量值与后一量值的差值即所谓的增量的大 ...

  6. 汉字编码转换原理及方法

    一.基本概念 · GB码 全称是GB2312-80<信息交换用汉字编码字符集 基本集>,1980年发布,是中文信息处理的国家标准,在大陆及海外使用简体中文的地区(如新加坡等)是强制使用的唯 ...

  7. 对口单招计算机原理提纲,对口单招计算机原理计算专题练习.docx

    文档介绍: ---------------------------------作者:_____________-----------------------------日期::____________ ...

  8. python时间函数详解_Python 日期的转换及计算的具体使用详解

    日期的转换及计算 对于日期,有时需执行不同时间单位的转换,或者接受字符串格式的日期,转换为 datetime 对象.有时需计算日期的范围,以及特定某个星期几的日期.这里更多用到的是 Python 提供 ...

  9. 浅谈Rem 及其转换原理

    浅谈Rem 及其转换原理 今天有小伙伴问了我Rem的转换原理,那我就写篇博客记录一下吧! rem 是 CSS3 新增的相对长度单位,是指相对于元素 html 的 font-size 计算值 的大小. ...

最新文章

  1. C 语言内存区域分配(进程的各个段)详解
  2. 【浸入式英文学习方式】山姆莱萌帮助孩子建立扎实语言功底
  3. toString() 和 强制类型转换 (String)
  4. amazon rds 性能_Amazon S3 —云文件存储可提高性能并节省成本
  5. 1月全球Web服务器市场:Apache份额回升至41.64%
  6. PHP与C#的值类型指向区别
  7. 西门子plc200 c语言转换,s7-200程序转换成s7-1200方法
  8. [查看内置函数帮助]
  9. 学习《自己动手写网络爬虫》之记录2
  10. 金士顿u盘写保护修复教程
  11. 你真的搞懂Class,class了么?
  12. 如何看待花呗接入央行个人征信?
  13. lisp语言怎么获取简码_Lisp语言到底神奇在哪里?
  14. windows点阵字体转linux版,Deepin 20.1下安装和配置点阵字体,可解决低分屏字体模糊问题...
  15. 职称申报评审管理系统_《四川省职称评审管理暂行办法》出台
  16. 跨境电商独立站是如何布局的-扬帆凌远
  17. 现代通信技术之IP网技术
  18. 区块链史就是一部流氓史
  19. 【基于mini2440开发板的交叉编译环境及内核树配置.
  20. 2017年的最后一节瑜伽课

热门文章

  1. ppt取色html,如何进行屏幕取色,取色器工具怎么使用,教你在线识别颜色
  2. js判断多个数组之间是否存在交集
  3. 【Flink异常】Caused by: java.lang.RuntimeException: Row arity of from does not match serializers
  4. 服务器带宽占用检测,怎么看服务器的带宽
  5. 833C语言程序设计与数据结构,2017年北方民族大学计算机技术833C语言程序设计与数据结构之C程序设计考研导师圈点必考题汇编...
  6. 用python求正方形周长_用于正方形、矩形和ci的周长和面积的单独函数
  7. 华硕、技嘉驱动程序曝权限提升、代码执行漏洞
  8. msi微星B350M主板开启VT(Virtualization Technology)
  9. matlab 输出数,matlab入门(变量、数值运算、输出)
  10. PHP抓取网络数据的6种常见方法