1、第6章微机测控系统的神经中枢监控程序 第6章微机测控系统的神经中枢监控程序 6.1 测控系统监控程序的功能和组成测控系统监控程序的功能和组成6.2 监控主程序和初始化管理监控主程序和初始化管理6.3 键盘管理键盘管理6.4 显示、中断与时钟管理显示、中断与时钟管理6.5 系统自检系统自检思考题与习题思考题与习题第6章微机测控系统的神经中枢监控程序 6.1测控系统监控程序的功能和组成测控系统监控程序的功能和组成 6.1.16.1.1测控系统监控程序的作用与功能测控系统监控程序的作用与功能测控系统监控程序的主要作用是能及时地响应来自系统或仪器内部的各种服务请求,有效地管理测控系统自身的软、硬件资源
2、。其功能可归纳为:键盘和显示管理;中断管理;时钟管理;实现对系统自身的诊断处理;初始化、自动/手动切换、掉电保护等。第6章微机测控系统的神经中枢监控程序 6.1.26.1.2测控系统监控程序的组成测控系统监控程序的组成测控系统监控程序的组成主要取决于测控系统的组成规模,以及系统的硬件配备与功能。它通常由监控主程序、初始化管理、键盘管理、显示管理、中断管理、时钟管理、自诊断和自动/手动切换等模块组成,如图6-1所示。第6章微机测控系统的神经中枢监控程序 图6-1监控程序的基本组成 第6章微机测控系统的神经中枢监控程序 6.2监控主程序和初始化管理监控主程序和初始化管理 6.2.16.2.1监控主
3、程序监控主程序1.1.监控主程序的任务和存放位置监控主程序的任务和存放位置监控主程序是整个监控程序的管理程序,它起到引导测控系统进入正常工作过程,并根据测控要求来协调系统各软件模块的工作,从而实现控制系统硬件的作用。监控主程序一般都放在0000H单元开始的ROM中,系统上电复位后即进入监控主程序运行。监控主程序的任务是识别命令、解释命令并获得完成该命令的相应模块的入口地址。第6章微机测控系统的神经中枢监控程序 2.2.监控主程序的基本结构与运行过程监控主程序的基本结构与运行过程监控主程序通常包括可编程器件和输入/输出端口的初始化、初始参数的设定、自诊断管理模块、键盘显示管理模块以及中断管理和处
4、理模块等。由于各个微机测控系统的功能不同,硬件结构不同,程序编制方法不同,因而监控主程序没有统一的模式。但监控主程序除了初始化和自诊断外,其余部分必须构成一个循环,即测控系统的所有功能都在这一循环圈中周而复始地或有选择地执行,除非掉电或按复位(Reset)键,否则测控系统不会也不应该跳出这一循环。图6-2(a)和图6-2(b)分别给出监控主程序及相应中断管理程序的一般结构。第6章微机测控系统的神经中枢监控程序 图6-2监控主程序的一般结构(a)监控主程序流程;(b)中断服务程序流程 第6章微机测控系统的神经中枢监控程序 3.3.监控主程序设计应注意的问题监控主程序设计应注意的问题在编写各种功能
5、模块时,必须考虑到模块在运行时可能遇到的所有情况,保证任何模块运行后均能返回到主程序中的规定入口,特别要考虑到可能出现的各种意外情况。例如,做乘法时结果溢出,做除法时除数为零等,使程序不致陷入不应有的死循环或进入不该进入的程序段,导致程序无法正常运行。第6章微机测控系统的神经中枢监控程序 6.2.26.2.2初始化管理初始化管理1.1.可编程器件初始化可编程器件初始化可编程器件初始化是指对可编程硬件接口电路的工作模式的初始化。微机测控系统中常用的可编程器件有键盘显示接口8279、I/O扩展接口8155和8255、定时计数器接口8253等。这些器件的初始化都有固定的格式,只是格式中的初始化参数随
6、应用方式不同而已,因此,均可编成一定的子程序模块,随时调用即可。第6章微机测控系统的神经中枢监控程序 3.3.参数初始化参数初始化参数初始化是指对测控系统的整定参数(如PID算法的KP、TI、TD的初值)、报警值以及过程输入通道的数据与过程输出通道的数据初始化。系统的整定参数初值由被控对象的特性确定。对于过程输入通道的数据初值,例如采样初值、偏差初值、多路模拟开关的初始状态、滤波初值等,一般由测量控制算法决定。对于过程输出通道,通常都置模拟量输出为0状态或其他预定状态;置开关量输出为无效状态,如继电器处于释放状态等。根据结构化思想,通常把这些参数的初始化工作集中在一个模块中,以便集中管理,也有
7、利于实现模块独立性。第6章微机测控系统的神经中枢监控程序 6.3键盘管理键盘管理 6.3.16.3.1一键一义的键盘管理一键一义的键盘管理1.1.一键一义键盘的涵义一键一义键盘的涵义所谓一键一义,就是指一个按键只代表一个确切的命令或一个数字。对于这类键盘,编程时只要根据当前按键的编码把程序直接分支到相应的处理模块的入口,而无需知道在此以前的按键情况。第6章微机测控系统的神经中枢监控程序 2.2.一键一义键盘管理程序的设计技术一键一义键盘管理程序的设计技术键盘信号的获得有查询法、中断法和定时查询法三种。下面将分别讨论这三种方法的管理程序的设计技术。1)查询法查询法是由主程序通过循环扫描键盘来获取
8、键盘信息的。此方法对应的管理程序的设计思路是:微处理器周而复始地扫描键盘,当发现有键按下时,先判别是命令键还是数字键。若是数字键,则把该键值读入存储器,通常还进行显示;若是命令键,则根据键值查阅转移表,以获得键处理子程序的入口。处理子程序执行完后,返回键盘扫描。其程序流程图如图6-3所示。第6章微机测控系统的神经中枢监控程序 图6-3查询法管理程序流程图 第6章微机测控系统的神经中枢监控程序 一键一义键盘管理的核心是一张一维的转移表,在转移表内顺序登记了各个处理子程序的转移指令。设累加器A的内容为读到的某按键的键值,当键值小于10H时,为数字键;当键值等于或大于10H时,为命令键。以图6-3所
9、示的程序流程图为例,编写的查询法处理的一键一义监控程序如下:MOV R1,A CLR CSUBB A,10H ;判断是何种闭合键JNC DIGIT ;是数字键,转DIGITMOV DPTR,TBJ2 ;转换表首址DPTR 第6章微机测控系统的神经中枢监控程序 MOV A,R1 ANL A,0FH ;取出命令键码 ADD A,A ;键码加倍 JNC NADD INC DPH ;大于或等于256时,DPH内容加1NADD:MP A+DPTR ;执行处理子程序TBJ2:AJMP PROG1 ;转移表 AJMP PROG2 AJMP PROGnDIGIT:;数字送显示缓冲器,并显示 第6章微机测控系统
10、的神经中枢监控程序 2)中断法 所谓中断法,是指监控主程序平时不进行键盘扫描,只有当有键按下时便引起中断请求,然后在中断子程序中进行键盘扫描及按键的处理。这种方法需独自占用一个外部中断源。其管理程序流程图如图6-4所示。第6章微机测控系统的神经中枢监控程序 图6-4中断法管理程序流程图 第6章微机测控系统的神经中枢监控程序 3)定时查询法在定时查询法中,监控程序每隔一定时间查询一次键盘,由于时间间隔通常很短,因此对于操作者来说,键盘的响应是实时的。键盘的查询过程安排在定时中断程序中完成,常用于键盘操作并不频繁的测控系统。其管理程序流程图如图6-5所示。第6章微机测控系统的神经中枢监控程序 图6
11、-5定时中断法管理程序流程图 第6章微机测控系统的神经中枢监控程序 6.3.26.3.2一键多义的键盘管理一键多义的键盘管理1.1.一键多义的涵义一键多义的涵义一键多义是指一个按键有多种功能。在一键多义的情况下,一个命令不是由一次按键所决定的,而是由一个按键序列组成。即一个按键的含义除了取决于本次按键外,还取决于以前所按的键。第6章微机测控系统的神经中枢监控程序 2.2.一键多义键盘管理程序的设计技术一键多义键盘管理程序的设计技术采用一键多义的键盘管理,可使键盘硬件设计工作量减少,但软件相对复杂。因此对于一键多义键盘的管理,首先要判断一个按键序列(而不是一次按键)是否已构成一个合法命令,若已构
12、成合法命令,则执行命令,否则等待新按键输入。1)一键多义键盘管理程序的设计思路一键多义键盘的管理程序仍可采用转移表法进行设计,不过这时要用多张转移表。组成一个命令的前几个按键起着引导的作用,把控制引向某张合适的转移表,根据最后一个按键编码查阅该转移表,就找到了要求的子程序入口。第6章微机测控系统的神经中枢监控程序 按键的管理可以用查询法也可以用中断法。由于有些按键功能往往需执行一段时间,例如,修改一个参数,采用单键递增(或递减)方法,当参数的变化范围比较大时,运行时间就比较长,这时若用查询法处理键盘,会影响整个系统的实时处理功能。此外,微机测控系统的监控程序具有实时性,一般按键中断不应干扰正在
13、进行的控制运算(控制运算一般比按键具有更高的优先级,除非是“停止运行”等一类按键)。考虑到这些因素,常常把按键服务设计成比过程通道中断低一级的中断源。第6章微机测控系统的神经中枢监控程序 2)一键多义键盘的管理程序设计示例设一个8回路微机温控仪有6个按键:回路选择键C(回路号18,第8回路为环境温度补偿回路,其余为控温点)、参数设定键P(用来输入设定值,实测值,P、I、D参数值,上、下限报警值,输出控制值等8个参数)、加1键、减1键、运行键R和停止键S。显然,这些按键都是一键多义的。C键对应了8个回路,且第8回路(环境温度补偿回路)与其余7个回路不同,它只有实测值一个参数,没有其他参数。P键对
14、应了每一回路(除第8回路外)的8个参数。这些参数,有的需要执行加1、减1功能,如设定值,P、I、D参数,上、下限报警值;有的不能修改,如实测温度值。加1键和减1键的功能执行与否,取决于在它们前面按过的C键和P键;R键的功能执行与否,则取决于当前的C值。第6章微机测控系统的神经中枢监控程序 图6-6一键多义键盘管理程序流程 第6章微机测控系统的神经中枢监控程序 根据图6-6编写的一键多义管理程序如下。因无特定对象,各按键服务子程序略。设各键的编码为:R00H;S01H;02H;03H;C04H;P05H。内存RAM20H中高四位为通道(回路)号标记,低四位为参数号标记。假设8279命令口地址为7
15、FFFH,数据口地址为7FFEH。程序中保护现场部分略。第6章微机测控系统的神经中枢监控程序 KI:MOV DPTR,7FFFH MOV A,40H MOVX DPTR,A ;读FIFO命令送8279 MOV DPTR,7FFEH MOVX A,DPTR ;读按键编码 ADD A,A MOV DPTR,TBJ1;一级转移表入口地址DPTR JNC KI1 INC DPHKI1:JMP A+DPTR 第6章微机测控系统的神经中枢监控程序 TBJ1:AJMP RUN AJMP STOP AJMP INCR AJMP DECR AJMP CHAL AJMP PARARUN:JNB 07H,RUN1;
16、若C8,则转RUN1 RETIRUN1:LCALL RUN2 ;调用启运子程序 RETISTOP:LCALL STP1 ;调用停止当前回路运行的子程序RETI第6章微机测控系统的神经中枢监控程序 INCR:JNB 07H,INC1 ;若C8,则转INC1 RETIINC1:MOV R0,20H MOV A,R0 ANL A,0FH CJNE A,01H,INC2 ;若P1,则转INC2 RETIINC2:LCALL INC3 ;调用加1子程序 RETIDECK:;与INCR类似,略CHAL:MOV R0,20H MOV A,R0 ADD A,10H ;通道号加1 MOV R0,A ANL A,
17、0F0H 第6章微机测控系统的神经中枢监控程序 CJNE A,90H,CHA1 ;判C是否大于8 SETB 04H ;若C8,置C=1 CLR 07HCHA1:RETIPARA:JB 07H,C8 ;若C=8,则转C8 MOV R0,20H MOV A,R0 ADD A,01H ;参数序号P+1 JB 03H,PAR1 ;若P7,则转PAR1 MOV R0,A AJMP PAR2PAR1:CLR 03H ;若P7,置P=0第6章微机测控系统的神经中枢监控程序 PAR2:MOV DPTR,TBJ2 ADD A,A JNC KI2 INC DPHKI2:JMP A+DPTR;转二级表TBJ2:AT
18、MP C1P0 ;以下为通道号C对应各参数值P的子程序入口 AJMP C1P7 AJMP C2P0 AJMP C2P7 AJMP C7P7 C8:;对补偿回路的处理 第6章微机测控系统的神经中枢监控程序 6.3.36.3.3自动自动/手动切换手动切换 1.1.自动自动/手动切换的涵义手动切换的涵义自动/手动切换实质是系统工作方式的变换,即系统是采用自动方式连续运行,还是采用步进方式断续运行。所谓自动方式连续运行,是指测控系统在监控程序的控制下,实现自动测量、自动控制的过程。它的特点是在不改变测控初始参数或测控对象的情况下,无需人为干涉。而步进方式断续运行是指测控系统在系统调试或测试阶段,实现单
19、步测量、单步控制的过程。它的特点是必须在人的参与下完成既定测控任务。第6章微机测控系统的神经中枢监控程序 2.2.自动自动/手动切换的功能手动切换的功能在微机测控系统中,自动/手动切换主要有以下基本功能:(1)在手动操作方式时,能通过一定的手动操作来方便、准确地调整输出值;(2)能实现手动/自动的无扰动切换。第6章微机测控系统的神经中枢监控程序 3.3.自动自动/手动切换管理技术手动切换管理技术实现手动操作,有硬件方法和软件方法两种。目前大多数微机测控系统采用软件方法,由操作面板上的按键来实现。常用于自动/手动切换功能的按键有手动/自动切换键、控制对象选择键、手动进给加键和手动进给减键等。监控
20、程序通过判断手动/自动切换键的状态来进行工作方式的选择。在手动方式时,系统由操作面板上的手动操作部分的按键控制,一般先通过控制对象选择键来选择被控对象,再由进给加、减两键来调整输出值。第6章微机测控系统的神经中枢监控程序 应注意的是,在进行手动/自动切换时,必须保证无扰动。所谓手动/自动无扰动切换,是指在微机测控系统中,手动/自动工作状态的切换不会对系统运行产生冲击,即平滑过渡。实现系统手动/自动无扰动切换的主要措施是保证系统参量不跳变。在软件设计时,先开辟一个输出控制值单元,作为当前输出控制量的映像,无论是手动还是自动控制,都是对这一输出值的映像单元进行加或减,在输出模块程序作用下,输出通道
21、把此值送到执行机构上去,这样就实现了无扰动切换。因为手动和自动是针对同一输出控制量单元进行操作,因此当从自动切换到手动时,手动的初值就是切换前自动调节的结果;而从手动切换到自动时,自动调节的初值就是原来手动时的结果,无需做任何特别的处理。这种方法不增加硬件投入,是一种切实可行的方案。其缺点是当主机、输出通道等硬件电路发生故障时,手动控制也就无法实现了。第6章微机测控系统的神经中枢监控程序 6.4显示、中断与时钟管理显示、中断与时钟管理 6.4.16.4.1显示管理显示管理1.1.测控系统的显示方式测控系统的显示方式微机测控系统的显示方式目前主要有模拟指示、数字显示和模拟数字混合显示三种。模拟指
22、示主要指采用模拟表头作为显示器件,一般只要在过程输入通道的模拟量部分取出信号送入指示仪表即可,无需软件管理;数字显示主要指采用LED、LCD或CRT作为显示器件,需要相应的软、硬件支持。这里的显示管理是针对数字式显示而言的。第6章微机测控系统的神经中枢监控程序 2.2.显示管理软件的基本任务与实现方法显示管理软件的基本任务与实现方法1)显示数据的刷新显示管理软件在输入通道采集到一个新的过程参数或操作人员键入一个参数或测控系统出现异常情况时,应及时刷新当前的显示数据或显示特征符号。在软件设计时,为了使过程信息、按键内容与显示缓冲器相衔接,设计人员可在用户RAM区开辟一个参数区域,作为显示管理模块
23、与其它功能模块的数据接口。第6章微机测控系统的神经中枢监控程序 2)多参数的巡测和定点显示管理对于一个多路测控系统,每一路都有一个实测值。由于系统不可能为每一路的参数都设计一组显示器,因此,通常都采用巡回显示的方法并辅以定点显示功能,即在一般情况下作巡回显示,而当操作人员对某一参数特别感兴趣时,可中止巡回方式,进入定点跟踪方式。巡回显示和定点显示之间的切换由面板按键控制。在定点显示方式中,显示管理软件只是不断地刷新当前显示的参数值,而不改换通道或参数。在巡回显示方式的显示管理软件中,每隔一定时间(例如2s)改换一个新的显示参数,并显示该值。值得指出的是,延时时间一般不采用软件延时的方法,因为在
24、软件延时期间,主机不能做其他事。第6章微机测控系统的神经中枢监控程序 3)指示灯显示管理为了实现报警功能或被控对象工作状态的指示,微机测控系统常在面板上设置一定数量的指示灯。指示灯的管理通常由与该指示灯有关的功能模块直接管理,例如,上、下限报警模块直接管理上下报警指示灯,也可在用户RAM中开辟一个指示灯状态映像区,由各功能模块改变映像区的状态,该模块由监控主程序中的显示管理模块来管理。第6章微机测控系统的神经中枢监控程序 6.4.26.4.2中断管理中断管理1.1.中断在测控系统中的作用中断在测控系统中的作用由于微机测控系统的各个被测、被控对象要求微机为其服务是随机出现的,这样微机就要及时进行
25、处理。所以,若在监控软件中采用定时扫描会造成系统响应的迟滞,这种迟滞有可能会对系统产生较严重的后果。为此,提高各种可能事件的实时处理能力已成为测控系统不可回避的问题。中断功能的引入是提高系统实时处理能力最有效的手段。几乎所有的微机测控系统都具有中断功能,即允许被控过程的某一状态、实时时钟或键操作等,均可中断正在进行的工作,转而处理该过程的实时问题,当这一处理工作完成后,再返回执行原先的任务。第6章微机测控系统的神经中枢监控程序 2.2.测控系统中的中断源测控系统中的中断源能够发出中断请求信号的外设或事件称为中断源。微机测控系统中常见的中断源有过程通道、实时时钟、面板按键、通信接口和系统故障等。
26、第6章微机测控系统的神经中枢监控程序 3.3.中断响应过程中断响应过程微机测控系统上电复位后,一般中断处于封锁状态。需在初始化软件中,进行中断的相关设置,再经过监控主程序执行一条“开中断”命令后,才能使测控系统一旦发现中断,即可进入中断工作方式。中断响应过程如下:(1)保护断点地址并关中断,防止其他中断干扰本中断;(2)按中断源提供的中断矢量转入相应的中断服务程序;(3)自动撤除本次中断请求(有些中断标志需软件复位);第6章微机测控系统的神经中枢监控程序(4)保护现场,即在中断服务程序开始时,必须将服务程序所占用的资源(例如累加器、进位位、专用的寄存器等)暂时保护起来,并在服务程序结束时再恢复
27、其内容;(5)如果允许响应更高级别的中断,则在保护现场后再将中断开放,并在中断返回前再次关中断;(6)在中断服务结束后,恢复现场,以便返回到被中断的程序。第6章微机测控系统的神经中枢监控程序 4.4.中断开放的时机中断开放的时机通常中断的开放是在中断设置完成后进行的。当有两个以上的中断源时,要根据测控系统的功能特点,先确定它们的优先级,再开放中断;若CPU正在响应某中断时,在中断服务程序保护现场之后,应开放中断,以响应更高级别中断源的中断请求,但应屏蔽掉同级或较低级的中断请求。总之,中断的开放时机要根据系统的具体设计要求来合理设置。第6章微机测控系统的神经中枢监控程序 5.5.中断管理软件的基
28、本构成中断管理软件的基本构成不同的微处理器的中断结构不同,处理方法也不同。软件设计人员应充分掌握所选用的微处理器的中断结构,以设计相应的中断模块。中断模块分为中断管理模块和中断服务模块两部分。微处理器响应中断后所执行的具体服务内容,由各测控系统的功能决定。与前面的中断响应过程相对应,中断管理软件模块通常应包括以下功能:保护现场;如果允许中断嵌套,则再次开放中断;中断服务;中断服务结束后恢复现场;中断返回。其基本流程如图6-7所示。第6章微机测控系统的神经中枢监控程序 图6-7中断管理程序流程第6章微机测控系统的神经中枢监控程序 6.6.中断优先级的设置与判定中断优先级的设置与判定不同的微处理器
29、的中断优先级各不相同,一般不可屏蔽中断源的优先级别最高,可屏蔽中断源也有默认的优先级别,在设置时,由设计人员根据系统的功能特点来确定。这里以MCS-51单片机为例来进行说明。MCS-51单片机有57个中断源,其默认的中断优先级别顺序是:(最高)INT0T0INT1T1串行口(最低)。若需要改变默认顺序,可在中断初始化设置时,对IP寄存器进行设置即可。对于相同类型的多个中断源情况,如MCS-51单片机的INT0(INT1),可以采用如下两种方法来进行识别。第6章微机测控系统的神经中枢监控程序(1)利用定时/计数器的外部事件计数输入端(T0或T1),作为边沿触发的外部中断输入端,这时定时/计数器应
30、工作于计数器方式,计数寄存器应预置满度数。(2)每个中断源都接在同一个外部中断输入端(INT0或INT1)上,同时利用输入口来识别某装置的中断请求,具体电路如图6-8所示。第6章微机测控系统的神经中枢监控程序 图6-8多中断识别电路 第6章微机测控系统的神经中枢监控程序 图6-8中,外部中断输入引脚INT0上接有4个中断源,集电极开路的非门构成或非电路,无论哪个外部装置提出中断请求,都会使INT0引脚电平变低。究竟是哪个外部装置申请的中断,可以查询P1.4P1.7的逻辑电平获知,这4个中断源的优先级由软件决定。下面是有关的程序片断,中断优先级按装置14由高到低的顺序排列。第6章微机测控系统的神
31、经中枢监控程序 LJMP INTRPT INTRPT:PUSH PSW PUSH A JB P1.7,DINTR1 JB P1.6,DINTR2 JB P1.5,DINTR3 JB P1.4,DINTR4 BACK:POP A POP PSW RETI第6章微机测控系统的神经中枢监控程序 DINTR1:;装置1中断服务程序 AJMP BACKDINTR2:;装置2中断服务程序 AJMP BACKDINTR3:;装置3中断服务程序 AJMP BACKDINTR4:;装置4中断服务程序AJMP BACK 第6章微机测控系统的神经中枢监控程序 7.中断管理软件的设计技术中断管理软件的设计技术 中断管
32、理软件包含中断初始化设置和中断服务程序两部分。在初始化管理中,第一要完成堆栈指针的设置;第二要对各中断源的触发标志位进行设定;第三是对有初始参量的中断源,应设置初始参量(如定时/计数中断源),并发出启动命令;第四是当存在多个中断源时,应根据系统要求设置中断优先权;第五是开中断。中断服务程序可按照上述基本流程编写。第6章微机测控系统的神经中枢监控程序 6.4.36.4.3时钟管理时钟管理1.1.时钟管理的功能时钟管理的功能时钟是微机测控系统中不可缺少的组成部分,主要作为定时器,并用于以下7个方面:(1)过程输入通道的数据采样周期定时;(2)过程输出通道控制周期的定时;(3)参数修改按键数字增减速
33、度的定时(对一些采用/两个按键来修改参数的测控系统,通常总是先慢加、减几步,然后快加、减或呈指数速度变化);第6章微机测控系统的神经中枢监控程序(4)多参数巡回显示时的显示周期定时;(5)动态保持方式输出过程通道的动态刷新周期定时;(6)电压频率型A/D转换器定时电路;(7)故障监视电路(Watchdog)的定时信号。第6章微机测控系统的神经中枢监控程序 2.2.实现定时的方法与技术实现定时的方法与技术实现上述各种定时,不外乎使用硬件、软件两种方法。硬件方法是采用可编程定时/计数器接口电路(如8253)以及微处理器内的定时电路。使用时,只要在监控主程序的初始化程序或时钟管理程序中,对它进行工作
34、方式预置和时间常数预置即可。但由于受到硬件上的限制,这种定时方法的定时间隔不可能太长,也难以用一两个定时器实现多种不同时间的定时。软件延时方案虽然简单,仅编写一段程序虽无需硬件成本,但要占用大量的CPU时间,且实时性差,定时精度低,是一种不可取的方法。第6章微机测控系统的神经中枢监控程序 软、硬件结合定时的实现方法是:首先由硬件定时电路产生一个基本的脉冲,当硬件定时时间到,就产生一中断,CPU响应中断后使监控主程序转入时钟中断管理模块。在设计软件结构时,可以串行或并行方式设置几个软件定时器(在用户RAM区)。若一个定时间隔是另一个的整数倍,软件定时器可设计成串行的;若不是整数倍,则可设计成并行
35、的。当硬件定时中断一到,这些软件时钟分别用累加或递减方法计时,并由软件来判断是否溢出或回零(即定时时间到),这一程序段一般不会很长,故对测控系统的实时性影响极小。采用这一方法,可方便地实现多个定时器功能。时钟管理模块的任务仅是在监控主程序中对各定时器预置初值和在响应时钟中断过程中判断定时时间是否已到。一旦时间到,则重新预置初值,并建立一个标志,以提示应该执行上述7种功能中的某项服务程序。服务程序的执行一般都安排在时钟中断返回以后进行,通过查询中断过程中建立的标志状态来决定是否执行该功能。第6章微机测控系统的神经中枢监控程序 6.5系统自检系统自检 6.5.16.5.1系统自检的方式与内容系统自
36、检的方式与内容1.1.自检的定义与作用自检的定义与作用自检就是利用事先编制的程序对测控系统的主要部件进行自动检测,以确定是否有故障以及故障的内容和位置。自检是微机测控系统应具备的基本功能之一,也是提高可靠性和可维护性的重要手段之一。第6章微机测控系统的神经中枢监控程序 2.2.自检的基本原理自检的基本原理自检的实质就是故障诊断,其基本原理是向被检部件输出试验数据,然后采样运行后的反馈结果数据,并对其结果进行分析,确定故障的内容和位置。试验数据、反馈结果数据和故障的对应关系应在故障诊断前准备好。第6章微机测控系统的神经中枢监控程序 3.3.测控系统的自检方式测控系统的自检方式微机测控系统的自检方
37、式可分为开机自检、周期性自检和键盘自检三种类型。(1)开机自检:是在电源接通或系统复位之后进行的。自检中如果没发现问题,就进入测控程序;如果发现问题,则及时报警,以避免测控系统带“病”工作。开机自检是对测控系统正式投入运行之前所进行的全面检查。第6章微机测控系统的神经中枢监控程序 (2)周期性自检:是指在测控系统运行过程中,间断插入的自检操作,这种操作可以保证测控系统在使用过程中一直处于正常状态。周期性自检不影响测控系统的正常工作,因而只有当出现故障并给予报警时,用户才会觉察。(3)键盘自检:具有键盘自检功能的测控系统面板上应设有“自检”按键,当用户对系统的可信度产生怀疑时,便可通过该键来启动
38、一次自检过程。第6章微机测控系统的神经中枢监控程序 4.4.测控系统自检的内容测控系统自检的内容自检过程中,如果检测到系统出现某些故障,应该以适当的形式发出指示。微机测控系统一般都借用本身的显示器,以文字或数字的形式显示“出错代码”,出错代码通常以“ErrorX”字样表示,其中“X”为故障代号,操作人员根据“出错代码”,查阅操作手册,便可确定故障内容。除了给出故障代号之外,往往还给出指示灯的闪烁或者音响报警信号,以提醒操作人员注意。微机测控系统的自检项目与其功能、特性等因素有关。一般来说,自检内容包括ROM、RAM、总线、显示器、键盘以及测控电路等部件的检测。测控系统能够进行自检的项目越多,使
39、用和维修就越方便,但相应的硬件和软件也就越复杂。第6章微机测控系统的神经中枢监控程序 6.5.26.5.2系统自检的实现系统自检的实现1.ROM/EPROM1.ROM/EPROM的自检的自检ROM/EPROM是程序存储器,存放着测控系统的控制软件。在运行过程中ROM/EPROM表征为只读存储器,其自检常用“校验和”的方法。其具体方法是:在将程序机器码写入ROM/EPROM的时候,保留最后一个单元写入“校验字”,“校验字”应能满足ROM/EPROM中所有单元的每一列都具有奇数个1。自检程序对每一列数进行异或运算,如果ROM/EPROM无故障,各列的运算结果应都为“1”,即校验和等于FFH。其校验
40、和算法如表6-1所示。但这种算法不能发现同一位上的偶数个错误,若要考虑,须采用更复杂的校验方法。第6章微机测控系统的神经中枢监控程序 表表6-1校验和算法校验和算法 第6章微机测控系统的神经中枢监控程序 2.RAM2.RAM的自检的自检数据存储器RAM自检可通过校验其“读写性能”的有效性来实现。通常选用特征字55H(01010101B)和AAH(10101010B),分别对RAM每一个单元进行先写后读的操作,其自检流程如图6-9所示。第6章微机测控系统的神经中枢监控程序 图6-9RAM自检流程图 第6章微机测控系统的神经中枢监控程序 3.3.总线的自检总线的自检在微机测控系统中,系统总线往往都
41、经过缓冲器再与各I/O器件或插件等相连接。由于总线没有记忆能力,因此总线自检只能是针对总线缓冲器而言,即对微处理器到缓冲器这部分的总线进行检测,但对于缓冲器以外的总线出现了故障就无能为力了。其具体方法是:设置两组锁存触发器,分别用于记忆地址总线和数据总线上的信息。操作时,只要执行一条对存储器或I/O设备的写操作指令,地址线和数据线上的信息便能分别锁存到这两组8D触发器(地址锁存触发器和数据锁存触发器)中。通过对这两组锁存触发器分别进行读操作,便可判知总线是否存在故障。其自检电路原理如图6-10所示。总线自检程序应该对每一根总线分别进行检测,方法是让被检测的每根总线依次为“1”,其余为“0”。若
42、某根总线始终为“0”(或1),则说明有故障。第6章微机测控系统的神经中枢监控程序 图6-10总线自检电路原理 第6章微机测控系统的神经中枢监控程序 4.4.显示器与键盘的自检显示器与键盘的自检一般显示器、键盘等I/O设备的自检都需要操作者配合进行。其自检方法为:先进行一系列预定的I/O操作,然后操作者对这些I/O操作的结果进行验收,如果结果与预先的设定一致,就认为功能正常,否则,应对有关I/O通道进行检修。键盘的自检方法是,CPU每取得一个按键闭合的信号,就反馈一个信息。如果按下某单个按键无反馈信息,则说明该键接触不良;如果按某一排键均无反馈信号,则说明一定与对应的电路或扫描信号有关。第6章微
43、机测控系统的神经中枢监控程序 显示器的自检一般有两种方式:一是让各显示器全部发亮,即显示出888,当显示表明显示器各发光段均能正常发光时,操作人员只要按任意键,显示器应全部熄灭片刻,然后脱离自检方式进入其他操作;二是让显示器显示某些特征字,几秒钟后自动进入其他操作。第6章微机测控系统的神经中枢监控程序 6.5.3系统自检软件的编写技术系统自检软件的编写技术系统的各个自检项目一般应该分别编成子程序,以便需要时调用。若各子程序的入口地址为TSTi(i=0,1,2),故障代号为TNUM(0,1,2),编程时,用故障序号通过表6-2的测试指针TSTPT来寻找某一项自检子程序入口,若检测有故障发生,便显
44、示其故障代号TNUM。对于周期性自检,由于它是在测量间隙进行的,为不影响测控系统的正常工作,有些周期性自检项目不宜安排,例如,显示器周期性自检、键盘周期性自检、破坏性RAM周期性自检等。而对开机自检和键盘自检则不存在这个问题。第6章微机测控系统的神经中枢监控程序 表表6-2测试指针表测试指针表 第6章微机测控系统的神经中枢监控程序 思考题与习题思考题与习题 1.监控程序包括哪些部分?简述各部分的作用。2.试述一键一义和一键多义键盘管理的实现方法。3.微机测控系统中常见的中断源有哪些?说明中断的过程以及中断管理程序的设计方法。4.试述时钟在微机测控系统中的应用,并举例说明定时的实现方法。5.为什么微机测控系统要具备自检功能?自检方式有哪几种?常见自检内容有哪些?