新聞中心

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ò) 收藏

摘要: 變制冷劑流量(VRV) 空調(diào)控制系統(tǒng)具有多傳感器、溫度數(shù)據(jù)具有時(shí)滯特性,維護(hù)程序代碼和功能調(diào)試非常困難,因而提出利用VRV 系統(tǒng)的通信網(wǎng)絡(luò)和的Bootloader 特性,開發(fā)基于 總線的遠(yuǎn)程下載功能。根據(jù)VRV 控制系統(tǒng)的應(yīng)用需求,制訂了通訊協(xié)議,實(shí)現(xiàn)了包括單點(diǎn)、多點(diǎn)及廣播等多種遠(yuǎn)程下載方式,并具有軟件復(fù)位、數(shù)據(jù)加解密、異常處理等新功能。該技術(shù)已經(jīng)應(yīng)用于VRV 空調(diào)控制系統(tǒng)的開發(fā)調(diào)試,應(yīng)用效果良好。

0 引 言

變制冷劑流量(Variable Refrigerant Volume, VRV)空調(diào)系統(tǒng)是一種網(wǎng)絡(luò)空調(diào)系統(tǒng),由制冷劑管路網(wǎng)絡(luò)和通訊信息流網(wǎng)絡(luò)組成,并且一臺(tái)室外機(jī)通過配管和通訊總線連接多臺(tái)室內(nèi)機(jī),由在監(jiān)控室的監(jiān)控PC 機(jī),監(jiān)控整個(gè)系統(tǒng)的運(yùn)行狀態(tài)。系統(tǒng)結(jié)構(gòu)簡(jiǎn)圖如圖1 所示。

VRV 空調(diào)系統(tǒng)結(jié)構(gòu)簡(jiǎn)圖
VRV 空調(diào)系統(tǒng)結(jié)構(gòu)簡(jiǎn)圖
圖 1 VRV 空調(diào)系統(tǒng)結(jié)構(gòu)簡(jiǎn)圖

系統(tǒng)控制信息通過通信網(wǎng)絡(luò)傳輸,實(shí)現(xiàn)對(duì)制冷劑管路網(wǎng)絡(luò)中制冷劑流量的精確調(diào)配,可使系統(tǒng)具有控溫舒適可靠、節(jié)能環(huán)保、節(jié)省建筑空間等優(yōu)勢(shì),近十幾年得到迅猛的普及。

通訊信息流網(wǎng)絡(luò)是VRV 系統(tǒng)的重要組成部分。下文為敘述方便,將監(jiān)控PC 機(jī)稱為主機(jī)端、室外機(jī)和室內(nèi)機(jī)統(tǒng)稱為目標(biāo)端。

由于每套系統(tǒng)都有多個(gè)參數(shù)需要傳感器實(shí)時(shí)檢測(cè),并且溫度數(shù)據(jù)本身具有很大的時(shí)滯性,因而維護(hù)程序代碼和功能調(diào)試非常困難。本文提出一種利用VRV 的通信網(wǎng)絡(luò)和監(jiān)控PC機(jī)進(jìn)行程序遠(yuǎn)程下載的方法。

另外,VRV 空調(diào)系統(tǒng)的通信信息流網(wǎng)絡(luò)目前還沒有統(tǒng)一的總線標(biāo)準(zhǔn),國(guó)際上各大廠家都是制定自己的總線標(biāo)準(zhǔn),兼容性不夠。我們?cè)谙到y(tǒng)設(shè)計(jì)VRV 控制系統(tǒng)時(shí),經(jīng)多方比較,最后鑒于 總線高安全性、故障自動(dòng)退出等優(yōu)勢(shì),選擇 總線作為系統(tǒng)的通訊總線。

VRV 系統(tǒng)的室外機(jī)和室內(nèi)機(jī)選一款支持CAN 模塊的Microchip公司的dsPIC33FJ 作為主控制芯片。并且這款本身支持Bootloader 功能,這為開發(fā)遠(yuǎn)程下載,進(jìn)而實(shí)現(xiàn)系統(tǒng)維護(hù)和程序更新提供了一種可能。

本文開發(fā)出一種基于 CAN 總線,支持單點(diǎn)、多點(diǎn)及廣播等多種方式的遠(yuǎn)程下載的技術(shù),并具有軟件復(fù)位、異常處理、數(shù)據(jù)加/解密等突出功能。這些功能極大方便了對(duì)VRV 空調(diào)控制系統(tǒng)的維護(hù)和應(yīng)用,也為初期進(jìn)行空系統(tǒng)的設(shè)計(jì)、開發(fā)、調(diào)試提供了一種極為便利的手段。

1 總體設(shè)計(jì)方案

1.1 遠(yuǎn)程下載原理

目標(biāo)端復(fù)位后,在一個(gè)指定的時(shí)間內(nèi),目標(biāo)端都監(jiān)測(cè)與主機(jī)端相連的通訊總線是否有數(shù)據(jù)流活動(dòng)。如果有,則跳轉(zhuǎn)到Bootloader 自舉程序,執(zhí)行Bootloader 自舉功能,將接收的數(shù)據(jù),寫入目標(biāo)端的用戶應(yīng)用程序段,直到全部數(shù)據(jù)接收完成后,再跳轉(zhuǎn)到用戶應(yīng)用程序段,執(zhí)行剛接收到的新代碼,實(shí)現(xiàn)用戶應(yīng)用程序的更新。如果超過時(shí)限,都沒有監(jiān)測(cè)到該總線上有數(shù)據(jù)流活動(dòng),則直接跳轉(zhuǎn)到用戶應(yīng)用程序段,執(zhí)行原有的程序功能。

在此一共有三段程序:

⑴目標(biāo)端的自舉程序和用戶應(yīng)用程序。這兩個(gè)程序都是基于MAPLAB IDE 工具開發(fā)。

⑵主機(jī)端程序。這個(gè)程序是用Visual Studio C++開發(fā),只有主機(jī)端程序才能主動(dòng)發(fā)起與目標(biāo)端自舉程序間的通信。

整個(gè)通訊過程如圖2 所示,其中:

(1)主機(jī)端程序讀取和解析MAPLAB IDE 編譯器生成的用戶應(yīng)用程序,并組織數(shù)據(jù)。

(2)通過CAN 總線將解析、重組后的數(shù)據(jù)傳輸給目標(biāo)端器件。

(3)目標(biāo)端自舉程序(Bootloader),將收到的數(shù)據(jù)加載到目標(biāo)端器件相應(yīng)的FALSH 段上。

通訊過程示意圖
 通訊過程示意圖
圖 2 通訊過程示意圖


上一頁 1 2 3 下一頁

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

評(píng)論


相關(guān)推薦

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

關(guān)閉