基于多核芯片S698PM的JTAG应用
2016-04-15
作者:张志国
来源:珠海欧比特控制工程股份有限公司, 珠海519085
摘 要:
经过几十年SoC系统设计技术的快速发展, SOC芯片内部频率越来越快,编写及运行程序越来越大。在测试及调试过程中,用传统UART串口下载及调试程序,在速度、打印等方面呈现出诸多不便;而且该端口在SOC/FPGA研发领域中不通用,而JTAG接口却圆满地解决了上述两个问题。
关键词:
系统级芯片(SOC);知识产权(IP);JTAG;S698PM多核芯片; AMBA总线;
Abstract:
THE JTAG APPLICATION OF S698PM CHIP
After the rapid development of SoC system design technology, SoC chip internal frequency is more and more fast, the running program is more and more big. In the process of testing and debugging, using traditional UART serial download and debug program, in terms of speed, print, presents the inconvenience; And in the field of research and development for the SOC/FPGA is not universal, and the JTAG interface is solved successfully the above two questions.
Key Words:SOC;IP;S698PM CHIP;AMBA BUS;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命令/地址寄存器
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倍以上,大大缩短了调试等待时间。
参考文献
[1]. 颜军. SPARC嵌入式系统设计与开发-S698系列处理器实用教程[M].
北京:中国标准出版社, 2013.