《電子技術應用》
您所在的位置:首頁 > 顯示光電 > 設計應用 > 多回路無線照明控制器MCU脫機下載器的設計與實現
多回路無線照明控制器MCU脫機下載器的設計與實現
劉雪蘭1, 田宏偉2
1.江蘇農牧科技職業學院 信息工程系,江蘇 泰州 225300;2.蘇州大學 應用技術學院,江蘇 蘇州 215325
摘要: 目前MCU的下載器以在線下載器為主,在室外環境下攜帶不便,便攜式的脫機下載器比較缺乏且價格昂貴,因此根據多回路無線照明控制器實際需求設計了針對AW系列MCU的便攜式脫機下載器。通過對HCS08內核CPU及背景調試控制器的深入理解,設計了使用SD卡和EEPROM雙重存儲器的下載器硬件和軟件,精心設計了能保證程序下載可靠性的軟件。該下載器已在實際項目中應用,運行穩定,效果較好。
Abstract:
Key words :

  劉雪蘭1, 田宏偉2

  (1.江蘇農牧科技職業學院 信息工程系,江蘇 泰州 225300;2.蘇州大學 應用技術學院,江蘇 蘇州 215325)

       摘要:目前MCU的下載器以在線下載器為主,在室外環境下攜帶不便,便攜式的脫機下載器比較缺乏且價格昂貴,因此根據多回路無線照明控制器實際需求設計了針對AW系列MCU的便攜式脫機下載器。通過對HCS08內核CPU及背景調試控制器的深入理解,設計了使用SD卡和EEPROM雙重存儲器的下載器硬件和軟件,精心設計了能保證程序下載可靠性的軟件。該下載器已在實際項目中應用,運行穩定,效果較好。

  關鍵詞MCU下載器; 背景調試技術; 脫機下載; 控制器

  中圖分類號:TP393文獻標識碼:ADOI: 10.19358/j.issn.1674-7720.2016.24.028

  引用格式:劉雪蘭, 田宏偉. 多回路無線照明控制器MCU脫機下載器的設計與實現[J].微型機與應用,2016,35(24):98-100.

0引言

  嵌入式產品中MCU的程序下載是指將固件程序下載到目標芯片中,同時提供對目標芯片Flash的擦除和校驗等功能的過程。目前針對飛思卡爾MCU的程序下載器一般以在線編程為主,常用的有P&E公司、飛思卡爾公司等生產的調試器,這些調試器功能復雜、價格昂貴,就脫機下載器而言目前僅P&E公司提供一款Cyclone脫機下載器,價格更高。

  AW系列MCU是飛思卡爾半導體公司推出的針對電機控制、自動化控制以及汽車應用等場合的工業級MCU,外圍模塊豐富,存儲器容量大,且抗干擾能力強,因此選擇其中的MC9S08AW60作為多回路無線照明控制器的核心MCU。實際運行中,由于用戶功能需求的變化,需要到現場對MCU進行程序升級,但現場下載程序必須攜帶筆記本電腦和在線下載器才能進行,攜帶不便。

  本文在分析了HCS08系列CPU內核基礎上,設計了BDM調試器硬件電路,設計了多回路無線照明控制器MCU便攜式脫機下載器,同時給出在下載器軟件方面保證整個下載過程可靠性所采取的措施。

1設計思路

  便攜式下載器使用SD卡作為待燒寫的十六進制目標文件的存儲載體,帶有液晶顯示功能,通過按鍵選擇MCU的型號及目標文件,選定后對目標MCU執行程序燒寫操作,下載器使用9 V鎳氫充電電池作為供電電源,外部的EEPROM用來存儲配置參數,同時為了可靠起見,EEPROM還用來存儲待燒寫的目標文件,下載器的模塊構成如圖1所示。  

001.jpg

  便攜式下載器的設計需要深入理解HCS08內核、背景調試控制器模塊以及目標文件格式的解析等。

  1.1S19記錄文件

  S19記錄文件[1]是飛思卡爾HC08、HCS08、HCS12系列微控制器的機器碼文件,是使用字符記錄的具有固定格式的目標代碼文件,S19文件中每條記錄占用1行,每行由5部分數據段組成,其數據段定義如表1所示。

