电子发烧友网 > 控制/MCU > 正文

STM8SF103单片机的ADC采样电压设计

2018年12月06日 15:42 次阅读

硬件环境: STM8SF103 TSSOP20封装

因为项目需要用到AD采样电池电压,于是便开始了使用STM8S ADC进行采样,也就有了下文。

手册上对STM8S ADC的管脚描述如下:

STM8SF103单片机的ADC采样电压设计

STM8SF103单片机的ADC采样电压设计

STM8SF103这款芯片是TSSOP 20管脚封装,如下:

STM8SF103单片机的ADC采样电压设计

STM8SF103这款芯片能用的是5个AD采样通道,分别是AIN2~AIN6。其实是还有一个通道AIN7,但手册并没有对其描述。

STM8SF103单片机的ADC采样电压设计

这里还有一个很奇怪的地方,从ST资料中找到一个与上面的表数据不同的地方,如:

STM8SF103单片机的ADC采样电压设计

很明显的说STM8S103是存在这个AIN7通道的,再加上另外5个通道,应该是6个通道才对。

要做AD采样,首先要解决的就是AD的参考电压,之前查看手册上并没有描述AIN7通道,有的仅仅是几个外部采样通道。AIN7通道是内部通道,用于提供一个恒定的电压参考值。

从别的资料找到下面这句话,很明显是存在这么一个通道的,后面测试也证明这个是正确的。

STM8SF103单片机的ADC采样电压设计

第一步已经解决了,找到了一个参考电压,但这个电压到底是多少,手册也没有找到痕迹。只能是根据公式自己算出来。

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需要加电阻匹配,电阻的误差也要考虑,所以此方案没采用。

技术专区

下载发烧友APP

打造属于您的人脉电子圈

关注电子发烧友微信

有趣有料的资讯及技术干货

关注发烧友课堂

锁定最新课程活动及技术直播

电子发烧友观察

一线报道 · 深度观察 · 最新资讯
收藏 人收藏
分享:

评论

相关推荐

如何解决单片机中的bug模式问题

