摘要:针对液压系统的特点,设计了基于ARM 的智能数据采集终端系统。该系统通过传感器对油压、流量和温度3 类信号进行采集,调理后的数据经过ARM 处理器S3C2440 进行处理和压缩,压缩后的数据利用GTM900C 无线传输模块远程传输。整个系统硬件电路分为主控电路部分、数据采集部分和无线传输部分。
液压系统具有功率大、响应快及精度高等特点,已经广泛应用于冶金和制造领域。但其故障又具有隐蔽性、多样性、不确定性及因果关系复杂等特点,故障出现后不易查找原因,而且故障发生会带来巨大的经济损失。通常,液压系统只能靠定期检查和维护来排除故障,这种方法有一定的滞后性。因此需要实时监测液压系统的状态数据并及时分析以减少故障率,确保工程机械正常、连续运行。传统单片机已广泛应用于数据采集和处理中,虽然其价格便宜、易于开发,但是在存储空间和网络传输方面往往难以满足工程上的要求。因此,笔者针对液压系统采用了基于ARM 的数据智能采集终端。
采集终端通过分布在液压系统各处的传感器对油压、流量和温度3 类信号进行采集,并将采集到的信号进行滤波、放大,然后模数转换,数据经过分析后进行统一的编排与压缩,最后通过通信模块进行传输,将数据传输到本地监控中心做进一步故障诊断。
1 硬件总体结构
智能数据采集终端系统采用三星的ARMS3C2440 为主控芯片、GTM900-C GPRS 为通信模块。整个硬件系统分为3 部分: 主控模块、数据采集模块和通信模块,具体结构如图1 所示。
终端的主控模块包括控制芯片电路、存储电路、电源电路以及串口和JTAG 接口电路; 数据采集模块包括传感器电路、信号调理电路以及8 路A/D转换电路; 通信模块包括GPRS 芯片以及外围电路。其中ARM 与GPRS 之间的通信是通过RS-232 总线完成。
2 主控模块设计
2. 1 ARM 芯片介绍与工作状态设置
终端系统主要采用以ARM920T 为核心的三星S3C2440 芯片。该芯片虽然功耗低、体积小,但是集成了丰富的片上资源。其特点主要有增强型ARM 架构MMU,支持WinCE、EPOC32 和LINUX;内部先进微控器总线架构; 哈佛高速缓冲体系结构; 10 位8 通道多路复用ADC,可以实现最大转换率为2. 5MHz A/D 转换器时钟下的500kS /s等。主控模块的供电分为3. 3V 系统外围电路供电和1. 25V 核心板供电。3. 3V 系统外围电路供电通过AMS1117-3. 3V 稳压模块完成转换,电路如图2 所示; 1. 25V 核心板供电则采用低压差、低噪声的MAX8860EUA 稳压芯片提供,电路如图3所示。S3C2440 使用12MHz 有源晶振,通过片内PLL 电路倍频后,最高可达到400MHz.片内的PLL 电路兼有频率放大和信号提纯功能,因此,系统可以以较低的外部时钟信号获得较高的工作频率,避免了高频噪声的产生。复位电路采用MAX811S 芯片,当系统电源低于系统复位阈值( 2. 93V) ,芯片将会对系统进行复位。
2. 2 串行接口电路
RS-232C 标准常用的接口是9 芯D 型,然而最基本的通信只需要RXD、TXD 即可,但是由于RS-232C 标准所定义的高低电平信号与S3C2440系统的定义不同,所以两者之间的通信需要电平转换,在单片机中常用的是5V 的MAX232,而这里使用3. 3V 的MAX3232,典型的应用电路如图4所示。
2. 3 NOR FLASH 接口电路
终端系统中NOR FLASH 使用的存储芯片是HY29LV160,存储容量为2MB,工作电压为2. 7 ~3. 6V,工作方式选用16 位数据宽度模式。需要注意的是管脚NC 接高电平时,即为16 位数据位,当NC 为低电平时即为8 位数据位。选择16位数据宽度时,即为半字模式,此时16 位数据总线D0 ~ 15 分别接S3C2440 的数据总线DATA0 ~15,地址总线则是A0 ~ 19 分别与S3C2440 的ADDR0~ 19 连接,半字模式下的寻址范围为1MB,对于32 位的S3C2440 寻址范围则为1 × 2 = 2MB.
2. 4 SDRAM 接口电路
SDRAM 选用的是K4S561632,其存储容量为32MB,工作电压为3. 3V,其数据宽度为16 位。
根据系统要求,需要有相对较复杂的算法运行,所以选用两片组成存储系统,存储空间为64MB.
具体连接方法是第一片的D0 ~ 15 接DATA0 ~15,第二片的D0 ~ 15 接DATA16 ~ 31,这样将16位扩展成为了与S3C2440 对应的32 位数据总线。
对于地址线来说,SDRAM 采用的是存储阵列,即每片分为4 个逻辑Bank,每个Bank 由13 个行地址线和9 个列地址线共同寻址,能访问的空间为4 × 213 × 29 × 2 = 225MB.地址线的接法是分别将两片的A0 ~ 12 与ADDR2 ~ 14 相连,通过RAS 和CAS 选择行列信号,通过BA0、BA1 选择Bank,最终通过CS 通用片选实现64MB 的寻址。
3 数据采集模块设计
液压系统的组成主要包括液压泵、液压油缸或液压马达、各类控制阀和辅助装置。根据故障类型的归纳和总结,监控对象和监控点包括液压泵的油压和流量,油温,以及各类控制阀处的油压和流量。选择监测的参数主要包括:
a. 油压测量。考虑到传感器的精度,工作电压与系统电压的匹配,供电电流以及能适用较恶劣的介质环境等,选用MSP340 系列不锈钢传感器,其电气性能为: 供电电源为5VDC; 供电电流小于10mA; 输出信号为0. 5 ~ 4. 5VDC /4 ~ 20mA;量程偏差为± 2%FS; 精度小于1%FS.
b. 流量测量。选择涡轮流量计,电气性能为: 供电电源为12 ~ 36VDC,可采用车载蓄电池直接供电; 输出信号为4 ~ 20mA; 精度为± 1%R.
c. 温度测量。选择温度传感器AD592,由于液压油温只作为辅助检测量,不需要精度太高,所以直接用隔热材料将AD592 固定于测温点做适当的温度补偿,从而测量管内的油温。
模数转换采用的是S3C2440 的10 位8 通道ADC,其转换率为2. 5MHz 转换器时钟下的500kS /s,基准电压采用3. 3V,前端传感器调理电路需要相应的调整电压范围,管脚对应S3C2440上的AIN0 ~ 7.
4 通信模块设计
通信模块选用华为的GPRS 模块GTM900-C,该模块具有标准的AT 命令接口,内部集成了TCP /IP 协议栈,使用时不必编写相关的IP 协议程序,直接可以通过其内嵌协议进行GPRS 上网传递数据。
GPRS 模块与ARM 之间的连接是通过RS232串行接口连接的,电路如图5 所示。其中芯片供电采用3. 8V,由稳压器AMS1117-adj 转换。RST为芯片复位、PWON 为开关机控制信号,均为低电平有效; UART_RXD0 和UART_TXD0 分别为AT命令串口发送、接收信号,实现数据的传输只需分别与串口的接收和发送端相连即可。
5 结束语
笔者以三星公司的S3C2440 开发板为平台,研究设计了一种基于ARM 的液压系统智能数据采集终端的硬件电路,该终端已达到设计要求。
而且整个终端成本低廉、功能齐全,有较好的应用价值。此外,本设计稍作改动也可应用于其他需要数据采集和传输的环境,有一定的通用性。