《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > ATMEGA128單片機的軟件遠程升級

ATMEGA128單片機的軟件遠程升級

2008-08-06
作者:田日才, 王國鵬, 梁學東

  摘? 要: 介紹了ATMEGA128單片機應用中的在線編程方法。給出了軟件IAP升級設計中應注意的一些關鍵技術,結合某市地鐵調度系統對IAP升級的可靠性和保密性等問題進行了簡單的論述。

  關鍵詞: IAP? Flash存儲器? bootloader? 遠程升級? 在線升級

?

  閃速程序存儲器的編程方法常見的有以下幾種:

  (1)傳統的并行編程方法;

  (2)通過串行口進行在線編程ISP(In System Programmability):對器件或電路甚至整個系統進行現場升級或功能重構;

  (3)在運行中,應用程序" title="應用程序">應用程序控制下的應用在線編程IAP(In Application Programming);IAP模式簡單地說就是在某一個section中運行程序,同時對另一個section進行擦除、讀取、寫入等操作。

  ISP方式相對于傳統方式有了極大的進步,它不需要將芯片從電路板上卸下就可對芯片進行編程,減少了開發時間,簡化了產品制造流程,并大大降低了現場升級的困難。而IAP方式是對芯片的編程處于應用程序控制之下,對芯片的編程融入在通信系統當中,通過INTERNET網絡來升級指定目標芯片的軟件。

  隨著芯片技術的高速發展,各廠家相繼推出了自己的支持ISP/IAP編程模式的芯片,如美國ATMEL公司的ATMEGA128、ATMEGA169,Silicon Storage Technology公司的SST89C54/58j等。其中美國ATMEL公司推出的ATMEGA128是基于AVR RISC的低功耗8位單片機,最高工作頻率可達16MHz,具有128KB FLASH內部存儲應用器、4KB EEPROM和SRAM數據存儲空間,最大可達4096字節的獨立加密位的可選bootloader程序代碼區,以及相應的專門用來支持(IAP)操作的操作控制寄存器" title="控制寄存器">控制寄存器SPMCR。近年來該型單片機以其優良而穩定的性能廣泛應用于各種電子產品中。

1 利用ATMEGA128構成的遠程升級系統

1.1系統組成

  圖1給出了某城市地鐵調度指揮系統的網絡結構。該系統的網絡通信采用輪詢方式。

?

  該系統主要設備包括若干個基臺站、主控單元、基站控制中心、語音交換單元。

  各設備的主要功能為:基站臺用來接收車載臺的數字信令和語音信號;主控單元協調各子節點動作并監視各子節點狀態;基站控制中心既是主控單元的子節點又是各基站臺的主節點,輔助主控單元完成對各基站臺的控制,協調各基站臺動作,搜集各基站臺傳來的消息和監視各基站臺狀態;PCM交換單元在主控單元控制下完成語音交換功能。

1.2 系統軟件IAP升級

  在不影響整個系統正常運行情況下,為實現對系統某個節點的軟件升級" title="軟件升級">軟件升級,可將要升級的程序代碼通過寫碼軟件轉換為系統信令,以透明傳輸的方式傳輸(下載)到目標節點。本系統的信令格式采用表1所示的代碼幀格式。其中幀傳輸控制字" title="控制字">控制字節為5字節,操作控制字節為4字節,代碼數據為32字節。

  為保證代碼傳輸的準確性,本系統采用反饋比對的方式,以監控終端" title="監控終端">監控終端向基臺站的代碼傳輸為例,代碼由監控終端傳輸到基臺站,基臺站收到代碼后,再反饋回監控終端。監控終端將收到的代碼與發送的代碼作比較,比較結果一致時傳輸下一代碼幀,不一致時重復傳輸上一代碼幀。

  系統根據代碼幀的下載目標地址,自動尋址將代碼幀通過各級網絡節點下載到目標節點。寫入代碼的位置原則上可在系統中的任何一點進行,但考慮到實際情況,本系統中只有兩個寫入點(顯示終端和監控終端),寫入代碼時不影響系統的正常運行。收到軟件升級消息的節點通過判斷代碼幀的控制字完成相應的讀、寫、擦除等操作,并且可 根據不同的需求配置不同的控制字實現遠程終端對目標節點的各種資源的監控。

  例如要通過監控終端升級基站1中ATMEGA128的軟件,則要在監控終端中啟動寫碼軟件,將編譯完成的升級代碼按照表1所示的系統幀格式打包,依照代碼在程序存儲區的先后次序依次發出。從圖1中可看出要通過監控終端升級基站1中的軟件,還要經由兩個中間節點:主控單元和基站控制中心,其時序流程如圖2所示。

