APP下载

基于RK3288的自动识别系统智能船载终端

2023-12-21李海博

电子产品世界 2023年10期
关键词:硬件设计

李海博

关键词:智能船载终端;RK3288;硬件设计;软件架构;全球导航卫星系统;船舶自动识别系统

中图分类号:U666.1 文献标识码:A

0引言

随着现代海洋技术和信息化的快速发展,船舶自动识别系统(AIS)[1] 和全球导航卫星系统(GNSS)[2] 等船舶导航和监控设备的需求量逐渐增加。船舶在复杂的海洋环境中需要对多种信息进行实时处理和展示,包括但不限于导航、位置跟踪、海图展示和多媒体信息处理。然而,现有的船载终端系统存在硬件性能较差、软件兼容性不高以及信息整合方面混乱等问题。

为了解决上述问题,本文设计并实现了一款基于RK3288 [3] 的船舶自动识别系统智能船载终端。该系统不仅集成了高性能的硬件计算能力和丰富的外部接口,还具备高度模块化的软件架构,能够进行各种功能拓展。本系统兼顾了实时性能和高度可靠性,能有效提升船舶的导航和信息处理能力。

本文首先介绍了系统的总体架构和各个组成模块,包括硬件设计、软件架构以及与外部设备的数据接口等。其次,对系统的实现过程和关键技术进行了深入分析。最后,通过一系列实验来验证系统的性能和可靠性。

1 系统硬件设计

基于RK3288 构建的智能船载终端具有多模块、多接口的特性。这一设计不仅实现了与GNSS和AIS 模块的集成,以便进行高精度导航和自动识别,而且通过随机访问存储器(DDR4 RAM)[4] 和嵌入式多媒体卡(eMMC)存储芯片确保了数据高速处理和数据长期存储。系统还包括通用串行总线(USB)、高清晰度多媒体接口(HDMI)、422 差分信号串行通信标准(RS422)、扬声器接口(SPK)接口,并通过串行外设接口(SPI)总线连接按键和屏幕低压差分信号(LVDS)接口,从而实现与多种外界设备的高度互操作性。

1.1 设计需求分析

由于RK3288 具有优越的多核处理能力与数据高吞吐量,因此选用其作为本船载终端系统的核心处理单元,为复杂的数据流解析和处理任务,如GNSS和AIS 模块的数据,提供了强有力的计算支持。加入DDR4 RAM 与eMMC 存储芯片作为外挂存储单元,旨在优化数据存储与运行效率。DDR4 RAM 主要负责高速缓存运行数据,以减少读写延迟,提高数据处理效率。相对地,eMMC 用于持久地存储关键系统信息,如系统配置文件和日志记录。

多接口设计考量则是为了确保与其他船载设备和系统的兼容性和互操作性。USB、HDMI、RS422及SPK 接口的集成不仅拓宽了外设连接的灵活性,还加强了系统与外部世界的数据交流能力。RS422接口通过通用异步收发器(UARTs)与主处理单元连接[5],主要用于高稳定性和长距离的数据通信,特别是在船舶这种恶劣环境中。

在用户交互方面,通过SPI 总线实现按键连接,旨在提供一种低延迟和高可靠性的用户输入方法。在视觉输出方面,通过LVDS 接口与显示屏连接,支持高分辨率和高刷新率的图像输出,以优化用户体验。

硬件架构如图1 所示。总体而言,本硬件设计方案综合多方面需求与优化目标,力求实现船载终端的多功能性和高性能运算,从而满足航海安全和船员操作需求。

1.2 接口与驱动实现

1.2.1 接口设备

考虑到终端涉及多种功能模块,如GNSS 和AIS,以及多样的用户交互需求,RK3288 的多接口能力成为解决方案的核心。RK3288 不仅具备出色的计算能力,而且支持多种通信协议和接口标准,这对于本系统是至关重要的。

为了满足各种海上导航和信息交互需求,本设计考虑了每个接口的功能定位和性能需求。USB 接口用于与其他船载设备或外部存储设备的数据交换,而HDMI 接口则为用户提供高质量的图形输出。这些接口的驱动实现都依托于RK3288 强大的系统资源和丰富的接口支持。

1.2.2 GNSS 与AIS模块

本系统实现了GNSS 发出的NMEA0183 语句以及AIS 发出的AIS 报文的解析与利用。这一部分的具体实现细节涉及底层数据解析和上层应用之间的高效配合。其中,NMEA0183 语句的解析不仅可以获取定位信息,还可以与其他模块如AIS 等进行数据融合,以提供更为全面和准确的导航信息。

