位置:51电子网 » 技术资料 » 接口电路

TMS320VC5402的HPI与51单片机的接口设计

发布时间:2008/6/3 0:00:00 访问次数:665

电子元器件应用

0 引言

  tms320vc5402是ti公司推出的性价比极高的定点数字信号处理器(dsp)。它具有先进的多总线结构(三条16位数据存储器总线和一条程序存储器总线);其数据/程序寻址空间为1 m×16 bit: 内置4 k×16 bitp/drom和16 k×16 bit-daram;此外,该dsp内含两个多通道缓冲串行口,一个8位并行与外部处理器通信的hpi口,2个16位定时器以及6通道dma控制器;具有低功耗,适合电池供电设备等特点[1]。

  51系列单片机是一种很经典的单片机。20多年来一直久盛不衰。而且intel通过授权5l内核,目前已出现了很多第三方生产的51系列产品。这些产品一般都具有较高的时钟频率和较大的存储空间,而且还能运行嵌入式操作系统。因而极大地提高了单片机的性能,扩大了它的应用范围。

1 tms320vc5402的主机接口(hpi)

  hpi(主机接口)是主机与tms320vc5402进行数据交换的8 bit并行数据口。该接口在tms320vc5402芯片上,内部有数据寄存器(hpid),控制寄存器(hpic)及地址寄存器(hpia)。hpi口可用8 bit数据线传输16 bit的数据,并可通过设置控制寄存器的相关位来控制高8位和低8位传输。hpi有两种工作方式:一种是主机独占模式 (hom); 另一种是主机和tms320vc5402共享模式(sam)。其中sam是通用方式,二者都可寻址hpi存储器(daram)。当二者产生冲突时,主机具有较高的优先权,而在tms320vc5402插人一个等周期。通过hpi传输的数据率是每5个clkout时钟周期传输1字节。

  hpi通信主要是通过对hpia、hpic和hpid3个寄存器赋值来实现的。简单地说,host通过外部引脚hcntl0和hcntll选中不同的寄存器后,就将当前8位数据发送到该寄存器中了。由于hpic是16位寄存器,而hpi口总是传送8位数据宽度,所以用host向hpic写数据时,需要发送两个一样的8位数据。对tms320vc5402来说,仅低8位有意义。当地址寄存器hpia选择后,直接向它写数据就可以了,但是要注意msb和lsb的顺序。另外,hpia具有自动增长的特性,即在每写入一个数据前和每读一个数据后hpia都会自动加1。这样,如果使用了该功能,只需设定一次hpia即可实现连续数据块的写入和读出,只是在实现时,数据应首先从主机发到hpid中,然后再根据hpia指定的地址把hpid中的数据再写到片内ram的地址中。

2 dsp与单片机的通信

  由于本系统具有主从式双cpu结构,因此,dsp从处理器和单片机主处理器之间的数据通信是必不可少的。它们之间的通信接口设计是整个系统的一个关键。对于dsp和单片机的具体连接方案,考虑到不论是接串口还是接i/o口都要占用dsp的硬件资源,同时软件开销也非常大。而tms320vc5402提供有hpi接口,可专用于dsp和主机之间的通信,因此dsp在通过hpi口和主机通信的过程中完全没有硬件和软件开销,而是由dsp自身的硬件来协调冲突,因从而不会打断dsp正常程序的运行。在hpi通信方式下,dsp的片内存储器对外界是完全透明的,可由主机通过访问hpi的地址和数据寄存器来完成对dsp片内存储器的读写。本系统采取dsp的hpi口和单片机的p0口相连来作为数据传输口从而实现两者的交互。

2.1 dsp和单片机的硬件接口设计

  本设计选取atmel公司的at89c51单片机作为主机,并以i/o接口方式连接dsp和at89c51,设计时使用了at89c51的两个通用i/o端口p0和p2,其硬件接口原理图如2所示。图中将at89c51的端口p0和hpi的8位数据线hd0一~hd8相连作为数据传输通道,p20~p24设置为输出以控制hpi口的操作。其中p2.0和p2.1分别连接hcntl0和hcntll以实现对hpic、hpia和hpid寄存器的访问,p2.2连接字节识别信号hbil可控制读写数据是属16位字的第一字节还是第二字节,p2.4作为读写控制选通信号连接hr/w,p2.7与hcs相连,而连接hds1作为数据选通信号来锁存有效的hcntl0/1,hbil和hr/w信号。 int0作为输入与hpi口的主机中断信号hint相连。ale与has相连,wr和hds2相连。由hpi接口的原理可知,在hcntl0/1、hbil和hr/w信号有效之后,设置hds1为低电平可实现读写的数据选通,从而完成at89c51对dsphpi口的读写操作。在数据交换过程中,at89c51向hpi发送数据可通过置tms320vc5402的hpi控制寄存器hpic中的dspint位为1来中断5402。at89c51接收来自hpi的数据时则可用查询方式。当tms320vc5402dsp准备发送数据时,置/hint信号为低。当at89c51查询到int0为低时,系统将调用接收数据子程序来实现数据的接收。

  tms320vc5402 dsp的外部i/o引脚用的是3.3 v逻辑电平,而at89c51单片机用的是5 v逻辑电平,两者之间存在电平差异而不能直接相连,故采用74lvc16245进行接口隔离同时还可增强dsp的总线驱动能力。

2.2 通过hpi接口读取数据的软件设计

  在硬件搭建好后,接下来便是软件功能模块的设计工作。本系统主机程序主要完成hpi寄存器的选择、时序的构建和数据读/写等。可根据dsp hpi接口的工作时序置hpiena引脚为高电平,使能dsp进入hpi工作模式,然

