<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

ATMEGA128單片機的軟件遠程升級

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

  閃速程序存儲器的編程方法常見(jiàn)的有以下幾種:

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

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

  (3)在運行中,應用程序控制下的應用在線(xiàn)編程IAPIn Application Programming ;IAP模式簡(jiǎn)單地說(shuō)就是在某一個(gè)section中運行程序,同時(shí)對另一個(gè)section進(jìn)行擦除、讀取、寫(xiě)入等操作.

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

ATMEGA128單片機的軟件遠程升級

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

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

  1.1系統組成

  圖1給出了某城市地鐵調度指揮系統的網(wǎng)絡(luò )結構.該系統的網(wǎng)絡(luò )通信采用輪詢(xún)方式.

ATMEGA128單片機的軟件遠程升級

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

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

  1.2 系統軟件IAP升級

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

  表1 代碼幀格式

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

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

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

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

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


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>