单片机系统设计_第1页
单片机系统设计_第2页
单片机系统设计_第3页
单片机系统设计_第4页
单片机系统设计_第5页
已阅读5页,还剩159页未读 继续免费阅读

下载本文档

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

文档简介

第11章

应用系统设计

技术与实例

设计自己的单片机系统

第11章应用系统设计技术与实例

♦11.1单片机应用系统开发流程)

,11.2抗干扰设计|

*11.3应用举例|

概述

本章从单片机应用开发的一般步骤入手,着重介绍

总体设计、硬件设计、软件设计、开发装置的使用

与系统调试、编程器的使用与程序固化、产品验收

信鑫曹躺副支鎏萧方需蒙胃酸靠菖鬻磕

开发实例以便模仿。

。内容上贴近实际,注意对自上而下的任务逐级分解

过程的介绍,力图按工程的要求,使开发进程有条

不紊,有理有据,文档齐全。由于篇幅限制,许多

地方只能简略介绍。

11.1单片机应用系统开发流程

单片机应用系统设计的一般步骤可以分为以下几个

阶段:

♦1.总体设计;

2,硬件设计;

3.软件设计;

4.可靠性设计;

。5.保密性设计;

6.软硬件调试;

♦:*7.文档编制等。

11.1.1总体设计

1.用户需求分析

对用户提出的功能需求、技术指标等,进行必要的可行性论

证。明确设计任务,并以书面形式确定以下几方面的内容,

经用户认可,形成设计任务书。

(1)产品名称;

(2)设计目的;

