當(dāng)前位置:首頁(yè) > 電源 > 數(shù)字電源
[導(dǎo)讀] TMS320F2812(簡(jiǎn)稱F2812)是TI公司推出的C2000系列性能最高的一款芯片,也是目前DSP領(lǐng)域最先進(jìn)、功能最強(qiáng)大的32位定點(diǎn)DSP芯片。它既具有數(shù)字信號(hào)處理能力,又具有強(qiáng)大的事件管理能力和嵌入式控制功能,其片內(nèi)自帶


    TMS320F2812(簡(jiǎn)稱F2812)是TI公司推出的C2000系列性能最高的一款芯片,也是目前DSP領(lǐng)域最先進(jìn)、功能最強(qiáng)大的32位定點(diǎn)DSP芯片。它既具有數(shù)字信號(hào)處理能力,又具有強(qiáng)大的事件管理能力和嵌入式控制功能,其片內(nèi)自帶了128 K字的Flash,可以將程序直接寫(xiě)入片內(nèi)運(yùn)行,開(kāi)發(fā)和使用都非常方便。自推出以來(lái),已被國(guó)內(nèi)的各行業(yè)的開(kāi)發(fā)工程師用于開(kāi)發(fā)各種先進(jìn)的監(jiān)控產(chǎn)品。各種監(jiān)控產(chǎn)品在線運(yùn)行時(shí),難免會(huì)發(fā)現(xiàn)和需要處理各種意料不到的問(wèn)題,有必要及時(shí)升級(jí)相應(yīng)的程序。F2812的程序通常需要專用的燒寫(xiě)器和軟件才能寫(xiě)入,但由于空間距離、時(shí)間、現(xiàn)場(chǎng)條件等多方面原因的限制,現(xiàn)場(chǎng)運(yùn)行的設(shè)備很難在就地進(jìn)行程序升級(jí)。因此,本文探討了如何利用設(shè)備現(xiàn)有的RS-232數(shù)據(jù)通信串口進(jìn)行遠(yuǎn)程的程序升級(jí)方法。


1 設(shè)備硬件構(gòu)成
    下面針對(duì)一臺(tái)現(xiàn)場(chǎng)在線運(yùn)行的F2812監(jiān)控設(shè)備進(jìn)行遠(yuǎn)程程序升級(jí)。該設(shè)備通過(guò)RS-232串口和外掛的GPRS模塊與主站PC機(jī)可進(jìn)行點(diǎn)對(duì)點(diǎn)通信,其硬件通信平臺(tái)的構(gòu)成如圖1所示。

    各硬件模塊的主要功能:
    ①主站PC機(jī),負(fù)責(zé)對(duì)遠(yuǎn)程F2812監(jiān)控系統(tǒng)發(fā)操作命令,收集實(shí)時(shí)數(shù)據(jù)等。
    ②GPRS通信模塊,通過(guò)RS-232接口分別與主站PC機(jī)和監(jiān)控系統(tǒng)連接,實(shí)現(xiàn)串口到Internet,遠(yuǎn)程數(shù)據(jù)透明傳輸。
    ③F2812監(jiān)控系統(tǒng)負(fù)責(zé)執(zhí)行上位機(jī)的命令,采集現(xiàn)場(chǎng)數(shù)據(jù)、存儲(chǔ)并定時(shí)發(fā)送到上位PC機(jī)。F2812監(jiān)控電路板上外擴(kuò)有128 K字的RAM存儲(chǔ),用于存儲(chǔ)采集到的數(shù)據(jù),以及進(jìn)行程序升級(jí)時(shí),存儲(chǔ)上位機(jī)傳送過(guò)來(lái)的升級(jí)程序數(shù)據(jù),待數(shù)據(jù)傳送完成后,以數(shù)據(jù)塊的方式將升級(jí)程序?qū)懭隖lash內(nèi),對(duì)程序進(jìn)行燒寫(xiě)固化。
    程序的遠(yuǎn)程升級(jí)方法主要用上位PC機(jī),通過(guò)專用工具軟件,將升級(jí)程序數(shù)據(jù)分割發(fā)送,下位監(jiān)控系統(tǒng)收到程序數(shù)據(jù)后,先將數(shù)據(jù)放入內(nèi)存指定的區(qū)域,待到全部數(shù)據(jù)收集結(jié)束;同時(shí)進(jìn)行CRC校驗(yàn),正確后,調(diào)用預(yù)先嵌入的Flash燒寫(xiě)函數(shù)進(jìn)行數(shù)據(jù)寫(xiě)入,即可實(shí)現(xiàn)程序遠(yuǎn)程升級(jí)功能。

