基于CAN總線(xiàn)連接的MEGA8遠距離在線(xiàn)升級方案
1、系統總體設計方案
1.1 系統的拓撲結構
CAN(Controller Area Network)即控制器局域網(wǎng),是目前廣泛應該的總路線(xiàn)之一。CAN總線(xiàn)通信距離限制小,它的直接通信距離最大可達10km,最高通信速率可以達1Mb/s(此時(shí)距離最長(cháng)為40m),節點(diǎn)數可多達110個(gè)。因此它特別適合于工業(yè)遠程過(guò)程監控設備的互聯(lián)和電網(wǎng)絡(luò )設備的調試和維護?;?a class="contentlabel" href="http://dyxdggzs.com/news/listbylabel/label/CAN總線(xiàn)">CAN總線(xiàn)的分布式控制系統的一般組成模式如圖1所示。上位機PC機通過(guò)RS-232連接到總線(xiàn)上某一智能節點(diǎn)??梢詫Π惭b在現場(chǎng)某些節點(diǎn)的程序進(jìn)行遠距離在線(xiàn)升級和改變某些功能,因此利用CAN總線(xiàn)進(jìn)行單片機的在線(xiàn)編程就顯得非常必要。
根據圖1所示的CAN總線(xiàn)分布式系統的結構,在線(xiàn)編程采用主從結構。智能節點(diǎn)1為主節點(diǎn),其它節點(diǎn)為從節點(diǎn)。節點(diǎn)采用ATMEL公司推出的AVR系列單片機MEGA8,內含8K FLASH程序存儲器,1K的內部SRAM,512字節的內部EEPROM。為了便于升級,除了提供ISP即在線(xiàn)編程功能(In System Programming)以外,還提供了BOOT引導功能,為實(shí)現IAP即在應用中編程(In Application Programming)為系統升級提供了可能。
1、2 節點(diǎn)升級過(guò)程
主節點(diǎn)在編程監控模式下,接收PC機發(fā)送的“編程”命令,若編程節點(diǎn)為主節點(diǎn),則程序可以通過(guò)RS-232下載到主節點(diǎn),主節點(diǎn)接收編程數據,完成 FLASH的在線(xiàn)編程,此時(shí),從節點(diǎn)分別執行各自缺省的應用程序。若編程節點(diǎn)為從節點(diǎn),則主節點(diǎn)就通過(guò)CAN總線(xiàn)進(jìn)行廣播,全部從節點(diǎn)監控包括被選擇節點(diǎn) ID號在內的“編程初始信息”,并與各自的節點(diǎn)ID進(jìn)行比較,被選擇的從節點(diǎn)與主節點(diǎn)和PC機建立編程通信連接,其它從節點(diǎn)繼續運行其缺省應用程序,從而實(shí)現了在線(xiàn)升級功能??梢?jiàn),在從節點(diǎn)編程模式下,主節點(diǎn)在PC機的RS-232總線(xiàn)與從節點(diǎn)的CAN總線(xiàn)之起著(zhù)路由器的作用。
評論