论文部分内容阅读
船舶工业是为水上交通、海洋开发和国防建设等行业提供技术装备的现代综合性产业。为了建设海洋强国,关键在于提高船舶自动化技术水平。船舶机舱监控报警系统作为船舶自动化的重要组成部分,它能够自动对主机及辅助设备的运行状况进行监测并进行声光报警。一方面可以确保船舶安全、稳定行驶,另一方面可以起到提醒船上人员的作用。本文设计并实现的船舶机舱数据采集模块就是属于全分布式船舶机舱监控报警系统的一部分,为其底层,也是关键的一层。船舶机舱数据采集模块是具有数据采集、数据处理、运算控制和数据输出等功能的现场智能设备。本文以STM32F107VC为主控制器,采用双路冗余CAN总线设计并实现了开关量输入、开关量输出、热电阻信号输入以及热电偶信号输入模块,CAN总线通信协议采用应用层CANopen协议,且遵循海事电子设备CANopen框架。CANopen协议对船上数据传输内容进行了详细定义,且被广泛应用于船舶自动化领域。根据总体设计方案,对各个船舶数据采集模块进行设计与实现。主控处理器采用STM32F107VC,CAN收发器采用TJA1050,之间用ADUM1201芯片进行光电隔离,以实现抗干扰。首先在Altium Designer开发环境下设计了开关量输入、开关量输出、RTD信号输入以及热电偶信号输入采集模块。开关量输入采集模块实现了 16路数字信号的采集和输出,开关量输出模块实现了 8路继电器常开、常闭功能。RTD信号输入采集模块采用集成RTD数字转换器的MAX31865、热电偶输入采集模块采用K型热电偶数据转换器MAX6675,都实现了将模拟信号的温度值转换为数字量,并通过SPI串行总线传输给主控制器,进而实现数据处理、传输的功能。然后,在KeiluVision4软件开发环境下对各个采集模块编写程序,实现各模块的数据采集以及通信等功能。通讯协议采用基于CAN总线的上层应用协议CANopen协议,包括对象字典、心跳报文、通讯参数SDO/PDO以及遵循海事电子设备CANopen框架协议的冗余PDO的传输、活跃总线的切换等。最后经过整体联网测试,各个数据采集模块的功能、采集精度以及双路CAN总线冗余通信等性能指标均达到船用检测设备标准。