- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SPI接口详细讲解
SPI串行外设接口(serial peripheral interface);一 SPI接口简介
SPI(Serial Peripheral Interface--串行外设接口)总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。如图1
;(1)MOSI??– 主设备数据输出,从设备数据输入
(2)MISO??– 主设备数据输入,从设备数据输出
(3)SCLK – 时钟信号,由主设备产生
(4)/SS?? – 从设备使能信号,由主设备控制
/SS(片选信号)是控制芯片是否被选中,也就是说只有片选信号为预先规定的使能信号时,对此芯片的操作才有效。这就允许在同一总线上连接多个SPI设备成为可能。;二 SPI相关的寄存器
(1) SCPR:控制寄存器:(SPI的大部分设置都在该寄存器) Bit3:CPOL (时钟极性);Bit2:CPHA(时钟相位)
(2)SPSR:标志寄存器:(查看一些标志和设置SPI速度,主要是用到SPIF这个标志位,接收完成和发送完成都会置位这个标志,进入中断服务程序或访问SPDR寄存器都可以清零这个标志)
。
(3)SPDR:数据寄存器:
;三SPI主从器件间数据传输框图
;
四 SPI串行外设接口举例
SPI串行数据传输结构由MISO、MOSI、SCLK、/SS构成,主要是在SCLK的控制下,两个双向移位寄存器进行数据交换。
CPOL(时钟极性)=0;
??? 上升沿发送、下降沿接收、高位先发送。
??? 上升沿到来的时候,MOSI上的电平将被发送到从设备的寄存器中。
??? 下降沿到来的时候,MISO上的电平将被接收到主设备的寄存器中。
??? 假设主机和从机初始化就绪:并且主机的sbuf=0xaa ,从机的sbuf=0x55 ,下面将分步对SPI的8个时钟周期的数据情况演示一遍(假设上升沿发送数据)。Sbuf(串行接收和发射缓冲器)
;脉冲;五SPI时序图分析
(1)CPOL=0, SCLK为低时总线空闲:
CPHA=0 数据在SCLK的上升沿(rising edge)被读取;数据在下降沿(falling edge)写入;
CPHA=1 数据在SCLK的下降沿(falling edge)被读取;数据在上升沿(rising edge)写入;
(2)CPOL=1, SCLK为高时总线空闲:
CPHA=0 数据在SCLK的下降沿(falling edge)被读取;数据在上升沿(falling edge)写入;
CPHA=1 数据在SCLK的上升沿(falling edge)被读取;数据在下降沿(rising edge)写入;
;六SPI优缺点
SPI接口具有如下优点:
? ? ? ?1)?支持全双工操作;
? ? ? ?2)?操作简单;
? ? ? ?3)?数据传输速率较高。
同时,它也具有如下缺点:
? ? ? 1)?需要占用主机较多的口线(每个从机都需要一根片选线);
? ? ? 2)?只支持单个主机;
? ??? 3)?没有指定的流控制,没有应答机制确认是否接收到数据;
4)从器件不能主动传输,收发都有主控器件控制。;
END
文档评论(0)