打印

[有奖征文活动]我的一次STM32 ISP下载稳定性调试经历

[复制链接]
5910|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mcuisp|  楼主 | 2009-8-20 21:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 mcuisp 于 2009-8-20 23:54 编辑

问题提出:
      我用万用核心板焊了一个STM32F103CBT6的核心板,用来外出演示手持编程机的功能。
      但演示的时候,偶尔出现找不到芯片,需要用手碰一下连接线或者插座,才找到芯片,开始下载。
问题分析:
      首先,没有怀疑手持机的硬件问题,或者软件处理的问题,因为已经有客户用在生产线上批量烧录,未返回任何问题(不可能有问题不找偶,一千多块钱呢!!!)。
      直观的分析,得出的结论是连接线与插座接触不好。于是更换连接线,粗略测试,貌似未出现不良现象。
      不料,又一次现场演示,连接仍不灵敏,那个汗呀:L ,这次可是当着业界有力人士的面。好彩此兄似乎未注意到;P ,偷偷用手碰下,“蒙混过关”。
      回到家,立下决心,要拔除此隐患。
      把核心板的连线全部焊掉,重新焊接,结果依旧有故障现象。
      难道知名的“复位时TXD浮空导致发送乱码”的处理逻辑存在Bug?这个逻辑,手持机与已经广泛使用的"mcuisp.exe"是一样的呀!
      通过软件跟踪,发现有问题的时候,芯片没有任何发送,而不是发送了乱码。
      使用了“秘制”的干扰发生器--一个负离子模块贴在芯片施加干扰,故障现象并无明显改变。
      最后,调出stm32 datasheet,一个管脚一个管脚查过去,最后发现一个大问题:本该接到20脚PB2(BOOT1)的下拉电阻被我焊到21脚PB10了,造成BOOT1实际上是浮空的。如此一来,复位后,芯片随机的从System Bootloader或SRAM引导。当然会导致连接不良。
解决方案:
     把下拉电阻焊到20脚PB2(BOOT1),测试了一下午,非常稳定了(有点心疼,虽然有10k次寿命,那也是测一次少一次呀)。
经验教训:
     自己用的演示板也是产品,发现问题要一查到底,确诊问题所在。
     要抽时间改进一下万用核心板,增加一些丝印,减少出错几率。
经常有兄弟找我咨询STM32 ISP的问题,大都发现是目标板硬件不稳定,没想到我自己也在此栽了次跟头。

相关帖子

沙发
香水城| | 2009-8-20 22:06 | 只看该作者
哈哈,有趣儿的经验,;P:D

使用特权

评论回复
板凳
mcuisp|  楼主 | 2009-8-20 22:13 | 只看该作者
本帖最后由 mcuisp 于 2009-8-20 22:16 编辑

另一个心得体会:
STM32的芯片还是很牢靠的,呵呵。
负离子模块贴在芯片上、芯片管脚上,都发出“吱吱”的叫声了,还照常下载程序、运行。
以前用此法测过某款台湾芯片,后果是芯片彻底损坏(模块只是贴着芯片外壳,尚未接触管脚呢)。
当然,偶的手持机也小小经受了一次考验,呵呵。

使用特权

评论回复
地板
程序匠人| | 2009-8-20 23:26 | 只看该作者
呵呵,刚看到,赶紧给你加酷去。。。

使用特权

评论回复
5
古道热肠| | 2009-8-21 15:06 | 只看该作者
哈哈,做硬件要胆大,心细,皮厚(不怕铬铁烫着,拨元器件时直接以手代镊子,来得快).

使用特权

评论回复
6
xwj| | 2009-8-21 15:17 | 只看该作者
呵呵,一个粗心大意,不知道让LZ死了多少个脑细胞
;P

使用特权

评论回复
7
mcuisp|  楼主 | 2009-8-21 21:40 | 只看该作者
:$错误确实蛮低级,呵呵
不过人总是会犯错嘛。
主要是一开始没重视,要是一开始就一个一个脚检查,就节约不少脑细胞了。
不过这样折腾一下也有意外收获的啦。

使用特权

评论回复
8
救火车| | 2009-8-21 21:54 | 只看该作者
粗心总是难免的。

使用特权

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

本版积分规则

个人签名:www.mcuisp.com 免费STM32 ISP软件 EP968手持烧录器,现场升级/生产线量产STM32,STM8S/L,FreeScale,LPC2000,LPC9xx,C8051F,AVR,PIC......

340

主题

4985

帖子

22

粉丝