[!--empirenews.page--]
2 軟件設(shè)計(jì)方案
2.1 功能分塊
    為了能夠順利實(shí)現(xiàn)程序遠(yuǎn)程升級(jí)功能,在程序的設(shè)計(jì)編寫(xiě)過(guò)程中,可將F2812監(jiān)控程序有計(jì)劃地分成幾個(gè)主要功能模塊:BIOS初始化模塊、基礎(chǔ)功能模塊、應(yīng)用程序模塊。各模塊的構(gòu)成和地址安排如表1所列。

    DSP的監(jiān)控程序經(jīng)CCS開(kāi)發(fā)系統(tǒng)編譯后,程序即生成一個(gè)*.out類型的COFF公共目標(biāo)文件,公共目標(biāo)格式文件對(duì)程序各模塊進(jìn)行分段存放,主要有程序段(.text)、數(shù)據(jù)段(.data)、用戶自定義段(.Myprg)等,如程序未進(jìn)行特別指定,編譯后的程序模塊會(huì)自動(dòng)分配到公共目標(biāo)格式文件的程序段(.text)內(nèi)。為了能夠?qū)崿F(xiàn)程序可遠(yuǎn)程升級(jí)功能,需要應(yīng)用程序模塊單獨(dú)映射到用戶自定義模塊內(nèi),升級(jí)過(guò)程只需對(duì)用戶自定義模塊(.Mprg)所在的Flash地址區(qū)域進(jìn)行擦寫(xiě)即可,這樣還可確保監(jiān)控程序的基本功能不受Flash擦寫(xiě)過(guò)程和擦寫(xiě)失敗的影響,這也是程序能否實(shí)現(xiàn)遠(yuǎn)程升級(jí)功能的關(guān)鍵。
    為此,需在對(duì)F2812的監(jiān)控程序進(jìn)行如下分段設(shè)計(jì):
    ①在*.cmd文件的段地址映射內(nèi)增加一個(gè)用戶自定義段(.Myprg),將應(yīng)用程序模塊的映射地址與初始化模塊和基本功能模塊的映射地址分開(kāi)如下(這樣便于Flash的程序在線升級(jí)時(shí)分塊寫(xiě)入):

   
    ②對(duì)映射在應(yīng)用程序模塊內(nèi)的每個(gè)函數(shù),都需要用以下方法進(jìn)行指定,使程序編譯后,應(yīng)用程序模塊內(nèi)的函數(shù)映射到用戶自定義段(.Myprg)內(nèi)。

   
    經(jīng)過(guò)以上的程序分段和設(shè)定,使得程序編譯后,各功能函數(shù)分段清晰,為F2812監(jiān)控程序在線遠(yuǎn)程寫(xiě)入做好了準(zhǔn)備。[!--empirenews.page--]
