《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于CC1110單片機的無線升級方法研究
基于CC1110單片機的無線升級方法研究
來源:電子技術應用2012年第11期
生鳳中, 荊 雷, 李建業
燕山大學 信息科學與工程學院,河北 秦皇島 066004
摘要: 針對現有嵌入式設備無線升級方法中存在的占用資源多、升級程序類型不靈活以及功耗消耗大等問題,設計了一種基于CC1110無線單片機的應用程序裝載系統來實現應用程序的無縫切換。介紹了系統無線升級的模型及方法,并分析了裝載程序的長度和無線傳輸數據包長度與裝載時間及能量消耗的關系。經試驗平臺測試表明,該方案具有較強的可靠性、及時性、靈活性和較好的節能性。
中圖分類號: TP368.1;TP311
文獻標識碼: A
文章編號: 0258-7998(2012)11-0139-04
Research of wireless upgrade method based on CC1110 MCU
Sheng Fengzhong, Jing Lei, Li Jianye
Institute of Information Science and Technology, Yanshan University, Qinhuangdao 066004, China
Abstract: Aiming at the problems for existing embedded equipment that occupy large resources, the type of upgrading program is not flexible and high power consumption. A wireless program upgrading system based on CC1110 SCM to seamlessly switch on-demand applications is designed. Introduce the system of wireless upgrade model and method, analyzes the relationship of among the length of the loading program, wireless transmission packet length, loading time and the energy consumption. The test platform shows that this scheme has a strong reliability, acceptable delay, flexibility, good energy efficiency.
Key words : Boot Loader; CC1110; IAP; wireless upgrade

    隨著電子技術、計算機技術和通信技術的迅猛發展,單片機、DSP等嵌入式系統已廣泛應用于工業、軍事、通信、及家電等領域。但嵌入式設備在安裝部署方面的局限性使得傳統的在線升級程序的方法難以實現。而應用可編程IAP(In Application Programming)技術為嵌入式系統無線升級程序提供了良好的解決方案,并受到廣泛關注[1-2]。

    建立備份數據區的機制[3],采用設計應用程序鏡像文件存儲區的方法對Flash的布局進行重新設計,實現嵌入式設備遠程自動更新,達到更新升級程序的目的。但該方法只能更新比現有程序版本更高的程序,靈活性較差。基于GPRS(General Packet Radio Service)的無線升級方法[4],通過GPRS網絡將要升級的程序代碼傳輸下載到目標終端,然后采用IAP技術進行軟件的升級,該方法具有GPRS遠程、高速傳輸的特點。但采用GPRS技術需要支付相關費用,并且對系統資源要求較高。基于Zigbee的無線升級方法[5],通過Zigbee無線網絡技術進行更新程序代碼數據傳輸,采用IAP技術對嵌入式設備進行程序的在線升級,該方法具有快捷簡便、硬件成本低及通信誤碼率低等優點。然而使用Zigbee協議較為復雜,需要2.4 GHz的載波頻率,資源和能量消耗較多。
   本文提出了無線升級程序的方法,嵌入式設備載波頻率采用ISM頻段的433 MHz,通過簡單可靠的無線通信協議進行程序代碼的傳輸,終端設備接收到代碼數據后,采用IAP技術進行程序的無縫切換。該方法需要的硬件資源較少,協議簡單可靠,能夠有效減少來自同頻電波和障礙物的干擾,裝載延時可在人們的容忍限度之內,能量消耗較少。
1 系統無線升級模型與方法
1.1 無線系統升級模型

  嵌入式設備的無線升級系統主要由服務器設備、終端設備兩部分組成。設備之間通過無線通信技術進行裝載程序代碼的傳輸。通過IAP技術進行程序的更新與升級[6,10],由此實現嵌入式設備的無線升級, 程序結構如圖1所示。