(3,系统功能要求

(4)系统性能指标

(5,总体要求;

(6)设计周期;

(7)设计费用;

(8)其他。

2.构建系统总体架构1

根据设计任务书的要求,在满足功能、性能等用户

需求的基础上,初步提出可选技术路线,并对各方

案进行必要的分析,充分听取方方面面的意见,选

择一种实施方案。

。实施方案中的系统总体架构应以用户需求为出发点。

主要包括:选择机型;根据需要确定扩展;确定主

要的软硬件功能;明确用户界面(键盘、显示、打印

等)的形式;确定系统的结构(或建议,经用户确认);

单片机内部资源分配及任务分解。

2.构建系统总体架构2

。在总体设计阶段应形成总体报告(实施方案)

和设计任务书。报告形成后,就可分成两组

进行同步设计了。第一组负责硬件,第二组

负责软件,两个组由项目负责人协调。有的

时候项目较小或者其它原因,只有一个人,就要

先设计硬件部分,然后交给线路板厂制版,在此

期间开始软件设计。

2.构建系统总体架构3

硬件设计除了主要完成PCB线路板设计外,还应考

虑可靠性和保密性,最终形成PCB图、元器件清单、

网络表、端口地址表等技术文档;软件设计主要完

成软件功能模块划分、出口/入口参数定义、最终

形成程序(子程序)框图、源程序清单等技术文档。

。软硬件调试必须由软硬件设计人员共同参与,形成

调试报告。最后向用户提交产品、产品说明书等。

焊接,

元件“

图11-2新的产品开发流程图

现在有了proteus软件,不等做出电路板就可以

提前进行功能测试,大大节省了时间和金钱成本,

其流程可以修改成如上。

11.1.2硬件设计和制作

。硬件设计是从总体报告和设计任务书出发,设计任

务依次为:硬件原理图绘制、PCB板图绘制、印制板

测试与焊接三大块。

硬件设计的任务是将在总体设计时明确的要求用具

体电路实现,其中包括:系统扩展、元件选择(必要

时还要进行局部电路的验证实验)、设计原理图、印

制板制作等。

硬件设计(包括硬件原理图和PCB图)目前基本上采用

计算机辅助设计(CAD,ComputerAidedDesign)o

常用的电子线路CAD软件有Protel、Oread等,现在

有了proteus,单片机系统的设计就更加方便了。

11.1.2硬件设计和制作

。硬件原理设计是系统设计开始后最重要的第一步。

硬件原理设计中存在的缺陷将对整个设计产生影响,

所以原理设计要特别细心周到。

。原理设计完成后,将产生硬件原理图、网络表、元

件清单等重要文档,这些文档是后续工作的基础。

在硬件原理图基础上,可以采用CAD自动布局、自

动布线来自动地完成印制板绘制。通过印制板和原

理图各自生成的网络表,可以验证所绘制的线路板

与原理图是否一致。网络表还用于检查生产出来的

印制板上线路的通断。

11.1.2硬件设计和制作

。此外,硬件原理图还是硬件调试(甚至软硬件

联调)时查错、纠错、分析故障点的必不可少

的图纸。正确的原理设计几乎是硬件设计成

功的标志。

。本节从技术角度出发,将其细分为在设计中

应重点考虑的六个方面的问题。

1硬件原理设计1

。硬件原理设计的任务是设计并绘制硬件原理图,主

要应从以下几个方面考虑。

。(1).最小应用系统设计

♦包括微处理器的选择、程序存储器的选择、晶振的

选择、总线是否驱动、复位电路的设计、内部资源

(如定时、计数、中断)的使用等。

。(2).I/O通道设计

。包括开关量I/O通道,接口电路、端口地址等问题,

模拟量I/O通道中A/D、D/A转换芯片的选择等。

(3).人机界面设计

。人机界面设计包括键盘、显示和打印电路及其接口

设计。

1硬件原理设计2

(4).其他系统扩展设计

。根据系统需要扩展外部RAM、ROM、定时/计数、

中断管理、串行口扩展等。

。(5),电源设计

。根据系统的供电要求和使用环境,确定供电方案。

比如手持式设备往往需要电池供电;有的设备需要

备用电源等。交流供电也要设计变换电路,可以选

择模拟稳压电源或开关稳压电源等。

(6).接插件定义

。确定线路板之间的数据通信形式,包括接插件的类

型,接插件管脚定义等。

2资源分配

。完成了原理设计之后,硬件资源就基本确定了,适

时地进行资源分配,对后续工作能起到很好的限定

作用。止匕外,在资源分配时能及时发现资源的利用

情况,一方面减少资源浪费,另一方面发现资源不

足,及时修正原理设计中的潜在问题。

♦资源分配的主要任务是对单片机内部RAM、2(或

个定时/计数器、5(或6)个中断源、1个全双工异爰

串行口、4个并行I/O口哮单片机内部资源及扩展资

源逐个分析其用途、工作方式、工作起止时间和限

定条件,分配端口地址等。

3线路板图绘制

。原理图最终还要通过CAD软件绘制出线路板

图才能交付生产,这个工作要在仿真实验完

成之后进行,否则可能会白白浪费时间和金

钱。在绘制线路板时一定要注意以下几个问

题。

(1).器件的布局原则

。器件布局是指在线路板上布置元器件的位置。在电

路板设计时应合理地分区,如强、弱信号,数字、

模拟信号,输入、输出通道等安排在不同区域,尽

可能使干扰源(如电机、继电器)与敏感元件(如单片

机)远离,应考虑走线的密度均衡、发热均衡等因素。

除了按用户要求的键盘、显示等器件的位置已确定

外,其他器件最好是环绕CPU或在CPU引出的总线

两侧。

(2).布线原则1

①布线时应注意大电流线路的线径应确保可以通过

该电流,并有一定余量,在可能的情况下尽量加大

线径。

②走线要合理,地线构成闭环多数情况下能明显地

提高抗干扰能力。

③三总线分开,减少互感振荡。.一■

。④模拟地与数字地分开走线,最后在一点处汇合(一

点接地)。

(2).布线原则2

♦:♦⑤单片机和大功率器件的地线要单独接地,

以减少相互干扰。大功率器件尽可能放在电

路板边缘。

。⑥有条件应尽量采用四层以上印制板,中间

两层为电源及地。

(2).布线原则3

。⑦当大电流线宽到一定程度时,由于占用线路板资

源太多,一般采用粗导线“跨接”的方法,这样不

仅节省了线路板资源,而且避免了由于大电流导致

线路板被“加热”。

。⑧走线应避免出现直角或锐角,以减少高频噪声发

射。

。⑨注意晶振布线,晶振与单片机引脚尽量靠近,用

地线把时钟区隔离起来,晶振外壳接地并固定。

(3).电路可靠性措施

。①减少多余的过孔,减少线路板不可靠因素。

。②在允许的范围内尽量加大线和线、线和盘(焊盘)、

孔(过孔)和盘的距离。

◎防止叁路板制作时的毛刺及阻焊材料不良造成的

谙接问施或隐患。

。④尽量采用独立系统结构,减少接插件与连线,提

高可靠性,减少故障率。

⑤集成块最好直接焊在印制板上,防止器件接触不

良故障。必须用插座的集成块与插座接触要可靠,

如采用双簧插座。

。⑥对于单片机闲置的口,不要悬空,根据要求上

拉至高电平或下拉至I低/O电平,有囱可以直接接地或

接电源,其他I/O的闲置端在不改变系统逻辑的情况

下也要如此处理。

4.可靠性设计

单片机应用系统的可靠性是指在指定的应用环境和

条件下,系统稳定工作的能力。

单片机应用系统由于具有很高的性能价格比,已逐

步深入到各个领域,对单片机系统工作的可靠性也

就提出了越来越高的要求。因为系统一旦出现问题,

将带来一系列损失,产生严重的后果。

提高系统的可靠性可以从两方面入手,一方面从硬

件设计角度提高系统抗干扰能力,另一方面从软件

角度提高系统的可靠性。具体措施在下一节详述。

5保密性设计

:单片机应用产品多数采用双面板,线路板上走线一

目了然,很容易将线路板测绘出来。保密设计多采

用以下两种方法:

。(1).程序加密:将程序固化在单片机内部的方法。选

用内含程序存储器带“加密”位的单片机,这样做

的结果是使得解密变得麻烦,提高解密成本。

(2),可编程逻辑阵列加密:PAL、GAL等小规模可编

程逻辑阵列在单片机应用系统中很实用,可以直接

取代TTL组合逻辑,且多数PAL、GAL器件可以设

置加密(不可读),使“仿制”者不能轻易得手。

6硬件线路板的焊接与测试

。⑴.线路测试

♦:*PCB板生产出来后,首先要目测,观察线路

板有无断线、毛刺、焊盘/过孔偏心、线路

搭接等问题(一般的线路板生产厂在出厂前均

作过检查);其次根据打印出的网络表逐个检

查每个网络是否导通。

Q提示:由于一般情况下都不会有问题,很多

开发者都不愿做上述烦琐的工作。但是将元

件焊上后,一旦发现问题再查线路时,由于

在板元件的影响,检查难度很大。

6硬件线路板的焊接与测试

.:.(2),元件焊接

♦:♦对于产品开发,IC多采用焊IC座的方法,便于线路

修改。如果是批量生产的产品,除了易损坏的IC之

外,为了确保硬件线路的可靠性,应把IC直接焊在

线路板上。在元件焊接时,要注意避免漏焊、错焊

禾口及旱

。思善:。手工焊接水平的提高需要很好的训练。

.:♦(3).局部线路测试

*局部线路测试是通过编写测试程序,检查局部硬件

线路能否正常工作。如果不能正常工作需查找问题

笄解决。

11.1.3软件设计

♦:♦软件设计是对我们耐心和毅力的考验,许多

细节问题是比较繁琐的。首先要进行软件任

务划分,数据类型规划,资源使用约定,模

块功能定义以及模块接口定义等软件总体设

计工作。软件的开发过程可以套用软件工程

的要求。除此之外,还有一些单片机系统开

发的特殊性。

1软件设计的前期准备

♦(1).模块功能定义

主要是根据项目的功能要求来确定整个程序的功能,

并将这些功能分解成若干子功能,确定完成这些功

能的程序模块,还要确定各个模块之间的关系和数

据传递方式等,使其成为一人有机的整体。模块功

能定义包括:单片机的初始化模块、主控程序模块、

程序中使用的一些模块/子程序/中断月修子程序

母。规定其执行(触发)条件、入口/出口头数、子

程序完成的具体功能等。这些计划在具体编程的过

程中还有可能进行局部修改。

1软件设计的前期准备

*(2).规划数据类型并形成数据类型字典

♦规划数据类型是为了保证数据类型的一致性。数据类型可以

分为逻辑型和数值型,逻辑型数据通常归入软件标志,数值

类型可分为定点数和浮点数。使用定点数的优点是直观、编

程简单,缺点是数值范围小。浮点数则相反。还要进一步规

定数据是二进制还是BCD码或压缩BCD码。如果是定点数还

要指明是定点整数还是定点小数。参数的数据类型确定了以

后,需形成数据类型字典,供编程时查阅。制定规划还要留

有一定的余地,以便编程过程中根据需要来增减。

1软件设计的前期准备

*(3).内存资源分配的确认

♦:♦硬件设计中已经将单片机的资源基本分配完毕,软件设计中

的资源分配主要是将还未具体分配的各RAM单元进行合理分

配,尤其是片内RAM。例如,规定工作寄存器的使用。规定

需要使用哪些标志,占用从20H开始的几个字节用来存放这

些标志位。其余RAM单元可以存放字节信息(包括20H到2FH

单元未被用于标志的单元),这些单元的使用还要扣除堆栈

区。单片机内部其他RAM单元对多数开发应用来说是够用的。

51子系列内部RAM单元不够用可以用52子系列,应确保单

片机内部RAM均被用于存放最常用的变量。

1软件设计的前期准备

。RAM资源初步划定后,工作进程中可能发现

某些资源分配不尽合理,需要局部改动或增

减。RAM资源的管理最好通过伪指令定位的

方法,避免使用直接地址,这样,可以很方

便地进行修改。

♦:♦程序规模的估计,因为单片机的存储器数量

有限,再好的程序没有地方存放也是不行的。

2系统监控程序设计

.:.监控程序其实就是主程序,监控的任务简单地说主要

是调度:根据当前单片机内、外部的状态或发生的

“事件”,适时决策,执行相应的模块,完成指定

的作业。

。监控程序的结构一般有作业顺序调度、键盘驱动调

度等方法。前者适用于顺序控制类应用场合,后者

适用于键盘指令型开发场合。

监控程序的设计方法常见的有状态分析法、状态转

移法和事件驱动法等。

3中断与子程序设计

(1).中断

。在软件总体设计时,合理分配任务,确定哪

些任务在主程序中实现,哪些任务在中断服

务程序中实现,依据已定义的功能完成中断

服务程序的编写。在中断程序中设置一些处

理标志,主程序根据标志进行处理,防止中

断服务未结束之前,下一中断请求又到来,

同级中断得不到及时响应。

。中断服务程序设计时应注意以下三个问题。

3中断与子程序设计

1(1).中断

。①现场保护

。由于中断服务程序执行时刻的不确定性,如

果不保护现场就可能出现中断返回后其他程

序的执行受到“莫名其妙”的影响。设计时

可以先不考虑现场保护,待中断服务程序编

写完成后,列出所有目的操作数,将其中全

局变量扣除,其余均需保护和恢复。特殊的

工作寄存器要注意“换区”的操作,避免

R0〜R7的冲突。

3中断与子程序设计

(1).中断

。②及时返回,释放资源

中断服务子程序有时不可能“一步到位”,

以免长时间资源独占。中断的目的之一就是

提高响应的实时性。很多工作可以在主程序

中排队处理,中断服务程序只需要设置一个

任务标志,并将该任务列入主程序任务处理

队列,及时释放中断资源。这种方式可以理

解为事件驱动程序流程。

3中断与子程序设计

(1).中断

♦:♦③避免中断重入

。在MCS-51系统中,处理器完全依据IEO、TFO、旧、

TFI、RI和TI这些标志位是否为1,触发中断响应。

如果用户在中断返回前不清除中断标志,就会造成

中断重入,即一次中断请求造成多次、甚至是无休

止的中断服务,使中断服务子程序反复执行而导致

错误的结果,另一方面也使其他正常的程序执行

“举步维艰”(每执行一条指令后就要被中断一次)。

♦:.避免中断重入的具体方法可见第五章。

(2).子程序设计与子程序调用

子程序是在功能模块划分完成后,进一步细化分解

出来,完成某些功能的程序块。子程序不是在软件

总体设计时能够确定下来的。各个软件设计组采用

结构化程序设计方法时,可以形成各自软件框图,

将重叠部分以子程序的形式提取出来,共同约定其

入口、出口参数,这是一种方法。另一种方法是全

部程序编制完成后,在优化程序时,将所有可能合

并的程序段或子程序合并成一个子程序。

(2).子程序设计与子程序调用

由于子程序可能在不同的场合被不同的程序段调用,

所以子程序的编写要规范,程序结构合理、易读,

不能有漏洞(例如某些场合正常,而另一些场合却出

错),尽可能少地占用资源。尤其避免制造垃圾,中

间变量(用于暂存的寄存器)尽量使用工作寄存器,

避免占用直接地址单元。

提示:子程序采用何种方式传递参数很重要,需要认

真考虑确定。

4软件抗干扰措施

。与硬件的抗干扰措施一样,软件的抗干扰措

施也非常重要,主要包括:软件陷阱、数字

滤波等,软件陷阱在下一节说明。

5程序调试

。程序编写完成后,在软硬件调试之前,应首先进行

程序测试,确保程序正常运行。在软硬件联调时,

减少故障点的检出时间,提高联调效率。

。程序设计的全过程分为分析问题、画流程图、编辑

程序、程序测试四个步骤。前三步只占总工作量的

40%左右,60%以上工作量在调试上,所以一定要

有充分的思想准备。

。程序测试的方法与软件工程中所述方法是一致的,

可以采用白盒测试法、黑盒测试法。

5程序调试

单片机的程序调试工具,主要是使用软件仿真器。

在软件仿真器上调试通过之后,再进行与硬件联合

调试。

。程序调试的有力工具可以说就是PROTEUS。有很

多问题可以在PROTEUS仿真下得以发现和解决。

提示:由于程序调试的复杂性,在多数情况下,A

们往往满足于能用即可,满足于一时能正常运行,

对偶尔的不正常往往不深追细究,这样的产品经不

起时间和条件的考验,因而是不可取的。

11.1.4系统调试

。系统调试一般是指,在软件和硬件调试完成

之后,把二者组合在一起,对整个单片机系

统进行调试。

。这个过程就是我们的单片机系统设计制作的

最后一步。最终提供给用户的产品就是在系

统调试之后定型的。

1一般调试方法

♦:♦开发单片机产品,往往要使用仿真器,也有的称为

技客机或开卷系统。仿真器通过仿真线,连在用户

板的CPU插座上,可以通俗地理解为仿真器将其

CPU、程序存储器等资源全部“租借”给了用户系

统。用户可以在PC机上编写源程序,通过汇编或编

译程序将源程序翻译成机器码,通过PC机接口将机

番码佳真错质用户仍皿以指定程序运行到哪

里,并通过PC机的显示器观察单片机内部资源的变

化情况(外部情况通过用户板上的数码管、LED可以

观察到)。

1一般调试方法

。仿真器也可以不连用户板,仅进行软件运行

测试。通过设置断点运行、单步运行等方式,

可以“跟踪”程序的执行。仿真器将执行结

果通过串行口回送PC机,在显示器上,用户

可以很明了地看到程序运行的结果(甚至每一

步执行的结果),大大地方便了程序的查错、

纠错。图11・3是一种典型的仿真器与用户系

统连接示意图。

图11-3单片机开发系统与用户系统连接方法

单片机开发系统用户系统

仿

显示器8w

真o

0x

芯电缆插

340d

头u

____L_RS2321

—T-I接口

CPU

W

到PC机器

O插座

H

键盘d

B

单片机开发系统与用户系统连接方法

2系统联调

♦:♦虽然软硬件均已经独自完成了各自的测试,

系统联调问题相对少得多,但仍不能以为万

事大吉,调试的任务仍很艰巨。

。一般是在仿真器的控制下运行用户程序,测

试用户系统的各项功能。系统联调的常见方

法有如下两种。

2系统联调

❖(1).由顶向下的系统联调

。该方法是进行整个系统的全速仿真运行,未

出现问题,完成任务;出现问题时,分析问

题可能出现在哪里。分析问题主要侧重于软

硬件配合时可能引起的问题,如硬件中断等。

根据分析,提出解决方案,着手解决问题。

2系统联调

。(2).自底向上的系统联调

。该方法是分模块进行局部的仿真运行,排除

了局部故障点后,再进行系统全速仿真运行,

直到符合要求为止。

提示:系统调试是研制工作的最后关口,必须保

证所有功能都正确可靠.

11.1.5程序固化

。在仿真完成后,需要将程序固化在单片机片

外或片内。这时候就需要使用编程器了,它的

型号很多,档次差别也很大,具体用法请查阅编

程器附带的使用说明书.

1、程序固化在片外

。如果采用EPR0MQ7系列)芯片,一般需要使

用EPROM擦除器将原来的内容擦除掉,然后

用编程器对EPROM编程。一般EPROM芯片

的擦除次数在10次左右。

♦:♦现在有很多EEPROM芯片可以选用,使用方

便,可擦写次数大多在1000次以上。

2、程序固化在片内

。如果单片机是EPROM类型的,同样需要进行

前述的“擦除”。

《♦FLASH型器件擦除就简单得多了,可以直接

在编程器上“擦除”,这也是FLASH型器件

被广泛应用的原因之一。

2、程序固化在片内

由上可知27系列EPROM使用极不方便且无法加密,

寿命又短,所以应用越来越少,而片内具有Flash存

储器的单片机得到越来越广泛的使用,本书经常使

用的AT89c51就是这种。

。最近几年新推出的AT89s51还可以在系统编程,使

用非常简单的下载线就可以完成擦除、写入等工作。

。顺便提一下,最近几年还有的单片机带有JTAG接

口,不但可以在系统编程,还可以在系统调试。

11.1.6产品验收与交付使用

。固化好的程序在集成电路芯片里,将电路插

到用户板,通电运行,如果没有问题,就大

功告成;如果有问题,可能就是大问题,必须

要找到原因彻底解决,直到没有问题为止。

。到现场实际使用,没有问题,就可以交付用

户了。需要提起注意的一个问题是:有许多

行业的仪器设备是有标准的,包括行业标准、

国家标准、国际标准等。

11.1.6产品验收与交付使用

尽管并非所有的项目均要技术鉴定(取决于合同约定

等因素),但产品验收是必要的,验收表明了用户对

开发方产品的认可。如果说合同签订是任务的开始,

产品验收则标志着任务的结束。在产品验收时,应

依据合同规定,逐条落实,并最终向用户交付产品

及产品使用说明书等有关文档。

、忠告:产品开发初期的合同与交付使用时的验收报

告,是供需双方签订的非常重要的文件,对于解决

未来双方可能产生的纠纷能起到很好的帮助作用。

11.2抗干扰设计

单片机应用系统的可靠性是指在指定的应用环境和

条件下,系统稳定工作的能力。

单片机应用系统由于具有很高的性能价格比,已逐

步深入到各个领域,对单片机系统工作的可靠性也

就提出了越来越高的要求。因为系统一旦出现问题,

将带来一系列损失,产生严重的后果。

单片机应用系统的工作环境(如温度、湿度、电压扰

动、电磁干扰、机械振动等)往往是很恶劣的,在系

统开发中,应确保不受环境条件的影响。

形成干扰的基本要素有三个:

.干扰源:指产生干扰的元件、设备或信号,如雷

电、继电器、可控硅、电机、高频时钟等都可能成

为干扰源。

。2.传播路径:指干扰从干扰源传播到敏感器件的通

路或媒介。典型的干扰传播路径是通过空间的辐射、

导线的传导和过程通道。

♦:*3,敏感器件:指容易被干扰的对象,如A/D转换器、

D/A转换器、单片机、数字1C、弱信号放大器等。

11.2.1硬件抗干扰

。在硬件设计中,提高系统可靠性的主要措施

有:采用抗干扰措施,提高系统的环境适应

能力;把好元件质量关,元器件经筛选、老

化后使用;印制板设计应充分考虑可靠性等。

。抑制干扰主要还是要从现场的环境实际出发,

认真分析可能的干扰,一定要深入现场考察

与分析,避免闭门造车,具体情况还要具体分

析。

1.供电系统■稳压电源

。在供电系统设计中,一般的应用场合可以采

取同时使用工频变压器、全桥、三端稳压的

方法,电路如图11—4所示。三端稳压器件由

3个引脚组成,分别为:电源输入、稳压电源

输出和地。三端稳压器件通常要求输入电压

要比稳压输出电压高2〜3V以上,才能确保

输出电压稳定。

图11—4变压、整流、稳压电路

MC7805T

-220V+5V

T.T

1.供电系统■稳压电路

。一般在三端稳压器件输入、输出端都要使用一个

0.01/pF的高频瓷片电容和一个几百微法或几千

微法的电解电容,使用电解电容时,应注意选择的

电容的耐压值应有1倍以上的富余量。

。采用上述方法电路简单、实用,输出纹波小,但电

源效率比较低,对浪涌、过压、欠压等抑制效果比

较差。目前较广泛地采用开关电源或电源模块,如

AC-DC模块、DC-DC模块等方法。提醒一句,开关

电源的纹波系数比较大,特别精密的场合要注意。

♦当系统有多块线路板组成时,尽量采用每块线路板

独自稳压的方法。避免线路板电源间的相互干扰,

多板结构独自稳压原理如图11—5所示。

图11—5多板结构独自稳压原理

DC12V

1.供电系统■过压欠压保护

。供电系统过压、欠压的抑制方法可以采用稳

压器、电源调节器。对停电可以采用UPS(不

间断电源)或用静态RAM辅以可充电电池备份

重要运行参数,也有些系统采用E2PR0M保

存参数。

2.过程通道抗干扰■概述

。由于过程I/O通道是单片机与控制对象联系的

纽带,所以避免现场强信号对单片机系统弱

信号的干扰是成功开发单片机应用系统的关

键。

。从干扰的分类来说,无外乎串模和共模干扰

两种,解决过程I/O通道干扰可以从以下几个

方面着手。

2.过程通道抗干扰■方法

♦1.隔昌:

。目前很多的应用场合均采用光耦实现电气隔离。

2.屏蔽

。采用屏蔽的方法可以避免空间电磁干扰,注意屏蔽

县应接钿。

。3.“地”的正确处理।

单片机应用系统的“地线”有很多,应仔细区分,

恰当处理。

2.过程通道抗干扰■地线

♦(1)数字地:也称为逻辑地,为逻辑芯片如8031、8155等芯

片提供工作电源的零电位。

♦(2)模拟地:A/D、D/A转换模拟部分的地,如参考电压、模

拟输入等的零电位。

(3)功率地:大功率器件的零电位,如大继电器(电流较大时)、

接触器等的零电位。

♦(4)信号地:一般常指传感器的地。

(5)交流地:50Hz交流电源的地线(对于三相交流电源来说就

是中线)。

(6»并敝地:屏敝层的接地端。

2.过程通道抗干扰■接地

。正确的接地能有效地保证少受干扰。例如,

数字地和模拟地应分开走线,可以不共地,

共地时,应保证两地线仅在一点处汇合(一点

接地),不能形成环路。交流地和信号地不能

共用。机壳可接地但不能形成地线环路。特

别注意,不良的接地方法可能使系统仅能在

实验室试验运行,一到现场就无法工作。

2.过程通道抗干扰■信号传输

。在长距离信号传送时,采用双绞线方式传送,或者

转换成。〜20mA电流传输方式,还可以使用屏蔽导

线,也可以改变信号的传输方式以避开强干扰信号

源等等。具体情况比较复杂,要根据情况分别对待,

或者采用采用几种方法的综合措施,最终必须达到

使用要求。

提示:这一方面的进展很快,新技术、新方法、新

器件不断出现,我们要及时跟踪最新进展,采用先

进技术,使得我们的单片机系统性能更好,性价比

更高。

3.硬件抗干扰几种常用手段(1)pP监控

。常用TL7705电源监视芯片来监测电压。

争TL7705电源监视如图11—6所示,其中SENSE为

电源监视端,当SENSE上的电压小于4.5V时,

心钉输出低电平(产生下降沿),向单片机申请中

断,在中断服务程序中进行一些保护重要数据的工

作送后使单片机进入休眠或掉电状态。

❖RESET:复位输出,低电平有效,0C开路,需上

拉电阻。|

❖RESIN:复位输入端,输入低电平时,强制复位输}

出端。!

3.硬件抗干扰几种常用手段(1)kiP监控

图11—6TL7705电源监视

3.硬件抗干扰几种常用手段(1)pP监控

。随着芯片集成度不断提高,工程技术人员往

往热衷于既能提供IJP监控,又能提供其他功

能的芯片。如MAXIM公司的MAX807,它将

电源监视与看门狗集成到一起,提供定时、

电源切换等多种功能。现在还有的芯片把监

控和EEPROM集成在一起,性价比更高。比

如X2504系列芯片。

3.硬件抗干扰几种常用手段(2)硬件看门狗

。使用硬件看门狗的主要目的是防止程序执行受到干

扰,不能按正常的流程执行的一种监视芯片。所谓

“看门狗”,就是一个定时器,定时时间到,它就

输出一个信号,使单片机复位。

。所谓“喂狗”,就是把定时器的计数值清除。只要

按时喂狗,定时器就不会到达定时时间,单片机就

不会复位。如果程序“跑飞”,或者进入死循环,

不能按时喂狗,就会复位。使单片机重新开始正常

工作。

3.硬件抗干扰几种常用手段(2)硬件看门狗

例如,XICOR公司的X25043/45就是将看门狗电

路与复位电路(含手动/上电复位)以及4KB的串行

EEPROM集成在一起的芯片。X25045典型应用如

图11-7所不。

♦:.美国DALLAS公司生产的“看门狗(WATCHDOG)”

集成电路DS1232具有性能可靠、使用简单、价格

低廉的特点,应用在单片机产品中能够很好的提高

硬件的抗干扰能力,采用8脚DIP封装。

3.硬件抗干扰几种常用手段(2)硬件看门狗

%c

swJO-■RESET>

复位,X25045

按键

19SO■IPl.3>

-RESET

SIYPl.lI

10kI

SCK<Pl.2】

IVcc

―?CS<PIO

CWP

图11—7X25045典型应用

3.硬件抗干扰几种常用手段(3)退(去)耦电容

。每个芯片电源进线处尽可能接一个

104(0.1")或103(0.01")的退耦电容(可

以用陶瓷电容,目前使用较多的是独石电容)。

每隔5个左右芯片安置一个1一10/pF的胆

(电解)电容,因为这种电容的高频阻抗很小,

对噪声抑制效果很好。

3.硬件抗干扰几种常用手段(4),续流二极管

。在继电器线圈两端增加续流二极管,消除线

圈断开时产生的反电动势干扰。仅加续流二

极管会使继电器的断开时间滞后,若再增加

稳压二极管,则可改善响应速度,消除滞后

性。在继电器触点两端应并接火花抑制电路,

减小电火花影响。

3.硬件抗干扰几种常用手段

(5).瞬态电压抑制器TVS

瞬态电压抑制器(TransientVoltage

Suppressor,简称TVS),使用TVS二极管进

行浪涌保护比使用压敏电阻优越得多,具有

响应时间快,瞬态功率大,漏电流低,击穿

电压偏差小,箝位电压易于控制,有效地保

护电子线路中的精密元器件,免受各种浪涌

脉冲对元器件造成的损坏。

11.2.2软件抗干扰措施

。与硬件的抗干扰措施一样,软件的抗干扰措

施也非常重要,软件设计中,可以通过增加

系统的自检,重要参数备份,设置软件陷阱,

模拟量输入采用软件滤波等手段提高系统的

可靠性。这里只对一些常用的方法加以讨论。

1.软件自检■开机自检

。软件抗干扰还可以在上电复位后,调用自检子程序,

检测单片机内部资源和外部扩展电路能否正常工作,

自检正常后才进一步执行其他程序,否则提示故障

点。这是检查硬件的情况,需要硬件的配合,在硬

件设计的时候就要考虑到自检的需要,以确保电路

能正常工作。这一部分比较麻烦,请自行参考有关

硬件资料,此不多述。

1.软件自检■数据备份

。由于单片机内部RAM单元存放着重要的标志和数据,

一旦受扰引起标志数据的改变,势必造成系统运行

异常。防止标志位受扰可以采用定期检查标志合法

性的方法,发现干扰及时处理,例如发现不可能出

现的标志组合及时处理。也可以采用标志冗余的方

法,借助冗余标志,进行标志位异常判定和纠错。

防止数据受扰可以采用热备份的方法,适时比照、

判定并包错。

。在保护单片机内部RAM时经常使用双重备份、表决

纠错的方法,将单片机内部RAM单元数据作两个热

备份,一旦发现三个数不相同就采取表决的方式确

定正确的数据。

2.软件陷阱

♦电磁干扰除了会对测量物理量的结果产生影响之外,

还能直接影响程序的正常运行。正常执行程序时,

CPU按照PC中的数值(地址)到ROM甲..去..取..指..令。

受到干扰时,一般可能使程序计数器PC的数值改变,

或者其输出的地址信号受到干扰而改变,到不该去

的地址取指令(称为“跑飞”)o为了防止造成灾

难性的后果,在进行系统设计时,可以在硬件和软

件方面分别加以考虑。硬件方面前已述及,现在介

绍一些软件方面的方法。

。对于MCS-51系列单片机,其程序存储器的地址空

间为64K,通常只使用了部分地址空间存放程序代

码利数据,可以把64K的地址空间分为“空闲”和

“非空闲”ROMo

2.软件陷阱⑴.空闲的ROM空间

。对于空闲的ROM空间,正常操作时是不会使用的。

但是在强干扰的情况下也可能到空闲的ROM空间去

取指令,即“跑飞”。故此应该在空闲的ROM空间

存入适当指令,在程序跑飞到那里时能够回到正常

区域或者进入错误处理程序,这种方法称为软件陷

阱。可以填入的指令代码有以下几种形式:

①.填入000000000000.......

。这是空操作指令,进入此区域时不进行任何操作,

逐步执行到FFFFH后,就会回到0000H,这是复位

入口地址,重新开始正常程序。

2.软件陷阱⑴.空闲的ROM空间

.:.②.填入020000020000020000..............

。这是无条件长转移指令,会直接转移到0000H,立

即进入复位状态。

③.填入020202020202020202..............

。这是无条件长转移指令,当从此区域取指令时,直

接转移到0202H。在0202H单元,我们应该编写

“跑飞”处理程序,或者在此处放置一条转移指令,

转移到跑飞处理程序。如果正常程序用到0202H单

元,必须在0202H单元之前编写转移指令,越过

0202H即其以后的若干单元,留出作为“非常处理”

的程序入口。

2.软件陷阱⑴.空闲的ROM空间

。如果程序“跑飞”到没有安装ROM芯片的地

址单元,取到的代码将是FFH,这是指令

MOVR7,A继续执行的结果是,一段时

间后,回到0000H,进入复位程序。

2.软件陷阱(2).非空闲的ROM单元

。对于非空闲ROM单元,一般已经存放了程序

代码和数据,处理起来比较困难。可以在关

键程序段中加入一些校验的程序段,检查当

前的外部环境状态,如果不是属于本段程序

处理的范围,就可能是程序跑飞到这里,应

该转移到处理跑飞的程序段。

2.软件陷阱(2).非空闲的ROM单元

*另外,由于有些指令是2〜3个字节,当PC内数值跑

飞时,也有可能把这种指令的一部分当作完整的指

令来执行,同理也有可能把数据部分当作指令代码

来执行,这样执行起来,程序就面目全非了。当我

们在任意地址对机器代码进行反汇编时,经常可以

看到这种不可理解的现象。为了尽量减少这种现象

的发生,可以在指令中间加入一些NOP指令使CPU

取几条指令以后,一般可以纳入正轨,按照原来的

指令位置取指令。

3、重复输出指令

一般单片机的扫描周期为几个毫秒,万一某个输出

指令受到干扰出现错误动作,重复的输出指令会在

短时间内纠正这个错误,一般的外设动作速度比较

慢,可能是错误的动作还没有执行就被纠正了。这

种方法对于电磁类执行机构效果很好。

注意:使用任何一种抗干扰措施,都要与当时的客

观环境相适应,才会取得理想的结果,不可生搬硬

套。往往需要几种方法综合应用会取得互补的作用。

11.3应用举例

。本节以自动打铃器为例,讲解MCS—51系列单片机

的一个应用项目的设计过程。这只是一个非常小的

应用项目,电路比较简单,功能比较简单,程序规

模也不大,要求也不是很严格,工作环境也比较好,

所以设计起来也容易。但是,只要你能够完成这个

简单的项目,就算是入门了,也就可以完成更复杂

的项目。这里给出的只是一个示例,并不一定是最

好的方案,更不是唯一的方案。

11.3.1用户需求分析和总体设计

。大多单位都有比较固定的作息时间,尤其是学校,

要按时打铃,以指挥师生员工上课、下课等统一行

动。现在我们可以利用单片机设计自动打铃器,在

预定侑时间打铃。

。这项该计涉及到单片机的定时器、中断、键盘蒯入、

LCD薮码和字符显示、12c总线、单总线、开夹量

输出等内容。

考虑实训时间和篇幅限制,这里只要求自动打铃。|

如果觉得内容不够,还可以增加环境温度的测量、

显示以及语音报时等等。

1、根据用户要求确定设计任务书

根据实际情况,(经过用户认可)我们确定的设计

任务书如下:

♦:♦产品名称:自动打铃器

产品功能:

每天一次循环,按照作息时间表自动打铃;

2、每次打铃电铃响十秒(最好可以修改);

♦:.3、每天打铃次数在32次以内;

♦:*4、作息时间输入修改要方便;

1、根据用户要求确定设计任务书1

5、实时钟对表和快慢调整;

6、实时显示时分秒;

7、平时使用220V交流电,停电时要有备用电池保持时间和

作息时间表;

。8、输出继电器控制,最大控制电流5安培(220V交流);

9、临时打铃(手动)。

设计周期:2周

+设计费用:

♦其它:

2、总体设计

。总体设计,其中最主要的就是原理设计。根

据设计任务书的要求和现有的技术条件,在

满足功能、性能等用户需求的基础上,初步

提出可选技术路线,并对各方案进行必要的

分析,充分听取方方面面的意见,选择一种

实施方案。,

本项目的实施方案如下:

2、总体设计1

♦:♦选用机型:AT89C51(可以使用简化版

AT89C2051)。这是美国ATMEL公司生产的与

INTEL公司的MCS—51系列全兼容的单片机产品,

指令兼容,引脚兼容,可以直接代换。其优点是片

内程序存储器是电擦写的,使用方便,耗电少,价

格低。

时间显示:16位X2行的液晶显示模块1602,显示

内容比较多。并行口连接。

键盘输入:4个独立式按键,分别是对表、定时、

临时打铃和上、下、左、右调整键

2、总体设计2

。打铃输出:经二级晶体管放大驱动12V直流

继电器,控制220V电源通、断电铃。

。系统扩展:不需要扩展RAM、ROM、和其它

I/O接口,只需要通过12c总线扩展一片

24LC16B,用于保存打铃时间,以保证掉电

不丢失,免得重新设置之麻烦。

2、总体设计3

电源部分:220V交流电经降压、整流、滤波、稳压,

提供+12V和+5V两种直流电源,再加可充电电池

作备用电源,停电时保持时钟和作息时间表。交流

供电时给电池充电。

。笳在,专用的日历时钟芯片很多,性能也很好,尤

其是精度可以很高,省电,使用方便。如果采用这

类芯片,程序会减少很多。但是考虑为了更好的熟

悉定时器的使用,我们还是利用单片机本身的定时

器来产生时间。

。本设计的仿真文件:自动打铃器.DSN

本设计的简要功能说明:

开机后自动进入走时状态,打铃时间到自动接

通电铃电路10秒。

2、按K0键进入对表状态,设置方法:

按向左或向右移动光标

♦按增加或减少修改光标处数值

。星期的数值1-7,7代表星期日

星期的英文字符不用修改

5秒钟不操作自动保存修改并返回

本设计的简要功能说明1:

。3、按K1键进入定时打铃时间设定状态:

001表示第一个设定打铃时间,最多可以设置127个

时间。方面的星小时、分和启用标志z启用标志设

为1装不时向有效,到时疔铃,启用标志设为。蓑不

到达这个时间也不打铃。每次时间到打铃10秒,同

时蜂鸣器响。

。打铃时间设置方法:

♦:♦按向左或向右移动光标,按增加或减少修改光标处

数值,启用标志的值大于1也算启用,5秒钟不操作

自动保存修改并返回

11.3.2硬件设计

1、原理图设计

。根据设计任务书和整体设计方案,经过比较

和计算,设计原理图如图11—8直到图11-11

所示。

♦:♦单片机选用AT89c51,DIP40封装,内部有

128字节的随机存储器,有4K字节的电擦写

的程序存储器,可以反复擦写1000次。

图11—8自动打铃器硬件原理图(主机板)

LCD1FM1602

VCC

C1||10PF

U1AT89C51

X11939pQOajnu]--------------------------------------

I---1->XTAL1P0.0/AD038bgfS0UJC/)>OLCXJCO寸ID9Z

