已经批量使用MSP430F47166芯片制作智能电表,通过Ti公司出品的MSP-FET430UIF仿真器或者杭州利尔达公司生产的PRGS430型编程器将程序下载到PCB上的芯片中。
在生产过程中发现有部分(约1%)PCB组件不能够下载程序,共同的表现:
1。编程时提示芯片型号错误,如果选择继续下载则会出现“Fatal error: Failed to write memory at 0x2100 Session aborted!”。
2。在IAR中重新建立工程,重新设置芯片型号,重新编译并下载也同样不能够成功,仿真器界面显示的flash空间中显示的内容全部为“FFFF”。
3。修改复位电容从0。1uF到10nF,不能成功。
4。目标板自主供电或使用编程器统一供电对解决问题没有帮助。
请专家协助解决。谢谢!
广东天乐通信设备有限公司张工,tlzjy@163.com
Alex Cheng:
这种情况比较少见,问题可能 1. 芯片静电损坏 2. pcb上其他电路的负载过大,仿真器无法输出那么大功率 3. pcb板有短路现象。
JinYang zhang:
回复 Alex Cheng:
唯一不可以确认的是第1项,其他都不可能,已检查过。
JinYang zhang:
回复 JinYang zhang:
关于这个故障的原因仍然没有结论,如何避免?还请专家支持。
今天还发现一个样板,程序已经烧录进去并且在正常运行之中,但是用仿真器去访问,会显示芯片型号不正确,并且重新下载程序也不成功。从现象看,除了电路板上的程序在跑,功能正常外,烧录程序方面的表现和上面说到的有故障的样板的表现是一样的。
Jason Guo:
回复 JinYang zhang:
程序下载本质上只是个通讯过程.
通讯的时序电平等如果受到受到影响会导致下载异常.所以重点您在JTAG的接口上做些检查. VCC,GND,RST,TDO,TDI,TMS,TCK这几根线的信号在故障板上是否表现出异常?
值得注意的有
1)VCC供电能力
2)RST是否有外界复位芯片,复位芯片可能会干扰RST时序
另外,您可以做些替换实验,比如换下芯片,可以缩小范围到底是芯片相关还是PCB相关.
另外,程序下载的过程包括连接,擦除,擦除校验,编程,编程校验等等. 您所说的编程故障具体是出现在哪一步?
比如是连接故障还是编程校验出错? 这个对于判断问题根源很重要.
JinYang zhang:
回复 Jason Guo:
在Build阶段,首先弹出信息框说明芯片型号不对(实际上是对的),选择继续进行就说“Thu Dec 01 11:14:00 2011: Fatal error: Failed to write memory at 0x2100 Session aborted! ”。
有没有可能是在插上编程电缆期间由于静电原因造成编程端口损坏呢?如果是这样,这个JTAG端口需要特别保护吗?我的端口是专用内置在PCB上的,距离芯片很近。
Jason Guo:
回复 JinYang zhang:
JTAG被ESD损坏是有可能的,但必须首先定位到是否是芯片问题,才好做下一步分析.
虽然有JTAG被ESD损坏的可能性,但很少看到用户去对JTAG进行保护.我看到的用户很少有在这个问题上困扰.
关于芯片型号提示不对的问题,有可能还是通讯过程出故障,那么到底是芯片,信号,还是电源的影响,从现有的信息中没有办法下定论.
建议做以下实验
1) 想办法定位是否是芯片相关的. 把芯片和PCB做下交叉实验即可
2)用PRGS下载器,读取flash内容,然后做分步的编程实验,比如只擦除,看看结果如何.然后擦除+擦除校验,再看看结果如何.
其实现场解决是最有效率的做法.建议联系代理商的FAE坐现场支持.
Fuchong Wang:
回复 Jason Guo:
其实现场解决是最有效率的做法.建议联系代理商的FAE坐现场支持.
觉得这个说的应该确实,哪里有现场能够观察咨询询问交谈到各种情况现象
JSW-PengBo:
回复 Fuchong Wang:
同意楼上说法,是要找代理商的FAE去现场支持才行的,这种量产后发生的问题靠说是解决不了,要去实际测量后才能确定问题