双NIOSⅡ软核系统在潮流能发电中的应用

2014-07-18 00:36陈家林刘兰军王建国
电脑知识与技术 2014年13期

陈家林 刘兰军 王建国

摘要:开发海洋潮流能对缓解能源危机具有重要意义,电力变换系统是潮流能发电系统的关键技术之一。提出了一种利用SOPC技术实现潮流能发电电力变换控制系统的设计方法,采用单片高性能FPGA芯片构建双NIOSⅡ软核系统,其中一个NIOSⅡ处理器负责系统任务调度和能量管理,一个NIOSⅡ处理器负责电力变换控制和异常诊断。针对电力变换系统的信息数据特点,提出了基于RAM、FIFO、GPIO的双NIOSⅡ处理器握手机制,并给出了系统的具体设计实现。该双NIOSⅡ处理器系统提高了系统的任务调度灵活性、控制算法处理速度和应急处理能力。

关键词:SOPC;双NIOS;握手机制;电力变换;潮流能

中图分类号:TP368 文献标识码:A 文章编号:1009-3044(2014)13-3142-04

Dual NIOS II Soft Core System in the application of the Tidal Current Energy Generator

CHEN Jia-lin, LIU Lan-jun, WANG Jian-guo

(Engineering College, Ocean University of China, Qingdao 266100, China)

Abstract: Development of marine tidal energy is of great significance to relieve the energy crisis. The power conversion system is one of the key technologies of tidal current energy generator system. A method which can realize power transformer of tidal current energy generator by using SOPC technology is presented. Single piece of high performance FPGA chip is used to construct the dual NIOS II soft core system, one is responsible for system task scheduling and energy management, the other is used in power conversion and abnormality diagnosis. According to the characteristics of information data in power conversion system, a handshake mechanism which is based on RAM, FIFO, GPIO dual NIOS II processor is put forward and the specific design and implementation of this system is given. The dual NIOS II processor system improves the flexibility of task scheduling, increases the speed of control algorithm and enhances emergency handling ability.

Key words: SOPC; dual nios II; handshake mechanism; power conversion; tidal current energy

1 概述

海洋潮流能作为一种新型可再生绿色能源,由于安全清洁、能量稳定、储量丰富、可再生可持续性好、有规律、可预测性强等特点,成为海洋能能源开发技术领域中迅速发展的研究分支之一[1]。电力变换系统是潮流能发电系统的重要组成部分。目前,海洋潮流能发电仍是一个开放性研究领域,研制适用于潮流能发电能量转换特点的高效率、高可靠、易升级的电力变换系统是支持潮流能发电研究的重要工作[2]。

SOPC技术是一种新型的嵌入式系统设计方式,基于NIOSⅡ软核处理器和可重用IP核进行系统开发,可灵活实现系统软硬件协同设计,支持系统软件、硬件的同时可编程,支持多NIOSⅡ处理器系统设计[3]。双NIOSⅡ处理器结构是目前复杂SOPC系统中常用的系统组成方式,在车载视频点播系统[4]、驾驶疲劳检测系统[5]、多核远程重构控制器[6]等方面获得了良好应用。该文针对潮流能发电电力变换系统的控制需求和数据特点,提出了一种基于双NIOSⅡ软核处理器的潮流能发电电力变换控制系统的设计方法,其中一个NIOSⅡ处理器负责系统任务调度和能量管理,一个NIOSⅡ处理器负责电力变换控制和异常诊断,提出了基于RAM、FIFO、GPIO的双NIOSⅡ处理器握手机制,并给出了系统的具体设计实现。

论文结构为:首先介绍潮流能发电电力变换系统的整体结构;然后给出了双NIOSⅡ软核处理器系统架构和具体设计实现;最后是结论。

2 电力变换系统的整体架构

电力变换系统的系统组成如图1所示,水下发电机组通过同步永磁发电机将潮流能转换成频率和幅值均不稳定的电能,电力变换系统将电能经过EMI滤波、整流、BOOST升压、DC/DC变换等处理,输出直流电至母线。该文主要介绍主控板中基于双NIOSⅡ软核的主控系统设计。

图1 电力变换系统组成

整流逆变模块在主控系统控制下具有两种工作模式,分别是助力启动模式、发电模式。助力启动模式,整流逆变模块工作在逆变方式,对同步永磁发电机进行软启动,克服机械摩擦,以最大限度地利用潮流能。发电模式,整流逆变模块工作在整流方式,将三相交流电转变为直流电输送给BOOST升压模块。