1.2.3 数据交换与传输

为确保数据的高速、稳定传输,本系统专门采用100 M/1000 M 网络口作为数据接口。通过该网络口,所有设备数据都能进行高效的交换和传输,从而为实时数据处理和决策提供可靠的支持。

接口与驱动的设计和实现是一个系统集成和优化的过程,需综合考虑硬件、软件和应用层多个方面。通过合理的接口设计和驱动实现,本系统在满足各种复杂功能和环境需求的同时,也确保了系统的高效性和稳定性。

1.3 设计优点

1.3.1 高度集成与空间效率

本系统整合了RK3288 与多种外部模块,具有高度的集成性。这一设计不仅简化了硬件架构,还在有限的船舱空间内实现了多功能集成,提供了一站式的解决方案。

1.3.2 多功能接口与可扩展性

通过RK3288 的丰富接口支持(包括但不限于USB、HDMI、RS422),本系统确保了极高的可扩展性。各种接口的多样性允许系统灵活地适应不同应用场景,并能轻易地进行功能升级或扩展。

每个功能模块都采用独立的设计方案和特定的通信接口,并形成设计规范。这种模块化设计不僅简化了系统的硬件结构,还在产品更新换代时实现了引擎层和应用层代码的无感化替换。

1.3.3 环境稳定性与可靠性

考虑到海上环境的多变性,特别是潮湿和盐雾的影响,本设计对所有硬件接口进行了防潮、防盐处理。这极大提高了系统在恶劣环境下的稳定性和可靠性。

1.3.4 数据处理能力与用户交互性

本系统能够高效地解析和处理来自GNSS 和AIS 模块的复杂数据,支持高精度的导航和监控。同时,通过LVDS 显示屏和SPK 接口,本系统提供了丰富和直观的用户交互方式,进一步提升了用户体验。

2 系统软件设计

2.1 软件系统架构

基于RK3288 搭载的Android 操作系统,智能船载终端的软件设计主要由一个主程序及其子模块构成[6]。主程序是整个软件系统的核心,负责统筹和控制各个子模块的运行,如图2 所示。

从业务角度出发,主程序可划分为两大核心功能模块:NMEA 信息服务(NMEA Service)模块[7]和用户交互模块。① NMEA 信息服务模块: 这个模块承担了对GNSS、AIS、水深等数据的解析和处理任务。除了数据解析和处理,该模块还负责管理各个数据源,并对外提供信息查询服务。为确保数据处理的稳定性和可靠性,NMEA 信息服务模块在单独的进程中运行。②用户交互模块: 作为承担接收和处理信息的角色,这一模块负责获取、加工和展示由NMEA 信息服务模块提供的通导信息。此外,该模块还负责接收和处理用户的操作反馈,如界面操作或命令输入等。

数据和命令的交换是通过gRPC(进程间通信)机制完成的[8],确保了系统各组件能够高效、安全地共享信息。整个软件系统采用模块化设计,优化了系统的可维护性和可扩展性。特别是采用单独进程来运行NMEA 信息服务模块,既确保了服务的稳定性,又方便了其他模块或应用通过gRPC 来获取必要的服务信息,从而实现了功能的灵活扩展。

2.2 NMEA 信息服务模块

NMEA 信息服务模块是系统主程序的核心组成部分,负责对由内部AIS 和GNSS 模块接收到的信息进行全面处理。该模块接收通过NMEA0183 和NMEA2000 协议通信接口输入的数据,执行数据解析和融合操作,并通过一个设定好的信息访问接口进行信息发布。因为NMEA 服务是其他业务模块的基础,该模块在系统启动后会立即自动初始化并开始其数据处理活动。

2.2.1 线程架构

该模块内部采用多线程架构以提高数据处理的效率和并发性,具体分为两个主要处理线程。

(1)串口数据处理线程。此线程负责从串口读取NMEA 数据,包括但不限于GNSS 和AIS 信息。读取完成后,解析这些数据并将得到的信息实时推送到信息处理线程进行进一步整合。

(2)信息处理线程。此线程的主要职责是进行串口管理和NMEA 信息整合。它会接收从串口数据处理线程推送过来的各类NMEA 信息,并根据预设的规则和算法进行信息的整合和融合。

2.2.2 功能实现

解析算法能快速地从原始NMEA 数据中提取关键信息,而高度复杂的数据融合算法则确保了从不同源接收到的数据能被智能地整合,从而能提供全面且精确的导航和船舶状态信息。