电子元器件应用

0 引言

  tms320vc5402是ti公司推出的性价比极高的定点数字信号处理器(dsp)。它具有先进的多总线结构(三条16位数据存储器总线和一条程序存储器总线);其数据/程序寻址空间为1 m×16 bit: 内置4 k×16 bitp/drom和16 k×16 bit-daram;此外,该dsp内含两个多通道缓冲串行口,一个8位并行与外部处理器通信的hpi口,2个16位定时器以及6通道dma控制器;具有低功耗,适合电池供电设备等特点[1]。

  51系列单片机是一种很经典的单片机。20多年来一直久盛不衰。而且intel通过授权5l内核,目前已出现了很多第三方生产的51系列产品。这些产品一般都具有较高的时钟频率和较大的存储空间,而且还能运行嵌入式操作系统。因而极大地提高了单片机的性能,扩大了它的应用范围。

1 tms320vc5402的主机接口(hpi)

  hpi(主机接口)是主机与tms320vc5402进行数据交换的8 bit并行数据口。该接口在tms320vc5402芯片上,内部有数据寄存器(hpid),控制寄存器(hpic)及地址寄存器(hpia)。hpi口可用8 bit数据线传输16 bit的数据,并可通过设置控制寄存器的相关位来控制高8位和低8位传输。hpi有两种工作方式:一种是主机独占模式 (hom); 另一种是主机和tms320vc5402共享模式(sam)。其中sam是通用方式,二者都可寻址hpi存储器(daram)。当二者产生冲突时,主机具有较高的优先权,而在tms320vc5402插人一个等周期。通过hpi传输的数据率是每5个clkout时钟周期传输1字节。

  hpi通信主要是通过对hpia、hpic和hpid3个寄存器赋值来实现的。简单地说,host通过外部引脚hcntl0和hcntll选中不同的寄存器后,就将当前8位数据发送到该寄存器中了。由于hpic是16位寄存器,而hpi口总是传送8位数据宽度,所以用host向hpic写数据时,需要发送两个一样的8位数据。对tms320vc5402来说,仅低8位有意义。当地址寄存器hpia选择后,直接向它写数据就可以了,但是要注意msb和lsb的顺序。另外,hpia具有自动增长的特性,即在每写入一个数据前和每读一个数据后hpia都会自动加1。这样,如果使用了该功能,只需设定一次hpia即可实现连续数据块的写入和读出,只是在实现时,数据应首先从主机发到hpid中,然后再根据hpia指定的地址把hpid中的数据再写到片内ram的地址中。

2 dsp与单片机的通信

  由于本系统具有主从式双cpu结构,因此,dsp从处理器和单片机主处理器之间的数据通信是必不可少的。它们之间的通信接口设计是整个系统的一个关键。对于dsp和单片机的具体连接方案,考虑到不论是接串口还是接i/o口都要占用dsp的硬件资源,同时软件开销也非常大。而tms320vc5402提供有hpi接口,可专用于dsp和主机之间的通信,因此dsp在通过hpi口和主机通信的过程中完全没有硬件和软件开销,而是由dsp自身的硬件来协调冲突,因从而不会打断dsp正常程序的运行。在hpi通信方式下,dsp的片内存储器对外界是完全透明的,可由主机通过访问hpi的地址和数据寄存器来完成对dsp片内存储器的读写。本系统采取dsp的hpi口和单片机的p0口相连来作为数据传输口从而实现两者的交互。

2.1 dsp和单片机的硬件接口设计

  本设计选取atmel公司的at89c51单片机作为主机,并以i/o接口方式连接dsp和at89c51,设计时使用了at89c51的两个通用i/o端口p0和p2,其硬件接口原理图如2所示。图中将at89c51的端口p0和hpi的8位数据线hd0一~hd8相连作为数据传输通道,p20~p24设置为输出以控制hpi口的操作。其中p2.0和p2.1分别连接hcntl0和hcntll以实现对hpic、hpia和hpid寄存器的访问,p2.2连接字节识别信号hbil可控制读写数据是属16位字的第一字节还是第二字节,p2.4作为读写控制选通信号连接hr/w,p2.7与hcs相连,而连接hds1作为数据选通信号来锁存有效的hcntl0/1,hbil和hr/w信号。 int0作为输入与hpi口的主机中断信号hint相连。ale与has相连,wr和hds2相连。由hpi接口的原理可知,在hcntl0/1、hbil和hr/w信号有效之后,设置hds1为低电平可实现读写的数据选通,从而完成at89c51对dsphpi口的读写操作。在数据交换过程中,at89c51向hpi发送数据可通过置tms320vc5402的hpi控制寄存器hpic中的dspint位为1来中断5402。at89c51接收来自hpi的数据时则可用查询方式。当tms320vc5402dsp准备发送数据时,置/hint信号为低。当at89c51查询到int0为低时,系统将调用接收数据子程序来实现数据的接收。

  tms320vc5402 dsp的外部i/o引脚用的是3.3 v逻辑电平,而at89c51单片机用的是5 v逻辑电平,两者之间存在电平差异而不能直接相连,故采用74lvc16245进行接口隔离同时还可增强dsp的总线驱动能力。

2.2 通过hpi接口读取数据的软件设计

  在硬件搭建好后,接下来便是软件功能模块的设计工作。本系统主机程序主要完成hpi寄存器的选择、时序的构建和数据读/写等。可根据dsp hpi接口的工作时序置hpiena引脚为高电平,使能dsp进入hpi工作模式,然

相关IC型号

热门点击

 

推荐技术资料

耳机放大器
    为了在听音乐时不影响家人,我萌生了做一台耳机放大器的想... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!