----此文真实记录我在调试过程中遇到的问题,并最终解决问题调试成功的经历。
SPY是我们公司用来测试遥控器的一个特殊接收器,配合上位机软件使用,可以在电脑上查看遥控器发出指令的详细信息。这个东西是由总部开发设计的,总部提供生产需要的所有文件给我们,让我们自己做几个,用来测试遥控器。本来以为很简单,PCB做好,元器件买回来,焊接好,程序烧进去就好了。没想到,还是搞了很久才做好一个。
这个装置可分为四个部分:Radio部分,MCU部分,USB模块,电源部分。Radio部分用的是CC1020芯片,配置好外围电路,只做接收用。MCU用MEGA32L-8AI。USB是买的现成的模块。电源是从USB供电的,用两个稳压器LP2951CM-3分别给Radio和MCU供电。
元器件基本都是贴片的,电阻电容大部分都是0402的封装,而且CC1020是QFN的封装,以我的能力用电烙铁是不可能焊好的。用回流焊倒是不错的选择,不过涂焊锡膏的难度也不小。
好不容易焊好一个,连到电脑上测试,没反应,开始找问题。发现电源模块没有输入电压,对照原理图看了一下,才发现原来USB模块的引脚排列和电路板不一致。这时候才想起来,这些元件都是之前走掉的那个工程师买的,出错很正常,怪只怪自己用之前怎么没检查一下。没办法,只好拆了,32个脚通孔拆死我了。
搞完这个以后,直接加5V电压到稳压器上,结果没有输出,怎么回事呢?按照BOM信息把稳压器的手册找来看看,发现原理没什么问题。难道又是元件买错了?仔细查看原件上的丝印,发现果然不一样,又找来这个的资料看看,TMD原来也是稳压器,封转样式也一样,只可惜引脚排列严重不一样,这也太害人了吧,真搞不懂当初这东西是根据什么买的,难道就是看他们长得像吗?
没办法,跳过稳压器,直接在稳压器输出端加上3V电压,继续测试后面的电路。很不幸,还是没反应。单片机的晶振没有起振,检查单片机电路,应该没什么问题。难道总部的软件有问题?有可能,他们经常把中间调试版本的烧录文件给我们。但是又不敢肯定,于是大概了解了一点ATMEL单片机的基础知识后,先确认程序烧录过程没问题。按照总部的文件配置单片机,还是不行。由于总部不肯把源程序给我们,我不能测试软件到底怎么样。万般无奈之下,决定自己写个小程序来测试,先确定硬件是否OK。利用板子上现有的LED,写了一个LED闪烁的小程序,下进单片机并配置好以后,通电,LED闪起来了。总算看到点反应了,量了一下单片机晶振,还是没反应。难道配置错了?又返回研究单片机的配置,花了好多时间才弄好,终于看见晶振的正弦波了。然后又把原来的程序烧进去,配合上我自己调整的配置位,还是不正常,不过晶振已经工作了。
再看Radio部分,发现Radio输出给单片机的信号一直为0,根本没有信号。于是外接了一个其他产品上的接收器,发现板子上的LED有反应了。再找来一个USB模块连上去,和电脑相连,开始查看接收信号是否正确。还是不行,虽然有信息显示出来,但是明显不对。现在有两个问题了,可以肯定Radio部分有问题;怀疑软件有问题。
然后又看是研究Radio芯片的资料,发现没有什么特殊的。焊接也是可靠的,对照原理图上,该高的地方高,该低的地方低,实在想不出有什么问题。没办法,只好向总部求助,先把之前调试的问题汇报了一下,然后说出自己的想法,看他们有没有什么办法。最后证明,他们之前给的单片机配置信息确实有误,应该按照我的配置。软件也有问题,提供了新版本的烧录文件。重新烧录以后还是不行,连上外置Radio后一切正常了,看来Radio部分真的有问题。
无奈之下,又检查焊接问题,先看有没有短路的,确认没有。难道有开路的?给万用表换了一个非常尖细的表笔,开始检查芯片引脚是不是没焊上,果然被我发现了,有5个脚和焊盘不通。重新补焊,确认无误后,又联机测试,终于OK了。这一刻的心情,如释重负、柳暗花明、拨云见日,真是太开心了……
本来以为很简单的东西,没想到会有这么多麻烦。总结一下,一共三点问题:元器件问题、焊接问题、软件问题。实际上就是做事不细心的问题。元器件是别人买的,要是他仔细一点就不会买错,要是我仔细检查一下,问题也早被发现了。焊接虽然有难度,但是细心点应该不会有大问题的,就算第一次焊不好,之后仔细检查一下也是能弥补的。软件问题,和我没多大关系,但是要吸取经验教训。
20111227150107
用户1601820 2012-7-23 17:28
用户1586985 2011-12-29 09:16
用户1586985 2011-12-29 09:15
是
用户1586985 2011-12-29 09:13
用户1629862 2011-12-28 16:43
用户1167151 2011-12-28 13:52
peng36933_557691152 2011-12-28 09:57
用户1602177 2011-12-27 17:04