铁电存储器在机舱油气浓度数据记录仪的应用
级别: 荣誉会员

 
铁电存储器在机舱油气浓度数据记录仪的应用

2010年4月16日
摘要:机舱油气浓度数据记录仪可以对船舶机舱油气浓度的数据进行记录分析、超限报警、存储报警数据,避免机舱发生火灾事故,对保障机舱安全具有重要作用。采用二线制串行铁电存储器作为机舱油气实时数据存储设备、内部集成电路总线协议,同传统的存储器相比,可以显著提高油气浓度超限报警的存储速度和存储容量,准确记录并且长时间地保存报警数据,延长油气浓度数据记录仪的使用寿命,为以后查找报警记录提供准确可靠的原始数据。
关键词:船舶、舰船工程;数据记录仪;铁电存储器;内部集成电路总线协议;火灾事故
在船舶机舱内有许多气体或液体控制阀件、各种油路、油泵等设备,这些设备在维修拆卸或使用时可能会出现泄露等现象,尤其是泄露的柴油在机舱内挥发的气体与空气的混合体积百分比达到可燃范围时,就形成了危险的可燃油气浓度。在此情况下一旦遇到火源或高温就会发生燃烧甚至爆炸。由于油气的密度比空气大,油气会在机舱底部沉积,高浓度的油气难以消散,带来了发生火灾的危险性。机舱油气浓度数据记录仪可以实时检测机舱的油气浓度并且具有报警功能,报警的同时可以控制机舱风机的运行,及时排出机舱内的油气。机舱油气浓度数据记录仪提供的数据有报警时的油气浓度值、报警时间、报警通道等。如何得到更多的报警信息和如何在恶劣环境下长时间保存所得数据成为机舱油气浓度数据记录仪研究的技术关键。这就要求具有访问速度快、可读写次数多、数据存储的错误率低、数据在恶劣环境下的保存时间长、而且要求存储器的容量大。
1系统概述
机舱油气浓度数据记录仪主要由气体变送器、模数转换板、带存储功能的微处理器板、输入/输出控制板组成。气体变送器采用催化燃烧式检测原理,对机舱内的柴油或汽油与空气的混合气体的浓度进行检测和变送。模数转换板对油气浓度进行采样,微处理器板对采样数据进行分析、报警处理、数据存储等。传统的数据存储器作为存储器件时,读写速度较慢,存储单元反复擦写后容易损坏,无法满足机舱油气浓度数据存储的要求。
2铁电存储器的性能和特征
铁电存储器(Ferromagnetic Random Access Memory,FRAM)主要有以下特点:
1.可快速读写。
2.对数据进行读写无等待时间,重复擦写次数可以达到100×108次。
3.芯片为低功耗,可以在-40℃~85℃范围内工作,芯片的数据可以在失电情况下保存10a,具有防潮、防电击和抗震等特性,满足船用环境条件。
综上所述铁电存储器的特点非常适用于机舱油气数据记录。本系统采用一种二线串行铁电存贮器,采用内部集成电路总线协议,容量为256 kbit,功耗低、硬件设计简单、软件设计模块程度高、存储数据安全可靠,并且具有一定的存储容量,是单片机应用系统中存储器的理想选择。
二线串行铁电存贮器的管角功能介绍:
1)A0-A2:芯片地址选择线,可以接地也可以连接单片机的输入/输出口,可同时并联8个存储器;
2)WP:写保护线。WP为高电平时禁止写操作,WP为低电平时允许写操作;
3)SDA:串行数据线,连接单片机的输入/输出口进行数据读写;
4)SCL:串行时钟线,连接单片机提供读写时序。
3存储单元硬件设计
在基于铁电存储器的机舱油气浓度数据记录仪的存储单元硬件设计中,采用8位单片机作为系统的微处理器。选用二线串行铁电存储器作为系统的存储单元。单片机接收油气传感器测量的实时数据,进行处理后,通过单片机的输入/输出口存储到铁电存储器。单片机的P1.1和P1.2分别连至串行铁电存储器的SCL和SDA端,通过软件产生铁电存储器所要求的读写时序,单片机与二线串行铁电存储器的硬件连接如图1所示。
4存储单元驱动函数设计
内部集成电路总线协议采用主从双向通讯方式,总线由微处理器控制,微处理器产生串行时钟(SCL)信号,控制总线上数据传送的方向,并产生开始和停止信号。总线从微处理器产生开始条件后到产生停止条件期间是有效的,微处理器对串行铁电存储器的读写操作在开始位控制下开始,然后在停止位控制下结束。




