<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

          基于CAN總線連接的MEGA8遠(yuǎn)距離在線升級(jí)方案

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

            ……

            ld temp,y+

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

            ld temp,y+

            mov zh,temp

            ldi temp,(1

            rcall Do_SPM ; 執(zhí)行頁(yè)寫(xiě)入

            ……

          3、BOOT程序介紹及流程圖

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

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

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

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

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

          4、結(jié)束語(yǔ)

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


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

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();