详解TMS320VC5410的McBSP串行接口技术与程序设计
电流和1LSB的低漂移误差。DAC输出范围为0V至VREF。MAX541采用3线串行接口,兼容于SPITM/QSPITM/MICROWIRETM等串行通信协议。MAX541最高可以获得500×10 3采样点/秒的通过率,满足大多数应用的要求。MAX541采用8引脚DIP或SO封装。MAX541各引脚描述如表2所列。
表2 MAX541引脚说明
2.McBSP与MAX541的接口电路
TMS320VC5410与MAX541的接口电路如图3所示。
为使MAX541获得高分辨率和高精度,可以由MAX873提供高精度的+2.5V低阻抗基准电压源。为了消除高频和低频干扰,必须在REF引脚与模拟地之间接入退耦电容。由于AX541的数字输入DIN与TTL/CMOS逻辑电平兼容,因此,可以与TMS320VC5410的串行输出BDX直接连接。此外,必须严格隔离模拟地AGND和数字地DGND,最后在MAX541的AGND引脚上将模拟地和数字地连接在国起,构成星形的地线系统。在MAX541的输出端接入电压跟随型运算放大器MAX495。表3是数字输入代码与模拟输出电压之间的对应关系。
表3 MAX541单极性接口
DSP的发送帧同步脉冲信号(BFSX)作为MAX541的片选信号(CS),而发送时钟信号(BCLKX)作为MAX541的串行时钟输入。MAX541的三线接口电路时序如图4所示。
图4所示,在片选信号CS由高电平转变为低电平的同时,串行数据按照从最高有效位到最低有效位的顺序,在串行时钟的每个上升沿逐位移入片内的输入寄存器。
3.软件设计
下面通过产生国个锯齿波的例子来说明TMS320VC5410与MAX541之间的软件设计。
当McBSP作为SPI通信的主设备,由它为从设备提供时钟信号,并控制数据的传输过程。CLKX引脚上的时钟信号必须在数据包传输期间使能,当没有数据包传输时,时钟信号根据所采用的极性保持高电平或者低电平。通常,通过McBSP的采样率发生器产生10MHz时钟信号,由BCLKX引脚输出,作为MAX541的串行时钟输入信号。McBSP利用BFSX引脚为MAX541提供片选信号,因此必须正确设置帧脉冲发生器,使之在每个数据包传输期间产生帧同步脉冲,即在数据包传输的第一位转变为有效状态(在本例中为低电平有效,取决于MAX541的片选信号CS),然后维持有效状态直到数据包发送完毕。此外,根据SPI传输协议,必须正确设置数据发送延迟时间(XDATDLY=01b),由图4可知,在帧同步脉冲有效之后,大约延迟了一个时钟周期才进行串行数据的发送。根据图4所示的时序图,为McBSP选择一种合适的时钟方案,即设置McBSP的时钟停止模式。在本例中采用时钟停止模式3(CLKSTP=10b、CLKXP=1),其时钟方案如图5所示。
表4列出了一些与SPI设置相关的寄存器位。
表4 与SPI设置相关的些寄存器位
4.程序清单
程序首次初始化TMS320VC5410,使数据页指针(DP)为0,并且禁止中断。TMS320VC5410外接10Hz的时钟频率发生器,通过锁相环电路倍频至100MHz。接着初始化TMS320VC5410的多通道缓存串行口McBSP。最后,响应XRDY中断发送数据。
结束语
本文介绍了TMS320VC5410的多通道缓存串行口(McBSP)的功能特点,并结合实例子着重讨论了如何利用SPI接口协议实现McBSP与其他串行器件之间相互通信。
- MSP430与I2C总线接口技术的研究(06-14)
- 基于MC9S08QG4的便携式自动呼吸控制系统的设计(01-21)
- DSP的高速串行外设接口设计(05-07)
- 嵌入式应用中的四类1-Wire主机电路设计(08-03)
- 基于FPGA的串行接口SPI的设计与实现(06-05)
- 基于SERDES的数字系统中高效时钟设计方案(06-05)