2.2 Flash在線寫(xiě)入
    F2812的Flash數(shù)據(jù)寫(xiě)入通常包括擦除、燒寫(xiě)和校驗(yàn)3個(gè)步驟:
    ①擦除就是將Flash內(nèi)的數(shù)據(jù)0位都變成1,經(jīng)過(guò)正確的擦除步驟后,F(xiàn)lash內(nèi)所有16位數(shù)據(jù)都變?yōu)?xFFFF。
    ②燒寫(xiě)程序數(shù)據(jù)的過(guò)程就是將待寫(xiě)入的數(shù)據(jù)中對(duì)應(yīng)為0位寫(xiě)入,使得Flash中的相對(duì)應(yīng)位變?yōu)?,1對(duì)應(yīng)的位保持不變。
    ③校驗(yàn)過(guò)程在燒寫(xiě)結(jié)束后,是將燒寫(xiě)入的數(shù)據(jù)讀出,并與原來(lái)的數(shù)據(jù)進(jìn)行比較。全部正確,則數(shù)據(jù)寫(xiě)入Flash完成;若校驗(yàn)不正確,則必須重新擦除和寫(xiě)入,5次校驗(yàn)未能通過(guò),數(shù)據(jù)燒寫(xiě)失敗。
    F2812的Flash燒寫(xiě)與較早的C2000系列如F2407有所不同,程序的擦除、燒寫(xiě)和校驗(yàn)主要通過(guò)調(diào)用Flash_Erase()、Flash_Program()、Flash_Verify()這3個(gè)函數(shù)來(lái)完成。這3個(gè)Flash的操作函數(shù)已封裝在TI公司開(kāi)發(fā)的庫(kù)文件Flash2812_API_V210.lib內(nèi),使用時(shí)只需在編譯時(shí)將該庫(kù)文件加入即可,非常方便使用者調(diào)用,具體的使用方法可參閱相關(guān)的參考資料。
    需要注意的是,對(duì)Flash的所有操作函數(shù)都必須首先載入到具有0等待周期的RAM內(nèi)才能執(zhí)行,否則Flash的燒寫(xiě)過(guò)程將會(huì)出錯(cuò)。執(zhí)行在線寫(xiě)入前,需要先調(diào)用函數(shù)Flash_MemCopy(),將Flash_Erase()、Flash_Program()、Flash_Verify()這3個(gè)函數(shù)的執(zhí)行代碼調(diào)入F2812的RAM空間內(nèi)。Flash_MemCopy()也是封裝在Flash2812_API_V210.lib庫(kù)文件內(nèi)的函數(shù)。


3 程序遠(yuǎn)程升級(jí)
    程序的遠(yuǎn)程升級(jí)功能就是通過(guò)升級(jí)應(yīng)用程序模塊的數(shù)內(nèi)容來(lái)實(shí)現(xiàn)的,其主要步驟如下:
    首先,程序數(shù)據(jù)的提取。監(jiān)控程序原文件經(jīng)過(guò)CCS編譯后,生成*.OUT的公共目標(biāo)格式COFF文件。通常用仿真器燒寫(xiě)程序時(shí),公共目標(biāo)格式文件,即*.out文件,由CCS的Flash燒寫(xiě)插件對(duì)其進(jìn)行解讀,并將數(shù)據(jù)輸出到F2812內(nèi)進(jìn)行燒寫(xiě)。本文用C++Builder開(kāi)發(fā)了一個(gè)專用工具軟件,根據(jù)公共目標(biāo)格式文件的結(jié)構(gòu),對(duì)*.OUT文件進(jìn)行解讀,并提取出應(yīng)用程序模塊段(.MyPrg)內(nèi)的程序數(shù)據(jù),并將數(shù)據(jù)通過(guò)GPRS通信模塊進(jìn)行遠(yuǎn)程傳送。其次,程序數(shù)據(jù)的分割。GPRS通信平臺(tái)要求每個(gè)數(shù)據(jù)包小于或等于256字節(jié),因此,需要將提取到的程序數(shù)據(jù)進(jìn)行分割,由專用工具軟件將應(yīng)用程序模塊分割為若干個(gè)196字節(jié)大小的數(shù)據(jù)包,根據(jù)通信協(xié)議與F2812監(jiān)控系統(tǒng)進(jìn)行遠(yuǎn)程通信。
    最后,程序數(shù)據(jù)的寫(xiě)入。程序數(shù)據(jù)經(jīng)GPRS遠(yuǎn)程通信接收完畢后,可向F2812監(jiān)控裝置發(fā)程序升級(jí)指令。根據(jù)預(yù)先分段設(shè)定,即調(diào)用Flash操作函數(shù)Flash_Erase()、Flash_Program()、Flash_Vetify(),將數(shù)據(jù)寫(xiě)入用戶自定段.Myprg所在的地址區(qū)域,完成程序的遠(yuǎn)程升級(jí)。


結(jié) 語(yǔ)
    本文從工程的實(shí)際需要出發(fā),分析和闡述了C2000系列的TMS320F2812程序遠(yuǎn)程升級(jí)的步驟和方法,有效解決在線遠(yuǎn)程運(yùn)行系統(tǒng)的程序升級(jí)的難題,對(duì)其他類似系統(tǒng)的程序升級(jí)也具有借簽意義。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