?

?

  首先,監控終端發出一代碼幀到主控單元,主控單元根據代碼幀中的下載目標地址判斷應傳送的下一節點——基站控制中心。當主控單元輪詢到基站控制中心時,將收到的代碼幀發送給基站控制中心。同樣,基站控制中心根據代碼幀中的下載目標地址,將代碼幀下載并傳送到要升級的基站1的處理器ATMEGA128單片機中。單片機接收到代碼幀后首先將此代碼幀回傳給基站控制中心,然后將程序跳轉,運行bootloader程序區段。此時應用程序區段處于忙狀態,運行bootloader程序區段的程序,根據代碼載入地址將程序代碼寫入應用程序存儲區的正確位置,并在bootloader程序區段繼續運行,等待后續到達的代碼幀。而回傳的代碼幀同樣經過兩級節點返回到監控終端。監控終端收到后與發送的代碼幀進行比較,準確無誤后方可傳送下一幀數據,否則重發。

  圖3給出了代碼寫入主程序流程圖。當代碼幀下載到基站1的控制單片機ATMEGA128后,當檢測到幀類型為升級代碼幀“Y”時,觸發代碼升級程序,程序由應用程序區段跳轉至bootloader程序區段。在此區段可以對應用程序區段進行讀、寫等操作,同時接收通過USART串口不斷傳來的代碼幀。

?

  在代碼開始寫入前,首先將存于EEPROM中的寫入操作開始標志位置位,然后判斷操作控制字以檢測是要進行哪一種操作。若是進行寫入操作,則調用寫入操作子程序。圖4給出了代碼寫入子程序流程圖。首先將代碼寫入緩沖區,將要寫入的程序代碼的頭兩個字節讀入專用于IAP操作的數據存儲寄存器R0:R1,同時Z寄存器指針的低8位指向代碼將要寫到的指定緩沖區的位置。然后將SPMCR控制寄存器的SPMEN位置1,這樣這兩個字節的代碼就被寫入到緩沖區中指定位置。寫下兩個字節時將Z寄存器指針加2,重復上述操作;依次進行直到將代碼幀中的代碼數據全部寫入緩沖區。然后判斷寫入緩沖區的代碼是否寫滿(代碼計數器是否為128)。緩沖區寫滿后要執行頁擦除操作。執行頁擦除每次可擦除1頁(128words),將要擦除的頁地址存入Z寄存器高8位,將SPMCR控制寄存器的SPMEN和PGERES位置1,擦除完畢后這兩位會被硬件清0。

?

  執行頁寫操作時每次只可寫入1頁,將Z寄存器指針指向要寫入的應用程序區段代碼頁,將SPMCR控制寄存器的SPMEN和PGWRT位置1。當寫完后這兩位會被硬件清0同時頁緩沖區中內容被清除。

  升級代碼傳送全部完成后,監控終端會發出一幀操作控制字為FF的代碼幀,升級節點收到后將存于EEPROM中的寫入操作開始標志位置位清0。退出升級操作,并由bootloader區段返回應用程序區段,完成對該節點軟件的升級。

2 IAP升級可靠性和保密性的考慮

  系統在進行IAP升級過程中不免受到外界干擾,如系統突然掉電或線路故障等意外事故而導致代碼傳輸失敗的情況,此時要有一套可靠的軟硬件機制來保障IAP升級的正常運作,以下介紹本系統所采取的一些措施。

  (1)消除傳輸過程中產生的誤碼

  下載代碼的準確性直接關系到系統能否正常運行。本系統采用大回路比對的方式。這種方式雖然使升級過程時間加長,但可以保證代碼準確無誤,并且回傳的代碼幀同時可作為IAP升級的握手信號。當然也可以采用CRC等其它方式解決。

  (2)IAP升級過程中系統掉電情況分析

