0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

武汉芯源CW32F030内部ADC精度是如何达到惊人的1mV?

武汉芯源半导体有限公司 2022-09-07 10:21 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

CW32F030是武汉芯源半导体推出的基于Cortex®-M0+内核32位微处理器,内部集成一个 12 位精度,最高 1M SPS 转换速度的逐次逼近型模数转换器;最多支持16通道转换;支持4路参考电压源选择:VDDA、ExRef、内置1.5V参考电压、内置2.5V参考电压;同时内置信号跟随器,能满足高阻抗信号测量需求。


功能框图如下:

pYYBAGMX_duAOLvmAAGOUavIUkI676.jpg

在实际应用中ADC采样精度性能指标受多因素影响,要达到ADC的高性能,需要妥善处理硬件和软件。

硬件方面

1.稳定的参考电压源,推荐选用电池或者高性能的稳压源给VDDA供电;

2.VDDA引脚并接4.7uF和100nF陶瓷电容到GND,最大程度消除噪声干扰;

3.如条件许可,应将信号源和参考电压源以屏蔽线接入到ADC输入通道和VDDA引脚;

4.靠近芯片的ADC输入通道引脚附近增加100nF陶瓷电容到GND,消除空间的辐射干扰。

软件方面

1.选择VDDA为参考电压源;

2.ADC采样率尽量低,ADC工作时钟可采用128分频,采样周期选择10个;

3.在采样转换时,除了ADC模块外 ,其它外设都不要打开,采样数据先缓存在RAM中,采样到一定量的数据后再初始化串口,将数据通过串口发送出来;

4.在启动ADC转换后,MCU要进入Sleep休眠状态(MCU停止运行),最大程度的减小噪声。

5.ADC转换完成后,转换完成中断唤醒MCU,初始化串口,将ADC转换结果输出。

关键代码设计如下:

//配置ADC

__RCC_ADC_CLK_ENABLE();

//ADC初始化

ADC_StructInit(&ADC_InitStructure);

//ADC工作时钟配置

ADC_InitStructure.ADC_ClkDiv = ADC_Clk_Div128; //269Hz

ADC_WdtInit(&ADC_WdtStructure);

//配置单通道转换模式

ADC_SingleChStructure.ADC_DiscardEn= ADC_DiscardNull;

ADC_SingleChStructure.ADC_Chmux= ADC_ExInputCH0;//选择ADC转换通道,AIN1:PA00

ADC_SingleChStructure.ADC_InitStruct= ADC_InitStructure;

ADC_SingleChStructure.ADC_WdtStruct= ADC_WdtStructure;

ADC_SingleChOneModeCfg(&ADC_SingleChStructure); //初始化单通道单次采样

ADC_ITConfig(ADC_IT_EOC, ENABLE); //使能ADC的EOC中断

ADC_EnableIrq(ADC_INT_PRIORITY);

ADC_ClearITPendingAll();

ADC_Enable(); //ADC模块使能

SysTickDelay(2); //延时2S

CW_ADC->START = 0X01; //启动ADC开始转换

SCB->SCR = 0; // MCU进入Sleep状态

__WFI();

本次测试中,配置系统时钟为1M,ADC采样时钟分频比设置为128,采样时钟10个周期,计算ADC的采样率为=1000000/128/29=269Hz。

使用精密稳压电源(GPP-2323)给VDD和VDDA供电,稳压源设置输出电压为3.30V,用普通测试线双绞后接入(如有测试条件建议用同轴线接入),实测引脚电压为3.299V;待测信号源用1节干电池提供,用同轴线接入,实测引脚电压为1.615V。

测试10次,每次测试100个数据,实测结果如下:

poYBAGMX_dyAOhOmAACq5QHF68E800.jpg

由测试结果可以看到,10次共1000次采样,最大采样值为2006,最小采样值为2003,采样值变化仅仅4LSB,集中度非常高。如下图所示:

poYBAGMX_duAQTHDAAAScnhT0gk339.jpg

下面分析一下实际的测试误差。

采样值2006对应:2006*3.299/4095=1.616V

采样值2003对应:2003*3.299/4095=1.614V

和信号源电压1.615V相比,最大相差正负1mV。

