- 1、本文档共108页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TMS320F2812串行外设接口Serial Peripheral Interface (SPI)
在采用SPI 实现数据通信过程中,在多个SPI 器件互联的系统中其中一个设备必须设置成Master 模式,其它设置为Slave 模式。主设备驱动总线上的时钟信号为其它从设备提供通信时钟 SPI 设备可以有以下几种工作模式: ?? Master 发送数据,Slave 发送伪数据; ?? Master 发送数据,其中一个Slave 发送数据 ?? Master 发送伪数据,其中一个Slave 发送数据; SPI 模块功能概述 在简单工作模式下,SPI可以通过移位寄存器实现数据交换,SPI通过SPIDAT寄存器移入或移出数据。 此外还可以通过可编程寄存器设置SPI接口的工作方式。在发送数据帧的过程中将16位的数据发送到SPITXBUF缓冲,直接从SPIRXBUF读取接收到的数据帧 C28x的SPI有两种操作模式: “基本操作模式” 在基本操作模式下,接收操作采用双缓冲,也就是在新的接收操作启动时CPU可以暂时不读取SPIRXBUF中接收到的数据,但是在新的接收操作完成之前必须读取SPIRXBUF,否则将会覆盖原来接收到的数据。在这种模式下,发送操作不支持双缓冲操作。在下一个字写到SPITXDAT寄存器之前必须将当前的数据发送出去,否则会导致当前的数据损坏。由于主设备控制SPICLK时钟信号,它可以在任何时候配置数据传输。 “增强的FIFO缓冲模式” 在增强的FIFO缓冲模式下,用户可以建立16级深度的发送和接收缓冲,而对于程序操作仍然使用SPITXBUF和SPIRXBUF寄存器。这样可以使SPI具有接收或发送16次数据的能力。此种模式下还可以根据两个FIFO的数据装载状态确定其中断级别 C28x的SPI接口特点 C28x的SPI接口特点 SPI 的数据传输 SPI主设备负责产生系统时钟,并决定整个SPI网络的通信速率。由于所有的SPI设备都采用相同的接口方式,可以通过调整处理器内部寄存器改变时钟的极性和相位 由于SPI器件并不一定遵循同一的标准,比如EEPROM,DAC,ADC,实时时钟,温度传感器等器件的SPI接口的时序都有所不同,为了能够满足不同的接口需要采用时钟的极性和相位可配就能够调整SPI的通信时序。 SPI设备传输数据过程中总是先发送或接收高字节数据,每个时钟周期接收器或收发器左移一位数据。对于小于16位的数据在发送之前必须左对齐,如果接收的数据小于16位则采用软件将无效的数据位屏蔽。 SPI接口有主和从两种操作模式,MASTER / SLAVE位(SPICTL.2)选择操作模式以及SPICLK信号的来源。 主控制器模式 工作在主模式下(MASTER/SLAVE = 1),SPI在SPICLK引脚为整个串行通信网络提供时钟。 数据从SPISIMO引脚输出,并锁存SPISOMI引脚上输入的数据。SPIBRR寄存器确定通信网络的数据传输的速率,通过SPIBRR寄存器可以配置126种不同的数据传输率。 写数据到SPIDAT或SPITXBUF寄存器启动SPISIMO引脚上的数据发送,首先发送的是最高有效位(MSB)。 同时,接收的数据通过SPISOMI引脚移入SPIDAT的最低有效位。 当传输完特定的位数后,接收到的数据被发送到SPIRXBUF寄存器,以备CPU读取。 数据存放在SPIRXBUF寄存器中,采用右对齐的方式存储。 当指定数量的数据位已经通过SPIDAT位移位后,则会发生下列事件: SPIDAT中的内容发送到SPIRXBUF寄存器中。 SPI INT FLAG位(SPISTS.6)置1。 如果在发送缓冲器SPITXBUF中还有有效的数据(SPISTS寄存器中的TXBUFFULL位标示是否存在有效数据),则这个数据将被传送到SPIDAT寄存器并被发送出去。否则所有位从SPIDAT寄存器移出后,SPICLK时钟立即停止; 如果SPI INT ENA位(SPICTL.0)置1,则产生中断; 在典型应用中,SPISTE引脚作为从SPI控制器的片选控制信号,在主SPI设备同从SPI设备之间传送信息的过程中,SPISTE置成低电平;当数据传送完毕后,该引脚置高。 从设备模式 在从模式中(MASTER/SLAVE = 0),SPISOMI引脚为数据输出引脚, SPISIMO引脚为数据输入引脚。 SPICLK引脚为串行移位时钟的输入,该时钟由网络主控制器提供,传输率也由该时钟决定。SPICLK输入频率应不超过CLKOUT频率的四分之一 当从SPI设备检测到来自网络主控制器的SPICLK信号的合适时钟边沿时,已经写入SPIDAT或SPITXBUF寄存器的数据被发送到网络上。 要发送字符的所有位移出SPIDAT寄存器后,写入到SPITXBUF寄存器的数据将会传送到SPIDAT寄存器。 如果向SPITXBUF写入数据时没有数据发送,
文档评论(0)