1.4 单片机系统开发与仿真

1.4 单片机系统开发与仿真

单片机系统由硬件与软件两个部分组成,硬件实现单片机与外部的连接及单片机与外界信号的匹配,软件实现运算、信号采集和信息输出。单片机的系统开发就是要实现正确的硬件设计和良好的软件设计,并使软件设计和硬件设计相匹配,形成一个能够完成某种具体功能的应用系统。

在单片机应用系统的开发过程中,涉及多种开发技术和工具,需要反复修改调整软、硬件,以便尽可能提高系统的工作效率、可靠性和稳定性。如果单片机应用系统的功能不同,则其硬件和软件构成也会不相同,但系统研制、开发的方法和步骤基本一致。

1.系统开发过程

(1)总体设计

单片机系统开发首先要进行总体设计,确定系统要实现的总体功能,从而设计总体方案。要设计系统的硬件组成功能和软件总体功能,分析其可行性并修改完善。要确定哪些功能由硬件实现,哪些功能由软件完成。在不影响系统技术指标的前提下,提倡尽量用软件实现。

(2)硬件设计

首先确定硬件功能,划分硬件模块,分配单片机引脚资源。然后,画出硬件电路原理图,搭建电路,调试电路,确定电路原理图。可以先进行电路仿真,再进行实物电路搭建和调试,这样会更节省时间和成本。

对于要投入生产和使用的硬件电路,在确定了电路原理图以后,还要设计电路板版图、元件位置图、电路板印字图,以及进行生产实验和器件老化实验,并在实验中不断修改和完善。

(3)软件设计

首先,确定软件总体功能,软件功能要与硬件相配合,完成系统总体功能;对系统功能和过程进行分析,并从中抽象出数学表达式,即建立数学模型;然后,确定程序结构、数据类型和程序功能的实现方法和手段,常采用的程序设计方法是模块化程序设计和结构化程序设计;最后,画出程序流程图,编写程序代码,进行软件调试和代码修改,形成完整的软件程序。

(4)系统调试和运行

调试包括硬件调试、软件调试和系统联调。调试通过后还要进行一段时间的试运行,以验证系统能否经受实际环境的考验。经过一段时间的试运行就可投入正式运行,在正式运行中还要建立维护制度,以确保系统的正常工作。

2.单片机开发的在系统编程(ISP)和在应用编程(IAP)技术

(1)在系统编程技术

在已经焊接好的单片机开发系统中对单片机芯片直接装入目标程序称为在系统编程技术。在系统编程技术通过普通计算机连接单片机的串行口即可将目标程序下载到单片机中,是目前常用的单片机编程技术。具有在系统编程能力的单片机产品有AT89S51、AT89S52等。

(2)在应用编程技术

单片机系统处于运行状态中对单片机的程序进行更新时,不影响系统运行,并能实现程序切换,使系统运行新加载的程序,这种技术称为在应用编程技术。实现在应用编程的方法是将单片机的Flash存储器映射为两个存储体,其中一个存储体在线运行时,对另一个存储体进行程序加载更新,加载新程序后,系统切换存储体运行新的程序。具有在应用编程能力的单片机产品有SST89E58等。

3.系统开发工具软件

(1)程序调试可以采用Keil公司的μVision(μVision3、μVision4)或伟福公司的WAVE 6000软件,这些软件能够进行软件模拟、程序调试并生成目标代码,具体执行过程见书中第8章的实验一。

(2)电路原理图设计和电路板版图设计可以采用Multisim、Protel99se、Protel DXP、Altium、Cadence spb、EAGLE layout等软件,它们的具体使用方法请参考相关书籍。

(3)电路仿真和系统仿真可以采用Proteus和Multisim等软件。