新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ATMEGA128單片機的軟件遠程升級

        ATMEGA128單片機的軟件遠程升級

        作者: 時間:2013-12-28 來源:網絡 收藏

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

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

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

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

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

        ATMEGA128單片機的軟件遠程升級

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

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

          1.1系統組成

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

        ATMEGA128單片機的軟件遠程升級

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

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

          1.2 系統軟件IAP升級

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

          表1 代碼幀格式

        目的地址源地址字節長度Y下載目標地址控制字RAMPZZHZL代碼數據

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

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

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

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


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 鄢陵县| 方正县| 定远县| 电白县| 襄城县| 峨边| 龙南县| 互助| 高邑县| 响水县| 万年县| 光山县| 封开县| 利川市| 永宁县| 石泉县| 扶风县| 堆龙德庆县| 齐齐哈尔市| 多伦县| 饶河县| 清河县| 阿克陶县| 宜良县| 南丹县| 轮台县| 大悟县| 忻城县| 建湖县| 陆川县| 峨眉山市| 长沙市| 潼南县| 和平县| 湖口县| 左权县| 古浪县| 扬州市| 杭州市| 道孚县| 平利县|