基于8051的内燃机车在线检测系统

2013-06-23 09:44张丽
电子设计工程 2013年17期
关键词:模拟量存储器字节

张丽

(陕西职业技术学院 陕西 西安 710100)

随着社会经济的发展,机车设备需要更好的﹑能够识别早期故障的新技术为机车检测提供服务,以确保人身和设备的安全;维修部门也要求预知和跟踪机车设备各组成部分的故障发展状态,以便科学的安排检修计划,杜绝突发事故。为了解决这些问题,也需要对机车设备进行实时检测与故障诊断研究的支持。

内燃机车在线检测系统要对多个信号进行采集。对多路信号采集通常有两种方式,一种是每个通道使用一个独立的采样单元,每个通道可独立地设定采样频率、采样启动和停止时间、采样数据的保存方式以及采样单元和数据处理计算机之间的数据传输方式。这种方式一般用于较大的数据系统,每个通道的采样数据量较大,采样频率较高;另一种方式是多个通道采用共享A/D转换器的方式,该方式下的各个通道共用一个多路转换开关,按某一时间间隔,依次将各个通道的信号输入到采样保持电路,再经A/D转换器将模拟信号转换成计算机能够处理的数字信号。

1 内燃机车检测系统总体设计

在内燃机车在线监测系统中,机车数据采集是其基础环节。其基本任务是将机车设备中可以体现故障状态的物理量采集出来,并传给上位机进行存储、运算和处理。系统中包括机车设备状态量的选择,传感器输出信号的传输,多路模拟信号A/D转换采集电路设计,多路数字信号采集电路设计。

此次设计的机车状态监测系统是整个“机车故障诊断系统”中的一个子系统,整个“机车故障诊断系统”包括3个子系统:机车状态监测系统、无线数据通信系统、数据处理与故障诊断系统。无线数据通信系统的作用是将本系统采集的设备运行数据用无线的方式传输到地面的调度室与检修部门中的数据处理与故障诊断系统中;故障诊断系统的作用是将收到的数据进行处理,分析机车的故障情况并)1=给出合理的施修方案,还对长期积累的数据进行综合分析以给出机车设备最合理的检修方案。

本系统的基本功能是在不影响机车原有设备正常工作的条件下选择合适的监测点与监测量,在线检测机车设备的状态信息并进行故障信息的录波,以实现那些只在运行过程中可以出现的故障的记录,并实现这些信息与无线数据通信直接的通信。

硬件电路的总体流程图如图1所示。

图1 系统总体结构图Fig.1 Whole system structure diagram

对64路I/O信号用8片74LS373分成8组然后分时地传送给CPU;9路模拟量要求相互之间采用光耦隔离后传送到CPU的A/D通道。

2 系统硬件设计

本次设计针对内部电路的设计,在选择系统下位机CPU芯片时,考虑到C8051系列容易调试、功能强大、使用简便,而在8051系列中C8051F021的使用最为简洁,运行速度很快,功能也极为强大,所以被选做本次设计的CPU芯片。对9路模拟量电路进行调理,首先对信号进行分压处理(要求分压处理后保持在≤2.5 V),为了提高输入阻抗以及保证不影响分压采用跟随器电路,然后对信号进行滤波放大以及V/F转换,产生频率信号,使用TLP521对其进行光耦隔离,再把共地的频率信号转换回电压信号,然后再传送到8051f021的A/D通道。而在64路I/O信号的处理过程中,64路I/O信号分别接入到8片74LS373中,即分为8组,然后将得到的8路I/O信号使用74LS138通过CPU对其进行端口选通,分时的传送到CPU中。

上述方案中,对9路模拟量的调理过程中,把频率信号直接转换为电压信号传送到A/D通道,其操作过程非常简单方便,在以后的调试中也较为容易,64路的I/O信号处理中,把64路I/O信号接入到8片74LS373中,利用74LS138进行端口选通,整个方案保证了系统功能的完整,设计合理,调试方便,运行也十分的稳定,所以在系统硬件的设计中采用了上述方案。

下位机采用8051F021单片机,开关量采用TLP521光耦将信号与单片机隔离。用8片74LS373将64路I/O信号分成8组,利用74LS138对74LS373进行端口选通,分时地将64路I/O信号传送给CPU。

2.1 总体方案设计的确定

