APP下载

基于单片机的船舶通用型延伸报警装置设计

2011-09-19黄巧亮

电子设计工程 2011年15期
关键词:报警信号报警装置以太网

唐 勇,张 冰,黄巧亮

(江苏科技大学 电子信息学院,江苏 镇江 212003)

随着我国船舶工业技术的发展,船舶机舱监测和报警系统技术飞速提升。延伸报警系统是监测报警系统的重要组成部分,是实现船舶自动化和智能化的关键系统[1]。船舶是一个特殊的应用环境,对系统的性能要求很高。目前应用在延伸报警系统领域的技术主要是围绕RS485构成的环形结构。随着技术的不断提高,现场总线和以太网技术在船舶领域的应用也越来越广泛,各类延伸报警装置也层出不穷,但现有的延伸报警装置通用性较差,有些整合在机舱监测报警系统中;有些整合了轮机员呼叫主机功能,不适合所有船舶;有些报警信号输入方式、总线方式单一。笔者介绍的是一种基于RS485、CAN总线、以太网等多种通信方式的设计方法,大大提升了该延伸报警装置的通用性。

1 系统的组成及工作原理

船用延伸报警系统一般由多个延伸报警装置组成。其主要作用是,船舶机舱集控台上的延伸报警装置(主单元)及时地将船舶机舱发生的报警情况传送至驾驶室、公共场所、值班员住所等处的延伸报警装置(从单元)[2]。整个系统的构成如图1所示。

图1 延伸报警系统的构成Fig.1 Structure of the extend alarm system

延伸报警装置主单元通过通信模块与各延伸报警装置从单元一起组成整个延伸报警系统,并通过多种方式和上位机进行通信。上位机将得到的报警信息发送到延伸报警装置主单元,主单元根据自身的设置将报警信息及时有效地传递到各终端。在延伸报警装置主单元上可以通过旋钮开关或人机交互进行值班设置和报警信息输入方式的设置,通过按键可以进行消音、确认等本地报警操作,并及时将报警和值班设置信息形成数据包,发送到整个网络上。各延伸报警装置从单元通常安装在轮机长室、二管轮、三管轮、电机员以及餐厅,驾控台等公共区域。当报警发生时,主单元和系统设置的当前值班的从单元发出声光报警信号。如果在报警信号发出后,在设定时间内相关值班人员不在或未能对报警信号进行应答消音处理,系统将自动在每个从单元发出报警信号,进行全局呼叫。在延伸报警装置从单元上可以通过旋钮开关或人机交互设置值班转移,通过按键进行消音和确认操作。

当报警发生后,系统将记录该报警的相关信息,值班人员可以在每个终端上通过人机交互进行查询相关信息、日历时钟设置、报警编号及名称的修改或添加等操作。

2 系统的硬件电路设计

延伸报警装置主从单元的硬件构成如图2所示。主要包括微控制器、存储单元、开关量输入模块、通信模块、LCD模块,键盘、拨码开关等部分。笔者着重介绍微处理器、通信模块的设计方法。

图2 延伸报警单元硬件组成框图Fig.2 Structure diagram of hardware system of the extend alarm unit

2.1 微控制器

系统中的微控制器主要作用是对输入输出口进行控制,实现LCD显示,并且能够完成RS485、CAN、以太网通信功能,实现接收和传送相关数据,因此在选用芯片时要选用具有较多通用I/O口的,外围资源丰富的微处理器。本系统采用性能优越的C8051F430单片机,该单片机是一款完全集成的混合信号片上系统型的微处理器,具有片内上电复位、电压调整器、看门狗定时器和时钟振荡器;FLASH存储器还具有系统重新编程能力,可用于非易失性数据存储,并允许现场更新8051固件[3]。

2.2 通信模块

本延伸报警系统实现的关键技术就是实现数据的可靠通信。由于现阶段船舶自动化领域主要采用的是RS485和CAN通信技术,所以在设计通信模块时都加以考虑,在实际应用时可根据需要选择RS485、CAN总线、以太网三种通信方式中的一种。考虑到使用的方便性,在设计是通过拨码开关进行选择通信方式。下面分别介绍3种通信方式的接口方式。

2.2.1 RS485接口部分