可见CW32F030芯片的ADC性能非常好,能满足常规mV级别应用。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    8255

    浏览量

    162458
  • 单片机
    +关注

    关注

    6074

    文章

    45341

    浏览量

    663685
  • mcu
    mcu
    +关注

    关注

    147

    文章

    18618

    浏览量

    387341
  • adc
    adc
    +关注

    关注

    100

    文章

    7419

    浏览量

    553831
  • 武汉芯源
    +关注

    关注

    1

    文章

    67

    浏览量

    676
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    请问CW32F030上电IO是处于什么状态?

    请问CW32F030上电IO是处于什么状态?为了防止MCU上电,对外围的电路的误动作,一把很多MCU会上电瞬间设置为高阻态,不知道CW32F030 的端口IO什么状态,谢谢
    发表于 12-09 07:38

    CW32F030配置GPIO的话,需要像STM32那样禁用JTAG吗?

    请问CW32F030配置GPIO的话,需要像STM32那样禁用JTAG吗
    发表于 12-08 07:26

    CW32F030能用arduino开发吗?或者以后有这方面的支持吗?

    CW32F030能用arduino开发吗?或者以后有这方面的支持吗?
    发表于 12-08 07:13

    CW32F030芯片没使用的IO是什么状态?

    CW32F030芯片,没使用的IO是什么状态? 为什么会这么问呢?主要是之前遇到过一个比较有意思的事儿,用的PB3,但实际初始化时钟是PA,IO和配置是PB3,读取这个IO状态就是一直下拉状态。 就很好奇,CW32F030芯片,没使用的IO是什么状态呢?
    发表于 12-04 08:20

    请问CW32F030能否用于5V供电?

    CW32F030能否用于5V长期供电?
    发表于 12-04 06:53

    基于CW32 MCU的LED闪烁示例及代码分析

    载的LED按1秒的间隔闪烁。 #include \"cw32f030.h\"// 包含CW32的硬件头文件 #include \"
    发表于 12-04 06:52

    基于武汉CW32F030C8T6直流无刷电机评估开发板的设计方案

    武汉半导体在2021年推出的CW32F030系列微控制器吗优势,该控制器全面实现-40℃-105℃超宽温度范围和1.65V-5.5V超宽工作电压,面向最广泛的各种
    发表于 12-04 06:16

    请问CW32F030有没有软件复位功能?

    请问下CW32F030有没有软件复位功能,就是代码里面有没有软件复位功能。好像没看到
    发表于 12-03 08:09

    CW32F030C8T7永磁同步电机无感FOC控制的方案

    限度的发挥无浮点主控MCU性能,FOC运行周期可低至48us。硬件采用CW32F030高性能主控,双电阻采样,支持电机顺逆风启动,支持过流过压保护等功能。CW32F030C8T7作为主控芯片,内置1
    发表于 12-03 06:34

    基于CW32F030 MCU低功耗温湿度监测系统设计

    微电子推出的CW32F030 MCU因其低功耗和多功能外设广泛应用于物联网和环境监测系统。本篇文章展示如何使用CW32F030构建一个简单的温湿度监测系统,并实现低功耗模式,适用于
    发表于 12-03 06:20

    CW32F030做温湿度采集,ADC读数跳变超过±3LSB正常吗?

    CW32F030做温湿度采集,ADC读数跳变超过±3LSB正常吗?已排除传感器问题,参考电压用LDO单独供电还是波动明显,是否需要外接精密基准
    发表于 11-20 07:47

    基于CW32F030 MCU的I2C通信及应用

    微的CW32F030是一款基于Arm Cortex-M0内核的32位低功耗MCU,具备高性能和丰富的外设功能,广泛应用于物联网、智能家居、工业控制等领域。CW32F030支持包括I
    发表于 11-18 08:29

    CW32F030在使用中的注意事项有哪些?

    CW32F030在使用中的注意事项有哪些?
    发表于 11-18 06:20

    武汉半导体CW32L010在两轮车仪表的应用介绍

    介绍的两轮车仪表方案是无锡梓轩电子基于武汉半导体 CW32L010F8P6开发,适用于小规格电动车仪表方案,实现车辆速度、累计里程、单次里程、模式状态、故障状态显示等功能。 电动车
    发表于 05-13 14:06

    代码+案例+生态:武汉半导体CW32嵌入式开发实战正式出版

    尊敬的各位电子工程师、嵌入式开发爱好者们:大家好!今天,我们怀着无比激动与自豪的心情,向大家宣布一个重大喜讯——武汉半导体的单片机CW32正式出书啦!《基于ARMCortex-M0
    的头像 发表于 03-03 15:15 1021次阅读
    代码+案例+生态:<b class='flag-5'>武汉</b><b class='flag-5'>芯</b><b class='flag-5'>源</b>半导体<b class='flag-5'>CW</b>32嵌入式开发实战正式出版