×
工业控制 > 工业自动化 > 详情

TMS320F2812三种运行方式在SRM控制中的应用

发布时间:2021-03-11 发布时间:
|

引言
开关磁阻电机(Switched Reluctance Motor,SRM)的控制对实时性的要求很高,它需要不断地判断其转子瞬时位置、相电流等信息,进而控制SRM换相,实现电机运转。而作为SRM控制核心,不仅要实现上述SRM基本控制功能,而且要实现各种控制策略(包括电流斩波控制、电压PWM控制、角度位置控制),甚至是很复杂的SRM优化算法的应用。因此,SRM的控制需要一个性能优越的控制核心。
TI公司推出的TMS320F2812是一款性能非常优越的数字信号处理器(DSP),最高工作时钟频率可达150MHz。其外设功能十分强大,存储资源也很丰富:芯片内部集成了18K SARAM(M0、M1各1K,L0、L1各4K,H0为8K),Flash为128K;且预留了5个扩展空间,方便用户进行功能扩展。这就为TMS320F2812运行方式的多样化提供了条件,同时也是选其作为SRM控制核心的原因。

1 TMS320F2812三种运行方式的实现
TMS320F2812代码的开发环境为CCS,其工程一般由头文件、源文件、库文件以及连接命令文件(CMD)四种文件组成。头文件采用位域结构体进行定义,方便用户操作相关寄存器;源文件保存用户开发时编写的软件代码;库文件为系统文件,无法修改;CMD文件则是用来分配存储空间的,它告诉链接器将编译器生成的段链接到哪。所以,要想实现代码运行方式的多样化,必须很好地了解CMD文件。
CMD文件包括MEMORY和SECTIONS。其中,MEMORY的作用是指示存储空间的起始位置和长度,而SECTIONS的作用是将各种初始化段和非初始化段分配到相应的存储空间。二者都是由编译器自己编译、生成及归类的。初始化段包括所有的代码、常量及初始化表格等;非初始化段由变量、堆栈等组成。用户也可以通过“#pragma DATA_SECTION”和“#pragma CODE_SECTION”指令,将自己定义的数据段或代码段分配到对应的数据空间或程序空间,完成映射。
1.1 RAM调试运行
RAM调试运行指的是将用户编写的代码下载(load)到片内RAM,并在RAM上直接运行的一种运行方式。这种方式实际上就是通常所说的在线仿真。TMS320F2812通过仿真器与主机相连,主机能够在线调试程序,例如启动、停止、单步运行、设置断点等。
RAM调试运行方式实现简单,其程序流程为:code_start-> wd_disable-> c_int00-> main()。 code_start和wd_disable的程序包含于DSP281x_CodeStartBranch.asm中,具体程序如下:
a.jpg



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
中仪管道机器人走进美国--亮相世界级水工业展览会