AD转换精度的计算】的更多相关文章

声明原文来源于:http://wenku.baidu.com/view/1e6d8f3083c4bb4cf7ecd1c2.html 讨论AD转换分辨率的算法(zt) (1)在总长度为5米的范围里,平均分布6棵树(或说6个元素),算出每科树(或说每个元素)的间隔? 解:每棵树(或说每个元素)应该这样分布: 在开头0米处种第1棵(记为0号树) 在1米处种第2棵(记为1号树): 在2米处种第3棵(记为2号树): 在第5米(即终点)处种第6棵(记为5号树) 所以,每棵树的间隔(或分辨率)的算法是:总长度…
1:ADC:Analog-to-Digital Converter,模拟信号转数字信号,自然界一般为模拟信号,而SoC需要数字信号,所以之间通信需要ADC. 2:转换原理: 以逐次逼近式AD转换为例: 这里以8位为例,而S5pv210SoC是可选10bit.12bit: (1) 首先发出"启动信号"信号S.当S由高变低时,"逐次逼近寄存器SAR"清0,DAC输出Vo=0,"比较器"输出1.当S变为高电平时, "控制电路"使SA…
1. 直接量化的过采样AD转换 此类系统的模型可以用下图表示. 图中xa(t)是输入信号,e(t)是量化引入的噪声,xd[n]是最终得到的数字信号,包含分量xda和xde. 对于M倍过采样,信号与量化噪声的功率谱如下图. 从上图可以看出,M越大,信号与噪声之间的重叠部分就越少. 现在将上面的信号通过一个截止频率为PI/M的理想数字滤波器,信号功率不受影响,而PI/M之外的量化噪声将被滤除.再经过M倍降采样后,信号与量化噪声的功率谱就变成下面的样子(量化噪声只有滤波降采样前的1/M): 计算表明(…
Q1:MSP430F149 AD 的输入阻抗有多大?A1:RC<2000欧*30PF Q2:MSP430 ADC12 模块的速度?A2: ADC12 的转换速率是转换所需的ADC12CLK 以及时钟的一项功能.ADC12CLK 的近似最小值与最大值分别为500kHz 及6.5MHZ.速度最快的整个转换过程可以在17 个周期内完成(13 个周期进行转换,4 个周期进行采样及保持).6.5MHz/17 = 382ksps.ADC12 的运行速率不能低于最小值的ADC12CLK,但在软件的控制下,采样…
一.AD转换的概念  AD转换的功能是把模拟量电压转换为数字量电压.DA转换的功能正好相反,就是讲数字量转换位模拟量. 二.芯片PCF8591介绍 PCF8591是一个单片集成.单独供电.低功耗.8-bit CMOS数据获取器件.PCF8591具有4个模拟输入.1个模拟输出和1个串行I²C总线接口.PCF8591的3个地址引脚A0, A1和A2可用于硬件地址编程,允许在同个I2C总线上接入8个PCF8591器件,而无需额外的硬件.在PCF8591器件上输入输出的地址.控制和数据信号都是通过双线双…
一.实验任务 通过tcl549AD转换芯片将模拟电压信号转换为数字信号,并通过串口显示到电脑上.此AD转换芯片为串行转换芯片,且转换速率要和串口选择的速率匹配.等待串口发送完后,再进行下一次AD转换.就实际应用而言,此转换速率有点低. 二.代码开发 根据AD芯片的芯片手册编写程序.以下为顶层程序. //将实时转换的数字结果通过串口传输到PC上 module adc_top ( clk, rst, ad_cs_out,//--TLC549片选信号 ad_clk_out,//--TLC549时钟信号…
//不说那么多了,直接上程序 void ADC1_DeInit(void) { ADC1->CSR = ADC1_CSR_RESET_VALUE; ADC1->CR1 = ADC1_CR1_RESET_VALUE; ADC1->CR2 = ADC1_CR2_RESET_VALUE; ADC1->CR3 = ADC1_CR3_RESET_VALUE; ADC1->TDRH = ADC1_TDRH_RESET_VALUE; ADC1->TDRL = ADC1_TDRL_RE…
假设模拟输入电压的最大值为5V,A/D转换器件为8位转换. [该转换器的分辨率为1/2n=0.3906%.] [能分辨输入模拟电压变化的最小值为5*0.3906%=19.5mv.] 则模拟电压与数字输出之间的关系为: 模拟电压(V) 数字输出 0 0 0.0195 1 1 33H 4 0CCH 5 0FFH 假设数字输出为d,则 在AD转换程序中处理方法如下: d和dis[]是uchar类型的.程序是开发板里的,突然出现的51让人很难理解.推导过程如上图. dis[2]=d/51;   //整数…
首先,为啥会要讨论这个问题. 我得为昨天拖了小组后腿深表歉意.其实程序逻辑很快就理通了的,但自己总是会因为各种各样的小问题束缚手脚,看接下来这个图片: 稍微有数据敏感性的同学就能看出,中间这么一大堆又是0000又是999还是这么多位的小数,一看就是异常数据.这块数据的产生,源于代码里对两个字符串做了float转换并相减,导致出现了这种数据异常的错误.那么问题来了,1.这种异常是如何产生的?2.有哪些方法可以解决这种问题呢?3.编程中间还有哪些与这个问题相关的注意事项呢? 第一部分:这种异常是如何…
简介 float和double类型的使用局限: 单精度浮点型变量float可以处理6~7位有效数,双精度浮点型变量double可以处理15~16位有效数,在实际应用中,如果需要对更大或者更小的数进行运算和处理,这时候float和double就如能为力了. 借用<Effactive Java>这本书中的话,float和double类型的主要设计目标是为了科学计算和工程计算,他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的.然而,它们没有提供完全精确的结果,所…