我与dsPICEP产品的一段调试经历
本帖最后由 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,而例程中使用的是最高主频,所以中途折腾了很久,还是我师傅引导我发现和解决这个问题的。
由于本人水平有限,分享内容中难免存在不足,还请麻烦批评指正。
边沿的剑锋毛刺是由于什么形成的 yiy 发表于 2025-3-26 20:57
边沿的剑锋毛刺是由于什么形成的
当时测量波形的时候,示波器探头的底线较长,没有使用弹簧引脚就近接地,所以导致测量的PWM有较大的尖峰 :在焊接芯片时,有没有什么技巧或者注意事项可以分享呢 在对比官方示例程序和客户程序时,需要注意哪些细节呢 如果客户程序中的计算公式没有问题,那还有哪些原因可能导致死区时间不准确呢 在实际工作中,遇到类似问题时,一般先从硬件方面找问题还是先从软件方面找问题呢 灵犀幻影 发表于 2025-3-29 11:24
在实际工作中,遇到类似问题时,一般先从硬件方面找问题还是先从软件方面找问题呢 ...
软件问题大一点 在解决客户问题时,如何更好地与客户沟通呢 通过调整功率来控制温度
页:
[1]