TMS320VC5402(以下简称C5402)是德州仪器公司(TI)推出的性价比极高的定点数字信号处理器(DSP)。采用改进的Harvard处理结构和指令流水线操作,计算处理速度很高(100MIPS),指令周期可达10ns;片内提供16K字的RAM,用作程序和数据存储,其最大可扩展寻址空间为1M字;主机接口(HPI)是具有强大功能的智能外设,提供了DSP和外部处理器的通信接口。
掌握HPI的原理和使用方法,可以使硬件的设计更加简单灵活。DSP在通过HPI口和主机通信的过程中完全没有软件和硬件开销,由DSP自身的硬件协调冲突,不会打断DSP正常程序的运行。在HPI通信方式下,DSP的片内存储器对外界完全透明,由主机访问HPI的地址和数据寄存器便可完成对DSP片内存储器的读/写。 本文立足于实验经验,以TMS320VC5402与PC/104总线为例,介绍基于HPI口的硬件接口及软件实现。
1 TMS320VC5402 HPI口简介 主机接口HPI(Host Port Interface)是TMS320C5000系列定点芯片内部具有的一种接口部件,主要用于DSP与其它总线或CPU进行连接。TI的C54xx系列都提供了8位或16位的增强型HPI接口,在此以C5402增强型8位HPI接口为例进行详细介绍。 C5402的HPI口由一个8位数据总线和用于设备和控制接口的控制信号线组成,HPI接口通过HPI控制寄存器HPIC、地址寄存器HPIA、数据寄存器HPID和HPI内存块,实现与主机之间的通信。其主要特点在于接口所需外围硬件很少,很容易与各种主机相连,且仅需要很少甚至不需要外加接口逻辑。引脚功能如表1所示。 表1 HPI引脚的名称及功能 HPI引脚接至主机引脚状 态信号功能 HD0HD7 数据总线 I/O/Z HPI双向并行三态数据总线。当不传送数据(/HSC或/HDSx=1)或EMU1//OFF=0(切断所有输出)时,HD7(MSB)~HD0(LSB)均处于高阻态。 /HAS 地址锁存使能(ALE)或地址选通输入信号引脚,不用则接高电平 I 地址选通输入信号。如果主机的地址和数据是一条多路总线,则/HAS连到主机的ALE引脚;如果主机的地址和数据是分开的,就将/HAS接高电平。 /HCS 地址或控制线 I 片选信号。作为HPI的使能输入,主机在对HPI访问时信号/HCS要保持低电平。 HBIL 地址或控制线 I 字节输入识别信号。HBIL为低时读/写第一个字节,为高时读/写第二个字节。HBIL和HPI控制寄存器(HPIC)中的BOB位配合使用。 HCNTL0/1 地址或控制线 I 主机控制信号。选择主机所访问的是哪个寄存器:地址寄存器HPIA、数据寄存器HPID、控制寄存器HPIC。 /HDS1/2 读/写、数据选通输入信号引脚 I 数据选通输入。在主机访问期间控制HPI数据的传输。 /HINT 主机中断输入 O/Z 主机中断输入。由控制寄存器HPIC中的HINT位控制。当C54x复位时为高电平,EMU1//OFF低电平时为高阻态。 HRDY 异步准备好信号引脚 O/Z HPI接口准备好信号输出。HRDY为高说明HPI准备好数据传送(主机可进行数据传输),为低表示HPI接口忙(主机不可传输数据),正在进行上次传输的内部操作。 HR//W 读写选通信号引脚或地址线 I 读/写选通信号输入端。在主机访问期间控制数据的传输方向。高电平表示主机读HPI,低电平表示写HPI。 HPIENA VDD I HPI模块选择输入。信号必须和VDD联系起来,保证选择HPI。如果输入为开或接地,HPI模块将不会被选择。 HPI是8位的数据总线接口,由于C5402是16位的,所以与主机通信的数据都是由两个连续的字节组成,并且由HBIL引脚指示正在传输的是第一个还是第二个字节。主机使用HCNTL0/1指定所访问的是HPI控制寄存器HPIC或HPI数据寄存器HPID或HPI地址寄存器HPIA,也可以用地址自动增加的方式访问数据寄存器HPID,具体方式如表2所示。 表2 HCNTL0/1功能选择 HNTL0 HCNTL1 说 明 0 0 主机可以读写HPI的控制寄存器HPIC。 0 1 主机可以读写HPI的数据寄存器HPID。每次读后HPIA加1,每次写前HPIA加1。 1 0 主机可以读写HPI的地址寄存器HPIA。 1 1 主机可以读写HPI的数据寄存器HPID。对HPI口的操作,HPIA不受影响。 2 系统的硬件设计方案 整个硬件系统由DSP、EPM7128S、TPS73HD301、SST39VF400A等组成。DSP的主要任务是将经放大和解调后的无线电修正通道视频信号接收下来,现通过译码等处理后送给主探机。其原理如图1所示。 C5402采用低电压工作,其内核电压为1.8V、I/O管脚电压为3.3V,而PC/104总线工作于5V电压。为了使电路能稳定正常的工作,C5402的数据总线接有一个SN74LVC245A。它是TI公司生产的3.3V和5V电压平相转换的双向缓冲器,可以双电源供电,一边工作在 3.3V,一边工作在5V,转换的方向由两个DIR管脚控制。它串在数据总线上,既可以为DSP提供驱动5V数字电路的能力,也可以为DSP提供5V信号读入的保护。这样,就不再需要为多个不同外设而考虑总线驱动不够的问题。DSP主机接口和PC/104的连接如图2所示。 主机和DSP可独立地对HPI接口操作,主机和DSP的握手可通过中断方式完成。另外,主机还可以通过HPI接口装载DSP应用程序,接收DSP运行结果或诊断DSP运行状态,为DSP芯片的接口开发提供一种极为方便的途径。HPI-8为8位并行口,提供C54x与外部主机的接口,C54x可通过片内 RAM与主机设备交换数据。主机与HPI-8的通信是通过专用的地址寄存器和数据寄存器完成的,C54x不能直接读/写,HPI控制寄存器允许主机和 C54x进行读/写,包括配置通信协议和控制通信(握手)的比特。 EPM7128S用来提供整个系统需要的组合逻辑。它属于MAX7000系列,是Altera公司的基于第二代MAX结构的CPLD。它提供多达5000 个可用门和在系统编程,其引脚到引脚延时快达6ns。可以容纳各种各样的独立的组合逻辑和时序逻辑。EPM7128S有两个工作电压核电压为5V,I/O 工作电压可设为5V或3.3V。设为3.3V时,其输入为5V,而输出为3.3V TTL电平(所有的驱动器均能配置在3.3V和5V,允许用于混合电压系统中)。EPM7128S的优点是基于E2PROM原理,可以通过JTAG口进行在线编程,设计得可将设计内容从PC机上通过下载电缆和JTAG口对EPM7128S进行任意次修改。在这里使用EPM7128S是为电路提供组合逻辑以映射空间。它有多达100个I/O引脚可供编程使用,可以接入PS、IS等管脚,方便系统扩展存储空间和外设。
上一篇:基于CAN总线通信的设计与开发
下一篇:基于双口RAM的LonWorks智能通信节点设计
推荐阅读最新更新时间:2024-05-02 23:07