dsPIC芯片以正常速度的一小部分运行


9

我有两个PCB。一个带有dsPIC30F6012a,另一个带有dsPIC30F6015。两者均使用PICkit 3在MPLAB X中的独立HEX项目中进行编程,在此之前,这两种固件已轻松应用于数十个单元。目前,当从除一台以外的所有PC进行编程时,固件都可以正常运行。在昨天开始的那台PC上,这两个固件均编程无明显错误,但以正常速度的约1/20执行。在昨天之前,那台PC还对这些板进行了编程,没有问题。

初始屏幕花了2分钟而不是5秒,指示灯闪烁得非常慢,但除此之外,一切都正常运行。几乎好像振荡器配置位已被更改,但我不知道MPLAB X中可用于独立项目的任何地方。

因此,在同一PCB设计的多个实例上,在两个不同芯片上的两个不同固件,以不同的速度运行,仅取决于用于对其进行编程的PC。在“性能良好”的PC上对慢速板进行重新编程可解决此问题;在“坏”的PC上对该板进行重新编程即可将其重新带回。我所能想到的是,在那台PC上有人按下了“使其缓慢运行”按钮,但我找不到任何贴有该标签的东西。(不过,我们的技术很有创造力。)我目前正在卸载MPLAB X,擦除用户设置,然后重新安装更新的版本。(从1.3到1.6。)即使修复了问题,我仍然不满意所发生的事情,仍然感到不高兴。有人对此问题有见识吗?


编程后PC是否进行验证?您可以用它来检查配置位,因为看起来这就是问题所在。

验证运行,是的。没有引发任何错误,因此我假定其中包括配置位,但是我没有手动检查。可能应该有更多的数据,但是我很费时间,直接去了卸载/重新安装解决方案。等待消息是否有效!
史蒂芬·柯林斯

由性能缓慢的PC编程的电路板是否可以在“好的” PC上进行验证?
克里斯·斯特拉顿

不幸的是(ha!)重新安装解决了该问题,因此我无法收集更多数据...很难获得确切的答案!
史蒂芬·科林斯

这个问题听起来像是科技主题的《洋葱》中的东西
陈凯文

Answers:


1

在MPLAB X中,不能与代码分开设置配置位(如MPLAB 8用来设置)。配置位可能是“错误的”的唯一方法是有人修改了代码。由于您使用的是独立的HEX文件项目,因此不太可能。

您还没有说过是否可以在“运行中”的PC上对“坏”板之一进行重新编程确实可以解决该问题。试试看。

您可以做的另一件事(如果您不使用代码保护)是从“工作”设置中读取HEX文件,并将其闪存到有故障的一块板上。这应该消除代码更改的不确定性之一。

另一种(不太可能)的情况是,您的dsPIC股票涵盖多个修订版,而逐步的更改使您的代码无效。确保IC部件号正确,并且在连接PICkit3时,应该看到一个可以与芯片版本进行交叉引用的版本代码。

编辑:现在是时候确保MPLAB X的各种安装在所有PC上都匹配-它们是同一版本吗?他们是最新版本吗?

每当有新版本的MPLAB X时,PICkit3固件都趋向于升级-与较旧的PICkit3固件和您的HEX文件可能存在错误或不兼容。

最近,我遇到了类似的情况(现在,它对我来说刚刚破晓了-duh),在我的计算机上使用MPLAB X和XC16生成的HEX文件可以在我的计算机上正确编程,但是不能在使用MPLAB 8 v8的另一台计算机上编程。 50-代码似乎运行速度较慢(初始化LED似乎很慢)。当使用相同的编程器和相同的HEX文件通过MPLAB 8 v8.88更新该PC时,一切又开始起作用。奇怪的。


我的确在“好”和“坏”的PC上对同一块板进行了重新编程,然后问题又来了,这跟用于对板进行编程的PC一样。我已经编辑了问题以反映这一点。
斯蒂芬·科林斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.