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