在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个时,通道切换中采样值会有延迟,需要将第一次采样到的值扔掉,第二次采样的值才可以使用。
上一篇:STM系列单片机中文参考手册下载方法
下一篇:STM8学习笔记---PWM互补波形输出
推荐帖子
- 关于AD导出PCB三维模型没有贴图的讨论
- 大家好:一、问题描述:我使用AD绘制的PCB使用“3”按钮能够现实PCB三维模型的真是样子,但是使用导出三维模型后使用机械绘图软件Solidworks打开,显示的模型是没有贴图的,就是一个灰度模型。二、求助:请问哪一位知道怎么导出带贴图的,完全真实的PCB板三维模型?或者除了AD,还有哪个软件能导出带贴图的真实的三维模型?求助各位。关于AD导出PCB三维模型没有贴图的讨论这3D模型是要要看你的pcb库有没有的啊cengyu3发表于2015-5-112:4
- colemanlee PCB设计
- 【R7F0C809】一天终于搞定编辑环境了
- 第一次接触瑞萨,各种陌生,跑个历程然后各种错误就这错误,各种重启,烧写固件无果,最好居然奇葩的不知道怎么好了说一下初次使用瑞萨的几点感受,第一,居然每个系列都有自己的仿真器固件,下载之前得烧固件;第二,历程前那么一大段版权说明,就是没程序功能说明;第三,程序关键字看着挺好懂的,很人性化,CubeSuite+也可以很灵活的跳来跳去总结:中国版的芯片为啥不支持代码自动生成工具【R7F0C809】一天终于搞定编辑环境了不是芯片不支持代码自动生成,是
- 数码小叶 瑞萨电子MCU
- 从C++Builder转入wince开发
- 从C++Builder转入wince开发,准备用C++在wince5下开发,在网上看了很多,还是不怎么清楚,想问问,用C++在wince5下开发,用什么开发工具好,用evc4?看了《EVC高级编程及其应用开发》说evc4不支持wince5开发,用vs2005?直接用vs2005里的vc6?有经验的来指指路吧从C++Builder转入wince开发这个帖子中有,我就不多说了。http://topic.eeworld.net/u/20080826/22/e05a11cb-781
- apple2 WindowsCE
- 求意见?LDO(低压差)线性稳压器与开关稳压器的应用比较的说法
- 在嵌入式系统中,目前最常用的二次电源电路是LDO(低压差)线性稳压器和BUCK(降压型)开关稳压器,有人在实际应用的时候,是这么认为的:1、高输入电压(5V)、高输入/输出压差时,宜用BUCK;反之,宜用LDO。2、输出电流2A时,宜用BUCK;2A以内时宜用LDO。尽管LDO有3A、5A、7.5A,甚至8A的,但必须压差低,散热条件好的情况下才能达到。否则因自身功耗(压差x电流)大,升温快,易保护而关闭输出(特别在高温环境下使用时)。3、LDO
- qwqwqw2088 模拟与混合信号
- 华为发布照明物联网解决方案,可节省城市照明80%的用电量
- 2016年3月15日,华为在CeBIT2016(汉诺威消费电子、信息及通信博览会)上发布了业界首个多级智能控制照明物联网解决方案。方案将城市照明路灯统一接入物联网络,基于GIS进行可视化管理,管理者可以清楚的了解每一个街区、每一盏路灯的状态信息;通过应用灵活的照明策略,可以对每一盏路灯的开关状态、照明亮度进行精准控制,真正实现按需照明,节能效率高达80%。据国际气候组织(TheClimateGroup)统计,全球路灯的保有量约为3.04亿盏,并将在2025年达到3.52亿
- fish001 RF/无线
- PWM整流器电流控制问题
- 各位大侠,小弟在看PWM整流器关于固定开关频率PWM电流控制的时候,有一段是这么说的:若把固定开关频率PWM电流控制环节看作时间常数为Ts(PWM开关周期)的一阶惯性环节,并使三项VSR网侧电流ik跟踪网侧指令电流ik'(k=a,b,c)小弟有点不是很理解啊,电流控制环节和一阶惯性环节是怎么联系起来的呢,如何等效的呢?忘各位大侠指点迷津下,谢谢!PWM整流器电流控制问题“电流控制环节和一阶惯性环节是怎么联系起来的呢”很可能是针对具体电路而言。理论上二阶也有可能。没有具体电路,很难
- _Mr.Q 电源技术
设计资源 培训 开发板 精华推荐
- 【单片机】数控可调稳压电源设计-V1.0
- 摩托罗拉原理图E6
- TS39151 2.5V/1.5A 带错误标志超低压降稳压器的典型应用
- DC2199A-A,用于 LTC3765EMSE/LTC3766EGN 的隔离式演示板 36V = VIN = 60V,VOUT = 12V @ 30A 正向转换器
- esp32-solo开发板
- NB4N527SMNEVB:带有内部终端评估板的转换器
- STEVAL-ISA114V1,基于 VIPer06XS 的演示板,5 V/0.8 W 宽范围 30 kHz 降压转换器
- LTC3630EDHC 5V 至 65V 输入至 5V 输出、150mA 稳压器和 20kHz 最小突发频率的典型应用电路
- AM1S-0305SZ 1W DC-DC转换器典型应用
- 具有关断功能的 LT1086CT 5V 稳压器的典型应用
- 非常见问题解答第223期:如何在没有软启动方程的情况下测量和确定软启动时序?
- 兆易创新GD25/55全系列车规级SPI NOR Flash荣获ISO 26262 ASIL D功能安全认证证书
- 新型IsoVu™ 隔离电流探头:为电流测量带来全新维度
- 英飞凌推出简化电机控制开发的ModusToolbox™电机套件
- 意法半导体IO-Link执行器电路板为工业监控和设备厂商带来一站式参考设计
- Melexis采用无磁芯技术缩小电流感测装置尺寸
- 千丘智能侍淳博:用数字疗法,点亮“孤独症”儿童的光
- 数药智能冯尚:ADHD数字疗法正为儿童“多动症”提供更有效便捷服务
- Vicor高性能电源模块助力低空航空电子设备和 EVTOL的发展
- 创实技术electronica 2024首秀:加速国内分销商海外拓展之路