基于DSP的船舶动力定位控制器的设计与实现

2017-04-10 05:51石礼刚董胜利张欢仁
关键词:功能模块以太网处理器

石礼刚, 董胜利, 张欢仁

(上海船舶运输科学研究所 舰船自动化分所,上海 200135)

基于DSP的船舶动力定位控制器的设计与实现

石礼刚, 董胜利, 张欢仁

(上海船舶运输科学研究所 舰船自动化分所,上海 200135)

以某起重船为控制对象,以SRI-VC2110DP动力定位控制系统为基础,设计一种基于数字信号处理器(Digital Signal Processor,DSP)的动力定位控制器。针对动力定位控制器的实际需求,围绕核心处理器进行双CAN总线接口、双以太网接口和I/O接口等硬件电路的开发,同时完成硬件设备的测试。为检验所研发的控制器的功能和性能,在SYS/BIOS实时操作系统上完成动力定位应用程序的开发,搭建仿真平台验证该控制器的实时性和可靠性。

动力定位控制系统;控制器设计;数字信号处理器

0 引 言

随着石油和天然气勘探业不断发展,相关海上活动已由近海扩展到远海,传统的船舶定位已不能满足海上定点作业的需要,动力定位系统(Dynamic Positioning System,DPS)由此应运而生。DPS是一种闭环的控制系统[1-2],能不借助锚泊系统的作用不断检测出船舶的实际位置与目标位置的偏差,并根据外界风、浪和流等外界扰动力的影响计算出使船舶恢复到目标位置所需推力的大小,同时对船舶的各推力器进行推力分配,使各推力器产生相应的推力,从而使船舶尽可能地保持在要求的位置上[3-4]。DPS主要由测量系统、控制系统和推力系统等3部分构成[5],其中控制系统是DPS的核心。动力定位控制器(控制计算机)是控制系统运行的主要硬件载体,随着集成电路与数字信号处理器(Digital Signal Processor, DSP)技术的发展,其性能得到很大的提高。

早期的动力定位控制器采用工业控制计算机,虽然性能较好,但存在体积大和功耗高等缺点。随着计算机技术不断发展,嵌入式计算机将逐渐取代工业控制计算机,成为动力定位控制的发展方向。相比工业控制计算机,嵌入式处理器具有体积小、功耗低和实时性高等优点。

目前,国外的动力定位技术已相对成熟,各大动力定位厂商和研究机构开发出许多功能强大的动力定位控制器,最具代表性的是挪威Konsberg公司研制的动力定位控制器RCU501,其将嵌入式软硬件技术与动力定位技术相融合,大大改善了控制器的性能。上海船舶运输科学研究所在DPS方面进行着大量的研究工作并取得了实质性的进展,成功研制了SRI-VC2110DP样机,经系统试验,具有良好的控制效果。

这里在借鉴国内外动力定位控制器开发经验的基础上,开发基于DSP处理器的动力定位控制器单元,提升我国动力定位控制器的性能。

1 总体架构设计

动力定位控制器作为DPS控制运算的核心,主要实现数据处理、控制运算和推力分配等功能。控制系统对控制计算机的主要要求有:强大的数据处理能力(主要指浮点运算能力);实时控制能力;较高的运行速度;可扩展双控制器局域网络(Controller Area Network, CAN)接口;可扩展双以太网接口;可扩展I/O输入输出接口;可扩展调试接口。此外,还要求嵌入式计算机需具有稳定的实时操作系统和友好的开发环境。

综合考虑性能和价格等因素,选用TI 公司DSP C6000系列的TMS320C6657作为动力定位控制器的处理器。DSP TMS320C6657采用先进的KeyStone架构,能实现定点与浮点处理能力,主频可达1.25 GHz,功耗3.5 W;支持SYS/BIOS实时操作系统;支持千兆网,SPI,UART及EMIF等常见接口;可扩展双CAN和双以太网接口;同时,具有功耗小、实时性高和稳定性强等优点,在功能和性能方面均能满足DPS的要求。

控制器的设计方法采用扩展板加核心板的设计方法,其核心板通过连接器与扩展板相连,其硬件总体架构框图见图1。核心板电路主要由CPU、Nand Flash电路、DDR3电路和EEPROM电路等组成,Nand Flash、DDR3和EEPROM组成控制器的存储系统 。扩展板主要由电源电路、CAN通信电路、以太网通信电路和串口调试电路等组成。

2 硬件电路设计与实现

2.1 电源电路

TMS320C6657处理器由9.0 V直流电源供电,而船用直流电压一般为24.0 V。考虑到在硬件电路设计中需用到5.0 V、3.3 V、1.8 V直流电源,电源电路的设计采用分级转换的方法,将24.0 V转换为12.0 V,12.0 V转换为9.0 V、5.0 V及3.3 V,3.3 V转换为1.8 V。

2.2 串口通信电路

在设计控制器时共引出2个串口:一个由UART1通过MAX3232EUE串口电平转换芯片转换为RS232串口,使用DB9公座接口;另一个由UART0通过CH340T转成USB-B接口。