BOOST升压模块在主控系统控制下进行最大功率点跟踪,以最大限度地利用海流能。

DC/DC模块由DC/DC控制板直接控制,主控系统通过CAN总线与DC/DC控制板交互命令和信息。

水下系统负责对水下发电机组的转子角度、转速、浆矩角、电能等参数的监测,主控系统通过CAN总线与水下系统交互命令和信息。

Dump负载由独立控制板直接控制,当系统输出能量过大时,Dump负载投入消耗能量,保证电力变换系统能够稳定安全地运行为系统的控制提供响应时间。主控系统通过CAN总线与Dump负载控制器交互命令和信息。

此外,主控系统还通过CAN总线、UART、MODBUS等实现与其他电力变换系统、监控PLC、岸站管理系统的命令和信息交互。

针对主控系统的控制需求,该文以SOPC技术为核心,搭建了基于NIOSⅡ软核处理器的本文潮流能发电电力变换系统的主控系统,系统拓扑如图2所示。

图2 主控系统SOPC结构图

3 双NIOSⅡ系统结构及设计实现

本文设计的电力变换系统主控系统的双NIOSⅡ处理器的系统结构如图3所示。选用两个快速型NIOSⅡ处理器软核CPU1和CPU2,,每个处理器具有独立的数据存储器,两个处理器的程序存储器共享。

图3 双NIOS体系结构

CPU1负责系统电力变换控制算法、异常诊断和应急快速响应。电力变换控制算法包括最大功率跟踪算法(MPPT)、功率因素校正算法(PFC)、电能计算控制算法等。控制算法需要实时周期性的处理,要求响应速度高。采用一个CPU专门处理控制算法,保证了系统的性能。

CPU2主要负责任务的调度管理、系统间的数据信息交互、能量管理等。电力变换系统的工况主要包括空闲工况、停车工况、启动工况、发电工况、异常故障工况等,主控系统对工况流程进行调度管理,同时通过CAN总线通知其他系统等,进行相应的动作处理。该类事件处理不需要高速度但流程复杂,采用一个CPU专门处理保证了高可靠性、灵活性和安全性。

3.1 双NIOSⅡ握手机制

双NIOS II处理器的握手机制解决两个NIOS II处理器的通信和资源共享问题,保证CPU1和CPU2能够协调工作,是双NIOSII处理器设计的关键,图4为双NIOSII系统的系统连接实物图。针对潮流能发电电力变换系统应用中两个NIOSII处理器的交互数据信息的类型,该文设计的双NIOSII处理器的握手机制包括三种共享机制:RAM、FIFO和GPIO。

图4 双NIOS共享模块Avalon总线连接图

RAM共享机制基于片内RAM搭建,用于传输实时参数和进程信号,以实现处理器之间的状态和参数共享,潮流能发电的该类数据信息见表1。

表1 RAM共享机制的参数举例

[整流/逆变参数\&BOOST参数\&其它监测参数\&逆变模组半桥电压电流均值\&BOOST电压电流均值\&发电机三相电压有效值\&逆变相角幅值数据\&BOOST转换效率\&外部母线状态\&助力算法相关参数\&BOOST输入输出功率\&干节点参数\&助力发电机相关参数\&BOOST模组HALL均值\&机柜温度\&预充电助力电流电压\&BOOST电流环参数\&海流速度\&……\&……\&……\&]

RAM共享机制需要Mutex核配合,Mutex核提供一个基于硬件的原子测试和置位操作,多个处理器环境下决定哪一个处理器拥有Mutex核,保证了共享资源的所有权互斥,基于Mutex核的程序流程图如图5所示。

图5 基于Mutex核的程序流程图

FIFO共享机制采用两个FIFO内核作为双核的通信缓冲区,进行全双工数据传输,并基于中断对FIFO内核进行读写操作,读写流程如图6所示。

FIFO机制适合顺序数据的突发传输,本设计中将两个NIOSII处理器之间交互的CAN帧数据存入FIFO缓冲区,见表2。保证了CAN帧结构的完整性和双NIOSII通信响应的快速性。

表2 CAN帧构成

