基于嵌入式CAN 网关的船舶集成平台系统开发

2023-09-16 09:14沈守强
舰船科学技术 2023年16期
关键词:网关嵌入式总线

邓 威,沈守强

(1.黄河科技学院 应用技术学院,河南 郑州 450063;2.北京信息科技大学 理学院,北京 100192)

0 引 言

随着船舶信息化、智能化的发展,船舶内部自动化设备数量越来越多,为了加强船舶内部设备的监管水平,提高不同系统和模块之间的信息传递能力,设计和开发船舶集成平台系统成为一项研究热点。船舶集成平台系统通过对船舶信息的管理、船舶位置的跟踪、船舶通信的实现、船舶安全的监控和船舶运营的管理,提高了船舶运营的效率和安全性,具有非常大的应用潜力。

船舶平台系统的关键是信息网络的建设,本文重点介绍一种基于嵌入式CAN 总线的信息网络,分别从CAN 总线计算的原理、CAN 网关设计与开发以及船舶集成平台系统的开发等方面进行详细研究。

1 CAN 现场总线技术研究

CAN 总线网络具有数据传输速度快、稳定性好等优点,CAN 总线网络通常由CPU、CAN 控制器、CAN 收发器、节点、数据总线等组成,如图1 所示。

图1 CAN 总线网络的构成原理图Fig.1 Schematic diagram of the composition of the CAN bus network

CAN 传输总线的关键特性包括:

1)CAN 数据帧特点

CAN 总线使用数据帧来实现数据的高速传输,数据帧的详细格式包括起始位、标识符、控制位、数据位和CRC 校验位等字段。其中,起始位用于同步数据传输,标识符用于区分不同的数据帧,控制位用于控制数据传输的流程,数据位用于存储实际的数据,CRC 校验位用于检测CAN 数据的完整性。

2)信息的确认机制

CAN 总线采用一种确认机制来保证数据的可靠传输,每当一个节点发送数据帧后,其他节点会对数据帧进行检测和确认。如果数据帧被正确接收,接收节点会发送一个确认帧给发送节点,表示数据接收成功。如果数据帧发生错误,接收节点会发送一个错误帧给发送节点,表示数据接收失败。

3)CAN 的仲裁机制

当多个节点同时发送数据帧时,CAN 总线使用仲裁机制来确定哪个节点可以继续发送数据,哪个节点需要终止发送数据。仲裁机制基于标识符的优先级,优先级越高的节点可以继续发送数据,优先级较低的节点需要等待。

2 基于嵌入式的船舶 CAN 网关设计(一级)

2.1 测试

网关是CAN 通信网络中实现互联互通的枢纽结构,也可以用于2 个具有不同协议的网络互连,当网络的通信协议不同、数据形式和体系均不同时,网关可以作为翻译器搭建起2 种系统。

在设计船舶集成平台的CAN 网络时,本文采用的网关控制器为MCP2510。

MCP2510 主要由4 个部分组成:

1)CAN 控制器

MCP2510 的核心部分是CAN 控制器,它负责处理CAN 总线的通信协议。CAN 控制器具有接收和发送CAN 帧的功能,并提供了一些配置选项,如过滤器和屏蔽器,以过滤和筛选接收到的CAN 帧。

2)SPI 接口

MCP2510 通过SPI(串行外设接口)与主控器连接。SPI 接口提供了与主控器之间的通信通道,通过SPI 接口,主控器可以向MCP2510 发送命令和配置信息,以及接收来自MCP2510 的状态和数据。

3)控制和配置寄存器

MCP2510 还包含一组控制和配置寄存器,用于存储和管理CAN 控制器的状态和配置信息。主控器可以通过SPI 接口访问这些寄存器,以读取和写入相关的控制和配置信息,从而控制和配置MCP2510 的行为。

4)CAN 协议引擎

其主要作用是处理总线上的报文发送和接收逻辑,当CAN 总线的数据发送时,CAN 协议引擎首先将数据存储在报文缓冲器和控制寄存器中,如图2 所示,网关控制器MCP2510 共有3 个发送缓冲区,2 个接收缓冲区、6 个滤波寄存器,还包括协议机和控制逻辑引脚。

图2 网关控制器MCP2510 原理图Fig.2 Schematic diagram of gateway controller MCP2510

2.2 基于嵌入式的 CAN 网关硬件结构设计

基于嵌入式ARM 技术,设计了船舶集成平台的CAN 网关,其硬件构成如图3 所示。

图3 基于嵌入式ARM 的CAN 网关硬件构成Fig.3 Hardware composition of CAN gateway based on embedded ARM

基于嵌入式ARM 的CAN 网关硬件核心是嵌入式处理器ARM S3C45B,该微控制器由韩国Samsung 公司研发,是一种高性价比16/32 位微控制器,ARM S3C45B 微控制器的主要特性[1]为:

1)处理器核心。ARM7TDMI-S,采用RISC 架构。它具有16/32 位指令集,可执行高性能的32 位运算,并支持长指令和thumb 指令集模式。

2)主频和存储。ARM S3C45B 的主频通常在几十兆赫兹到数百兆赫兹之间,具体取决于系统设计。ARM 通常集成了片上存储器,包括快速的闪存和SRAM,可用于存储程序代码和数据。

3)外设接口。ARM S3C45B 具有多个外设接口,包括UART(通用异步收发器)、SPI(串行外设接口)、I2C(串行通信接口)和USB(通用串行总线)。这些接口可以用于与其他外部设备进行通信和数据交换。

4)定时器和计数器。该微控制器还包含多个定时器和计数器通道,可用于测量时间、进行定时操作和产生精确的时间基准。

5)ADC 和DAC。ARM S3C45B 集成了模数转换器(ADC)和数字模数转换器(DAC)[2],可以用于模拟信号的输入和输出。

