通过SPI接口协议实现DSP与其它设备的通信_第1页
通过SPI接口协议实现DSP与其它设备的通信_第2页
通过SPI接口协议实现DSP与其它设备的通信_第3页
通过SPI接口协议实现DSP与其它设备的通信_第4页
通过SPI接口协议实现DSP与其它设备的通信_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘要:介绍了SPI通信协议,给出了将TI公司生产的TMS320C5402 DSP用于SPI协议通信的串口配置方法和接口电路设计,同时给出了串口McBSP的配置程序。    关键词:多通道缓冲串行口 McBSP TMS320C5402 PD780308 SPI DSP1 引言随着信息技术革命的深入和计算机技术的飞速发展,DSP技术也正以极快的速度被应用到科技和国民经济的各信领域。在很多工程开发设计中,由于要求实现单片DSP与单片DSP、多片DSP芯片以及及其它处理芯片之间的通信,因此,怎样更高效、更便捷的实现这些通信,已成为广大DSP应用者首先要解决的一个问题。本文

2、根据笔者在工程应用和调试方面用TI的DSP TMS320C5402与NEC的PD780308单片机进行通信的经验,介绍并讨论了将TMS320C5402 DSP的多通道缓冲串行口McBSP(Multi-channel Buffered Serial Port)配置为SPI模式(即时钟停止模式),从而实现DSP与其它单片处理器之间的通信设计方法同时给出了实现方法的部分程序代码。2 多通道缓冲串行口McBSP多通道缓冲串行口McBSP的功能是提供器件内外数据的串行交换。同以前的串口相比,McBSP串口具有相当大的灵活性。表1给出了有关TMS320C5402的McBSP管脚说明。其中串口接收、发送时钟

3、和同步帧信号既可由外部设备提供,又可由内部时钟发生器提供,从而大大的提高了通信的灵活性。表1 TMS320C5402的有关McBSP管脚说明管脚说明说     明DR数据输入端DX数据输出端CLKR接收数据位时钟CLKX发送数据位时钟FSR接收数据帧时钟FSX发送数据帧时钟CLKS外部提供的采样率发生器时钟源3 SPI协议中的McBSP时钟停止模式SPI协议是以主从方式工作的,这种模式通常有一个主设备和一个或多个从设备,其接口包括以下四种信号:(1)串行数据输入(也称为主进从出,或MISO);(2)串行数据输出(也称为主出从进,或MOSI);(3)串行移

4、位时钟(也称为SCK);(4)从使能信号(也称为SS)。图1为设备的SPI接口示意图。该接口在工作时,主设备通过提供移位时钟和从使能信号来控制信息的流动。从使能信号是一个可选的高低电平,它可以激活从设备(在没有时钟提供的情况下)的串行输入和输出。在没有专门的从使能信号的情况下,主从设备之间的通信则由移位时钟的有无来决定,在这种连接方式下,从设备必须自始至终保持激活状态,而且从设备只能是一个,不能为多个。TMS320C5402提供的时钟停止模式可用于SPI协议通信,当McBSP被配置为时钟停止模式时,发送器和接收器在内部是同步的,即可将发送数据帧时钟(FSX)用作从使能(即SS),而将发送数据位

5、时钟(CLKX)用作SPI协议中SCK。由于收数据位时钟(CLKR)和接收数据帧时钟(FSR)在内部与FSX和CLKX是相连的,因此,该管脚不能用于SPI模式。当McBSP被配置为一个主设备时,传送输出信号(BDX)被用作SPI协议的MOSI信号,而接收输入信号(BDR)则被用作MISO信号。图2所示为McBSP用作主设备时的SPI接口示意图。同样地,当McBSP被配置为一个从设备时,BDX被用作MISO信号,BDR则被用作MOSI信号。图3为McBSP用作从设备的SPI接口示意图。当TMS320C5402的McBSP被用于时钟停止模式时,寄存器SPCR1的CLKSTP位域和引脚配置寄存器的C

6、LKXP位的配置如表2所列。表2 时钟停止模式配置CLKSTPCLKXP说    明0XX不可用时钟停止模式。时钟被激活用于非SPI模式100时钟开始于上升沿(无延迟)110时钟开始于上升沿(有延迟)101时钟开始于下降沿(无延迟)111时钟开始于下降沿(有延迟)4 其它有关寄存器的配置为了更好地掌握和了解McBSP作为SPI设备时的有关寄存器配置,现以McBSP作为SPI从设备来介绍有关McBSP的其它有关寄存器的配置,若McBSP做为SPI主设备,则相关配置正好相反。当McBSP作为SPI从设备时,主设备外部产生主时钟。CLKX引脚和FSX引脚必须被设置为输入

7、。由于CLKX引脚和CLKR信号在内部相连接,因而传送和接收回路均由外部主时钟计时(CLKX)。同时,由于FSX引脚和FSR信号也已在内部连接,因此,CLKR引脚和FSR引脚不再需要外部信号的连接。尽管CLKX信号由主设备外部产生且与McBSP同步,但是,McBSP的采样率发生器仍然必须正确启动SPI从设备,同时,采样率发生器还应被设置为最大速率(CPU时钟速率的一半)。另外,内部采样率时钟常被用来同步McBSP逻辑和外部主时钟以及从使能信号。每次传送时,McBSP一般在从使能信号的上升沿进行FSX输入。也就是说,在每次传送的开始,主设备必须维护使能信号,而在每次传送完成后,则必须消除从使能信

8、号。在两次传送之间,从使能信号不能一直保持为高电平。对正确的SPI从设备而言,McBSP的数据延迟参数必须设置为0,在这种运行模式中,设置值为1或2没有定义。配置McBSP为从设备所需的寄存器位值如表3所列。表3 SPI操作模式下的寄存器位值表位  域值功能描述寄存器CLKXM0配置BCLKX引脚为输入PCRCLKSM1由CPU时钟产生的采样率时钟SRGR2CLKGDV1为采样率时钟选择2的划分因素SRGR1FSXM0配置BFSX引脚为输入PCRFSGM0对每个包传送,BFSX信号被激活SRGR2FSXP1配置BFSX引脚为活动低电平PCRXDATDLY0为SPI从设备运行,必须为0

9、XCR2RDATDLY0为SPI从设备运行,必须为0RCR25 程序设计下面是有关TMS320C5402器件的McBSP各个控制寄存器的配置,该配置程序笔者在实践中已经过测试,并已成功运用在了某工程设计中。Void McBSP1_Config(void)offlset=0x0000;SPCR11=0x1800; ;配置串口时钟停止模式CLKSTP=10offlset=0x0001;SPCR21=0x0222;offlset=0x0005;SRGR11=0x00FA;offlset=0x0007;SRGR21=0xa00F;offlset=0x0002;RCR11=0x0040; ;接收一帧含一

10、字,一字含16位offlset=0x0003;RCR21=0x0044; 接收数据无延迟RDATDLY=00offlset=0x0004;XCR11=0x0040; ;发送一帧含一字,一字含16位offlset=0x0005;XCR21=0x0044; ;发送数据无延迟XDATDLY=00offlset=0x000E;PCR1=0x000; ;发送时钟由外部时钟驱动,CLKX为输入脚CLKX=0,发送时钟极性CLKXP=0,发送帧同步极性FSXP=1offlset=0x0008;MCR11=0x0001;offlset=0x0009;MCR21=0x0001;offlset=0x000C;XCERA1=0x0003;offlset=0x0001;SPCR21=0x0262;offlset=0x0001;SPCR21=0x0263;offlset

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论