1.2 单片机的应用
1.2.1 单片机的应用结构
仅由一片单片机芯片是不能构成一个应用系统的。系统的核心控制芯片往往还需要与一些外围芯片、器件和控制电路机构有机地连接在一起,才能构成一个实际的单片机系统;进而嵌入应用对象的环境体系中,作为其中的核心智能化控制单元而构成典型的单片系统,如洗衣机、电视机、空调、智能仪器仪表等。
单片嵌入式系统的结构如图 1-1 所示,通常包括三大部分,即能实现嵌入式对象各种应用要求的单片机、系统硬件电路和系统软件。
图1-1 单片嵌入式系统的结构
(1)单片机:单片机是单片嵌入式系统的核心控制芯片,由它实现对控制对象的测控、系统运行管理控制和数据运算处理等功能。
(2)系统硬件电路:根据系统采用单片机的特性以及嵌入对象要实现的功能要求而配备的外围芯片、器件所构成的全部硬件电路。通常包括以下几部分。
● 基本系统电路。提供和满足单片机系统运行所需要的时钟电路、复位电路、供电电路、驱动电路、扩展的存储器等。
● 前向通道接口电路。这是应用系统面向对象的输入接口电路,通常有传感器、变换器输入通道。根据现实世界物理量转换成输出信号的类型的不同,如模拟电压、开关信号、数字脉冲信号等,接口电路也不同。常见的有传感器、信号调理器、模数转换器(Analog-to-Digital Conversion,ADC)、开关量输入、频率测量接口等。
● 后向通道接口电路。这是应用系统面向对象的输出接口电路。根据应用对象伺服和控制要求,通常有数模转换器(Digital-to-Analog Conversion,DAC)、开关量输出电路、功率驱动接口、PWM输出控制器等。
● 人机交互通道接口电路。人机交互通道接口电路是满足应用系统人机交互需求的电路,包括与键盘、拨动开关、发光二极管、数码管、液晶显示器、打印机等相连多种输入输出接口电路。
● 数据通信接口电路。数据通信接口电路是满足远程数据通信或构成多机网络应用系统的电路,通常包括RS-232、PSI、I2C、CAN总线、USB总线等通信接口电路。
(3)系统软件:系统软件的核心就是下载到单片机中的系统运行程序。整个嵌入式系统全部硬件的相互协调工作、智能管理和控制都由系统运行程序决定。它可被认为是单片嵌入式系统核心的核心。一个系统软件设计的好坏,往往决定了整个系统性能的好坏。
系统软件是根据系统功能要求设计的,一个嵌入式系统的运行程序实际上是该系统的监控与管理程序。对于小型系统的应用程序,一般采用汇编语言编写。而对于中型和大型系统的应用程序,往往采用高级程序设计语言(如C语言)来编写。
编写嵌入式系统应用程序与编写其他类型的软件程序(如基于PC的应用软件设计开发)有很大的不同,嵌入式系统应用程序多面向硬件底层和控制,而且要面对有限的资源(如有限的RAM)。因为嵌入式系统的应用软件不仅要直接面对单片机及与它连接的各种不同种类和设计的外围硬件电路编程,还要面对系统的具体应用和功能编程。整个运行程序常常是输入输出接口设计、存储器、外围芯片、中断处理等交织在一起。因此,除了硬件系统的设计,系统应用软件的设计也是嵌入式系统开发研制过程中重要和困难的任务。
需要强调的是,单片嵌入式系统的硬件设计和软件设计之间的关系是十分紧密、互相依赖和制约的。因此,通常要求嵌入式系统的开发人员既要具备扎实的硬件设计能力,也要具备相当优秀的软件设计能力。