本次设计针对内部电路的设计,在选择系统下位机CPU芯片时,考虑到C8051系列容易调试、功能强大、使用简便,而在8051系列中C8051F021的使用最为简洁,运行速度很快,功能也极为强大,所以被选做本次设计的CPU芯片。对9路模拟量电路进行调理,首先对信号进行分压处理(要求A/D转换前保持在≤2.5 V),为了提高输入阻抗以及保证不影响分压采用跟随器电路,然后对信号进行滤波放大以及V/F转换,产生频率信号,使用TLP521对其进行光耦隔离,再把共地的频率信号转换回电压信号,然后再传送到8051f021的A/D通道。而在64路I/O信号的处理过程中,64路I/O信号分别接入到8片74LS373中,即分为8组,然后将得到的8路I/O信号使用74LS138通过CPU对其进行端口选通,分时的传送到CPU中。

2.2 C8051F021系统CPU

C8051F021器件是完全集成的混合信号系统级MCU芯片,具有32个数字I/O引脚。

具有片内VDD监视器、看门狗定时器和时钟振荡器的C8051F021是真正能独立工作的片上系统。所有模拟和数字外设均可由用户固定使能/禁止和配置。FLASH存储器还具有在系统重新编程能力,可用于非易失行数据存储,并允许现场更新8051固件。

片内JTAG调试电路允许使用安装在最终应用系统上的产品MCU进行非侵入式(不占用片内资源)、全速、在系统调试。该调试系统支持观察和修改存储器和寄存器,支持断点、观察点、单步及运行和停机命令。在使用JTAG调试时,所有的模拟和数字外设都可全功能运行。

CIP-51有标准的8051程序和数据地址配置。它包括256字节的数据RAM,其中高128字节为双映射。用间接寻址访问通用RAM的高128字节,用直接寻址访问128字节的SFR地址空间。数据RAM的低128字节可用直接或间接寻址方式访问。前32个字节为4个通用寄存器区,接下来的16字节既可以按字节寻址也可以按位寻址。C8051F021中的CIP-51还另有位于外部数据存储器地址空间的4K字节的RAM块和一个可用于访问外部数据存储器的外部存储器接口(EMIF)。这个片内的4K字节RAM块可以在整个64K外部数据存储器地址空间中被寻址(以4K为边界重叠)。外部数据存储器地址空间可以只映射到片内存储器、只映射到片外存储器、或两者的组合(4K以下的地址指向片内,4K以上的地址指向EMIF)。EMIF可以被配置为地址/数据线复用方式或非复用方式。MCU的程序存储器包含64K字节的FLASH。该存储器以512字节为一个扇区,可以在系统编程,且不需特别的外部编程电压。从0xFE00到0xFFFF的512字节被保留,由工厂使用。还有一个位于地址0x10000-0x1007F的128字节的扇区,该扇区可作为一个小的软件常数表使用。

2.3 CPU及外部电路设计

系统选用C8051F021为CPU,其芯片及外部电路图如图2所示,由图可以看出,CPU外接电路中有一个晶振,一个复位RST,还有一组辅助指示灯,在3个辅助指示灯中,有一个电源指示灯,一个系统运行指示灯,一个通信指示灯。其外部电路图如图2所示。

图2 CPU及外部电路图Fig.2 CPU and the external circuit diagram

3 系统软件设计

本次软件部分的设计侧重于下位机的软件设计,下位机软件采用C语言,利用keilC51编译环境对64路开关量和9路模拟量进行分时采集,然后打包以串行的方式发送给上位机。

3.1 系统主程序

主程序调用config函数对CPU进行设置,主要设置看门狗、A/D转换、串口初始化、中断初始化等,然后调用初始化函数,主要设置程序运行状态标志变量、通讯标志变量、各模拟量阈值等,之后开始对64路开关量和9路模拟量进行分时采集。将64路数字量分成8组,用8个74LS373采集,然后用74LS138通过CPU对8个74LS373进行端口选通,分时地将64路I/O信号传送给CPU;在整个系统中,利用9路隔离型模拟量信号采集电路,按其信号性质的不同,共分为5大类,分别是2路1.5 V直流电压电路,1路900 V交流电压电路,1路6 V(1 WHz)交流电压信号,2路10 mA电流电路,3路110 V直流电压电路。对9路模拟量的调理过程中,把频率信号直接转换为电压信号传送到A/D通道,然后发送给CPU。在采集结束后,还会有一个延时程序。经过多次数据采集无误后,将数据打包发送给上位机。

