硬件环境: STM8SF103 TSSOP20封装
由于项目需求用到AD采样电池电压,所以便开端了运用STM8S ADC进行采样,也就有了下文。
手册上对STM8S ADC的管脚描绘如下:
STM8SF103这款芯片是TSSOP 20管脚封装,如下:
STM8SF103这款芯片能用的是5个AD采样通道,别离是AIN2~AIN6。其实是还有一个通道AIN7,但手册并没有对其描绘。
这儿还有一个很古怪的当地,从ST材料中找到一个与上面的表数据不同的当地,如:
很明显的说STM8S103是存在这个AIN7通道的,再加上其他5个通道,应该是6个通道才对。
要做AD采样,首先要处理的便是AD的参阅电压,之前检查手册上并没有描绘AIN7通道,有的仅仅是几个外部采样通道。AIN7通道是内部通道,用于供给一个安稳的电压参阅值。
从其他材料找到下面这句话,很明显是存在这么一个通道的,后边测验也证明这个是正确的。
第一步现已处理了,找到了一个参阅电压,但这个电压究竟是多少,手册也没有找到痕迹。只能是依据公式自己算出来。
Vin = (ADC * Vref) / 1024
Vref = Vin * 1024 / ADC (依据Vin这个安稳的值算出参阅电压,这儿的参阅电压便是VCC且是改变的。实际上真实的参阅电压是由AIN7供给的1.22V)
运用VCC做为参阅电压,VCC很明显能够运用万用表先测出来,1024是由于STM8S这款的AD是10位精度。
我测验的VCC为3.19V,AD值基本上是出于安稳状况392左右,392 * 3.19 / 1024 = 1.221171875 天然就算出了参阅电压值,这儿取1.22。为了证明这个值是正确的,
运用电池供电,VCC为2.93V。别离采样8次,核算每一次的VCC电压。
n AD值 VCC
1 432 2.89V
2 429 2.91V
3 429 2.91V
4 429 2.91V
5 430 2.90V
6 430 2.90V
7 430 2.90V
8 431 2.89V
其他又运用3.19V进行测验,采样值也是很挨近的,均匀3.20左右。
还有其他一款STM8S903也有该采样通道AIN7,一切的AIN通道有8个,7个内部加上1个外部通道。假如没有能够供给参阅电压,则有必要运用外部器材供一个参阅电压给AINx。可选用TL430。
由此能够看出: AIN7通道一定是存在于STM8S103的,而且参阅电压为1.22V。
跋文:
经自己测验的确如以上网友所说。
参阅:运用STM8SF103 ADC采样电压
我用STM32AD大半年也没有觉得哪里欠好。只要设置和程序不对的问题,AD多通道,不同通道之间不需求延时等候。最多做了8通道加一温度,数值都是对的。可是AD采样的值不是固定的,有个上下动摇。这个和参阅电压有关。加软件滤波有助于改进动摇。(详细版上有ADC值校准的帖子,能够搜下)
其次,ADC采样多通道有必要要用DMA传输,DMA传输要注意设置buffersize以及开始地址。AD多通道之间要排好次序。再则便是先使能DMA,再使能ADC转化。次序不要错了,不然有的你玩的。
运用STM8SF103 ADC采样电压
http://blog.csdn.net/liuyu60305002/arTIcle/details/7071245
http://bbs.21ic.com/icview-107700-1-1.html
http://bbs.21ic.com/icview-812992-1-1.html
数字电源规划全过程(图和代码)
http://bbs.21dianyuan.com/188786.html#revert_content_729541
参阅:没有外部基准的单片机怎么取得精准AD
由于没有外部基准电压,而选用内部基准往往便是VDDA的电压,面临大批量产品,往往此电压差异较大,怎么消除此影响呢,
1、能够选用一路AD衔接一个相似TL431的外部参阅规范电压来取得VDDA的电压然后消除VDDA的不定值对要测AD的影响。
2、VDDA上衔接一个与电源电压相差不大的高精准电源,比方能够用TL431组成一个3.3v基准,但考虑TL431基准2.5,稳压到3.3需求加电阻匹配,电阻的差错也要考虑,所以此计划没选用。