- 相关推荐
基于PIC单片机的便携式测试记录仪设计
以追求高可靠、低功耗、小体积设计思想的本记录仪具有如下功能:对现场物理量进行实时采集、保存、处理与显示;自动识别现场安装的传感器数量、传感器号和量程;自动和手动两种采集方式,自动采集适用于长期无人值班的固定场合,手动采集便于对分布在不同区域的物理量进行测试;与PC机通讯,可根据需要将采集数据下载至PC数据库;实时打印;自检功能,避免了系统运行过程中可能遇到本身无法容错处理的异常事件而导致的死机现象。
1 硬件设计
1.1 总体设计原则
根据高可靠、低功耗、小体积的设计思想及应用对象几乎对采集速度无要求(此处指系统本身的采集速度已远远超过实际应用要求)的特性,总体设计原则是: 元器件采用低功耗、宽范围工作电源的CMOS集成电路;总线采用口线少的串行总线;允许情况下,尽量用软件实现硬件功能,用中断代替查询工作方式;一旦系统空闲则立即使其进入低功耗休眠状态,当需要时再用外部中断予以唤醒。
1.2 硬件组成
根据总体设计原则,硬件组成如图1所示。其中:单片机为美国MicroChip公司的中档产品PIC16C74,+5V供电、4MHz主频时功耗低于2mA;E2PROM存储阵列由超低工作电压(+2.5V~+5.5V)、具有可编程选择多种特性的8KB智能化电可擦除存贮器24LC65芯片组成。其中,0#为传感器识别片(以下简称识别片),保存现场实际安装的传感器数量、传感器号及量程。该芯片被设计在放大器板上,永久安装于现场。传感器号由4位数字组成,前2位表示组号,后2位表示传感器组内号。1# 为字典片,分为三个存储区:第一存储区被设置成高寿命写入区,保存表头参数,如疵点单元计数器、记录计数器、记录指针、自动采集时间等;第二存贮区为字典区,保存传感器修正系数、实时打印所涉及的汉字国标码等,查找时以传感器号为关键字进行指针定位;第三存储区被定义为疵点单元地址队列,保存在写过程中遇到的疵点单元地址。2#~7# 为数据片,保存实时采集的数据。RS232口为最简单的零调制3线经济型,具有双重功能,接上TPμP_T微型打印机,则进行实时打印;接上PC机,则与PC进行全双工通讯。A/D转换器MAX189为串行、12位逐次逼近型,功耗75mW,最大转换时间8.5μs。实时时钟DS1302具有可编程涓流充电功能,能够提供秒、分、时、日、月、星期、年至2100年,并且对闰年和小于31天的月份进行自动调节。键盘由手动、自动、通讯、打印、清零等五个触摸按键组成,通过按键产生外部中断唤醒单片机完成相应功能。液晶显示器(LCD)采用4位半静态方式驱动,用来显示处理后的结果以及系统运行过程中检错的代码。32.768kHz晶振用于自动采集时产生定时中断。
图1 基于PIC单片机的便携式测试记录仪组成
1.3 工作原理
本记录仪基本工作原理是:一旦系统完成某项工作后,立即进入低功耗休眠状态,当需要时再由外部中断予以唤醒。
1.3.1 加电初始化
加电后,首先初始化有关寄存器和接口,然后自检各功能部件。测试结果无论正常或错误均以代码形式显示在LCD上,进入休眠状态。
1.3.2 采 集
本记录仪有自动和手动两种采集方式。
休眠状态下,当按手动键时则进入手动采集过程。首先读识别片和字典片,以确立现场中实际安装的传感器数量、量程及数据片可写空间。若数据片未写满,则从组内0通道传感器开始,循环对现场中实际安装的所有传感器进行采集、处理、显示,直至当再按一次手动键时,方将传感器号、量程、最近一次采集值(注意?不是实时处理后结果,而是原始A/D转换码值)以及采集时刻的日历信息─年、月、日、时、分、秒等组成的记录写入记录指针指向的数据片中,接着对表头参数进行修改,进入休眠状态。
休眠状态下,当按自动键时则进入自动采集过程。首先开放定时中断,然后进入采集─保存─休眠─唤醒─再采集─再保存─再休眠─再唤醒的循环状态,直到数据片被写满或人工干预结束自动采集过程为止。上述唤醒由外部中断完成,其单片机从休眠状态到唤醒工作之间的时间间隔有等距和变距两种形式可供选择。所谓等距即每次采集的时间间隔相同。与其相反,变距则每次采集的时间间隔随采集次数的增多而变长或缩短,视实际应用需要而确定。本记录仪出厂设置为等距1小时,即每间隔1小时采集1次。
1.3.3 通讯和打印
休眠状态下,当按通讯键时,进入和PC通讯过程。首先由PC端Win98下的专门处理软件完成串口1(若记录仪与PC Com1口相连)或串口2(若记录仪与PC Com2口相连)的自动配置,然后可根据工具条上的图文进行等距、变距、选择、数据下载、事后处理等操作。
休眠状态下,当按打印键后,则在TPμP_T微型打印机上打印出所有保存的记录。
1.3.4 清 零
休眠状态下,当按清零键时,则清除数据片中保存的所有记录,即使记录指针指向数据片首址。
2 软件设计
本记录仪软件由实时处理程序和组成记录仪诸功能部件的驱动程序组成。
2.1 实时处理程序
实时处理程序调用相关驱动程序完成模拟量采集、数字滤波、插值运算、实时显示、记录合成及记录保存。本记录仪采用的记录格式从高至低依序为:传感器号,量程,采集值,年,月,日,时,分,秒。
2.2 驱动程序设计
驱动程序设计的基本思想是:首先完成相关接口、寄存器的初始化,然后根据具体物理部件产生微操作时序,并对操作过程中遇到的异常事件进行容错处理。
2.2.1 读/写E2PROM 驱动程序
I2C总线由时钟线(SCL)和数据线(SDA)组成。根据I2C总线协议,将图1所采用的24LC65芯片的读/写操作按操作顺序分解为:使总线处于空闲状态(SCL、SDA均为高电平);发送读/写启动信号(SCL保持高电平,SDA从高变低产生下降沿);在数据线SDA上读或写数据位(SCL高电平时,SDA状态为有效的读或写数据位,SDA状态,即0或1的变化必须在 SCL低电平期间完成);发送读/写结束信号(SCL保持高电平,SDA从低变高产生上升沿)。如果为写操作,每写完1字节数据后,24LC65在数据线SDA上回送握手应答信号,表示该字节数据已被可靠写入。以上微操作通过汇编语言编程实现。
本记录仪以记录方式读/写数据片。因此,对写来说,首先读字典片,以便用其中的表头参数判断当前数据片是否已写满。若已写满,则在LCD上显示无写空间标记代码,然后返回休眠状态;否则,将记录写入记录指针所指向的数据片中,同时
【基于PIC单片机的便携式测试记录仪设计】相关文章:
基于PIC单片机的热能表研制03-18
基于单片机的MicroDrive接口设计03-20
基于PIC的无线数据传输发射机设计03-19
基于单片机的CAN智能总线节点的设计03-07
基于51单片机复位电路设计03-07
基于单片机的液位测量系统设计03-07
基于RTX51的单片机软件设计03-18
基于FPGA的RISC8位单片机设计03-30