TMS320F2812三種運行方式在SRM控制中的應用
引言
開關磁阻電機(Switched Reluctance Motor,SRM)的控制對實時性的要求很高,它需要不斷地判斷其轉子瞬時位置、相電流等信息,進而控制SRM換相,實現(xiàn)電機運轉。而作為SRM的控制核心,不僅要實現(xiàn)上述SRM基本控制功能,而且要實現(xiàn)各種控制策略(包括電流斬波控制、電壓PWM控制、角度位置控制),甚至是很復雜的SRM優(yōu)化算法的應用。因此,SRM的控制需要一個性能優(yōu)越的控制核心。
TI公司推出的TMS320F2812是一款性能非常優(yōu)越的數(shù)字信號處理器(DSP),最高工作時鐘頻率可達150MHz。其外設功能十分強大,存儲資源也很豐富:芯片內部集成了18K SARAM(M0、M1各1K,L0、L1各4K,H0為8K),F(xiàn)lash為128K;且預留了5個擴展空間,方便用戶進行功能擴展。這就為TMS320F2812運行方式的多樣化提供了條件,同時也是選其作為SRM控制核心的原因。
1 TMS320F2812三種運行方式的實現(xiàn)
TMS320F2812代碼的開發(fā)環(huán)境為CCS,其工程一般由頭文件、源文件、庫文件以及連接命令文件(CMD)四種文件組成。頭文件采用位域結構體進行定義,方便用戶操作相關寄存器;源文件保存用戶開發(fā)時編寫的軟件代碼;庫文件為系統(tǒng)文件,無法修改;CMD文件則是用來分配存儲空間的,它告訴鏈接器將編譯器生成的段鏈接到哪。所以,要想實現(xiàn)代碼運行方式的多樣化,必須很好地了解CMD文件。
CMD文件包括MEMORY和SECTIONS。其中,MEMORY的作用是指示存儲空間的起始位置和長度,而SECTIONS的作用是將各種初始化段和非初始化段分配到相應的存儲空間。二者都是由編譯器自己編譯、生成及歸類的。初始化段包括所有的代碼、常量及初始化表格等;非初始化段由變量、堆棧等組成。用戶也可以通過“#pragma DATA_SECTION”和“#pragma CODE_SECTION”指令,將自己定義的數(shù)據(jù)段或代碼段分配到對應的數(shù)據(jù)空間或程序空間,完成映射。
1.1 RAM調試運行
RAM調試運行指的是將用戶編寫的代碼下載(load)到片內RAM,并在RAM上直接運行的一種運行方式。這種方式實際上就是通常所說的在線仿真。TMS320F2812通過仿真器與主機相連,主機能夠在線調試程序,例如啟動、停止、單步運行、設置斷點等。
RAM調試運行方式實現(xiàn)簡單,其程序流程為:code_start-> wd_disable-> c_int00-> main()。 code_start和wd_disable的程序包含于DSP281x_CodeStartBranch.asm中,具體程序如下:
評論