您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文化 > 基于单片机的智能温度巡检仪设计
1第2章基于单片机的智能温度巡检仪设计对于工业过程小型测控设备或者专用的智能化仪表,自动化工作者一般是采用以单片微型计算机为核心,配以相应接口电路的模式来实现。单片机本身只是一个微控制器芯片,只有当它和外围电路有机地组合在一起,并配置适当的工作程序后,才能构成为一个单片机智能应用系统。本章以工业生产过程中最基本的温度参数测量为例,说明一台智能温度巡检仪的设计思路、硬件配置、软件编程、系统结构及调试考核过程。2.1设计任务2.1.1主要功能为了满足工业生产过程监控的要求,设计的智能温度巡检仪应当具有如下功能:能与常用温度传感器配合检测多路温度,本例是与温度传感器Pt100型铂热电阻配合,巡回检测8路温度;可选择定点显示方式,也可选择巡回显示方式;在全量程内,可设定超限报警值,当实测温度超过设定值时,发出报警信号且有常开接点输出;将检测的每路温度转变为与之线性对应的4~20mA电流输出;支持RS-485通信方式,方便组成局域监控网络,使实测温度、温度超限设定值等参数在网络中共享。2.1.2技术指标•测量范围:200℃~850℃。•测量精度:优于0.5级。•温度巡检周期:1s。•巡回显示周期:以秒为单位,可选定。•工作环境温度:0℃~50℃。•相对湿度:小于85%。•供电电源:220VAC,±10%,50Hz。•结构形式:盘装式。•外形尺寸:160mm(长)×80mm(宽)×160mm(深)。开孔尺寸:152mm×76mm。2.2总体设计首先要确定实现主要功能与技术指标的硬件、软件的总体设计方案。必须遵守以下三个设计理念。①智能温度巡检仪是以单片机为核心的嵌入式系统,有些功能既可以通过软件编程实现,也可以通过硬件配置实现,应当遵守“能软不硬”的理念,即凡是能够用软件方案实现的功能就不用硬件方案实现,其目的是降低制造成本。软件方案只需在软件开发设计中一次性投入,一旦开发成功,在制造过程中将降低材料成本和安装成本,同时能够提高整机的可靠性。任何电子元器件都有老化失效的问题,整机的可靠性与采用元器件的数量成反比,减少使用的元器件数量,就相当于提高了整机的可靠性。②设计过程应当兼顾技术指标与经济指标,技术指标再高的仪表设备,如果制造成本高、售价高,将不会有市场前景。③在设计过程中,选用的元器件与材料的市场供应渠道必须畅通。电子元器件、电子材料的发展日新月异,必须选用目前市场敞开供应的元器件与材料,否则将给日后的制造与维护带来很多麻烦。如果设计中选用了一些早已淘汰的元器件,将无法实现样机的研发。即便样机开发成功,以后生产制造中的材料采购也十分困难。1.硬件总体方案主机电路采用以8位单片机为核心的方案,片内要有足够多的资源,尽量减少扩展外部功能芯片,减小体积,降低造价。单片机要有如下资源:1.足够的片内程序存储器,容量不小于20KB22.足够的片内数据存储器,容量不小于256B3.定时器/计数器不少于3个。(通讯和A/D转换要求)。4.中断源不少于3个5.有串行通讯接口6.有通用I/O接口为保证测量精度,前向通道A/D分辨率不低于12位。为了降低造价,8路温度通道通过多路开关技术,公用一个放大器、一个A/D转换器。后向通道的多路模拟量输出,采用一个D/A转换器,8路保持器,利用软件定时刷新的方法实现多路模拟量输出。人机接口的显示器采用LED数码管,其亮度高,有效观测距离远,成本低。按键采用薄膜按键,手感好,寿命长。通讯接口采用RS-485传输技术,方便按照总线式网络拓扑组成局域测量网络,而且RS-485传输技术成熟,成本低。2.软件总体方案软件任务比较简单,不需要嵌入操作系统,主要包括监控程序、人机服务程序、数据采集处理程序、通信服务程序几部分。为了保证实时性要求,提高运行效率,采用ASM51汇编语言编制。3.外形结构方案按盘装仪表结构设计,其外形结构尺寸、安装尺寸、安装方式、接线方式与常规测试仪表保持一致,便于替代传统测试仪表。2.3硬件系统及驱动程序设计8路温度巡检仪的硬件由主机电路、前向通道、后向通道、人机接口电路、通信接口及供电电源几部分组成,如图所示。其中,主机电路由CPU、数据存储器、程序存储器、EEPROM存储器、定时器/计数器、通用异步串行收发器、中断控制器、WDT定时器及通用并行接口等部件组成;前向通道电路由Pt100转换电路、滤波电路、多路模拟开关电路、放大电路、A/D转换电路组成;后向通道电路由D/A转换电路、多路模拟开关电路、V/I转换电路、继电器驱动电路组成;人机接口电路由按键和LED数码管组成;通信接口电路由RS-485接口电路组成;供电电源电路分别向系统数字电路提供逻辑5V电源,向模拟电路提供±12V与±5V模拟电源。2.3.1主机电路设计主机电路设计的核心是选择一款恰当的嵌入式处理器,其处理速度、内含的存储器容量、内含的功能部件尽可能满足系统要求,同时,市场售价满足整机硬件成本要求。系统对处理速度的要求:根据设计任务中关于温度巡检周期为1s,巡检8路的要求,处理器应当在1/8s,即125ms内完成1路温度的数据采集、标度变换、线性化处理、显示等各项任务。在一般情况下,以上所列任务在8位微处理器中可以通过执行2000条指令实现,以执行每条指令需要2us来计算,共需要4000us,即4ms。比起系统要求的125ms来说明相差甚远。所以,对8路温度巡检仪这样一个系统来讲,一般8位微处理器的处理器的处理速度完全可以满足需要。系统对程序存储器的要求:就设计任务中规定的功能及技术指标而言,软件任务的复杂程度一般,当采用汇编语言编程实现时,一般5000条指令可以完成全部编程任务。以MCS51指令代码效率推算,每条指令平均占有2B,共需10000B即10KB的程序存储器容量。系统对数据存储器的要求:数据存储器主要作为计算缓冲区、堆栈区、实时数据存储区、中间数据存储区使用,对本设计任务而言,一般200~300B可以满足需要。3系统对EEPROM存储器的要求:EEPROM存储器的使用性能是指,程序运行时可以向其中写入数据或擦除数据,当系统关机或掉电时,写入的数据能够可靠长久的保留。它主要用来存储使用者存储的数据,如巡回检测的路数(8路温度巡检仪在使用中可以根据需要设定巡检路数)、超限报警值、巡回显示周期。也可以存储系统标定数据,如各路温度A/D转换的零点值与满度值、零点迁移值等,这些数据都是以微处理器为核心的智能仪表基本的系统数据。对本设计任务而言,一般200~300B能够满足要求。系统对定时器/计数器的要求:8路温度巡检仪属于实时性很强的嵌入式系统,实现实时性操作的硬件基础是定时器。对本设计任务来讲,需要1路定时器来产生时钟节拍,实现实时操作;需要1路定时器来作为串行通信的波特率产生器;需要1路定时器来实现A/D转换操作,因此至少需要3路定时器/计数器。系统对中断控制的要求:根据设计任务要求,软件任务主要有:通信服务、每路A/D转换完成时的数据采集与打开下一输入通道、温度计算、人机接口服务共4项任务。其中,通信服务、A/D转换服务的实时性很强,需要通过2个中断源,2级中断管理实现。系统时钟需要通过中断提供实时操作。因此,必须有不少于3个中断源、2级中断的中断控制机制,以便根据各项任务的实时性要求进行抢占式调度。系统对通用异步串行收发器(UART)的要求:为了支持RS-485通信,必须有1路UART。系统对硬件抗干扰的要求:迄今为止,看门狗定时器(WDT,WatchdogTimer)是微机系统唯一完全有效的硬件抗干扰措施,因此系统必须采用WDT。系统对通用并行接口(GPIO)的要求:为了实现主机电路与前向通道、后向通道、人机接口部分的硬件接口,主机电路应当具备20~30个GPIO。综合上述各项要求,采用以MCS-51为内核的美国ATMEL公司生产的AT89C55WD单片机比较适宜。1.AT89C55WD单片机的片内资源及性能与MCS-51系列单片机指令系统兼容,引脚兼容。内部具有可重复编程的20KB的Flash型程序存储器,重复编程次数达1000次。工作电压范围:4~5.5V。时钟频率:静态到33MHz,当时钟频率选择33MHz时,以每条指令执行时间平均为2个机器周期进行计算,CPU处理速度达1.375MIPS,即每秒可执行137.5万条指令,处理速度非快。256B数据存储器。32根可编程I/O口线。3个16位定时器/计数器。6个中断源,2级中断优先级。1个可编程的UART。具有闲置方式与掉电方式两种省电工作方式。1个WDT硬件定时器。2个数据指针。2.X5045性能简介由于选定的单片机AT89C55WD内部没有EEPROM存储器,而单片机上电时必须有自动复位电路,因此主机电路中除了单片机外,必须扩展EEPROM存储器和上电复位电路。美国XICOR公司生产的X5045集成芯片,集4项功能于一身,除了内部具有EEPROM存储器外,还有上电复位功能、WDT功能、电源电压监控功能。具体指标如下:①内部具有WDT电路,可以编程选择WDT超时周期。②具有低电压监测和强制复位功能。③具有上电复位控制功能。图2-2X5045的引脚布置④内含4Kbit的EEPROM存储器,可以编程选定进行分块保护,保证重要数据存储的可靠性⑤支持高达33MHz的时钟频率。4⑥功耗低,工作电流小于50A,便于电池供电。(1)引脚描述X5045的引脚布置图如上图所示,由于X5045采用SPI接口,因此使用有限几条I/O口线,就能实现与单片机的接口。各引脚功能说明如下。串行输出(SO):SO是串行数据输出引脚。在读周期内,数据在此引脚上移出,数据由串行时钟的下降沿同步输出。串行输入(SI):SI是串行数据输入引脚。所有操作码、字节地址及写入存储器的数据均在此引脚上输入。数据由串行时钟上升沿锁存。串行时钟(SCK):串行时钟用于数据输入和输出的串行总线定时。操作码、地址或出现在SI引脚上的数据在时钟输入的上升沿锁存,而SO引脚上的数据在时钟输入的下降沿之后发生改变。片选信号(CS):当CS为高电平时,X5045不被选择,SO输出引脚处于高阻状态。写保护(WP):当WP为低电平时,向X5045的写操作被禁止,但是器件的其他功能仍正常。当WP保持高电平时,所有的功能,包括写操作,都正常。复位(RESET):X5045的RESET高电平有效。漏极开路的输出端,只要Vcc下降至低于最小Vcc检测电平,RESET变为高电平。它将保持高电平直至Vcc上升到最小Vcc检测电平200ms为止。如果允许看门狗定时器工作且CS保持低电平的时间大于看门狗超时周期,那么RESET也变为高电平。CS的上升沿将复位看门狗定时器。Vcc、Vss为x5045的电源引脚和地引脚。(2)指令集X5045的各种操作,包括写使能锁存器的置位与复位、读/写状态寄存器、读/写EEPROM,都是通过向X5045发出有关指令进行的。指令集如表2-1所示。表2-1X5045指令集(3)写使能锁存器X5045包含一个写使能锁存器。在内部完成写操作之前,此锁存器必须被设置(SET)。WREN指令可设置锁存器而WRDI指令将复位锁存器。在上电情况下和字节、页或状态寄存器写周期完成之后,该锁存器自动复位。如果变为低电平,则锁存器也被复位。(4)状态寄存器RDSR指令提供对状态寄存器的访问。在任何时候都可以读状态寄存器,即使在写周期也如此,状态寄存器的格式如表2-2所示。表2-2状态寄存器的格式指令名指令格式操作WREN00000110设置写使能锁存器(允许写操作)WRDI00000100复位写使能锁存器(禁止写操作)RDSR00000101读状态寄存器WRSR00000001写状态寄存器(块锁定位)READ0000A8011从开始于所选地址的存储器阵列中读出数据WRITE0000A8010把数据写入开始于所选地址的存储器阵列(1~4B)576543210XXWD1WD0BL1BL0WELWIP状态寄存器各位的意义说明如下WIP(Write_In_Process):该位表示“正在写”状态。当该位为“l”时,写操
本文标题:基于单片机的智能温度巡检仪设计
链接地址:https://www.777doc.com/doc-3724696 .html