基于 STM32 + FPGA 船舶电站控制器设计与实现

近年来 , 随着半导体技术迅猛发展 , 以 ARM 架
构为核心的微控制单元 ( Micro Controller Unit ,
MCU ) 和现场可编程门列 ( Field-Programmable Gate
Array , FPGA ) 因具有性能优异 、 功能完善 、 供货稳定
和成本较低等优势 [ 1 ] 而在工业现场控制领域得到
广泛应用 , 在船舶机舱自动化领域的应用也在不断
深入 , 具有广阔的应用前景 。
以往的船舶电站控制器通常以 PLC 设备为核
心 , 同时需要配备相应的电量变送器 、 同步并车模块
和开关量输入输出模块等基本模块 。 因此 , 以往的
单台发电机组控制单元是在以 PLC 为核心的船舶
电站控制器的基础上组建的 , 而这样的电站控制系
统组网极其复杂 , 所需的安装空间也非常大 , 很大程
度上限制了其在现代舰船 , 尤其是在电网容量巨大
的全电力推进船舶上应用的前景 。 [ 2 ]
为适应现代舰船电站控制系统的发展 , 亟需一
种可在单个模块中完成以往船舶电站控制器所有功
能的电站控制器 。 现代嵌入式处理器 , 尤其是 ARM
架构的 MCU 和可编程逻辑器件 FPGA 的组合架构
完全可以使其变为现实 。
1 ARM + FPGA 架构设计
1. 1 船舶电站控制器功能需求
船舶电站控制器所需的控制功能接口类型繁
多 , 包括对原动机及发电机进行基本控制和安全保
护所需的开关量接口 、模拟量接口及与船舶电站系
统内其他设备互联互通的接口等 。 图 1 为单台传统
柴油发电机主要接口信号 。

由图 1 可知 , 电站控制器所需的功能接口主要
包括模拟量 ( 交流量和直流量 ) 接口 、 开关量 ( 开关
量输入输出 ) 接口和通信总线 ( RS485 和 CAN 等 )
接口等 。
1. 2 ARM + FPGA 架构选型
针对电站控制器功能接口的需求 , 选用 ARM +
FPGA 架构作为单模块电站控制器的基本架构 。
STM32F437 是基于高性 能 ARM  Cortex  -M4
32 位 RISC 内核 的 MCU : 集 成 了 FPU , 自 适 应 实 时
( ART ) 加 速 度 器 , MPU , 225 DMIPS /1. 25 DMIPS /
MHz ( Dhrystone 2. 1 ) , 256 + 4KB SRAM 和 32 位数
据总线及 DSP 指令 ; 闪存高达 2 MB , 工作频率高达
180 MHz , 主要应用于工业控制领域 , 可满足电站控
制器对核心 CPU 运算能力及外设的要求 。
FPGA 是在 PAL , GAL 和 CPLD 等可编程器件的
基础上进一步发展的产物 , 在逻辑控制和时序控制
方面有着其他类型控制器不可比拟的优势 。 电站控
制器所要处理的逻辑信号数量较大 , 且关键的安全
保护逻辑不容有丝毫差错 。 FPGA 独立于 MCU 的
运行体系及可靠的逻辑处理能力使其成为电站控制
器逻辑处理单元的最佳选择 。 [ 3 ]
EP2C5Q208C8 是 ALTERA 公司的 Cyclone II 系
列 FPGA , 拥 有 4 608 个 LEs ( 片 上 RAM 共 计
119 808 bits ) 、 13 个 18 × 18 硬件乘法器 、 2 个高性
能 PLL 及 142 个用户自定义 IO , 在逻辑门数量和运
算速度方面完全可以满足电站控制器的功能需求 。
2 控制器硬件设计
电站控制器的硬件是基于电站控制器对接口资
源的需求设计的 , 可满足大部分电站控制系统对单
机控制器的接口需求 , 并针对行业未来的发展预留
了部分可扩展的接口 。 硬件设计结构框图见图 2 。

