历史上的今天
今天是:2024年09月22日(星期日)
2021年09月22日 | STM8学习笔记---ADC多通道采样遇到问题及解决方法
2021-09-22 来源:eefocus
在ADC多通道采样时遇到了一个问题,费了半天劲才找到原因。在此将分析过程记录下来。

这是STM8S003单片机5个通道ADC采样程序,在主函数中依次读取各个通道的ADC采样值。首先单独测试一下每个通道的值。
每个通道单独测试采样值 ch2 = 623, ch3 = 0,ch4 = 2,ch5 = 1023, ch6 = 408。
下面开始多通道采样,ch2和ch3同时采样。

采样结果正常。
ch2、ch3、ch4同时采样。

采样结果正常。
ch2、ch3、ch4、ch5同时采样。

采样结果不正常,和上面的采样结果比较,好像采样值被整体下移了一位。
在试试所有通道同时采样

采样的值还是不正常,感觉采样值互相错位了。
3个通道同时采样时采样结果都是正常的,但是4个通道和5个通道同时采样时,采样结果就不正常。采样结果整体被移动了一个通道。
就是这个采样结果偏差的问题,折腾了好久,后来查阅ADC采样原理资料后,感觉是ADC内部电路的原因。
先看一个ADC专用采样芯片内部电路。

当发送通道地址后,ADC会紧跟着输出一个转换结果,但是这个转换结果不是当前设置通道的值,而是上一个通道的值。当前通道的值在下一次设置通道地址的时候才会输出,也就是说通道设置和采样结果输出,要延迟一拍。那程序中刚才出现的采样结果好像错位了一个通道,是不是也是这个原因引起的?
将程序修改为,每个通道采样两次,取第二次的值。将切换通道后的第一次采样值丢掉。

程序修改后采样的值,好像正确了,每个通道的值都可以对应上。也就是说ADC通道切换后,第一次采样值是上一个通道的值,如果需要采样当前通道值,就需要继续采样一次。
也就是说STM8S003单片机,在多通道采样时,采样通道小于等于3个以内时,通道切换中采样值不会延迟。当同时采样通道大于3个时,通道切换中采样值会有延迟,需要将第一次采样到的值扔掉,第二次采样的值才可以使用。
史海拾趣
|
2007年结束的时候,合同制造市场状况不稳。虽然当年营业额增长情况不错,但iSuppli公司修正后的合同制造产业预测显示,该产业的增长速度将在长期内放缓。 合同制造市场由电子制造服务(EMS)提供商与原始设计制造(ODM)公司构成,该市场2007年增长了15 ...… 查看全部问答> |
|
经典的Internet Explorer 7.0 for XP SP2 VISTA简体中文版 IE7中文版支持中文域名,包含了许多重大安全改进的Internet Explorer 7终于发布了最新正式版本。 微软通过其官方下载中心放出了Internet Explorer 7.0浏览器的升级版,版本号7.0.5730.13,支持Windows XP和Windows Server 2003。 据了解,新版IE7 ...… 查看全部问答> |
|
本帖最后由 paulhyde 于 2014-9-15 09:30 编辑 那个家伙太TM狠了,把网址写在记事本里,整个压缩文件,然后收费!鄙视你 http://www.necel.com/cgi-bin/nesdis/o003_e.cgi?article=DF781235 这个就是那个记事本里的网址 … 查看全部问答> |
|
小女子做的课题,初次接触FPGA的设计 用的是Quartus2的平台运行,综合编译已通过,但是时序仿真出了错:说是目标芯片不适用。 求各位大侠能指点指点,给出合适波形发生器的芯片型号,先在此谢过 下为VHDL开头部分程序: library ieee; use ie ...… 查看全部问答> |
|
小弟做的IIC读取温度的应用程序。运行我的应用程序后,系统拖死了,用示波器监测IIC波形是一直都在发送数据。但是运行网上下的IIC调试助手IICMgr_CE5.0.exe后,我的应用程序就正常了。即使把IICMgr_CE5.0.exe关了,再运行我的应用程序也正常的。 ...… 查看全部问答> |
|
GetRotatedBitmap( HANDLE hDIB, float radians, COLORREF clrBack ) 我在网上搜到个用来旋转位图的函数 HANDLE GetRotatedBitmap( HANDLE hDIB, float radians, COLORREF clrBack ) ; 可第一个参数 ...… 查看全部问答> |
|
各位师兄师姐大牛大家好: 小弟刚开始接触DSP2812,还没有入门,真心求大家领路,真心希望大家指点迷津。我不要现成代码,有了方法,我自己来实现。 说一下我的工程背景,我在电力行业,做开关断路器机械特性的在线监测。现在要捕获欧姆龙旋转编 ...… 查看全部问答> |
|
在下载IAR5.51时无论30天的限制版本还是4k的限制版本都说与正式版本的区别是不含有“Source code for runtime libraries ”,这个是什么?在使用时有没有这个有什么区别吗?… 查看全部问答> |