003.jpg

  1.2背景調試模式BDM

  背景調試模式[2]BDM(Background Debug Mode)是由飛思卡爾半導體公司推出的單線調試方式,是S08、S12及Coldfire系列MCU支持的調試方式。這些芯片內部都具有背景調試控制器(Background Debug Controller,BDC)[3],負責接收和解析下載器發送的命令,通過操作該控制器,開發人員可以實現底層調試、Flash擦除和編程、加密處理等功能。

  BDM接口為單線接口,使用的通信引腳為BKGD,其他的為2個供電引腳以及復位引腳RESET,下載器為雙排6芯接口,占用空間小,方便制作。

2 載器硬件設計

  便攜式下載器以AW60為主控MCU,下載器硬件設計圍繞功能需求進行,包括BDM接口模塊、液晶顯示模塊、按鍵輸入模塊、使用SPI接口通信的SD卡模塊和EEPROM模塊等,此處主要介紹BDM接口電路,電路示意如圖2所示。

002.jpg

  主控芯片輸出信號與目標MCU之間接入三態緩沖器74HC125,在保證信號的驅動能力的同時可以適應目標芯片3.3 V或者5 V的信號電壓[4]。從圖2中可以看出,需要向目標MCU發送BKGD數據時,下載器BKGD_DRV首先輸出低電平信號,75HC125-3由高阻態轉換為工作狀態,此時即可通過BKGD_OUT引腳輸出0或1的信號,目標MCU的BKGD引腳即接收該信號,其他引腳的工作方式類似。

  需要注意的是,圖2中BKGD_IN引腳對應的是MCU的兩個引腳PTC6和PTF0,而且在軟件中將PTF0配置為定時器1通道2的輸入捕捉引腳,這么做并不是為了增加驅動能力,而是為了配合BDM指令集提供的一條用于解決下載器與目標MCU速率不匹配的指令——SYNC指令。在實現SYNC指令功能時,PTF0處于輸入捕捉的工作模式,用于捕捉目標MCU發送的電平跳變信號,通過測量目標MCU發送的128個低電平周期從而計算出該芯片BDM控制器的運行頻率,實現自適應的通信。

3下載器軟件設計要點

  BDM通信是單線通信,其最基本的底層操作是讀/寫一個數據位的操作,而對應的指令集的基本單位為1 B,因此軟件設計的要點就是深入了解BDM指令以及編寫穩定可靠的讀/寫字節數據函數,同時為提高下載器下載的可靠性給出了三種措施。

  3.1BDM指令介紹

  HCS08內核的BDM指令分為兩類[5]:一類是在任何運行模式下都可以執行的指令,用于對存儲器的讀寫訪問及設置斷點等功能,稱為硬指令,硬指令不影響CPU運行。另一類指令稱為軟指令,需要在BDM模式下由CPU執行(用戶程序無法運行),固件指令主要提供對CPU內部寄存器的讀取和修改操作。