3.2 采集程序

本次软件设计的采集程序包括2部分:64路数字量的采集和9路模拟量的采集。对于数字量的采集,将64路数字量分成8组,用8个74LS373进行采集,然后用74LS138通过CPU对8个74LS373进行端口选通,分时地将64路I/O信号传送给CPU。在这里,将74LS138的3个输入端由A,B,C表示,设为000到111八个状态,分别对应8个74LS373,由74LS138通过CPU对8个74LS373进行端口选通,将采集到的值发送给CPU。

64路数字量采集程序如下:

9路模拟量要求相互隔离,首先对电压信号分压处理,为了提高输入阻抗,采用跟随器电路;然后对信号进行滤波放大处理,采用V/F得到频率信号并用TLP521光耦将其隔离;隔离后再将共地的频率信号转换为电压信号,传送到CPU的A/D通道。在整个系统中,利用9路隔离型模拟量信号采集电路,按其信号性质的不同,共分为5大类,分别是2路1.5 V直流电压电路,1路900 V交流电压电路,1路6 V(1 WHz)交流电压信号,2路10 mA电流电路,3路110 V直流电压电路。对9路模拟量的调理过程中,把频率信号直接转换为电压信号传送到A/D通道,然后发送给CPU。

模拟量一共需要采集9种,分别是油温、水温、辅压、次发电压、L电压、F电压、燃油温度、滑油压力和转速。这9路模拟量的采集程序大同小异,就拿油温采集程序加以说明,对于油温的采集,采用了多次采集取平均值的方法。9路模拟量采集程序如下:

本段程序是9路模拟量采集中的油温采集程序,采取了采集32次取平均值的方法。首先进行config设置,然后对油温参数进行隔离、分时采集,经过数据处理后,进入一个判断程序。只有在采集次数达到32次时,程序结束;当采集次数不足32次时,循环采集直到采够32次为止。

4 结 论

该测试系统采用具有高速数据采集卡的便携式测试计算机为硬件平台,软件设计采用模块化设计思想,提高了系统的可靠性和维护性。该测试系统已用于某型内燃机车进行测试,实际应用表明该测试系统具有测试准确、稳定可靠、人机界面友好等特点,达到了设计要求。

[1]郭天祥.51单片机C语言教程[M].北京:电子工业出版社,2005.

[2]曾鹏,王中锋.分布式无线传感器网络通信协议研究[J].通信学报,2007,25(10):102-11.ZENG Peng,WANG Zhong-feng.Research of distributed communication protocol for wireless sensor networks[J].Journal Of Communication.2008,29(2):457-459.

[3]邬正义,范瑜,徐惠钢,等.现代无线通信技术[M].北京:高等教育出版社,2006.

[4]王建新,杨世凤,隋美丽,等.Labwindows/CVI测试技术及工程应用[M].北京:化学工业出版社,2006.

[5]周承仙,李仰军,武锦辉,等.基于Labwindows/CVI的多路高速数据采集系统设计[J].电子测量技术,2007,30(12):66-69.ZHOU Cheng-xian,LI Yang-jun,WU Jin-hui,et al.Design for multi-channel high speed data acquisition system based on Labwindows/CVI[J].Electronic Measurement Technology,2007,30(12):66-69.

[6]关萍萍,翟正军,姜红梅,等.基于LabWindows/CVI测控系统通用报表的设计与实现[J].计算机工程与设计,2010,31(1):203-205.GUAN Ping-ping,ZHAI Zheng-jun,JIANG Hong-mei,et al.Design and implementation of universal control system report based on Labwindows/CVI[J].Computer Engineering and Design,2010,131(1):203-205.

猜你喜欢
模拟量存储器字节
No.8 字节跳动将推出独立出口电商APP
静态随机存储器在轨自检算法
No.10 “字节跳动手机”要来了?
基于FPGA的多通道模拟量采集/输出PCI板卡的研制
简谈MC7字节码
关于600MW火电机组模拟量控制系统设计和研究
模拟量输入式合并单元测试仪的研制
Altera演示FPGA中高性能DDR4存储器数据速率
存储器——安格尔(墨西哥)▲
一种通用模拟量及开关量信号采集板卡的设计