2.3 CAN通信电路

CAN总线是通过TMS320C6657处理器的串行外设接口(Serial Peripheral Interface, SPI)扩展。CAN通信电路主要由MCP2515芯片和ADM3053芯片组成,其中:MCP2515是Microchip公司推出的一款独立CAN协议控制器芯片,完全支持CAN2.0技术规范;ADM3053是一款隔离式CAN物理层收发器,集成隔离 DC/DC转换器,该器件采用5.0 V单电源供电,提供完全隔离的CAN解决方案。CAN通信电路图见图2。

由于TMS320C6657处理器的SPI引脚电压为1.8 V,MCP2515的输入输出引脚电压为3.3 V,因此需通过TXS0108EPWR芯片进行电压转换。

2.4 以太网通信电路

百兆以太网是通过TMS320C6657处理器的外部存储器接口(External Memory Interface, EMIF)扩展的。以太网电路主要由以太网芯片、RJ45接口和网络隔离变压器组成,其中:以太网芯片选用MICREL公司的KSZ8851-16MLLI,KSZ8851-16MLLI是单端口嵌入式控制芯片,包括一个快速以太网的MAC控制器和一个8 bit/16 bit的普通主机处理器接口,可整合以太网MAC/PHY,通过8位外部总线接口与其进行通信,有效解决快速以太网的应用问题;网络隔离变压器选 用HX1188NL芯片,具有信号传输、阻抗匹配、波形修复、信号杂波抑制和高电压隔离等作用。以太网通信电路图见图3。

3 软件设计与实现

3.1 CAN驱动程序设计

TMS320C6657处理器可通过SPI接口读取接收缓冲器的数据,MCP2515对CAN总线数据的发送没有限制,只需处理器通过SPI接口将待发送的数据写入到MCP2515的发送缓存器中,再调用发送请求(Request To Send, RTS)命令即可将数据发送到CAN总线上,其驱动程序具体步骤为[6]:

(1)对相应外设模块使能,包括SPI模块;

(2)进行SPI初始化,配置主/从模式、时钟,使能SIMO,SOMI,CLK及CS引脚,配置数据格式;

(3)选择一路CAN通信并初始化,主要设置接收相关引脚控制寄存器;

(4)发送和接收错误计数值清零后进入工作模式,设置比特率;

(5)添加CAN接收中断处理函数,设置滤波方式,创建接收环形缓冲区以存放中断响应数据。

CAN程序发送流程见图4,CAN程序接收流程见图5。

3.2 以太网驱动程序设计