系統設計必須要避免系統掉電等類似情況所造成的系統運行故障的發生,即使發生了也應將損失降低到最低限度。在IAP升級過程中,可通過軟件方式解決。在應用程序區段,用第一條語句跳轉至bootloader區段,并在bootloader區段的程序中,檢驗寫碼操作開始標志位(此標志位被寫入EEPROM中)。如未被置位,則跳轉至應用程序區段繼續運行應用程序區段中的程序,否則繼續守候在bootloader區段直到升級完成。

  (3)下載代碼的保密性

  為防止沒有寫碼權限的用戶對代碼的操作,實際運用中可對bootloader程序段加入權限校驗程序。根據不同的節點設置了不同的加密碼,以及特權碼(供系統設計或管理人員使用),并將密碼存入EEPROM中,以便隨時更改密碼。

  該方案已成功應用于上海地鐵調度指揮系統中,實現了基于ATMEGA128 IAP軟件的升級,并通過上述可靠性和保密性的設計,使IAP軟件升級的可靠性得到了保證。通過該技術大大提高了系統的可維護性,減少了產品開發時間,簡化了產品制造流程,并大大降低了現場升級的困難,實現了在不影響節點正常工作的情況下對該節點的軟件升級。

?

參考文獻

1 栗大超,宋光德. 智能儀器儀表的ISP技術與Internet接入.中國儀器儀表,2000;(4):10~14

