<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > ATMEGA128單片機的軟件遠程升級

          ATMEGA128單片機的軟件遠程升級

          作者: 時間:2013-12-28 來源:網(wǎng)絡(luò) 收藏

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

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

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

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

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

          ATMEGA128單片機的軟件遠程升級

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

            1 利用構(gòu)成的遠程升級系統(tǒng)

            1.1系統(tǒng)組成

            圖1給出了某城市地鐵調(diào)度指揮系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu).該系統(tǒng)的網(wǎng)絡(luò)通信采用輪詢方式.

          ATMEGA128單片機的軟件遠程升級

            該系統(tǒng)主要設(shè)備包括若干個基臺站、主控單元、基站控制中心、語音交換單元.

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

            1.2 系統(tǒng)軟件IAP升級

            在不影響整個系統(tǒng)正常運行情況下,為實現(xiàn)對系統(tǒng)某個節(jié)點的軟件升級,可將要升級的程序代碼通過寫碼軟件轉(zhuǎn)換為系統(tǒng)信令,以透明傳輸?shù)姆绞絺鬏敚熛螺d 到目標節(jié)點.本系統(tǒng)的信令格式采用表1所示的代碼幀格式.其中幀傳輸控制字節(jié)為5字節(jié),操作控制字節(jié)為4字節(jié),代碼數(shù)據(jù)為32字節(jié).

            表1 代碼幀格式

          目的地址源地址字節(jié)長度Y下載目標地址控制字RAMPZZHZL代碼數(shù)據(jù)

            為保證代碼傳輸?shù)臏蚀_性,本系統(tǒng)采用反饋比對的方式,以監(jiān)控終端向基臺站的代碼傳輸為例,代碼由監(jiān)控終端傳輸?shù)交_站,基臺站收到代碼后,再反饋回監(jiān)控終端.監(jiān)控終端將收到的代碼與發(fā)送的代碼作比較,比較結(jié)果一致時傳輸下一代碼幀,不一致時重復傳輸上一代碼幀.

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

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

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


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();