图1存储单元硬件接线图
数据的传送在总线空闲时才能开始,当串行时钟线SCL和串行数据线SDA均为高电平时,总线处于空闲状态。当SCL为高电平时,SDA由高到低的变化时定义为开始位;而当SCL为高电平时,SDA由低到高的变化时定义为停止位。SDA上数据的改变必须在SCL为低电平期间进行,每传送一位数据,微处理器必须由时钟信号SCL向铁电存储器发出一个时钟脉冲。
4.1读操作流程函数
uchar ReadFRAM (uint adrs)
/*adrs为16位地址*/
{
uchar data rdata;
/*定义读取的数据为字节型*/
uehar i=8:
start_bit();
/*起始位函数:时钟线保持高电平期间,数据线电平从高到低的跳变*/
write_8bit(adrs>>8):
/*写入高8位地址*/
ack();/*应答函数*/
write_8bit(adrs&0xff);
/*写入低8位地址*/
ack();/*应答函数*/
start_bit();/*起始位函数*/
while(i--)
rdata<<=1:
SCL=0;
_nop_();
SCL=1;
if(SDA)rdata|=0x01;
)
stop_bit();/*停止位函数*/
return rdata;/*返回数据为字节型*/
}
4.2写操作流程函数
void WriteFRAM(uint adrs,uchar ddata)
/*adrs为16位地址,ddata为8位数据*/
{
start_bit();/*起始位函数*/
write_8bit(address>>8);
ack();/*应答函数*/
write_8bit(address~0xff);
ack();/*应答函数*/
write_8bit(ddata);
/*写入字节型数据到指定地址*/
ack();/*应答函数*/
stop_bit();/*停止位函数*/
}
4.3开始位函数
void start_bit(void)
{
SCL=1;
_nop_();
SDA=1;
_nop_();
SDA=0;
_nop_();
SCL=0;
_nop_();
)
时钟线保持高电平期间,数据线电平从高到低的跳变代为内部集成电路总线协议总线的起始信号。
4.4停止位函数
void stop_bit(void)
{
SCL=0;
_nop_();
SDA=0;
_nop_();
SCL=1;
_nop_();
SDA=1;
_nop_();
}
时钟线保持高电平期间,数据线电平从低到高的跳变代为内部集成电路总线协议总线的停止信号。
4.5应答函数
void ack(void)
{
SDA=1;
SCL=0;
_nop_();
SCL=1;
_nop_();
SCL=0;
_nop_();
}
内部集成电路总线协议总线传送数据时,存贮器在接收到起始信号和地址之后产生应答信号。
4.6写字节函数
void write_8bit(uchar ddata)
/*ddata为8位数据,向存贮器写一个字节*/
{
uehar i=8:
SCL=0;
_nop_();
while(i--)
{
SDA=(bit)(ddata&0x80);
_nop_();
ddata<<=1;
SCL=1;
_nop_();
SCL=0;
_hop_();
}
}
5结语
机舱油气浓度数据记录仪可以详细记录机舱油气浓度报警的情况,采用铁电存储器作为机舱油气报警数据记录仪的存储元器件,能够快速准确地记录油气报警数据,并且长时间保存存储数据,延长实时数据记录仪的使用寿命。同时,铁电存储器可以简化系统硬件设计和软件编程,降低系统成本,提高系统的可靠性。
作者:林春平1,张兴龙2  来源:中国航海

郑重声明:资讯 【铁电存储器在机舱油气浓度数据记录仪的应用】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——