999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

便攜式單片機程序下載器設計

2020-10-26 09:40:30朱偉紅孫師賢馬英文賈建波韓耀圖
通信電源技術(shù) 2020年13期
關(guān)鍵詞:指令單片機程序

朱偉紅,孫師賢,馬英文,賈建波,韓耀圖

(1.中海油田服務股份有限公司,北京 101149;2.中海石油(中國)有限公司天津分公司,天津 300452)

0 引 言

定向鉆井是使井身沿著預先設定的方向和軌跡鉆達目的層的鉆井技術(shù)[1],而隨鉆測井系統(tǒng)是實現(xiàn)定向鉆井的關(guān)鍵技術(shù)[2]。中海油研發(fā)的隨鉆測井系統(tǒng)采用ADuC845型單片機采集井下的相關(guān)參數(shù)。

在實際使用中,為了完善設備功能,滿足用戶要求,需要不定期地對ADuC845程序進行更新。目前,對單片機程序進行更新,一般需要攜帶計算機到現(xiàn)場利用IAP軟件完成,并需要拆開設備箱體,露出電路板才能進行操作[3]。這樣不僅操作繁瑣,而且需要將隨鉆測井系統(tǒng)從井下取出,影響生產(chǎn)。為此,必須設計一種新方法,能在不攜帶笨重的計算機和不影響生產(chǎn)的情況下對ADuC845的程序進行更新。本文設計了一種基于485總線的便攜式單片機程序下載器,以解決上述問題。

1 系統(tǒng)總體方案設計

基于485總線的便攜式單片機程序下載器的組成如圖1所示,主要包括電源模塊、U盤、控制模塊、485總線以及電池等部分。

圖1 裝置組成框圖

為了滿足便攜式的要求,該裝置由鋰電池供電,通過電源模塊將鋰電池輸出的12 V電壓轉(zhuǎn)換為5 V電壓向控制模塊供電。利用計算機將ADuC845程序轉(zhuǎn)換為標準的Intel HEX文件保存在U盤中。控制模塊的485接口直接與隨鉆測井系統(tǒng)的485接口相連。該485接口在隨鉆測井系統(tǒng)中通過485/UART轉(zhuǎn)換模塊與ADuC845單片機相連。工作時,將U盤插入控制模塊的USB口,控制模塊讀取U盤中保存的HEX文件,按照規(guī)定的時序通過485總線傳輸給ADuC845單片機。

2 裝置的硬件電路

該裝置的硬件電路包括電源模塊和控制模塊兩部分。

2.1 電源模塊

為了滿足控制模塊供電和裝置長時間待機的要求,該裝置采用容量為10 Ah的12 V鋰電池供電。由于控制模塊需要5 V供電,因此選用電源模塊BSD12-12S05進行電壓轉(zhuǎn)換。該模塊具有寬電壓輸入特性,可在9~18 V輸入下正常工作,輸出電壓為5 V,功率為12 W,轉(zhuǎn)換效率為80%,輸出電壓精度達到±1%,紋波小于50 mV,并具有短路保護功能[4]。電路如圖2所示。

圖2 電源電路原理圖

2.2 控制模塊

為了縮短開發(fā)時間,提高工作可靠性,本系統(tǒng)直接選用英創(chuàng)信息技術(shù)有限公司生產(chǎn)的EM9170嵌入式開發(fā)板。EM9170是一款面向工業(yè)自動化領(lǐng)域的高性價比嵌入式主板,以FreeScale的iMX257為硬件核心,并帶有多種標準接口,如以太網(wǎng)接口、CAN總線接口、485接口、USB高速主控接口USBOTG接口、及GPIO[5]。該開發(fā)板的USB接口可直接連接U盤,485接口與隨鉆測井系統(tǒng)的485接口相連。此外,該開發(fā)板的GPIO0和GPIO1分別連接該裝置的啟動按鍵與停止按鍵;GPIO2、GPIO3、GPIO4分別連接該裝置的就緒指示燈、傳輸指示燈和故障指示燈。

3 系統(tǒng)的軟件實現(xiàn)

3.1 ADuC845的總線指令系統(tǒng)

正常情況下,利用計算機通過Analog Devices公司開發(fā)的WSD(Windows Serial Downloader)軟件將編寫好的HEX文件寫入ADuC845單片機[6]。時序和總線指令由WSD軟件保證,用戶無須關(guān)心。但是,本裝置沒有使用計算機,不能用WSD軟件,因此下載程序的時序和總線指令必須由控制模塊通過軟件編程實現(xiàn)。下面介紹ADuC845型單片機的總線指令系統(tǒng)。

3.1.1 總線指令的格式