1.2 無線系統升級方法
    在IAP編程模式中,嵌入式設備內部在結構上有兩塊存儲區,一塊被稱為Boot Loader區;另外一塊被稱為用戶裝載程序區。設備上電運行在Boot Loader區,如果滿足外部改寫程序的條件,則對用戶裝載程序區的程序進行改寫操作,程序指針跳到用戶裝載程序區完成程序切換。本系統所涉及的關鍵技術主要包括:無線通信協議、內存映射、用戶裝載程序代碼的生成和中斷向量的處理。
    (1) 無線通信協議
    本系統采用點對點無線通信協議。通信時首先采用基本的請求/應答握手機制來占用通信媒介(類似于IEEE802.11協議[7]中的RTS/CTS機制),可以有效地防止干擾信號和誤操作的產生。為了保證傳輸代碼的可靠性和有效性,在通信協議中采用應答機制和錯誤重傳機制。本系統采用的無線通信協議如圖2所示,如果終端設備發送裝載程序請求幀(REQ),服務器設備接收到請求幀后將提取幀信息發送至應答幀(MACK),應答幀指示終端設備進行接收代碼準備,并與服務器設備采用的應答機制和錯誤重傳機制進行程序代碼傳輸。

    (2) 內存映射
    為了保證系統的可靠運行,需要將單片機Flash內存分為Boot Loader代碼區和用戶裝載程序代碼區。Boot Loader代碼區用來存放Boot Loader代碼,由于單片機結構及軟件編程的特點將Boot Loader代碼區開辟在0X0000~0X1FFF區域[8-9],用戶需要裝載的程序存儲在0X2000~0X7FFF區域。
    (3) 用戶裝載程序代碼的生成
    為了使裝載程序有效地運行在終端設備,服務器設備中裝載程序代碼的生成同樣需要在code區開辟的0X2000~0X7FFF區域。生成方法即在IAR嵌入式編譯環境中,將鏈表code區的-D_CODE_START=0X0000修改為-D_CODE_START=0x2000。
    (4) 中斷向量的處理
    由于Boot Loader存儲區域和用戶裝載程序在Flash中的code區域不同,如果程序采用中斷功能,則會面臨中斷向量沖突問題。本文采用在 Boot Loader中調用仲裁函數方法進行處理,仲裁函數就是Boot Loader中的中斷服務程序。當中斷發生在Boot Loader時,則執行Boot Loader中的函數,中斷發生在用戶裝載程序時,則執行跳轉指令(LJMP 0X2000+中斷向量值),跳轉到裝載執行程序中相應的位置。
2 無線升級系統的軟硬件實現
2.1系統硬件實現

    本系統使用兩個TI公司提供的具有無線收發功能的CC1110F32單片機[8]作為節點。其中一個作為服務器節點(SN),另一個作為終端節點(EN)。SN負責發送程序代碼,EN就是需要裝載程序的單片機。硬件系統框圖如圖3所示。

    通過TI提供的SmartRFStudio軟件進行發送與接收寄存器的配置,載波頻率為433 MHz,無線調制方式為GFSK,數據傳輸率設置為38.4 kBaud。
2.2 系統軟件設計流程
2.2.1服務器節點的流程

    服務器節點用于將終端節點請求裝載的程序代碼發送到終端節點。服務器節點上電運行(或者軟件復位)后,首先進行硬件平臺初始化,包括CPU及外設的初始化、無線模塊的初始化等。然后打開無線接收模塊,等待接收終端節點的裝載代碼請求,接收到請求后將代碼分段傳輸,無線通信采用請求/應答/數據/應答通信機制進行代碼的傳輸。此協議采用錯誤重發機制保證代碼有效可靠地傳輸。
2.2.2 終端節點的流程
    終端節點即進行無線更新升級程序的節點。終端節點上電運行(或者軟件復位)后,首先進行硬件平臺的初始化,包括CPU及外設的初始化、無線模塊的初始化等。如果需要進行無線升級,則首先將系統復位(按下復位按鍵進行復位),然后執行Boot Loader程序,等待用戶按鍵選擇裝載程序類型。選定裝載程序后,將裝載請求發送至服務器節點,然后采用請求/應答/數據/應答通信機制分段接收程序代碼,并對接收的每一段代碼進行CRC校驗,判斷接收是否正確,通過向服務器節點發送應答信號來指示該段代碼的接收情況。終端節點在無線更新升級程序中的工作流程如圖4所示。

