基于嵌入式数控系统平台运动控制算法的实现与优化 --硕士研究生中期论文答辩 导师:于东 研究员 答辩人:贾小波
内容 课题背景 研究进展 实验方案 未来规划 研究成果 中国科学院沈阳计算技术研究所
课题背景 国内基于ARM平台的数控系统 - 北京凯恩帝 ① K1000 - 广州数控的产品 - 国外著名数控系统厂商 ① GSK928TE ② GSK980TB2 - 国外著名数控系统厂商 ① FANUC Series 0i-Model 中国科学院沈阳计算技术研究所 3
课题背景 ARM+DSP-新一代的解决方案 DSP具有强大的数据处理能力和较高的运行速度
课题背景 数控系统所具有的运动控制算法性能的优劣将直接影响着数控机床的加工质量和加工效率,也是国外先进数控企业竭力保密的核心技术 中国科学院沈阳计算技术研究所 5
课题背景 基于ARM+DSP的嵌入式数控系统 - 标准型数控系统 - 硬件结构简单、功耗小 - 高性能低成本,适应中高档数控系统市场需求 运动控制算法不同的硬件环境 ① PC平台 -操作系统,标准函数库,浮点运算 ② DSP平台 -特殊硬件电路,如硬件乘法器等 -BIOS实时操作系统、DSPLIB和IQmath -定点DSP,无FPU 因此,需要将运动控制算法针对DSP硬件环境重新设计优化以最大化有效利用DSP硬件资源,同时,DSP处理实时运动控制任务,均衡各处理器负载,结构独立,任务分离,有效提升了嵌入式数控系统综合性能。 中国科学院沈阳计算技术研究所
课题背景 选取基于滑动平均滤波的速度规划算法作为应用实例, 探究基于DSP的运动控制系统的设计方法和优化流程模型 运动控制算法演变 加减速控制方法是运动控制算法的核心之一。 ①直线加减速 ②指数加减速 ③S形曲线加减速 - ①和②虽然计算量小,编程简单,但是在加减速阶段存在加速度突变的现象,导致机床可能产生剧烈振动 - 数字卷积技术推导而来的基于滑动滤波的速度规划算法能够很好防止加速度突变,平滑拐角速度,而且具有数字卷积特征,能够充分利用DSP硬件乘法器 选取基于滑动平均滤波的速度规划算法作为应用实例, 探究基于DSP的运动控制系统的设计方法和优化流程模型
课题背景 涉及到DSP核心的算法设计优化流程以及IQmath浮点库原理与应用 ■ 因此,探讨在ARM+DSP数控系统平台架构下,将基于滑动滤波的速度规划运动控制算法和卷积算法实现优化作为实例,从而建立一套运动控制算法在嵌入式数控系统平台优化流程模型,并对实验优化结果分析比对 涉及到DSP核心的算法设计优化流程以及IQmath浮点库原理与应用 总结了一套基于DSP的运动控制算法的设计和优化流程模型,为进一步设计开发优化嵌入式运动控制器有一定的借鉴意义。 嵌入式数控系统硬件体系结构
内容 课题背景 研究进展 实验方案 未来规划 研究成果 中国科学院沈阳计算技术研究所
研究进展 DSP硬件结构、DSP指令集、高效基础库、硬件存储布局 ①DSP硬件结构,如右图 -2个数据通道,2个通用寄存器文件和8个功能单元 -采用VLIW,每个时钟周期最高提供8条32bit指令,同时分配到8个并行处理单元。 -双16bit扩充功能,能在一个周期内完成双16bit的乘法、加减法、比较、移位等操作。 中国科学院沈阳计算技术研究所
研究进展 ②DSP指令集、基础库、硬件存储布局 -指令集 包括汇编指令集和内联函数指令集 -基础库 包括DSPLIB数学库和IQmath浮点库 -硬件存储布局 包括CMD配置文件,关键寄存器的位置读写方式,GPIO等配置方式
研究进展 IQmath原理 QK的相应格式为小数点加在第K位的右侧,定点数的大小按如下计算: 例如: 其中S为符号位,I为整数部分,F为小数部分。
研究进展 ② IQmath库的使用 使用IQmath浮点库必须将程序中的浮点数据全部转化为Q格式,IQmath库支持C/C++语言开发。涉及数据运算都要采用IQmath库函数,这些函数由汇编语言改写,运算速度极高 <1>格式转换函数 IQ() ,IQN(),IQtoF(),IQtoIQN()等。 <2>算术运算函数IQmpy(),IQdiv()等。 <3>三角运算函数IQsin(),IQcos(),IQatan2()等。
研究进展 ■ 在中断机制基础上分割运动控制类任务,建立结构独立,任务分离的软件架构 (1)针对嵌入式数控系统平台ARM+DSP异构双核特点,将底层SSB-III的总线控制卡与DSP核心间建立中断机制.
研究进展 (2)在中断机制建立之后,结合DSP/BIOS实时操作系统特点划分运动控制类任务在DSP和ARM核心上,构成结构独立,任务分离的软件架构
研究进展 C语言改写 优化C代码 IQmath库优化 线性汇编改编 DSP算法优化流程模型 ■ 针对嵌入式数控系统平台的特点,对运动控制算法进行分析研究,重新设计 C语言改写 优化C代码 IQmath库优化 线性汇编改编 DSP算法优化流程模型
研究进展 编译器选项优化 减小代码相关性,多使用const关键字 多使用内联函数,少使用函数调用 软件流水线的优化方法 IQmath库改写
内容 课题背景 研究进展 实验方案 未来规划 研究成果 中国科学院沈阳计算技术研究所
实验方案 实验环境的搭建 整套实验装置: -OMAP3530主控板 -FPGA总线控制板 -SSB-III总线伺服驱动单元 -伺服电机、供电和通信电缆、以及键盘、液晶显示器等输入输出设备 中国科学院沈阳计算技术研究所
实验方案 采用如右图所示优化模型,根据研究内容中涉及的方法和内容,对算法进行设计优化 实验中,实验数据取最大速度10m/s ,加减速时钟周期0.002s,最大加速度0.08 ,运动轨迹从(0,0)到(30,0)mm,滤波器长度为20。 中国科学院沈阳计算技术研究所
实验方案 影响实时系统性能的一个重要指标就是中断延迟时间 (1) 任务集中分配于ARM核心,最大延迟时间为4.08us ■ 系统平台特性 影响实时系统性能的一个重要指标就是中断延迟时间 (1) 任务集中分配于ARM核心,最大延迟时间为4.08us (2)任务分割在ARM+DSP核心,最大延迟时间为5.7us (3)任务集中ARM核心,系统负载90%以上,任务分割后系统负载30%左右
实验方案 运动控制算法性能 采用双精度数据类型 -设计后未优化算法 DSP平台算法的执行时间延迟达到76ms -设计后正常优化的算法 -采用IQmath优化的算法 DSP平台算法的执行时间延迟仅为2ms 中国科学院沈阳计算技术研究所 22
实验方案 实验结果 采用IQmath的数据精度分析:经IQmath修改后的实验数据和PC平台下的实验数据的速度曲线吻合,二者精度相当,分析理论误差如下,实验中使用的数据格式为Q23,精度为0.000000119,与PC平台实验数据精度误差不到1um,实验数据支持该分析结果,满足数控系统精度要求。 将算法在TMS320F28335浮点DSP运行,测试数据显示,算法运行时间为22.3ms,数据精度和上述实验精度相同,耗时长于优化后的定点DSP(360MHZ)算法执行时间。 中国科学院沈阳计算技术研究所 23
内容 课题背景 研究进展 实验方案 未来规划 研究成果 中国科学院沈阳计算技术研究所
未来规划 基于滑动滤波的速度规划算法能够很好的避免加速度突变带来的机床抖动,而滑动滤波可能经过再次优化转化为S型曲线加减速,这个是下个探究的方向 下一步工作准备对滑动滤波算法进行研究探索,形成新的速度规划算法,预计在12月份完成。然后继续学习相关知识,努力寻求解决上述存在的问题的解决方法
内容 课题背景 研究进展 实验方案 未来规划 研究成果 中国科学院沈阳计算技术研究所
研究成果 学术论文情况: 发明专利申请情况: 中国科学院沈阳计算技术研究所 (1)贾小波,于东,胡毅,陆小虎,冯强.“基于嵌入式数控系统平台运动控制算法的设计与优化”.已被《计算机工程》接收,审稿中。 (2)贾小波,于东,胡毅,陆小虎,冯强. “基于DSP的嵌入式运动控制器设计与优化”. 已被《组合机床与自动化加工技术》接收,录用。 (3) 贾小波,于东,胡毅,陆小虎,冯强. “基于嵌入式数控系统平台运动控制算法的实现与优化”. 已被“计算机科学与技术”第十一届研究生学术研讨会接收,录用。 (4) 陆小虎,于东,胡毅,贾小波,冯强. “Design and Implementation of High-performance Embedded Numerical Control System.”. 已被The 12th IEEE International Conference on Computer and Information Technology (ICIT)接收,录用。 (5) 冯强,胡毅,于东、陆小虎,贾小波. “基于DSP的CNC前瞻算法的移植与优化”. 已被《组合机床与自动化加工技术》接收,录用。 发明专利申请情况: 于东,胡毅,贾小波,冯强,陆小虎,李校慧. 一种嵌入式数控系统双核芯片和外设间中断机制的实现方法 2)于东,胡毅,冯强,陆小虎,李校慧,贾小波. 一种用于数控系统的双核数据通信方法 3)于东,李校慧,胡毅,冯强,贾小波,陆小虎. 一种嵌入式数控系统的性能监测的方法 中国科学院沈阳计算技术研究所
参考文献 [1] 张启贵,张胜,张刚. 最新DSP技术:“达芬奇”系统、框架和组件[M].北京.国防工业出版社.2009. [2] 胡毅,于东,李培楠,等. 基于现场总线的开放式数控系统的设计与实现[J].小型微型计算机系统. 2008 9:1745-1749. [3] 于东,胡韶华,盖荣丽,柏占伟. 基于滤波技术的数控系统加减速研究[J].中国机械工程. 2008,19(7):804-807. [4] 黄艳,李家霁,于东,彭健钧. CNC系统S型曲线加减速算法的设计与实现[J].制造技术与机床, 2005,3:55-59. [5] 盖荣丽,林浒,郑默,黄艳. 高速加工中速度规划算法的研究与实现[J].小型微型计算机系统,2009,6:1068-1071. [6] 陈友东,王田苗,魏洪兴,潘月斗. 数控系统直线和S形加减速研究[J].中国机械工程,2006,17(15):1600-1604. [7] 赖晓丰,刘敬猛,李善峰.基于ARM和运动控制器的嵌入式数控系统设计[J].机床与液压.2011.39(6):86-88. [8] 阳明晔,张志勇. 基于TMS320C6000系列DSP的C代码优化方法研究[J].微处理机.2004,2:60-64. [9] 李爱朝,林桂清,陈小亮.采用ARM和DSP的数控系统硬件设计及驱动开发[J].现代制造工程.2010.5:27-29. [10] Jeon J W, Ha Y Y. A Generalized Approach for the Acceleration and Deceleration of Industrial Robots and CNC Machine Tools[J].IEEE Transactions on Industrial Electronnics.2000,47(1):133-140. [11] Sharad Singhai, Ming-Yung Ko, Sanjay Jinturkar, Mayan Moudgill, John Glossner. An Integrated ARM and Multi-core DSP Simulator[J] [12] Saulo Oliveira Dornellas Luiz, Genildo de Moura Vasconcelos, Leandro Dias da Silva. Formal Specification of DSP Gateway for Data Transmission Between Processor Cores of OMAP Platform[J] ACM ,2008 28 中国科学院沈阳计算技术研究所 2017/3/13 28
致谢 感谢于东、胡毅老师及高精数控实验室各位老师和师兄对我课题的悉心指导和大力支持 感谢研究生部各位老师的长时间以来给予我生活学习上的照顾 感谢各位评委老师在百忙之中来指导我的开题工作
谢 谢! 30 中国科学院沈阳计算技术研究所 2017/3/13 30