《单片机原理与应用技术》课件第9章_第1页
《单片机原理与应用技术》课件第9章_第2页
《单片机原理与应用技术》课件第9章_第3页
《单片机原理与应用技术》课件第9章_第4页
《单片机原理与应用技术》课件第9章_第5页
已阅读5页,还剩99页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第九章单片机应用系统设计9.1单片机应用系统的设计过程与方法

9.2单片机应用系统设计实例

9.1单片机应用系统的设计过程与方法

9.1.1单片机应用系统设计的基本要求

(1)较高的可靠性。在单片机应用系统的设计过程中,除了要满足一定的使用功能外,还应具有较高的可靠性。一般情况下,单片机应用系统都是自动完成外部控制系统信号的采集和控制输出的。一旦系统的可靠性出现问题,必将造成整个控制系统的混乱和失控,从而产生严重的后果。因此,可靠性设计应贯穿在单片机应用系统设计的整个过程。

(2)便于操作维护。在单片机应用系统的设计时,应考虑系统的操作和维护,尽量降低对操作人员的计算机专业知识的要求,以便于系统的推广使用。系统的控制开关不能太多,不能太复杂,操作顺序应简单明了,参数的输入和输出应采用十进制,功能符号要简明直观,结构要规范化、模块化。

(3)较高的性能价格比。为了提高产品的市场竞争力,必须提高系统的功能指标,降低产品的设计和生产成本,采用硬件软化技术提高系统的性能价格比。9.1.2单片机应用系统设计的一般方法

1.确定任务

单片机应用系统的开发必须以市场需求为前提,在系统设计前,首先要进行广泛的市场调查,了解系统的市场应用概况,分析系统当前存在的问题,研究系统的市场前景,确定系统开发设计的目的和目标。在此基础上,再对系统的具体实现进行规划,包括应该采集的信号的种类、数量、范围,输出信号的匹配和转换,控制算法的选择,技术指标的确定等。

2.总体设计

确定了研制任务后,根据应用系统提出的各项技术性能指标,拟定出性价比最高的一套方案,然后就可以进行系统的总体方案设计。总体方案设计中一个重要问题是单片机的选型,在单片机选型中,主要考虑以下几个方面的问题。

(1)性能特点适合所要完成的任务,避免过多的功能闲置;

(2)性能价格比高,以提高整个系统的性能价格比;

(3)结构原理熟悉,以缩短开发周期;

(4)采购方便且稳定,有利于批量生产和系统的维护。

3.可行性分析

当单片机应用系统总体设计方案确定后,可行性分析是十分必要的。主要的方法就是到市场上进行调研,比较国内外同类产品与要开发单片机应用系统的优缺点,只有比市场上的同类产品有竞争力的单片机应用系统才有开发的价值与必要。另外,还要同时分析该单片机应用系统的实现手段是否可行。只有确定了产品的可行性后,方能进入下一个设计环节。

4.硬件设计

硬件设计就是单片机应用系统的电路设计,主要根据总体设计方案的要求,选择好适合的单片机的型号后再确定系统中所要使用的元器件的型号和参数,最终画出产品的电原理图。根据电路图进行必要的电路实验后完成工艺结构设计、电路板制作和样机的组装。

单片机系统主要硬件设计包括以下几方面。

(1)单片机电路设计:主要完成时钟电路、复位电路、供电电路、I/O接口电路的设计。

(2)扩展电路设计:主要完成程序存储器、数据存储器、I/O接口电路的设计。

(3)输入/输出通道设计:主要完成传感器电路、放大电路、多路开关、A/D转换电路、D/A转换电路、开关量接口电路、驱动电路的设计。

(4)控制面板设计:主要完成按键、开关、显示器、报警电路等相关电路的设计。

5.软件设计

1)软件设计方法

