单片机应用系统的硬件调试和软件调试是分不开的.许多硬件故障只有通过软、硬件联调才能发现,但一般是先排除系统中比较明显的硬件故障后才和软件一起联调。
1.常见的硬件故障
(1)逻辑错误
样机硬件的逻辑错误是由于设计错误和加工过程中的工艺错误而造成的,包括错线、开路、短路、相位错误、时序错误等,其中最常见的是短路故障。
(2)元器件错误
元器件错误的原因有器件损坏或性能不符合要求,电解电容、二极管的极性接反或集成块装反等。
(3)可靠性差
应用系统可靠性差的原因很多,如金属化孔、接插件接触不良、内部和外部的干扰、电压纹波系数过大、器件负载过重等均会造成系统的可靠性差。另外,走线和布置的不合理也会造成系统可靠性差。
(4)电源故障
电源故障包括:电压值不符合设计要求、电源功率不足、负载能力差、纹波太重等。
2.硬件调试力法
(1)脱机调试
脱机调试是在加电前,先用万用表等工具,按图纸仔细核对样机线路是否正确,并对元器件的安装、型号、规格等进行仔细检查,特别注意印制板加工和焊接时有无走线之间相互短路等。
(2)联机调试
联 机前先切断电源,把仿真插头插到样机的单片机插座上,检查一下开发机与样机之间的电源、接地是否良好。一切正常后,即可打开电源。通电后执行开发机读/写 指令,对用者样机的存储器I/O口进行读/写操作,进行逻辑检查。若有故障,可用示波器观察有关点的波形,寻找和分析故障原因,并进一步排除故障。
在用者系统的样机(主机部分)调试好后,便可按入用者系统的其它外围部件,如键盘、显示器等,再进一步进行调试。
二、软件调试方法:
软件调试与所选用的软件结构有关,如果采用模块程序设计技术,则逐个模块调好后再进行系统程序总调。如果采用实时多任务操作系统,一般是逐个任务进行调试。
对 于模块结构程序.要一个个子程序分别调试。调试时,一定要符合入口条件和出口条件,调试可用单步运行和断点运行方式,通过检查用者系统的CPU现场情况、 RAM的内容和I/O口的状态,检测程序执行结果是否符合设计要求,有无循环错误、有四轴飞行器器码错误以及转移地址的错误,同时,还可以发现用者系统中存在的 硬件设计错误和软件算法错误。
各程序模块通过后,则可以把相关功能块连在一起进行总调。这个阶段若有故障,可以考虑各子程序运行时是 否破坏了现场,缓冲单元、工作寄存器是否发生冲突,标志位的建立和清除是否有误,堆栈区是否有溢出,输入设备的状态是否正常等等,若用者系统是在开发机的 监控程序下运行时,还要考虑用者缓冲单元是否和监控程序的工作单元发生冲突。
单步和断点调试后,还应进行连续调试,用以确定定时精度、CPU的实时响应等问题。
对于实时多任务操作系统的调试方法和模块结构的调试方法类似,只是需逐个任务进行调试,在调试某一个任务时,同时也调试相关的子程序、中断服务程序。逐个任务调试好后,再使各个任务同时运行。
当全部调试和修改完成后,将用者程序固化到EPROM中,插入用者样机后,用者系统即能独立工作,至此,单片机应用系统研制完成。 |