当前位置:首页 > 单片机 > 单片机
[导读]提出Trimedia DSP芯片硬件仿真器的硬件电路组成和接口软件设计;介绍JTAG接口的标准、工作原理及在芯片中的实现。

摘要:提出Trimedia DSP芯片硬件仿真器的硬件电路组成和接口软件设计;介绍JTAG接口的标准、工作原理及在芯片中的实现。

    关键词:Trimedia DSP的JTAG接口 EPP模式的并行口 硬件仿真器

Trimedia集成电路是Philips公司新近推出的针对多媒体应用的一种高性能DSP。它能够进行高质量的视频和音频处理,可以通过在线调试工具——JTAG来开发Trimedia DSP的各种资源和调试各种应用程序。为了能够满足研发、生产上对系统编程及工程上对现场调试的需要,开发了使用方便、成本低的仿真器。

1 仿真器硬件电路组成

图1为系统的组成框图。整个仿真器的功能可以由1片可编程逻辑器件来完成。图1中有两个接口:一个与Trimedia DSP的JTAG接口相连,另一个连接到计算机的并行接口。

之所以采用计算机的增强型并行接口,是因为现在一般的计算机都有如下几种端口:串行接口、并行接口、USB接口。串行接口速度不高,无法满足JTAG仿真器快速下载的要求;普通的并行接口,数据传输速率限制在50~150kbps,也无法满足JTAG仿真器快速下载的要求;USB接口是种快速的计算机接口,最高速率可以达到12Mbps,但由于该接口速度是在数据以块方式传输时实现的,无法满足快速读写转换的要求,所以,也无法达到我们要求的数据传输速率。而且一般的PC上都安装了具有EPP和ECP功能的I/O控制器,在EPP模式下,可以只用1个IN或OUT指令来向I/O控制器传输1个字节的数据,然后I/O控制器将会处理握手信号并产生选通信号。显然,在这种机器上的数据传输速度受到指令执行速率的限制。通常在同时代的机器上很容易获得1~1.75Mbps的数据传输速率。可见,增强型并行接口能够满足我们的需求,而且用EPP模式的并行接口进行开发的难度较小。

图1 系统的组成框图

    图2为仿真器硬件线路图。

TCK:测试时钟,为TAP的控制器和寄存器提供测试参考时钟,在TCK的同步作用下通过TDI和TDO引脚串行移入或同数据及指令。

TMS:模式输入信号,在TCK的上升沿时刻TMS的状态决定了TAP控制器即将进入的工作状态。

TDI:指令和数据寄存器的串行输入端,TAP的控制器的当前状态以及保存在指令寄存器的具体指令,决定了对于一个特定的操作由TDI装入哪个寄存器。在TCK的上升沿时刻,TDI引脚的数据被采样,结果送到JTAG寄存器中。

TDO:和TDI具有相同操作模式,只是在TCK的下降沿处改变状态。

TAP:测试访问端口。

从图2中知道,仿真器的设计主要是可编程逻辑器件CPLD的设计,它将8位并行数据和串行数据进行相互转换。也就是说,在JTAG端CPLD将产生TDI和TDO串行发送和接收时序,实现仿真器和Trimedia DSP芯片JTAG控制器的相互通信。在编程中可设置发送(TDI)和接收(TDO)的8位数据寄存器,接收TMS的8位数据寄存器,4位(十六进制)计数器。发送和接收数据都以字节方式进行,不足8位数据的用0补齐。

data_reg和addr_reg分别表示发送的8位数据和指令寄存器,data_flag表示数据是否发送或接收完毕,data_tms_counter为串行发送数据时的计数器,oscnm为外接的TCK时钟。NDatastb、nWrite、nAddrstb、nReset为EPP模式的并行接口控制信号,data为并行口的D0~D7数据总线,tmsjtag、tdijtag为连接到TAP控制器的TMS、TDI引脚线。

    下面为数据和指令写入相应的寄存器的VHDL例程:

data_instruction_write:process(nDatastb,nWrite)

Begin

