APP下载

单片机的“在线仿真调试”方案

2013-04-23车立新

科技致富向导 2013年6期
关键词:单片机

车立新

【摘 要】介绍了一种单片机的仿真调试的方法,设计人员可以在没有仿真器的情况下采用合理的措施,检查单片机内部程序的正确性:还可以在已有的目标板上设计开发后续的程序,有效缩短产品设计的周期,达到降低设计成本的目的。

【关键词】单片机;仿真调试

在应用单片机开发设计电子产品的时候,绝大多数的设计人员都要使用仿真器。设计者在编制调试程序的时候,可以通过仿真器跟踪单片机内部程序的运行流程,检查程序的每一步执行的情况都否满足设计者的初衷。同时,设计者可以直观全面地得到单片机内部程序运行中的各项参数和数据,进而判断所设计软件程序的正确性和有效性,大大提高了程序设计的效率。可以说,仿真器是设计人员调试程序最有力的助手。

仿真器固然有很多的优点,笔者这里却另辟蹊径,在程序设计调试过程中抛开仿真器,单独谈一谈单片机的“在线仿真调试”方案,仅供单片机爱好者参考。

所谓的单片机的“在线仿真调试”方案,实际上就是我们把测试程序烧入单片机芯片中,让单片机脱离仿真器独立运行。在运行过程中,设计者可以通过合理有效的手段获取单片机实际运行过程中外围器件的一些状态和必要数据,检查单片机运行的程序是否符合设计要求,即所谓的“在线仿真调试”。

这种“在线仿真调试”的手段虽然得到的数据信息有限,但是也能得到一些必要的和关键的信息,对于熟练的设计人员也是可行的。获取信息的手段包括检查单片机外部连接发光二极管的状态、数码管或者液晶的显示内容、串行通讯的必要数据等。设计者可以根据所得到的状态或数据来验证程序运行的正确性。如果程序设计有疏漏,设计者需要重新调整编辑软件程序,烧入单片机后再次测试,直到圆满完成开发任务。

要想做到“在线仿真调试”,必须满足如下两个条件:(1)单片机内部的程序存储器具有FLASH功能,可以多次地把程序烧入单片机;(2)设计人员必须对所使用单片机的内部资源及周边功能都比较熟悉,能够迅速地编制出必要的测试程序。

从加快设计周期上讲,有些新开发的产品与原有产品硬件相近,软件功能差别也不大,开发任务时间又偏紧,设计人员也可以采用“在线仿真调试”的方式,即不必重画仿真目标板,直接设计生产用的线路板,只是通过改动原有的软件程序来适应新的产品要求。

从安全性上讲,有些情况下直接连接仿真器运行很危险,如目标板上有强电接入,使得强电与仿真器之间没有电气隔离,容易损坏仿真器的硬件,即使把强电用隔离变压器处理也不能保证绝对安全;有些场合程序运行时不允许中断,例如,在动态测试传动设备时,如果程序在断点停止运行后会损坏相关设备,进而造成巨大的损失。这样就必须用“在线仿真调试”来达到目的。

还有些无奈的情况,有些产品具有停电低功耗运行功能,这种低功耗工作方式仿真器无法实现仿真运行,只有脱机运行才能完成低功耗运行功能的测试工作;有些单片机厂家的单片机内部资源丰富,但是相应的仿真器很昂贵,动辄数万元人民币,租用和购买都不合适。如果研发项目需要几个人共同开发,那么在研发初期无法实现人手一台仿真器,就只有使用“在线仿真调试”的方式来节省研发设备的资金投入,并且可以不受场地限制,只需一台计算机和一个目标板,再外加一个串行TTL/RS232接口通讯模块就可以了。

“在线仿真调试”的方法给我们提供数据信息的方式有两种:一种是应用于数据量较少的系统,直接借助目标板上的显示器件(数码管或者液晶)就可以获取一些必要的信息,更有甚者,通过发光二极管也可以表达很多的状态;另一种是应用于数据量较大的系统,设计者在程序中先把数据组织好,然后借助于单片机上的异步通讯接口,通过串行TTL/RS232接口通讯模块把数据传送给计算机,在计算机上分析所得到的数据。这就像使用仿真器调试程序一样,通讯时就相当于使用仿真器运行程序至所设断点处,所得数据就相当于仿真器所得到的相应寄存器及变量的数值,唯一的区别就是这里介绍的断点是软断点,程序在执行断点后还可以继续运行。当然,设计者可以连续观察多组数据,更好地分析程序运行的流程。

我们在利用通讯接口“在线仿真调试”的时候,应把数据组织得有一定的规律,这样就可以迅速直观地检查运行结果,进而调整相应的程序段,为下一次的“在线仿真调试”做准备。这样的“在线仿真调试”虽然每次都得把程序写进单片机中,过程略显繁琐,但是所设置的软断点并不影响程序的连续执行,我们可以把多组数据放在一起比对查看,最大程度发挥“在线仿真调试”的优势。

“在线仿真调试”,实质上就是设计者编制并运行测试程序,单片机在程序的运行过程中有效地给设计者反馈出必要的数据信息,然后通过有效地调整单片机的程序来达到最理想的结果。这就要求设计者的产品设计经验丰富,处理问题时头脑灵活,对程序运行过程中发生的异常情况心中有数,并在最短的时间调整程序来完成进一步的“在线仿真调试”。

以上仅是一家之言,仅供参考。总之设计人员在进行程序设计的时候,一定要灵活地选取最安全最方便最有效的方案,不必过于教条,最主要的是要不断地积累经验,在满足产品设计要求的同时提升自己的价值。

【参考文献】

[1]单片机原理系统设计与开发应用.中国科学技术大学出版社,1995.

[2]何立民.单片机高级教程.北京航空航天出版社,2000.

[3]单片机与嵌入式系统应用.北京航空航天大学出版社,2006.9.

[4]电子技术应用.华北计算机系统工程研究所,2012.8.

猜你喜欢

单片机
基于单片机MCU的IPMI健康管理系统设计与实现
浅析51单片机的特点与应用
单片机在智能控制中的应用
C8051F020与80C51单片机的异同点
MCS—51单片机多串口通讯技术应用分析
一种单片机虚拟实验室的建立方法
点阵式液晶显示器lMl2864与51单片机的接口设计
单片机I/O口模拟串行通讯的C51实现方法
单片机调试方法的探讨
用PIC单片机制作的时间继电器