摘要:MPC860 是PowerPC系列产品,PowerPC 可运行于多种操作环境,广泛应用于便携式设备到服务器TMS320C6000 系列是1997 年美国TI公司推出的DSP芯片,这种芯片是定点、浮点兼容的DSP系列,它们提供了HPI(Host Port Inter face)接口,文中介绍了TMS320C6000与MPC860之间HPI接口的硬件设计.。
1 TMS320C6000的主要特点
TMS320C6000系列DSP(数字信号处理器)是TI公司推出的一种并行处理的数字信号处理器。TMS320C6000片内有8 个并行的处理单元。分为相同的两组。它的体系结构采用超长指令字( VLIW) 结构,单指令字长为32 bit。8个指令组成一个指令包。总字长为8×32= 256 bit.芯片内部设置了专的指令分配模块,可以将256 bit 的指令包同时分配到8 个处理单元,并由8个单元同时运行。芯片的时钟频率可以达到300MHz,通过片内的锁相环( PLL) 将输入时钟倍频获得。当片内的8个处理单元同时行时。处理能力可以达到2400MIPS。
2 TMS320C6000的扩展总线
目前,TMS320C6000系列中只有C6202和C6203具有扩展总线。它们是在C6201/C6701主机接口(HPI)的基础上发展起来的。
扩展总线从结构上可以分为两部分:I/O接口和主机接口。
扩展总线是一个32bit宽的总线,支持与异步外设、异步/同步FIFO、PCI桥及外部主控处理器的接口。它同时还提供了一个灵活的总线仲裁机制,可以进行内部仲裁,也可以由外部逻辑完成。
I/O接口,扩展总线共管辖4个XCE外部空间,4个空间可以分别配置成两种工作模式:异步I/O模式和同步FIFO模式。这两种模式可以在一个系统中同时工作。异步I/O模式的接口信号时序与EMIF类似,具有可编程程度高的特点。这一模式下,扩展总线接口的4根地址信号使得每个XCE空间多可以挂接16个外部设备。FIFO模式则提供了与同步FIFO无缝接口的能力,可以直接控制1个进行读操作的同步FIFO或4个进行写操作的同步FIFO。借助少量外部逻辑,每个XCE空间可以管理16个读操作FIFO或16个写操作FIFO。扩展总线I/O口与DSP的其他存储空间由DMA控制器进行连接。
主机接口也有两种工作模式:同步和异步。同步模式提供了主控和从属两种工作方式,此时地址信号和数据信号复用相同的管脚。异步模式只有从属功能,它与C6201/C6211/C6701/C6711的HPI操作完全类似,只是数据宽度为32bit。异步模式可以用来与其他微处理器接口。扩展总线主机接口与DSP存储器的连接由DMA辅助通道完成。
在同步主机接口模式下,主机的数据与地址信号复用,并且与i960Jx兼容。目前主流的PCI接口芯片都采用i960总线作为芯片内部总线,这样C6000与PCI总线接口时,需要的外部逻辑可以减少到少。尤其在作为从属处理器时,同步主机接口同样可以非常方便地与其他一些通用处理器接口。C6202的扩展总线还具有突发传输的能力。本文即利用这一方式实现MPC860与C6202扩展总线的接口。
C6202处理器的工作频率可以采用50MHz,经内部4倍频后升至200MHz,每个时钟周期多可以并行执行8条指令,从而可以实现1600MIPS的定点运算能力,完成1024点定点FFT的时间只需70μs。
3 MPC860介绍
MPC860 是摩托罗拉公司的单片集成嵌入式微处理器, 它内部集成了微处理器和通信领域常用的外围组件, 特别适用于互联网络和数据通信市场。MPC860 通信处理器可根据用户要求提供2~4 个串行通信控制器、不同规格的指令和数据缓存及各种级别的网络协议支持。
该产品专为宽带接入设备如:远程接入路由器、DSLAM、接入集线器、LAN /WAN 交换机、PBX 系统和网关等设计。
MPC860包括3个主要模块:Power PC、系统接口单元(SIU) 、通信处理模块(CPM)。PowerPC是主要的处理机单元,通常称为Embedded Pow er PC (或EPPC),它包括高速缓存和存储器管理单元(MMU),在40 MHz 时钟时为50 MIPS 指令速度;第二个主要模块为系统接口单元,它的主功能是提供内部总线和外部总线的接口;第三个主要模块为通信处理机模块,CPM 在不同的通信设备如SCC和SMC上发送接收数据通信,通信设备可以独立工作。
4 扩展总线接口实现
MPC860内部集成了嵌入式的PowerPC核和使用特定RISC处理器的通信处理模块(CPM)。这个双处理器结构优于传统结构,因为CPM可以从嵌入式的PowerPC核卸出外围任务。
4.1 接口实现
同步主机接口模式下,C6202和MPC860的接口。C6202处于从方式,但还是具有扩展总线仲裁的能力,用于异步I/O和扩展总线的FIFO接口。只有当这两个设备共享总线时,MPC860内部的仲裁才被使用。
扩展总线的管脚定义
扩展总线管脚 MPC860的管脚 功能定义
XCNTL A[29] MPC860用于控制信号的地址位,A31是MPC860地址总线的LSB
XBLAST 触发传输指示,XBLAST的极性(在这个例子高有效)由复位时XD[13]的上拉电阻决定
读写存取指示,的极性(在这个例子高有效)由复位时候的XD[12]的上拉电阻决定
XD[31:0] D[0:31] MPC860用D[0:31]作为32位的接口。D0是MPC860数据总线的MSB,而XD31是扩展总线的MSB
XCLK CLKOUT 自身(扩展)总线时钟
XHOLD 间接逻辑需与 扩展总线仲裁信号
XHOLDA BR、BG 注意内部扩展总线仲
和BB连接 裁已经处于使能端
新的转移开始指示
A[28:0] MPC860的地址解码从而产生信号
TSIZE[1:0]、 字节使能用TSIZE和A
A[31:30] [31:30]的解码来实现
SETA bit 在MPC860选择寄存器中设置为1,用于指示由外部总线产生
MPC860的内部总线仲裁处于禁止状态,相反扩展总线的仲裁处于使能状态。DSP的字节使能信号由TSIZE[1:0]和MPC860的地址线A[31:30]通过解码得到,DSP字节使能换算。
4.2 自举配置
MPC860及扩展总线把数据总线的上拉和下拉电阻用于硬件复位的BOOT配置,MPC860和DSP需要不同的上拉电阻配置。方法之一就是用总线开关。在这个例子中用SN74CBT16390(2个16bit和32bit之间FET复用/解复用总线开关)在复位的时候分离MPC860和DSP的数据总线,允许每一个设备有自己不同的复位配置字。方法之二就是首先硬件复位(复位的过程中,XBUS的上拉和下拉电阻用于配置MPC860),而DSP复位应该在MPC860之后。在DSP复位之后,MPC860有效地驱动数据总线上用于配置DSP的数据值,从而DSP将被配置。
由于两个设备都可以运行在内部总线仲裁使能或者禁止方式,所以内部扩展总线仲裁处理总线的仲裁。不管内部还是外部的仲裁配置都在系统复位时设置。如果设备处于外部仲裁,那么在MPC860从数据总线上取样硬件复位配置字的候,MPC860的ERAB位必须设置为1;而当DSP从复位到内部总线仲裁的数据总线上取样硬件复位配置字的时候,TMS320C6000的XARB位必须设置为1。
通过在XD[31:0]上拉和下拉电阻的扩展总线自举配置如下:
字段(field) 定义
BLPOL 当DSPs作为扩展总线的从属时,XBLAST信号的极性BLPOL=1,XBLAST是高有效
RWPOL 扩展总线读/写信号的极性,RWPOL=1, 为
HMOD 主机(host)的模式(对应于HPIC中的XB状态),HMOD=1,外部的主机接口处于同步的主/从模式
XARB 扩展总线仲裁使能(对应于XBGC中的状态), XARB=1,内部扩展总线仲裁处于使能状态
FMOD FIFO模式(对应于XBGC中的状态)
LEND 小端模式,LEND=1,系统运行在小端模式
BootMode[4:0] 设定设备自举模式,包括主机口自举、ROM、boot、存储器映射选择
为使工作准确,MPC860的高速缓存必须关闭使能。数据缓存是否使用,只要将相应的状态写入DC_CST寄存器。在禁止状态,缓存标志状态位被忽略,访问将通过总线传输。数据缓存在复位后默认为禁止。禁止的数据缓存不影响数据地址的逻辑转换,在MSRDR位的控制下继续进行,任何写入DC_CST寄存器的操作必须优先于一个同步指令,则确保在数据存储时,数据缓存的使能变化。由于总线错误或者执行特定的直接缓存线性控制时,数据缓存产生一个中断信号,缓存进入禁止状态,类似于禁止。每一页都有不同的存储控制属性, MPC860支持缓存禁止(CI)、 写入(WT)和监视(G)属性,但不支持存储器的一致性。对于要求存储一致性的页,必须编程设置为缓存禁止。G属性用于映射那些对不确定存储比较敏感的I/O设备,有G属性的页使存储强行停止,除非是非敏感性存储或者被核(core)取消。是否可缓存的区域必须定义,对于主要存储区的写回(write-back)或写通(write-through)模式,必须在使数据缓存使能之前通过初始化MMU来选择。
经实验验证,MPC860可以对扩展总线进行读操作,也可以写操作,该设计方案已经实现了初步的功能。因此具有一定的实用性。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。