摘要:在系統編程是一種有價值的功能,在無需拆解嵌入式系統替換存儲器的情況下,就可以對系統固件進行升級。Maxim大多數基于8051的微控制器都能夠通過廉價的RS-232串口和一些邏輯門由PC或便攜式電腦進行重新編程。啟動后,在系統編程特性自動對檢測到的波特率進行匹配,并開始執行命令驅動的、基于ROM的引導加載程序。基于PC的微控制器工具包軟件可以從Maxim免費獲得。
具有在系統編程能力的嵌入式設計使得普通產品能在出廠前才進行軟件定制。該特性允許在不拆解系統的情況下對現有應用進行升級,從而降低壽命周期成本。安全微控制器如DS5002FP和DS5250能應用這個特性向應用中加載用戶的專有軟件,并能夠自動加密保護,拒絕未授權的訪問。
大部分此類器件也支持在應用編程,允許器件在應用軟件的控制下修改程序存儲器。這種方式下,系統能夠在仍然履行其主要功能的情況下完成在線軟件升級。詳細情況在相關器件的數據手冊或用戶指南中給出。
此文檔是對相關器件的數據手冊以及使用指南中所提供信息的補充。閱讀此應用筆記時,請根據需要參考這些文檔。
表1. 激活引導加載程序
對不同的產品系列,調用引導加載程序的物理連接和方法略有不同,但是都包含相同的基本元件。如果連接到一臺PC上,需要一個如圖所示的RS-232到CMOS電平轉換器,來連接主機和目標微控制器間的通訊和控制信號。圖中所示的器件可以替換為任何兼容的RS-232轉換器。下列圖中使用微控制器的DTR信號作為加載/運行模式選擇信號。
一些設計使用了具有三態輸出的總線緩沖器。當DTR有效時(低電平),它使能打開緩沖器,并驅動用來激活引導加載程序的多個信號。這個總線緩沖器在原理圖中一般標成"HC/AC125",這是因為可以使用任何邏輯系列的相似器件,如74HC125,54HC125, 74AC125, 74LS125等。這些器件很常見,應該能夠從任何一家通用邏輯器件供應商買到,如Motorola, Fairchild Semiconductor, Toshiba, ST Microelectronics和許多其它供應商等。
其它器件用單個信號激活引導加載程序,因此不需要這個緩沖器。這種情況下,DTR信號可以直接連接到目標微控制器的激活引腳。
圖1. 物理連接, 基于DS89C430/DS89C450的設計方案
圖2. 物理連接, 基于DS5250和DS5001/DS5002FP的設計方案
圖3. 物理連接, 基于DS5000的設計方案
引導加載程序使用連接到XTAL1/XTAL2引腳上的時鐘源作為它的時間基準。如果使用晶振,它必須滿足器件數據手冊中列出的推薦指標(基頻模式下的諧振,并行AT型切片,負載電容量等)。由于引導加載程序進行自動波特率測量依賴于內部定時器,因此對與引導加載程序兼容的頻率范圍有一些限制。對于您用到的具體器件,其與引導加載程序兼容的時鐘頻率范圍請參考相關用戶指南。
一旦調用了引導加載程序并計算好波特率,器件將會發送一個提示信息來識別器件。然后器件將會顯示一個提示符并且等待命令。同樣,不同的產品系列其命令集不盡相同,但它們通常是單ASCII字符并且總是包括加載,校驗和擦除存儲器命令等。欲知命令列表請查詢具體器件的用戶指南。
簡單的引導加載程序接口允許使用幾種方法來實現PC機與目標微控制器間的通訊。最簡單的方法是使用Maxim的微控制器工具包(MTK)軟件。MTK是一種能用來與大部分Maxim微控制器的ROM/引導加載程序進行通訊的PC應用程序。它具有高度前端特征,簡化了目標配置,上傳、下載代碼以及特殊功能配置等任務操作。
主窗口允許用戶直接向目標微控制器輸入命令。目標加載程序支持的許多命令都可以由MTK的主窗口直接輸入。對于需要特殊通訊協議的文件相關命令,也提供了特殊支持。
圖4. 微控制器工具包
如果是基于DS5000FP, DS5001FP, DS5002FP或DS80C400等目標微控制器,也可以使用簡單的終端仿真器,如Procomm Plus或超級終端來進行通訊。Maxim其它基于8051的微控制器使用一種交互式加載協議,這種協議需要協議識別類應用。
下載最新版本的微控制器開發工具編程軟件。
具有在系統編程能力的嵌入式設計使得普通產品能在出廠前才進行軟件定制。該特性允許在不拆解系統的情況下對現有應用進行升級,從而降低壽命周期成本。安全微控制器如DS5002FP和DS5250能應用這個特性向應用中加載用戶的專有軟件,并能夠自動加密保護,拒絕未授權的訪問。
介紹
Maxim基于8051的微控制器類產品中,許多型號都支持通過通用RS-232串口實現在系統編程。在系統編程意味著程序和/或數據存儲器能夠在不用拆解嵌入式系統來替換存儲器的情況下進行修改。這種特性強調易使用性和多功能性,在所有嵌入式設計中增加了許多非常重要的特性:- 允許硬件在工廠組裝和存放,而在出廠前才進行軟件定制,
- 需要進行軟件升級時,消除了在現場拆解器件的高昂代價,
- 允許對位置不可達的應用進行軟件升級,
- 訪問專用配置與狀態寄存器,以及
- 使用存儲器加密的方式把軟件加載到安全微控制器。
安全微控制器:DS2250, DS2250T, DS2251T, DS2252T, DS5000, DS5000T通過將器件的一個或多個外部引腳設置為某特定狀態來激活引導加載程序。器件啟動后,開始執行位于器件內部專用ROM的加載程序。一旦收到一個回車符號,串口就執行自動波特率功能并與主機的波特率同步。主機(通常為PC)和目標板之間的通訊是通過大多數PC上常見的通用RS-232接口完成的,而不需要昂貴的專用硬件。引導加載程序使用的協議簡單,由一個或多個帶有相關狀態消息和文件傳送程序的ASCII字符命令組成。可以使用Maxim免費提供的微控制器工具包通訊軟件或任何串口通訊工具軟件來完成通訊。
安全微處理器:DS5000FP, DS5001FP, DS5002FP, DS5002FPM
高速安全微處理器:DS5250
網絡微處理器:DS80C400
超高速閃存微控制器:DS89C430, DS89C450
大部分此類器件也支持在應用編程,允許器件在應用軟件的控制下修改程序存儲器。這種方式下,系統能夠在仍然履行其主要功能的情況下完成在線軟件升級。詳細情況在相關器件的數據手冊或用戶指南中給出。
此文檔是對相關器件的數據手冊以及使用指南中所提供信息的補充。閱讀此應用筆記時,請根據需要參考這些文檔。
物理連接
引導加載程序是通過將器件的一個或多個外部引腳置為如表1所示的特定狀態來激活的。此時終止執行應用軟件,并且將程序控制權交給內部引導ROM。一定要查閱正確的勘誤表,以確定是否有與激活引導加載程序相關的任何勘誤信息。表1. 激活引導加載程序
DEVICE | RST | PSEN | EA | PROG | P1.7 | P2.7 AND P2.6 |
DS2250(T) | 1 | 0 | N/A | N/A | N/A | Unconnected or logic 1 |
DS5000(T) | ||||||
DS5000FP | ||||||
DS2251T | N/A | N/A | N/A | 0 | N/A | Unconnected or logic 1 |
DS2252T | ||||||
DS5001FP | ||||||
DS5002FP/FPM | ||||||
DS5250 | ||||||
DS80C400 | N/A | N/A | N/A | N/A | 1 | N/A |
DS89C430 | 1 | 0 | 0 | N/A | N/A | N/A |
DS89C450 |
對不同的產品系列,調用引導加載程序的物理連接和方法略有不同,但是都包含相同的基本元件。如果連接到一臺PC上,需要一個如圖所示的RS-232到CMOS電平轉換器,來連接主機和目標微控制器間的通訊和控制信號。圖中所示的器件可以替換為任何兼容的RS-232轉換器。下列圖中使用微控制器的DTR信號作為加載/運行模式選擇信號。
一些設計使用了具有三態輸出的總線緩沖器。當DTR有效時(低電平),它使能打開緩沖器,并驅動用來激活引導加載程序的多個信號。這個總線緩沖器在原理圖中一般標成"HC/AC125",這是因為可以使用任何邏輯系列的相似器件,如74HC125,54HC125, 74AC125, 74LS125等。這些器件很常見,應該能夠從任何一家通用邏輯器件供應商買到,如Motorola, Fairchild Semiconductor, Toshiba, ST Microelectronics和許多其它供應商等。
其它器件用單個信號激活引導加載程序,因此不需要這個緩沖器。這種情況下,DTR信號可以直接連接到目標微控制器的激活引腳。
圖1. 物理連接, 基于DS89C430/DS89C450的設計方案
圖2. 物理連接, 基于DS5250和DS5001/DS5002FP的設計方案
圖3. 物理連接, 基于DS5000的設計方案
引導加載程序使用連接到XTAL1/XTAL2引腳上的時鐘源作為它的時間基準。如果使用晶振,它必須滿足器件數據手冊中列出的推薦指標(基頻模式下的諧振,并行AT型切片,負載電容量等)。由于引導加載程序進行自動波特率測量依賴于內部定時器,因此對與引導加載程序兼容的頻率范圍有一些限制。對于您用到的具體器件,其與引導加載程序兼容的時鐘頻率范圍請參考相關用戶指南。
軟件
引導加載程序激活后,微控制器將會查詢串行端口,尋找一個8數據位,無奇偶校驗,一個停止位(8-N-1)格式的回車(0Dh)字符。引導加載程序軟件測量這個字符中高低電平的時間長度來確定主機系統的波特率。這種自動波特率特性允許引導加載程序和許多主機系統進行通訊,而不用限制固定的波特率。一旦調用了引導加載程序并計算好波特率,器件將會發送一個提示信息來識別器件。然后器件將會顯示一個提示符并且等待命令。同樣,不同的產品系列其命令集不盡相同,但它們通常是單ASCII字符并且總是包括加載,校驗和擦除存儲器命令等。欲知命令列表請查詢具體器件的用戶指南。
簡單的引導加載程序接口允許使用幾種方法來實現PC機與目標微控制器間的通訊。最簡單的方法是使用Maxim的微控制器工具包(MTK)軟件。MTK是一種能用來與大部分Maxim微控制器的ROM/引導加載程序進行通訊的PC應用程序。它具有高度前端特征,簡化了目標配置,上傳、下載代碼以及特殊功能配置等任務操作。
主窗口允許用戶直接向目標微控制器輸入命令。目標加載程序支持的許多命令都可以由MTK的主窗口直接輸入。對于需要特殊通訊協議的文件相關命令,也提供了特殊支持。
圖4. 微控制器工具包
如果是基于DS5000FP, DS5001FP, DS5002FP或DS80C400等目標微控制器,也可以使用簡單的終端仿真器,如Procomm Plus或超級終端來進行通訊。Maxim其它基于8051的微控制器使用一種交互式加載協議,這種協議需要協議識別類應用。
調試通訊問題
以下是通過引導加載程序和微控制器通訊時所遇到的常見問題列表。錯誤時鐘頻率
如果器件工作在錯誤的時鐘頻率下,引導加載程序可能不會完成自動波特率功能。核對用戶指南選擇所支持的頻率。如果懷疑問題是由時鐘頻率引起的,強烈推薦使用11.0592MHz的晶振調試任何引導加載程序問題。這是一個非常標準的微控制器工作頻率,能夠生成大部分標準波特率。其它應用干擾COM端口
后臺應用程序可能有意或無意地干擾所選擇的PC機COM端口。檢查任務管理器以查找可能的沖突源。PC的波特率相對于所選擇的工作頻率過快
在較低的工作頻率下(約低于5MHz)器件可能不能和高波特率進行自動波特率匹配,也可能在處理大文件時導致緩沖器溢出。降低波特率并重試。微控制器不工作
很可能觀察到的故障不是和引導加載程序有關,而是和微控制器自身有關。以下是排除系統級故障的簡短診斷列表。- 器件的所有電源引腳是否都提供了正確的電壓? 為了讀數精確,要確保探測微控制器的實際引腳而不是與之相連的電路板上的引線。
- /EA引腳保持低電平時,地址引腳是否跳變?許多器件在/EA置低時,會將器件置于外部訪問模式,強迫器件從外部總線上獲取指令。雖然不會立刻證明器件是否產生正確的地址,但是地址總線的變化表明微控制器正處于工作狀態。
- 某些器件的ALE引腳在缺省條件下是來回切換的。是切換的嗎?它和預期的頻率相匹配嗎?對于大多數器件,ALE信號會以振蕩器頻率的某個分頻進行振蕩。
- 器件是否有足夠的去耦電容?大部分Maxim的微控制器工作在比傳統對應器件更高的內部時鐘速率上。直接替換設計或升級可能會要求額外的電容,以實現性能提高。
微控制器工具包版本過期
您是否在使用最新版本的微控制器工具包軟件?下載最新版本的微控制器開發工具編程軟件。
評論
查看更多