在单片机应用系统的开发和设计过程中,软件设计是至关重要的,也是难度较大的部分。单片机应用系统的软件设计主要包括两大部分:用于管理单片机应用系统工作的监控程序和用于执行具体任务的功能程序。为了适应各种系统应用的需要,许多单片机开发系统的监控软件功能相当强,并附有丰富的实用子程序,可供用户直接调用,例如键盘管理程序、显示程序等。对于管理单片机应用系统工作的监控程序来说,应尽可能地利用现成的运行可靠的微机系统的监控程序。因此,在设计系统硬件逻辑和确定应用系统的操作方式时,就应充分考虑这一点。这样会大大减少软件设计的工作量,也提高了软件编程效率。对于执行具体任务的功能程序来说,要根据单片机应用系统中的具体执行任务的功能要求来编写程序,例如外部数据采集、控制算法的实现、外设驱动、故障处理及报警程序等等。为了提高软件开发效率以及缩短开发周期,并使得软件设计规范化和提高软件复用性,在进行软件开发时尽可能采用模块化结构,即按照层次化思想对软件从上到下逐层细化,划分为功能独立、结构合理、大小适当的功能模块。在进行功能模块设计时,要达到功能单一、接口明确、模块间通信简单的目标。最后再把各模块程序连接好进行整体调试。

2)软件抗干扰方法

单片机应用系统在运行的过程中,经常会受到外界环境的干扰,造成程序在运行过程中突然跑飞失控或陷入死循环。尽管在硬件设计过程中采取了一定的抗干扰措施,但仍不能完全消除这些干扰,必须同时从软件方面也同样采取适当措施,才能取得良好的抗干扰效果。软件方面的抗干扰措施通常有以下几种。

(1)采用数字滤波方法解决数据采集误差问题,常用方法有算术平均法、比较取舍法、中值法、一阶递推数字滤波法等。

(2)防止程序“跑飞”失控或进入死循环。系统受到干扰导致PC值改变后,PC值不是指向指令的首字节地址,而可能指向指令中的中间字节单元即操作数,将操作数作为指令码执行;或使PC值超出程序区,将非程序区的随机数作为指令码运行,从而使程序失控“跑飞”,或由于偶然巧合进入死循环。这里所说的死循环并非程序编制中出现的死循环错误,而是指正常运行时程序正确,只是因干扰而产生的死循环,解决的方法有设置软件陷阱、设置“看门狗”等。9.1.3单片机应用系统的调试

1.硬件调试

1)常见硬件故障

常见的硬件故障如下。

(1)工艺性错误。

(2)元器件失效。

(3)可靠性差。

(4)电源故障。

2)硬件调试方法

硬件调试方法包括脱机单板调试和整机调试。

(1)脱机单板调试。在完成印制板的单板装配之后,利用稳压源、万用表等简单工具检查电路的正确性,进行简单的单板调试。首先采用目测方法根据电原理图和装配图仔细检查样机线路的正确性,并核对元器件型号、规格、参数是否与装配图一致,检查印制板装配是否符合要求,集成电路是否插装正确。

(2)整机调试。在排除了短路、开路、错误布线及电位不正常等明显错误后,焊接好芯片,上电开通运行该系统,通过运行系统的功能执行对存储器、I/O接口的指令,利用示波器等设备观察波形,发现和排除错误。

2.软件调试

软件调试分为脱机调试和联机调试。分别对各单元模块进行重要的模块程序调试,检查入口条件和出口条件,排除各模块错误,保证各模块正确无误,然后把各模块组装成完整程序。

利用仿真器进行整机组合调试,可采用单步运行来检查程序编写的正确性,但对于定时器、中断和通信方面的问题不能在这里完成调试功能,只能在单步运行无误后,再采用连续全速运行方法进行运行调试,观察程序运行的稳定性、系统与实际需要的符合程度及用户操作的方便性。如不符合系统功能的要求,再进行适当调整。在软件调试的过程中,要不断调整、修改单片机应用系统的硬件电路和软件设计,直到软硬件正确为止。一旦联机调试运行正常,将软件固化到EPROM中,脱机运行,并到生产现场投入批量生产,联机运行来检验系统的可靠性和抗干扰能力,直到完全满足要求,系统才算设计成功,才能将产品投入市场使用。

单片机应用系统设计方法及一般步骤如图9-1所示。图9-1单片机应用系统开发一般步骤9.1.4提高单片机应用系统可靠性的常用方法

1.电源干扰及其抑制

1)交流电源干扰及其抑制