004.jpg

  3.2讀寫匯編子程序

  下載器主控芯片第一步操作是測量目標MCU的頻率,該操作是通過發送長度足夠的低電平來同步請求SYNC指令,主控芯片通過測量目標MCU發送的128個低電平周期所使用的時間,從而換算出目標MCU的BDM控制器的工作頻率,此處用到的便是PTF0作為輸入捕捉用來計算兩次跳變間用時的功能[6]。

  在此基礎上,接下來就是比較關鍵的讀/寫字節子程序的實現,為了保證通信的時序完全按照BDM的要求,該子程序必須使用匯編語言編寫,限于篇幅不再列出具體匯編程序,程序設計時需要仔細計算出每個語句及循環操作所占用的周期,發送數據的過程及占用周期如下:

  (1)主控芯片寫位0到目標芯片BKGD引腳的操作:拉低目標芯片的BKGD引腳不少于12個時鐘周期,目標芯片在檢測到低電平后的第10個周期對BKGD進行采樣,讀入該位。

  (2)主控芯片寫位1的操作:拉低目標芯片BKGD引腳2~4個時鐘周期后釋放BKGD端,使之為高電平,目標MCU在探測到低電平以后的第10個周期對BKGD進行采樣,讀入該位。

  3.3程序下載的可靠性

  對于下載器而言,下載的完整性和可靠性是第一位的,脫機下載器在軟件方面做了以下幾個方面的工作:

  (1)程序下載回滾功能:為防止用戶下載程序后發現下載的代碼文件有誤,但目標MCU已被擦除無法恢復原有程序,在下載器的軟件中加入了一個操作,即在燒寫目標芯片前首先將目標MCU中的程序讀出,程序讀出后,存儲在下載器外置的EEPROM中,若用戶選擇程序回滾,則下載器軟件重新讀入之前讀出的目標文件,并進行回滾編程。

  EEPROM選用容量為128 KB的25LC1024,內部劃分為三個區域,分別用來存儲配置參數、目標MCU內部原有固件程序以及待燒寫的目標文件。

  (2)防SD卡故障功能:為防止在下載過程中出現SD卡被拔出等誤操作引起的無法讀取目標文件下載的錯誤,下載器軟件首先把待燒寫的目標文件S19存入EEPROM中,在對拷貝到EEPROM的目標文件進行重新校驗后才對目標MCU進行擦除和編程操作。

  (3)程序下載校驗功能:目標芯片燒寫成功后,偶爾也會遇到運行不正常的情況,而且可能很難被發現,因此程序下載完畢后必須進行程序校驗操作。具體過程是讀出下載后芯片的程序,并按字節與存儲在EEPROM中的S19文件進行對比,若出現不一致則提示用戶校驗錯誤,需要重新下載。

4結論

  本文針對飛思卡爾下載器以在線編程為主,市場中缺乏MCU脫機下載器的問題,在深入理解HCS08型CPU內核中BDC模塊的功能、指令的基礎上,設計了針對多回路無線照明控制器MCU的脫機下載器,并成功用于實際產品的程序下載中。通過進一步的改進,可以適應更多型號的HCS08系列MCU的芯片編程。

參考文獻

  [1] 王超藝,王宜懷.飛思卡爾S08系列機器碼文件下載軟件的開發[J].計算機應用與軟件,2011,28(12):256258.

  [2] Freescale. HCS08 Family Reference Manual Rev.2[Z].2007.

  [3] Freescale. Introduction to HCS08 Background Debug Mode[Z]. 2006.

  [4] 徐清,王宜懷.嵌入式微控制器MC68HC912B32背景調試模式設計與實現[J].電子技術應用,2006,32(6):6164.

  [5] 王宜懷,張書奎,王林.嵌入式技術基礎與實踐(第2版)[M].北京:清華大學出版社,2011.

  [6] 邵貝貝.單片機嵌入式應用的在線開發方法[M].北京:清華大學出版社,2004.


此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 99精品在线观看视频 | 成人国产精品高清在线观看 | 日韩免费视频在线观看 | 婷婷成人丁香五月综合激情 | 最近最好的中文字幕2019免费 | 伊人中文| 情人边吃奶边做好爽嗷嗷叫 | 嗯啊视频在线 | 操极品 | 亚洲色图图片 | 一区二区三区四区在线视频 | 国产精品麻豆a啊在线观看 国产精品麻豆高清在线观看 | 老司机午夜在线视频免费观 | 射狠狠| 午夜精品视频在线观看 | 国产欧美专区在线观看 | 黄色影视在线 | 亚洲成色在线综合网站 | 91在线免费视频 | 日日干综合 | 免费在线看黄色片 | 夜色爽爽| 日本羞羞无遮挡免费漫画 | 日韩黄色一级大片 | 性色va| 不卡三级 | 久操视频免费看 | 在线观看成人网 | 欧美13一14周岁a在线播放 | aaa国产| 色美女影院 | 欧美精品一卡二卡 | 国内精品免费视频自在线 | 日一区二区 | 8x成人永久在线观看视频 | 黄色短视屏 | 91亚洲免费视频 | 国产一区亚洲一区 | 91视频免费网站 | 国产成人精品免费视频大全软件 | 亚洲欧美日韩高清 |