新聞中心

Maxim表計IC編程

作者: 時間:2013-07-22 來源:網(wǎng)絡(luò) 收藏

摘要:這篇文檔介紹了在原型設(shè)計以及量產(chǎn)階段對Maxim進(jìn)行編程的工具、流程及注意事項。

本文引用地址:http://butianyuan.cn/article/258557.htm

本文介紹了對Maxim中flash存儲器進(jìn)行編程的接口、工具、注意事項及處理流程,其中包括/H、71M6513/71M6513H、71M6531D/F、71M6532D/F、71M6533/G/H、71M6534/H、71M6541D/F/G、71M6542F/G、71M6543F/H和71M6545/H。

另外,這里推薦的電表板設(shè)計程序能夠在任何場合擦除和編程。

編程工具

最簡單的辦法是使用現(xiàn)有的編程工具,目前這些工具有:

TFP2 flash編程器

可以通過Digi-Key、Mouser等代理商購買TFP2,可以在目標(biāo)板上對目標(biāo)IC進(jìn)行編程。手動操作編程(按一次鍵啟動一次編程過程),也能夠由“自動測試設(shè)備(ATE)”控制(注:TFP2提供一個ATE接口,可以連接到外部“自動測試設(shè)備”)。可同時使用幾個TFP2,以提高生產(chǎn)效率。

首先通過計算機(jī)的超級終端(或其它終端)將目標(biāo)代碼下載到TFP2,隨后即可單獨操作TFP2對目標(biāo)板上目標(biāo)IC的現(xiàn)場編程。撰寫這篇文檔時,TFP2的最新固件版本是V1.53。

連接目標(biāo)板的電纜可以是帶有0.1英寸間距接頭的絞合電纜。另外,TFP2還提供與ADM仿真器兼容的小間距TYCO/AMP 10x2 接頭,該接頭在引腳2定義了一個ICE_E信號(71M653xIC在仿真時將使用這個信號)。

使用一個TFP2和一個自帶電源的目標(biāo)板即可實現(xiàn)簡單編程,詳情請見本文檔“硬件調(diào)節(jié)要求” 部分。

注意:TFP2要求下載的hex文件的“記錄”保持遞增順序,因此,Maxim提供了一個應(yīng)用程序(CHKSUM.EXE)來處理由keil編譯器產(chǎn)生的inter hex文件,供TFP2使用。這個應(yīng)用程序隨TFP2提供。

ICE(Signum仿真器ADM51)

ADM51可向Simgum系統(tǒng)公司購買,主要用于在線仿真,即提供一套開發(fā)工具。但也可以用于小批量的flash編程。

第三方編程器

BPM Microsystems公司出售并提供帶操作按鈕及饋線的單片、多片、大批量編程器,并負(fù)責(zé)技術(shù)支持。

不再支持的編程工具

請注意下列編程工具已經(jīng)停止使用且不再提供支持:

  • TFP1 – 是TFP2的前身,允許在系統(tǒng)編程。TFP2已經(jīng)覆蓋了TFP1的所有功能。
  • FDBM – 用于在系統(tǒng)編程的單板,需要一個專用的Windows PC圖形用戶界面(GUI)與之配合。
  • TGP1 – 已經(jīng)由上述第三方編程器制造商替代。

硬件編程接口

71M65xx系列IC通過ICE接口編程,表1列出了在DUT和flash編程器之間的通信信號。ICE接口引腳的定義請詳見各自的數(shù)據(jù)手冊。

表1. Flash接口信號

信號

方向

功能

E_TCLK

從DUT輸出

時鐘信號(5MHz)

E_RXTX

雙向

數(shù)據(jù)輸入/輸出

E_RST

雙向

Flash編程器復(fù)位(低有效)

ICE_E

輸入到DUT

使能ICE接口(71M653x)

*使能編程信號時,E_RST僅由編程器驅(qū)動。

**有其它時間,編程器必須釋放E_RST信號。

***編程協(xié)議由Signum System公司所有。

必要的硬件調(diào)整

