基于S698PM芯片的JTAG控制G接口的设计及应用

描述

1.JTAG简介

JTAG(Joint Test Action Group)是一种国际标准测试协议,与IEEE 1149.1标准高度兼容,主要应用于芯片功能内部测试及软件程序调试两大功能。

JTAG接口主要由4根信号线组成:TCK、TDI、TDO、TMS,不同的公司还添加几根辅助信号线,例如:NTRST、VERF、GND等信号。TCK是JTAG模块外部输入时钟;TDI是JTAG模块外部数据输入信号;TDO是JTAG模块外部输出信号;TMS是JTAG模块的模式选择信号;

1.1. JTAG传输协议

1.1.1. JTAG传输状态机

基于S698PM芯片JTAG的状态机主要分两种子状态机,分别是数据传输状态机和命令传输状态机,并且自定义SHIFT-DR 与SHIFT-IR的循环次数不同,从而写入或是读出的数值宽度不同而已。而S698PM芯片定义的数据寄存器宽度为33位,而命令寄存器宽度为35位,在下面的章节里有详细介绍寄存器上每位的功能和意义。

下图一展示JTAG模块里状态机的流转过程。

嵌入式

1.1.2. JTAG时序图

JTAG主要有四个信号,TCK作为协议的时钟信号,一般默认以100ns为周期变化,而TMS/TDI则一般是在时钟下降沿给出,TDO则是TCK时钟上升沿移位出来。

嵌入式

2. S698PM芯片内部JTAG模块

在S698PM芯片内部JTAG模块是由三个子模块组成,分别是TAP(Test Access Port)、Communication Interface、AHB主设备模块组成。该JTAG调试端口提供访问S698PM芯片内部AMBA总线的功能,并通过简单的读写协议实现AMBA总线上寄存器的读写操作。

嵌入式

基于S698PM芯片的JTAG调试口带有两种寄存器(命令/地址寄存器、数据寄存器),并支持JTAG读写两种指令;AHB读操作主要是通过JTAG信号线把读写命令位、AHB传输类型、AHB传输地址等信息移位到命令/地址寄存器里,然后读操作试行,并把相应的数据保存到数据寄存器里,并通过TDO信号移位输出来;AHB写操作主要是通过JTAG信号线把读写命令位、AHB传输类型、AHB传输地址等信息移位到命令/地址寄存器里,然后把数据信息移位到数据寄存器里后,开始执行AHB总线写操作。

2.1. JTAG命令/地址寄存器

嵌入式

2.2. JTAG数据寄存器

嵌入式

3. JTAG调试

硬件主要有两部分组成:一个是S698PM – DKIT开发板,另外一个是FTDI公司的USB Hi-Speed FT4232 MINI MODEL开发板。

S698PM – DKIT开发板是芯片S698PM快速开发的系统环境,详细资料查看该开发板的配套 资料。

FT4232H MINI MODEL开发板主要完成JTAG下载器的功能。详细资料查看FTDI公司的网站。

通过JTAG端口,并按照JTAG协议发送命令或是数据就可以调试和运行S698PM的程序,并且可以查看任意地址寄存器的数值。

3.1. JTAG命令及参数

嵌入式

嵌入式

嵌入式

4. 结论

通过FTDI公司的JTAG下载器,能够成功下载嵌入式系统VXWORKS代码,并快速执行,从反馈结果可以看出JTAG模块功能正常,以此表明:基于S698PM芯片的JTAG控制器符合国际IEEE 1149.1标准,该JTAG调试口满足芯片的边界扫描测试及程序调试的需求;同时程序的下载速度提高了7倍以上,大大缩短了调试等待时间。


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分