本发明涉及计算机编程领域,尤其是涉及一种基于模型设计的移相pwm算法自动代码生成方法和装置。
背景技术:
现有的mcu开发常采用自顶向下的顺序设计方法,但随着系统复杂度的逐步提高,开发人员间简单的交换和沟通很难满足复杂系统设计的需求。此外,开发人员不仅要开发控制算法,还要花费大量时间来掌握mcu内部各种寄存器的正确设置和软件编程方法,影响了开发效率与进度。
现有的控制单元开发过程一般是先用matlab进行仿真,当仿真结果满意时再把算法用c语言编写,在目标mcu上实现,其缺点为编程复杂、仿真花费高、系统开发缓慢。另外在实现过程中,传统软件编程方法使得编程的效率降低,难度增大,人为错误引入较多。并且由于mcu硬件设施的差异,底层的程序代码也各有所异,因此开发人员需要具备较强的能力。
技术实现要素:
本发明的目的就是为了克服上述现有技术存在的传统软件编程中人为错误引入较多、mcu相应的学习成本较高的缺陷而提供一种基于模型设计的移相pwm算法自动代码生成方法和装置。
本发明的目的可以通过以下技术方案来实现:
一种基于模型设计的移相pwm算法自动代码生成方法,包括软件模块、快速实现工具链和控制单元,所述软件模块加载电路控制模型的移相pwm算法后,通过所述快速实现工具链生成嵌入式代码并传输至控制单元,所述控制单元通过加载所述嵌入式代码实现所述电路控制模型的半实物仿真。
所述快速实现工具链包括有总控管模块、模型检查与测试模块、代码自动生成模块、代码测试模块和嵌入式代码模块。
所述生成嵌入式代码的具体步骤为:
步骤s101:自动代码生成模块加载所述移相pwm算法所在的移相pwm程序模块发出的信号,生成初始代码,并自动生成代码信号传输至代码测试模块;
步骤s102:所述代码测试模块判断所述初始代码是否通过测试,如果通过测试则将代码信号传输至所述嵌入式代码模块,生成目标代码并将所述目标代码加载到所述控制单元;如果没有通过测试则判断初始代码是否正确,若正确则向控制单元发出信号,重新向所述自动代码生成模块加载信号,若错误则向所述自动代码生成模块发出信号,重新生成初始代码。
所述自动代码生成模块主要利用matlab或simulink模型生成初始代码,所述初始代码包括快速原型代码、嵌入式代码和优化代码。
所述代码测试模块利用代码检查模板,进行所述初始代码与电路控制模型的双向检查。
所述嵌入式代码模块的功能包括目标代码加载、启停控制、数据监视、参数修改、数据记录和批量仿真。
所述快速实现工具链还包括接口模型,所述接口模型包括硬件资源对应的虚拟仪器化模型,所述硬件资源包括pwm、串口和控制器局域网络。
一种应用所述基于模型设计的移相pwm算法自动代码生成方法的装置,所述装置包括处理器和存储器,所述方法以计算机程序的方式存储在所述存储器中,由所述处理器执行,执行时实现以下流程:
所述软件模块加载电路控制模型的移相pwm算法后,通过所述快速实现工具链生成嵌入式代码并传输至控制单元,所述控制单元通过加载所述嵌入式代码实现所述电路控制模型的半实物仿真。
与现有技术相比,本发明具有以下有益效果:
1.本发明利用自动代码生成技术,实现从图形化simulink控制算法模型直接生成可运行在mcu上的程序;可便捷继承已有c代码算法;可通过模型规则检查代码测试、软件模型在环(sil)、硬件在环(hil)等手段,对移相pwm程序进行全面测试验证,从而快速、高效的获得高质量移相pwm程序。
2.本发明通过基于模型的设计,以实时软件为开发平台,快速地实现算法建模、mcu底层驱动集成、自动代码生成和集成测试,极大的减少整个系统的研发周期。
3.本发明通过生成可优化、可移植、可定制的嵌入式代码,然后借助计算机来自动生成对应的目标代码,不仅有效地降低了人工编程的错误率,同时极大地提高了程序员的工作效率。
附图说明
图1为本发明simulink仿真模型的结构示意图;
图2为本发明实施例一的流程示意图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
一种基于模型设计的移相pwm算法自动代码生成方法,包括软件模块、快速实现工具链和控制单元mcu,软件模块加载电路控制模型的移相pwm算法后,通过快速实现工具链生成嵌入式代码并传输至控制单元,控制单元通过加载嵌入式代码实现电路控制模型的半实物仿真。
快速实现工具链包括有总控管模块、模型检查与测试模块、代码自动生成模块、代码测试模块和嵌入式代码模块。
生成嵌入式代码的具体步骤为:
步骤s101:自动代码生成模块加载移相pwm算法所在的移相pwm程序模块发出的信号,生成初始代码,并自动生成代码信号传输至代码测试模块;
步骤s102:代码测试模块判断初始代码是否通过测试,如果通过测试则将代码信号传输至嵌入式代码模块,生成目标代码并将目标代码加载到控制单元;如果没有通过测试则判断初始代码是否正确,若正确则向控制单元发出信号,重新向自动代码生成模块加载信号,若错误则向自动代码生成模块发出信号,重新生成初始代码。
如图1所示,自动代码生成模块主要利用matlab或simulink模型生成初始代码,初始代码包括面向测试和实时仿真用的快速原型代码、面向产品级应用和并且高效精简的嵌入式代码以及面向特定处理器的优化代码。
代码测试模块利用代码检查模板,进行初始代码与电路控制模型的双向检查,验证模型与代码的功能一致性,提供基础测试库,用于检查代码中可能存在的运行期错误,运行期错误包括可检测代码是否具有除零和数组超出边界条件、逻辑分支遍历分析等运行错误;支持自定义测试用例;对生成代码进行非实时、闭环的软件模型在环仿真,完成代码的功能验证。
嵌入式代码模块的功能包括目标代码加载、启停控制、数据监视、参数修改、数据记录和批量仿真,支持mcu目标代码加载及运行控制。
快速实现工具链还包括接口模型,接口模型包括硬件资源对应的虚拟仪器化模型,硬件资源包括pwm、串口和控制器局域网络can,实现应用层软件对相关硬件的虚拟仪器化调用。
一种应用基于模型设计的移相pwm算法自动代码生成方法的装置,装置包括处理器和存储器,方法以计算机程序的方式存储在存储器中,由处理器执行,执行时实现以下流程:
软件模块加载电路控制模型的移相pwm算法后,通过快速实现工具链生成嵌入式代码并传输至控制单元,控制单元通过加载嵌入式代码实现电路控制模型的半实物仿真。
实施例一
如图2所示,采用tms320f28335作为控制器,采用基于模型的设计方法生成移相pwm,最终用于控制全桥电路。其中利用基于模型设计的移相pwm算法自动代码生成方法完成对全桥电路的控制的具体流程的步骤为:
步骤s1:根据全桥电路的设计要求,对相应的控制算法进行优化;
步骤s2:控制算法的仿真通过后,在原有仿真模型的基础上保留控制算法部分,删除控制对象及其外部回路,添加mcu外设模块并连接控制算法的输入输出端口;
步骤s3:按照目标板型号设定的模型参数,将已验证过的算法模型修改为mcu处理器的simulink模型;
步骤s4:将simulink模型在rtw环境下,利用embeddedcoder将simulink模型自动生成可读、紧凑且快速的c语言和c 语言代码;
步骤s5:根据相关的目标语言编译器(tlc)文件,c语言和c 语言代码经编译器编译、链接ccs生成mcu可执行机器码;
步骤s6:将mcu可执行机器码下载到对应的mcu控制板上并运行,完成对全桥电路的控制。
此外,需要说明的是,本说明书中所描述的具体实施例,所取名称可以不同,本说明书中所描述的以上内容仅仅是对本发明结构所做的举例说明。凡依据本发明构思的构造、特征及原理所做的等小变化或者简单变化,均包括于本发明的保护范围内。本发明所属技术领域的技术人员可以对所描述的具体实例做各种各样的修改或补充或采用类似的方法,只要不偏离本发明的结构或者超越本权利要求书所定义的范围,均应属于本发明的保护范围。
1.一种基于模型设计的移相pwm算法自动代码生成方法,其特征在于,包括软件模块、快速实现工具链和控制单元,所述软件模块加载电路控制模型的移相pwm算法后,通过所述快速实现工具链生成嵌入式代码并传输至控制单元,所述控制单元通过加载所述嵌入式代码实现所述电路控制模型的半实物仿真。
2.根据权利要求1所述的一种基于模型设计的移相pwm算法自动代码生成方法,其特征在于,所述快速实现工具链包括有总控管模块、模型检查与测试模块、代码自动生成模块、代码测试模块和嵌入式代码模块,所述总控管模块对自动代码生成模块、代码测试模块以及嵌入式代码模块进行控制。
3.根据权利要求2所述的一种基于模型设计的移相pwm算法自动代码生成方法,其特征在于,所述生成嵌入式代码的具体步骤为:
步骤s101:自动代码生成模块加载所述移相pwm算法所在的移相pwm程序模块发出的信号,生成初始代码,并自动生成代码信号传输至代码测试模块;
步骤s102:所述代码测试模块判断所述初始代码是否通过测试,如果通过测试则将代码信号传输至所述嵌入式代码模块,生成目标代码并将所述目标代码加载到所述控制单元;如果没有通过测试则判断初始代码是否正确,若正确则向控制单元发出信号,重新向所述自动代码生成模块加载信号,若错误则向所述自动代码生成模块发出信号,重新生成初始代码。
4.根据权利要求2所述的一种基于模型设计的移相pwm算法自动代码生成方法,其特征在于,所述自动代码生成模块主要利用matlab或simulink模型生成初始代码,所述初始代码包括快速原型代码、嵌入式代码和优化代码。
5.根据权利要求3所述的一种基于模型设计的移相pwm算法自动代码生成方法,其特征在于,所述代码测试模块利用代码检查模板,进行所述初始代码与电路控制模型的双向检查。
6.根据权利要求1所述的一种基于模型设计的移相pwm算法自动代码生成方法,其特征在于,所述嵌入式代码模块的功能包括目标代码加载、启停控制、数据监视、参数修改、数据记录和批量仿真。
7.根据权利要求1所述的一种基于模型设计的移相pwm算法自动代码生成方法,其特征在于,所述快速实现工具链还包括接口模型,所述接口模型包括硬件资源对应的虚拟仪器化模型,所述硬件资源包括pwm、串口和控制器局域网络。
8.一种应用如权利要求1-7任一所述的基于模型设计的移相pwm算法自动代码生成方法的装置,其特征在于,所述装置包括处理器和存储器,所述方法以计算机程序的方式存储在所述存储器中,由所述处理器执行,执行时实现以下流程:
所述软件模块加载电路控制模型的移相pwm算法后,通过所述快速实现工具链生成嵌入式代码并传输至控制单元,所述控制单元通过加载所述嵌入式代码实现所述电路控制模型的半实物仿真。
技术总结