原创 TMS320C54x与80386EX接口技术

2014-7-3 20:57 1263 11 11 分类: 通信

 

摘要:以TI公司的TMS320C575为例,讨论C54x DSP的主机接口与Intel 80386Ex处理器的连接技术,及软件设计中的注意事项。

关键词:MTS320C54x 主机接口(HPI) 80386EX

现代电子技术的发展方向是嵌入式系统。传统的嵌入式系统是基于单片机的,而新一代的嵌入式系统将是以IP核(Intellectual Property Kernel知识产权核)模块为核心,用混合ASIC/MPU/FPGA/DSP生成的硅片直接构成的单片嵌入式产品。在嵌入式系统设计中,特别是智能电子系统以及系统集成设计中,MPU、CPLD/FPGA以及DSP起着重要的核心作用;而以DSP和80x86为核心的电子系统则是一种典型的嵌入式系统。以下讨论这两种处理器的连接技术。

1 主机接口386EX

C54x片内都有一个主机接口(HPI)。HPI是一个并行口,用来与主设备或主处理器接口。外部主机是HPI的主控者,可以通过HPI直接访问CPU的存储空间,包括存储器映像寄存器。

HPI主要由5个部分组成:

*HPI存储器(DARAM)。HPI的RAM主要用于C54x与主机之间传送数据,也可以用作通用双寻址数据RAM或程序RAM。

*HPI地址寄存器(HPIA)。它只能由主机对其直接访问。寄存器中存放当前寻址HPI存储单元的地址。

*HPI数据锁存器(HPID)。它也只能由主机对其直接访问。如果当前进行的是读操作,则HPID中存放的是要从HPI在座器中读出的数据;如果当前进行的是写操作,则HPID中存放的是将要写到HPI存储器的数据。

*HPI控制寄存器(HPIC)。C54x和主机都能对其直接访问,它映像在C54x数据存储器地址的002CH处。

*HPI控制逻辑。用于处理HPI与主机之间的接口信号。

HPI有两种工作方式:

*共用寻址方式(SAM)。这是常用的操作方式。在SAM方式下,主机和C54x都能寻址HPI存储器,异步工作的主机的寻址可以在HPI内部重新得到同步。如C54x与主机的时候周期发生冲突,则主机具有寻址优先权,C54x等待一个周期。

*仅主机寻址方式(HOM)。在HOM方式下,只能让主机寻址HPI存储器,C54x则处于复位状态或者处在所有内部和外部时钟都停止工作的IDLE2空闲状态(最小功耗状态)。

HPI支持主设备与C54x之间的高速数据传送。在SAM工作方式,若HPI每 5个CLKOUT周期传送一个字节(即64 Mb/s),那么主机的运行频率可达(fd·n)/5。其中fd是C54x的CLKOUT频率;n是主机每进行一次外部寻址的周期数,通常n为4(或 3)。若C54x的CLKOUT频率为40MHz,那么,主机的时钟频率可达32(或24)MHz,且不需插入等待周期。而在HOM方式,主机可以更快的速度——每50ns寻址一个字节(即160Mb/s),且与C54x的时钟速率无关。

Intel 386EX微处理器是一个优化的、用于嵌入式应用的全静态的32位处理器。其特点是功耗低、工作电压低,集成了许多通常使用的DOS类型外围芯片,并且与拥有大量软件基础的32位编程结构的Intel 386处理器兼容。

2 主机接口与386EX的连接

图1为TMS320C57S HPI与80386EX主机连接的接口电路图。由图1可见,C54x通过HPI与主设备相连时,除了8位HPI数据总线以及控制信号线外,不需要附加其它的逻辑电路。

C57S HPI是一个8位的并行端口,可以用其将16位字结构的C54x DSP与主机相连,因而主机必须读/写两个连续的8位字节。386EX有一个BS8引脚,可用来指示所连接设备是一个8位的外部设备。当该引脚为低电平时,就可以通过D7:D0读/写2个连续的8位字节达到操作16位外设的目的。

从386EX的可寻址空间可以看出,只需两根地址线(A2、A1)便可寻址到HPI端口:控制寄存器、地址寄存器和数据寄存器。386EX有一个内部译码器CS0,可将外部设备译码至可寻址范围。当然,也可将HPI端口映射至386EX的I/O地址空间。

386EX的外部时钟频率(CLK2)为50 MHz,内部经2分频后,CPU频率可达25MHz(40ns)。386EX的一个读/写周期为80ns;而DSP在HOM模式下的运行频率为2个时钟周期,SAM模式下为5个时钟周期。因此,当外部时钟频率为80MHz(40MHz/25ns)时,其存取时间分别为50ns和125ns。对于SAM模式,386EX必须使用READY信号来插入一个等待状态(一个等待周期为40ns)。

3 软件设计

(1)存取DSP的数据

由于主机接口总是传送8位数据字节,而HPIC寄存器(通常是主机首先要寻址的寄存器)又是一个16位寄存器,在主机这一边就可以相同内容的高字节与低字节来管理HPIC寄存器(尽管某些位的寻址受到一定的限制),而在C54x这一边高位是不用的。

当主机开始存取DSP的数据时,首先要执行以下两步操作:

*将HPIC寄存器的BOB位置1(高字节与低字节必须相同)。

BOB位为字节选择位。BOB位置为1,表示第一个字节为低字节。BOB位影响数据和地址的传送。只有主机可以修改这一位,C54x对它既不能读也不能写。

*将地址写入HPIA寄存器。

此后即可正常存取DSP的数据了。

当DSP处于复位状态时,HPI自动设置为HOM模式。此时主机可以灵活地控制DSP的复位信号(RS)。如果想使DSP处于省电方式,还应当控制其时钟信号(图1中未显示这些功能)。C54x与主机在同一时钟周期访问存储器时,主机的优先级要高。

(2)HPI自举加载

如果选择HPI自举方式,应将HINT与INT3引脚连在一起。当HINT为低电平时,C54x的中断标志寄存器(IFR)的相应位(bit2)置位。INT3发出之后,自举加载程序等待20个机器周期后读出IFR的相应位(bit2)置位。INT3发出之后,自举加载程序等待20个机器周期后读出IFR的bit2。若此位被置位(表示INT3被识别),自举加载程序就转换到片内HPI RAM的起始地址——程序空间的8800H,并从这个地址起执行程序。

(3)HPI存储器

C54x的HPI存储器是一个2K×16位的DARAM。它在数据存储空间的地址为1000H~17FFH(这一存储空间也可以用作程序存储空间,条件是PMST寄存器的OVLY位被置位)。

从接口的主机方便看,是很容易寻址2K字的HPI存储器的。由于HPIA寄存器是16位,由它指向2K字空间,因此主机对它寻址是很方便的,地址为0~7FFH。

HPI存储器地址的自动增量特性,可以用来连续寻址HPI存储器。在自动增量方式,每进行骊次读操作,都会使HPIA事后增1;每进行一次写操作,都会使HPIA事前减1。HPIA寄存器是一个16位寄存器,它的每一位都可以读出和写入,尽管寻址2K字的HPI存储器只要11位最低有效位地址。HPIA的增/减对HPIA寄存器所有16位都会产生影响。

文章评论0条评论)

登录后参与讨论
我要评论
0
11
关闭 站长推荐上一条 /2 下一条