发新帖本帖赏金 30.00元(功能说明)我要提问
返回列表
打印
[PIC®/AVR®/dsPIC®产品]

我与dsPICEP产品的一段调试经历

[复制链接]
731|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 mxkw0514 于 2025-3-28 09:32 编辑

#申请原创#       @21小跑堂      
      这次论坛里面有一个关于超频讨论的话题,我突然想到了我之前的工作学习经历,这个经历与这个话题相关,那是很久之前了......

      那时我刚毕业,进公司之后,由于我的底子较弱,连焊接芯片都不会。我的领导帮我找了一个师傅,领导和师傅在我前期的工作学习过程中指点我颇多,我对此非常感谢。我相信如果我将来有机会和有能力帮助新人时,我也会像他们那样。

      有一天,我师傅收到了客户发来的邮件,客户反馈了他遇到的问题,希望问题得到及时的解决。对于客户反馈的问题,我师傅迅速地找到了原因并提供了解决方法,他觉得这个问题比较特殊,让新人拿去练习,去模拟解决客户遇到的问题,可以帮助新人学会一些技能:(1)焊接电路板、(2)针对性地查询数据手册、(3)查看原理图、(4)软硬件调试和验证、(5)与客户沟通。我师傅拿来一个单片机板子和一些dsPIC33EP芯片,要求我去解决客户的问题。建议我在遇到麻烦时,如果努力半个小时仍然解决不了,可以请教他,避免时间的浪费。

      下面我想分享这个学习经历:

一、问题:      
      “客户”在某公司的电机例程宏定义中设置了死区时间的大小,然而实际测得的死区时间却只有其中的一半,“客户”要求我们找到该问题的原因并提供其解决办法。

二、解决方法:
      1、首先需要复现该问题。
      2、如果能够复现该问题,则先从软件方面找问题,再从硬件方面找问题(因为硬件方面出现问题的概率要小得多)

三、解决过程:
      问题复现:
     考虑到客户用的是dsPic33EP,使用的是某公司官网的某个测试例程,而我现在手头上只有一块基于diPIC33FJ demo板(如图1)和少量dsPic33EP样片(如图2),所以我需要做的是:
      1、将demo板上的diPIC33FJ芯片取下,在原来的位置焊上dsPic33EP芯片。(因为PIC同系列单片机是Pin to Pin的)

图1 diPIC33FJ demo

图2 diPIC33FJ 芯片

      2、将示例程序移植成基于dsPic33EP的程序,编译无误后下载到单片机中使用示波器查看一对PWM中的deadtime。然后将客户所用程序下载到单片机中,使用示波器查看一对PWM中的deadtime。

四、测试结果
      1、使用示波器观察到运行新版本官方示例程序的单片机RB14和RB15引脚输出的PWM波形的deadtime为1us(如图3所示),而宏定义中设也是1us由此可知示例程序中的deadtime宏定义与实际测量值无误。

图3 新版本示例程序测试的PWM deadtime

图4 新版本示例程序deadtime宏定义

      2、使用示波器观察到“客户”程序的单片机RB14和RB15引脚输出的PWM波形的deadtime为1us(如图5所示),而程序中的宏定义设置的是2us(如图6所示)。这明显不对

图5 “客户”程序测试的PWM deadtime

图6 “客户”程序deadtime宏定义

     3、通过查询官方参考手册到deadtime的计算公式(如图7所示),与“客户”程序中的计算公式不同(如图8所示),这是问题所在(客户计算漏了分频比参数)。

图7 官方参考文档的PWM deadtime计算公式

图8 “客户”程序的PWM deadtime计算公式

五、讨论
      官方示例程序可能也会更新,如果客户使用了官方提供的参考程序,那么在解决客户遇到问题的过程中,就不能仅仅只看官方的参考程序,还要看客户现有程序,有时对比着看才能更好地解决问题。

      此外,分享测试过程中的一个小心得,就是disPIC系列单片机的Vcap引脚一定要就低ESR的电容,建议使用瓷片电容,这是因为disPIC单片机有一个片上稳压电源(1.8V为内核供电),高ESR电容会导致电源轨出现较大的纹波,从而导致锁相环无法稳定输出高频时钟给CPU。我当时在Vcap处焊接了一个电解电容,结果主频只能达到70MHz,而例程中使用的是最高主频,所以中途折腾了很久,还是我师傅引导我发现和解决这个问题的。

      由于本人水平有限,分享内容中难免存在不足,还请麻烦批评指正。






使用特权

评论回复

打赏榜单

21小跑堂 打赏了 30.00 元 2025-03-28
理由:恭喜通过原创审核!期待您更多的原创作品~~

评论
21小跑堂 2025-3-28 14:44 回复TA
针对dsPICEP的死区时间仅为预设时间的一半的问题,作者通过复现故障找到问题根源,修复因忽略分频比导致的问题。 
沙发
yiy| | 2025-3-26 20:57 | 只看该作者
边沿的剑锋毛刺是由于什么形成的

使用特权

评论回复
板凳
mxkw0514|  楼主 | 2025-3-27 09:08 | 只看该作者
yiy 发表于 2025-3-26 20:57
边沿的剑锋毛刺是由于什么形成的

当时测量波形的时候,示波器探头的底线较长,没有使用弹簧引脚就近接地,所以导致测量的PWM有较大的尖峰

使用特权

评论回复
地板
蚊子的噩梦| | 2025-3-28 21:23 | 只看该作者
:在焊接芯片时,有没有什么技巧或者注意事项可以分享呢

使用特权

评论回复
5
穷得响叮当侠| | 2025-3-28 22:30 | 只看该作者
在对比官方示例程序和客户程序时,需要注意哪些细节呢

使用特权

评论回复
6
作业天敌在此| | 2025-3-29 09:18 | 只看该作者
如果客户程序中的计算公式没有问题,那还有哪些原因可能导致死区时间不准确呢

使用特权

评论回复
7
灵犀幻影| | 2025-3-29 11:24 | 只看该作者
在实际工作中,遇到类似问题时,一般先从硬件方面找问题还是先从软件方面找问题呢

使用特权

评论回复
8
mxkw0514|  楼主 | 2025-3-29 17:35 | 只看该作者
灵犀幻影 发表于 2025-3-29 11:24
在实际工作中,遇到类似问题时,一般先从硬件方面找问题还是先从软件方面找问题呢 ...

软件问题大一点

使用特权

评论回复
9
我是一颗胖蘑菇| | 2025-3-29 19:32 | 只看该作者
在解决客户问题时,如何更好地与客户沟通呢

使用特权

评论回复
10
慢动作| | 2025-3-31 19:01 | 只看该作者
通过调整功率来控制温度

使用特权

评论回复
发新帖 本帖赏金 30.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

36

主题

668

帖子

5

粉丝