MM32F003 ADC 管脚怎么会有上拉电阻?
本帖最后由 xhdzwzj 于 2020-7-16 10:14 编辑MM32F003 ADC 管脚怎么会有上拉电阻?
我找了2个390Ω精密电阻分压作为AD输入,接入后中点电压多300mv。(3.3v)
以为是片子坏了,换了也一样。难道一批都不好?
实际输出2515,应该2047左右才对 管脚怎么配置的,,, 例子配置
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0; //pin
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //Output speed
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; //GPIO mode
GPIO_Init(GPIOA, &GPIO_InitStructure);
还有
//PA0输入模式模拟输入模式
GPIOA->CRL&=0XFFFFFFF0;
GPIOA->CRL|=0;
本帖最后由 xhdzwzj 于 2020-7-18 09:51 编辑
配置没有问题;暂时改PA4没有这个问题
但是测量中点电压为2038,又少了10个字。这是用DMA测得平均值
390Ω的精密电阻分压
应该是F003的设计上的不足,使用的是电阻T形网络实现的。 这个现象有点诡异,我特意测试了一下,上拉感觉还很强烈,但是电源改成5v就会好很多,不知道原因 结合5v貌似没有上拉的现象,怀疑是串口管脚的5v串入了rxd的pa6导致的,具体待验证
假如属实,那么重点关注用作其他功能的ad脚是否存在过高过低的电压,这个隔离特性有点差的样子
手里的板子是很早期的一个开发板,003芯片内部rc频率居然是64兆的,跑的也很稳定
这个开发板使用的是ch340,板上也有1117,但是没细看是不是ch340是不是5v模式
wangshujun 发表于 2020-8-26 14:58
结合5v貌似没有上拉的现象,怀疑是串口管脚的5v串入了rxd的pa6导致的,具体待验证
假如属实,那么重点关注 ...
从这个客户来看,灵动微的支持还真的需要加强呀,一个多月了也没有给出可信的解释,很多时候这个时间可能足够让用户换到其他品牌了 实物确认:
一,测量电压连接着ch340和pb7pa6时,两线电压分别是4.15和3.7,其他模拟引脚也被推高到3.5左右,单片机电源电压3.37
二、断开两个跳线后,ch340侧电压5.14,单片机侧电压近似为0,单片机电源电压3.30
三、断开串口连接后再次运行adc采样,强上拉现象消失
原因分析:
一,ch340选择了5v直接供电,导致txd、rxd上都有5v电压
二、5v电压通过串口的两个引脚进入单片机,通过两个寄生二极管进入到电源推高了一点电源电压
三、其中进入adc输入脚的内部应该有一个模拟区域,这个区域被pa6倒灌的电流整体推高到了3.5左右
四、因为这个电压高过了模拟区域的电压,导致无法完全执行通道切换,外部看上去似乎就是有强上拉
五、楼主用pa4没事,猜测原本这个pa4是连接了一个5v的外设,用pa4做测试正常,其实是无意中断开了模拟脚的倒灌。
结论:
模拟引脚无论使用或者不使用,都不要给高于电源电压的电平,会导致模拟电源域全面混乱,猜测低于地电压的也会同样出现混乱情况。
一般情况下我们会关注使用到的模拟引脚,但是实际上为使用的出现超压,对于模拟系统的影响也是崩溃的。
建议:
ch340的txd是推挽强驱动,rxd是内置强上拉的输入,配合3.3单片机最好选择3.3供电方式,就是vdd和v3引脚都连接到外部的3.3v ldo上,这个可以和mcu公用
v3引脚是从vdd引脚通过内部的ldo产生的3.3,如果可以接受通信电平略低一点的条件的话。v3可以不连接
这样就是ch340的v3正常连接一个退耦电容,ch340的vdd和mcu的vdd,同时切换供电电压,就不会出现这个问题了
wangshujun 发表于 2020-8-26 21:36
实物确认:
一,测量电压连接着ch340和pb7pa6时,两线电压分别是4.15和3.7,其他模拟引脚也被推高到3.5左右 ...
测试使用的电路板是这个,应该是很老的开发板了 wangshujun 发表于 2020-8-26 21:40
测试使用的电路板是这个,应该是很老的开发板了
进一步测试,切断u1ch340芯片的19脚到c1之间的连线,连接c8正端和u2 1117的2脚
改变ch340的电源为3.3,上拉效果消失,串口通信也完全正常 分析的思路很清晰!谢谢大家!
在使用中,当MCU在硬件/软件上出现一些奇异问题的时候,首先应该从硬件平台上排除不合理的设计,然后再去找问题。
这才是产品开发高手所做的。 先从原理图入手排查,然后再去找别的原因。
wangshujun 发表于 2020-8-26 14:58
结合5v貌似没有上拉的现象,怀疑是串口管脚的5v串入了rxd的pa6导致的,具体待验证
假如属实,那么重点关注 ...
我也出现了这种情况,我原来的方案是5V供电的485芯片接串口,单片机5V供电ADC采集,一切正常,但是因为单片机要改3.3V供电,改了之后,发现,ADC不接任何东西,竟然有3.7V的电压,后来我发现,把5V供电的485芯片拆掉后,ADC恢复正常
锦锐003芯片,18K的Falsh空间,1.8-5.5V工作电压,脚位和ST,新唐003一样。欢迎了解,看图像加微信 就是硬件电路影响的呗
页:
[1]