首页 理论教育 单片机应用技术:单片机应用系统设计步骤详解

单片机应用技术:单片机应用系统设计步骤详解

时间:2023-10-17 理论教育 版权反馈
【摘要】:传感器是单片机应用系统设计的一个重要坏节,因为工业控制系统中所用的各类传感器是影响系统性能的重要指标。下面讨论MCS-51单片机应用系统硬件电路设计时应注意的几个问题。因此,I/O接口常常是单片机应用系统中设计最复杂也是最困难的部分之一。

单片机应用技术:单片机应用系统设计步骤详解

单片机系统的开发过程一般包括系统的总体设计、硬件设计、软件设计和系统总体调试四个阶段,图9.1给出了系统研制过程框图。这几个设计阶段并不是相互独立的,它们之间相辅相成、联系紧密,在设计过程中应综合考虑、相互协调、各阶段交叉进行。

1.系统总体设计

系统总体设计是单片机系统设计的前提,合理的总体设计是系统成败的关键。总体设计关键在于对系统功能和性能的认识和合理分析,系统单片机及关键芯片的选型,系统基本结构的确立和软、硬件功能的划分。

(1)需求分析 在设计一台单片机应用系统时,设计者首先应进行需求分析。对系统的任务、测试对象,控制对象、硬件资源和工作环境做出详细的调查研究,必要时还要勘察工业现场,进行系统试验,明确各项指标要求。

(2)确定技术指标 在现场调查的基础上,要对产品性能、成本、可靠性可维护性经济效益进行综合考虑,并参考同类产品,提出合理可行的技术指标。主要技术指标是系统设计的依据和出发点,此后的整个设计与开发过程都要围绕着如何能达到技术指标的要求来进行。

(3)方案论证 设计者还需要组织有关专家对系统的技术性能、技术指标和可行性做出方案论证,并在分析研究基础上对设计目标、被控对象系统功能、处理方案、输入输出速度、存储容量地址分配、输入输出接口和出错处理等给出明确定义,以拟定出完整的设计任务书

图9.1 单片机系统研发过程

(4)主要器件的选型 单片机的型号主要根据精度和速度要求来选择,其次根据单片机的输入输出口配置、程序存储器及内部RAM的大小来选择,另外要进行性能价格比较。

传感器是单片机应用系统设计的一个重要坏节,因为工业控制系统中所用的各类传感器是影响系统性能的重要指标。只有传感器选择得合理,设计的系统才能达到预定设计指标。

在总体方案设计过程中,对软件和硬件进行分工是一个首要的环节。原则上,能够由软件来完成的任务就尽可能用软件来实现,以降低硬件成本,简化硬件结构。同时,还要求大致规定各接口电路的地址、软件的结构和功能、上下位机的通信协议,程序的驻留区域及工作缓冲区等。总体方案—旦确定,系统的大致规模及软件的基本框架就确定了。

2.硬件设计

硬件和软件是单片机控制系统的两个重要方面,硬件是基础,软件是关键,但两者又是可以相互转化的。硬件设计时,应考虑留有充分余量,电路设计力求正确无误,因为在系统调试中不易修改硬件结构。

(1)设计硬件原理图 硬件设计的第一步是要根据总体设计要求设计出硬件的原理图,其中包括单片机程序存储器的设计、外部数据存储器的设计、输入输出接口的扩展、键盘显示器的设计、传感器检测控制电路的设计、A/D及D/A转换器的设计。下面讨论MCS-51单片机应用系统硬件电路设计时应注意的几个问题。

(2)程序存储器 若单片机片内无程序存储器或存储容量不够时,此时需扩展外部程序存储器。外部扩展的存储器通常可以选用EPROM或E2 PROM。EPROM集成度高、价格便宜,E2 PROM则编程容易,可以在线读写。当程序量较小时,使用E2 PROM较方便;当程序量较大时,一般可选用容量较大、更经济的EPROM芯片,如2764(8KB)、27128(16KB)或27256(32KB)等。

(3)数据存储器和I/O接口 数据存储器由RAM构成。一般单片机片内都提供了小容量的数据存储区,只有当片内数据存储区不够用时才扩展外部数据存储器。