2 杜建光.SST89C54/58系列單片機的IAP應用技術.單片機與嵌入式系統應用,2002:(7)

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲欧洲一区二区天堂久久 | 亚洲欧洲精品一区二区三区波多野1战4| 欧美日韩一区高清| 欧美bbbxxxxx| 免费观看日韩av| 蜜桃av一区二区在线观看| 久久久噜噜噜久久人人看| 久久av一区二区| 久久国产成人| 久久精品一本久久99精品| 久久国产黑丝| 久久精品视频网| 久久精品国产亚洲一区二区三区| 午夜在线一区| 欧美在线二区| 久久精品女人| 久久久久久欧美| 美女啪啪无遮挡免费久久网站| 老司机精品导航| 麻豆精品视频在线观看视频| 裸体一区二区| 欧美成人一二三| 欧美久久99| 欧美调教视频| 国产精品美女在线| 国产欧美va欧美va香蕉在| 国产日韩在线视频| 国产在线观看91精品一区| 国内精品久久久久久久果冻传媒| 黄色成人av网站| 亚洲国产岛国毛片在线| 亚洲精品一区二区三区蜜桃久| 日韩一级黄色av| 亚洲一区二区三区涩| 午夜精品区一区二区三| 久久国产精品久久国产精品| 久久精品一区二区三区四区| 亚洲日产国产精品| 亚洲图片欧美日产| 校园春色国产精品| 久久久中精品2020中文| 欧美高清在线播放| 国产精品jvid在线观看蜜臀| 国产日产欧产精品推荐色 | 亚洲电影网站| 日韩一区二区免费看| 亚洲综合电影| 久久久精品动漫| 欧美国产成人在线| 国产精品va在线播放| 国产午夜精品麻豆| 亚洲黑丝在线| 亚洲一区二区三区涩| 亚洲电影专区| 亚洲色图制服丝袜| 欧美一区国产在线| 欧美成人一区二区三区在线观看| 欧美三级日本三级少妇99| 国产日韩免费| 亚洲欧洲综合另类| 午夜激情综合网| 亚洲麻豆av| 久久精品欧美日韩| 欧美日韩一区二区在线| 国产一区二区在线免费观看 | 亚洲国产高清aⅴ视频| 中文日韩在线| 久久久精品动漫| 欧美日韩四区| 黄色成人av网| 亚洲一区成人| 亚洲精品自在久久| 羞羞视频在线观看欧美| 欧美交受高潮1| 国产情侣一区| 亚洲免费观看在线观看| 久久精品视频在线观看| 亚洲一区二区免费看| 久久亚洲综合色| 国产精品久久久久久久午夜片| 伊人精品成人久久综合软件| 亚洲性夜色噜噜噜7777| 亚洲免费久久| 久久久久久久久久久成人| 欧美日韩视频一区二区| 狠狠久久五月精品中文字幕| 国产精品99久久久久久有的能看| 亚洲高清资源综合久久精品| 午夜国产精品影院在线观看| 欧美精品自拍| 在线观看日韩专区| 欧美一区二区三区免费视| 亚洲一级影院| 欧美金8天国| 尤妮丝一区二区裸体视频| 亚洲欧美日韩中文视频| 亚洲一区免费视频| 欧美精品三级| 亚洲国产乱码最新视频| 久久精品毛片| 亚洲一区视频在线观看视频| 亚洲免费黄色| 美女精品一区| 好吊色欧美一区二区三区四区| 亚洲午夜高清视频| aa成人免费视频| 欧美成人自拍| 狠狠爱www人成狠狠爱综合网| 午夜精品久久久久| 欧美一区二区三区视频免费播放 | 99国产精品99久久久久久| 亚洲激情图片小说视频| 久久免费精品视频| 国产亚洲精品久久久久婷婷瑜伽 | 久久成人免费网| 久久久成人精品| 国产一区二区三区无遮挡| 欧美一区在线直播| 久久精品成人欧美大片古装| 国产欧美一区二区白浆黑人| 亚洲欧美在线一区二区| 欧美一区二区三区四区高清| 国产精品久久久久国产a级| 亚洲少妇一区| 亚洲综合色自拍一区| 国产精品福利网站| 亚洲天堂av综合网| 午夜精品福利视频| 国产精品永久入口久久久| 亚洲午夜羞羞片| 亚洲欧美日韩中文视频| 国产精品视频免费观看| 亚洲免费在线播放| 久久激情五月丁香伊人| 国产一区二区三区四区三区四| 欧美在线高清视频| 久久一区中文字幕| 在线免费观看一区二区三区| 亚洲人成绝费网站色www| 欧美激情日韩| 日韩视频中文| 亚洲欧美日产图| 国产日韩免费| 亚洲黄色毛片| 欧美精品午夜| 亚洲天堂成人在线视频| 久久精品国产96久久久香蕉 | 亚洲电影成人| 日韩亚洲视频在线| 欧美日韩亚洲一区三区 | 欧美高清不卡| 99视频一区二区三区| 亚洲专区在线| 国产亚洲欧美日韩美女| 亚洲国产精品一区二区www| 欧美紧缚bdsm在线视频| 亚洲深夜av| 久久婷婷av| 亚洲日本成人女熟在线观看| 亚洲一区二区av电影| 国产视频欧美视频| 亚洲欧洲日韩在线| 欧美日韩精品高清| 亚洲综合日韩| 狂野欧美激情性xxxx欧美| 亚洲乱码视频| 久久精品夜色噜噜亚洲aⅴ| 亚洲精品久久视频| 午夜精品电影| 亚洲国产岛国毛片在线| 亚洲欧美在线aaa| 影音先锋欧美精品| 亚洲永久免费av| 精品91免费| 亚洲网站视频福利| 国产亚洲在线| 一区二区三区视频在线观看| 国产伦精品免费视频| 亚洲精品日日夜夜| 国产精品一二一区| 亚洲精品视频在线观看免费| 亚洲国产清纯| 久久国产天堂福利天堂| 欧美日韩国语| 久久大逼视频| 国产精品video| 亚洲精品乱码| 国产视频自拍一区| 一本久道久久综合婷婷鲸鱼| 国产一级久久| 亚洲视频精选| 一区二区在线不卡| 欧美亚洲专区| 日韩香蕉视频| 你懂的成人av| 欧美呦呦网站| 国产精品欧美一区二区三区奶水| 亚洲美女在线视频| 激情五月婷婷综合| 午夜日韩电影|