《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 解决方案 > 基于多核芯片S698PM的JTAG应用

基于多核芯片S698PM的JTAG应用

2016-04-15
作者:张志国
来源:珠海欧比特控制工程股份有限公司, 珠海519085
关键词: SOC S698PM JTAG

摘 要:

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

图片1.jpg

图一、JTAG模块状态机

1.1.2. JTAG时序图

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

图片2.jpg

图二、JTAG时序图

2. S698PM芯片内部JTAG模块

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

图片3.jpg

              图一 JTAG控制器框图

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

2.1. JTAG命令/地址寄存器

TS@9(FF00@U)(TYC42}1E~A.png

       2.2. JTAG数据寄存器

E_$W$ZPK)B`2C%XENYXAG`U.png

       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.jpg

图片5.jpg

图片6.jpg

图片7.jpg

       4.  结论

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

       参考文献

       [1]. 颜军.  SPARC嵌入式系统设计与开发-S698系列处理器实用教程[M]. 

       北京:中国标准出版社, 2013.

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。