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

          新聞中心

          EEPW首頁 > 電源與新能源 > 設計應用 > 基于TMS320F2812的產(chǎn)品預置參數(shù)在線調(diào)試研究

          基于TMS320F2812的產(chǎn)品預置參數(shù)在線調(diào)試研究

          作者: 時間:2016-12-08 來源:網(wǎng)絡 收藏

          目前,各種光電設備被廣泛地應用于軍事領(lǐng)域和公安、消防以及環(huán)境監(jiān)控等民用領(lǐng)域,它們在目標偵察、監(jiān)視、預警、定位、導航、通信等場合起著重要的作用。隨著需求的增加,機載光電設備的批量生產(chǎn)中由于元器件和結(jié)構(gòu)裝調(diào)導致的個體差異造成了每個設備的程序進行適當?shù)膮?shù)調(diào)整,為了產(chǎn)品的規(guī)范管理,本文通過上位機調(diào)試界面進行參數(shù)設置,并燒寫到伺服控制DSP中。

          本文引用地址:http://www.ex-cimer.com/article/201612/328025.htm

          TI公司推出的32位定點DSP控制器TMS320F2812,整合了DSP和微控制器的最佳特性,頻率高達150 MHz,是一款高性能32位控制專用芯片。采用它可以大大提高伺服系統(tǒng)的控制精度和速度。在存儲器方面,TMS320F2812包括128 KB 的FLASH Memory、18 KB 的片上RAM 和4 KB 的BOOT ROM.在產(chǎn)品研發(fā)和生產(chǎn)階段需要將用戶程序燒寫到FLASH 存儲器中,以實現(xiàn)用戶程序的脫機自動運行。當系統(tǒng)需要更新參數(shù)時,傳統(tǒng)的方法是通過實地取下設備,連接仿真器來更新程序數(shù)據(jù),尤其在戶外等較為復雜的場合,直接取下設備、連接仿真器存在較大困難,有時甚至難以實現(xiàn),此時通過上位機發(fā)指令的方法來更新程序中的數(shù)據(jù)就顯得尤為方便。

          1 TMS320F2812 FLASH 燒寫介紹

          TMS320F2812 FLASH 為了用戶使用方便,提供了專用的針對FLASH操作的庫文件及燒寫步驟。用戶在使用FLASH 用戶編程接口時必須使用Flash2812_API_V100.lib庫文件,然后按照以下步驟進行:

          (1)修改Flash281x_API_Config.h文件,此文件中主要是設置根據(jù)DSP的時鐘頻率;

          (2)將Flash281x_API_Library.h文件加入到工程中;

          (3)將Flash2812_API_V100.lib 文件加入到工程庫文件中;

          (4)初始化PLL 控制寄存器(PLLCR);

          (5)將FLASH API功能拷貝到內(nèi)部SARAM中;

          (6)初始化Flash_CPUScaleFactor;

          (7)調(diào)用擦除、寫入、檢查功能進行參數(shù)的燒寫;

          (8)返回主程序。

          2 硬件

          本文提出了一種通過雙口RAM與上位機通信來實現(xiàn)程序中參數(shù)更新的方法,該系統(tǒng)中DSP接收上位機發(fā)送控制指令及參數(shù),根據(jù)指令執(zhí)行不同的功能。DSP 接收控制指令,若程序不需更新,則直接跳轉(zhuǎn)到其他應用程序入口;若參數(shù)需要更新,則調(diào)用更新服務程序,接收待更新數(shù)據(jù)、燒寫FLASH,復位、跳轉(zhuǎn)到應用程序入口。硬件框圖如圖1所示。

          3 軟件

          3.1 軟件流程

          DSP程序通過仿真器燒寫到FLASH,其功能為:實現(xiàn)讀取雙口RAM數(shù)據(jù)并判斷、燒寫FLASH、復位跳轉(zhuǎn)。

          軟件流程圖如圖2所示。

          3.2 讀取及處理雙口RAM數(shù)據(jù)軟件

          DSP讀取外設雙口RAM中上位機發(fā)送的指令及參數(shù),根據(jù)協(xié)議讀取固定地址的指令和參數(shù),為了數(shù)據(jù)讀取的可靠性,指令和參數(shù)均重復寫在不同的三個地址,通過三判二,保證指令的可靠性。

          3.3 對片內(nèi)FLASH的擦除、寫入操作軟件

          3.3.1 對片內(nèi)FLASH的準備

          得到需要修改的參數(shù)值之后,需要將數(shù)據(jù)寫入FLASH存儲器進行永久存儲。由于FLASH存儲器必須以扇區(qū)為單位進行擦除和寫入操作,因此必須對cmd文件進行相應的配置,使參數(shù)值單獨放在一個扇區(qū)中,代碼存儲在其余的扇區(qū)中。把需要修改的數(shù)據(jù)值單獨放在J扇區(qū)。

          3.3.2 片內(nèi)FLASH修改流程

          把需要修改的數(shù)據(jù)值單獨放在了J扇區(qū),且J扇區(qū)中不再存儲其他任何內(nèi)容。這樣,就可以對J扇區(qū)進行各種操作,而不用擔心對系統(tǒng)的代碼或數(shù)據(jù)產(chǎn)生影響了。

          為了對FLASH進行操作,需要用到TI為DSP2812提供的FLASH操作API函數(shù)庫:Flash2812_API_V210.lib.這個庫中包含了操作FLASH 的3 個重要函數(shù),F(xiàn)lash_Erase,Flash_Program和Flash_Verify.寫入完成后,程序切換到正常工作狀態(tài)。將參數(shù)值寫入FLASH的軟件流程如圖3所示。

          3.3.3 片內(nèi)FLASH修改軟件

          完整的擦寫過程可分為以下幾個步驟:

          關(guān)中斷:在對FLASH 進行操作前,須先關(guān)閉全局中斷。

          燒寫過程:代碼的搬移,將映射在“Flash28_API”段上的代碼,復制到RAM空間去執(zhí)行擦除過程:由于2812最小可擦除的FLASH 內(nèi)存空間就是一個扇區(qū),而不能單獨擦除一個字。由于上述擦除的是J扇區(qū),故可以在J扇區(qū)內(nèi)寫數(shù)據(jù)。

          校驗過程:將已燒寫數(shù)據(jù)與燒寫數(shù)據(jù)逐個比較。

          在更新程序全部寫入到FLASH 后,恢復程序運行主頻,開始執(zhí)行應用程序。

          代碼如下:

          4 結(jié)語

          通過上位機調(diào)整參數(shù),并傳遞燒寫指令并將參數(shù)寫入FLASH 中的成功應用,在大批量生產(chǎn)產(chǎn)品時保證了程序版本的一致性,狀態(tài)可控,保證了產(chǎn)品管理的規(guī)范性;此方法可多次且可靠、快速地更新產(chǎn)品需調(diào)整特性的參數(shù),方便了產(chǎn)品的調(diào)試,提高了產(chǎn)品的系統(tǒng)可維護性,具有較強的應用價值。



          關(guān)鍵詞: TMS320F2812預置參

          評論


          技術(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); })();