-।—6MHzP0.1/AD13(bg?»>trorujOOOQOQO0

C2||10PF18P0.2/AD23b

XTAL2P0.3/AD3亚bod

P0.4/AD434加5

P0.5/AD5八

0.6kR1

9P0.6/AD632b"

八RSTP0.7/AD7

21p20R10

P2.0/A822■K11

问忆I_H

旦0产P2.1/A923022・

29P2.2/A1024谜3.

K4斫PSENP2.3/A1125谜4.

------OO—kALEP2.4/A12丝笆5・I—

EAP2.5/A13iffllbI—<>

BUZ12(悭6・

P2.6/A1428边■

P2.7/A15<10k

1p-T10p3010k

FTI7p-T.OJP3.0/RXD

pTP3.1/IXD

BUZZER-2八

p-TP3.2/USUQU2

p-TP3.3/INT13

p-T.34P3.4/T0-7

vccpT1P3.5ZI1

p-QLJ3①

16P3.6/WRGND©

J1八7P3.7/RDSCK

01SDADS18B20

0WP

0

0

4一724LC16B

SIL-100-04

—阿T00UF

GND

图11-9打铃器按键

A••・•

gZLZ)

ODD

ddd

R410kJ=L_®K3向左移动

OO~~

R5l0kK2向右移动临时打铃

OOi>

-I=L-®K1向下减少定时设定

OO"n

RLlOk-l==L®KO向上增加对表

OO""H

图11-10打铃器电源(通用电源模块)

图打铃器继电器输出

RL3

OMI-SH-212D

1k

2、原理图设计说明

(1)电源:(如图11-10)

。这是一个通用电源模块,以前用在其它单片机测控

系统中,用在自动打铃器也很合适。自动打铃器消

耗电流最大的时候是打铃时恂到,12V直流继电器接

通同时打铃指示LED亮和讯响器响,电流在100毫

安以下(约80毫安),不打铃的时候消耗电流只有

十几个毫安,给蓄电池充电的电流控制在50毫安以

下,选择220V5W电源变压器容量足够,输入220V

交流电,输出12V交流。如果数码显示用LED数码

管,则电源变压器容量应该选10W左右。

2、原理图设计说明

(1)电源:(如图

。整流滤波之后输出电压在13V左右,供给继电器使-

用,木需要稳压。

。后备电源使用6V免维护铅酸蓄电池,价格便宜容量

大,可以支持较长的停电时间,只是重量大些。

。为了保护蓄电池,不使其过充和过放,分别加了保

护电监,当电池电压高于7V时停止充电,当电池电

压低于5V时停止放电。

。蓄电池的输出直流电源(5-7V)经三端稳压电路

7805后输出5V经二极管降压后变成4.3V供给单片机,

AT89S51的工作电压在4V-5.5V之间。

2、原理图设计说明

(2)输出(如图11-11)

。打铃器的输出由12V直流继电器控制。继电器既起

到功率放大的作用也起到强弱电隔离作用。与继电

器线圈并联的红色LED起到打铃指示作用,与线圈

反并联的二极管是起续流作用。P1.1的输出是低电

平有效,可以防止单片机复位时的高电平自动响铃。

P1.1的输出经2级晶体管放大驱动直流继电器工作。

♦:♦讯响器的工作电压在3—5V,电流10mA左右,通电

就响。AT89c51的并行口可以直接驱动,低电平有

效。它的作用也是打铃指示,同时它可以在停电的

时候也工作,提醒时间到。这就使得这个自动打铃

器在不接电铃的时候成为闹钟。

2、原理图设计说明

(3)按钮(如图11-9)

。从图上看总共有5个按钮,一个是复位按钮,

手动复位用;其余4个各占用一位I/O口线,

属于独立式键盘,按下是低电平,接在P

温馨提示

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

评论

0/150

提交评论