熟女俱乐部五十路二区av,又爽又黄禁片视频1000免费,国产卡一卡二卡三无线乱码新区,中文无码一区二区不卡αv,中文在线中文a

新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于CAN總線連接的MEGA8遠距離在線升級方案

基于CAN總線連接的MEGA8遠距離在線升級方案

作者: 時間:2012-08-04 來源:網(wǎng)絡(luò) 收藏

  ……

  ld temp,y+

  mov zl,temp ; Z指針地址賦值

  ld temp,y+

  mov zh,temp

  ldi temp,(1

  rcall Do_SPM ; 執(zhí)行頁寫入

  ……

3、BOOT程序介紹及流程圖

  Mega8單片機上電后設(shè)置冷啟動標志,而熱啟動入口則設(shè)置熱啟動標志。然后初始化堆棧、串口以及必要的I/O狀態(tài)等。初始化完成后,如果BOOT程序檢測到熱啟動標志則直接進入燒錄狀態(tài);如果為冷啟動標志則繼續(xù)檢測下載位是否允許(本設(shè)計通過PB0開關(guān)選擇),如為高電平則進入燒錄狀態(tài),如為低電平則進入用戶程序。

  程序在設(shè)計時提供了兩個入口,一個是系統(tǒng)復位時的冷啟動入口,另一個是用戶程序在運行時進入升級程序的熱啟動入口。BOOT程序主要包括燒錄子程序、串口發(fā)送、串口接收、引導主程序等。

  串口發(fā)送采用了查詢發(fā)送完成標志。這樣當該標志被設(shè)置時,證明串口的停止位已經(jīng)發(fā)送完成,這對于通訊非常有用。燒錄程序主要使用“SPM” 指令,該指令完成對MEGA8的燒錄等功能。而讀取MEGA8的指令則使用“LPM”。由于擦除,頁填充,寫入,讀出等基本命令單片機都已解釋完成,因此所有過程都可以由計算機端程序進行控制。

  程序開始時,計算機端發(fā)送命令,先對單片機的頁進行擦除,然后接收一幀數(shù)據(jù),接收完畢后執(zhí)行頁寫入命令,寫入完成再進行讀出進行校驗,如果校驗無誤再繼續(xù)寫入下一頁,直到所有頁都寫入完畢,即完成一次下載過程。如果傳輸或頁校驗出現(xiàn)錯誤,程序會連續(xù)進行5次測試,如再仍不成功,則認為本次下載失敗。主程序流程圖如圖3。

  MEGA8單片機的主程序通過CAN接口執(zhí)行計算機發(fā)送的命令,并且定義了一個更新代碼的特殊命令,當接收到該命令時,主程序首先關(guān)閉中斷,關(guān)閉看門狗,然后跳轉(zhuǎn)到BOOT的熱啟動入口,再執(zhí)行BOOT下載燒錄程序。下載完成后再直接跳轉(zhuǎn)到$0000地址進入用戶程序區(qū),這樣就完成了代碼的。為了保證該命令的可靠性,本程序設(shè)計時規(guī)定單片機必須在100ms內(nèi)同時接收到兩次該命令才認為正確,超過100ms則不予認可。

4、結(jié)束語

  由于采用了MEGA8單片機的BOOT功能,以及高速遠距離通信,同時抗干擾性強,使得遠距離,譬如通過以太網(wǎng)、無線等方式,成為了可能。這對于系統(tǒng)調(diào)試及以后的升級維護都提供了極大的便利,這也是今后單片機和發(fā)展的一個方向。由于該部分具有通用性,所以可很容易地移植到 AVR其它MEGA系列的設(shè)計方案中。


上一頁 1 2 3 下一頁

評論


相關(guān)推薦

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

關(guān)閉