3 實例分析及評價
3.1 程序裝載時間與裝載程序代碼長度的關系

    為了研究裝載時間與裝載代碼長度以及傳輸數據包長度的關系,采用5種不同長度的裝載程序代碼進行測試,對于每種長度的程序分別采用240 B、128字節和64 B的數據包進行傳輸。為了保證實驗數據的可靠性,對于每種長度的程序采用同一數據包長度傳輸時,分別進行了10次測量,10次測量所用裝載的時間幾乎沒有差別(幾毫秒),對10次測量數據取平均值作為此次程序的裝載時間。在不同數據包長度傳輸情況下,裝載程序所用時間與裝載程序長度的關系如圖5所示。

 

 

3.2 不同裝載代碼長度與消耗能量的關系
    為了研究裝載程序所用功耗與裝載代碼長度以及傳輸數據包長度的關系,分別對3種不同長度的程序代碼進行裝載測試。裝載程序長度分別為1 440 B、1 024 B、480 B。本實驗采用數據包長度(每幀傳輸的代碼數)分別為240 B、200 B、128 B和64 B。為了保證實驗數據的可靠性,對于每種長度的程序采用同一數據包長度傳輸時,分別進行了10次測量,對10次測量功耗數據取平均值作為此次程序裝載的功耗。采用不同程序代碼長度進行傳輸時,裝載程序所用功耗與每幀傳輸字節數的關系如圖6所示。
3.3 不同功能程序裝載切換實例測試
    為了驗證系統的可靠性,分別采用LED閃爍程序、按鍵中斷程序和串口通信程序進行裝載切換測試,每種功能程序分別進行了50次裝載測試,測試結果如表1所示。該系統裝載程序的成功率達到99%以上,并且所裝載的程序不受功能限制,具有較高的通用性、可靠性。由按鍵觸發裝載功能,使用方便靈活,易于操作。
3.4 系統評價
     通過對程序裝載時間、裝載程序長度、以及數據包長度的實驗測試可以明顯看出,采用同一數據包長度傳輸數據時,隨著裝載程序長度的增加,裝載延時也將延長,基本呈線性關系。對同一程序采用不同數據包長度時,數據包長度越大,則所耗費的時間越短,裝載長度為1 024 B時,若采用的數據包長度為64 B,則裝載時間為1 550 ms;而采用數據包長度為240 B時的裝載時間為820 ms。當有沖突發生時,采用數據包越長,重傳時所用的無效傳輸數據越多,傳輸的效率越低。因此用戶可以根據需要選擇不同的數據包長度進行傳輸,增加了系統的靈活性。
    傳輸數據的數據包越長,程序裝載所需的功耗越低, 程序長度為1 024 B,數據包長度為64 B時,平均功耗為275.8 mW;數據包長度為240 B時,則平均功耗為155.2 mW。裝載同一程序時,傳輸數據的數據包越長,裝載時間越短。因此可以得出隨著數據包長度的增加,裝載程序所消耗的能量越小。對于能量消耗要求嚴格的嵌入式設備(如手持電池供電設備、無線傳感器網絡節點等)進行無線更新升級程序時,可以采用較大的數據包來裝載程序。
    本文設計了一種基于CC1110單片機的無線更新升級程序的應用系統。經測試驗證該系統具有較高的可靠性、及時性、靈活性、低功耗等特點,應用方便靈活。對于解決應用中的無線嵌入式設備程序升級是一種比較理想的方法。該方法通用性較強,適用于任何具有無線通信功能含有Flash單片機及嵌入式設備。
