版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第六章 单片机应用系统设计6-1 单片机应用系统开发的原则与步骤6-2 应用系统设计实例单片温度控制系统6-3 应用系统设计实例智能型高压综合保护器6-1 单片机应用系统开发的原则与步骤一、硬件系统的设计单片机应用系统的设计可划分为两部分: 一部分是与单片机直接接口的数字电路范围的电路芯片的设计。如存储器和并行接口的扩展, 定时系统、中断系统扩展, 一般的外部设备的接口, 甚至于A/D、 D/A芯片的接口。另一部分是与模拟电路相关的电路设计, 包括信号整形、变换、隔离和选用传感器; 输出通道中的隔离和驱动以及执行元件的选用。(1)从应用系统的总线观念出发, 各局部系统和通道接口设计与单片机要做
2、到全局一盘棋。例如, 芯片间的时间是否匹配, 电平是否兼容, 能否实现总线隔离缓冲等, 避免“拼盘”战术。 (2)尽可能选用符合单片机用法的典型电路。 (3)尽可能采用新技术, 选用新的元件及芯片。 (4)抗干扰设计是硬件设计的重要内容, 如看门狗电路、 去耦滤波、通道隔离、合理的印制板布线等。 (5)当系统扩展的各类接口芯片较多时, 要充分考虑到总线驱动能力。当负载超过允许范围时, 为了保证系统可靠工作, 必须加总线驱动器。(6)可用印制板辅助设计软件, 如PROTEL 进行印制板的设计。二、应用软件设计(1)采用模块程序设计。(2) 采用自顶向下的程序设计。 (3) 外部设备和外部事件尽量
3、采用中断方式与CPU联络, 这样, 既便于系统模块化, 也可提高程序效率。 (4) 近几年推出的单片机开发系统, 有些是支持高级语言的, 如C51与PL/M96的编程和在线跟踪调试。 (5) 目前已有一些实用子程序发表, 程序设计时可适当使用, 其中包括运行子程序和控制算法程序等。 (6)系统的软件设计应充分考虑到软件抗干扰措施。三、应用系统开发步骤1. 确定设计方案(1) 了解用户的需求, 确定设计规模和总体框架。(2) 摸清软硬件技术难度, 明确技术主攻问题。 (3) 针对主攻问题开展调研工作, 查找中外有关资料, 确定初步方案。 (4) 单片机应用开发技术是软硬件结合的技术, 方案设计要
4、权衡任务的软硬件分工。有时硬件设计会影响到软件程序结构。 如果系统中增加某个硬件接口芯片, 而给系统程序的模块化带来了可能和方便, 那么这个硬件开销是值得的。在无碍大局的情况下, 以软件代替硬件正是计算机技术的长处。 (5) 尽量采纳可借鉴的成熟技术, 减少重复性劳动。2硬件设计(1)单片机电路设计(2)扩展电路和输入/输出通道设计(3)控制面板设计3软件设计 采用模块化程序设计、自顶向下的程序设计方法。4软硬件调试 (1) 程序的录入、 编辑和交叉汇编功能。 (2) 提供仿真RAM、仿真单片机。 (3) 支持用户汇编语言(有的同时支持高级语言)源文件跟踪调试。 (4) 目前一般的开发装置都有
5、与通用微机的连机接口, 可以利用微机环境进行调试。 (5) EPROM的写入功能。5EPROM固化所有开发装置调试通过的程序, 最终要脱机运行, 即将仿真ROM中运行的程序固化到EPROM脱机运行。但在开发装置上运行正常的程序, 固化后脱机运行并不一定同样正常。若脱机运行有问题, 需分析原因, 如是否总线驱动功能不够, 或是对接口芯片操作的时间不匹配等。经修改的程序需再次写入。 6.2 应用系统设计实例单片机温度控制系统 6.2.1 技术指标 烘干箱的具体指标如下: (1) 烘干箱由2 kW电炉加热,最高温度为500。 (2) 烘干箱温度可预置,烘干过程恒温控制,温度控制误差2。 (3) 预置
6、时显示设定温度,烘干时显示实时温度,显示精确到1。 (4) 温度超出预置温度5时发声报警。 (5) 对升降温过程的线性没有要求。 6.2.2 控制方案 产品的工艺不同,控制温度的精度也不同,因而所采用的控制算法也不同。就温度控制系统的动态特性来讲,基本上都是具有纯滞后的一阶环节,当系统精度及温控的线性性能要求较高时,多采用PID算法或达林顿算法来实现温度控制。 本系统是一个典型的闭环控制系统。从技术指标可以看出,系统对控制精度的要求不高,对升降温过程的线性也没有要求,因此,系统采用最简单的通断控制方式,即当烘干箱温度达到设定值时断开加热电炉,当温度降到低于某值时接通电炉开始加热,从而保持恒温控
7、制。 6.2.3 硬件设计 系统的硬件电路包括主机、温度检测、温度控制、人机对话(键盘/显示/报警)4个主要部分。图为系统的结构框图,图为系统的硬件电路原理图。 下面对各部分电路分述如下。 1) 主机 由于系统控制方案简单,数据量也不大,因此选用8031作为控制系统的核心,外扩EPROM2764作为程序存储器。也可视具体情况换用8051、8052、8751、8752、80C51、89C51、89C52等。其中,8051、8052、8751、8752的各个引脚输入/输出电平只与TTL电平兼容;89C51、89C52、80C51各引脚输入/输出电平既与TTL电平兼容,也与CMOS电平兼容。图6.1
8、 电烤箱控制系统结构框图6.2 电烤箱控制系统硬件电路原理图 8031的晶振频率为6 MHz。 2) 温度检测 这部分包括温度传感器、变送器和A/D转换三部分。 温度传感器和变送器的类型选择与被控温度的范围及精度等级有关。型号为WZB003,分度号为BA2的铂热电阻适用于0500的温度测量范围,可以满足本系统的要求。 变送器将电阻信号转换成与温度成正比的电压,当温度在0500时变送器输出04.9 V左右的电压。 A/D转换器件的选择主要取决于温度的控制精度。本系统要求温度控制误差2,采用8位A/D转换器,其最大量化误差为=,完全能够满足精度要求。这里我们采用ADC0809作为A/D转换器。电路
9、设计好后,调整变送器的输出,使 0500的温度变化对应于04.9 V的输出,则A/D转换对应的数字量为00HFAH,即0250,则转换结果乘以2正好是温度值。用这种方法一方面可以减少标度转换的工作量,另一方面还可以避免标度转换带来的计算误差。 3) 温度控制 电炉控制采用可控硅来实现,双向可控硅和电炉电阻丝串接在交流220 V市电回路中。单片机的口通过光电隔离器和驱动电路送到可控硅的控制端,由口的高低电平来控制可控硅的导通与断开,从而控制电阻丝的通电加热时间。 4) 人机对话 这部分包括键盘、显示和报警三部分电路。 本系统设有3位LED数码显示器,停止加热时显示设定温度,启动加热时显示当前烤箱
10、温度。采用串行口扩展的静态显示电路作为显示接口电路。 为使系统简单紧凑,键盘只设置4个功能键,分别是启动、“百位+”、“十位+”和“个位+”键,由P1口低4位作为键盘接口。利用+1按键可以分别对预置温度的百位、十位和个位进行加1设置,并在LED上显示当前设置值。连续按动相应位的加1键即可实现0500的温度设置。 报警功能由蜂鸣器实现。当由于意外因素导致烤箱温度高于设置温度时,口送出的低电平经反向器驱动蜂鸣器鸣叫报警。 5) 其它可扩展电路 对于要求更高的系统,在现有电路的基础上,读者还可以视需要自行扩展以下接口电路: (1) 实时时钟电路:连接实时时钟芯片DS12887可以获得长的采样周期,显
11、示年、月、日、时、分、秒,而其片内带有的114 B非易失性RAM,可用来存入需长期保存但有时也需变更的数据。如采样周期、PID控制算法的系数KP、KI、KD等。 (2) “看门狗”电路:连接集成监控芯片MAX705可实现对主电源VCC的监控,提高系统的可靠性。 由于本书附带的实验板已将P1口用排针引出,因此,读者可以方便地用实验板来实现上述系统。可在口外接蜂鸣器电路,在口外接电炉驱动控制电路,口外接4个功能按键(启动、+100、+10、+1)。 6.2.4 软件设计 1. 工作流程 烤箱在上电复位后先处于停止加热状态,这时可以用“+1”键设定预置温度,显示器显示预定温度;温度设定好后就可以按启
12、动键启动系统工作了。温度检测系统不断定时检测当前温度,并送往显示器显示,达到预定值后停止加热并显示当前温度;当温度下降到下限(比预定值低2)时再启动加热。这样不断重复上述过程,使温度保持在预定温度范围之内。启动后不能再修改预置温度,必须按复位/停止键回到停止加热状态再重新设定预置温度。 2. 功能模块 根据上面对工作流程的分析,系统软件可以分为以下几个功能模块: (1) 键盘管理:监测键盘输入,接收温度预置,启动系统工作。 (2) 显示:显示设置温度及当前温度。 (3) 温度检测及温度值变换:完成A/D转换及数字滤波。 (4) 温度控制:根据检测到的温度控制电炉工作。 (5) 报警:当预置温度
13、或当前炉温越限时报警。 3. 资源分配 为了便于阅读程序,首先给出单片机资源分配情况。数据存储器的分配与定义见表。表6.2 温度控制软件数据存储器分配表地址功能名称初始化值50H51H当前检测温度,高位在前TEMP1TEMP000H52H53H预置温度,高位在前ST1ST000H54H56HBCD码显示缓冲区,百位、十位、个位T100,T10,T00H57H58H二进制显示缓冲区,高位在前BT1,BT000H59H7FH堆栈区PSW.5报警允许标志F0=0时禁止报警;F0=1时允许报警F00 程序存储器:EPROM2764的地址范围为0000H1FFFH I/O口:P1.0P1.3键盘输入;、
14、P1.7报警控制和电炉控制。 A/D转换器0809:通道0通道7的地址为7FF8H7FFFH,使用通道0。 4. 功能软件设计 1) 键盘管理模块 上电或复位后系统处于键盘管理状态,其功能是监测键盘输入,接收温度预置和启动键。程序设有预置温度合法检测报警,当预置温度超过500时会报警并将温度设定在500。键盘管理子程序流程图如图所示。 图6.3 键盘管理子程序流程图键盘管理子程序KIN: KIN: ACAL CHK ;预置温度合法性检测 MOV BT1,ST1 MOV BT0,ST0 ;预置温度送显示缓冲区 LCALL DISP ;显示预置温度 KIN0: ACALL KEY ;读键值 JZ
15、KIN0 ;无键闭合和重新检测 ACALL DISP ACALL DISP ;二次调用显示子程序延时去抖 ACALLKEY;再检测有无键按下 JZKIN0;无键按下重新检测 ,S10 MOV A,#100;百位键按下 AJMP SUMS10:,S1 MOVA,#10;十位键按下 AJMPSUM S1: JB,S0 MOVA,#01;个位键按下 SUM:ADD A,ST0;预置温度按键+1MOVST0,AMOVA,#00H ADDCA,ST1MOVST1,A KIN1: ACALL KEY;判断闭合键释放 JNZKIN1;未释放继续判断 AJMPKIN;闭合键释放继续扫描键盘 S0: JNB ,
16、KIN;无键按下重新扫描键盘 RET;启动键按下返回 KEY: MOVA,P1;读键值子程序 CPLA ANLA,#0FH RET 预置温度合法性检测子程序CHK(用双字节减法比较预置温度是否大于500(01F4H): CHK:MOVA,#0F4H;预置温度上限低8位送ACLRCSUBBA,ST0;低8位减,借位送CYMOVA,#01H;预置温度上限高8位送ASUBBA,ST1;高8位带借位减JC OUTA ;预置温度越界,转报警MOVA,#00H;预置温度合法标志RET OUTA:MOVST1,#01H;将500写入预置温度数据区MOVST0,#0F4HCLR;发报警信号0.6 sACALL
17、D0.6s SETBP1.6;停止报警RET 2) 显示模块 显示子程序的功能是将显示缓冲区57H和58H的二进制数据先转换成三个BCD码,分别存入百位、十位和个位显示缓冲区(54H、55H和56H单元),然后通过串口送出显示。显示子程序DISP: DISP:ACALL HTB ;将显示数据转换为BCD码 MOV SCON,#00H ;置串行口为方式0 MOV R2,#03H ;显示位数送R2 MOV R0,#T100 ;显示缓冲区首地址送R0 LD: MOV DPTR,#TAB ;指向字型码表首地址 MOV A,R0 ;取显示数据 MOVC A,A+DPTR;查表 MOVSBUF,A;字型码
18、送串行口WAIT:JBC TI,NEXT;发送结束转下一个数据并清中断标志 SJMP WAIT;发送未完等待NEXT: INCR0 ;修改显示缓冲区指针 DJNZR2,LD;判3位显示完否,未完继续 RET TAB:;字型码表(略) BCD码转换子程序HTB: HTB:MOVA,BT0;取二进制显示数据低8位MOVB,#100 ;除100,确定百位数DIVABMOVT100,A;百位数送54H单元MOVA,#10;除10,确定十位 XCH A,B DIV A,B MOV T10,A ;十位数送55H单元 MOVT,B ;个位数送56H单元 MOVA,BT1 ;取二进制显示数据高8位 JNZ L
19、H1 ;高位不为0转LH1继续高8位转换 RET ;高位为0结束,返回LH1: MOVA,#06H ;高位不为0,低位转换结果加256(因为温度数 ;据不会大于500,所以高8位最多为01H,即256) ADDA,T DAA;个位加6(十进制加) MOVT,A;结果送回个位 MOVA,#05H ADDCA,T10 DAA;十位加5(十进制加) MOVT10,A;结果送回十位 MOVA,#02H ADDCA,T100 DA A;百位加2(十进制加) MOVT100,A;结果送回百位RET 3) 温度检测模块 A/D转换采用查询方式。为提高数据采样的可靠性,对采样温度进行数字滤波。数字滤波的算法很
20、多,这里采用4次采样取平均值的方法。如前所述,本系统A/D转换结果乘2正好是温度值,因此,4次采样的数字量之和除以2就是检测的当前温度。检测结果高位存入50H,低位存入51H。温度检测子程序流程图如图所示。 温度检测子程序TIN:图6.4 温度检测子程序流程图 温度检测子程序TIN:TIN: MOV TEMP1,#00H ;清检测温度缓冲区MOV TEMP0,#00HMOV R2,#04H ;取样次数送R2MOV DPTR,#7FF8H ;指向A/D转换器0通道 LTIN1: MOVX DPTR,A ;启动转换HERE:JNB IE1,HERE ;等待转换结束 MOVX A,DPTR ;读转换
21、结果 ADDA,TEMP0;累加(双字节加法)MOVTEMP0,AMOVA,#00HADDCA,TEMP1MOVTEMP1,ADJNZR2,LTIN1;4次采样完否,未完继续CLR C ;累加结果除2(双字节除法)MOVA,TEMP1 RRCAMOVTEMP1,AMOVA,TEMP0 RRCAMOVTEMP0,ARET 4) 温度控制模块 将当前温度与预置温度比较,当前温度小于预置温度时,继电器闭合,接通电阻丝加热;当前温度大于预置温度时,继电器断开,停止加热;当二者相等时电炉保持原来状态;当前温度降低到比预置温度低2时,再重新启动加热;当前温度超出报警上下限时将启动报警,并停止加热。由于电炉
22、开始加热时,当前温度可能低于报警下限,为了防止误报,在未达到预置温度时,不允许报警,为此设置了报警允许标志F0。模块流程见图。图6.5 温度控制流程图 温度控制子程序CONT: CONT:MOVA,TEMP0;当前温度-预置温度(双字节减)CLRCSUBBA,ST0MOVB,A;低8位相减的差值暂存BMOVA,TEMP1SUBBA,ST1 JNCLOFF ;无借位,表示当前温度预置温度,转LOFF JNBF0,LON ;当前温度预置温度,判是否达到过预置温度 MOVA,B ;若达到过预置温度,判二者差值是否大于2 CLRC SUBBA,#02H JNC ,LOFF ;差值不大于2,转LOFFL
23、ON: CLR P1.7 ;开电炉 SJMPEXIT ;返回LOFF:SETBF0;设置允许报警标志SETBP1.7;关电炉EXIT:RET 在此,也可自行加入PID算法程序来实现PID控制。 5) 温度越限报警模块 报警上限温度值为预置温度+5,即当前温度上升到高于预置温度+5时报警,并停止加热;报警下限温度值为预置温度-5,即在当前温度下降到低于预置温度-5,且报警允许时报警,这是为了防止开始从较低温度加温时误报警。报警的同时也关闭电炉。图为报警子程序流程图。图6.6 报警子程序流程图 报警子程序ALARMALARM:MOVA,TEMP0;当前温度低字节ACLRCSUBBA,ST0;(当前
24、温度低字节-预置温度低字节)AMOVB,A ;低字节相减结果送B暂存MOVA,TEMP1 ;当前温度高字节ASUBBA,ST1 ;(当前温度高字节-预置温度高字节)A JC LA0 ;有借位,当前温度小于预置温度转LA0 SETB F0 ;当前温度预置温度,允许报警 AJMP LA1 LA0: MOV A,ST0 ;预置温度低字节A CLR C SUBB A,TEMP0;(预置温度低字节-当前温度低字节)A MOV B,A ;低字节相减结果送B暂存 MOV A,ST1 ;预置温度高字节A SUBB A,TEMP1;(预置温度高字节-当前温度高字节)A LA1: XCH A,B ;高低字节互换,
25、判断相减结果是否大于5 CLRC SUBBA,#05H ;(低字节差-5)A XCHA,B ;(低字节差-5)B,高字节差A SUBB A,#00H;(高字节差-0)A(因为5的高字节为0) JC LA2 ;相减结果小于5,不报警返回 JNBF0,LA2 ;相减结果5,判是否允许报警,不允许则返回 CLRP1.6;启动报警SETBP1.7;关电炉LCALLD0.6s;报警延时0.6 sSETBP1.6;关报警LA2:RET:(略);延时0.6 s子程序 6) 主程序和中断服务子程序 主程序采用中断嵌套方式设计,各功能模块可直接调用。主程序完成系统的初始化,温度预置及其合法性检测,预置温度的显示
26、及定时器0设置。定时器0中断服务子程序是温度控制体系的主体,用于温度检测、控制和报警(包括启动A/D转换、读入采样数据、数字滤波、越限温度报警和越限处理、输出可控硅的控制脉冲等)。中断由定时器0产生,根据需要每隔15 s中断一次,即每15 s采样控制一次。但系统采用6 MHz晶振,最大定时为130 ms,为实现15 s定时,这里另行设了一个软件计数器。主程序和中断服务子程序的流程图如图所示。图6.7 系统程序总体结构框图主程序MAIN :(数据缓冲区的定义和初始化部分从略) ORG0000H AJMPMAIN ORG000BH AJMPPT0 ORG0030H MAIN: MOVSP,#59H
27、;设定堆栈指针 MOV TMOD,#01H;定时器0初始化 MOV TL0,#0B0H ;定时器定时时间100 ms MOVTH0,#3CH MOVR7,#150;置15 s软计数器初值 ACALLKIN;调键盘管理子程序 SETBET0;允许定时器0中断 SETBEA;开中断 SETBTR0;启动定时器0 SJMP$ 定时器0中断服务子程序PT0: PT0:MOVTL0,#0B0HMOVTH0,#3CH ;重置定时器0初值DJNZR7,BACK ;15 s到否,不到返回MOVR7,#150 ;重置软计数器初值ACALLTIN ;温度检测 MOV BT1,TEMP1 ;当前温度送显示缓冲区MO
28、VBT0,TEMP0 ACALL DISP ;显示当前温度ACALL CONT ;温度控制LCALL ALARM ;温度越限报警 BACK:RETI6.5 抗干扰设计 6.5.1 电源、地线、传输干扰及其对策 1电源干扰及其对策 现在的单片机应用系统大都使用市电,在工业现场中,由于生产负荷的变化,大型用电设备的启动、停止,如大电机、电梯、继电器、照明灯、电焊机等,往往造成电源电压的波动,有时还会产生幅度在405000 V之间的高能尖峰脉冲。它对系统的危害性最为严重,很容易使系统造成“飞程序”或“死机”。抗干扰的对策除了“远离”这些干扰源以外,还可以采用专用的抗尖峰干扰抑制器。对于要求更高的系统
29、,可采用不间断电源(Uninterrupted Power Supply),简称UPS电源。 单片机应用系统需要的直流电源都是由交流电源变换来的,这一变换过程也可能存在着波动和干扰。为了消除直流电源的干扰,可采取以下措施: (1) 采用集成稳压块单独供电; (2) 使用直流开关电源; (3) 使用DC-DC变换器。 2地线干扰及其对策 在单片机应用系统中,接地是否正确,将直接影响到系统的正常工作。这里包含两方面的内容,一是接地点是否正确,一是接地是否牢固。前者用来防止系统各部分的窜扰,后者用以防止接地线上的压降。 单片机应用系统及智能化仪器仪表中的地线主要有以下几种: (1) 数字地,即系统数
30、字电路的零电位。 (2) 模拟地,是放大器、A/D转换器输入信号及采样/保持器等模拟电路的零电位。 (3) 信号地,是传感器的地。 (4) 功率地,指大电流网络部件的零电位。 (5) 交流地,50 Hz交流市电的地,它是噪声地。 (6) 直流地,即直流电源的地线。 (7) 屏蔽地,为防止静电感应和电磁感应而设计的,有时也称机壳地。 下面介绍几种常用的接地方法。 1) 一点接地和多点接地的应用 通常,频率小于1 MHz时,可采用一点接地,以减少地线造成的地环路;频率高于10 MHz时,应采用多点接地,以避免各地线之间的耦合;当频率处于110 MHz之间时,如采用一点接地,其地线长度不应超过波长的
31、1/20,否则应采用多点接地。 2) 数字地和模拟地的连接原则在单片机应用系统中,数字地和模拟地必须分别接地,即使是一个芯片上有两种地(如A/D、D/A、S/H),也要分别接地,然后仅在一点处把两种地连接起来,否则数字回路通过模拟电路的地线再返回到数字电源,将会对模拟信号产生影响。 3) 印刷电路板的地线分布原则 为了防止系统内部地线干扰,在设计印刷电路板时应遵循下列原则: (1) TTL、CMOS器件的地线要呈辐射网状,避免环形。 (2) 要根据通过电流的大小决定地线的宽度,最好不小于3 mm。在可能的情况下,地线尽量加宽。 (3) 旁路电容的地线不要太长。 (4) 功率地通过的电流较大,地
32、线应尽量加宽,且必须与小信号地分开。 6.5.2 硬件抗干扰措施 为提高系统的可靠性,除了对系统供电、接地及传输过程抗干扰以外,更重要的是在系统硬件设计时,根据不同的干扰采取相应的措施。 1隔离技术 单片机应用系统的干扰很大程度上来源于模拟输入通道,如传感器,A/D转换电路等。传统的方法是抑制相应的模拟信号干扰,如在输入回路中接入模拟滤波器,使用双积分式A/D转换器、V/I转换,采用专用隔离放大器等。由于单片机应用系统是一个数字模拟混合的系统,所以,采用数字隔离技术,即光电隔离技术将是更好的选择。 光电隔离是通过光电耦合器实现的。光电耦合器是将一个发光二极管和一个光敏三极管封装在一个外壳里的器
33、件,其电路符号如图所示。发光二极管与光敏三极管之间用透明绝缘体填充,并使发光管与光敏管对准,则输入电信号使发光二极管发光,其光线又使光敏三极管产生电信号输出,从而既完成了信号的传递,又实现了信号电路与接收电路之间的电气隔离,割断了噪声从一个电路进入另一个电路的通路,如图所示。除隔离和抗干扰功能以外,光电耦合器还可用于实现电平转换,如图所示。光电耦合的响应时间一般不超过几微秒。采用光电隔离技术,不仅可以把主机与输入通道进行隔离,而且还可以把主机与输出通道进行隔离,构成所谓“全浮空系统”。图6.8 光电耦合器符号 图6.9 光电隔离技术图6.10 光电耦合器的隔离电路和电平转换电路 2系统监控技术
34、 虽然采取了各种抗干扰措施,但由于各种原因,仍然可能出现掉电、飞程序、死机等系统完全失灵的情况。系统监控(也称作P即microprocessor监控)是针对上述情况而设置的最后一道防线,用以确保系统的可靠性。 系统监控电路完成以下任务: (1) 上电复位; (2) 监控电压变化; (3) Watchdog,即程序运行监控功能; (4) 片使能; (5) 备份电池切换; (6) 掉电保护等。 下面以美国MAXIM公司生产的系列系统监控专用芯片为例,讨论系统监控电路的工作原理及应用。 美国MAXIM公司推出的微处理机/单片机系统监控集成电路具有系统复位、备份电池切换、“看门狗”定时输出、电源电压监
35、测等多种功能,表给出了8种典型器件MAX703709/813L的主要功能。器件名称复位门限/V备份电池切换功能看门狗定时器门限值检测器手动复位复位脉冲输出波形复位脉冲MAX7034.65负脉冲200 msMAX7044.40负脉冲200 msMAX7054.65负脉冲200 msMAX7064.40/3.08/2.93/2.63负脉冲200 msMAX7074.65正、负脉冲200 msMAX7084.40/3.08/2.93/2.63正、负脉冲200 msMAX7094.65/4.40/3.08/2.93/2.63负脉冲280 msMAX813L4.65正脉冲200 ms表6.4 MAX70
36、3709/813L的主要功能 上述器件均为8引脚双列直插式封装,+5 V供电。典型的应用电路如图6.11(a)、(b)所示。下面就以这两个典型电路为例来介绍MAX系统监控专用芯片的主要功能和使用方法。 1) 复位功能 所有MAX器件均有复位功能,通常其RESET/引脚直接或经反相器与单片机的RESET引脚相连,如图所示。复位时序如图所示。当VCC低于复位门限时,对于复位信号输出为负脉冲的器件, 引脚为低电平;对于复位信号输出为正脉冲的器件(MAX813L),RESET引脚为高电平。此时单片机将停止任何操作,防止由于VCC过低造成的事故扩大。图6.11 典型系统监控电路(a) MAX705/70
37、6/813L系统监控电路;RESETVCCPFIMRGNDMCS-51VCCRESETINT0GNDVCCR1R2未稳压直流电源按钮开关稳压+5 VWD1WDOPFOINT1I/OMAX705MAX706MAX813L1RESETPFOVCCPFIMAX703/704VBATTMRVOUTGNDMCS-51VCCRESETINT0GNDCMOS RAMVCCGNDVCCR1R2未稳压直流电源按钮开关稳压+5 V3.6 V电池1总线 图6.11 典型系统监控电路 (b) MAX703/704系统监控电路图6.12 MAX703709的复位输出时序 2) “看门狗”功能 由于干扰或程序设计错误等各
38、种原因,程序在运行过程中可能会偏离正常的顺序而进入到不可预知、不受控制的状态,甚至陷入死循环,我们称为飞程序、死机。为防止这种情况造成重大损失,并让系统能够自动恢复正常运行,必须对系统运行进行监控,完成系统运行监控功能的电路或软件称为“看门狗”电路或“看门狗”定时器。其工作原理是系统在运行过程中,每隔一段固定的时间给“看门狗”一个信号,表示系统运行正常。如果超过这一时间没有给出信号,则表示系统失灵。“看门狗”将自动产生一个复位信号使系统复位,或产生一个“看门狗”定时器中断请求,系统响应该请求,转去执行中断服务子程序,处理当前的故障,如停机或复位等。图6.13 MAX705/706/813L“看
39、门狗”定时器时序 MAX705/706/813L具备“看门狗”定时器功能,其“看门狗”定时器时序如图所示。 如果在时间tWD=1.6 ms之内不触发“看门狗”输入引脚WDI,则“看门狗”输出引脚 将由高电平变为低电平。触发“看门狗”的方法是在WDI引脚加一个正脉冲。通常用单片机的一个I/O口(例如)来控制WDI,而将 接到单片机的中断输入引脚(如 ),如图所示。系统通过软件不断在I/O口输出正脉冲使 保持高电平,两次脉冲时间间隔不大于1.6 ms,则 永远为高电平,说明程序执行正常。 一旦单片机不能正常工作,如程序跑飞或死循环,则程序不能按时向I/O口发脉冲,当两次发出正脉冲的时间间隔大于1.
40、6 ms时, 将变为低电平,使单片机产生一个中断。在“看门狗”定时器中断服务子程序中将对系统做相应处理,使程序恢复正常运行,并重新触发WDI,则 又回到高电平并又从“0”开始计时。也可把 接到手动复位端 ,直接产生一个复位信号使系统复位,保证系统重新工作。 3) 主电源检测与备份电池切换 这一功能用于实现电源故障检测与掉电保护。 (1) 主电源检测。具备1.25 V门限值检测器的器件可以实现该功能。电源故障输入端PFI的电压与内部基准电压比较,如果PFI处电压低于1.25 V,则电源故障输出端 就变为低电平。单片机和RAM主要由VCC供电,称VCC为主电源。稳压后的VCC是由未稳压的直流电源经
41、稳压后得到的,VCC的降低是在“未稳压直流电压”降低后一段时间才会发生。为了及时发现VCC即将降低,应把未稳压的直流电源分压后接到PFI引脚,而把接到单片机的中断输入引脚 ,如图(b)所示。当PFI端的电压低于1.25 V时, 变为低电平,向单片机发出中断请求,单片机响应中断后可进行必要的紧急处理。 (2) 备份电池切换。当VCC超过门限电压时,VOUT便通过内部开关接到VCC,而断开与备用电池VBATT的连接;一旦VCC降到门限电压以下,VOUT将自动接通VCC与VBATT中较高的一个。如图(a)所示,把VOUT引脚接到CMOS RAM的电源端,那么在电源故障的情况下,仍可维持对CMOS R
42、AM的供电,RAM中的数据不会因掉电而丢失。 4) 手动复位 在某些系统中,有时需要手动复位。 即为手动复位引脚,当在引脚加一个宽度不小于140 ms的低电平时,不论是否回到高电平,“看门狗”都将复位,即“看门狗”又从“0”开始计数,同时还在 引脚产生复位脉冲。通常通过一个手动复位按钮开关接地,按下开关,即产生所需要的复位负脉冲。值得说明的是, 是与TTL/CMOS电平兼容的,因此,也可以用单片机的I/O线或某些报警信号来控制,构成报警监控系统。 6.5.3 软件抗干扰措施 一方面,单片机应用系统的干扰不仅影响硬件工作,也会干扰软件的正常运行,另一方面,软件设计本身对系统的可靠性也起着至关重要
43、的作用。随着微处理器性能的不断提高,用软件的方法来实现一些硬件的抗干扰功能,简便易行,成本低,因而愈来愈受到人们的重视。 软件对系统的危害主要表现在:数据采集不可靠、控制失灵、程序运行失常等几个方面。 为了避免上述情况发生,人们研究了许多对策。在这一节中,我们介绍几种简单易行又行之有效的软件抗干扰方法。 1数字滤波提高数据采集的可靠性 对于实时数据采集系统,为了消除传感器通道中的干扰信号,在硬件措施上常采取有源或无源RLC网络,构成模拟滤波器对信号实现频率滤波。随着单片机运算速度的提高,运用CPU的运算、控制能力也可以完成模拟滤波器的类似功能,这就是数字滤波。数字滤波的方法在许多数字信号处理的
44、专著中都有详细的论述,可以参考。下面介绍几种常用的简便有效的方法。值得注意的是,选取何种方法必须根据信号的变化规律进行选择。 (1) 算术平均法。对一点数据连续采样多次,计算其平均值,以其平均值作为采样结果。这种方法可以减少系统的随机干扰对采集结果的影响。一般取35次平均值即可。 (2) 比较取舍法。当控制系统测量结果的个别数据存在明显偏差时(例如尖峰脉冲干扰),可采用比较取舍法,即对每个采样点连续采样几次,根据所采数据的变化规律,确定取舍办法来剔除个别错误数据。例如,“采三取二”即对每个点连续采样三次,取两次相同的数据作为采样结果。 (3) 中值法。根据干扰造成数据偏大或偏小的情况,对一个采
45、样点连续采集多个信号,并对这些采样值进行比较,取中值作为该点的采样结果。 (4) 一阶递推数字滤波法。这种方法是利用软件完成RC低通滤波器的算法。 2控制状态失常的软件抗干扰措施 在大量的开关量控制系统中,控制状态输出常常依据于某些条件状态的输入及其逻辑处理结果。干扰的入侵,会造成控制条件的偏差、失误,致使控制输出失误,甚至控制失常。为了提高输入/输出控制的可靠性,可以采取以下抗干扰措施。 1) 软件冗余 在条件控制中,对控制条件的一次采样、处理、控制输出,改为循环地采样、处理、控制输出。这种方法对于惯性较大的控制系统有良好的抗偶然因素干扰的作用。 对于开关量的输入,为了确保信息准确无误,在不
46、影响实时性的前提下,可采取多次读入的方法(至少读两次),认为无误后(例如两次读入结果相同)再行输入。 有些执行机构由于外界干扰,在执行过程中可能产生误动作,比如已关(开)的闸门、料斗可能中途突然打开(关闭)。对于这些误动作,可以采取在应用程序中每隔一段时间(例如几个毫秒)发出一次输出命令,不断地开或关的措施来避免。 当读入按钮或开关状态时,由于机械触点的抖动,可能造成读入错误,可以采用硬件去抖或用软件延时去抖。 2) 软件保护 当单片机输出一个控制指令时,相应的执行机构便会工作,由于执行机构的工作电压、电流都可能较大,在其动作瞬间往往伴随火花、电弧等干扰信号。这些干扰信号有时会通过公共线路返回
47、到接口中,导致片内RAM、外部扩展RAM以及各特殊功能寄存器数据发生窜改,从而使系统产生误动作。再者,当命令发出之后,程序立即转移到检测返回信号的程序段,一般执行机构动作时间较长(从几十毫秒到几秒不等),在这段时间内也会产生干扰。 为防止这种情况发生,可以采用一种所谓软件保护的方法。其基本思想是,设置当前输出状态表(当前输出状态寄存单元),输出指令发出后,立即修改输出状态表。执行机构动作前即调用此保护程序,该程序不断将输出状态表的内容传输到各输出接口的端口寄存器中,以维持正确的输出控制。当干扰造成输出状态破坏时,由于不断执行保护程序,可以及时纠正输出状态,从而达到正确控制的目的。 3) 设置自
48、检程序 设置自检程序可在上电复位后及程序中间的某些点上插入自检,并显示、报警异常点,或自动关闭故障部分。单片机应用系统需要自检的部件有EPROM、RAM、I/O口等。EPROM进行自检的方法是奇偶校验。RAM自检的方法是交替写1和0并读出,形成AAH或55H的校验板模式。I/O口自检通常应预留自检口,这些自检口可成对相互连接或成对接VCC与地。例如,8155的PC7接VCC,PC3接地,读PC3,PC7,判断是否为0,1;PB7与PA7对接,在PA7口先后输出0和1,再从PB7口读入,即可判断I/O端口的读/写是否正确。 3程序运行失常的软件抗干扰措施 单片机应用系统引入强干扰后,程序计数器P
49、C的值可能被改变,因此会破坏程序的正常运行,被干扰后的PC值是随机的,这将导致程序飞出,即程序偏离正常的执行顺序。PC值可能指向操作数,将操作数当做指令码执行,并由此顺序地执行下去;PC值也可能超出应用程序区,将未使用的EPROM区中的随机数当作指令码执行。这两种情况都将使程序执行一系列非预计、无意义、不受控的指令,会使输出严重混乱,最后多由偶然巧合进入死循环,系统失去控制,造成所谓“死机”。 为了防止程序飞出及“死机”,人们研制出各种办法,其基本思想是发现失常状态后及时引导程序恢复原始状态。 1) 设立软件陷阱 所谓软件陷阱,是指一些可以使混乱的程序恢复正常运行或使飞出的程序恢复到初始状态的
50、一系列指令。主要有以下两种: (1) 空指令(NOP)。在程序的某些位置插入连续几个(三个以上)NOP指令(即将连续几个单元置成00H),不会影响程序的功能,而当程序失控时,只要PC指向这些单元(落入陷阱),连续执行几个空操作后,程序会自动恢复正常,不再会将操作数当作指令码执行,将正常执行后面的程序。这种方法虽然浪费一些内存单元,但可以保证不死机。通常在一些决定程序走向的位置,必须设置NOP陷阱,包括:0003H0030H地址未使用的单元。这是5个中断入口地址,一般用于存放一条绝对跳转指令,但一条绝对跳转指令只占用了3个字节,而每两个中断入口之间有8个单元,余下的5个单元应用NOP填满。 跳转
51、指令及子程序调用和返回指令之后。 程序段之间的未用区域。 也可每隔一些指令(一般为十几条指令)设置一个陷阱。 (2) 跳转指令“LJMP #add16”和“JB bit,rel”。当PC失控导致程序乱飞进入非程序区时,只要在非程序区设置拦截措施,强迫程序回到初始状态或某一指定状态,即可使程序重新正常运行或进行故障处理。利用“LJMP #0000H”(020000H)和“LJMP #0202H”(020202H)指令,将非程序区和未用的中断入口地址反复用“020000020000H”或“02020202H”填满,则不论程序失控后指向上述区域的哪一字节,最后都能强迫程序回到复位状态,重新执行;或转
52、去0202H地址执行抗干扰处理程序。 2) 加软件“看门狗” “看门狗”可以使陷入死机的系统产生复位,重新启动程序运行。“看门狗”功能可以由专门的硬件电路来完成,也可以由软件和定时器来实现。定时器的定时时间稍大于主程序正常运行一个循环的时间,而在主程序运行过程中执行一次定时器时间常数刷新。这样,当程序失常时,将不能刷新定时器时间常数而导致定时器中断,利用定时器中断服务子程序可将系统复位。一、保护器概述保护器安装在BGP系列、PBG系列及磁力起动器等矿用隔爆型高压开关内,以实现下述保护及其功能。1)数字显示当前电网电压值及负载电流值。2)监控负载电流,出现过载时,施行定时限及反时限保护;出现短路
53、时,施行定时限速断保护;出现断续过载时,对过载能量进行计算,施行定时限保护。6-3 应有系统设计实例-智能型高压综合保护器3)监视保护双屏蔽电缆的屏蔽芯线、屏蔽地线。4)电量型漏电保护,对下属电网中出现的单相接地故障,采用零序电流法,选择性检漏保护。5)监控进线电压,对进线电压不足额定值的65%或超过额定值的120%(数值由用户指定)时采取保护。6)功率方向性漏电保护,对下属电网中出现的单相接地故障采用功率方向法,选择性检漏保护。二保护器单片机控制系统的硬件结构1总体框图:原理框图如图所示,整个系统由以下几部分构成: 1)微机系统; 2)交流采样单元;3)脱扣跳闸单元; 4)人机交互接口单元;5)电源部分。图 保护器总体框图2主机与丛机的通讯为使CPU达到更快的实时响应速度,系统处理核心由两块CPU构成。一个为从机,专门负责从A/D获得数据并进行快速处理后将数据传送给主机。另一个为主机,负责键盘、液晶显示、时钟处理、以及与E2PROM通讯等。两块CPU间采用并行同讯,从机选用AT89C51,主机选用AT89C58。电路图如图所示。图 主机与从机通讯电路图 3从机与A/D的通讯本系统A/D转换采用ADC0809,该片子具有抗干扰能力强、接口简单易通用、价格经济转换速度较快的特点。它有八路模拟信号输入,通过对通道地址端ADD-
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年黄金饰品定制服务协议
- 专利实施许可标准协议版B版
- 混凝土加工运输合同范文
- 2024消防中控室值班员技能提升培训合同
- 租赁类汽车融资租赁合同
- 核桃技术服务合同
- 2024年空运货物赔偿限量协议3篇
- 人工智能技术开发与应用服务合同
- 2024年设备借款协议:设备描述与还款责任条款
- 3 游戏中的观察 第一课时 说课稿-2024-2025学年科学一年级上册教科版
- 医疗器械考试题及答案
- 初三家长会数学老师发言稿
- 国家重点风景名胜区登山健身步道建设项目可行性研究报告
- 投资计划书模板计划方案
- 《接触网施工》课件 3.4.2 隧道内腕臂安装
- 2024-2025学年九年级语文上学期第三次月考模拟卷(统编版)
- 责任护理组长竞选
- 法人代持免责任协议书(2篇)
- 闸站监理实施细则
- 高三课题研究报告范文
- 2024-2025学年湖北省恩施土家族苗族自治州数学六上期末检测试题含解析
评论
0/150
提交评论