外部信息访问主要通过gRPC 或其他定制的通信协议来实现,以便其他业务模块或应用方便地访问和利用这些处理后的NMEA 信息。该模块在整个系统中占据核心地位,是整个系统稳健运行的关键,体现在高数据处理效能和持续可用性方面。

2.3 海图模块

海图模块是用户交互模块中的枢纽,具有汇集和整合定位、航向、航速和AIS 信息的功能[9]。这些信息经由海图模块处理后,将直观地呈现在用户界面的海图上,以便为船舶提供全方位的安全通航信息。该模块包括两个关键线程,即海图安装线程和切片线程,如图3 所示。

海图安装线程主要负责将系统电子航海图(SENC)数据加载到特定的SENC 数据库中。尽管SENC 数据库的数据量庞大,但通过切片线程与OpenGL(开放图形库)子集ES,并结合使用GPU加速优化性能。这种设计方式显著提高了图像渲染效率,实现了每秒30 帧的显示性能,从而增强了用户体验。

切片线程执行的是一系列高度优化的数据处理操作,包括裁剪和瓦片化。在这个过程中,海图数据首先按照预设的规格被切割成多个瓦片。每个瓦片都是经过精确裁剪和数据抽稀的SENC 海图小区域。这些瓦片进一步被转换为高效的MBTile 格式并存儲,以便快速加载和渲染。

在图像渲染方面,模块采用OpenGL 进行图形绘制[10]。具体而言,各种海图元素如点、线、面和文字符号被三角化后,通过特定的着色器程序传送给GPU 进行渲染。这种方法不仅大幅减少了CPU的负担,而且显著提高了图像渲染的效率和精度。

海图模块的设计和实现突出了其在整个系统中的核心地位。通过高度优化的数据处理和高性能的图像渲染,它在提供安全通航信息方面起到了不可或缺的作用。

3 实验与评估

3.1 自主模式测试与评估

在自主模式下,执行了多项测试,包括发射位置报告、接收频道A 和频道B 位置报告、在临近时隙接收以及接收性能测试。所有测试都在标准环境中进行,并且待测设备(EUT)成功地通过了所有测试项目。

(1)发射位置报告:EUT 成功发射了超短波数据链(VDL)消息,与预期一致。

(2)接收频道A 和频道B 位置报告: EUT 在预设时间段内成功接收了从其他设备发射的位置报告,无任何错误或延迟。

(3)在临近时隙接收: EUT 能够正确处理在临近时隙内发生的数据接收,证明了其处理能力和灵活性。

(4)接收性能测试: 在高负荷条件下,EUT 依然能够保持高性能,证实了其在各种情况下的稳定性。

3.2 指派模式测试与评估

在指派模式下,对小组任务和基站预留两个方面进行深入的测试。

(1)小组任务:在自主模式下,EUT 能成功接收和执行发射的小组任务指令消息,结果符合预期。

(2)基站预留:EUT 能准确地在预定的时间段内发射预留消息,确保了系统的稳定运行。

3.3 调查模式/ 询问响应测试与评估

这一部分主要测试了EUT 对询问消息18 和24,以及消息19 的响应。

(1)询问消息18 和24:EUT 成功地响应了通过VDL 发出的询问消息,并返回了正确的消息18 和24。

(2)消息19 的响应:在自主模式下,EUT 成功地响应了消息19 的询问,结果符合预期。

4 结论与展望

本文成功设计了一款基于RK3288[3] 的船舶自动识别系统智能船载终端,并进行了实验验证。通过对NMEA 信息服务模块、用户交互模块及海图模块的深入研究与设计,得出该系统不仅在技术层面达到了高度优化,而且在实用性和用户体验方面表现出色。值得一提的是,设备在自主模式、指派模式和调查模式/ 询问响应下均顺利通过了各项功能和性能测试,充分证明了其可行性和高效性。

未来仍可在数据融合和分析、用户体验、系统安全性、模块扩展性等多个方向进行深入研究。特别是在系统安全性和模块扩展性方面,有待进一步强化,以适应更为复杂和多变的海上环境。期望通过持续的优化和改进,该海洋导航系统能在未来得到更广泛的应用,并持续推动相关领域的技术创新。

猜你喜欢

硬件设计
基于MPC5634的混合动力汽车整车控制器硬件设计
基于STM32的家庭智能家居设计
机场行李系统输送线PLC硬件和程序设计
电力参数监测系统研究
基于STC单片机的厨房智能安全管控系统的设计
基于中药自动配药PLC系统的设计方案的研究
自主巡航的四轴飞行器的硬件设计与实现
基于CAN总线的智能微喷灌监控系统中下位机的硬件电路组成与设计
计算机硬件设计安全问题分析