CSN(IF0)、SCLK(SCL)、RSTN、MOSI(SDA)、MISO(IF1)、AC0(GP...

发表于 2018-12-06 15:28 4次阅读
如何解决单片机中的bug模式问题

单片机中晶振的作用是什么

MCS—51单片机的所有指令中,有一些完成得比较快,只要一个机器周期就行了,有一些完成得比较馒,得要...

发表于 2018-12-06 15:24 5次阅读
单片机中晶振的作用是什么

为什么PSoC creator 4.1在刷新深度代码后没有检测到MCU?

发表于 2018-12-06 14:54 15次阅读
为什么PSoC creator 4.1在刷新深度代码后没有检测到MCU?

电话接口模块PH8810在电话遥控系统中的应用

发表于 2018-12-06 10:14 18次阅读
电话接口模块PH8810在电话遥控系统中的应用

基于XE164的三电平逆变器调制算法的实现

发表于 2018-12-06 09:58 6次阅读
基于XE164的三电平逆变器调制算法的实现

adc 0804数字电压表设计

发表于 2018-12-05 15:51 17次阅读
adc 0804数字电压表设计

新唐MCU硬件设计脚位配置辅助工具-NuTool - PinConfigure

发表于 2018-12-05 14:47 119次阅读
新唐MCU硬件设计脚位配置辅助工具-NuTool - PinConfigure

非接触IC卡模块NFC功能JMY5051系列

发表于 2018-12-05 14:32 78次阅读
非接触IC卡模块NFC功能JMY5051系列

基于单片机的定时电风扇设计(电路原理图+程序)

发表于 2018-12-05 14:32 196次阅读
基于单片机的定时电风扇设计(电路原理图+程序)

上位机怎样识别开关量

发表于 2018-12-05 13:26 70次阅读
上位机怎样识别开关量

一套很好的51单片机教程,云龙51单片机视频教程(王云)

发表于 2018-12-05 12:56 149次阅读
一套很好的51单片机教程,云龙51单片机视频教程(王云)

ARM与单片机的区别

发表于 2018-12-05 10:25 117次阅读
ARM与单片机的区别

STC系列单片机程序烧录方法

选择通讯波特率,单片机目标板上有晶振的,这一项基本可以不用理会,系统会自动适应合适的波特率。如果目标...

发表于 2018-12-05 09:33 194次阅读
STC系列单片机程序烧录方法

如何将单片机的上拉电阻配置为上拉输入模式

IIC是一种通讯方式,只需要通过SCL和SDA即可实现数据的传输,在典型的IIC器件手册上都会发现S...

发表于 2018-12-04 14:31 61次阅读
如何将单片机的上拉电阻配置为上拉输入模式

如何制定学习采用STC系列单片机开发产品的目标?

对于以上对于基础知识和技能所谓“精通”标准的朋友,其实,也不用灰心丧气。其实,由于工程师不可能记住和...

发表于 2018-12-03 11:08 223次阅读
如何制定学习采用STC系列单片机开发产品的目标?

提几点单片机设计初期EMC的小建议

首先介绍一下这样做的优点:采用低的晶振和总线频率使得我们可以选择较小的单片机满足时序的要求,这样单片...

发表于 2018-12-02 11:41 435次阅读
提几点单片机设计初期EMC的小建议

STM8S的通用异步收发器UART的原理解析

STM8S的通用异步收发器(UART)主要特性: ● 全双工的,异步通信 ● 可编程数据...

发表于 2018-11-30 16:07 72次阅读
STM8S的通用异步收发器UART的原理解析

单片机与DSP芯片有何不同

DSP芯片,也称数字信号处理器,是一种特别适合于进行数字信号处理运算的微处理器具,其主机应用是实时快...

发表于 2018-11-29 16:03 84次阅读
单片机与DSP芯片有何不同

单片机程序存储中的软件标识分析

在某些特殊设备中,如智能电表等产品,由于使用方并非产品设计方,而使用方又担心设计方将程序外泄,带来使...

发表于 2018-11-28 17:16 341次阅读
单片机程序存储中的软件标识分析

单片机电路设计中的10个难点

单片机是嵌入式系统的核心元件,使用单片机的电路要复杂得多,但在更改和添加新功能时,带有单片机的电路更...

发表于 2018-11-28 15:44 435次阅读
单片机电路设计中的10个难点

探讨单片机的寻址方式

AT89C51单片机能直接认识和执行的机器指令有255条,有7种寻址方式,即立即寻址、直接寻址、寄存...

发表于 2018-11-28 11:09 512次阅读
探讨单片机的寻址方式

单片机电路设计中让你头疼的难点

单片机是嵌入式系统的核心元件,使用单片机的电路要复杂得多,但在更改和添加新功能时,带有单片机的电路更...

发表于 2018-11-28 10:50 365次阅读
单片机电路设计中让你头疼的难点

在单片机编程中什么时候需要用到enum呢

当变量的数值在几个范围之间,如一个week变量取值只有Monday,Tuesday,Wednesda...

发表于 2018-11-28 09:18 306次阅读
在单片机编程中什么时候需要用到enum呢

单片机的硬件抗干扰技术解析

干扰的分类有好多种,通常可以按照噪声产生的原因、传导方式、波形特性等等进行不同的分类。按产生的原因分...

发表于 2018-11-27 17:18 159次阅读
单片机的硬件抗干扰技术解析

单片机对1602液晶的驱动

液晶的基本操作时序: 1.1读状态:输入:RS = L,RW =H,E = H输出D0~D7 ...

发表于 2018-11-27 17:07 122次阅读
单片机对1602液晶的驱动

如何利用单片机定时器编制时钟程序

定时器1于方式1,16位,10ms中断一次 40H10ms计数单元 41H秒计数单元 ...

发表于 2018-11-27 17:07 113次阅读
如何利用单片机定时器编制时钟程序

单片机指令的执行过程解析

一般计算机进行工作时,首先要通过外部设备把程序和数据通过输入接口电路和数据总线送入到存储器,然后逐条...

发表于 2018-11-27 16:57 107次阅读
单片机指令的执行过程解析

STM8S单片机怎样改变引脚实现最低功耗

另外打开AWU 电流就变成了200uA 如果开了看门狗,就成了500uA ,这两个参数不是太好,不太...

发表于 2018-11-27 16:38 120次阅读
STM8S单片机怎样改变引脚实现最低功耗

单片机编程时常见的十大问题解答

1.C 语言和汇编语言在单片机编程时各有哪些优缺点? 答:汇编语言是一种用文字助记符来表示机器指令的...

发表于 2018-11-27 16:05 123次阅读
单片机编程时常见的十大问题解答

单片机晶振的负载电容常见问题分析

单片机晶振旁边两个对地电容叫晶振的负载电容,分别接在晶振的两个脚上和对地的电容,一般在几十皮发。它会...

发表于 2018-11-26 15:26 137次阅读
单片机晶振的负载电容常见问题分析

PCB板的内部到底是什么样子

很多硬件工程师或者是layout工程师在刚接触PCB的时候,都会对PCB板(特别是多层板)内部到底是...

发表于 2018-11-25 11:18 584次阅读
PCB板的内部到底是什么样子

Keil C51单片机变量的使用方法详细介绍

8051内核单片机是一种通用单片机,在国内占有较大的市场份额。在将C语言用于51内核单片机的研究方面...

发表于 2018-11-24 10:20 66次阅读
Keil C51单片机变量的使用方法详细介绍

单片机系统的复位方式有:手动按钮复位和上电复位

常用的上电或开关复位电路如图3所示。上电后,由于电容C3的充电和反相门的作用,使RST持续一段时间的...

发表于 2018-11-23 16:18 446次阅读
单片机系统的复位方式有:手动按钮复位和上电复位

枚举常量在单片机编程中有何好处

当变量的数值在几个范围之间,如一个week变量取值只有Monday,Tuesday,Wednesda...

发表于 2018-11-23 16:03 136次阅读
枚举常量在单片机编程中有何好处

如何利用单片机向PC发送一个字节数据

//流水灯控制码,该数组被定义为全局变量 /*************************...

发表于 2018-11-23 15:53 137次阅读
如何利用单片机向PC发送一个字节数据

ARM芯片要替代传统单片机芯片?

近10年来,随着ARM公司的CORTEX系列芯片的强势崛起,现在越来越多人都在谈论ARM,并且COR...

发表于 2018-11-22 16:39 1159次阅读
ARM芯片要替代传统单片机芯片?

单片机与PC之间串行通信设计

源程序: #include sbit button=P3^5; void init...

发表于 2018-11-22 16:27 183次阅读
单片机与PC之间串行通信设计

开发单片机应掌握的几个技巧

在单片机应用开发中,代码的使用效率问题、单片机抗干扰性和可靠性等问题仍困扰着工程师。为帮助工程师解决...

发表于 2018-11-22 16:21 359次阅读
开发单片机应掌握的几个技巧

单片机芯片三大发展方向

单片机分类比较多,可以根据不用的应用需求情况进行相应的选型设计。而且随着内核的不断增强、主频不断的提...

发表于 2018-11-22 16:15 992次阅读
单片机芯片三大发展方向

如何用用C语言编写的单片机来控制流水灯

电路的核心部分是AT89C2051单片机,前面提到它有Pl和P3两组I/O口,我们这里只用到Pl口,...

发表于 2018-11-22 16:01 214次阅读
如何用用C语言编写的单片机来控制流水灯

单片机对28BYJ-48步进电机的控制设计

如果要使用电机的话,需要把4个跳线帽都调到跳线组的左侧(开发板上的实际位置),即左侧针和中间针连通(...

发表于 2018-11-22 15:46 86次阅读
单片机对28BYJ-48步进电机的控制设计

单片机多机通信的设计

写寄存器的时候,如果我们要把01写到一个地址是0000的寄存器地址里,点一下“写入”,就会出现发送指...

发表于 2018-11-22 15:20 108次阅读
单片机多机通信的设计

一文了解磁电编码器的工作原理及适用领域

磁编码器是一种新型的角度或者位移测量装置,其原理是采用磁阻或元件对变化的磁性材料的角度或者位移值进行...

发表于 2018-11-22 10:35 149次阅读
一文了解磁电编码器的工作原理及适用领域

为什么单片机不能直接驱动继电器和电磁阀?

比如我这个继电器线圈的电阻,大概是71.7欧姆,加5V电压的话,电流就是5除以71.7约等于0.07...

发表于 2018-11-22 10:33 463次阅读
为什么单片机不能直接驱动继电器和电磁阀?

单片机C语言双向通信程序设计

甲机向乙机发送控制命令字符,甲机同时接收乙机发送的数字,并显示在数码管上。

发表于 2018-11-21 16:33 325次阅读
单片机C语言双向通信程序设计

单片机与ARM谁更实用

一般在8位单片机与ARM方面的嵌入式系统是有层次上的差别,ARM适用于系统复杂度较大的高级产品,如P...

发表于 2018-11-21 15:33 161次阅读
单片机与ARM谁更实用

如何破解单片机解密芯片

单片机加解密可划分为两大类,一类是硬件加解密,一类是软件加解密。硬件加密,对于单片机来说,一般是单片...

发表于 2018-11-21 15:06 123次阅读
如何破解单片机解密芯片

基于PIC12C508单片机对灯光系统的控制

以下程序使用PIC12C508 单片机 ,内部4MHz时钟,4脚输入50HZ脉冲信号,7,6,3脚(...

发表于 2018-11-20 15:37 68次阅读
基于PIC12C508单片机对灯光系统的控制

如何使用SAM4E单片机点亮LCD并显示出文字

在Atmel Studio 6中,集成了Atmel Software Framework(ASF框架...

发表于 2018-11-20 15:20 90次阅读
如何使用SAM4E单片机点亮LCD并显示出文字

单片机的空闲和掉电模式的应用

单片机进入空闲模式的时候,除了cpu处于休眠状态外,其余的硬件全部处于活动状态,芯片中未涉及的数据存...

发表于 2018-11-20 15:00 82次阅读
单片机的空闲和掉电模式的应用

单片机中的拉电流和灌电流是什么意思

单片机的拉电流和灌电流都是对单片机的输出而言的,是单片机驱动能力的具体体现。

发表于 2018-11-19 16:22 123次阅读
单片机中的拉电流和灌电流是什么意思

基于STM8SF103定时器的使用方法解析

这个定时器的时钟源是系统时钟源(fMaster),然后直接通过预分频器分频后供CK_CNT使用。如:...

发表于 2018-11-19 16:17 69次阅读
基于STM8SF103定时器的使用方法解析

STM32F4的FPU性能的设置及要点

浮点运算一直是定点CPU的难题,比如一个简单的1.1+1.1,定点CPU必须要按照IEEE-754标...

发表于 2018-11-19 15:47 102次阅读
STM32F4的FPU性能的设置及要点

PIC16C5X系列单片机的四种振荡方式解析

PIC16C5X系列可以使用4种类型振荡方式:标准晶体/陶瓷振荡XT、高速晶体振荡HS(4MHz以上...

发表于 2018-11-19 15:43 56次阅读
PIC16C5X系列单片机的四种振荡方式解析

单片机调试有那些常见问题如何解决

error: #18: 6.error: #18: expected a ")" 如果是出现在c...

发表于 2018-11-17 11:50 633次阅读
单片机调试有那些常见问题如何解决

浅谈智能仪表未来发展趋势

智能仪表是以微型计算机(单片机)为主体,将计算机技术和检测技术有机结合,组成新一代“智能化仪表”。微...

发表于 2018-11-16 15:04 101次阅读
浅谈智能仪表未来发展趋势

浅析单片机数码管的8个段显示效果

数码管的 8 个段,我们直接当成 8 个 LED 小灯来控制,那就是 a、b、c、d、e、f、g、d...

发表于 2018-11-15 16:21 303次阅读
浅析单片机数码管的8个段显示效果

深度解析单片机复位电路

射频干扰,它是以空间电磁场的形式传递 在机器内部的导体(引线或零件引脚)感生出相应的干扰,可通过电磁...

发表于 2018-11-15 11:32 414次阅读
深度解析单片机复位电路

PIC12F675单片机用于热释红外传感器中的应...

现在用于检测人员进出的探测器主要采用热释红外传感器。人体能够发射10μm左右的红外线,热释红外传感器...

发表于 2018-11-14 16:38 103次阅读
PIC12F675单片机用于热释红外传感器中的应...

探讨STC单片机烧写时出现的情况

MAX232转换板出口接三条线到STC单片机RXD,TXD和GND,单片机未通电,但这时RXD上有电...

发表于 2018-11-14 16:34 301次阅读
探讨STC单片机烧写时出现的情况

单片机最小系统的组成及其原理解析

单片机最小系统主要由电源、复位、振荡电路以及扩展部分等部分组成。

发表于 2018-11-14 16:06 237次阅读
单片机最小系统的组成及其原理解析

单片机采用串行方式对LCD12864的驱动

#i nclude #i nclude sbit SCLK =P1^3 //E s...

发表于 2018-11-12 15:19 132次阅读
单片机采用串行方式对LCD12864的驱动

如何测试单片机的数据类型字节数

i = sizeof(char);//char是一字节的变量 if(i == 1) { ...

发表于 2018-11-12 15:13 97次阅读
如何测试单片机的数据类型字节数

单片机中断源情况大汇总 嵌入式时代已经到来

嵌入式时代已经来了,不要纠结要不要踏入嵌入式的领域了,

发表于 2018-11-12 10:44 345次阅读
单片机中断源情况大汇总 嵌入式时代已经到来

如何提高单片机系统的可靠性

提高单片机系统可靠性的方法与措施很多。一般地,应根据系统所面临的具体的可靠性问题,针对引起或影响系统...

发表于 2018-11-09 15:20 127次阅读
如何提高单片机系统的可靠性

单片机中如何实现多线程

整个项目需要控制16台步进电机,21个电磁阀,3个泵,1个直流电机,系统要求全部执行时间为6秒钟,系...

发表于 2018-11-08 16:21 256次阅读
单片机中如何实现多线程

STM32F103试用体验:水共震准备材料中的过...

我这次要做的东东是一个水共震系统,说明:水共震系统是指在一个水盆里,有一个执行单元,通过电机和皮带,...

发表于 2018-11-08 10:38 326次阅读
STM32F103试用体验:水共震准备材料中的过...

一文了解逻辑分析仪当中的高级参数

对于快速高效的调试,选择逻辑分析仪解决方案时,需要重点评估仪器各方面参数,逻辑分析仪在数字电路的前期...

发表于 2018-11-08 09:07 87次阅读
一文了解逻辑分析仪当中的高级参数

比较逻辑分析仪与示波器之间的区别

目前电路的发展从抽象类似向着数字化发展,因此这些测量仪器的开发也正在朝着这种条件方法迈进。 现在,在...

发表于 2018-11-08 08:55 155次阅读
比较逻辑分析仪与示波器之间的区别

浅析单片机、ARM、FPGA 、嵌入式的特点

自带廉价的程序存储器(FLASH)和非易失的数据存储器(EEPROM)。这些存储器可多次电擦写,使程...

发表于 2018-11-07 09:54 638次阅读
浅析单片机、ARM、FPGA 、嵌入式的特点