2384|1

5263

帖子

239

TA的资源

管理员

楼主
 

FAQ_如何解决BlueNRG-12中ADC采样精度的问题 [复制链接]

 

本文作者:ST工程师 Weisheng CHEN

点击下载pdf文档查看: FQA-如何解决BlueNRG-12中ADC采样精度的问题.pdf (525.6 KB, 下载次数: 11)

关键词:BlueNRG-1/2, ADC

 

 

 问题:BlueNRG-1/2 的ADC模块采样精度不够高。 

背景:客户在使用BlueNRG-1/2 时有时会反馈ADC模块采样精度和芯片间一致性不够高。客户可以接受10mv左右的偏差;如果偏差大于50mV则很难接受。另外有些客户会反馈板子之间ADC采样值的一致性不是很好,如生一批板子中绝大部分板子的偏差集中在10mV左右,但个别板子在同一测试条件下的偏差会达到70mV左右。 

 

ST工程师回答:该问题本质上是在芯片启动时其ADC模块的SNR参数随机产生的不一致性导致的。在软件上添加一个叫做”3 calibration points”的补偿措施解决此问题,措施分为以下2部分: 

1. 在2018年9月后, ST生产的芯片中在其flash的固定地址:0x100007D0, 0x10007D8, 0x10007E0中预烧录了3个补偿数据,这3个数据为每个单独的芯片构建出一个ADC采样补偿曲线。 

2. 在IDE 中打开ST提供的BlueNRG-1/2 SDK3.0.0中的参考代码项目文件:

“\Project\BlueNRG1_Periph_Examples\ADC\Polling”。 

3. 更改代码: 

a. 在文件BlueNRG1_adc.c中添加如下2个函数定义: 

 

b. 在文件BlueNRG1_adc.h中添加函数声明。 

c. 在文件ADC_Polling_main.c中的初始化过程中调用函数 ADC_SwCalibration; 在获取采样数据后调用函数ADC_CompensateOutputValue进行转换得到最终结果。如下图高亮显示部分 

 

加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身

最新回复

学习了,多谢   详情 回复 发表于 2019-11-6 13:19
点赞 关注(1)
 
 

回复
举报

203

帖子

0

TA的资源

一粒金砂(中级)

沙发
 

学习了,多谢

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表