除了建立IC電源和地線連接外,必須認(rèn)真對待下列IC管腳,以保證可靠編程。

  • V1:V1必須穩(wěn)定并且大于VBIAS (VBIAS值詳見相應(yīng)的數(shù)據(jù)手冊)。對于71M651x系列,V1必須連接到3.3VDC,以關(guān)閉硬件看門狗定時器;對于71M653x系列,V1必須大于VBIAS,這個系列由ICE_E負(fù)責(zé)硬件看門狗定時器。
  • ICE_E:這個引腳適用于71M653x和71M654x系列,編程時該引腳必須連接到3.3VDC。
  • XIN/XOUT:E_TCLK信號源自內(nèi)部振蕩器和外部晶體、兩個負(fù)載電容共同產(chǎn)生的32kHz信號,詳見數(shù)據(jù)手冊。
  • Vbase:該引腳通過0.1uF電容接地。
  • V2P5:該引腳通過0.1uF電容接地。
  • RESET(Z):低電平有效復(fù)位引腳(/RESET)在編程時必須連接到3.3VDC,高電平有效復(fù)位引腳(RESET)在編程時必須連接到地。
  • 除以上引腳外,其它引腳在編程時可以懸空。

特殊情況

新出廠的IC (flash內(nèi)容都是0xff)和被全局擦除的IC沒有什么特別注意事項。以下特殊情況可能包含一個簡短的測試模式,即如同在工廠進(jìn)行ATE測試一樣,它們可以被看作是未編程的IC。

幾種特殊情況如下:

  • 特殊功能寄存器(SFR)中的SECURE位置1。
  • 目標(biāo)代碼將SECURE位置1。
  • IO RAM中的ECK-DIS位置1,禁止E_TCLK輸出。
  • 器件已經(jīng)編程或片上計算引擎開啟,防止flash讀寫(71M653x)。

這些特殊情況將在后續(xù)討論。

加密(SECURE)位

加密位可以防止對flash內(nèi)容進(jìn)行讀寫。如果加密位在編程前置位,則沒有硬件措施解鎖,唯一的解鎖辦法是整片擦除并緊跟一個IC復(fù)位。

值得注意的是,加密(SECURE)位是MPU執(zhí)行一段代碼置位的,而不是由編程器置位,代碼例程見圖1。加密位確保用戶程序不被非法竊取,但當(dāng)IC需要編程/驗證或重新編程時,需要幾個附加步驟。

圖1. 設(shè)置加密(SECURE)位的匯編例程

加密過程是:IC上電時,從地址0x0000開始執(zhí)行程序,前60個MPU時鐘周期是preboot周期,在這個周期中,ICE接口是被禁止的,起始代碼可以設(shè)置加密(SECURE)位,使能flash加密功能。由于加密(SECURE)位只能置位不能清零(只能由硬件復(fù)位清零),而且在preboot期間ICE不能進(jìn)行讀寫,故外部電路沒有辦法讀寫flash。加密(SECURE)位位于片上的特殊功能寄存器(SFR),各IC在數(shù)據(jù)手冊中定義了各自的加密(SECURE)位位置。

ADM51 ICE

在仿真器用戶界面,如果IC加密(SECURE)位置1,則顯示圖2所示界面。用戶可以選擇整片擦除并復(fù)位IC,復(fù)位最好的方法是斷電后重新上電。對于有電池的情況,電池必須有一個短暫的斷開,或發(fā)送復(fù)位信號強(qiáng)制IC復(fù)位。

此時,在仿真器用戶界面將顯示IC是一個普通的被擦除的空片。

圖2. ICE界面提示加密(SECURE)位置位

圖3. 丟失E_TCLK時的ICE接口

TFP2

TFP2將發(fā)出一個簡單的狀態(tài)信息,表明IC已經(jīng)加密。

然后,TFP2將繼續(xù)整片擦除操作,隨后進(jìn)行編程操作,無需用戶干預(yù)。

如果IC是71M653x,IC的ICE_E信號將出現(xiàn)在編程接口,操作步驟如下:

  • TFP2擦除整片flash。
  • TFP2釋放ICE_E信號,如果目標(biāo)IC看門狗定時器處于使能狀態(tài),這將導(dǎo)致IC復(fù)位。
  • TFP2開始編程。

帶有加密(SECURE)位設(shè)置目標(biāo)程序的IC編程

帶有加密(SECURE)位設(shè)置代碼的編程和普通的編程沒有什么區(qū)別,但要特殊考慮包含設(shè)置加密(SECURE)位指令的效驗碼,因為一旦開始執(zhí)行代碼,將無法訪問flash。

ADM51仿真器和TFP2

下列方法用來校驗flash存儲器:

  • 一旦MPU開始執(zhí)行代碼,將無法訪問、驗證flash。
  • 通過暫停目標(biāo)IC的程序運行實現(xiàn)操作驗證。
  • 一旦flash校驗完成且開始執(zhí)行程序,將無法做進(jìn)一步的校驗。

這個過程對用戶透明。

