有时候我必须选择一个人过冬 习惯在冰天雪地里追梦

IO脚可以当作GND脚用?

上一篇 / 下一篇  2007-10-03 23:43:54 / 个人分类:工作备忘

上星期四下午,我还在地铁上,接到供应商打过来的电话,说电路板出现问题了,控制电磁阀的IO脚如果不接地的话,电路板无法通过自检,问我是不是自检程序里对这IO口进行检测,如果不接地就无法通过,我回想了一下,很肯定地回答:没有。我推测是电路板硬件质量有问题,供应商坚持是软件有问题,商量了一下没结果,只好等星期五送过来时我再测试一下。

星期五上午,IQC通知我电路板送到,于是去拿了两块回来,上实验室一测试,确实像供应商说的,如果控制电磁阀的IO脚接地了,电路板正常工作,如果不接地,连自检也无法通过。从测试来看,任一IO口接地都行。这次的电路板是按新的PCB文件制作,我对电源部分进行了一些改动,减小纹波和改善发热,没想到反而出问题了。

一开始怀疑是改动过的电源部分导致问题的产生,可用示波器测量单片机的VCC,电压非常稳定,相比上一版本,纹波也变小了,没发现问题。由于软件编写时,我特意加入一些方便调试判断的代码,在加电时,电路板会通过UART口发出“OK”字符串来表示开始运作。于是接上PC,打开串口监视软件,结果显示没收到OK字样,说明电路板上的程序根本没开始运行。于是怀疑是晶振出问题了,用示波器测量晶振,发现当IO口接地,晶振能起振,当IO口不接地,则无法起振。怀疑晶振质量不好,换上手头上的一个没问题的晶振,还是同样的现象。正郁闷,突然想起一件事,在我的设计里,电路板是用插件晶振,但供应商在生产裸板前,跟我说为了工艺统一,建议使用贴片晶振,他们货仓里也只有贴片晶振,没有插件晶振,我当时同意了,并让他们自己把PCB文件里的封装改过来再生产,会不会是这个原因。于是仔细看了一下晶振附近的电路,还是没有发现问题,本着慎重的态度,用万用表测量了一下单片机的GND脚跟电路板的接地敷铜,结果大吃一惊,单片机的GND脚竟然没有接地@#$%^!再跟踪了一下地线的走向,结果发现电路板上少了一个非常关键的接地通孔-_-!这个通孔在我发出去的PCB文件上是存在的,于是打电话给供应商……原来供应商在修改晶振封装时,不小心把一个通孔删掉了,而修改完毕后,又没有做DRC检查节点的联接就开始生产,结果就出问题了。知道问题所在后,供应商对电路板进行返工,使用一个0欧电阻做跳线,电路板正常工作,虽然EMC有所下降,但仍在可接受范围内,问题终于得以解决。

PCB生产前,做DRC检查是非常非常必要的,可以检查出同一节点之间有没有漏连,或者不同节点之间有没有短路。不过奇怪的是,STC的单片机在GND脚没接地的情况下,任一IO口接地也能工作,难道它的IO口能当作GND用?


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-12-03  
 123456
78910111213
14151617181920
21222324252627
28293031   

数据统计

  • 访问量: 28546
  • 日志数: 189
  • 图片数: 24
  • 文件数: 6
  • 书签数: 4
  • 建立时间: 2006-04-20
  • 更新时间: 2008-11-30

RSS订阅

Open Toolbar