打印
[STM32L1]

stm32l15 Vcore=1.2v时,AD值跳变

[复制链接]
3589|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
janhocn|  楼主 | 2013-5-14 14:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教一个问题:
芯片是stm32l151低功耗芯片,内核电压1.8V、1.5V、1.2V可以选,我AD的采样率是150Hz定时器定时采样,在我选择1.2V的时候,AD值就会间隔出现接近于0(多数是0)或者比正常值偏高的值,而且这种情况不是连续,几十秒的数据是ok的,接着几十秒的数据都充满跳变,不断反复。
但是,只有Vcore选择为1.5v/1.8v,就一直正常。
沙发
IJK| | 2013-5-14 15:00 | 只看该作者
芯片是stm32l151低功耗芯片,内核电压1.8V、1.5V、1.2V可以选。
选择1.2V的时候,AD值不正常。
我想有可能:MCU主频太高? 或者AD的时钟频率太高?
建议降低一些试试。

使用特权

评论回复
板凳
janhocn|  楼主 | 2013-5-14 15:24 | 只看该作者
已经考虑这个方面的可能,已经选用MSI为主频时钟(4Mhz),ADC的时钟也选择低速运行4Mhz,不知道还有哪里没有注意到?

使用特权

评论回复
地板
IJK| | 2013-5-14 17:08 | 只看该作者
ADC的时钟也选择低速运行4Mhz,  我觉得可以试试更低的频率,比如1MHz

使用特权

评论回复
5
cjhk| | 2013-5-14 19:00 | 只看该作者
降低频率能实现吗  不知道这个方法 可靠不可靠

使用特权

评论回复
6
janhocn|  楼主 | 2013-5-14 20:26 | 只看该作者
IJK 发表于 2013-5-14 17:08
ADC的时钟也选择低速运行4Mhz,  我觉得可以试试更低的频率,比如1MHz

这个芯片的ADC时钟只能是16、8、4三个选择,datasheet里说,如果Vcore=1.2V,ADC的时钟就必须用4Mhz的频率,同时主频不能大于4Mhz。

使用特权

评论回复
7
IJK| | 2013-5-15 09:48 | 只看该作者
还要看你的Vdd 和 Vdda的电压是不是符合要求。
要注意,Vdda必须大于1.8V ADC才工作。

使用特权

评论回复
8
janhocn|  楼主 | 2013-5-15 11:13 | 只看该作者
IJK 发表于 2013-5-15 09:48
还要看你的Vdd 和 Vdda的电压是不是符合要求。
要注意,Vdda必须大于1.8V ADC才工作。 ...

VDD和VDDA都是用的3.0V。不过我刚刚调试发现,原来我的ADC的时钟没有修改成功,也就是说ADCclock还是16M。非常奇怪,不知道为什么ADC_CCR这个修改ADCprescaler的寄存器没办法修改。datasheet里面也没有说要先关闭什么才能改,而且我是先关了HSI了。

使用特权

评论回复
9
janhocn|  楼主 | 2013-5-15 11:20 | 只看该作者
cjhk 发表于 2013-5-14 19:00
降低频率能实现吗  不知道这个方法 可靠不可靠

试过减低主频,跳变越厉害,所以还是应该减低ADC的时钟,而不是主频。现在发觉我对ADC时钟分频的设置没有成功,ADC_CCR这个寄存器修改不起作用,不知道为什么设置不了。

使用特权

评论回复
10
janhocn|  楼主 | 2013-5-15 15:30 | 只看该作者
问题找到。原来还是ADC的时钟没有设好,而在设置AD的时钟分频之前,AD的时钟必须先打开,否则设置无法成功。谢谢楼上两位的提示。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

8

帖子

1

粉丝