[CAN帧结构\&帧起始\&仲裁域\&bit[31:29]\&NON\&bit[28:27](优先级)\&0-升级命令,1-控制命令,2-上报命令\&bit[26:24](源地址)\&0-主控,1-IAP,2-水下监测,3-电源控制…\&bit[23:21](目标机组号)\&0-监控主机,1-机组1,2-机组2…\&bit[20:18](目标板号)\&0-主控,1-IAP,2-水下监测,3-电源控制…\&bit[17:15](命令位)\&0-升级命令,1-报警,2-控制命令…\&bit14应答位\&0-需要应答,1-不需要应答\&bit[13:12]帧命令类型\&0-命令,1-应答,2-主动上报\&bit[11:0]控制命令相关\&0x011-启动变桨,0x013-启动机组刹车…\&控制域,数据域,CRC域,应答域,帧结束\&不同命令对应不同的数据域\&]

GPIO共享机制采用PIO作为双NIOSII处理的通信通道。PIO配置成中断方式,通过PIO中断使处理器能够快速响应另一处理器的事件,以应对电力变换系统中的紧急异常事件。

3.2 双NIOSII系统的系统配置

本文提出的双NIOSII系统的系统配置包括复位异常地址配置和编程配置。

1)复位异常地址配置,NIOS II处理器的复位地址决定了程序存储的地方,异常地址决定了程序运行的地方。本设计在SOPC Builder中将CPU1的Reset Vector设置为CFI_FLASH Controller,Offset为0x00,Exception Vector设置为SDRAM1 Controller。CPU2的Reset Vector设置为CFI_FLASH Controller,Offset为0x100000,Exception Vector设置为SDRAM2 Controller。

2)编程配置,在NIOS IDE的Flash programme工具中,硬件配置选择EPCS Controller,程序配置选择CFI_FLASH Controller。系统上电后FPGA利用EPCS配置芯片中的硬件配置文件完成双NIOSII系统的硬件搭建,然后在在内部复位逻辑的作用下,各个NIOSII处理器将分别从复位地址开始执行程序,利用bootload自动将各自的程序复制到各自的SDRAM中运行。

4 结论

本文设计的基于双NIOSII处理器的潮流能发电电力变换主控系统已成功应用于国家海洋可再生能源专项项目,工程应用表明,利用FPGA的并行高速、高集成度、易升级的特点能够很好的满足潮流能电力变换系统的控制需求。双NIOSII软核系统良好地实现了系统并行处理和协同工作,保证了系统的可靠性和高效性,能够快速发现异常并及时响应,保证了系统的安全性。

参考文献:

[1] 游亚戈,李伟,刘伟民,等.海洋能发电技术的发展现状与前景[J].电力系统自动化, 2010 (14): 1-12.

[2] 王刚,厉文超,王树杰,等.海洋潮流能发电机组控制系统开发[J].电力系统自动化,2010 (14): 23-26.

[3] 胡志海,王德君,赵巧云,等.基于 SOPC 的便携式智能图像采集系统设计[J].仪器仪表学报,2010(2):371-376.

[4] 王建国,洪胜峰,綦声波,等.基于 SOPC 技术的视频点播系统设计[J].计算机工程,2007,33(22):277-279.

[5] 凌朝东,杨亮亮,李国刚.基于 NiosⅡ 多核驾驶疲劳检测系统设计[J].计算机工程与设计,2009(6):1410-1412.

[6] 朱丹,等.一种多核远程重构控制器的设计与实现[J].计算机工程,2011,37(9):254-256.endprint

GPIO共享机制采用PIO作为双NIOSII处理的通信通道。PIO配置成中断方式,通过PIO中断使处理器能够快速响应另一处理器的事件,以应对电力变换系统中的紧急异常事件。

3.2 双NIOSII系统的系统配置

本文提出的双NIOSII系统的系统配置包括复位异常地址配置和编程配置。

1)复位异常地址配置,NIOS II处理器的复位地址决定了程序存储的地方,异常地址决定了程序运行的地方。本设计在SOPC Builder中将CPU1的Reset Vector设置为CFI_FLASH Controller,Offset为0x00,Exception Vector设置为SDRAM1 Controller。CPU2的Reset Vector设置为CFI_FLASH Controller,Offset为0x100000,Exception Vector设置为SDRAM2 Controller。

