首页 理论教育 单片机应用系统调试方法

单片机应用系统调试方法

时间:2023-11-24 理论教育 版权反馈
【摘要】:单片机系统的体积往往很小,印刷板的布线密度很高,由于工艺原因经常造成引线与引线之间的短路。加电后检查各插件上引脚的电位,仔细测量各电位是否正常,尤其应注意CPU插座的各点电位,若有高压,当进行联机仿真器调试时,将会损坏仿真器的器件。调试时应从两方面来考虑。一般情况下,插上CPU,目标系统便研制完成。

单片机应用系统调试方法

1.硬件调试方法

单片机系统的硬件调试和软件调试是不能完全分开的,许多硬件错误是在软件调试中发现和被纠正的。但通常是先排除明显的硬件故障以后,再和软件结合起来调试。

(1)查找明显的硬件故障。

①逻辑错误。

样机硬件的逻辑错误是由于设计错误和加工过程中的工艺性错误所造成的。这类错误包括错线、开路、短路,其中短路是最常见也是最难以排除的故障。单片机系统的体积往往很小,印刷板的布线密度很高,由于工艺原因经常造成引线与引线之间的短路。开路常常是由于金属化孔不好,或接插件接触不良所造成的。

②元器件失效。

元器件失效的原因有两个方面,一是元器件本身损坏或性能差,诸如电阻、电容的型号参数选择不正确,集成电路损坏,或速度、功耗等技术参数不合格等。二是组装错误造成的元器件失效,诸如电容、二极管、三极管的极性错误,集成块安装方向颠倒等。

③可靠性问题。

系统不可靠的因素很多,如金属化孔、开关或插件的接触不良所造成的时好时坏;内部和外部的干扰;电源滤波电路不完善;器件负载超过额定值造成的逻辑不稳定;地线电阻大;电源质量差,电网干扰大;等等。

④电源故障。

若样机中存在着电源故障,则加电后将造成元器件损失,因此应需特别注意。电源故障包括:电压数值不符合设计要求或超出器件工作电源正常值,或电源极性错误,或电源之间的错误,或电源质量指标不合格(包括稳定性、纹波等技术指标)。

(2)静态调试。

在样机加电之前,先用多用表等工具,根据硬件逻辑设计图仔细检查样机线路的正确性,核对元器件的型号、规格和安装是否符合要求。应特别注意检查电源系统,以防止电源短路和极性错误,并重点检查系统总线地址总线、数据总线和控制总线)是否存在相互之间短路或和其他信号线短路。

(3)动态调试。

加电后检查各插件上引脚的电位,仔细测量各电位是否正常,尤其应注意CPU插座的各点电位,若有高压,当进行联机仿真器调试时,将会损坏仿真器的器件。

2.软件调试方法(www.xing528.com)

在基本上排除了目标样机的硬件故障以后,就可以进入软硬件综合调试阶段,这个阶段的主要任务是排除软件错误,也解决硬件的遗留问题。软件调试可以一个模块一个模块地进行。下面我们对常见故障进行分析。

①程序跳转错误。

程序运行不到指定的地方,或发生死循环,通常是由于错用了指令或设错了标号引起的。

②程序计算错误。

对于计算程序,经过反复测试后,才能验证它的正确性。程序计算错误通常可归为两类:一类是计算方法错误,这是一种根本性错误,必须通过重新设计算法和编制程序来纠正;另一类是编码错误,是由于错误指令造成的,这种错误可以通过修改局部程序来纠正。

③输入/输出错误。

这类错误包括数据传送出错,外围设备失控,没有响应外部中断等。这类错误通常也是固定性的,而且硬件错误和软件错误常常交织在一起

④动态错误。

用单拍、断点仿真运行命令,一般只能测试目标系统的静态功能;目标系统的动态性能要用全速仿真命令来测试,这时应选目标机中的晶振电路工作。

系统的动态性能范围很广,如控制系统的实时响应速度,显示器的亮度,定时器的精度,波形发生器的频率,CPU对各中断请求的响应速度,等等。若动态性能没有达到系统设计指标,有的是由于元器件速度不够造成的,更多的是由于多个任务之间的关系处理不恰当引起的。调试时应从两方面来考虑。

⑤上电复位电路错误。

联机调试是指在排除了硬件和软件的一切错误故障,并将程序固化到EPROM,插入样机后,系统能正常地运行,此时联机仿真告一段落。一般情况下,插上CPU,目标系统便研制完成。在个别情况下,脱机以后目标机工作不正常。这主要是由于上电复位电路故障造成的。脱机加电后,若没有初始复位,则系统不会正常运行。这种错误联机时是无法测试出来的,因为单CPU仿真器,上电后是由仿真器中的复位电路复位。

3.总体联调方法

根据调试环境不同,系统联调又分为模拟调试与现场调试。各种调试所起的作用是不同的,它们所处的时间段也不一样,不过它们的目的都是为了查出用户系统中存在的错误或缺陷及可能出现的不协调问题,以便修改设计,最终使用户系统能正确可靠地工作。

系统联调中,程序设计的正确性是最为重要的,但也是难度最大的。一种最简单和原始的开发流程是:编写程序→烧写芯片→验证功能,这种方法对于简单的小系统是可以对付的,但在大系统中使用这种方法则是完全不可能的,必须要用单片机仿真系统调试。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