如何提高APM32F103C8T6微控制器的ADC外设精度?


引言
极海半导体APM32F103C8T6微控制器具有内置的模数转换器(ADC),但在某些应用场景下,您可能会发现默认设置并不能满足精度要求。本文将专门探讨如何优化APM32F103C8T6的ADC性能和精度。
基本原理和问题ADC精度因素
分辨率
电源电压波动
温度波动
电磁干扰
精度提升策略
1. 电源和参考电压
问题:电源噪声和电压不稳定会影响ADC的精度。
解决方案:
使用稳定的电源
添加去耦电容
使用外部精准的参考电压源
2. 采样时间配置
问题:过短的采样时间可能导致转换不准确。
解决方案:
增加ADC采样时间
对输入信号进行滤波处理
代码示例:
// 设置ADC1采样时间为239.5周期ADC1->SMPR2 |= ADC_SMPR2_SMP_ANx(ADC_SMPR_SMP_239DOT5CYC, x);
3. 温度补偿
问题:高温环境下,ADC性能可能下降。
解决方案:
使用内置温度传感器进行补偿
在固件里进行温度校准
4. 电磁屏蔽
问题:电磁干扰(EMI)可以通过电缆或空气传播,影响ADC的精度。
解决方案:
使用屏蔽电缆
在ADC输入处添加低通滤波器
5. 多次采样与平均
问题:噪声和其他随机因素。
解决方案:
进行多次采样并求平均
使用中位数滤波器去除异常值
八次平均代码示例:
uint32_t adc_values[8];
uint32_t adc_sum = 0;
uint32_t adc_min = 0xFFFFFFFF;
// 初始化为最大值
uint32_t adc_max = 0;
// 初始化为最小值
// 进行8次ADC采样
for(int i = 0; i < 8; i++)
{ adc_values = ADC1->DR;
// 假设ADC数据已经准备好
adc_sum += adc_values;
// 更新最小和最大值
if(adc_values < adc_min)
{
adc_min = adc_values;
}
if(adc_values > adc_max)
{
adc_max = adc_values;
}}
// 去掉最高和最低值后求平均
adc_sum = adc_sum - adc_min - adc_max;
uint32_t adc_avg = adc_sum / 6;
实验与验证
建议在实际应用中进行详细的性能测试,以确认以上优化方案的效果。可以通过对比优化前后的结果,进行量化分析。
总结
APM32F103C8T6的ADC外设虽然已经具备不错的性能,但在高精度要求的应用场合还有优化的空间。通过电源管理、合理的配置和软件算法,我们有可能进一步提高其ADC精度。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由ll转载自Geehy极海半导体公众号,原文标题为:APM32芯得 EP.28 | 如何提高APM32F103C8T6的ADC外设精度,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关推荐
【经验】极海半导体微控制器APM32F072系列基于IAR开发环境使用Jlink调试器的搭建指南
APM32F072系列是极海半导体推出的微控制器,使用IAR作为开发环境,调试工具为Jlink,通过SWD接口下载调试程序。本文以APM32F072VBT6为例介绍APM32F072系列开发环境的搭建方法。
【经验】极海半导体32位微控制器APM32F072系列基于keil开发环境的搭建指南
APM32F072系列是极海半导体推出的32位微控制器,使用Keil MDK作为开发环境,调试工具为Jlink,通过SWD接口下载调试程序。本文以APM32F072VBT6为例介绍APM32F072系列开发环境的搭建方法。
APM32F103xB 基于 Arm® Cortex®-M3 内核的 32 位微控制器数据手册
本资料详细介绍了基于Arm® Cortex®-M3 内核的32位微控制器芯片APM32F103xB E版本的特性。内容包括系统与架构、时钟与存储器、通信接口、电源与低功耗模式、ADC及温度传感器、I/O端口、DMA、定时器等,并提供了详细的引脚信息和功能描述。
极海半导体 - 基于 ARM® CORTEX®-M3 内核的 32 位微控制器,APM32F103XB 系列,APM32F103XB,智能仪表,家用电器,PC 外设,工业控制,医疗设备
基于 Arm® Cortex®-M3 内核的 32 位微控制器数据手册
本资料详细介绍了APM32E103xCxE系列32位微控制器的产品特性。该系列微控制器基于Arm® Cortex®-M3内核,具备高工作频率、丰富的存储器和接口、多种通信外设、模拟外设、低功耗模式、定时器、实时时钟、DMA、调试接口、备份寄存器、浮点运算单元、CRC计算单元、唯一设备ID、I/O和芯片封装等特点。
极海半导体 - 基于 ARM® CORTEX®-M3 内核的 32 位微控制器,APM32E103CCT6SXXX,APM32E103ZCT6,APM32E103CCT6,APM32E103CEU6,APM32E103XCXE,APM32E103CCU6,APM32E103VCT6,APM32E103CET6-R,APM32E103ZET6,APM32E103VET7,APM32E103VET6,APM32E103RCT6,APM32E103RET6,APM32E103CCT6-R,APM32E103XCXE 系列,APM32E103CEU6-R,APM32E103CCU6-R,APM32E103RCT6-R,APM32E103CET6,APM32E103RET6-R
极海半导体32位MCU-M0选型表
极海半导体的APM32系列是基于Arm® Cortex®-M0+/M3/M4内核的优质国产32位通用MCU,具有低功耗、高性能、高集成度以及快速移植等特性。凭借优异的系统性能、丰富的协处理功能以及灵活的使用体验,有助于用户缩短产品设计时间、降低开发成本、实现性能最优化。
产品型号
|
品类
|
内核
|
Frequency(MHz)
|
FLASH(KB)
|
SRAM(KB)
|
I/Os
|
Vmin(V)
|
Vmax(V)
|
GPTMR(16bit)
|
GP TMR(32bit)
|
Advanced TMR(16bit)
|
Basic TMR
|
Systick(24bit)
|
ADC 12-bit Cell
|
ADC 12-bit channels
|
DAC 12-bit Cell
|
DAC 12-bit channels
|
Analog Comparator
|
TSC (Channels)
|
SPI
|
I2S
|
I2C
|
U(S)ART
|
CAN
|
SDIO
|
USB Device
|
Package
|
对照型号
|
APM32F072V8T6
|
32位MCU
|
ARM Cortex-M0
|
48MHz
|
64KB
|
16KB
|
87
|
2V
|
3.6V
|
5
|
1
|
1
|
2
|
1
|
1
|
16
|
1
|
2
|
2
|
24
|
2
|
2
|
2
|
4
|
1
|
0
|
1
|
LQFP 100
|
-
|
选型表 - 极海半导体 立即选型
APM32F103xC 基于 Arm® Cortex®-M3 内核的 32 位微控制器数据手册
本数据手册详细介绍了APM32F103xC系列基于Arm® Cortex®-M3内核的32位微控制器。该系列微控制器具备高性能、低功耗的特点,支持多种通信接口和模拟外设,适用于各种嵌入式应用。
极海半导体 - 32 位微控制器,APM32F103XC 系列,APM32F103CCT7,APM32F103CCT6,APM32F103RCT6-R,APM32F103XCTX 系列,APM32F103RCT6,APM32F103XCTXS,APM32F103VCT6,APM32F103VCT7S,APM32F103VCT6S,APM32F103VCT7,APM32F103RCT6SXXX,APM32F103XCTX,APM32F103CCT7-R,APM32F103XC,APM32F103CCT6-R
APM32E103xCxE 基于 Arm® Cortex®-M3内核的 32 位微控制器数据手册
本资料详细介绍了APM32E103xCxE系列32位微控制器的产品特性。该系列基于Arm® Cortex®-M3内核,具备丰富的通信外设、存储器及接口、模拟外设、定时器、电源与电源管理、低功耗模式、RTC、DMA、调试接口、FPU、CRC、唯一设备ID和I/O特性。资料还提供了产品信息、引脚信息、功能描述、系统架构、电气特性、存储器、时钟、电源与电源管理、功耗、引脚特性、通信外设、模拟外设、定时器、RTC、CRC、FPU等详细信息。
极海半导体 - 32 位微控制器,APM32E103CCT6SXXX,APM32E103ZCT6,APM32E103CCT6,APM32E103CEU6,APM32E103XCXE,APM32E103CCU6,APM32E103VCT6,APM32E103CET6-R,APM32E103ZET6,APM32E103VET7,APM32E103RCT6,APM32E103VET6,APM32E103CCT6-R,APM32E103RET6,APM32E103XCXE 系列,APM32E103CEU6-R,APM32E103CCU6-R,APM32E103RCT6-R,APM32E103CET6,APM32E103RET6-R
极海半导体32位MCU-M3选型表
极海半导体的APM32系列是基于Arm® Cortex®-M0+/M3/M4内核的优质国产32位通用MCU,具有低功耗、高性能、高集成度以及快速移植等特性。凭借优异的系统性能、丰富的协处理功能以及灵活的使用体验,有助于用户缩短产品设计时间、降低开发成本、实现性能最优化。
产品型号
|
品类
|
内核
|
Frequency(MHz)
|
FLASH(KB)
|
SRAM(KB)
|
SDRAM
|
FPU
|
I/Os
|
Vmin(V)
|
Vmax(V)
|
GPTMR(16bit)
|
GP TMR(32bit)
|
Advanced TMR(16bit)
|
Basic TMR
|
Systick(24bit)
|
ADC 12-bit Cell
|
ADC 12-bit channels
|
DAC 12-bit Cell
|
DAC 12-bit channels
|
Analog Comparator
|
EMMC
|
SPI
|
I2S
|
I2C
|
U(S)ART
|
CAN
|
SDIO
|
Package
|
对照型号
|
APM32E103CET6
|
32位MCU
|
ARM Cortex-M3
|
120MHz
|
512KB
|
128KB
|
0
|
1
|
37
|
2V
|
3.6V
|
4
|
0
|
1
|
2
|
1
|
2
|
10
|
2
|
2
|
0
|
0
|
3
|
2
|
2
|
3
|
2
|
0
|
LQFP48
|
STM32F103RET6
|
选型表 - 极海半导体 立即选型
APM32F030x6x8 基于 Arm® Cortex®-M0+ 内核的 32 位微控制器数据手册
本资料介绍了APM32F030x6x8系列基于Arm® Cortex®-M0+内核的32位微控制器。该芯片具备12位ADC、最多16个外部通道,支持0~3.6V转换范围,内置高速存储器(高达64KB闪存和8KB SRAM),并提供丰富的通信接口和低功耗模式。
极海半导体 - 芯片,32 位微控制器,APM32F030C6T6,APM32F030X6X8 系列,APM32F0XX,APM32F030C6U6,APM32F030,APM32F030C8T6,APM32F030C8U6,APM32F030R8T6-R,APM32F030R8T6,APM32F030K6T6,APM32F030K6U6,APM32F030K8T6,APM32F0XX 系列,APM32F030C8T6XXX,APM32F030X6X8,APM32F030K6U6-R,APM32F030C6T6-R,APM32F030K8T6-R,APM32F030C8T6-R,APM32F030K6T6-R
APM32F107xBxC APM32F105x8xBxC 基于Arm® Cortex®-M3 内核的 32 位微控制器数据手册
本资料详细介绍了APM32F107xBxC和APM32F105x8xBxC系列基于Arm® Cortex®-M3内核的32位微控制器。产品特性包括32位Arm® Cortex®-M3内核,最高96MHz工作频率,丰富的通信接口,如USART、UART、I2C、SPI、CAN和USB OTG_FS,以及多种模拟和定时器功能。此外,产品支持多种低功耗模式和丰富的电源管理功能。
极海半导体 - 32 位微控制器,APM32F105RBT6-R,APM32F105V8T6,APM32F107XX 系列,APM32F107XX,APM32F105XX,APM32F107RCT6,APM32F105XX 系列,APM32F107,APM32F105VBT6,APM32F107RBT6,APM32F105,APM32F105VCT6,APM32F105R8T6-R,APM32F105RCT6,APM32F107R8T6XXX,APM32F107VBT6,APM32F105RBT6,APM32F107VCT6,APM32F107RBT6-R,APM32F105RCT6-R,APM32F107XBXC,APM32F107RCT6-R,APM32F105R8T6,APM32F105X8XBXC
极海半导体32位MCU-M4选型表
极海半导体的APM32系列是基于Arm® Cortex®-M0+/M3/M4内核的优质国产32位通用MCU,具有低功耗、高性能、高集成度以及快速移植等特性。凭借优异的系统性能、丰富的协处理功能以及灵活的使用体验,有助于用户缩短产品设计时间、降低开发成本、实现性能最优化。
产品型号
|
品类
|
内核
|
Frequency(MHz)
|
FLASH(KB)
|
SRAM(KB)
|
SDRAM
|
Voltage
|
GPTMR(16bit)
|
GP TMR(32bit)
|
Advanced TMR(16bit)
|
Basic TMR
|
Systick
|
IWDG
|
WWDG
|
ADC 12-bit Cell
|
ADC 12-bit channels
|
DAC 12-bit channels
|
EMMC
|
SPI
|
I2S
|
I2C
|
U(S)ART
|
CAN
|
SDIO
|
USB OTG_FS
|
DCI
|
Ethernet
|
Package
|
对照型号
|
APM32F407IET6
|
32位MCU
|
ARM Cortex-M4
|
168MHz
|
512KB
|
192+4KB
|
1
|
1.8~3.6
|
8
|
2
|
2
|
2
|
1
|
1
|
1
|
3
|
24
|
2
|
1
|
3
|
2
|
3
|
4+2
|
2
|
1
|
1
|
1
|
1
|
LQFP176
|
STM32F407IET6
|
选型表 - 极海半导体 立即选型
APM32F103x4x6x8 基于Arm® Cortex®-M3 内核的 32 位微控制器数据手册
本资料详细介绍了APM32F103x4x6x8系列基于Arm® Cortex®-M3内核的32位微控制器的产品特性。资料涵盖了内核、I/O、存储器、时钟、电源管理、低功耗模式、通信外设、模拟外设、定时器、RTC、DMA、调试接口等方面的详细信息。
极海半导体 - 32 位微控制器,APM32F103R8T6,APM32F103T8U6-R,APM32F103R6T6,APM32F103T8U6,APM32F103R4T6-R,APM32F103R8T6XXX,APM32F103C8T6,APM32F103C6T6,APM32F103T6U6-R,APM32F103T4U6-R,APM32F103C6T6-R,APM32F103X4X6X8 系列,APM32F103R8T6-R,APM32F103C4T6,APM32F103C8T6-R,APM32F103R6T6-R,APM32F103C4T6-R,APM32F103R4T6,APM32F103T6U6,APM32F103X4X6X8,APM32F103T4U6
APM32F091xBxC 基于 Arm® Cortex®-M0+ 内核的 32 位微控制器 用户手册
本资料为APM32F091xBxC系列微控制器用户手册,详细介绍了基于Arm® Cortex®-M0+内核的32位微控制器的系统架构、存储器、外设和功能。手册涵盖了系统架构框图、存储器映射、Flash存储器特性、系统配置控制器、复位与时钟管理、电源管理单元、嵌套向量中断控制器、外部中断与事件控制器、直接存储器存取、调试MCU、通用GPIO/AFIO、定时器、通用同步异步收发器、内部集成电路接口、串行外设接口、控制器局域网、HDMI-CEC控制器、模数转换器、数模转换器、触摸传感控制器、比较器、循环冗余校验计算单元、芯片电子签名等内容。
极海半导体 - 微控制器,32 位微控制器,MCU,APM32F09X,APM32F091XB 系列,APM32F091XC 系列,APM32F091XC,APM32F091XB,APM32F091XBXC,APM32F0X,APM32F091XBXC 系列,APM32F
【应用】国产32位微控制器APM32F103RCT6助力于电力载波模块,工作频率高达96MHz
本文推荐采用极海半导体推出的32位微控制器AMP32F103RCT6应用在PLC的电力载波模块中,采用的是ARM Cortex-M3内核,工作频率高达96MHz;支持多种串口接口、SPI、I2C等通讯协议;可在大范围内的输入电压范围中稳定工作。
APM32F003x4x6 基于 Arm® Cortex® M0+ 内核的 32 位微控制器数据手册
本资料详细介绍了APM32F003x4x6系列基于Arm® Cortex®-M0+内核的32位微控制器的技术规格。资料涵盖了产品特性、系统架构、存储器、时钟、电源管理、低功耗模式、GPIO、通信接口、模拟/数字转换器、定时器、电气特性、封装信息、包装信息和订货信息等内容。
极海半导体 - 32 位微控制器,APM32F003F6M6,APM32F003F6P6,APM32F003F6M6-T,APM32F003F6P7,APM32F003F4M6,APM32F003F6P7-R,APM32F003F6P6-T,APM32F003F6P6-R,APM32F003F6P6XXX,APM32F003F4P6-R,APM32F003F4P6-T,APM32F003F4P6,APM32F003F4M6-T,APM32F003X4X6,APM32F003F6U6,APM32F003X4X6 系列,APM32F003F4U6,电机驱动,医疗设备,智能家居,工业传感器,汽车配件
电子商城
现货市场
服务

可定制排针排母间距:0.8~2.54mm,排数:1~3,电流:最大不超过10A;环境温度:-45度~+125度;寿命/拔插次数:不超过5000次。
最小起订量: 5000 提交需求>

可定制连接器单PIN电流最大不超过10A;环境温度:-45度~+125度;寿命/拔插次数:不超过5000次。
最小起订量: 5000 提交需求>
登录 | 立即注册
提交评论