2)编程配置,在NIOS IDE的Flash programme工具中,硬件配置选择EPCS Controller,程序配置选择CFI_FLASH Controller。系统上电后FPGA利用EPCS配置芯片中的硬件配置文件完成双NIOSII系统的硬件搭建,然后在在内部复位逻辑的作用下,各个NIOSII处理器将分别从复位地址开始执行程序,利用bootload自动将各自的程序复制到各自的SDRAM中运行。

4 结论

本文设计的基于双NIOSII处理器的潮流能发电电力变换主控系统已成功应用于国家海洋可再生能源专项项目,工程应用表明,利用FPGA的并行高速、高集成度、易升级的特点能够很好的满足潮流能电力变换系统的控制需求。双NIOSII软核系统良好地实现了系统并行处理和协同工作,保证了系统的可靠性和高效性,能够快速发现异常并及时响应,保证了系统的安全性。

参考文献:

[1] 游亚戈,李伟,刘伟民,等.海洋能发电技术的发展现状与前景[J].电力系统自动化, 2010 (14): 1-12.

[2] 王刚,厉文超,王树杰,等.海洋潮流能发电机组控制系统开发[J].电力系统自动化,2010 (14): 23-26.

[3] 胡志海,王德君,赵巧云,等.基于 SOPC 的便携式智能图像采集系统设计[J].仪器仪表学报,2010(2):371-376.

[4] 王建国,洪胜峰,綦声波,等.基于 SOPC 技术的视频点播系统设计[J].计算机工程,2007,33(22):277-279.

[5] 凌朝东,杨亮亮,李国刚.基于 NiosⅡ 多核驾驶疲劳检测系统设计[J].计算机工程与设计,2009(6):1410-1412.

[6] 朱丹,等.一种多核远程重构控制器的设计与实现[J].计算机工程,2011,37(9):254-256.endprint

GPIO共享机制采用PIO作为双NIOSII处理的通信通道。PIO配置成中断方式,通过PIO中断使处理器能够快速响应另一处理器的事件,以应对电力变换系统中的紧急异常事件。

3.2 双NIOSII系统的系统配置

本文提出的双NIOSII系统的系统配置包括复位异常地址配置和编程配置。

1)复位异常地址配置,NIOS II处理器的复位地址决定了程序存储的地方,异常地址决定了程序运行的地方。本设计在SOPC Builder中将CPU1的Reset Vector设置为CFI_FLASH Controller,Offset为0x00,Exception Vector设置为SDRAM1 Controller。CPU2的Reset Vector设置为CFI_FLASH Controller,Offset为0x100000,Exception Vector设置为SDRAM2 Controller。

2)编程配置,在NIOS IDE的Flash programme工具中,硬件配置选择EPCS Controller,程序配置选择CFI_FLASH Controller。系统上电后FPGA利用EPCS配置芯片中的硬件配置文件完成双NIOSII系统的硬件搭建,然后在在内部复位逻辑的作用下,各个NIOSII处理器将分别从复位地址开始执行程序,利用bootload自动将各自的程序复制到各自的SDRAM中运行。

4 结论

本文设计的基于双NIOSII处理器的潮流能发电电力变换主控系统已成功应用于国家海洋可再生能源专项项目,工程应用表明,利用FPGA的并行高速、高集成度、易升级的特点能够很好的满足潮流能电力变换系统的控制需求。双NIOSII软核系统良好地实现了系统并行处理和协同工作,保证了系统的可靠性和高效性,能够快速发现异常并及时响应,保证了系统的安全性。

参考文献:

[1] 游亚戈,李伟,刘伟民,等.海洋能发电技术的发展现状与前景[J].电力系统自动化, 2010 (14): 1-12.

[2] 王刚,厉文超,王树杰,等.海洋潮流能发电机组控制系统开发[J].电力系统自动化,2010 (14): 23-26.

[3] 胡志海,王德君,赵巧云,等.基于 SOPC 的便携式智能图像采集系统设计[J].仪器仪表学报,2010(2):371-376.

[4] 王建国,洪胜峰,綦声波,等.基于 SOPC 技术的视频点播系统设计[J].计算机工程,2007,33(22):277-279.

[5] 凌朝东,杨亮亮,李国刚.基于 NiosⅡ 多核驾驶疲劳检测系统设计[J].计算机工程与设计,2009(6):1410-1412.

[6] 朱丹,等.一种多核远程重构控制器的设计与实现[J].计算机工程,2011,37(9):254-256.endprint