《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于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的布局進行重新設計,實現嵌入式設備遠程自動更新,達到更新升級程序的目的。但該方法只能更新比現有程序版本更高的程序,靈活性較差?;贕PRS(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亚洲国产精品_日韩亚洲一区二区
国产精品久在线观看| 激情六月综合| 久久国内精品视频| 亚洲视频在线观看视频| 亚洲精品美女在线观看| 欧美一区激情| 香蕉久久a毛片| 亚洲一区免费观看| 日韩一级视频免费观看在线| 亚洲国产精品一区二区www| 韩日午夜在线资源一区二区| 国产乱码精品一区二区三区av| 欧美视频在线免费| 欧美日韩在线播放| 欧美日韩一区免费| 欧美色欧美亚洲另类七区| 欧美剧在线观看| 欧美本精品男人aⅴ天堂| 久久嫩草精品久久久久| 久久爱www久久做| 久久国产欧美精品| 99精品免费视频| 日韩一区二区福利| 日韩一区二区电影网| 9人人澡人人爽人人精品| 日韩视频在线一区| 一本到高清视频免费精品| 99视频在线精品国自产拍免费观看 | 鲁大师成人一区二区三区| 久久久欧美精品sm网站| 久久综合久久综合这里只有精品| 久久久久久69| 噜噜噜91成人网| 欧美黄色影院| 欧美日韩亚洲天堂| 国产精品午夜久久| 国内揄拍国内精品久久| 亚洲电影av| 99精品国产99久久久久久福利| 一区二区三区成人| 亚洲欧美变态国产另类| 久久爱另类一区二区小说| 亚洲国产精品99久久久久久久久| 亚洲精品视频一区二区三区| 一区二区免费看| 午夜亚洲福利在线老司机| 久久久久.com| 欧美激情亚洲激情| 国产精品二区影院| 国产一区二区无遮挡| 亚洲国产精品成人精品| 日韩天天综合| 亚洲欧美日韩国产成人| 久久激情一区| 一本色道久久88综合亚洲精品ⅰ | 午夜国产精品视频| 最新国产精品拍自在线播放| 亚洲色图自拍| 久久亚洲一区| 欧美体内she精视频在线观看| 国产九九精品视频| 亚洲国产高清在线观看视频| 99日韩精品| 欧美在线综合视频| 9l视频自拍蝌蚪9l视频成人| 欧美一区二区三区另类| 免费看精品久久片| 国产精品久久久亚洲一区| 韩国v欧美v日本v亚洲v| 99亚洲一区二区| 欧美影院成人| 亚洲午夜视频在线| 久久一区二区三区国产精品 | 久久色中文字幕| 欧美天天影院| 在线观看亚洲一区| 午夜精品免费在线| 夜夜嗨av一区二区三区| 久久久久久黄| 国产精品久久久久久久久免费| 精品91免费| 亚洲性视频网站| 日韩午夜在线| 久久五月天婷婷| 国产精品福利av| 亚洲激情影院| 久久成人精品无人区| 亚洲免费中文| 欧美精品一区在线观看| 国产一区二区三区四区老人| 99re6热在线精品视频播放速度| 欧美一区二区视频免费观看| 亚洲桃色在线一区| 欧美高清视频免费观看| 国产一区二区三区在线观看视频| 韩日成人av| 亚洲免费在线视频| 这里只有视频精品| 欧美二区不卡| 一区在线播放| 欧美在线视频观看免费网站| 亚洲永久免费观看| 欧美日韩不卡合集视频| 亚洲国产片色| 亚洲激情成人在线| 久久影视三级福利片| 国产日韩欧美高清免费| 中日韩美女免费视频网址在线观看| 亚洲三级免费| 免费观看成人网| 在线观看欧美亚洲| 亚洲福利视频网| 久久精品一区二区三区中文字幕 | 国产精品一区视频| 亚洲一区二区在线| 亚洲一区免费观看| 欧美视频在线一区| 日韩西西人体444www| 一本色道久久综合亚洲二区三区 | 久久精品官网| 久久人人看视频| 黑人一区二区| 久久精品国产清自在天天线| 久久久精品一品道一区| 韩国成人精品a∨在线观看| 久久电影一区| 久久天堂精品| 在线日韩成人| 日韩亚洲欧美成人| 欧美日韩另类在线| 一区二区三区欧美在线| 亚洲欧美福利一区二区| 国产九区一区在线| 欧美一区高清| 免费观看久久久4p| 亚洲毛片av| 亚洲欧美一区二区激情| 国产精品一二一区| 久久av一区二区三区| 女女同性精品视频| 亚洲久久一区二区| 亚洲欧美日韩一区二区| 国产欧美 在线欧美| 羞羞答答国产精品www一本| 久久久噜噜噜久久中文字免 | 亚洲人成小说网站色在线| 日韩一区二区电影网| 欧美日韩在线播放三区四区| 一区二区精品国产| 欧美一区二区三区在线播放| 国产一本一道久久香蕉| 国产午夜精品全部视频在线播放| 亚洲丰满少妇videoshd| 欧美r片在线| 亚洲特级片在线| 亚洲欧美日韩精品一区二区 | 亚洲第一狼人社区| 欧美精品一区二区蜜臀亚洲| 在线日韩中文字幕| 中国成人在线视频| 国产精品国产福利国产秒拍| 亚洲一区二区三区精品视频| 久久久久看片| 在线观看中文字幕亚洲| 亚洲精品视频一区二区三区| 欧美另类极品videosbest最新版本| 亚洲一二三区在线| 久久精品日韩欧美| 亚洲电影观看| 亚洲视频福利| 黄色小说综合网站| 亚洲免费成人av| 国产精品久久久久免费a∨大胸| 亚洲自拍三区| 久久av一区二区三区| 亚洲黄色在线观看| 亚洲一区二区三区成人在线视频精品 | 国产精品福利影院| 欧美在线www| 欧美久久久久久久久久| 亚洲视频观看| 欧美国产亚洲精品久久久8v| 99精品视频免费观看视频| 欧美一区二区在线免费播放| 狠狠狠色丁香婷婷综合久久五月 | 性18欧美另类| 在线国产日韩| 欧美专区在线观看| 亚洲国产精品久久久久秋霞蜜臀| 亚洲视频精品在线| 国产一区二区三区黄视频| 亚洲视屏一区| 国产一区二区三区黄| 国内自拍亚洲| 亚洲视频免费在线| 亚洲国产三级| 欧美一区二区在线观看| 亚洲激情午夜| 久久精品30| 亚洲免费小视频|