新闻中心

EEPW首页 > 模拟技术 > 设计应用 > 实现MAXQ2000微控制器的JTAG加载主机

实现MAXQ2000微控制器的JTAG加载主机

作者:时间:2012-03-19来源:网络收藏
摘要:MAXQ®提供的启动加载程序使外部主机能够利用一组标准命令,轻松地识别MAXQ,并对其进行编程。本应用笔记中的代码可以用作构建全功能启动加载主机应用程序的出发点。主机应用程序能够识别、初始化、装载、验证支持标准启动加载程序命令集MAXQ的程序和数据存储器内容。

简介

具有可在线编程的程序存储器(例如和MAXQ3210)的MAXQ微控制器一般还提供基于ROM的启动加载程序,利用微控制器的JTAG兼容调试端口,实现程序存储器的加载。尽管不同的器件有不同的JTAG启动加载程序功能,但是通常都包括程序和数据存储器写、读、验证和擦除等命令。有的器件为启动加载程序提供其他接口(例如,串口或者SPI™接口),而JTAG接口是最常用的,原因有两个。第一,JTAG接口支持在线调试功能,第二,最终用户应用程序并没有充分发挥JTAG接口的功能(与串口不同)。一旦加载程序代码后,可选择的加密机制限制了对启动加载程序的访问,或在线调试。关于每个MAXQ器件功能的详细信息,请参考产品说明,包括数据资料和用户指南等。

本应用笔记涉及到实现 JTAG启动加载程序主机的基本步骤。这些步骤包括JTAG端口接口,测试访问端口(TAP)控制器通信,激活启动加载程序模式,向基于ROM的启动加载程序发送命令等。由于所有MAXQ器件的JTAG端口工作情况一般相同,MAXQ启动加载程序采用共享命令集工作,因此,在实现MAXQ微控制器JTAG启动加载程序主机时可以参考本应用笔记涉及到的大部分主题(以及大部分实例代码)。

除了串口,应用笔记并没有使用的特殊功能。这表明,这里的实例代码很容易重新用于程序存储器空间足够大的任何MAXQ20器件。代码以MAXQ汇编语言编写,采用MAX-IDE开发环境编译。可以下载这些代码。

硬件设置

采用一对MAXQ2000评估(EV)板来开发本应用笔记的实例代码。需要两块MAXQ2000评估板执行这里的软件。一个MAXQ2000 (JTAG主机)运行实例代码;第二个MAXQ2000用作JTAG从机,由主机对它重新编程。两个MAXQ2000微控制器都采用了标准8.00MHz晶振。

在原型区安装一个2 x 5引脚插座对主机MAXQ2000评估板进行改动,原型区提供JTAG电缆主机侧连接。插座的引脚符合标准MAXQ JTAG插座布局,按照表1所示进行连接。

表1. MAXQ2000 JTAG连接
JTAG Header PinJTAG Cable FunctionMAXQ2000 JTAG
Master Connection
MAXQ2000 JTAG
Slave Connection
1TCK (Test Clock)P0.0 (Output)P4.0 (Input)
2GNDGNDGND
3TDO (Test Data Out)P0.1 (Input)P4.3 (Output)
4VREF
5TMS (Test Mode Select)P0.2 (Output)P4.2 (Input)
6nRESETP0.4 (Open Drain)nRESET (Input)
7Keyed pin
8+5V
9TDI (Test Data In)P0.3 (Output)P4.1 (Input)
10GNDGNDGND

不需要对从机MAXQ2000评估板进行改动。按照上面的说明在主机MAXQ2000评估板的原型区安装2 x 5 JTAG插座。然后,将两块评估板连接起来;主机评估板原型区的2 x 5 JTAG插座和从机评估板的标准JTAG插座(J4)之间连接标准2 x 5 JTAG电缆(这种JTAG一般用于连接串口至JTAG板和MAXQ评估板)。JTAG 2 x 5连接器含在MAXQ2000评估套件中。

为简化起见,没有对主机评估板和从机评估板的JTAG电缆电源或者参考电压连接进行试验。而是设置两块评估板采用同一VDDIO电压(大约3.6V)工作。这种设置保证了主机和从机MAXQ2000采用公共I/O电源电平工作。

从机评估板还在插座J3上安装了LCD子卡(MAXQ2000-K01)。表2列出了两块电路板(以及串口至JTAG电路板)的跳线和DIP开关设置。注意:应断开未列出的所有跳线。图1所示为最终设置。

表2. 电路板开关和跳线设置
BoardSwitch or JumperSettingNotes
Serial-to-JTAG BoardJH1Connected
JH2Connected
JH3ConnectedSupplies 5V power over JTAG cable
Master MAXQ2000 EV KitJU1Pins 1 and 2 connectedPowers VDD from 2.5V supply
JU2Pins 1 and 2 connectedPowers VDDIO from 3.6V supply
JU3Pins 1 and 2 connectedPowers VLCD from 3.6V supply
JU11ConnectedPowers kit board from JTAG 5V supply
DIP SW1Switches #4 and #8 ON; all other switches OFFEnables serial port 0 output to J5
DIP SW3All switches OFF
DIP SW6All switches OFF
Slave MAXQ2000 EV KitJU1Pins 1 and 2 connectedPowers VDD from 2.5V supply
JU2Pins 1 and 2 connectedPowers VDDIO from 3.6V supply
JU3Pins 1 and 2 connectedPowers VLCD from 3.6V supply
DIP SW1All switches OFF
DIP SW3All switches OFF
DIP SW6All switches OFF

实现MAXQ2000微控制器的JTAG加载主机
图1. JTAG演示板配置

MAXQ JTAG接口

MAXQ微控制器的JTAG接口由四条信号线组成,用于测试访问端口(TAP)控制器的信息输入和输出。TAP控制器支持对MAXQ启动加载程序的访问,提供在线调试功能(注意,调试主机的实现和启动加载程序主机的实现类似,但是已经超出了本应用笔记的范围)。表3对四条JTAG信号线进行了说明。

表3. JTAG接口信号
JTAG SignalSignal NameDirection (Master)Direction (Slave)Signal Description
TMSTest Mode SelectOutputInputThis signal line, along with the TCK line, is used to shift the TAP controller from one operational state to the next.
TCKTest ClockOutputInputThis 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.
TDITest Data InOutputInputThis signal carries data that is sent from the master to the slave.
TDOTest Data OutInputOutputThis signal carries data that is sent from the slave back to the master.

从技术上看,nRESET引脚并不是JTAG接口的组成部分。它含在JTAG电缆中,使JTAG主机能够复位从机微控制器。重新设置从机微控制器是进入启动加载程序模式需要的步骤,如果JTAG通信意外中断,也需要重新设置从机微控制器。

JTAG接口是全双工的,数据在TDI线上由主机送入从机,同时,数据在TDO线上由从机送入主机。从机在TCK上升沿对到达数据(在TDI和TMS上)进行采样,在TCK下降沿,数据在TDO上被驱动输出至主机。对于到达和输出数据,最先传送最低有效位。本应用笔记简要介绍JTAG接口和TAP控制器,以解释实例代码的工作。关于这些特性的详细讨论,请参考MAXQ系列用户指南(English only)的测试访问端口(TAP)、在线调试模式、在系统编程等章节,公司网站上有该文档。

TAP控制器通信

TAP控制器围绕状态机进行构建,如下面的图2所

上一页 1 2 3 4 5 6 7 下一页

关键词: MAXQ2000 微控制器 JTAG

评论


相关推荐

技术专区

关闭