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