<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

作者: 時(shí)間:2016-12-08 來(lái)源:網(wǎng)絡(luò ) 收藏

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

本文引用地址:http://dyxdggzs.com/article/201612/328025.htm

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

1 TMS320F2812 FLASH 燒寫(xiě)介紹

TMS320F2812 FLASH 為了用戶(hù)使用方便,提供了專(zhuān)用的針對FLASH操作的庫文件及燒寫(xiě)步驟。用戶(hù)在使用FLASH 用戶(hù)編程接口時(shí)必須使用Flash2812_API_V100.lib庫文件,然后按照以下步驟進(jìn)行:

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

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

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

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

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

(6)初始化Flash_CPUScaleFactor;

(7)調用擦除、寫(xiě)入、檢查功能進(jìn)行參數的燒寫(xiě);

(8)返回主程序。

2 硬件

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

3 軟件

3.1 軟件流程

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

軟件流程圖如圖2所示。

3.2 讀取及處理雙口RAM數據軟件

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

3.3 對片內FLASH的擦除、寫(xiě)入操作軟件

3.3.1 對片內FLASH的準備

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

3.3.2 片內FLASH修改流程

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

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

3.3.3 片內FLASH修改軟件

完整的擦寫(xiě)過(guò)程可分為以下幾個(gè)步驟:

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

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

校驗過(guò)程:將已燒寫(xiě)數據與燒寫(xiě)數據逐個(gè)比較。

在更新程序全部寫(xiě)入到FLASH 后,恢復程序運行主頻,開(kāi)始執行應用程序。

代碼如下:

4 結語(yǔ)

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



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

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>