一种通过SPI接口协议实现DSP与其它设备通信的方法

介绍了spi通信协议,并着重介绍了ti公司生产的tms320c5402 dsp用于spi协议通信时的串口配置方法和接口电路设计实例,最后给出了串口mcbsp的配置程序。
关键词:多通道缓冲串行口,主设备,从设备,necupd780308,spi,dsp
1 引 言
随着信息技术革命的深入和计算机技术的飞速发展,dsp技术也正以极快的速度应用到科技和国民经济的各个领域。在很多工程开发处理中,往往要求实现单片dsp芯片与单片dsp芯片、多片dsp芯片以及其它处理芯片的通信,怎样更高效、更便捷地实现通信,已成为广大dsp应用者必须首要解决的一个问题。
本文根据笔者在工程应用和调试tidsptms320c5402与necupd780308单片机通信的经验,着重介绍并讨论通过将c5402 dsp的多通道缓冲串行口mcbsp(multi-channel buffered serial port)配置为spi模式(即时钟停止模式),实现dsp与其它单片处理器通信,并给出部分程序代码,供读者们参考。
2 多通道缓冲串行口mcbsp
多通道缓冲串行口mcbsp的功能是提供器件内外数据串行交换。同以前的串口相比,mcbsp串口具有相当大的灵活性。表1给出了有关vc5402的mcbsp管脚的说明。其中串口接收、发送时钟和同步帧信号,既可由外部设备提供,又可由内部时钟发生器提供,大大地提高了通信的灵活性。
3 spi协议:mcbsp时钟停止模式
spi协议是以主从方式工作的,有一个主设备和一个或多个从设备,接口包括以下4个信号:串行数据输入(也称为主进从出,或miso);串行数据输出(也称为主出从进,或mosi);串行移位时钟(也称为sck);从使能信号(也称为ss)。
图1为设备接口示意图。
主设备通过提供移位时钟和从使能信号来控制信息的流动,从使能信号是一个可选的高低电平,它激活从设备(在没有时钟提供的情况下)的串行输入和输出。在没有专门的从使能信号的情况下,主从设备之间的通信则由移位时钟的有无来决定,在这种连接方式下,从设备必须自始至终保持激活状态,而且从设备只能是一个,不能为多个。
dspvc5402提供的时钟停止模式则可用于spi协议通信中,当mcbsp被配置为时钟停止模式时,发送器和接收器是内部同步的,即可将mcbsp配置为一个spi主或从设备。其中,可将发送数据帧时钟(fsx)用作从使能(即ss),而发送数据位时钟(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接口。
dspvc5402的mcbsp被用于时钟停止模式时,寄存器spcr1的clkstp位域和引脚配置寄存器的clkxp位的配置见表2。
4 mcbsp作为spi设备时的其它有关寄存器的配置
为了能使读者更好地掌握和了解当mcbsp作为spi设备时的有关寄存器配置,笔者将以mcbsp作为spi从设备运行为例,给读者介绍有关mcbsp的其它有关寄存器的配置,若mcbsp作为spi主设备,则相关配置相反即可。
当mcbsp作为spi从设备时,主设备外部产生主时钟。clkx引脚和fsx引脚必须被设置为输入。clkx引脚和clkr信号内部连接,从而传送和接收回路均由外部主时钟计时(clkx)。同时,fsx引脚和fsr信号内部连接,clkr引脚和fsr引脚不再需要外部信号连接。将mcbsp用作从设备的spi接口的例子如图3所示。
尽管clkx信号由主设备外部产生且与mcbsp同步,mcbsp的采样率发生器必须可以启动正确的spi从设备运行。采样率发生器应被编为它的最大速率(cpu时钟速率的一半)。内部采样率时钟被用来同步mcbsp逻辑和外部主时钟及从使能信号。每次传送,mcbsp需要fsx输入的从使能信号的上升沿。这就是说,在每次传送的开始,主设备必须维护从使能信号,在每次传送完成后,消除从使能信号。在两次传送之间,从使能信号不能一直保持为高电平。对正确的spi从设备运行而言,mcbsp的数据延迟参数必须设置为0,在这种运行模式中,值1或2没有定义。配置mcbsp为从设备所需的寄存器位值列在表3中。
5 程序设计
下面是有关c5402的mcbsp各个控制寄存器的配置,笔者在实践中已经测试过了,并且运用在了工程中,供读者们参考。
6 结束语
文中所介绍的串行spi通信协议,是一种标准的通信协议,在很多场合下,很多芯片采用的正是这种机制,文中举例将dsp作为从设备,目的是时钟可由主设备来提供,不用再专门去调试时钟,这为开发提供了很大的方便。 参考文献
1 李哲英,等.dsp基础理论与应用技术.北京:北京航空航天大学出版社,2002
2 王念旭,等.dsp基础与应用系统设计.北京:北京航空航天大学出版社,2001
苹果太狠:iPhone7销量减少还要求降价
银行里的智能引导接待、业务办理机器人
太龙照明宣布成立合资公司 注册资本为人民币1000万元
2019中关村论坛举行平行论坛“5G赋能未来产业”
超六类屏蔽双绞线适用于哪些场合呢
一种通过SPI接口协议实现DSP与其它设备通信的方法
应用案例 | 智能制帽流水设备上,这款传感器可以这样用~
为什么要使用PCB,PCB是如何设计的
启明云端分享|ESP32-C3 IO口控制灯的应用及串口通信示例
吉利斥资80亿加码动力电池,“战斗力”全面升级
全新指纹安全巡检系统
红米5确定12月7日发布,将引领手机全面屏普及
是谁赋予了人工智能强大的力量?
AnyDesk安力桌提供全面的移动设备支持
云手机干货!容器虚拟Android技术
如何打造具有竞争力的线缆数智化升级解决方案?
关于GaN在射频功率领域分析介绍
八佰智能锁业WATCHDOG D360F密码锁简介
详解红外遥控器作为单片机输入键盘的接口原理和方法
闪烁光疗法或有助于对抗老年痴呆症