以太网驱动程序的设计主要是基于SYS/BIOS实时操作系统和TCP/IP网络开发包(Network Developer's Kit,NDK)实现的。SYS/BIOS实时操作系统提供有丰富的库函数,可供用户在设计软件时方便地调用。NDK是应用于SYS/BIOS实时操作系统顶层的网络栈,是实现DSP网络开发的重要支撑[7],主要包括:nettool.lib,stack.lib,hal.lib,os.lib和netcrl.lib等5个数据库。以太网接口的通信网络结构见图6。

从图6中可看出:NDK是连接底层硬件、用户应用程序和SYS/BIOS的纽带;底层硬件驱动的配置主要由NDK的硬件驱动层控制,网络工具库为其提供相应的驱动函数,用户可直接调用。硬件驱动主要包含在硬件驱动层,其驱动程序为:

(1)对相应外设模块使能;

(2)配置功能模块寄存器,主要包括对MDIO和EMAC模块的初始化,对PHY芯片进行状态监测和搜索配置;

(3)复位以太网控制器,即对以太网控制器的接收和发送功能进行复位;

(4)配置寄存器参数并使能,包括帧最大长度、CRC校验和短帧自动填充等;

(5)对EMAC和MDIO中断使能;

(6)建立TCP/IP协议栈,对接收和发送缓冲区进行配置;

(7)复位物理层芯片,检查ID,配置物理层芯片自适应,设置控制器的工作模式,包括10/100 Mb模式和全/半双工模式;

(8)设置MAC地址,对TX和RX的描述符进行初始化;

(9)添加接收中断处理函数,设置滤波方式,清除中断。

动力定位控制器作为服务器端用来与工作站实现通信,DSP软件设计采用Socket套接字创建服务器端,其具体流程见图7。

3.3 应用程序设计

在控制器的软件设计中,采用SYS/BIOS操作系统作为开发平台。SYS/BIOS是一个可扩展的多线程实时操作系统内核,用于实时调度同步的应用程序或设备。SYS/BIOS提供有抢占式多线程、硬件抽象层、实时分析和配置工具[8],主要面向实时性要求高的场合。动力定位控制器的每项功能都对应着应用程序的一个功能模块,每一个功能模块的调用都基于实时任务的。因此,应用程序的设计采用基于抢占式实时多任务的操作方式,主要涉及以下7个模块:Void TaskDataPro(UArg a0, UArg a1) //数据预处理功能模块;Void TaskMathModel(UArg a0, UArg a1) //船舶数学模型功能模块;Void TaskRealCtrl (UArg a0, UArg a1) //实时控制计算功能模块;Void TaskTrustAllo(UArg a0, UArg a1) //推力分配功能模块;Void TaskEthernetSend(UArg a0, UArg a1) //以太网发送功能模块;Void TaskEthernetRecv(UArg a0, UArg a1) //以太网接收功能模块;Void TaskCan(UArg a0, UArg a1) //CAN网收发功能模块。

3.4 系统验证

在SRI-VC2110DP动力定位控制系统试验环境下对控制器的功能和性能进行验证,按照样机系统测试调试大纲进行调试。同时,采用计算机仿真船舶运动模型的方法搭建了仿真试验系统(见图8)。仿真计算机包括MATLAB仿真程序和仿真控制程序,其中MATLAB仿真程序通过MATLAB构建某起重船的运动模型,仿真控制程序通过调用VC&MATLAB Engine接口实现与船舶运动模型的数据交互,通过以太网通信接口实现与控制器的数据交换,控制器也通过以太网实现与动力定位操作台的通信。

以某起重船为研究对象,其基本参数见表1,仿真环境为无风、静水和满载,船舶的起始位置为(0,0,0),目标位置为(20,20,20),采用原SRI-VC2110DP动力定位控制器与这里所设计的DSP控制器对仿真船的各自由度方向位置及推力大小进行控制的效果对比见图9~图14。

表1 某起重船参数

系统验证结果表明,这里所设计的DSP控制器能实现正常的通信功能,控制效果与原SRI-VC2110DP动力定位控制器基本一致,能完成定位操作。

4 结 语

本文设计了基于DSP TMS320C6657处理器的动力定位控制器,根据系统需求进行了总体架构设计和硬件电路的设计,在硬件平台的基础上进行了驱动程序和应用程序的开发。系统仿真验证结果表明,所设计的动力定位控制器的控制性能良好、功耗较低,且能满足DPS的控制要求。

[1] SELKAINAHO J. Tuning a Dynamic Positioning System[J]. Automatica, 1993, 29(4):865-875.

[2] 赵志高,杨建民,王磊,等.动力定位系统发展状况及研究方法[J].海洋工程,2002, 20(1):91-97.

[3] 周利,王磊,陈恒.动力定位控制系统研究[J].海洋工程,2008,37(2):86-91.

[4] 韩冰,董胜利.一种模型预测控制算法在国产DP系统中的应用[J].上海船舶运输科学研究所学报,2015,38(2):1-7.

[5] 李文魁,陈永冰,田蔚风,等.现代船舶动力定位系统设计[J].船海工程,2007,36(5):77-79.

[6] 华金,郭建国.嵌入式双冗余CAN-Ethernet网关的设计与实现[J]. 上海船舶运输科学研究所学报,2013,36(2):43-48.

[7] TEXAS INSTRUMENTS. TI Network Developer′s kit (NDK) v2.24 User′s Guide[EB/OL]. (2014-04-21)[2014-07-12]. http://www.ti.com.cn/cn/lit/ug/spru523i/spru523i.pdf.

[8] 牛金海.TMS320C66x KeyStone 架构多核DSP入门余实例精解[M].上海:上海交通大学出版社,2014.

The Design and Implementation of Ship Dynamic Positioning Controller Based on DSP

SHILigang,DONGShengli,ZHANGHuanren

(Ship Automation Branch, Shanghai Ship & Shipping Research Institute, Shanghai 200135, China)

Based on the SRI-VC2110DP dynamic positioning control system, a dynamic positioning controller with digital signal processor is designed for a crane ship. The developed hardware circuits, including dual CAN bus interface, dual Ethernet interface and I/O interface, are described and the hardware equipment tests according to the requirements for the dynamic positioning controller are introduced. To support the function/performance tests of the controller, a dynamic positioning application program is developed under the SYS/BIOS real-time operating system, and a simulation platform is built to verify the real-time performance and reliability of the controller.

dynamic positioning control system; controller design; DSP

2016-11-07

石礼刚(1990—),男,山东滕州人,硕士生,主要从事嵌入式系统开发工作。

1674-5949(2017)01-0027-06

U664.82

A

猜你喜欢
功能模块以太网处理器
Dirac Live加持!让好效果来得更容易 ROTEL Rotel RAP-1580MKⅡ AV功放/RSP-1576MKⅡ环绕声处理器/RMB-1585五声道功放
三大因素驱动创新提速以太网快步迈入“灵活”时代
三大因素驱动创新提速 以太网快步迈入“灵活”时代
商业模式是新媒体的核心
基于以太网的计算机与数控系统通信技术研究
基于ASP.NET标准的采购管理系统研究
高校二手交易网络平台功能及技术框架分析与设计
基于ENC28J60的嵌入式以太网/CAN网关设计
火线热讯
AItera推出Nios II系列软核处理器