基于硬件加速器的DMC控制器实现研究

基于硬件加速器的DMC控制器实现研究

论文摘要

模型预测控制(Model Predictive Control, MPC)于20世纪70年代末期在工业过程控制领域中产生,是一类以模型为基础的先进计算机优化控制算法。在应用过程中,模型的形式不重要,重点是功能。基于单位阶跃响应模型的预测控制称为动态矩阵控制(DMC)。该算法不要求对被控对象有先验知识,模型可以直接从系统的响应得到,因而在工业领域有广泛的应用。由于DMC算法的状态变量维数比较高,应用中这些状态变量又存在约束,因而转化成的QP问题约束条件多,求解速度慢,这严重制约了DMC算法在快速系统中应用。近年来,一些学者从理论入手,提出了一些新的优化方法,一定程度上提高了预测控制的在线求解速度。也有些学者从控制器实现入手,提出了硬件并行运算的思路。本文以硬件方式来实现DMC算法,并结合硬件并行运算的特点选则优化算法,提高DMC的在线求解速度。整体方案是在FPGA芯片中嵌入了一个软核处理器-Nios IICPU,并为之设计协处理器(硬件加速器),整个算法运行在Nios II CPU上,比较耗时的向量/矩阵运算由硬件加速器并行完成。为提高DMC的在线求解速度,扩展其应用范围,本文从以下几方面进行了研究,使得QP求解速度提升700倍左右:(1)QP求解算法。DMC最终可以转化为QP求解问题,QP求解速度直接影响整个DMC的求解速度。首先讨论了原始对偶算法和内点算法原理和计算流程。原始对偶算法存在程序流程复杂,计算步骤间耦合性强等特点,不利于FPGA硬件并行实现,而内点算法不存在这些问题,因此本文选择内点算法。然后通过矩阵变换将高阶次的矩阵求逆转化为低阶次矩阵求逆,使QP求解速度提高25倍左右。最后将算法中的运算分类以便下一步硬件实现。(2)硬件加速,包括两方面:一自定制指令。加入单精度浮点数据四则运算和开平方运算,使得一次单精度浮点运算速度提升10倍左右,整个QP求解速度提升6.5倍左右。二自定制组件(硬件加速器)。根据Avalon总线接口的读写时序,给出方案一:Slave接口方案和方案二:Slave+Master接口方案,经时序分析和实验得知方案二较方案一能更大限度的降低CPU负担,速度提升2倍左右。然后设计通用的架构和Avalon,总线接口模块,向量加/减法,向量元素累加和,向量对应元素积,向量内积,数与向量积以及矩阵求逆运算的逻辑功能模块,并将逻辑功能模块和总线接口模块结合在一起构成标准的硬件加速器,使得QP求解速度提升4.2倍左右。(3) Nios II CPU架构。通常的Nios II CPU架构将所有IP全部与Avalon总线连接,所有的Master接口和Slave接口有专属连接,大大增加了系统复杂度,使得系统最大频率拉不高,通过使用Pipeline Bridge技术,在Avalon Bus的信号间加入了Pipeline Register,使得系统最大频率从150MHZ提升到250MHZ。最后设计控制器硬件和软件。硬件部分包括Nios II CPU设计、DE3 FPGA开发板和ICB通信板的连接配置。软件包括QP内点算法、DMC算法、和通信协议的程序设计。并以网络拥塞控制为对象设计具体控制器,在xPC-target实时仿真系统上做无干扰和有干扰实时仿真实验,实验表明本文设计的DMC控制器满足实时性和控制要求,验证了本文提出的控制器设计方法的可行性。按照本文采取的措施,使得QP求解速度有明显提升,但是硬件加速器方面的贡献还比较小,这是因为本文只针对向量运算设计了加速器,下一步可以用Catapult C软件将整个QP算法硬件化,利用本文设计的通用硬件加速器结构和Avalon总线接口模块,构建硬件加速器,作为Nios II CPU的协处理器。此外实时仿真实验时,将浮点数放大成为整数再通过串口传输,数据精度受到影响,下一步可以将浮点数按照十六进制直接传输,以保证数据精度。

论文目录

  • 前言
  • 摘要
  • Abstract
  • 第1章 绪论
  • 1.1 课题背景
  • 1.2 预测控制研究现状
  • 1.3 FPGA实现预测控制器的优势
  • 1.4 FPGA实现预测控制器的常用方案
  • 1.5 本文的研究内容
  • 第2章 DMC控制器设计原理及实现方案
  • 2.1 模型预测控制原理
  • 2.2 约束动态矩阵控制DMC
  • 2.2.1 阶跃响应模型
  • 2.2.2 预测方程
  • 2.2.3 约束优化问题的求解
  • 2.3 DMC控制器实现方案
  • 2.3.1 SoPC技术
  • 2.3.2 Nios Ⅱ嵌入式软核处理器
  • 2.3.3 硬件加速
  • 2.3.4 开发流程
  • 2.4 本章小结
  • 第3章 QP算法选择及计算分析
  • 3.1 QP算法选择
  • 3.1.1 原始对偶算法
  • 3.1.2 内点法
  • 3.2 算法优化
  • 3.3 算法中计算类型归纳
  • 3.4 本章小结
  • 第4章 基于Avalon总线的硬件加速器设计
  • 4.1 Avalon总线接口模块设计
  • 4.1.1 方案一:Slave接口
  • 4.1.2 方案二:Slave接口+Master接口
  • 4.1.3 状态机设计
  • 4.2 浮点型数据表示形式
  • 4.3 数字逻辑功能模块设计
  • 4.3.1 向量加/减及元素累加和运算
  • 4.3.2 向量分元素积以及向量内积
  • 4.3.3 矩阵求逆
  • 4.4 硬件加速器Modelsim仿真
  • 4.5 API函数设计
  • 4.6 本章小结
  • 第5章 控制器原型实现及实时仿真
  • 5.1 控制器原型实现
  • 5.1.1 控制器硬件设计
  • 5.1.2 硬件加速器性能分析
  • 5.1.3 控制器软件设计
  • 5.2 被控对象建模及控制器推导
  • 5.3 xPC-target实时仿真
  • 5.4 本章小结
  • 第6章 全文总结
  • 附录A QP算法流程图
  • 附录B 硬件加速器设计Modelsim仿真图
  • 附录C 向量乘法硬件加速器HAL
  • 参考文献
  • 致谢
  • 相关论文文献

    标签:;  ;  

    基于硬件加速器的DMC控制器实现研究
    下载Doc文档

    猜你喜欢