单片机应用系统中大都使用220 V、50 Hz的交流电源供电。在工业现场中,生产负荷的经常变化,大型用电设备的启动、停止,往往都能造成电源电压的波动,有时还会产生尖峰脉冲。这种高能尖峰脉冲的幅度在50~4000 V之间,持续时间为几个毫微秒。它对计算机应用系统的影响最大,能使单片机应用系统的程序“跑飞”或使系统造成“死机”。因此,一方面要使系统尽量远离这些干扰源,另一方面要采用干扰抑制器(简称滤波器)。这种干扰抑制器是按照频谱均衡原理设计的一种无源四端网络,连接如图9-2所示。图9-2干扰抑制器的连接

2)直流电源抗干扰措施

(1)采用集成稳压块单独供电。单片机应用系统中往往需要几种不同电压等级的直流电源。这时,可以采用相应的集成稳压块,如7805、7905、7812、7912、7824等。由于每个稳压块单独对电压过载进行保护,因此不会因某个模块出现故障而使整个单片机应用系统遭到破坏,而且也减少了公共阻抗的互相耦合,从而使单片机应用系统中供电系统的可靠性大大提高。

(2)采用直流开关电源。直流开关电源是一种脉宽调制型电源,具有体积小、重量轻、效率高、电网电压范围宽、变化时不易输出过电压和欠电压的优点,在单片机应用系统中应用非常广泛。这种电源一般都有几个独立的电压输出,如 ±5 V、±12 V、±24 V等,电网电压波动范围可达 -220 V的 +10%至 -20%。直流开关电源具有较好的初次边隔离作用。

(3)采用DC-DC变换器。如果单片机应用系统的供电电网波动较大或者精度要求高,可以采用DC-DC变换器。DC-DC变换器的特点是输出电压范围大、输出电压稳定且可调整、效率高、体积小、有多种封装形式。近年来在单片机应用系统中获得了广泛的应用。

(4)采用EMI吸收磁珠/磁环。EMI吸收磁珠/磁环是当今世界上最先进的专用于抑制信号线、电源线上的噪声和尖峰干扰的器件,它同时具有吸收静电脉冲的能力,可使电子设备达到电磁兼容和静电放电的相应国际要求。EMI吸收磁珠/磁环的吸收干扰能力是用其阻抗特性来表征的。它的阻抗特性在低频段呈现非常低的感性阻抗值,不影响数据线或信号线上有用信号的传输。在高频段约在10 MHz左右,开始阻抗最大,将高频段EMI干扰能量以热能形式耗散吸收。通常用两个关键点频率25 MHz和100 MHz处电阻值来标定EMI吸收磁珠/磁环的吸收特性。EMI吸收磁珠/磁环的有效电阻值相对源和负载阻抗越大,吸收干扰作用越大。EMI吸收磁珠/磁环安装位置原则上应靠近有干扰辐射单元一端,但是具体最佳位置应以实验效果而定。

2.电线干扰及其抑制

在单片机应用系统中,接地是一个非常重要的问题。接地问题处理的正确与否将直接影响系统的正常工作。

1)一点接地和多点接地的应用

在低频电路中,布线和元件间的寄生电感影响不大,因而常采用一点接地,以减少地线造成的地环路。在高频电路中,布线和元件间的寄生电感及分布电容将造成各接地线间的耦合,影响比较突出,此时应采用多点接地。

通常,频率小于1 MHz时,采用一点接地;频率高于10 MHz时,采用多点接地;频率处于1~10 MHz时,若采用一点接地,其地线长度不应超过波长的二十分之一;否则,应采用多点接地。

2)数字地与模拟地的连接原则

数字地是指TTL或CMOS芯片、I/O接口电路芯片、CPU芯片等数字逻辑电路的地端,以及A/D、D/A转换器的数字地。模拟地是指放大器、采用保持器和A/D、D/A中模拟信号的接地端。在单片机应用系统中,数字地和模拟地应分别接地。即使是一个芯片上有两种地也要分开接地,然后在一点处把两种地分别连接起来,否则,数字回路通过模拟电路的地线再返回到数字电源,将会对模拟信号产生影响。

3)印刷电路板的地线分布原则

(1) TTL、CMOS器件的地线要呈辐射网状,避免环形;

