双NIOSⅡ软核系统在潮流能发电中的应用摘要:开发海洋潮流能对缓解能源危机具有重要意义,电力变换系统是潮流能发电系统的关键技术之一。提出了一种利用SOPC技术实现潮流能发电电力变换控制系统的设计方法,采用单片高性能FPGA芯片构建双NIOSⅡ软核系统,其中一个NIOSⅡ处理器负责系统任务调度和能量管理,一个NIOSⅡ处理器负责电力变换控制和异常诊断。针对电力变换系统的信息数据特点,提出了基于RAM、FIFO、GPIO的双NIOSⅡ处理器握手机制,并给出了系统的具体设计实现。该双NIOSⅡ处理器系统提高了系统的任务调度灵活性、控制算法处理速度和应急处理能力。关键词:SOPC;双NIOS;握手机制;电力变换;潮流能中图分类号:TP368文献标识码:A文章编号:1009-3044(2014)13-3142-04DualNIOSIISoftCoreSystemintheapplicationoftheTidalCurrentEnergyGeneratorCHENJia-lin,LIULan-jun,WANGJian-guo(EngineeringCollege,OceanUniversityofChina,Qingdao266100,China)Abstract:Developmentofmarinetidalenergyisofgreatsignificancetorelievetheenergycrisis.Thepowerconversionsystemisoneofthekeytechnologiesoftidalcurrentenergygeneratorsystem.AmethodwhichcanrealizepowertransformeroftidalcurrentenergygeneratorbyusingSOPCtechnologyispresented.SinglepieceofhighperformanceFPGAchipisusedtoconstructthedualNIOSIIsoftcoresystem,oneisresponsibleforsystemtaskschedulingandenergymanagement,theotherisusedinpowerconversionandabnormalitydiagnosis.Accordingtothecharacteristicsofinformationdatainpowerconversionsystem,ahandshakemechanismwhichisbasedonRAM,FIFO,GPIOdualNIOSIIprocessorisputforwardandthespecificdesignandimplementationofthissystemisgiven.ThedualNIOSIIprocessorsystemimprovestheflexibilityoftaskscheduling,increasesthespeedofcontrolalgorithmandenhancesemergencyhandlingability.Keywords:SOPC;dualniosII;handshakemechanism;powerconversion;tidalcurrentenergy1概述海洋潮流能作为一种新型可再生绿色能源,由于安全清洁、能量稳定、储量丰富、可再生可持续性好、有规律、可预测性强等特点,成为海洋能能源开发技术领域中迅速发展的研究分支之一[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Ⅱ握手机制双NIOSII处理器的握手机制解决两个NIOSII处理器的通信和资源共享问题,保证CPU1和CPU2能够协调工作,是双NIOSII处理器设计的关键,图4为双NIOSII系统的系统连接实物图。针对潮流能发电电力变换系统应用中两个NIOSII处理器的交互数据信息的类型,该文设计的双NIOSII处理器的握手机制包括三种共享机制:RAM、FIFO和GPIO。图4双NIOS共享模块Avalon总线连接图RAM共享机制基于片内RAM搭建,用于传输实时参数和进程信号,以实现处理器之间的状态和参数共享,潮流能发电的该类数据信息见表1。表1RAM共享机制的参数举例[整流/逆变参数\&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通信响应的快速性。表2CAN帧构成[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)复位异常地址配置,NIOSII处理器的复位地址决定了程序存储的地方,异常地址决定了程序运行的地方。本设计在SOPCBuilder中将CPU1的ResetVector设置为CFI_FLASHController,Offset为0x00,ExceptionVector设置为SDRAM1Controller。CPU2的ResetVector设置为CFI_FLASHController,Offset为0x100000,ExceptionVector设置为SDRAM2Controller。2)编程配置,在NIOSIDE的Flashprogramme工具中,硬件配置选择EPCSController,程序配置选择CFI_FLASHController。系统上电后FPGA利用EPCS配置芯片中的硬件配置文件完成双NIOSII系统的硬件搭建,然后在在内部复位逻辑的作用下,各个NIOSII处理器将分别从复位地址开始执行程序,利用bootload自动将各自的程序复制到各自的SDRAM中运行。4结论本文设计的基于双NIOSII处理器的潮流能发电电力变换主控系统已成功应用于国家海洋可再生能源专项项目,工程应用表明,利用FPGA的并行高速、高集成度、易升级的特点能够很好的满足潮流能电力变换系统的控制需求。双NIOSII软核系统良好地实现了系统并行处理和协同工作,保证了系统的可靠性和高效性,能够快速发现异常并及时响应,保证了系统的安全性。参考文献:[