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