打印
[MM32硬件]

MM32F003 ADC 管脚怎么会有上拉电阻?

[复制链接]
8483|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xhdzwzj|  楼主 | 2020-7-16 10:05 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 xhdzwzj 于 2020-7-16 10:14 编辑

MM32F003 ADC 管脚怎么会有上拉电阻?
我找了2个390Ω精密电阻分压作为AD输入,接入后中点电压多300mv。(3.3v)
以为是片子坏了,换了也一样。难道一批都不好?

使用特权

评论回复
沙发
xhdzwzj|  楼主 | 2020-7-16 10:12 | 只看该作者
实际输出2515,应该2047左右才对

使用特权

评论回复
板凳
zeshoufx| | 2020-7-17 09:36 | 只看该作者
管脚怎么配置的,,,

使用特权

评论回复
地板
xhdzwzj|  楼主 | 2020-7-18 06:50 | 只看该作者
例子配置
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;

使用特权

评论回复
5
xhdzwzj|  楼主 | 2020-7-18 09:16 | 只看该作者
本帖最后由 xhdzwzj 于 2020-7-18 09:51 编辑

配置没有问题;暂时改PA4没有这个问题
但是测量中点电压为2038,又少了10个字。这是用DMA测得平均值
390Ω的精密电阻分压

使用特权

评论回复
6
zhu^zhu| | 2020-7-19 11:24 | 只看该作者
应该是F003的设计上的不足,使用的是电阻T形网络实现的。

使用特权

评论回复
7
wangshujun| | 2020-8-26 10:35 | 只看该作者
这个现象有点诡异,我特意测试了一下,上拉感觉还很强烈,但是电源改成5v就会好很多,不知道原因

使用特权

评论回复
8
wangshujun| | 2020-8-26 14:58 | 只看该作者
结合5v貌似没有上拉的现象,怀疑是串口管脚的5v串入了rxd的pa6导致的,具体待验证
假如属实,那么重点关注用作其他功能的ad脚是否存在过高过低的电压,这个隔离特性有点差的样子
手里的板子是很早期的一个开发板,003芯片内部rc频率居然是64兆的,跑的也很稳定
这个开发板使用的是ch340,板上也有1117,但是没细看是不是ch340是不是5v模式

使用特权

评论回复
9
wangshujun| | 2020-8-26 15:01 | 只看该作者
wangshujun 发表于 2020-8-26 14:58
结合5v貌似没有上拉的现象,怀疑是串口管脚的5v串入了rxd的pa6导致的,具体待验证
假如属实,那么重点关注 ...

从这个客户来看,灵动微的支持还真的需要加强呀,一个多月了也没有给出可信的解释,很多时候这个时间可能足够让用户换到其他品牌了

使用特权

评论回复
10
wangshujun| | 2020-8-26 21:36 | 只看该作者
实物确认:
一,测量电压连接着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,同时切换供电电压,就不会出现这个问题了

使用特权

评论回复
11
wangshujun| | 2020-8-26 21:40 | 只看该作者
wangshujun 发表于 2020-8-26 21:36
实物确认:
一,测量电压连接着ch340和pb7pa6时,两线电压分别是4.15和3.7,其他模拟引脚也被推高到3.5左右 ...

测试使用的电路板是这个,应该是很老的开发板了

46092712edc75c7e645bcdd1684213b7(1).jpg (349.79 KB )

46092712edc75c7e645bcdd1684213b7(1).jpg

使用特权

评论回复
12
wangshujun| | 2020-8-27 21:50 | 只看该作者
wangshujun 发表于 2020-8-26 21:40
测试使用的电路板是这个,应该是很老的开发板了

进一步测试,切断u1  ch340芯片的19脚到c1之间的连线,连接c8正端和u2 1117的2脚
改变ch340的电源为3.3,上拉效果消失,串口通信也完全正常

使用特权

评论回复
13
zhu^zhu| | 2020-8-28 09:23 | 只看该作者
分析的思路很清晰!谢谢大家!
在使用中,当MCU在硬件/软件上出现一些奇异问题的时候,首先应该从硬件平台上排除不合理的设计,然后再去找问题。
这才是产品开发高手所做的。

使用特权

评论回复
14
单片小菜| | 2020-9-1 12:21 | 只看该作者
先从原理图入手排查,然后再去找别的原因。

使用特权

评论回复
15
deathgod8884| | 2021-7-11 18:55 | 只看该作者
wangshujun 发表于 2020-8-26 14:58
结合5v貌似没有上拉的现象,怀疑是串口管脚的5v串入了rxd的pa6导致的,具体待验证
假如属实,那么重点关注 ...

我也出现了这种情况,我原来的方案是5V供电的485芯片接串口,单片机5V供电ADC采集,一切正常,但是因为单片机要改3.3V供电,改了之后,发现,ADC不接任何东西,竟然有3.7V的电压,后来我发现,把5V供电的485芯片拆掉后,ADC恢复正常

使用特权

评论回复
16
ahui1105| | 2021-7-23 11:51 | 只看该作者
锦锐003芯片,18K的Falsh空间,1.8-5.5V工作电压,脚位和ST,新唐003一样。欢迎了解,看图像加微信

使用特权

评论回复
17
kiwis66| | 2021-8-11 09:20 | 只看该作者
就是硬件电路影响的呗

使用特权

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

本版积分规则

27

主题

144

帖子

1

粉丝