历史上的今天
返回首页

历史上的今天

今天是:2025年03月06日(星期四)

正在发生

2019年03月06日 | STM32 ADC采样不准怎么办

2019-03-06 来源:eefocus

最近在使用STM32L011的ADC时,发现ADC采样值极其不准确。经过查找资料,和反复测试,总算摸出点门道。


如将VDDA接到VDD,那么电源的波动会极大的影响ADC精度。

不过使用内部参考电压可以计算实际的VDDA电压。


在这里插入图片描述


说明:

VREFINT_CAL:芯片出厂时固化在存储器中的。使用时需要通过软件读取。


VREFINT_DATA:ADC读取VREFINT(内部参考电压通道ch17)得到的值,每次采样序列,将ch17一并采集,用来后续的AD值补偿计算。


如何读取VREFINT_CAL?

首先,找到芯片的datasheet,是所使用的那款芯片的数据手册,因为同一系列的不同芯片,可能存在区别。例如,我需要找到的datasheet标题是这个


在这里插入图片描述


搜索:VREFINT_CAL


在这里插入图片描述


得到VREFINT_CAL的地址后,使用语句


#define VREF_CAL                         *(__IO uint16_t *)(0x1FF80078) 


然后data1 = VREF_CAL;就可以了。


怎样计算得到一个与电源电压无关的绝对精确的AD值?


在这里插入图片描述


使用这个公式就可以了。

说明:

VREFINT_CAL:使用前述的读取语句data1 = VREF_CAL;从芯片存储器中读出;

ADC_DATAx:你需要测量的通道,使用ADC读出;

VREFINT_DATA:前述,内部参考电压通道(ch17)读出的值;

full_SCALE:上面已经解释很好了。取值2^n-1,n是分辨率。


推荐阅读

史海拾趣

Everspin公司的发展小趣事

尽管Everspin在初期经历了亏损,但随着时间的推移,其财务状况逐渐改善。特别是在XXXX年和XXXX年,Everspin的总收入和净利润均实现了显著增长。这一财务表现证明了Everspin在MRAM领域的领先地位和持续盈利能力。

ABECO公司的发展小趣事

随着业务的发展,ABECO在1970年做出了一个大胆的决定——进军马耳他市场。这一决策既带来了挑战,也带来了机遇。公司需要适应新的市场环境,了解当地的需求和文化。经过一段时间的摸索和努力,ABECO凭借其高品质的产品和专业的服务,成功在马耳他市场打开了局面,为后续的发展奠定了坚实的基础。

EBK Kruger GmbH & Co KG公司的发展小趣事

为了提升产品质量和满足客户需求,EBK Kruger开始建立严格的质量管理体系。公司引进了国际先进的生产设备和检测设备,并对员工进行了系统的质量培训。通过不懈的努力,EBK Kruger的产品质量得到了显著提升,赢得了客户的广泛赞誉。同时,公司还获得了多项国际质量认证,进一步提升了品牌形象。

D1 International Inc公司的发展小趣事

D1 International Inc公司自创立之初,就专注于技术创新。公司的创始人们深知,在竞争激烈的电子行业中,只有拥有独特的技术优势才能立足。因此,他们投入大量资源研发新型电子元器件,其中一款高性能的芯片因其低功耗和高效能,迅速在市场上获得了认可。这一技术的成功研发,为D1 International Inc公司赢得了第一桶金,也为公司后续的发展奠定了坚实的基础。

Gennum ( Semtech )公司的发展小趣事
用于实现整流、稳压等功能,也可能用于保护电路中的其他元件。
DINTEK公司的发展小趣事
如果电路不工作,可以逐步断开或替换部分元件,以确定问题所在。

问答坊 | AI 解惑

DSP系统的测试和调试1

DSP系统的测试和调试1…

查看全部问答>

软硬兼施

我是搞纯软件的,c和vc多做过。现在由于工作需要必须要硬件一起上,这该如何是好啊??…

查看全部问答>

磁盘的一直在转,而且磁道是完全对称的环形,怎么准确寻址扇区呢?

扇区的绝对地址是相对于第0个扇区来说的,可是磁盘的一直在转,而且磁道是完全对称的环形,没有任何一个扇区在物理上是特殊的,系统是怎么寻址磁盘的第0扇区的呢?…

查看全部问答>

请熟悉techwell tw6802/6805的朋友帮忙

我系一在校学生,导师弄了块 techwell tw6802(似乎又象6805)的视频采集卡,让我写个linux驱动。 在官方网站上没有一点与技术相关的资料, 真奇怪。 请有做过这方面的朋友 能否发点 与tw6802/tw6805相关的资料(比如datasheet,代码都可)给 ...…

查看全部问答>

DELPHI-plc通讯

请问那位大侠会DELPHI与plc通讯,开发监控系统。…

查看全部问答>

S3C2440, 休眠时直接跑飞

代码如下,我通过亮灯显示执行情况,发现我执行休眠时,在设置内存自刷新后,就直接跑飞了。不知道为何? ;      7. Go to Power-Off Mode ldr r0, =vMISCCR ; hit the TLB ldr r0, [r0] ldr r0, =vCLKCON ldr r0, [r0] ...…

查看全部问答>

调查,开发WINCE时 用mfc 还是API多 ?

调查,开发WINCE时 用mfc 还是API多 ?…

查看全部问答>

Error[Pe065]: expected a ";"另一个程序就没有这个问题啊

#pragma vector=ADC_VECTOR __interrupt void ADC12ISR (void) {     static uchar index = 0;        results[index++] = ADC12MEM1;               // Mo ...…

查看全部问答>

大侠们帮忙啊

本人大四学生,机械电子工程专业,毕业设计课题发下来了,做基于S3C2440的UCOS II的系统移植,之前只有一些51单片机的基础,知道要做成这个很难,现在买了本UCOS的书,就是开发者编写的,还有本ARm体系,开发板也买了,很快就会到!!想请求各位怎 ...…

查看全部问答>