TMS320VC5402DSP与51单片机的接口设计技术
发布时间:2008/5/27 0:00:00 访问次数:554
    
     tms320vc5402(vc5402)是德州仪器公司推出的具有较高性价比的定点数字信号处理器。vc5402增强外设由软件等待状态发生器、锁相环时钟发生器、6通道直接存储器访问( dma)控制器、增强型8位并行主机接口(hpi)等组成。两个可编程的多通道缓冲串口(mcbsp)能够全双工、快速地与其他同步串口进行数据交换,硬件连接简单,串口的工作模式和传送数据的格式可通过编程实现。dsp和单片机之间的通信一般利用双口ram,通过串口或dsp的hpi接口实现。
    
    利用双口ram实现
    
    cy7c026是cypress公司生产的16k×16b高速双口静态ram,存取速度小于25ns。他具有真正的双端口,可以同时进行数据存取,两个端口具有独立的控制信号线、地址线和数据线,另外通过主?从选择可以方便地扩存储容量和数据宽度。通过芯片的信号量标志器,左、右两端口可以实现芯片资源的共享。
    
    由于dsp的数据是16位,而单片机的数据是8位,所以tms320vc5402与双口ram的接口并无特别之处,但是89c51与双口ram之间的接口电路中就需要对89c51进行总线扩展了。具体做法是利用锁存器74hc373的锁存功能,通过对其使能信号的控制,进行分时读写,实现数据总线的扩展,即利用锁存器作为虚拟总线。dsp,单片机与双口ram之间的接口电路如图1所示。
    
    
    图1 通过双口ram实现的接口电路
    
    双口ram必须采用一定的机制来协调左右两边cpu对他的读写操作,否则会出现读写数据的错误。通常可以用中断、硬件、令牌和软件这4种方式来协调双方。在接口电路中利用89c51的最低地址位a0把双口ram的存储空间分为奇、偶地址两个空间。其中,奇地址空间专供89c51写,偶地址空间专供89c51读。那么只需对vc5402的软件做相应处理即可,即vc5402对双口ram的奇地址空间只读,对偶地址空间只写。这样就避免了dsp和单片机对双口ram同一地址单元的写入操作。另外,在对双口ram进行访问之前,单片机和dsp首先对本端的busy信号进行查询,只有本端/busy信号无效时才进行读写操作,进一步保证了数据读写的可靠性。
    
    通过串口实现
    
    vc5402多通道缓冲串行口(mcbsp)主要特点:双缓冲区发送,三缓冲区接收以便数据的连续性;接收与发送的帧同步、时钟信号独立;多通道发送和接收,最多可以到达128个通道;数据大小可为8,12,16,20,24和32b;μ率和a率压缩;帧同步、数据时钟极性可编程;内部时钟和帧同步可自行设定。
    
    vc5402串口通过16b宽度的控制寄存器与内部总线通信。
    
    数据接收过程:数据从输入引脚(dr)移位到接收移位寄存器(rsr),然后拷贝数据到接收缓冲寄存器(rbr),接着把数据拷贝到数据接收寄存器(drr),cpu或者dma控制器读取drr。
    
    数据输出过程:cpu或者dma把数据写到数据传输寄存器(dxr),再通过寄存器(xsr)移位到数据输出引脚dx6。
    
    对串口寄存器的访问是间接寻址方式,例如要对mcbsp数据寄存器进行访问,首先写串口控制寄存器spcr子地址到子地址寄存器spsa,然后对数据寄存器进行访问。硬件连接如图2所示。
    
    
    图2 通过mcbsp实现的硬件连接
    
    mcbsp的位时钟由内部采样率发生器产生,为uart波特率×16。
    
    在软件的设计中mcbsp的16位代表uart的1位。发送时,软件将uart的每一位扩展为16位,再由mcbsp发送。接收时,软件将mcbsp接收的16位压缩为uart的1位,并进行合并。软件还应负责处理uart的起始位、奇偶校验位和停止位。
    
    通过hpi和电平转换器件实现
    
    dsp芯片中的hpi(主机接口)是为了满足dsp与其他的微处理器接口而专门设计的。他分为hpi—8和hpi1—6,分别针
    对具有8位和16位数据线的单片机。每一种又分为标准型和增强型,区别在于标准型只可以访问固定的地址空间,而增
    
     tms320vc5402(vc5402)是德州仪器公司推出的具有较高性价比的定点数字信号处理器。vc5402增强外设由软件等待状态发生器、锁相环时钟发生器、6通道直接存储器访问( dma)控制器、增强型8位并行主机接口(hpi)等组成。两个可编程的多通道缓冲串口(mcbsp)能够全双工、快速地与其他同步串口进行数据交换,硬件连接简单,串口的工作模式和传送数据的格式可通过编程实现。dsp和单片机之间的通信一般利用双口ram,通过串口或dsp的hpi接口实现。
    
    利用双口ram实现
    
    cy7c026是cypress公司生产的16k×16b高速双口静态ram,存取速度小于25ns。他具有真正的双端口,可以同时进行数据存取,两个端口具有独立的控制信号线、地址线和数据线,另外通过主?从选择可以方便地扩存储容量和数据宽度。通过芯片的信号量标志器,左、右两端口可以实现芯片资源的共享。
    
    由于dsp的数据是16位,而单片机的数据是8位,所以tms320vc5402与双口ram的接口并无特别之处,但是89c51与双口ram之间的接口电路中就需要对89c51进行总线扩展了。具体做法是利用锁存器74hc373的锁存功能,通过对其使能信号的控制,进行分时读写,实现数据总线的扩展,即利用锁存器作为虚拟总线。dsp,单片机与双口ram之间的接口电路如图1所示。
    
    
    图1 通过双口ram实现的接口电路
    
    双口ram必须采用一定的机制来协调左右两边cpu对他的读写操作,否则会出现读写数据的错误。通常可以用中断、硬件、令牌和软件这4种方式来协调双方。在接口电路中利用89c51的最低地址位a0把双口ram的存储空间分为奇、偶地址两个空间。其中,奇地址空间专供89c51写,偶地址空间专供89c51读。那么只需对vc5402的软件做相应处理即可,即vc5402对双口ram的奇地址空间只读,对偶地址空间只写。这样就避免了dsp和单片机对双口ram同一地址单元的写入操作。另外,在对双口ram进行访问之前,单片机和dsp首先对本端的busy信号进行查询,只有本端/busy信号无效时才进行读写操作,进一步保证了数据读写的可靠性。
    
    通过串口实现
    
    vc5402多通道缓冲串行口(mcbsp)主要特点:双缓冲区发送,三缓冲区接收以便数据的连续性;接收与发送的帧同步、时钟信号独立;多通道发送和接收,最多可以到达128个通道;数据大小可为8,12,16,20,24和32b;μ率和a率压缩;帧同步、数据时钟极性可编程;内部时钟和帧同步可自行设定。
    
    vc5402串口通过16b宽度的控制寄存器与内部总线通信。
    
    数据接收过程:数据从输入引脚(dr)移位到接收移位寄存器(rsr),然后拷贝数据到接收缓冲寄存器(rbr),接着把数据拷贝到数据接收寄存器(drr),cpu或者dma控制器读取drr。
    
    数据输出过程:cpu或者dma把数据写到数据传输寄存器(dxr),再通过寄存器(xsr)移位到数据输出引脚dx6。
    
    对串口寄存器的访问是间接寻址方式,例如要对mcbsp数据寄存器进行访问,首先写串口控制寄存器spcr子地址到子地址寄存器spsa,然后对数据寄存器进行访问。硬件连接如图2所示。
    
    
    图2 通过mcbsp实现的硬件连接
    
    mcbsp的位时钟由内部采样率发生器产生,为uart波特率×16。
    
    在软件的设计中mcbsp的16位代表uart的1位。发送时,软件将uart的每一位扩展为16位,再由mcbsp发送。接收时,软件将mcbsp接收的16位压缩为uart的1位,并进行合并。软件还应负责处理uart的起始位、奇偶校验位和停止位。
    
    通过hpi和电平转换器件实现
    
    dsp芯片中的hpi(主机接口)是为了满足dsp与其他的微处理器接口而专门设计的。他分为hpi—8和hpi1—6,分别针
    对具有8位和16位数据线的单片机。每一种又分为标准型和增强型,区别在于标准型只可以访问固定的地址空间,而增
上一篇:一种实用的线性隔离检测电路
上一篇:CAN总线与USB的转接技术