微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 基于多核芯片S698PM的JTAG应用

基于多核芯片S698PM的JTAG应用

时间:04-20 来源:互联网 点击:
张志国,珠海欧比特控制工程股份有限公司, 珠海519085

摘要:

经过几十年SoC系统设计技术的快速发展, SOC芯片内部频率越来越快,编写及运行程序越来越大。在测试及调试过程中,用传统UART串口下载及调试程序,在速度、打印等方面呈现出诸多不便;而且该端口在SOC/FPGA研发领域中不通用,而JTAG接口却圆满地解决了上述两个问题。

引言


本应用手册主要讲解JTAG口的基本原理及与欧比特最新四核芯片S698PM的连接方法和注意事项;目的方便用户尽快地熟悉和掌握S698PM开发系统的JTAG调试环境。

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模块里状态机的流转过程。


图一、JTAG模块状态机

1.1.2.    JTAG时序图

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


图二、JTAG时序图

2.    S698PM芯片内部JTAG模块

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


图一 JTAG控制器框图

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

2.1.    JTAG命令/地址寄存器
  位位名称位描述
[34]W/R0: 读操作; 1:写操作
[33 :32]SIZE00:字节;01:半字;10:字;  11:保留
[31 : 0]AHB ADDRAHB访问地址

2.2.    JTAG数据寄存器
  位位名称位描述
[32]SEQ

当移入数据时,1:表示连续传输,地址自动加1;

0:表示非连续传输;

当移出数据时,1:表示访问完成;

               0:表示访问未完成;

[31 : 0]AHB dataAHB数据

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倍以上,大大缩短了调试等待时间。

参考文献

[1].    颜军.  SPARC嵌入式系统设计与开发-S698系列处理器实用教程[M].
北京:中国标准出版社, 2013.

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top