實(shí)現MAXQ2000微控制器的JTAG加載主機
簡(jiǎn)介
具有可在線(xiàn)編程的程序存儲器(例如MAXQ2000和MAXQ3210)的MAXQ微控制器一般還提供基于ROM的啟動(dòng)加載程序,利用微控制器的JTAG兼容調試端口,實(shí)現程序存儲器的加載。盡管不同的器件有不同的JTAG啟動(dòng)加載程序功能,但是通常都包括程序和數據存儲器寫(xiě)、讀、驗證和擦除等命令。有的器件為啟動(dòng)加載程序提供其他接口(例如,串口或者SPI?接口),而JTAG接口是最常用的,原因有兩個(gè)。第一,JTAG接口支持在線(xiàn)調試功能,第二,最終用戶(hù)應用程序并沒(méi)有充分發(fā)揮JTAG接口的功能(與串口不同)。一旦加載程序代碼后,可選擇的加密機制限制了對啟動(dòng)加載程序的訪(fǎng)問(wèn),或在線(xiàn)調試。關(guān)于每個(gè)MAXQ器件功能的詳細信息,請參考產(chǎn)品說(shuō)明,包括數據資料和用戶(hù)指南等。本應用筆記涉及到實(shí)現MAXQ2000 JTAG啟動(dòng)加載程序主機的基本步驟。這些步驟包括JTAG端口接口,測試訪(fǎng)問(wèn)端口(TAP)控制器通信,激活啟動(dòng)加載程序模式,向基于ROM的啟動(dòng)加載程序發(fā)送命令等。由于所有MAXQ器件的JTAG端口工作情況一般相同,MAXQ啟動(dòng)加載程序采用共享命令集工作,因此,在實(shí)現MAXQ微控制器JTAG啟動(dòng)加載程序主機時(shí)可以參考本應用筆記涉及到的大部分主題(以及大部分實(shí)例代碼)。
除了串口,應用筆記并沒(méi)有使用MAXQ2000的特殊功能。這表明,這里的實(shí)例代碼很容易重新用于程序存儲器空間足夠大的任何MAXQ20器件。代碼以MAXQ匯編語(yǔ)言編寫(xiě),采用MAX-IDE開(kāi)發(fā)環(huán)境編譯??梢韵螺d這些代碼。
硬件設置
采用一對MAXQ2000評估(EV)板來(lái)開(kāi)發(fā)本應用筆記的實(shí)例代碼。需要兩塊MAXQ2000評估板執行這里的軟件。一個(gè)MAXQ2000 (JTAG主機)運行實(shí)例代碼;第二個(gè)MAXQ2000用作JTAG從機,由主機對它重新編程。兩個(gè)MAXQ2000微控制器都采用了標準8.00MHz晶振。在原型區安裝一個(gè)2 x 5引腳插座對主機MAXQ2000評估板進(jìn)行改動(dòng),原型區提供JTAG電纜主機側連接。插座的引腳符合標準MAXQ JTAG插座布局,按照表1所示進(jìn)行連接。
表1. MAXQ2000 JTAG連接
JTAG Header Pin | JTAG Cable Function | MAXQ2000 JTAG Master Connection | MAXQ2000 JTAG Slave Connection |
1 | TCK (Test Clock) | P0.0 (Output) | P4.0 (Input) |
2 | GND | GND | GND |
3 | TDO (Test Data Out) | P0.1 (Input) | P4.3 (Output) |
4 | VREF | – | – |
5 | TMS (Test Mode Select) | P0.2 (Output) | P4.2 (Input) |
6 | nRESET | P0.4 (Open Drain) | nRESET (Input) |
7 | Keyed pin | – | – |
8 | +5V | – | – |
9 | TDI (Test Data In) | P0.3 (Output) | P4.1 (Input) |
10 | GND | GND | GND |
不需要對從機MAXQ2000評估板進(jìn)行改動(dòng)。按照上面的說(shuō)明在主機MAXQ2000評估板的原型區安裝2 x 5 JTAG插座。然后,將兩塊評估板連接起來(lái);主機評估板原型區的2 x 5 JTAG插座和從機評估板的標準JTAG插座(J4)之間連接標準2 x 5 JTAG電纜(這種JTAG一般用于連接串口至JTAG板和MAXQ評估板)。JTAG 2 x 5連接器含在MAXQ2000評估套件中。
為簡(jiǎn)化起見(jiàn),沒(méi)有對主機評估板和從機評估板的JTAG電纜電源或者參考電壓連接進(jìn)行試驗。而是設置兩塊評估板采用同一VDDIO電壓(大約3.6V)工作。這種設置保證了主機和從機MAXQ2000采用公共I/O電源電平工作。
從機評估板還在插座J3上安裝了LCD子卡(MAXQ2000-K01)。表2列出了兩塊電路板(以及串口至JTAG電路板)的跳線(xiàn)和DIP開(kāi)關(guān)設置。注意:應斷開(kāi)未列出的所有跳線(xiàn)。圖1所示為最終設置。
表2. 電路板開(kāi)關(guān)和跳線(xiàn)設置
Board | Switch or Jumper | Setting | Notes |
Serial-to-JTAG Board | JH1 | Connected | |
JH2 | Connected | ||
JH3 | Connected | Supplies 5V power over JTAG cable | |
Master MAXQ2000 EV Kit | JU1 | Pins 1 and 2 connected | Powers VDD from 2.5V supply |
JU2 | Pins 1 and 2 connected | Powers VDDIO from 3.6V supply | |
JU3 | Pins 1 and 2 connected | Powers VLCD from 3.6V supply | |
JU11 | Connected | Powers kit board from JTAG 5V supply | |
DIP SW1 | Switches #4 and #8 ON; all other switches OFF | Enables serial port 0 output to J5 | |
DIP SW3 | All switches OFF | ||
DIP SW6 | All switches OFF | ||
Slave MAXQ2000 EV Kit | JU1 | Pins 1 and 2 connected | Powers VDD from 2.5V supply |
JU2 | Pins 1 and 2 connected | Powers VDDIO from 3.6V supply | |
JU3 | Pins 1 and 2 connected | Powers VLCD from 3.6V supply | |
DIP SW1 | All switches OFF | ||
DIP SW3 | All switches OFF | ||
DIP SW6 | All switches OFF |

