第七章 单片机应用系统设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第七章单片机应用系统设计7.1单片机应用系统设计概述一、系统设计内容单片机应用系统的设计内容包括硬件设计和软件设计两部分。1、MCU系统部分设计包括基本系统设计与系统扩展设计。基本系统设计要求在单片机的基础上,配以必要的外部器件,构成最小运行系统。该基本系统应具有较强的外部扩展、通信能力、能方便的扩展应用系统所要求的规模。系统扩展设计是通过系统扩展构成一个完善的单片机系统,它是MCU应用系统的核心部分。单片机最小系统:指在尽可能少的外部条件下,形成一个可以独立工作的单片机系统,它是使系统运行的最小配置系统。2、通道与接口设计包含前向通道设计、后向通道设计、人机通道和相互通道等方向的内容。3、系统抗干扰设计抗干扰设计应贯穿整个系统设计全过程:从总体方案、器件选择到电路设计;从硬件系统设计到软件程序设计;从印刷电路板到系统布线等。4、应用软件设计根据单片机指令系统和应用系统功能要求进行。系统软件的好坏对应用系统硬件功能的发挥影响很大。应用程序编写方法(1)了解待设计的应用程序的硬件环境A)应用系统硬件环境与应用程序编制有关的硬件环境有以下方面(a)地址选择在MCU之外扩展的存储器、扩展I/O口、外围芯片及外围设备都是通过地址总线统一编址,MCU通过对某一地址的读写操作来完成对相应外设的控制。在编写程序时应了解各外设的地址分配情况。(b)控制信号配置与时序模拟程序存储器、数据存储器扩展时有规定好的控制信号,在指令执行时能自动生成所需要的控制信号。对于一些时序要求与微处理器不匹配的芯片的使用,要利用MCU的控制信号或I/O口来模拟这些芯片的控制时序要求,必须安排适当的指令来实现。(c)外围设备及设备的状态控制MCU应用系统的所有外围芯片及外部设备都有保证正常运行的初始化设定、时序控制、命令字输入、状态查询等要求,应用程序设计必须满足这些要求。(B)MCU与程序设计有关的主要应用特征(a)存储空间特性包括程序存储空间、数据存储空间及I/O地址空间的大小与分配情况。(b)程序存储器、数据存储器及I/O的寻址方式。(c)程序状态寄存器(PSW)PSW提供了指令执行的结果标志,利用对PSW的查询可以控制程序的运行。(d)特殊功能寄存器(SFR)对MCU芯片内部集成的各种功能部件的使用就是通过对SFR的读写操作来完成的,因此,要熟悉SFR的功能特点及设置方法。(e)中断控制及入口地址充分利用MCU系统的中断功能有利于提高处理运行效率,也为解决机器运行时所出现的某些随机事件及编程方便提供了可能。(f)复位状态软件系统应根据要求做必要的进一步初始化工作。(2)根据系统要求分析要解决的问题分析问题就是全面理解待设计的问题,要把解决问题所需要条件、原始数据、输入输出信息、运行速度要求、运算精度要求和结果形式等搞清楚。(3)建立数学模型建立数学模型就是把问题数学化、公式化。有些问题比较直观,可不去讨论数学模型问题;有些问题符合某些公式或数学模型,可以直接利用;若没有对应的数学模型,应建立近似的数学模型。(4)确定算法确定数学模型后,许多情况下还不能直接进行程序设计,需要确定符合计算机运算规律的算法。推敲算法就是力求把复杂的处理过程归纳成合适计算机处理的、尽可能简单的、重复的判断和处理。(5)绘制程序流程图一般先设计系统流程图,确定系统的总体结构和操作控制过程。系统流程图中的每个部分其实就是一个功能模块,这样就很自然地把整个设计任务划分为各个功能模块的要求,接着就可以逐个设计功能模块的流程图。(6)编写程序按语法规定书写所要解决问题的过程。编制程序应按指令系统语法规则进行,同时还要注意程序的结构,使之成为模块化、通用子程序结构,程序的结构要层次简单、清楚、易读、易于维护。单片机应用系统的一般开发过程7.2单片机应用系统的开发过程1、以单片机测量控制系统为例分析系统组成硬件组成包括主机、外部设备、模拟量输入和输出通道、开关量输入和输出通道、传感器和变送器、变换器、功率放大和执行机构、接口电路和电源。2、单片机应用系统的数据采集通道与接口单片机应用系统的数据采集通道是被测对象的信号与系统联系的输入通道,即原始参数的输入通道,亦称为应用系统的前向通道。它的主要任务是完成信号拾取、信号调理、信号变换以及电源配置与干扰防治。根据传感器输出信号的类型和信号的大小,应当采用不同结构的数据采集通道,各种结构的通道如图(1)信号的拾取信号的拾取主要是通过传感器或测量仪表(又称二次仪表)来实现。传感器是由敏感元件、传感机构以及检测电路等组成的器件,其输出多为模拟量。(2)信号调理其任务是将传感器输出的电信号转换成能满足A/D或单片机输入要求的标准电平信号。具体内容包括模拟小信号的放大和滤波、零点校正、误差修正、非线性校正、温度补偿以及对频率量的放大整形等。其中一些调理任务如零点校正、误差修正、非线性校正、温度补偿等可以由单片机的软件去完成。(3)信号变换其任务是将传感器输出并经过调理的模拟信号经过取样保持(S/H)和A/D转换之后使之成为单片机或应用系统总线能够接受的数字量。A/D转换器的选择应考虑其主要性能指标、转换精度、转换速度、总线兼容性及成本等。(4)电源配置与干扰防治对数据采集通道中传感器、调理电路中放大器、A/D转换器基准电源的供电要考虑它们各自的特殊要求。电源隔离:可以将系统标准的5V电源用DC/DC变换器变换成为相互隔离的不同电压值的多路直流电源,分别对它们进行供电。模拟通道隔离:可将调理电路中的放大器改用隔离放大器捎通道的模拟量和数字量间的地线用光电耦合器隔离开来。3、单片机应用系统后向通道的设计在测控系统中,单片机总要对控制对象实施控制操作。因此在这样的系统,总要有后向通道。后向通道是计算机实施控制运算处理后,对控制对象的输出通道接口。单片机在完成控制处理后,总是以数字信号形式通过I/O口或数据总线传送给控制对象。这些数字信号形态主要有开关量、二进制数字量和频率量,可直接用于开关量、数字量系统及频率调制系统,但对于一些模拟量控制系统,则通过D/A转换成模拟量控制信号。根据单片机的输出信号形式和控制对象特点,后向通道的结构如图。后向通道要解决的问题(1)功率驱动在单片机应用系统中,大量使用的是开关量的驱动、控制,而这些开关量是通过单片机的I/O口或扩展I/O口输出的,这些I/O口的驱动能力是有限的,常常不足以驱动一些功率开关,如步进电机、继电器、电磁开关等。因此,需要一些大功率的开关接口电路。常用的功率驱动器件有线驱动器(如74LS245等)、功率晶体管、功率场效应管、达林顿晶体管、闸流晶体管、机械继电器和固态继电器等。(2)信号变换输出控制对象中,有些是需要用模拟信号实现连续控制的,比如直流伺服装置。在这种情况下,单片机输出的数字量或频率量信号需经过D/A转换或PWM变换等信号变换,以产生连续输出的模拟控制信号。(3)干扰防治当单片机开关量所控制的对象为强电装置,如继电器、步进电机时,触点的通断、绕组的通电和断电,所切换的电流通常在安培数量级。在动作过程中,强电系统会通过公共地线对单片机弱电系统产生严重的干扰,以致使单片机系统不能正常工作。在弱电系统与强电系统连接后,由于某一瞬间有大电流通过地间电阻R,这时在R上产生的脉动压降。由于脉动电压降会迭加到系统的各个部件上,而造成脉动干扰。解决的方法:采用光电耦合器,使单片机弱电部分的地和强电回路的地线隔开,将干扰窜入的通路切断。对于空间干扰,主要通过屏蔽解决。4、硬件电路的调试(1)脱机检查根据硬件逻辑电路图,用万用表等工具检查连线的正确性与可靠性。脱机检查按以下步骤进行:a)检查电源系统的极性、短路等问题,排除系统的电源故障的可能性。b)仔细检查硬件电路的地址总线、数据总线和控制总线是否短路、开路或错位情况。c)在不插入集成电路芯片的情况下加电检查,确定一些点的工作电位是否正常。d)断点后把集成电路芯片正确地插入各插座,然后加电,迅速检查各芯片是否有温度异常现象(2)单元功能电路调试在进行单元功能调试时应逐级进行,与调试无关的电路可暂不接入,以保证调试顺利有序地进行。一般进行以下方面的测试a)晶体振荡电路和复位电路检查晶体振荡电路是否有振荡信号输出,若无则可能是晶体故障。检查复位电路在按钮按下或系统复位加电时系统是否复位,若无则可能复位电路有故障或复位电路的电阻、电容参数不当。b)扩展程序存储器用读出扩展程序存储器中的内容是否正确来测试系统的程序存储器。若不正确,应考虑下面因素:程序存储器芯片损坏;程序机器码未烧入程序存储器;或是数据线、地址线、片选线或/RD控制线有错位、开路、短路或连接不正确。c)扩展数据存储器将一批数据写入扩展数据存储器中,然后再读出其内容。若对数据存储器任意区域的读出与写入内容一致,则表示无故障。若有故障,原因与程序存储器类似,区别仅在于数据存储器有/wr的连接。d)I/O接口和I/O设备对输入口,可用读命令检查读入结果是否和所连接设备状态相同;对输出口,可用写数据控制寄存器,观察输出口与所连接设备的状态;对可编程接口,先将控制字写入接口控制寄存器,再用读/写命令来检查对应状态。(3)整机联调在做好各功能模块之间接口电路调试后,再把全部电路连通,就可以实现整机联调。整机联调只需观察动态结果,就是把各种测量仪器及系统本身显示部分提供的信息与设计指标逐一对比,找出问题,然后进一步修改电路的参数,直到符合要求为止。7.3MCS-51单片机与CPLD接口逻辑设计•单片机与CPLD/FPGA的接口方式一般有两种,即总线方式与独立方式一、总线方式单片机以总线方式与CPLD/FPGA进行数据与控制信息通信有许多优点。(1)速度快。如图所示,其通信工作时序是纯硬件行为,对于MCS-51单片机,只需一条单字节指令就能完成所需的读/写时序,如:MOV@DPTR,A;MOVA,@DPTR(2)节省CPLD芯片的I/O口线。如图所示,如果将图中的译码器DECODER设置足够的译码输出,并安排足够的锁存器,就能仅通过19根口线在FPGA与单片机之间进行各种类型的数据与控制信息交换。(3)相对于非总线方式,单片机编程简捷,控制可靠。(4)在CPLD/FPGA中通过逻辑切换,单片机易于与SRAM或ROM接口。这种方式有许多实用之处,如利用类似于微处理器系统的DMA的工作方式,首先由CPLD/FPGA与接口的高速A/D等器件进行高速数据采样,并将数据暂存于SRAM中,采样结束后,通过切换,使单片机与SRAM以总线方式进行数据通信,以便发挥单片机强大的数据处理能力。二、独立方式与总线接口方式不同,几乎所有单片机都能以独立接口方式与CPLD/FPGA进行通信,其通信的时序方式可由所设计的软件自由决定,形式灵活多样。其最大的优点是CPLD/FPGA中的接口逻辑无需遵循单片机内固定总线方式的读/写时序。CPLD/FPGA的逻辑设计与接口的单片机程序设计可以分先后相对独立地完成。事实上,目前许多流行的单片机已无总线工作方式,如89C2051、97C2051、Z84系列、PICI6C5X系列等。三、介绍总线接口逻辑设计,其外部接口如图所示。libraryieee;useieee.std_logic_1164.all;entityMCS51isport(p0:inoutstd_logic_vector(7downto0);p2:instd_logic_vector(7downto0);rd,wr:instd_logic;ale:instd_logic;ready:instd_logic;datain1:instd_logic_veCtor(7downto0);latch1:instd_logic;datout1:outstd_logic_vector(7downto0);datout2:outstd_logic_vector(7downto0));endentity;architecturebehavofMCS51issignallatch_addres:std_logic_vector(7downto0);si

1 / 68
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功