基于TMS320F2812的某型舰用燃机电子控制器软件设计
2016-11-12王成玖
王成玖
(中航工业航空动力控制系统研究所,江苏 无锡 214063)
基于TMS320F2812的某型舰用燃机电子控制器软件设计
王成玖
(中航工业航空动力控制系统研究所,江苏 无锡 214063)
文章对基于TMS320F2812的某型舰用燃机电子控制器进行了软件设计工作,主要阐述了TMS320F2812系列DSP的特点、开发环境、软件开发方法,并介绍了软件中一些主要硬件相关模块的实现方法,同时介绍了燃机控制系统的软件流程及硬件在回路仿真环境的搭建。
燃机控制;TMS320F2812;DSP
1 舰用燃气轮机控制系统发展概述
舰用燃气轮机具有单机功率大、体积小、重量轻、机动性好、污染小、效率高、振动小、可靠性高等特点,已成为各海军大国的主要发动机机种,得到了广泛的应用。从几百吨的高速小艇、高性能船到驱逐舰、航母等中、大型舰船,都普遍采用燃气轮机作为动力,我国已经开展了自行设计舰用燃机的工作。
本文重点阐述了TMS320F2812系列DSP处理器的特点、开发环境和电子控制器软件的设计方法,并简要描述了控制器硬件在回路仿真环境的搭建。
2 TMS320F2812简介
TMS320F2812是TI公司最新推出的专为马达控制设计的一款准32位定点DSP处理器,内部含有128K×16位FLASH存储器,18K×16位SARAM单口随机存取存贮器(Random Access Memory,RAM),具有外围存储器接口。片上集成了AD、事件管理单元、中断控制单元、定时器、看门狗等常用功能模块和SPI,SCI,CAN,多通道串口(Multi-Channel Buffered Serial Port,MCBSP)等通讯模块,最多可使用56个独立的可编程的IO端口,集成度高,不需片外扩展即可实现所需的功能。
软件开发工作主要在TI公司提供的集成开发环境(Code Composer Studio,CCS)中进行,配合硬件仿真器即可完成代码的编辑、编译、链接、调试等工作。在CCS中,可以通过修改工程中的.cmd文件来决定编译生成的代码和数据所分配到的地址空间,关于.cmd文件的编写方法见文献[1-2]。利用.cmd文件可以分配变量地址这一特性,TI公司提供了新的外设寄存器的访问方法,具体内容见文献[3]。
3 电子控制器底层软件设计
电子控制器中用到了AD转换单元、定时器单元、系统控制单元、中断管理单元、事件管理器中的捕获单元和脉冲宽度调制(Pulse - Width Modulation,PWM)输出单元、SCI通讯单元、CAN通讯单元、MCBSP通讯单元等外设单元模块,下面详细阐述各模块特性及数控软件中的配置方法。
(1)AD转换单元。12位AD转换器,共16个通道,可配置为两个独立的8通道模块或级联的16通道模块。可以灵活配置采样的顺序,能够对一个通道进行多次采样,可通过软件、事件管理器、外部引脚等多种方式来启动AD转换。一旦转换结束,转换结果便存储在相应的结果寄存器中。在本文的软件中,将AD转换单元配置为16通道顺序采样的级联模式,由软件控制每20 ms启动一次AD转换,AD转换结束后产生中断,中断服务程序复位序列发生器,为下一次转换作准备。
(2)定时器单元。处理器中共有3个32位的定时器,在本文的软件中只使用了定时器0作为系统时钟,实现20 ms的定时中断,在中断服务程序中置中断产生标志来实现系统的主循环,并建立系统时间。
(3)系统控制单元。系统控制单元主要用于完成处理器及外设时钟的配置、看门狗单元的配置。在本文的软件中配置系统时钟为60 MHz,高速外设时钟为30 MHz,低速外设时钟为15 MHz。看门狗定时器溢出的时间为44 ms。
(4)中断控制单元。TMS320F2812的中断控制单元通过PIE(外设中断扩展模块)把许多中断源多路复用为一个较小的中断输入集。PIE支持96个不同的中断,这些中断被分为12个组,每组8个,12个组对应DSP内核的12条中断线(INT1~INT12)。96个中断每个都对应着一个存放在RAM中的中断向量。中断控制单元的层次结构如图1所示。
图1 TMS2812中断层次结构图
由图1可知,TMS320F2812的中断源分外设级、PIE级、CPU级这3个层次,在初始化配置时主要完成PIE级与CPU级中断的配置,外设级的中断在用到时才对其进行操作。
数学模型采用内部交互验证对其性能进行评价,由定标模型的相关系数(R2)和交互验证均方根误差(RMSECV)进行评价。定标模型的相关系数越高,交互验证的均方根误差越小,表明模型的预测能力和稳健性越强[10]。
(5)事件管理器单元。事件管理单元包括EVA和EVB两个事件管理模块。每个事件管理模块具有两个通用定时器,3个独立的比较单元,共可产生6路PWM输出,3个捕获单元。在电子控制器中,每个通道用到了EVA中的PWM1,3,EVB中的PWM7,9四路PWM输出信号。捕获单元4,5共用一个通用定时器,分别用来采集燃气涡轮和动力涡轮的转速。
在软件中,通过捕获单元4,5和通用定时器T4这3个中断服务程序完成频率量的采集与计算。通用定时器4中断服务程序中完成定时器溢出次数补偿,捕获单元4,5中断服务程序中分别完成燃气涡轮和动力涡轮转速信号的计算。关于处理器的事件管理单元与软件中的代码实现请参考[4-5]。
(6)SCI,MCBSP通讯模块。SCI是一个全双工的通用串口,在控制器中用作与工程师控制台的RS422串行通讯,作为CAN通讯的备份。MCBSP是DSP自带的一种串行通讯接口,在控制器中用作主从片之间的通讯。两种通讯单元各有16级收发FIFO,均可设置触发中断的先入先出法(First-In First-Out,FIFO)中的数据个数。两个模块的通讯数据均采用定长帧形式。
SCI发送数据分40 ms更新与500 ms更新的数据,接收数据为1个字节的工程师台的控制字。SCI发送的启动方法就是打开SCI发送FIFO中断,因为复位后FIFO数据个数为0,所以可以进入发送中断服务程序,SCI的发送中断服务程序的设计思路请参照下文的MCBSP发送程序设计,接收中断服务程序只完成从接收FIFO中读取一个字节数据的操作。
主片的MCBSP主要接收从片采集的模拟量、从片故障字,同时向从片发送开关量输出信息、系统状态信息等操作。关于MCBSP的详细说明请参见用户手册。主从片的MCBSP通讯初始化配置完全相同。
MCBSP通过打开帧同步脉冲产生器和使能发送FIFO中断来启动发送操作,接收总是一个被动的异步事件。
在发送中断服务程序中每次填充16个字的数据,这样可以充分发挥FIFO的作用,减少CPU被中断的次数。同时记录所发送的数据个数,当剩余的数据不足16个字时,则一次性填充完毕,等待下一次中断。当所有数据发送完毕后则关闭MCBSP的帧同步信号,直到启动下一次发送。
接收方的接收FIFO中只要有一个数据即触发中断。在接收中断服务程序中需不断比对所接收到的数据,如果是通信协议中规定的数据头,则开始接收一帧数据,接收完毕后比对数据尾和校验和以降低出错概率。关于SCI和MCBSP模块及代码实现请参阅[4-7]。
(7)CAN通讯模块。CAN总线最早用于汽车内部测量与执行部件之间的通讯。目前已成为一种串行通讯标准。广泛应用在多个领域。TMS320F2812上集成了CAN模块,完全兼容CAN2.0协议。在电子控制器中,主要通过CAN完成控制器与工程师控制台、控制器三通道间数据的交互。软件中CAN模块的发送和接收均采用中断方式,在中断服务程序中只需对相应的邮箱进行读写操作即可。关于CAN模块的详细说明及代码实现请参阅文献[8]。
4 电子控制器应用软件设计
在完成了硬件相关部分程序设计后,便可以在此基础上完成应用软件的开发,主要的控制功能都在主片上实现,从片仅负责采集部分模拟量、输出部分开关量、读写发动机统计信息等工作。主、从片软件的主程序流程如图2所示。
图2 主函数流程图
主片软件的主控程序流程如图3所示,从片软件的流程如图4所示。
图3 主片软件的主控程序流程图
图4 从片软件的主控程序流程图
该软件已经通过硬件在回路仿真测试,上位机软件采用该型号发动机部件级模型,与控制器通过CAN总线与RS422串行总线进行数据通讯,上位机向控制器传送模型计算得出的燃气涡轮转速、动力涡轮转速、燃气涡轮后温度等发动机状态信号和操作指令信息,并接收来自控制器的系统状态信息、控制输出量。实现了系统信息的实时显示、故障模拟、在线参数调整等功能。
5 结语
本文介绍了TMS320F2812常用的外设,说明了几个主要模块的底层软件设计方法。阐述了整个控制软件的执行流程,并简要介绍了硬件在回路仿真的上位机软件设计。TMS320F2812作为一款高性能的CPU,片上几乎集成了马达控制中所需的所有模块,不需外扩就可以满足发动机控制的要求。
[1]Texas Instruments Incorporated.TMS320C28x Optimizing C/C++ Compiler User's Guide[Z].Texas:Texas Instruments Incorporated,2005.
[2]Texas Instruments Incorporated.TMS320C28x Assembly Language Tools User's Guide[Z].Texas:Texas Instruments Incorporated,2001.
[3]Texas Instruments Incorporated.Programming TMS320X281x Peripherals in C/C++[Z].Texas:Texas Instruments Incorporated,2006.
[4]敖永平.某型燃机控制系统DSP控制器软件设计说明[D].南京:南京航空航天大学,2013.
[5]Texas Instruments Incorporated.]TMS320x281x Event Manager(EV)Reference Guide[Z].Texas:Texas Instruments Incorporated,2004.
[6]Texas Instruments Incorporated.TMS320x281x,280x Serial Communications Interface(SCI)Reference Guide[Z].Texas:Texas Instruments Incorporated,2004.
[7]Texas Instruments Incorporated.TMS320x281x Multichannel Buffered Serial Port(McBSP)Reference Guide[Z].Texas:Texas Instruments Incorporated,2003.
[8]Texas Instruments Incorporated.TMS320x281x,280x Enhanced Controller Area Network(eCAN)Reference Guide[Z].Texas:Texas Instruments Incorporated,2005.
Design based on TMS320F2812 of combustion engine electronic controller software for a certain type of warship
Wang Chengjiu
(Avic Aviation Institute of Power Control System,Wuxi 214063,China)
Design work is carried out on a ship with a combustion engine electronic controller based on TMS320F2812,which elaborates a series of characteristics,development environment,software develop method of TMS320F2812 DSP,the development environment,software development method,and introduces the software implementation method of some major hardware related modules,at the same time,the software process of gas turbine control system are introduced and the construction of the hardware in the loop simulation environment.
gas turbine control;TMS320F2812;DSP
王成玖(1981—),男,吉林九台,硕士,高级工程师;研究方向:航空发动机,燃气轮机控制软件开发,控制系统试验验证。