為啟動ADuC845單片機的某項特定操作,由控制模塊向單片機發(fā)出一條總線指令,即一個幀序列。一條總線指令可以由一個命令幀(CF)組成,也可以由一個命令幀和多個數(shù)據(jù)幀(DF)組成,但總是以一個命令幀為起始幀。總線指令格式如圖3所示。

圖3 總線指令格式

總線指令系統(tǒng)中,CF為十六進制數(shù)據(jù),一個字節(jié);DF為十六進制數(shù),兩個字節(jié)。

總線應答指令也有兩種基本組成,分別為單DF形式和多DF形式,與總線指令類似。

3.1.2 主要總線指令

(1)切換進入Bootloader指令。單片機中的Bootloader程序通常含有通信端口初始化程序、監(jiān)控程序、更新服務程序和跳轉(zhuǎn)指令,用來判斷進行程序升級服務還是將控制權(quán)交給正常功能程序[7],因此ADuC845必須具有切換進入Bootloader的指令。

SET_BOOTLOADER指令負責控制程序由User Code切換到Bootloader程序,進入程序在線更新狀態(tài)。該指令應用在User Code狀態(tài)。

PUSHTOBOOTLOADER指令控制程序在不能正常由UserApp切換到Bootloader程序時使用。此指令需要在目標單片機啟動后3 s內(nèi)發(fā)送,確認回傳數(shù)據(jù)正確后,會強制目標單片機進入Bootloading狀態(tài)。

(2)切換進入User Code指令。固件寫入正確執(zhí)行命令后,發(fā)送切換進入User Code命令SWITCHTOUSERAPP,控制程序從UserApp程序入口,即0x0000開始執(zhí)行。

(3)握手命令。SHAKE_HAND命令為一般測試命令,通過該命令確定是否能夠與Bootloading下的單片機進行通信。該指令應用在Bootloading狀態(tài)。

(4)擦除命令。系統(tǒng)進入Bootloader模式,當正確接收擦除指令即ERASE指令后,將擦除ADuC845單片機的56 kB用戶應用程序區(qū),擦除完成后發(fā)出響應。該指令應用在Bootloading狀態(tài)。

(5)固件寫入指令。WFM固件寫入指令需要將標準的Intel HEX文件轉(zhuǎn)換成協(xié)議格式發(fā)送。每條命令一次發(fā)送256 B數(shù)據(jù)。該指令用在Bootloading狀態(tài)。

(6)通信測試指令。RST_ECHO通信測試指令,用于測試目標單片機在UserApp狀態(tài)下的通信質(zhì)量。發(fā)送此指令,回復正確,表明當前單片機工作于UserApp狀態(tài)。

3.1.3 Intel HEX文件格式簡介

Intel HEX文件是記錄文本行的ASCII文本文件。在Intel HEX文件中,每一行是一條HEX記錄,即由十六進制數(shù)組成的機器碼或者靜態(tài)數(shù)據(jù)[8]。一個Intel HEX文件可以包含多條十六進制記錄,每條記錄有5個區(qū),如下所示:

:AABBBBCC[DD…DD]EE

每個字符為一個十六進制數(shù)字,兩個字符是一個字節(jié),每組字符是一個區(qū),每個區(qū)至少由2個十六進制數(shù)組成,各區(qū)的含義如下:

:表示該行記錄的開始;AA表示本行包含的數(shù)據(jù)長度,即DD字節(jié)的個數(shù);BBBB表示數(shù)據(jù)存儲的起始地址;CC表示數(shù)據(jù)的類型,00表示數(shù)據(jù)記錄,01表示文件結(jié)束記錄,01表示擴展段地址記錄,04表示擴展線性地址記錄;DD表示數(shù)據(jù),每兩個字符表示一個字節(jié)數(shù)據(jù),字節(jié)數(shù)量與AA一致;EE表示校驗碼。

3.2 程序下載流程

利用計算機的編程軟件生成HEX文件存入U盤,將U盤插入控制模塊的USB口,控制模塊讀取HEX文件,再按照下列步驟對ADuC845進行程序更新。

第一,單片機加電后,首先判斷單片機是否進入UserApp狀態(tài),即發(fā)送RST_ECHO通信測試指令,判斷單片機是否回復正確。如果回復正確,表明單片機處于UserApp狀態(tài),再向單片機發(fā)送SET_BOOTLOADER指令,設置單片機處于Bootloading狀態(tài);如果回復錯誤,則單片機不處于UserApp狀態(tài),再重啟單片機,并在3 s內(nèi)發(fā)送強制切換到Bootloading狀態(tài)的指令,即PUSHTOBOOTLOADER指令。