圖1. JTAG演示板配置
MAXQ JTAG接口
MAXQ微控制器的JTAG接口由四條信號線(xiàn)組成,用于測試訪(fǎng)問(wèn)端口(TAP)控制器的信息輸入和輸出。TAP控制器支持對MAXQ啟動(dòng)加載程序的訪(fǎng)問(wèn),提供在線(xiàn)調試功能(注意,調試主機的實(shí)現和啟動(dòng)加載程序主機的實(shí)現類(lèi)似,但是已經(jīng)超出了本應用筆記的范圍)。表3對四條JTAG信號線(xiàn)進(jìn)行了說(shuō)明。表3. JTAG接口信號
JTAG Signal | Signal Name | Direction (Master) | Direction (Slave) | Signal Description |
TMS | Test Mode Select | Output | Input | This signal line, along with the TCK line, is used to shift the TAP controller from one operational state to the next. |
TCK | Test Clock | Output | Input | This signal provides the clock for the JTAG interface. The JTAG clock is limited to a maximum of the slave's clock frequency divided by 8. For example, if the slave is running at a clock frequency of 8MHz, the JTAG clock at TCK cannot run any faster than 1MHz. |
TDI | Test Data In | Output | Input | This signal carries data that is sent from the master to the slave. |
TDO | Test Data Out | Input | Output | This signal carries data that is sent from the slave back to the master. |
從技術(shù)上看,nRESET引腳并不是JTAG接口的組成部分。它含在JTAG電纜中,使JTAG主機能夠復位從機微控制器。重新設置從機微控制器是進(jìn)入啟動(dòng)加載程序模式需要的步驟,如果JTAG通信意外中斷,也需要重新設置從機微控制器。
JTAG接口是全雙工的,數據在TDI線(xiàn)上由主機送入從機,同時(shí),數據在TDO線(xiàn)上由從機送入主機。從機在TCK上升沿對到達數據(在TDI和TMS上)進(jìn)行采樣,在TCK下降沿,數據在TDO上被驅動(dòng)輸出至主機。對于到達和輸出數據,最先傳送最低有效位。本應用筆記簡(jiǎn)要介紹JTAG接口和TAP控制器,以解釋實(shí)例代碼的工作。關(guān)于這些特性的詳細討論,請參考MAXQ系列用戶(hù)指南(English only)的測試訪(fǎng)問(wèn)端口(TAP)、在線(xiàn)調試模式、在系統編程等章節,公司網(wǎng)站上有該文檔。
評論