6)电源管理。该微控制器具有多个电源管理功能,包括低功耗模式和电源管理单元(PMU),可以在系统的不同工作模式之间实现有效的功耗管理。

第二,以市、县、乡、村示范户相结合的农业技术推广服务网络体系逐渐成熟。随着各级农科推广服务组织的健全,农业技术推广服务组织市场化程度越来越高,在落实稳定市一级、完善县一级、强化乡一级、延伸村一级的政策引导下,围绕服务对象和主导产业,积极开展技术推广工作,完善服务体系,进一步增强发展活力,实现多功能、高效能建设。

基于嵌入式ARM 的CAN 网关参数如表1 所示。

表1 基于嵌入式ARM 的CAN 网关参数表Tab.1 Parameter table of CAN gateway based on embedded ARM

针对船舶集成平台的CAN 网关数据噪声问题,本文采用高斯低通滤波器降低信号中的噪声分量,其模型如下:

式中,B为通信的带宽。

高斯低通滤波器响应特性方程为:

3 基于嵌入式CAN 网关的船舶集成平台系统开发

3.1 船舶集成平台系统的整体设计

船舶集成平台系统作为船舶信息的枢纽,需要具备采集、分析、处理和转发船舶自动化设备数据的功能,同时,集成平台也需要建立大型数据库,存储和管理船舶日常的各种通信、导航数据,实现全船数据共享,提高船舶的信息化和监控水平[3]。

集成平台位于船舶集控室和驾控室内,通过CAN 总线与船舶主机、服务器、网关等连接,图4 为基于嵌入式CAN 的船舶集成平台系统原理图。

图4 基于嵌入式CAN 的船舶集成平台系统原理图Fig.4 Schematic diagram of ship integrated platform system based on embedded CAN

1)集成性。该系统能够集成各种船舶管理功能,如船舶位置监控、航行路线规划、船舶维护保养等,实现全面的船舶管理。

2)实时性。该系统能够实时监控船舶的位置和状态,及时获取船舶的相关信息,实现对船舶的实时管理和监控。

3)自动化。该系统能够自动化处理船舶管理流程,减少人工操作,提高工作效率。

4)数据分析。该系统能够对船舶数据进行分析,提供数据报表和统计分析,帮助管理者更好地了解船舶运营情况,做出决策。

5)安全性。该系统能够确保船舶的安全,包括防止船舶被非法入侵、及时发现船舶故障等。

6)环保性。该系统能够监测船舶的排放情况,提供环保指标,帮助管理者监控和改善船舶的环境影响。

7)统一管理。该系统能够统一管理多艘船舶,集中管理船舶的各项信息和操作,提高管理效率。

8)可扩展性。该系统具有良好的可扩展性,可以根据实际需要进行功能扩展和定制化开发,满足不同船舶管理需求。

3.2 基于嵌入式CAN 的船舶集成平台数据库设计

考虑到集成平台系统船舶监控数据信息查询和响应的快速性需求,采用Apache Solr 数据库索引服务器实现数据的管理。

Apache Solr 是一个开源的搜索平台,具有高效、可扩展、分布式的搜索和数据分析功能[4],其特点包括:

1)Apache Solr 使用了倒排索引的数据结构,可以快速地检索和分析大规模的文本数据。它支持复杂的查询语法和过滤器,可以进行全文搜索、排序、分组、过滤、统计等操作。

2)Apache Solr 提供了丰富功能和插件,可以支持多种数据源和数据格式的索引和搜索。它可以与关系型数据库、NoSQL 数据库、文件系统等进行集成,并提供了RESTful API 和各种客户端库,方便开发者进行数据的索引和搜索。

3)Apache Solr 还支持分布式部署,可以横向扩展以处理大规模的数据和请求。它提供了高可用性和容错性的机制,可以自动进行数据的复制和故障恢复。

Apache Solr 可以用于构建全文搜索引擎、数据分析和实时搜索等应用,易于集成和使用,通过API 接口与外部环境相连接。

基于Apache Solr 数据库的船舶集成平台系统数据处理流程如图5 所示,数据报文首先进入数据队列和应用层服务端口,然后判断是否为服务消息,如果是服务消息则进入应用层和管理层处理函数进行处理,最后输出报文。

图5 基于Apache Solr 数据库的船舶集成平台系统数据处理流程Fig.5 Data processing flow of ship integrated platform system based on Apache Solr database

3.3 基于嵌入式CAN 的船舶集成平台软件开发

基于嵌入式CAN 的船舶集成平台软件开发采用Socket 套接字编程技术,其包括服务层和客户层2 个模块[5],通过数据接口连接,基本原理如图6所示。

图6 Socket 技术的基本原理如图Fig.6 The basic principle of Socket technology is shown in the figure

4 结 语

嵌入式ARM 的CAN 网关技术在通信传输速度、集成度、可靠性等方面具有优越性,为了提高船舶通信、导航系统的性能,本文结合嵌入式ARM 的CAN网关技术开发了船舶的集成平台系统,并从网关控制器开发、平台硬件设计、软件开发等方面进行研究,重点设计了系统的数据和软件,系统具有较高的稳定性和可靠性。

猜你喜欢
网关嵌入式总线
基于PCI Express总线的xHC与FPGA的直接通信
机载飞控1553B总线转以太网总线设计
搭建基于Qt的嵌入式开发平台
嵌入式软PLC在电镀生产流程控制系统中的应用
LTE Small Cell网关及虚拟网关技术研究
应对气候变化需要打通“网关”
多通道ARINC429总线检查仪
Altera加入嵌入式视觉联盟
一种实时高效的伺服控制网关设计
倍福 CX8091嵌入式控制器