什么是AD转换

ARM体系-ADC

一、什么是ADC

1、ADC:analog digital converter,AD转换,模数转换(也就是模拟转数字)
2、模拟信号只有通过A/D转化为数字信号后才能用软件进行处理,这一切都是通过A/D转换器(ADC)来实现的。与模数转换相对应的是数模转换,数模转换是模数转换的逆过程。
3、CPU本身是数字的,而外部世界变量(如电压、温度、高度、压力···)都是模拟的,为了用数字技术来处理外部的模拟物理量,所以需要用CPU来处理这些外部的模拟变量的时候就需要做AD转换。
4、模拟量:模拟的就是连续的,现实生活当中的时间、电压、高度等都是模拟的(连续分布的,划分的话可以无限的更小划分)。模拟量反映在数学里面就是无限小数位(从0到1之间有无数个数)
5、数字量:数字是离散的,离线的就是不连续的。这种离散处理实际上是从数学上对现实中的模拟量的一种有限精度的描述。数字化就是离散化,就是把连续分布的模拟量按照一定精度进行取点(采样)变成有限多个不连续分布的数字值,就叫数字量。
6、数字化的意义就在于可以用(离散)数学来简化描述模拟量,这东西是计算机技术的基础。
7、计算机处理参量的时候都是数字化的,计算机需要数字化的值来参与运算。如果系统输入参数中有模拟量,就需要外加AD转换器将模拟量转成数字量再给计算机。
8、有AD自然就有DA:
①AD是analog to digital,DA自然就是digital to analog,数字转模拟。
②纯粹用cpu是不可能实现数字转模拟,因为cpu本身就是数字的。使用一些(具有一些积分或微分效果的)物理器件就可实现数字转模拟。
③数字转模拟的作用。譬如可以用来做波形发生器。

二、ADC的主要相关概念

1、量程(模拟量输入范围)

①AD转换器是一个电子器件,所以他只能输入电压信号。其他种类的模拟信号要先经过传感器(Sensor)的转换变成模拟的电压信号然后才能给AD。
②AD输入端的模拟电压要求有一个范围,一般是0~3.3V或0~5V或者是0~12V等等。模拟电压的范围是AD芯片本身的一个参数。实际工作时给AD的电压信号不能超过这个电压范围。

2、精度(分辨率resolution)

①AD转换输出的数字值是有一定的位数的(譬如说10位,意思就是输出的数字值是用10个二进制位来表示的,这种就叫10位AD)。这个位数就表示了转换精度
②10位AD就相当于把整个范围分成了1024个格子,每个格子之间的间隔就是电压的表示精度。加入AD芯片的量程是0~3.3V,则每个格子代表的电压值是3.3V/1024=0.0032265V。如果此时AD转换后得到的数字量是447,则这个数字量代表的模拟值是:447×0.0032265V=1.44V。
③AD的位数越多,则每个格子表示的电压值越小,将来算出来的模拟电压值就越精确。
④AD的模拟量程一样的情况下,AD精度位数越多精度越高,测出来的值越准。但是如果AD的量程不一样。譬如2个AD,A的量程是0~50V,B的量程是0~0.5V,A是12位的,B是10位的,可能B的精度比A的还要高。(A的精度:50/1024=0.04883,B的精度:0.5/4096=0.000122)

3、转换速率(MSPS与converter clock的不同)

①首先要明白:AD芯片进行AD转换是要耗费时间的。这个时间需要多久,不同的芯片是不一样的,同一颗芯片在配置不一样(譬如说精度配置为10位时时间比精度配置为12位时要小,譬如说有些AD可以配转换时钟,时钟频率高则转换时间短)时转换时间也不一样。
②详细的需要时间可以参考数据手册。一般数据手册中描述转换速率用的单位是MSPS(第一个M是兆,S是sample,就是采样;PS就是per second,总的意思就是兆样本每秒,每秒种转出来多少M个数字值)
③AD工作都需要一个时钟,这个时钟有一个范围,我们实际给他配置时不要超出这个范围就可以了。AD转换是在这个时钟下进行的,时钟的频率控制着AD转换的速率。注意:时钟频率和MSPS不是一回事,只是成正比不是完全相等。譬如S5PV210中的AD转换器,MSPS = 时钟频率/5