第二,向單片機發(fā)送SHAKE_HAND握手指令,判斷能否與Bootloading狀態(tài)下的單片機通信,如果回復正確,執(zhí)行下一步;如果回復錯誤,再次發(fā)送握手指令,當次數(shù)超過3次,顯示通信錯誤標志,并重新利用PUSHTOBOOTLOADER指令將單片機設置為Bootloading狀態(tài)。

第三,向單片機發(fā)送ERASE擦除指令,擦除56 kB的用戶應用程序區(qū),如果回復正確,執(zhí)行下一步;如果回復錯誤,再次執(zhí)行ERASE指令,直至回復正確為止。

第四,向單片機發(fā)送WFM固件寫入指令。將HEX文件轉(zhuǎn)換為協(xié)議格式發(fā)送,每次發(fā)送256 B數(shù)據(jù),如果在寫入數(shù)據(jù)過程中,回復錯誤,重新執(zhí)行ERASE和WFM指令。如果回復錯誤次數(shù)超過2次,顯示下載錯誤標志,終止執(zhí)行。多次執(zhí)行WFM指令,直至程序下載完成為止,再執(zhí)行下一步。

第五,向單片機發(fā)送SWITCHTOUSERAPP指令,將單片機切換到User Code狀態(tài),如果回復正確,程序下載結(jié)束;如果回復錯誤,再次執(zhí)行SWITCHTOUSERAPP指令,直至回復正確為止。

程序下載流程圖如圖4所示。

圖4 程序下載流程圖

4 結(jié) 論

基于485總線的便攜式單片機程序下載器具有結(jié)構(gòu)簡單、操作方便、待機時間長以及可對單片機程序進行遠程更新等優(yōu)點。目前,該裝置已經(jīng)應用于中海油服的隨鉆測井系統(tǒng),并取得了良好的應用效果。

猜你喜歡
指令單片機程序
聽我指令:大催眠術(shù)
基于單片機的SPWM控制逆變器的設計與實現(xiàn)
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
ARINC661顯控指令快速驗證方法
LED照明產(chǎn)品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
創(chuàng)衛(wèi)暗訪程序有待改進
主站蜘蛛池模板: 丁香五月婷婷激情基地| 国产欧美在线视频免费| 福利视频一区| 午夜国产精品视频黄| 欧美成人二区| 久久精品国产免费观看频道| 亚洲中文字幕国产av| 中文字幕免费在线视频| 亚洲欧美日韩中文字幕在线| 日韩午夜伦| 亚洲经典在线中文字幕| 久久精品丝袜| 国产成人综合久久精品尤物| 欧洲精品视频在线观看| 国产精品人成在线播放| 欧美曰批视频免费播放免费| 亚洲国产日韩一区| 国产肉感大码AV无码| 午夜无码一区二区三区| 野花国产精品入口| 亚洲va在线∨a天堂va欧美va| 欧美精品不卡| 美女毛片在线| 青青草原国产免费av观看| 老司国产精品视频| 国产91小视频| 性视频一区| 国产靠逼视频| 欧美亚洲一二三区| 亚洲看片网| 国产成人精品亚洲日本对白优播| 人妻丰满熟妇啪啪| 精品视频在线一区| 麻豆国产精品一二三在线观看| 成人精品免费视频| 亚洲最猛黑人xxxx黑人猛交| 国产成人亚洲精品无码电影| 国产成人凹凸视频在线| 在线国产你懂的| 第一区免费在线观看| 久久精品波多野结衣| 婷婷五月在线| 国产成人免费高清AⅤ| 国产欧美视频综合二区| 色婷婷成人网| 久久综合五月婷婷| 在线观看无码a∨| 91精品啪在线观看国产60岁 | 欧美精品亚洲精品日韩专区| 5555国产在线观看| 视频一本大道香蕉久在线播放 | 色屁屁一区二区三区视频国产| 亚洲αv毛片| 国产成人区在线观看视频| 精品無碼一區在線觀看 | 九九热精品在线视频| 中文字幕啪啪| 国产熟女一级毛片| 亚洲美女久久| 亚洲精品第五页| 国产在线视频福利资源站| 日本不卡视频在线| 成人一区专区在线观看| 亚洲人成在线精品| 1级黄色毛片| 中文字幕在线日本| 亚洲综合色在线| 国内毛片视频| 亚洲欧美成aⅴ人在线观看| 国产精品免费入口视频| 91po国产在线精品免费观看| 国产鲁鲁视频在线观看| 高清免费毛片| 亚洲成人网在线观看| 中国美女**毛片录像在线| 18禁黄无遮挡网站| 亚洲成综合人影院在院播放| 久久国产成人精品国产成人亚洲| 成年A级毛片| 青青青国产精品国产精品美女| 日本国产精品一区久久久| 国产精品久久久久久搜索|