新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于CAN的遠(yuǎn)程下載技術(shù)開發(fā)及應(yīng)用

基于CAN的遠(yuǎn)程下載技術(shù)開發(fā)及應(yīng)用

作者: 時(shí)間:2010-12-07 來源:網(wǎng)絡(luò) 收藏


上圖給出了dsPIC33 器件的程序存儲(chǔ)器的物理地址映射,由圖可知用戶應(yīng)用代碼應(yīng)放置在用戶應(yīng)用程序地址段,而Bootloader 代碼放在自舉程序地址段。不論目標(biāo)端自舉程序(Bootloader)需多少存儲(chǔ)空間,自舉程序(Bootloader)和用戶應(yīng)用程序的存儲(chǔ)位置都必須嚴(yán)格遵守目標(biāo)端存儲(chǔ)器構(gòu)架。在具體設(shè)計(jì)中,須注意:

(1)慎用中斷:Bootloader 自舉程序不建議使用中斷方式。目標(biāo)端器件在寫Flash 程序存儲(chǔ)器時(shí),有一個(gè)擦除程序存儲(chǔ)器的操作,可能會(huì)擦除掉位于程序存儲(chǔ)器上的中斷向量表和備用中斷向量表地址處的值,造成系統(tǒng)的死機(jī)。另外,一個(gè)功能強(qiáng)大的程序,一般都是用中斷方式實(shí)現(xiàn)用戶應(yīng)用程序以提高實(shí)時(shí)性,這會(huì)生成一個(gè)中斷向量表,存儲(chǔ)在目標(biāo)端器件程指定中斷向量表和備用中斷向量表地址處。如果在 Bootloader 自舉程序也用中斷方式,會(huì)使得一個(gè)目標(biāo)端器件產(chǎn)生兩個(gè)不一樣的中斷向量表和備用中斷向量表區(qū),造成系統(tǒng)的死機(jī)。

(2)存儲(chǔ)位置:Bootloader 程序和用戶應(yīng)用程序不應(yīng)處于同一頁。自舉程序(Bootloader)要先執(zhí)行擦除程序存儲(chǔ)器,才能將接收的新代碼存入其中。如果處于同一頁,在遠(yuǎn)程下載時(shí),很可能擦除Bootloader 程序本身。

(3)自舉延時(shí):必須為目標(biāo)端自舉程序的執(zhí)行指定一個(gè)延時(shí)值,這個(gè)延時(shí)值作為檢測(cè)總線數(shù)據(jù)流活動(dòng)的時(shí)限。

(4)鏈接文件配置:默認(rèn)的自舉程序地址段是0X400 到0XC00。如果實(shí)際的自舉程序代碼量超過上述空間,需要修改鏈接文件,重新配置,以適合工程需要。

4 主機(jī)端設(shè)計(jì)方案

主機(jī)端的設(shè)計(jì)主要包含主機(jī)端通訊程序的實(shí)現(xiàn),并為用戶提供一個(gè)管理遠(yuǎn)程下載、軟件復(fù)位、異常處理等功能的監(jiān)控界面。主機(jī)端程序,采用了多線程的通信存儲(chǔ)技術(shù),一共包含線程:主線程、接收線程、遠(yuǎn)程下載線程,使得程序執(zhí)行效率較高。

上位機(jī)軟件界面圖
上位機(jī)軟件界面圖
圖5 上位機(jī)軟件界面圖

軟件界面如上圖 5 所示,在這里實(shí)現(xiàn)的主要功能有:

(1)參數(shù)設(shè)置功能,包括 的連接、斷開、復(fù)位、啟動(dòng)、接收過濾碼和接收屏蔽碼等 自身參數(shù)的設(shè)置。

(2)文件導(dǎo)入功能,載入存儲(chǔ)在任意目錄下目標(biāo)端用戶應(yīng)用程序的HEX 文件。

(3)遠(yuǎn)程下載功能,這一功能由“更新按鈕”觸發(fā)產(chǎn)生,啟動(dòng)主機(jī)端程序和目標(biāo)端的通信,實(shí)現(xiàn)遠(yuǎn)程下載。

(4)狀態(tài)顯示功能,由兩個(gè)列表框,用于顯示導(dǎo)入的HEX 文件的數(shù)據(jù),和實(shí)時(shí)顯示當(dāng)前的通訊狀態(tài)。

(5)軟件復(fù)位功能,這一功能由“自舉復(fù)位”觸發(fā)產(chǎn)生,發(fā)送一個(gè)復(fù)位命令和異常處理命令,目標(biāo)端根據(jù)命令進(jìn)行相應(yīng)操作。

5 結(jié)束語

本文結(jié)合VRV 空調(diào)控制系統(tǒng)開發(fā)的實(shí)際應(yīng)用需求,以dsPIC33 為硬件基礎(chǔ),開發(fā)了基于 的遠(yuǎn)程下載系統(tǒng)。系統(tǒng)同時(shí)支持單點(diǎn)、多點(diǎn)、廣播等下載方式,具有數(shù)據(jù)加密、軟件復(fù)位、異常處理等以往所開發(fā)的遠(yuǎn)程下載技術(shù)所不具備的功能。

本文主機(jī)端程序的設(shè)計(jì)采用了多線程的通信存儲(chǔ)技術(shù),保證了程序的高效性和擴(kuò)展性,并且可實(shí)時(shí)監(jiān)測(cè)系統(tǒng)的狀態(tài),界面風(fēng)格簡(jiǎn)潔明了,符合工程人員操作習(xí)慣。目標(biāo)端嚴(yán)格按照dsPIC33F 單片機(jī)的體系構(gòu)架,進(jìn)行代碼開發(fā)和鏈接文件的修改及配置,程序簡(jiǎn)潔易讀、安全可靠。本系統(tǒng)2009 年初進(jìn)行實(shí)驗(yàn)平臺(tái)的聯(lián)機(jī)調(diào)試,性能良好。

本文作者創(chuàng)新點(diǎn):結(jié)合VRV 空調(diào)控制系統(tǒng)具有多傳感器、溫度數(shù)據(jù)具有時(shí)滯特性,利用VRV 空調(diào)系統(tǒng)的通訊信息網(wǎng)絡(luò),開發(fā)遠(yuǎn)程下載技術(shù),節(jié)省成本提高效能;實(shí)現(xiàn)了軟件復(fù)位和故障處理以及加解密等實(shí)際工況的需要,使得更為符合實(shí)際現(xiàn)場(chǎng)的需要。

本文引用地址:http://butianyuan.cn/article/173118.htm

上一頁 1 2 3 下一頁

關(guān)鍵詞: 單片機(jī) CAN

評(píng)論


相關(guān)推薦

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

關(guān)閉