4、通道数

①AD芯片有多少路analog input通道,代表了将来可以同时进行多少路模拟信号的输入。

  • 20
    点赞
  • 103
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
关于Proteus仿真ADC0809,说明以下几点: 1、在Proteus中,ADC0809是不可仿真的。但可以用ADC0808代替ADC0809进行仿真。ADC0808与ADC0809有相同的引脚,功能极为相似。在Proteus中,可以认为:ADC0808就是ADC0809。 2、说明几个关键引脚的输出信号: 1)OE 数据输出允许信号,高电屏有效(意思就是,当OE接高电屏时才允许将转换后的结果从ADC0808的OUT1~OUT8引脚输出,否则,在内部锁存)。 2)ADC0808的ALE信号(22引脚),以及START信号(6引脚) ALE称为“地址锁存允许信号”,高电屏有效。就是说:ALE=1时,允许将ADDA~ADDC的地址输入到ADC0808的内部译码器,经过译码后选定外部模拟量的输入通道。 START信号,这是一个必须重点掌握的信号,向START送入一个高脉冲,其上升沿使ADC0808内部的“逐次逼近寄存器SAR”复位,其下降沿可以*启动A/D转换,并同时使EOC引脚为低电平*(两个*之间的内容必须牢记!)。 应注意到:ALE是高电屏有效,而START的有效部分只是上升沿和下降沿,所以在连接电路时可以将ALE信号与START信号连接到一起,使它们在同一个脉冲上各取所需。 3)EOC AD转换结束的标志信号,在AD转换结束时成现高电屏。不能通过以下方式使EOC恢复低电屏: 假设EOC连到P1.0口上,企图通过CLR P1.0使EOC恢复低电屏是不可行的。在Proteus仿真时,会出现黄色信号,表示短路。在实际当中,短路是非常可怕的事情。 千万注意:EOC是靠START的下降沿清零的! 4)在Proteus中,ADC0808的时钟信号要用DCLOCK产生(应该知道啥是DCLOCK吧?),因为在Proteus仿真中,当不外接扩展ROM时,单片机的ALE信号(注意,不是ADC0808的ALE信号!)在Proteus仿真中不会出现,因此即使外接74LS74作分频也不会得到时钟信号。 发点牢骚:很多高校都以ADC0809作为AD转换的代表芯片来讲解,但却不细说其工作过程和工作原理。我们杨红梅老师上课这样说的:“当程序执行到MOVX @DPTR,A的时候,会启动AD转换”。我不理解为什么执行到这里就启动AD转换了,于是说道:“老师,这里我不理解。”作为一名十分有责任感的副教授,她是这样回答的:“就是执行到这里就启动了,你还想理解到什么程度?”……令我实在无语。于是我到校图书馆翻阅了一些相关的高校教材,其各书所述大同小异,也没什么收获,现在的高校教材呀!不得不令人怀疑有抄袭之嫌。后来,在清华大学出版社出版的《单片机原理与应用及C51程序设计》一书中获得了一些启发,又亲自动手做了仿真,才略懂一二。对于希望学好单片机的同仁,我有一点小常识奉送,就是:务必学会读懂时序图,即使老师上课不讲,自己也要自学,并学会。 我写的这个程序极其短小,重点在于使读者通过仿真控制理解上述关键信号的作用,进而理解ADC0808的工作过程和工作原理。为了减少赘余,突出重点,并没有用单片机对AD转换后的数字信号行处理,而是通过ADC0808的OUT1~OUT8引脚直接输出。希望看过此例的同仁能通过此例真正学懂ADC0808(也即是:ADC0809)。相关的时序图,百度上有丰富的资源,在这里就不赘赠了,请见谅。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值