欢迎来到天天文库
浏览记录
ID:48668272
大小:339.50 KB
页数:21页
时间:2020-01-24
《DSP完整课件第10课第11章串行外设接口SPI.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、SPISIMO-SPI从输入、主输出SPISOMI-SPI主输入、从输出SPICLK-SPI时钟SPISTE*-SPI从发送使能第11章串行外设接口SPISPI:高速同步串行输入/输出端口,传送速率可编程,应用:外部移位寄存器、D/A、A/D、串行EEPROM、LED显示驱动器等外部设备进行扩展。11.1串行外设接口的结构(1)4个外部引脚,以下引脚都可用作数字I/O引脚。(2)主/从操作模式。(3)发送、接收双缓冲。SPI模块中有9个寄存器用于控制该模块的操作:(1)SPICCR:SPI配置控制寄存器。(2)SPICTL:
2、SPI操作控制寄存器。(3)SPISTS:SPI状态寄存器。(4)SPIBRR:SPI波特率寄存器。(5)SPIRXEMU:SPI仿真缓冲寄存器。(6)SPIRXBUF:SPI串行输入缓冲寄存器。(7)SPITXBUF:SPI串行发送缓冲寄存器。(8)SPIDAT:SPI串行数据寄存器。(9)SPIPRI:SPI优先级控制。11.2.1SPI操作下图是SPI用于两个控制器(一个主控制器和一个从控制器)通信的典型连接方式。SPICLKSPICLKSPISIMOSPISIMOSPISTE*SPISTE*SPISOMISPISOM
3、I主出/从入SPI选通主入/从出串行时钟SPI主/从控制器连接SPI主控制器SPI从控制器SPI可工作于主模式或从模式。SPICTL.2位---MASTER/SLAVE用来选择操作模式和SPICLK的源。(1)主模式将Master的数据传送给Slave,数据传送完毕,申请中断。(2)从模式将Slave的数据传送给Master,数据传送完毕,申请中断。SPICLKSPIMOSISPICLK时钟SPIMOSISPICLKSPIMISOSPISTESPICLK时钟SPIMISOSPISTE由图知,SPI有两种工作模式:主模式和从模
4、式,操作模式由SPICTL.2(MASTER/SLAVE位)决定。数据的发送方式有三种:(1)主控制器发送数据,从控制器发送伪数据;(2)主控制器发送数据,从控制器发送数据;(3)主控制器发送伪数据,从控制器发送数据。主控制器控制SPICLK信号,通过发出SPICLK信号启动数据发送,从控制器则通过检测SPICLK信号接收数据。一个主控制器可以连接多个从控制器,但是一次只允许一个从控制器给主控制器发送数据11.2.2串行外设接口中断有五个控制位用于初始化串行外设接口的中断:SPI中断使能位:SPIINTENA(SPICTL.
5、0);SPI中断标志位:SPIINTFLAG(SPISTS.6);SPI超限中断使能位:OVERRUNINTENA(SPICTL.4);SPI接收器超限中断标志位:RECEIVEROVERRUNFLAG(SPISTS.7)SPI中断优先级选择位:SPIPRIORITY(SPIPRI.6)。11.2.3SPI模块的控制寄存器1.SPI配置控制寄存器(SPICCR)7040H对SPI的操作进行设置76543210软件复位位移位时钟极性保留保留数据长度控制位2.SPI操作控制寄存器(SPICTL)7041H76543210保留保留
6、保留超时中断使能SPI时钟相位选择位主从机设置位发送允许位SPI中断使能位3.SPI状态寄存器(SPISTS)7042HSPISTS接受缓冲器状态位76543210接收超时标识位中断标识位发送缓冲器满保留保留保留保留保留4.SPI波特率设置寄存器(SPIBRR)7044H设置波特率76543210保留波特率设置位SPI为主机则决定传输率6.SPI接收缓冲器寄存器(SPIRXBUF)7047HSPIRXBUF接收缓冲器读取该寄存器会清除SPISTS.6D15-D0接收到的数据,由于数据首先移动到SPIRXBUF的最高位,所以寄
7、存器中数据采用右对齐存储方式。7.SPI发送缓冲器寄存器(SPITXBUF)7048H存放下一个要发送的数据,写入数据会把TXBUFFLAG标识位置1,当前数据发送完之后,该寄存器内容自动装入SPIDAT然后自动清除TXBUFFLAG主模式下如果没有进行的发送,写入将启动一个发送9.SPI中断优先级控制寄存器(SPIPRI)704FHSPIPRI控制SPI中断的优先级76543210保留中断优先级设置位SPI仿真挂起操作控制位保留保留保留保留11.2.4SPI的设置SPI通信时,要发送的数据从SPIDAT寄存器的MSB依次移
8、出,接收的数据则从SPIDAT的LSB依次移入。SPI数据字符位数(1-16位)由SPICCR.3-0指定。当写入SPIDAT或SPITXBUF时,数据必须是左对齐的。数据从SPIRXBUF读回时是右对齐的。SOMILSB移位寄存器主机SIMOMSBMSB移位寄存器SPIDATLSB2.S
此文档下载收益归作者所有