数据存储器的设计原则是:在存储容量满足的前提下,尽可能减少存储芯片的数量。建议使用大容量的RAM芯片,如6116(2KB)、6264(8KB)或62256(32KB)等,以减少存储器芯片数目,使译码电路简单,但应避免盲目地扩大存储容量。

由于外设多种多样,使得单片机与外设之间的接口电路也各不相同。因此,I/O接口常常是单片机应用系统中设计最复杂也是最困难的部分之一。

I/O接口芯片一般选用8155(带有256KB静态RAM)或8255。这类芯片具有口线多、硬件逻辑简单等特点。若口线要求很少,且仅需要简单的输入或输出功能,则可用不可编程的TTL电路或CMOS电路。

A/D和D/A电路芯片主要根据精度、速度和价格等来选用,同时还要考虑与系统的连接是否方便。

(4)地址译码电路 基本上所有需要扩展外部电路的单片机系统都需要设计译码电路,译码电路的作用是为外设提供片选信号,也就是为它们分配独一无二的地址空间。译码电路在设计时要尽可能简单,这就要求存储器空间分配合理,译码方式选择得当。

通常采用全译码、部分译码或线选法,应考虑充分利用存储空间和简化硬件逻辑等方面的问题。MCS-51系统有充分的存储空间,包括64KB程序存储器和64KB数据存储器,所以在一般的控制应用系统中,主要是考虑简化硬件逻辑。当存储器和I/O芯片较多时,可选用译码器74LSl38或74LSl39等。

(5)总线驱动能力 如果单片机外部扩展的器件较多,负载过重,就要考虑设计总线驱动器。MCS-5l系列单片机的外部扩展功能强,但4个8位并行口的负载能力是有限的。P0口能驱动8个TTL电路,P1~P3口只能驱动3个TTL电路。在实际应用中,这些端口的负载不应超过总负载能力的70%,以保证留有—定的余量。如果满载,会降低系统的抗干扰能力。在外接负载较多的情况下,如果负载是MOS芯片,因负载消耗电流很小,所以影响不大。如果驱动较多的TTL电路,则应采用总线驱动电路,以提高端口的驱动能力和系统的抗干扰能力。

数据总线宜采用双向8路三态缓冲器74LS245作为总线驱动器,地址和控制总线可采用单向8路三态缓冲区74LS244作为单向总线驱动器。

(6)系统速度匹配 MCS-51系列单片机时钟频率可在2MHz~12MHz之间任选。在不影响系统技术性能的前提下,时钟频率选择低一些为好,这样可降低系统中对元器件工作速度的要求,从而提高系统的可靠性。

(7)抗干扰措施 针对可能出现的各种干扰,应设计抗干扰电路。在单片机应用系统中,一个不可缺少的抗干扰电路就是抗电源干扰电路。最简单的实现方法是在系统弱电部分(以单片机为核心)的电源入口处对地跨接一个大电容(100μF左右)与一个小电容(0.1μF左右),在系统内部各芯片的电源端对地跨接一个小电容(0.1μF)。

另外,可以采用隔离放大器、光电耦合器件抗除输入/输出设备与系统之间的地线干扰;采用差分放大器抗除共模干扰;采用平滑滤波器抗除噪声干扰;采用屏蔽手段抗除辐射干扰等。

最后,应注意在系统硬件设计时,要尽可能充分地利用单片机的片内资源,使自己设计的电路向标准化、模块化方向靠拢。(www.xing528.com)

硬件设计结束后,应编写出硬件电原理图及硬件设计说明书。

3.软件设计

软件是单片机应用系统中的一个重要组成部,图9.2给出了软件设计的流程图。单片机应用系统的软件设计是研制过程中任务最繁重的一项工作,难度也比较大。对于某些较复杂的应用系统,不仅要使用汇编语言来编程,有时还要使用高级语言。

