嵌入式开发入门之七如何定位碰到的硬件问题
通过前面几次的讲解,大家对嵌入式的开发,基本上有了宏观的了解。那么你可能已经选了个开发板,摩拳擦掌、跃跃欲试了。但是,咦?怎么不是想象的那样工作呢?要放弃?切莫着急,等我告诉你怎么排查问题。只有先定位问题,才好解决问题。
如何定位硬件问题嵌入式系统的问题,通常是硬件和软件两方面的。如果是第一次使用硬件、或者是新设计的硬件板卡,就要首先怀疑硬件是否使用得当,是否有设计错误。下面,我先讲讲硬件问题的定位。
确认系统电源是否正常
硬件加电前,务必确认外接电源的正负极是否正确、电压是否与硬件板子的要求一致。新设计的PCB,要检查电源是否短路。确认无误,方可加电。刚加电,要立即观察电源指示灯是否有亮起。如果没有指示灯,那么可以观察各器件是否有鼓包、冒烟等异常,并迅速用手轻触各主要的IC元件,感受其是否有异常发热。确认无误后,可以继续进行后续操作。
对于自己设计的板子,或者焊接的板子。加电后,首先一定要用万用表,测量下电源IC的输出是否正常;然后依次排除各个主IC的电源情况。如果无误,才可以进行后面的其他流程。如果电源有问题,要记录数值,并立即断电,再分析原因。
确认MCU正常
电源正常了,下面就要确认板子的核心,MCU是否可以正常工作。通常,我们使用仿真器试图连接MCU,如果能成功,并且可正常烧录程序,那么说明MCU基本正常。
如果MCU无法连接,要单独测量MCU的电源电压是否正常;复位信号是否为高;仿真器是否连接正确。如果依然无法连接,则需要查一下设计。不同MCU可能的问题不同,一般不外乎各个电源、复位、时钟、启动方式等。MCU正常后,可以调试外围。
CPU是主体,首先确认其状态外围的问题
外围的问题,一般稍显复杂。定位问题,通常要软硬件统筹考虑。要具体问题具体分析。包括电源、电气连接、软件初始化,甚至是信号的好坏。
以串口为例,如果工作不正常,无法收发。可以将TX\RX,接于一起,形成自收发。然后检查初始化、数据收发函数的调用,可以尽快确定问题所在。必要是,借助示波器,如果有发送波形,可以确定初始化和发送流程正确,可重点检查接收部分的代码。
由于外设通常较多,为了防止问题相互耦合窜连,必要时可以将无关的外设模块进行隔离、脱离。
外围的问题比较多样,需要具体分析总结
综上,硬件的问题,要从整体到局部的原则,逐步排除、定位问题。通过一边测试、一边确认、一边缩小范围,逐渐将问题的排查范围缩小到某一点上。依此思路,即可发现并排除每个问题。
转载请注明:http://www.abuoumao.com/hykz/1147.html