<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計(jì)應(yīng)用 > TMS320F2812三種運(yùn)行方式在SRM控制中的應(yīng)用

          TMS320F2812三種運(yùn)行方式在SRM控制中的應(yīng)用

          作者: 時(shí)間:2012-05-09 來源:網(wǎng)絡(luò) 收藏

          引言
          開關(guān)磁阻電機(jī)(Switched Reluctance Motor,)的對實(shí)時(shí)性的要求很高,它需要不斷地判斷其轉(zhuǎn)子瞬時(shí)位置、相電流等信息,進(jìn)而換相,實(shí)現(xiàn)電機(jī)運(yùn)轉(zhuǎn)。而作為核心,不僅要實(shí)現(xiàn)上述SRM基本控制功能,而且要實(shí)現(xiàn)各種控制策略(包括電流斬波控制、電壓PWM控制、角度位置控制),甚至是很復(fù)雜的SRM優(yōu)化算法的。因此,SRM的控制需要一個(gè)性能優(yōu)越的控制核心。
          TI公司推出的是一款性能非常優(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ò)展。這就為的多樣化提供了條件,同時(shí)也是選其作為SRM控制核心的原因。

          1 三種的實(shí)現(xiàn)
          TMS320F2812代碼的開發(fā)環(huán)境為CCS,其工程一般由頭文件、源文件、庫文件以及連接命令文件(CMD)四種文件組成。頭文件采用位域結(jié)構(gòu)體進(jìn)行定義,方便用戶操作相關(guān)寄存器;源文件保存用戶開發(fā)時(shí)編寫的軟件代碼;庫文件為系統(tǒng)文件,無法修改;CMD文件則是用來分配存儲空間的,它告訴鏈接器將編譯器生成的段鏈接到哪。所以,要想實(shí)現(xià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中,具體程序如下:
          a.jpg


          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();