基于TMS320F2812的產(chǎn)品預(yù)置參數(shù)在線調(diào)試研究
出處:電子技術(shù)網(wǎng) 發(fā)布于:2014-01-16 09:50:32
摘要:產(chǎn)品批量生產(chǎn)時,由于元器件及結(jié)構(gòu)裝調(diào)等存在個體差異,使得每臺產(chǎn)品的程序都需要根據(jù)實際情況進行適當調(diào)整,既費時費力也不利于產(chǎn)品的規(guī)范化管理。針對產(chǎn)品批量化生產(chǎn)的要求,提出了一種基于TMS320F2812的產(chǎn)品預(yù)置參數(shù)在線調(diào)試方法,可以通過上位機界面進行參數(shù)設(shè)置,同時實現(xiàn)在程序中燒寫。該方法應(yīng)用于光電設(shè)備批量生產(chǎn)過程中,大幅度減少了程序調(diào)試與燒寫的工作量,同時提高了產(chǎn)品的可維護性,具有較強的應(yīng)用推廣價值。
0 引言
目前,各種光電設(shè)備被廣泛地應(yīng)用于軍事領(lǐng)域和公安、消防以及環(huán)境監(jiān)控等民用領(lǐng)域,它們在目標偵察、監(jiān)視、預(yù)警、定位、導(dǎo)航、通信等場合起著重要的作用。隨著需求的增加,機載光電設(shè)備的批量生產(chǎn)中由于元器件和結(jié)構(gòu)裝調(diào)導(dǎo)致的個體差異造成了每個設(shè)備的程序進行適當?shù)膮?shù)調(diào)整,為了產(chǎn)品的規(guī)范管理,本文通過上位機調(diào)試界面進行參數(shù)設(shè)置,并燒寫到伺服控制DSP中。
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è)備,連接仿真器來更新程序數(shù)據(jù),尤其在戶外等較為復(fù)雜的場合,直接取下設(shè)備、連接仿真器存在較大困難,有時甚至難以實現(xiàn),此時通過上位機發(fā)指令的方法來更新程序中的數(shù)據(jù)就顯得尤為方便。
1 TMS320F2812 FLASH 燒寫介紹
TMS320F2812 FLASH 為了用戶使用方便,提供了專用的針對FLASH操作的庫文件及燒寫步驟。用戶在使用FLASH 用戶編程接口時必須使用Flash2812_API_V100.lib庫文件,然后按照以下步驟進行:
?。?)修改Flash281x_API_Config.h文件,此文件中主要是設(shè)置根據(jù)DSP的時鐘頻率;
?。?)將Flash281x_API_Library.h文件加入到工程中;
?。?)將Flash2812_API_V100.lib 文件加入到工程庫文件中;
(4)初始化PLL 控制寄存器(PLLCR);
(5)將FLASH API功能拷貝到內(nèi)部SARAM中;
?。?)初始化Flash_CPUScaleFactor;
?。?)調(diào)用擦除、寫入、檢查功能進行參數(shù)的燒寫;
?。?)返回主程序。
2 硬件
本文提出了一種通過雙口RAM與上位機通信來實現(xiàn)程序中參數(shù)更新的方法,該系統(tǒng)中DSP接收上位機發(fā)送控制指令及參數(shù),根據(jù)指令執(zhí)行不同的功能。DSP 接收控制指令,若程序不需更新,則直接跳轉(zhuǎn)到其他應(yīng)用程序入口;若參數(shù)需要更新,則調(diào)用更新服務(wù)程序,接收待更新數(shù)據(jù)、燒寫FLASH,復(fù)位、跳轉(zhuǎn)到應(yīng)用程序入口。硬件框圖如圖1所示。
3 軟件
3.1 軟件流程
DSP程序通過仿真器燒寫到FLASH,其功能為:實現(xiàn)讀取雙口RAM數(shù)據(jù)并判斷、燒寫FLASH、復(fù)位跳轉(zhuǎn)。
軟件流程圖如圖2所示。
3.2 讀取及處理雙口RAM數(shù)據(jù)軟件
DSP讀取外設(shè)雙口RAM中上位機發(fā)送的指令及參數(shù),根據(jù)協(xié)議讀取固定地址的指令和參數(shù),為了數(shù)據(jù)讀取的可靠性,指令和參數(shù)均重復(fù)寫在不同的三個地址,通過三判二,保證指令的可靠性。
3.3 對片內(nèi)FLASH的擦除、寫入操作軟件
3.3.1 對片內(nèi)FLASH的準備
得到需要修改的參數(shù)值之后,需要將數(shù)據(jù)寫入FLASH存儲器進行存儲。由于FLASH存儲器必須以扇區(qū)為單位進行擦除和寫入操作,因此必須對cmd文件進行相應(yīng)的配置,使參數(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”段上的代碼,復(fù)制到RAM空間去執(zhí)行擦除過程:由于2812可擦除的FLASH 內(nèi)存空間就是一個扇區(qū),而不能單獨擦除一個字。由于上述擦除的是J扇區(qū),故可以在J扇區(qū)內(nèi)寫數(shù)據(jù)。
校驗過程:將已燒寫數(shù)據(jù)與燒寫數(shù)據(jù)逐個比較。
在更新程序全部寫入到FLASH 后,恢復(fù)程序運行主頻,開始執(zhí)行應(yīng)用程序。
代碼如下:
4 結(jié)語
通過上位機調(diào)整參數(shù),并傳遞燒寫指令并將參數(shù)寫入FLASH 中的成功應(yīng)用,在大批量生產(chǎn)產(chǎn)品時保證了程序版本的一致性,狀態(tài)可控,保證了產(chǎn)品管理的規(guī)范性;此方法可多次且可靠、快速地更新產(chǎn)品需調(diào)整特性的參數(shù),方便了產(chǎn)品的調(diào)試,提高了產(chǎn)品的系統(tǒng)可維護性,具有較強的應(yīng)用價值。(作者:趙嬪婭,渠繼峰)
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.udpf.com.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 掌握 DSP:原理剖析與應(yīng)用實踐2025/5/8 14:03:24
- 模糊邏輯在 DSP 上實時執(zhí)行2023/7/25 17:13:30
- 多速率DSP及其在數(shù)模轉(zhuǎn)換中的應(yīng)用2023/6/12 15:28:52
- 使用 DSP 加速 CORDIC 算法2023/3/29 15:46:30
- 高速DSP系統(tǒng)的信號完整性2022/9/26 16:45:38