船用报警系统大多采用RS485通信方式。本延伸报警装置在每个通信模块都设计了485接口,具体的连接方式如图3所示。芯片选用MAX485,由于工程环境比较复杂,现场常有各种形式的干扰源,所以485总线的传输端一定要加有保护措施。在电路设计中采用稳压管D1、D2组成吸收回路。为防止信号之间的干扰,采用光耦TIL117进行隔离,保证通信的可靠性[4]。

图3 通信模块RS485接口连接图Fig.3 Diagram of the RS485 communication module interface connection

2.2.2 CAN接口部分

CAN控制器局域网是一种广泛应用于工业领域的通信网络。CAN为串行通信协议,能够有效地支持具有很高安全等级的分布实时控制,在船舶自动化领域有着广泛的应用。本延伸报警装置通信模块采用SJA1000来实现这一功能。SJA1000是Philips公司生产的一种独立控制器,它在BasicCAN的基础上增加了一种新的工作模式PeliCAN,支持CAN2.0B协议[5]。SJA1000和CAN总线收发器PCA82C251的连接图如图4所示。SJA1000的串行数据输出线(TX)和串行数据 输 入线 (RS)接到 收发 器 PCA82C251。 收 发器PCA82C251通过有差动发送和接收功能的两个总线终端CANH和CANL连接到总线电缆。

2.2.3 以太网接口部分

1)以太网接口连接方式

以太网控制芯片选用CP2200。目前在嵌入式系统开发中,比较常用的独立的以太网控制器如RTL8019AS、CS8900A等这些芯片体积大,引脚多,操作复杂,系统开销也很大。CP2200是集成了IEEE 802.3以太网媒体访问控制器(MAC)、10Base-T 物理层(PHY)和 8 kB 非易失性 FLASH 存储器的单芯片以太网控制器,采用 28脚 QFN(5×5mm)或48脚TQFP封装。CP2200可以为具有11个以上端口 I/O引脚的任何微控制器或主处理器增加以太网通信功能。8位并行总线接口支持Intel和Motorola总线方式,可以使用复用或非复用方式寻址。在非复用方式下,数据传输速度可超过30Mbps[6]。本系统采用非复用的方式,CP2200外围硬件连接图如图5所示。地址总线端口A[0~7]和数据总线端口D[0~7]通过 74HC573接单片机 F340的管脚端 P4.0~P4.7,F340通过这两条总线对CP2200进行寻址和接收发送数据。F340通过译码器接CP2200的CS引脚,INT接F340的管脚P0.0;单片机通过译码器控制 CP2200的工作使能,而CP2200通过管脚INT给单片机发出中断请求信号。

图4 通信模块CAN总线接口连接图Fig.4 Diagram of the CAN bus communication module interface connection

图5 CP2200外围硬件连接图Fig.5 Diagram of the CP2200 hardware connection

2)CP2200的配置方法

单片机与CP2200连接好后,需要对CP2200进行配置。配置窗口如图6所示。程序编译环境使用Silicon Laboratories,利用TCP/IP Configuration Wizard环境配置网络的IP地址、MAC地址等参数,然后运行Silicon Laboratories IDE会自动生成所需的单片机程序架构,然后在按照实际需要对其中的子函数指令内容进行具体编写,从而实现以太网功能。

3 系统的软件设计

本延伸报警系统的软件部分主要包括主机模块和从机模块。它们又主要涉及主程序、通信模块程序,中断服务程序等。通信模块程序主要包括CAN通信程序和以太网通信程序。限于篇幅,笔者主要介绍系统的主程序流程。本系统采用C语言编写程序,可移植性强,便于调试和维护。根据系统所要达到的功能,其主要流程图如图7所示。

图6 TCP/IP配置窗口Fig.6 TCP/IP configuration window

系统在程序开始后,首先进行装置初始化,初始化主要包括微处理器初始化、LCD模块初始化以及根据拨码开关的状态初始化相应的通信模块。初始化完成后,系统判断延伸报警装置是主单元还是从单元。

