打印
[技术问答]

发现 M051 系列 ZDN 封装 的 ADC 有问题,怀疑是芯片的 BUG

[复制链接]
2575|21
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
eeko2005|  楼主 | 2015-5-7 13:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用的是 QFN 33  的封装,M052ZBN , M054ZDN 都试过, 发现 ADC 的 AIN4 有问题。
我的 BSP是使用  : M051_Series_BSP_CMSIS_Rev3.00.002, 以前使用 M051SeriesBSP_v1.02.001 这个 BSP也会有问题,跟踪调试,可以排除是 BSP 的问题。 目前怀疑是 芯片本身存在问题。

电路是这样:

PS:够简单了吧,只是用电阻分压

代码是这样:

    GPIO_DISABLE_DIGITAL_PATH(P1, BIT4|BIT5);
    SYS->P1_MFP &= ~(SYS_MFP_P14_Msk | SYS_MFP_P15_Msk  ) ;
    SYS->P1_MFP |= SYS_MFP_P14_AIN4 | SYS_MFP_P15_AIN5  ;
    ADC_Open(ADC, ADC_ADCR_DIFFEN_SINGLE_END,  ADC_ADCR_ADMD_SINGLE_CYCLE, BIT4|BIT5);        // 这条语句会让 IO 口电压变化
    ADC_POWER_ON(ADC);
    ADC_CLR_INT_FLAG(ADC, ADC_ADF_INT);
    ADC_START_CONV(ADC);

现象是这样:

    如果 用 AIN4 去检测,发现 在运行 ADC_Open 之前,用万用表测量 AIN4 引脚的电压正常,附合理论计算值 (0.44V 左右)。
但是。。。当运行完  ADC_Open  之后,万用表显示 AIN4 引脚的电压变了!!!(1.33V 左右) 。 这是我最不能理解的地方。
跟踪程序进去看了下,仅仅是改了个寄存器,使能 AIN4 通道,竟然会影响 IO 口电压。。。IO口的复用模式,我已经设为 ADC 了啊!!!


  好吧,我拿 AIN5 去作下比较,竟然 AIN5  没有发生这种现象,正常得很。


  不是个别现象,物料渠道正规,不会是次品。 这难道真的是 AIN4 通道有问题? 芯片存在 BUG ???










评分
参与人数 1威望 +1 收起 理由
黄小煜 + 1 神马都是浮云
沙发
gaoyang9992006| | 2015-5-7 13:54 | 只看该作者
你用几个芯片测试的有问题啊?

使用特权

评论回复
板凳
eeko2005|  楼主 | 2015-5-7 13:56 | 只看该作者
gaoyang9992006 发表于 2015-5-7 13:54
你用几个芯片测试的有问题啊?

不是个别芯片,都那样,换通道没问题,就是 AIN4 这个有问题

使用特权

评论回复
地板
eeko2005|  楼主 | 2015-5-7 13:58 | 只看该作者
哪位有 ZDN 封装的板子,看能否帮忙搭个分压电路验证下 AIN4

使用特权

评论回复
5
gaoyang9992006| | 2015-5-7 14:02 | 只看该作者
eeko2005 发表于 2015-5-7 13:56
不是个别芯片,都那样,换通道没问题,就是 AIN4 这个有问题

我没这个芯片,说不定还真是有BUG,不过想法绕过去。

使用特权

评论回复
6
mintspring| | 2015-5-7 17:53 | 只看该作者
那次有人说有个别IO端口驱动能力差,我还不信,说不定是真的。

使用特权

评论回复
7
戈卫东| | 2015-5-7 19:55 | 只看该作者
没有这个封装的板子不能帮你测了。。。。。。

使用特权

评论回复
8
戈卫东| | 2015-5-7 19:56 | 只看该作者
你有没有试过LDN(48-QFP)有没有问题?

使用特权

评论回复
9
cspoly| | 2015-5-7 20:07 | 只看该作者
试过没看到楼主说的现象,还有外接啥么?
能发个完整代码瞧瞧么?

使用特权

评论回复
10
eeko2005|  楼主 | 2015-5-7 20:22 | 只看该作者
戈卫东 发表于 2015-5-7 19:56
你有没有试过LDN(48-QFP)有没有问题?

没其它封装,没法试

使用特权

评论回复
11
eeko2005|  楼主 | 2015-5-7 20:25 | 只看该作者
cspoly 发表于 2015-5-7 20:07
试过没看到楼主说的现象,还有外接啥么?
能发个完整代码瞧瞧么?

没有外接啦,就是图那样,只通过电阻分压。
你的芯片封装是 QFN32 那种么?
你用的 IDE 是 Coocox 吗?
BSP 是 3.0 那个吗?
gcc 是什么版本? 我的是 GNU ARM  4.9 2014q4.

使用特权

评论回复
12
戈卫东| | 2015-5-7 23:06 | 只看该作者
我用NuTiny-EVB-M051测试没有发现问题。它的MCU是M0516LDN

使用特权

评论回复
13
gaoyang9992006| | 2015-5-8 08:15 | 只看该作者
戈卫东 发表于 2015-5-7 23:06
我用NuTiny-EVB-M051测试没有发现问题。它的MCU是M0516LDN

我也有这个板子,那次在线研讨会送的。

使用特权

评论回复
14
598330983| | 2015-5-8 09:04 | 只看该作者
管脚复用没有配置好吗?

使用特权

评论回复
15
eeko2005|  楼主 | 2015-5-8 09:13 | 只看该作者
我换到 Keil 上面编译程序, 问题是一样会出现的。 说明不是 IDE 跟 工具链的问题。
ADC 的程序是官方的 Sample,只是把  AIN2 改成 AIN4.
程序中 在运行  ADC_Open 前加了点延时,方便测量 。
运行 ADC_Open 后,测量点电压会发生变化。因为 这是不正常的,如果换为 AIN5,当然硬件也得连过去,测试点电压就不会变了。

附件我提供下 Keil 的版本,有用同样封装(QFN32)的兄弟,帮忙验证下。

ADC_Test_Keil.rar

1.47 MB

使用特权

评论回复
16
戈卫东| | 2015-5-8 10:25 | 只看该作者
但是我觉得ZDN和LDN的硅片应该是一样的,如果ZDN有问题那么LDN也该会有问题才对

使用特权

评论回复
17
eeko2005|  楼主 | 2015-5-8 10:28 | 只看该作者
戈卫东 发表于 2015-5-8 10:25
但是我觉得ZDN和LDN的硅片应该是一样的,如果ZDN有问题那么LDN也该会有问题才对 ...

ZDN 跟 LDN 的 IO 数量都不一样,里面总得有些区别吧。其实我也不太清楚跟硅片有没关系。

使用特权

评论回复
18
mintspring| | 2015-5-8 12:52 | 只看该作者
后缀不同是等级不同吧,或者封装类型不同。

使用特权

评论回复
19
jasontu| | 2015-5-15 20:56 | 只看该作者
照你的電路和code測試都都沒有問題,方便留一下連絡方式如e-mail,電話  , 約個時間用teamview 來用遠端桌面幫忙check 一下

使用特权

评论回复
20
mintspring| | 2015-5-16 18:13 | 只看该作者
肯定不是芯片问题,你哪里没有配置对,你用库函数操作个试试看,库函数可以帮你屏蔽掉寄存器的麻烦。

使用特权

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

本版积分规则

20

主题

72

帖子

3

粉丝