2. 1 模拟量采集部分硬件设计
电站控制器需要处理的模拟量包括交流电量采
集和直流电量输入采集 。
1 ) 交流电量采集将 AD7606 作为采集主体 , 与
MCU 间通过 SPI 总线连接 。 AD7606 由 ADI 公司设
计生产 , 内部集成有 16 位 、 200 kSPS 的 AD 转换器 ,
可实现对 6 路交流信号的同步采样 。 AD7606 模拟
前端具有箝位保护 、 输入缓冲器和二阶抗混叠模拟
滤波 器 , 能保证对交流信号的调理精度 。 基 于
AD7606 的交流电量采集硬件设计拓扑结构见图 3 。

2 ) 直流电量采集部分主要采集标准 4 ~ 20 mA
的电流环信号 。 其模拟前端采用差分输入结构 , 可
有效降低共模干扰 , 并提高采集精度 ; 其后端采样通
过 MCU 自身集成 AD 转换器完成 , 采样精度为 12
位 。 结合 STM32F437 的集成 AD 转换器支持多种
采样模式的特点 , 在 MCU 算法中加入数字滤波器 ,
以进一步提高直流电量的采集精度 。 直流电量采集
硬件设计拓扑结构见图 4 。

3 控制器软件设计
电站控制器软件可分为应用层 、 应用接口层和
驱动层 。 软件的分层设计可使开发人员仅关注整个
结构中的某一层即可完成所有内容 , 从而大大提高
开发效率 ; 同时 , 减弱层与层之间的依赖关系 , 可逐
层对软件进行更新迭代 , 更有利于各层间逻辑的复
用 。 图 7 为电站控制器软件设计框图 。
图 7 电站控制器软件设计框图
电站控制器软件设计中较为关键的算法主要有
电站控制器核心控制算法 、 交流电量测量算法和准
同步并车算法 。
3. 1 电站控制器核心控制算法设计
应用层主要实现电站控制器的核心控制算法 ,
其主要功能有 :
1 ) 发电机组根据负载的需要 , 自动启动 、 投入
运行和停车 ;
2 ) 发电机与电网母线自动同步和并车 ;
3 ) 电网电压与频率自动恒定 ;
4 ) 并联运行机组间自动实现负载 ( 有功和无
功 ) 的分配和转移 ;
5 ) 按电站负载情况自动卸除或投入次要负载 ;
6 ) 重载控制 ;
7 ) 故障的自行报警和自动保护及按一定程序
自动投入相应的完好机组并解除故障机组 。
电站控制器核心控制算法的各个功能模块均固
化于 MCU 内 , 同时提供配置接口 , 用以实现对各功
能模块的使能和禁用 , 并配置相应参数 。 在实际应
用中 , 可针对不同船型的组网形式灵活配置不同功
能模块的工作模式 。
3. 2 交流电量测量算法设计
在电站控制器中 , 交流电量的测量是最基础的
功能 , 是保证其他功能稳定 、 可靠的前提 。 电站控制
器通过采集 3 相电压和 3 相电流信号来计算交流电
量参数 , 包括电压和电流有效值 、 有功功率 、 无功功
率 、 功率因数及频率等 。 [ 4 ]

相关推荐
AntBlack1 小时前
Ant-Browser : 发布一个开源免费的指纹浏览器 ,欢迎体验
后端·架构·go
我不是程序猿儿1 小时前
【嵌入式】编码器计数倍频,机械一格与电气计数
stm32·单片机·嵌入式硬件·学习
lucky_syq1 小时前
Mac电脑部署OpenClaw保姆级教程(2026最新版)
人工智能·macos·开源·电脑·openclaw
Hello World . .2 小时前
51单片机基础外设:GPIO(以LED、按键、数码管为例)
单片机·嵌入式硬件
猿小猴子2 小时前
主流 AI IDE 之一的 华为云码道「CodeArts」 介绍
ide·人工智能·ai·华为云
Flamingˢ2 小时前
基于ARM的裸机程序设计和开发(三):C编程基础与Zynq裸机开发常用方法
c语言·arm开发·单片机
短剑重铸之日2 小时前
《ShardingSphere解读》12 解析引擎:SQL 解析流程应该包括哪些核心阶段?(下)
数据库·后端·sql·架构·shardingsphere·分库分表
EnglishJun2 小时前
ARM嵌入式学习(八)--- 汇编应用:点亮led
汇编·arm开发·学习
Xpower 172 小时前
OpenClaw实战:从零开发电商小程序(2)
人工智能·语言模型·小程序·gateway