主单元部分的主要流程如图左侧所示。系统进入主单元后,首先根据拨码开关的状态确定值班转移的设置方式,开启通信中断,然后判断是否有未处理的报警信号,如果有发出声光报警,如果没有,开启定时器1中断;随后判断是否人机交互,人机交互处理主要包括报警历史情况查询、日历时钟设置、报警编号及名称的修改或添加、值班设置等,若报警编号/名称发生变化,则将相应的信息发送到通信总线上。随后判断是否值班转移,若是,则进行值班转移处理。值班转移处理主要包括读取值班状态,判断是否有值班要求,若有则将值班要求信息发送到通信总线上。最后是判断是否按键处理,按键处理部分主要包括读取按键值,判断是哪个按键按下,若是“试灯”键按下,则所有指示灯亮、蜂鸣器响;若是“LCD测试”键按下,则显示LCD测试用显示内容;若是“通信测试”键按下,则向所有延伸报警装置从单元发出通信测试指令。

图7 系统程序流程图Fig.7 Flow chart of the system

当系统判断为从单元时,首先根据拨码开关状态设置报警信号输入方式和值班转移设置方式。随后判断FLASH中是否有报警信号和名称,若有,发出声光报警并LCD显示输入报警信号和名称。若没有,开启通信中断,启动定时器,判断是否人机交互处理,包括报警历史记录查询、日历时钟设置、值班转移设置等;随后判断是否值班转移处理[7],若有,则作出相应处理并将值班转移信息发送到通信总线上。最后判断按键处理,包括读取按键值,判断是哪个键按下,若是“试灯”键按下,则所有指示灯亮、蜂鸣器响;若是“LCD测试”键按下,则显示LCD测试用显示内容;若是“通信测试”键按下,则向所有延伸报警装置从单元发出通信测试指令并启动定时器;若是“消音”键按下,则使蜂鸣器不响、闪烁的灯变为平光;若是“确认”键按下,则将值班应答信息或值班转移应答信息发送到通信总线上。

4 结 论

基于单片机的船舶通用型延伸报警系统结构简单,功能齐全,交互性好。用户在使用时可以选择不同的通信方式,可以有选择的设定延伸报警从机的数量,也可以增加一些非常规的功能。本系统已经在多艘油轮上使用,结果表明,该系统运行稳定、可靠性高、误报警率低、使用简单、成本低廉,不仅及时有效地传递了报警信息,还整合了轮机员值班等功能,能够提高船舶报警的可靠性,具有很高的应用价值。

[1]王伟,郭庆祝.船舶机舱CAN总线技术的分布式监控系统研究[J].中国水运:学术版,2006,6(4):64-66.

WANG Wei,GUO Qing-zhu.Research of distributing monitor system used in marine engine room based CAN[J].China Water Transport:Academic Version,2006,6(4):64-66.

[2]郑凤阁.轮机自动化[M].大连:大连海事大学出版社,1998.

[3]Cygnal Integrated Products,Inc.C8051F340-Full Speed USB Flash MCU Datasheet[R].Cygnal Integrated Products,Inc(2006.01.).[2011-03-10].http://pdf1.alldatasheet.com/datasheet-pdf/view/142602/ETC1/C8051F340.html.

[4]王幸之,王雷,钟爱琴,等.单片机应用系统电磁干扰与抗干扰技术[M].北京:北京航空航天大学出版社,2006.

[5]李正军.现场总线与工业以太网及其应用系统设计[M].北京:人民邮电出版社,2006.

[6]Silicon Laboratories.CP2200/1 Single-chip ethernet controller datasheet [EB/OL]. (2006-06)[2011-3 -10].http://221.231.148.195/forward.html?url =http://pdf1.alldatasheet.com/datasheet-pdf/view/201083/SILABS/CP2200.html.

[7]甘本鑫,徐少明,苏红艳.基于单片机的LED路灯模拟控制系统的设计与实现[J].现代电子技术,2011(03):205-207.

GAN Ben-xin,XU Shao-ming.LED street lamps analog control system based on MCU [J].Modern Electronics Technique,2011(03):205-207.

猜你喜欢

报警信号报警装置以太网
永磁联轴器保护报警装置的设计及实现
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
孕妇应警惕的报警信号
YY0709-2009医用报警系统标准难点分析与解读
谈实时以太网EtherCAT技术在变电站自动化中的应用
电梯轿厢报警装置失效如何处理
蜜蜂语音报警信号被破译
船舶电力系统监视报警装置软件设计
一种90W高功率以太网供电系统的设计
浅谈EPON与工业以太网在贵遵高速公路中的应用