(2)板上地线要依通过的电流大小决定其宽度,最好不小于3 mm,在可能的情况下,地线尽量加宽;

(3)旁路电容的地线不要太长;

(4)功率地通过电流信号较大,地线应较宽,必须与小信号地分开。

4)屏蔽双绞线的接地

当采用屏蔽双绞线传送信号时,应将屏蔽体与工作地连在一起,并应注意只能在一个点接地,否则屏蔽体两端就会形成回路,在屏蔽体上产生较大的噪声。

5)接地系统

在一个完整的单片机应用系统中,存在着三种类型的地:

(1)低电平电路地线,如数字地、模拟地等;

(2)电机、继电器、电磁开关等强电设备的地(亦可称为噪声地);

(3)机壳、控制柜(亦可称为金属件地)。

若设备使用交流电源,则电源地应与金属件地相连。在单片机应用系统连接时,应把这三种地线一点接地。

9.2单片机应用系统设计实例

9.2.1交通信号灯控制系统的设计

1.硬件设计

为了实现上述功能,该系统的核心元件采用单片机AT89C52。该单片机是低电压、高性能的CMOS8位微处理器,采用ATMEL高密度、非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。AT89C52将多功能8位CPU和Flash存储器组合在单个芯片中,是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的设计方案。交通信号灯控制系统采用控制交通信号灯和数码管的时间显示,并采用外部中断来控制紧急情况,系统的硬件电路不是很复杂,关键在于软件的设计。交通信号灯控制系统的硬件设计如图9-3所示。图9-3交通信号灯控制系统

2.软件设计

交通信号灯控制系统设计采用的程序编写语言为汇编语言。编写程序的原则是:

(1)满足设计的要求;

(2)尽量采用最好、最有效的算法;

(3)编写时应尽量用最简洁的语言。

编写好源程序后,采用keil软件对其进行编译,使其生成单片机可以识别的.hex文件,再把此文件烧写入单片机89C52中即可。

程序如下:9.2.2基于CANBUS的火灾自动报警控制系统设计

1.系统的设计与实现

火灾自动报警控制系统一般采用集中控制,在分区灭火控制中往往需要接上百台火灾报警控制器,如果主控制器与分区灭火控制器的系统连接距离超过了串行口RS485通信所能承受的距离,就会发生通信中断、数据传送出错等问题。以往我们采用RS485通信是应用到通信距离不超过1000 m的火灾自动报警控制系统中,一旦超出这个上限就无法正常工作。RS485通信的特点是:

(1)主从结构网络上只能有一个主节点,其余均为从节点,无法构成多主结构或冗余结构的系统,因而对主节点的可靠性要求较高,否则一旦主节点出现故障,整个系统将处于瘫痪状态;

(2)由于RS485数据通信的方式为命令响应型,从节点无法主动发送数据,这样使得网络上的数据传输效率降低,使主节点控制器非常繁忙,同时下端出现异常时,数据不能立即上传,必须等待主节点的命令。

分析RS485串行口通信特点后,我们采用无主从区别、多主工作方式的CANBUS通信来实现火灾自动报警控制系统的通信接口功能(如图9-4所示),彻底解决了在消防产品中所采用的RS485串行通信长久以来一直困扰人们的从节点无法主动地与其他节点交换数据、通信距离短、节点数量少等问题。利用CANBUS技术可解决消防产品中的集中管理要求及长距离通信的可靠性。CANBUS总线通信方式为两线制,这样可以方便系统的配线,减少信号之间的电磁干扰。图9-4CANBUS总线构成的火灾自动报警系统

2.具有CANBUS接口的火灾自动报警控制系统的硬件设计

火灾自动报警控制系统中的CANBUS通信口硬件电路设计如图9-5所示。图9-5CAN总线节点电路原理图图9-5中的SJA1000就是CANBUS控制器,专门用来管理CANBUS通信。SJA1000是PHILIPS公司早期CAN控制器PCA82C200的替代品,功能比PCA82C200更强,主要体现在以下几个方面:

(1)完全兼容PCA82C200及其工作模式;

(2)具有扩展的接收缓冲器,64字节的FIFO结构;

(3)支持CAN2.0B;

(4)支持11位和29位识别码;

(5)位速率可达1 Mbit/s;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论