ECK_DIS置位時的IC編程

這種情況產(chǎn)生一個挑戰(zhàn),因為E_TCLK信號是編程接口必不可少的。

ADM51 ICE

仿真器時鐘信號丟失時,ADM51(WEMU51)將產(chǎn)生一個界面如圖3所示。依據(jù)ECK_DIS置位的時機(jī),重復(fù)復(fù)位目標(biāo)可能在ECK_DIS置位之前使得ADM51暫停IC運行,ICE用戶接口將表現(xiàn)正常,用戶有機(jī)會擦除整片flash。

TFP2

TFP2可快速響應(yīng)目標(biāo)編程器接口,禁止E_TCLK對于TFP2來說不是問題。

IC含有部分或全部代碼時的IC編程

對于71M653xIC,片上計算引擎(CE)的程序flash和MCU是共享的,CE使能信號封鎖外部設(shè)備對flash的存取。CE使能控制位處于IO RAM 0x2000,第4位。

ADM51 ICE

典型的ADM51仿真器(WEMU51)截屏如圖4所示,XDATA_1窗口顯示了IO RAM 0x1FF0 ~ 0x2137 中的內(nèi)容。黃色高亮區(qū)域?qū)?yīng)于實際IO RAM寄存器,地址0x2000中的內(nèi)容為0xB0。

在擦除或編程目標(biāo)flash之前,地址0x2000的內(nèi)容必須是0x00,這將終止CE運行,為目標(biāo)IC的編程做準(zhǔn)備。

TFP2

TFP2自動處理CE,無需用戶干預(yù)。

圖4. ICE用戶界面中的IO RAM

準(zhǔn)備目標(biāo)映像文件

ADM51 ICE和TFP2均處理Intel hex格式的映像文件,這種格式也適用于BPM編程器。

Intel hex文件是由一符合Intel hex文件格式的文本所構(gòu)成的ASCII文本文件。在Intel hex文件中,每一行包含一個hex記錄,這些記錄是由包含了機(jī)器碼及常數(shù)的16進(jìn)制數(shù)組成。

注意:器件編程要求各行按順序排列,Maxim提供一個實用程序CHKSUM.EXE來處理Intel hex文件,用于編程。這個實用文件隨TFP2一同提供。

記錄格式

Intel hex文件由任意數(shù)量的16進(jìn)制記錄組成,每個記錄包含5個字段,按以下格式排列:

:llaaaatt[dd…]cc

每組字符對應(yīng)一個字段,每個字母代表一個16進(jìn)制數(shù)字,每個字段至少由兩個16進(jìn)制數(shù)字組成——構(gòu)成一個字節(jié),如下所述:

:是冒號,每個Intel hex記錄都由冒號開頭。

  • ll 是數(shù)據(jù)長度字段,代表記錄中的數(shù)據(jù)字節(jié)數(shù)(dd)。
  • aaaa 是地址字段,表示dd的起始地址。
  • tt 表示記錄類型,它可以是以下數(shù)值之一:

00 – 數(shù)據(jù)記錄

01 – 文件結(jié)束記錄

02 – 擴(kuò)展段地址記錄

04 – 擴(kuò)展線性地址記錄

  • dd 是代表一個字節(jié)的數(shù)據(jù)字段,記錄中可能包含多個數(shù)據(jù)字節(jié),數(shù)據(jù)字節(jié)數(shù)必須與II字段一致。
  • cc是校驗和字段,代表記錄的校驗和,校驗和是整個記錄的16進(jìn)制數(shù)對(構(gòu)成一個字節(jié))求和計算的模256,用2的補碼表示。

Intel hex文件由任意數(shù)目的以回車換行符結(jié)束的記錄組成,下面是一個記錄的示例:

:10246200464C5549442050524F46494C4500464C33

對這個記錄的注釋如下:

:10246200464C5549442050524F46494C4500464C33

IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIcc->校驗和(0x33)

IIIIIIIIIdd->數(shù)據(jù)(0x46,0x4C,0x55, …, 0x4C)

IIIaaaa->地址(0x2462)

Ill->數(shù)據(jù)長度(0x10)

:->冒號

其中:

10是記錄中的數(shù)據(jù)長度。

2462是數(shù)據(jù)的起始地址。

00是記錄類型。

464C…464C是數(shù)據(jù)。

33 是校驗和。

Intel HEX386文件格式



關(guān)鍵詞: 表計IC 71M6511 TFP2編程器 美信

評論


相關(guān)推薦

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

關(guān)閉