欢迎来到天天文库
浏览记录
ID:18103762
大小:908.50 KB
页数:34页
时间:2018-09-13
《dsp课件 第九章 串行外设接口(spi)课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第九章串行外设接口模块SerialPeripheralInterface(SPI)§9.1概述SPI模块是一个高速、同步串行I/O口。允许串行位流(1~16位)移入或移出器件。SPI用于和外设之间的通信。典型的应用:移位寄存器、显示驱动器、ADC以及日历时钟等I/O器件的扩展。支持多处理器通信。返回2SPI模块的特性包括:4个外部引脚:SPISOMI:SPI从机输出/主机输入引脚;(SPIslave-output/master-inputpin)SPISIMO:SPI从机输入/主机输出引脚;(SPIslave-input/master-outputpin):SPI从机选通使能引
2、脚;(SPIslavetransmit-enablepin)SPICLK:SPI串行时钟引脚。(SPIserial-clockpin)§9.1概述3两种工作方式:主机、从机。波特率:125种可编程。数据字长:1~16个数据位。4种时钟方案:(1)无延时的下降沿(2)有延时的下降沿(3)无延时的上升沿(4)有延时的上升沿同时接收和发送操作(发送功能可软件禁止)发送和接收操作可通过中断或查询方法来完成。§9.1概述4接口结构框图(从机方式)5§9.2串行外设接口操作串行外设接口的操作包括:操作方式、中断、数据格式、时钟源和初始化。9.2.1操作介绍两机之间的连接。主机输出SPICL
3、K信号启动数据传送。主机和从机数据在SPICLK的一个边沿移出,在另一个边沿锁存。返回6图9.2SPI主机/从机的连接7MASTER/SLAVE:选择工作方式和SPICLK时钟来源。1.主机方式SPICLK引脚提供串行通信时钟。数据从SIMO引脚输出在SOMI引脚输入。波特率寄存器(SPIBRR)决定发送和接收的位数率。向SPIDAT或SPITXBUF写入数据时就启动了SPISIMO引脚上的数据发送,先发送最高位。同时,接收数据通过SPISOMI引脚移入SPIDAT的最低位。选定数量位发送结束,则整个数据发送完毕。收到的数据传送到SPIRXBUF,右对齐供CPU读取。9.2.2
4、SPI的主机和从机方式8指定数量的数据位通过SPIDAT移位后,发生下列事件:SPIDAT中的内容传送到SPIRXBUF中;SPIINTFLAG位置位;如果SPITXBUF中有有效数据(TXBUFFULL标志位指示),则这个数据被传送到SPIDAT中并被发送,全部数据移出SPIDAT后,SPICLK时钟停止;如果SPIINTENA使能,将产生中断。9.2.2SPI的主机和从机方式9数据从SPISOMI引脚移出,SPISIMO引脚移入,SPICLK引脚输入串行时钟。发送数据:当主机SPICLK边沿合适时,从机中SPIDAT数据移出。全部数据移出后,SPITXBUF数据传送到SPI
5、DAT中。接收数据:来自主机的SPICLK信号,将SPISIMO引脚上的数据移入到SPIDAT。如果从机同时发送数据,则在SPICLK信号开始之前把数据写入到SPITXBUF或SPIDAT中。TALK(SPICTL.1)位清0时,数据传送禁止,从控制器输出引脚(SPISOMI)被置成高阻态。同一个SPI上可有多个从机,但是任一时刻只能有一个从机起作用。2.从机方式9.2.2SPI的主机和从机方式109.2.3串行外设接口中断五个控制位与中断相关:中断使能位SPIINTENA(SPICTL.0);中断标志位SPIINTFLAG(SPISTS.6);完整数据被移入或移出SPIDAT
6、后,SPIINTFLAG置位,产生中断请求。以下情况之一发生时被清除:读取SPIRXBUF软件清除SPISWRESET位(SPICCR.7);系统复位。越限中断使能位OVERRUNINTENA(SPICTL.4);越限中断标志位RECEIVEOVERRUNINTFLAG(SPISTS.7);表明缓冲器接收一个新数据,之前接收的数据已被覆盖。该位可用以下三种操作清除:写1到该位软件清除SPISWRESET位(SPICCR.7);系统复位。中断优先级选择位SPIPRIORITY(SPIPRI.6).119.2.4数据格式SPICCR.3~0(SPIConfigurationCont
7、rolRegister)确定数据位数(1~16位),少于16位数据情况:写入SPIDAT或SPITXBUF数据须左对齐。读出SPIRXBUF数据须右对齐。SPIRXBUF存放最新接收的数据位(右对齐),再加上以前遗留位。例:发送字符长度为1,且SPIDAT当前值为737Bh.在主机方式下,SPIDAT和SPIRXBUF数据发送前,后的数据格式如下:129.2.4数据格式139.2.5波特率设置和时钟方式SPI支持125种不同的波特率和4种不同的时钟方式。1.波特率的计算对于SPIBRR=3~
此文档下载收益归作者所有