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

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

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

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

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

0 引 言

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

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

1 系統總體方案設計

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

圖1 裝置組成框圖

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

2 裝置的硬件電路

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

2.1 電源模塊

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

圖2 電源電路原理圖

2.2 控制模塊

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

3 系統的軟件實現

3.1 ADuC845的總線指令系統

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

3.1.1 總線指令的格式

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

圖3 總線指令格式

總線指令系統中,CF為十六進制數據,一個字節;DF為十六進制數,兩個字節。

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

3.1.2 主要總線指令

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

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

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

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

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

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

(5)固件寫入指令。WFM固件寫入指令需要將標準的Intel HEX文件轉換成協議格式發送。每條命令一次發送256 B數據。該指令用在Bootloading狀態。

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

3.1.3 Intel HEX文件格式簡介

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

:AABBBBCC[DD…DD]EE

每個字符為一個十六進制數字,兩個字符是一個字節,每組字符是一個區,每個區至少由2個十六進制數組成,各區的含義如下:

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

3.2 程序下載流程

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

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

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

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

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

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

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

圖4 程序下載流程圖

4 結 論

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

猜你喜歡
指令單片機程序
聽我指令:大催眠術
基于單片機的SPWM控制逆變器的設計與實現
電子制作(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顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
主站蜘蛛池模板: 精品国产www| 欧美激情综合| 91年精品国产福利线观看久久| www亚洲天堂| 亚洲码一区二区三区| 精品国产免费观看一区| 国产情精品嫩草影院88av| 中文字幕乱妇无码AV在线| 久久99热这里只有精品免费看| 永久免费AⅤ无码网站在线观看| 99久久人妻精品免费二区| 91国内在线观看| 国产精品免费电影| 欧美激情视频二区三区| 国产精品福利在线观看无码卡| 国产免费观看av大片的网站| 91娇喘视频| 成年人国产网站| 国产成+人+综合+亚洲欧美| 国产91高清视频| 午夜影院a级片| 人妻21p大胆| 国产SUV精品一区二区| 亚卅精品无码久久毛片乌克兰| 91国内外精品自在线播放| 国产喷水视频| 日本AⅤ精品一区二区三区日| 成色7777精品在线| 精品国产网| 国产人前露出系列视频| 国产在线视频自拍| 波多野结衣在线se| 中文字幕人妻av一区二区| 国产成人高清精品免费5388| 97国产精品视频人人做人人爱| 久久精品丝袜| 亚洲日韩高清在线亚洲专区| 精品综合久久久久久97| 日本高清免费不卡视频| 国产麻豆福利av在线播放 | 亚洲第一区在线| 美女内射视频WWW网站午夜 | 伊人色婷婷| 91久草视频| 亚洲男人的天堂在线观看| www.99在线观看| 强奷白丝美女在线观看| 中文字幕无码中文字幕有码在线| 国产自无码视频在线观看| 国产黄在线观看| 国产一区二区丝袜高跟鞋| 孕妇高潮太爽了在线观看免费| 夜精品a一区二区三区| 亚洲一区精品视频在线| 性做久久久久久久免费看| 国产精品久久久久久搜索| 91在线激情在线观看| 亚洲天堂区| 午夜精品一区二区蜜桃| 亚洲欧洲日产国产无码AV| 97se亚洲综合在线| 国产在线精品网址你懂的| 国内精品视频| 亚洲欧美综合在线观看| 99这里只有精品免费视频| 青草国产在线视频| 国产亚洲精品yxsp| 国产成人综合日韩精品无码首页 | 97狠狠操| 色婷婷综合激情视频免费看| 2020国产免费久久精品99| 片在线无码观看| 欧美国产日韩在线| 欧美a√在线| 午夜福利亚洲精品| 成人精品在线观看| 久久免费视频6| 成人av手机在线观看| 亚洲女同一区二区| 久久婷婷色综合老司机| 青青草国产在线视频| 天天综合天天综合|