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