if(nDatastb'event and nDatastb='1')then

if(nWrite='1')then

data_reg<=data;

else

data_reg<=data_reg;

end if;

end if;

End process;

tms_write:process(nAddrstb,nWrite)

Begin

if(nAddrstb'event and nAddrstb='1')then

if(nWrite='1')then

addr_reg<=data;

else

addr_reg<=addr_reg;

end if;

end if;

End process;

下面为发送数据的VHDL例程:(由于接收例程类似发送例程,故省略。)

tms_tdi_write:process(data_flag,oscnm_true)

Begin

if(oscnm_true'event and oscnm_true='1')then

if(nreset='1')then

tmsjtag<=';

end if;

if(data_flag='1')then

if(data_tms_counter="0001")then

tmsjtag<=addr_reg(0);

tdijtag<data_reg(0);

elsif(data_tms_counter="0010")then

tmsjtag<=addr_reg(1);

tdijtag<=data_reg(1);

elsif(data_tms_counter="0011")then

tmsjtag<=addr_reg(2);

tdijtag<=data_reg(2);

elsif(data_tms_counter="0100")then

tmsjtag<=addr_reg(3);

tdijtag<=data_reg(3);

elsif(data_tms_counter="0101")then

tmsjtag<=addr_reg(4);

tdijtag<=data_reg(4);

elsif(data_tms_counter="0110")then

tmsjtag<=addr_reg(5);

tdijtag<=data_reg(5);

elsif(data_tms_counter="0111")then

tmsjtag<=addr_reg(6);

tdijtag<=data_reg(6);

elsif(data_tms_counter="1000")then

tmsjtag<=addr_reg(7);

tdijtag<=data_reg(7);

end if;

end if;

end if;

End process;

图3 仿真器的DLL

2 EPP接口控制软件

仿真器在Windows98操作系统中的DLL(动态连接库)如图3所示。图3中TriMedia Turbo JTAG仿真板和Corelis ISA 100f JTAG仿真板是第三方厂商提供的仿真板,而Other JTAG Board就是要自行设计的仿真板。选择何种仿真板,用户在使用调试软件时,可自行选择。自行开发的仿真板需要有相应的动态链接库和驱动程序,它们需要命名如下:newjtagboard.dll和newjtagboard.vxd。在Windows98操作系统下,由于可以直接使用EPP端口操纵,所以在Windows98操作系统下不需要相应的低层驱动——newjtagboard.vxd文件。在newjtagboard.dll中至少包含以下4个函数:

void tmJtagReset(long pindx/*Processor index*/) ;对DSP芯片进行复位

void tmJtagInitBoard(long pindx,unsigned short base) ;对DSP芯片的TAP控制器进行初始化

void tmJtagScanInstructionRegister(long pindx,unsigned long bus_no,unsigned char *out_buf,unsigned long length,unsigned void tmJtagScanDataRegister(long pindx,unsigned long bus_no,unsigned char *out_buf,unsigned long length,unsigned char *in_buf) ;传送给数据寄存器DR数据的函数

采用EPP端口的0x37BH和0x37CH地址,分别产生互锁的地址读或写周期和互锁的数据读或写周期。DLL通过EPP模式端口查询nwait信号,以确定nWrite信号,进行发送或接收并行8位数据。用nDatastb引脚锁定data数据(数据寄存器DR内数据)和Instruction指令(指令寄存器IR内数据),用nAddrstb引脚锁定TMS数据,以实现数据寄存器DR和指令寄存器IR的切换。Data数据放在32位的数据寄存器DR中,Instruction指令放在5位指令寄存器IR中。芯片提供的JTAG指令包括:

RESET(10000)对设备进行复位;

SEL_DATA_IN(10001)选择数据输入寄存器;

SEL_DATA_OUT(10010)选择数据输出寄存器;

SEL_IFULL_IN(10011)选择输入数据满的标志寄存器;

SEL_IFULL_OUT(10100)选择输出数据满的标志寄存器;

SEL_JTAG_CTRL(10101)选择控制寄存器;

MACRO(11110)硬件测试模式的选择。

括号中的内容是指令的操作码,它们通过TDI引脚串行地移入指令寄存器IR。DLL被上层应用程序调用,进行Data数据和Instruction指令的传送;同时,DLL会发送相应的TMS数据。

结语

Trimedia DSP芯片的广泛应用,开发出了使用方便、成本低的仿真器,对于减少产品的研发和生产周期,保证产品的顺利上市是非常有利的。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