參考文獻
[1] 黃家升.基于IAP的單片機軟件遠程升級[J]. 艦船電子對抗,2007,30(3):95-97.
[2] 冉曉蓉, 楊志義, 張凡, 等. 基于CAN總線在線更新機制的設計與實現[J]. 計算機工程與科學, 2008,30(1):
125-128.
[3] 王恒,王颋,王泉,等. 基于Boot Loader的可靠嵌入式軟件遠程更新機制[J].微計算機信息,2007,23(20):57-59.
[4] 陶維青, 王付軍,等.基于GPRS網絡的MSP430單片機Flash遠程更新方法[J].電測與儀表,2007,44(7):33-36.
[5] 袁璐,宋華. 基于Zigbee和IAP的在線升級方案.測控技術[J]. 2008,27(10):79-84.
[6] 朱飛龍,楊鳴.基于IAP功能單片機的遠程更新系統設計[J]. 機電工程,2010,27(9):76-79.
[7] GAST M. 802.11 wireless networks[M]. The definitive guide.O′Reilly Media, 2005.
[8] Texas Instruments. CC1110 Data sheet[EB/OL].[2008-7-11]http://www.ti.com.
[9] TI Application Note AN101.Boot loader for CC2510,CC2511,CC1110 and CC1111SoC (System-on-Chip) Transceivers [EB/OL]. [2011-09-08].http://www.ti.com.
[10] KIM J S, BROAD A. Network reprogramming [R]. University of California at Berkeley, Berkeley,CA,USA, 2003.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
午夜在线观看免费一区| 最新亚洲视频| 久久久久久久久岛国免费| 在线日韩一区二区| 亚洲一区二区三区视频播放| 激情六月婷婷综合| 亚洲一区二区影院| 亚洲国产精品成人久久综合一区| 亚洲一区二区三区中文字幕在线| 国产午夜精品全部视频播放| 中国成人亚色综合网站| 国内成人在线| 久久国产精品免费一区| 一本到12不卡视频在线dvd| 欧美成人高清| 亚洲二区在线| 国产色爱av资源综合区| 午夜视频一区二区| 一本色道久久88综合亚洲精品ⅰ | 久久精品卡一| 国产专区欧美精品| 久久xxxx精品视频| 亚洲在线视频网站| 国产精品久久77777| 亚洲网站在线| 亚洲午夜免费视频| 国产精品三区www17con| 亚洲男人影院| 亚洲欧美在线一区二区| 国产亚洲欧洲一区高清在线观看| 欧美制服丝袜第一页| 欧美一区二区在线看| 国际精品欧美精品| 蜜臀av性久久久久蜜臀aⅴ四虎| 久久精品国产欧美亚洲人人爽| 国外成人免费视频| 欧美精品一区二区三区蜜臀 | 国产欧美日韩综合一区在线观看| 欧美制服第一页| 亚洲国产一区二区三区高清| 91久久在线| 国产伦精品一区二区三区免费| 久久爱www.| 99亚洲精品| 亚洲欧美色婷婷| 亚洲高清不卡在线观看| 欧美色区777第一页| 久久精品一区二区三区不卡| 亚洲精品网站在线播放gif| 一区二区三区四区五区精品视频| 国产亚洲精品aa午夜观看| 欧美激情亚洲激情| 久久久www成人免费无遮挡大片| 亚洲老司机av| 欧美中文在线观看国产| 亚洲狼人综合| 在线电影院国产精品| 国产精品xvideos88| 欧美国产精品| 久久精品成人欧美大片古装| 99精品国产在热久久婷婷| 欧美亚洲在线观看| 一区二区av在线| 在线观看亚洲精品视频| 国产精品伊人日日| 欧美日韩在线高清| 欧美jizz19性欧美| 久久久青草婷婷精品综合日韩 | 午夜日韩电影| 在线亚洲精品福利网址导航| 在线观看欧美黄色| 国产日韩欧美制服另类| 国产精品黄色在线观看| 欧美精品一区三区| 米奇777在线欧美播放| 欧美在线一级视频| 午夜免费电影一区在线观看| 亚洲免费影视| 亚洲伊人观看| 亚洲一区二区三区精品动漫| 99国产欧美久久久精品| 一本色道久久综合亚洲精品小说| 91久久久在线| 亚洲精品视频免费观看| 999在线观看精品免费不卡网站| 日韩视频在线一区二区三区| 99国产精品99久久久久久粉嫩| 91久久精品国产91久久性色| 亚洲激情成人| 亚洲美女黄色片| 亚洲在线国产日韩欧美| 欧美一级专区| 久久午夜国产精品| 欧美精品一区二区三区在线播放| 欧美日韩国产精品一区| 国产精品毛片一区二区三区| 国产啪精品视频| 亚洲高清视频一区| 一本色道久久99精品综合| 午夜视频一区二区| 亚洲精品1区2区| 亚洲在线视频网站| 久久裸体视频| 欧美日韩午夜剧场| 黄色成人精品网站| 一本色道久久| 亚洲精品欧美精品| 欧美一区二区国产| 欧美国产日韩a欧美在线观看| 欧美日韩一区在线观看视频| 狠狠久久亚洲欧美专区| 99re热精品| 亚洲欧洲在线一区| 久久精品99| 国产精品久久久久一区二区三区共| 国内精品嫩模av私拍在线观看 | 黄色在线一区| 在线亚洲欧美视频| 亚洲精品一二区| 久久久噜噜噜久久中文字免| 国产精品久久久久国产精品日日| 樱桃国产成人精品视频| 亚洲欧美日韩国产另类专区| 一区二区欧美在线| 美腿丝袜亚洲色图| 国产日韩精品一区二区浪潮av| 日韩一级精品视频在线观看| 亚洲精品中文字幕有码专区| 久久蜜桃资源一区二区老牛| 国产精品美腿一区在线看| 日韩一区二区精品视频| 亚洲精选国产| 欧美精品国产一区二区| 亚洲国产高清自拍| 亚洲精品久久7777| 欧美福利在线观看| 亚洲国产婷婷| 亚洲精品网站在线播放gif| 欧美www在线| 亚洲欧洲日韩在线| 一区二区三区日韩精品视频| 欧美人在线观看| 一本大道av伊人久久综合| 亚洲自拍偷拍网址| 国产日本欧美视频| 久久福利视频导航| 欧美成年人网| 99综合电影在线视频| 亚洲一区二区三区四区在线观看 | 中文日韩电影网站| 国产精品入口麻豆原神| 欧美在线高清| 美女视频黄免费的久久| 亚洲精品一区二区三区av| 中文在线一区| 国精产品99永久一区一区| 亚洲欧洲午夜| 国产精品美女久久久| 亚洲国产综合在线看不卡| 欧美精品一区二区蜜臀亚洲| 亚洲一区二区三区激情| 美国成人直播| 99精品视频免费观看视频| 欧美资源在线| 亚洲精品乱码| 久久久久久成人| 日韩亚洲精品在线| 久久综合给合久久狠狠色 | 黄色精品在线看| 亚洲免费在线观看| 在线日韩精品视频| 欧美在线|欧美| 亚洲伦理精品| 老司机免费视频一区二区三区 | 国产精品国色综合久久| 亚洲电影免费观看高清完整版在线| 欧美日韩精品免费观看视频完整 | 精品二区久久| 欧美专区在线观看一区| 日韩视频一区二区三区| 免费人成精品欧美精品| 午夜亚洲福利| 国产精品久久久久久av福利软件| 夜夜爽www精品| 在线观看欧美| 模特精品在线| 亚洲第一精品影视| 伊人成人在线视频| 久久久综合精品| 欧美自拍偷拍午夜视频| 国产一区二区三区不卡在线观看| 亚洲免费在线视频| 亚洲四色影视在线观看| 欧美午夜电影在线| 亚洲午夜av电影| 亚洲少妇中出一区| 国产精品免费在线 | 91久久久一线二线三线品牌| 欧美极品在线观看| 日韩视频二区|