(1)软件方案设计 软件方案设计是指从系统高度考虑程序结构、数据形式和程序功能的实现方法和手段。由于一个实际的单片机控制系统的功能复杂、信息量大,程序较长,这就要求设计者能合理选用程序设计方法。开发一个软件的明智方法是尽可能采用模块化结构。根据系统软件的总体构思,按照先粗后细的方法,把整个系统软件划分成多个功能独立、大小适当的模块。应明确规定各模块的功能,尽量使每个模块功能单一,各模块间的接口信息简单,完备,接口关系统一,尽可能使各模块间的联系减少到最低限度。这样,各个模块可以分别独立设计、编制和调试,最后再将各个程序模块连接成一个完整的程序进行总调试。

图9.2 软件设计流程图

单片机应用系统的软件主要包括两大部分:用于管理单片机微机系统工作的监控程序和用于执行实际具体任务的功能程序。对于前者,应尽可能利用现成微机系统的监控程序。为了适应各种应用的需要,现在的单片机开发系统的监控软件功能相当强,并附有丰富的实用子程序,可供用户直接调用,例如键盘管理程序、显示程序等。因此,在设计系统硬件逻辑和确定应用系统的操作方式时,就应充分考虑这一点。这样可大大减少软件设计的工作量,提高编程效率。后者要根据应用系统的功能要求来编写程序。例如,外部数据采集、控制算法的实现,外设驱动、故障处理及报警程序等。

(2)建立数学模型 在软件设计中还应对控制对象的物理过程和计算任务进行全面分析,并从中抽象出数学表达式,即数学模型。建立的数学模型要能真实描述客观控制过程。要精确而简单。因为数学模型只有精确才会有实用意义,只有简单才便于设计和维护。

(3)软件程序流程图设计 不论采用何种程序设计方法,设计者都要根据系统的任务和控制对象的数学模型画出程序的总体框图,以描述程序的总体结构。

(4)编制程序 完成软件流程图设计后,依据流程图即可编写程序。只要编程者既热悉所选单片机的内部结构、功能和指令系统,又能掌握一定的程序设计方法和技巧,那么依照程序流程图即可编写出具体程序。

(5)软件检查 源程序编制好后要进行静态检查,这样会加快整个程序的调试进程,静态检查采用自上而下的方法进行,如发现错误及时加以修改。

4.系统调试

单片机应用系统的总体调试是系统开发的重要环节。当完成了单片机应用系统的硬件、软件设计和硬件组装后,便可进入单片机应用系统调试阶段。系统调试的目的是要查出用户系统中硬件设计与软件设计中存在的错误及可能出现的不协调问题,以便修改设计,最终使用户系统能正确可靠地工作。

系统调试包括硬件调试、软件调试和软、硬件联调。根据调试环境不同,系统调试又分为模拟调试与现场调试。各种调试所起的作用是不同的,它们所处的时间段也不一样,不过它们的目的都是为了查出用户系统中存在的错误或缺陷。在调试过程中要不断调整、修改系统的硬件和软件,直到正确为止。联机调试运行正常后,将软件固化到EPROM中,脱机运行,并到生产现场投入实际工作,检验其可靠性和抗干扰能力,直到完全满足要求,系统才算研制成功。

(1)单片机应用系统调试工具 在单片机应用系统的调试过程中,常用的调试工具有以下几种。

①单片机开发系统。

万用表

③逻辑笔。

④逻辑脉冲发生器与模拟信号发生器。

示波器

⑥逻辑分析仪。

(2)单片机应用系统的一般调试方法 单片机应用系统的一般调试方法有:

①硬件调试:a)静态调试,b)动态调试。

②软件调试:a)先独立后联机,b)先分块后组合,c)先单步后连续。

③系统联调:a)软、硬件能否按预定要求配合工作,b)系统运行中是否有潜在的设计时难以预料的错误,c)系统的动态性能指标(包括精度、速度参数)是否满足设计要求。

④现场调试:一般情况下,通过系统联调后用户系统就可以按照设计目标正常工作了。

总之,现场调试对用户系统的调试来说是最后必需的一个过程,只有经过现场调试的用户系统才能保证其可靠地工作。现场调试仍需利用开发系统来完成,其调试方法与前述类似。

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

我要反馈