嵌入式产品整机调试工艺
——以空调智能控制系统为例
2018-12-20施纪红
施纪红
(苏州健雄职业技术学院 电子信息学院,苏州 215411)
1 调试工作的内容
本文以笔者参加的一项“空调智能控制系统”项目设计与调试工作为研究对象,该系统结构框如图1所示。笔者根据工作总结了整个调试过程。嵌入式产品的调试与测试可以细分成以下四个层次:一是硬件调试、软件调试;二是软硬件联调;三是硬件测试、软件测试;四是软硬件集成测试[1]。
图1 空调智能控制系统结构图
1.1 硬件的调试与测试
由于元器件参数的离散性和装配的局限性,装配后的产品都需要根据技术文件进行调试与测试,以达到预期的功能和技术指标。调试是指通过调整硬件的可调元器件,将电气参数调到预定值,检查系统是否完成规定的功能;测试则是指用精确的仪器仪表对电路板在各种环境的各项技术性能参数进行测量;性能测试相对功能调试更精确[2]。
1.2 软件的调试与测试
软件调试主要是排除编码错误,保证程序稳定运行,对程序的局部功能和功能进行检查;而软件测试是为了排除逻辑错误,系统设计错误,对程序进行系统全面的检查,保证程序整体的功能和性能。
由于嵌入式软件与硬件系统的联系非常紧密,硬件的正确性是软件调试的基础,所以,一般先调硬件,再调软件,调软件基本就是软硬件联调。
2 调试阶段
不论硬件还是软件,都是先调试独立模块,再调相互影响的模块,最后调整体。
2.1 硬件调试流程
2.1.1 PCB空板检查
PCB故障主要有两类:原理图正确但PCB设计错误,检查方法是对照原理图,查看一致性;加工错误,主要有开路、短路等,除目测外,可以使用数字万用表进行测试。本系统特别注意电源走线的间距,以及地址、数据和控制总线相互位置和接通性的检查。
2.1.2 硬件的焊接
复杂PCB可以交工厂焊接,本系统相对简单,直接手工焊接。焊接前要检查元器件与设计的型号、规格否一致,是否损坏;焊接时注意元器件安装位置和极性是否正确。安装后,要检查是否有漏装配、管脚搭锡等问题;最后要用万用表测量各个电源到地的电阻,检查是否短路。
2.1.3 调试
调试可以使用万用表、示波器等常用测试仪器。通电前,先检查电源电压的幅值和极性;通电后,检查关键器件引脚的电位;该系统由3.7V的锂电池供电,通过升压降压实现有5V和3.3V两种电压。电压不对,可能导致集成块及其他元器件发热损坏。怀疑器件损坏时,可用替换方法排除。根据设计,调节可调电阻、电容等,使硬件达到设计值。
该系统硬件调试完成后,编写了一个简单的测试程序,不涉及具体功能,只是测试按键、LED指示灯、数码管是否工作,初步判定电路板的正确性。
2.2 软件调试
一般意义上,嵌入式软件调试都是依赖硬件的。本系统使用Keil uVision进行软件调试。
2.3 软硬件调试
软硬件调试是指在硬件正常的情况下,将软件下载到硬件中,验证程序执行的时序是否正确,逻辑和结果是否符合设计要求,能否满足功能和性能要求等。软硬件调试的方法有很多,本系统采用第三种方式。
3 测试阶段
硬件测试和软件测试都不是孤立的测试,是相互配合的,例如,测试硬件CPU的工作温度,软件运行、不运行、运行量的大小不同将导致CPU的发热温度截然不同。所以,下面提到的硬件测试和软件测试只是指测试的重点是硬件还是软件。
3.1 硬件测试
硬件测试主要包括压力测试、性能测试及其他专业测试。主要有抗干扰、寿命、防潮湿、高温和低温测试等。本系统是家用产品,无温湿度要求,仅进行了抗干扰测试。
3.2 软件测试
软件测试方法根据测试内容分成“白盒、黑盒测试”,根据测试环境分成“目标环境、宿主环境测试”。
3.2.1 白盒测试与黑盒测试
白盒测试是根据源代码的组织结构查找软件缺陷。本系统使用Gtest软件进行白盒测试是在宿主环境。
黑盒测试也称为功能测试,根据软件的用途和外部特征查找软件缺陷。本系统较小未进行黑盒测试。
3.2.2 目标环境测试和宿主环境测试
目标环境测试就是指在硬件环境的测试,宿主环境测试是指在PC主机环境的测试。针对逻辑或界面测试以及其他非实时测试、与硬件无关的测试,选择宿主环境测试。而与定时、中断、硬件接口等相关的测试选择目标环境测试。
3 故障排除
嵌入式系统经常发生硬件故障、软件故障和操作系统故障等3类故障。不论是哪种错误,在调试过程中要心态平和,多做比较和分析,逐个排除各种原因,直到最后成功。
可见,软硬件的调试和测试是嵌入式电子产品实现的必经阶段。调试与测试水平的高低、流程的合理性、软件和工具的选择都直接影响嵌入式产品的功能和性能。