《嵌入式应用技术——基于STM32固件库编程》课件 SPI.ppt

《嵌入式应用技术——基于STM32固件库编程》课件 SPI.ppt

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SPI 什么是SPI SPI(Serial Peripheral Interface--串行外设接口)总线系统是一种同步串行外设接口,最初由Motorola提出,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。SPI总线可直接与各个厂家生产的多种标准外围器件相连,包括FLASH、RAM、网络控制器、LCD显示驱动器、A/D转换器和MCU等。 硬件结构 ? Master 主器件 SCLK MOSI /SS MISO ? Slave 从器件 SPI点对点通信 (1)MOSI – 主器件数据输出,从器件数据输入。 (2)MISO – 主器件数据输入,从器件数据输出。 (3)SCLK –时钟信号,由主器件产生。 (4)NSS – 从器件使能信号,由主器件控制,有的会标注为CS(Chip select) 另一种“SPI” 也有一些产家(比如Microchip)是按照SDO、SDI的方式来命名MOSI与MISO,这是站在器件的角度根据数据流向来定义的。 当主设备与从设备连接时,应该将一方的SDO连接另一个方的SDI。 多从机通信模式 ? ? ? ? ? Master 主器件 SCLK MOSI /SS1 MISO ? Slave1 从器件 /SS2 /SS2 SCLK MOSI MISO /SS1 ? Slave2 从器件 SCLK MOSI MISO /SS2 ? Slave3 从器件 SCLK MOSI MISO /SS3 SPI多从设备通信拓扑图 MOSI、MISO、SCLK可以采用总线的方式,主机使用使能端分别选通不同的从机构成多从机模式。 一般采用点对点模式 从设备多的时候,主设备需要相应更多的使能控制线,通信效率也不高,因此SPI一般使用在点对点的高速设备当中较多。为了简化线路,NSS可以省略不接。 ? Master 主器件 SCLK MOSI /SS MISO ? Slave 从器件 SPI点对点通信简化线路图 通信原理 CPOL(时钟极性)与CPHA(时钟相位) CPOL(Clock Polarity时钟极性)与CPHA(Clock Phase时钟相位) 如果SCLK在数据发送之前和之后的空闲状态是高电平,那么就是CPOL=1。相反,如果空闲状态的SCLK是低电平,那么CPOL=0。 规定当CPHA=0时,MOSI或MISO数据线上将会在SCLK时钟线的“奇数边沿”被采样;当 CPHA=1时,数据线在SCLK的“偶数边沿”采样。 SPI 模式 CPOL CPHA 空闲时 SCK 时钟 采样时刻 0 0 0 低电平 奇数边沿 1 0 1 低电平 偶数边沿 2 1 0 高电平 奇数边沿 3 1 1 高电平 偶数边沿 SPI工作模式 SPI工作模式 STM32F4的SPI接口 引脚 SPI 编号 SPI1 SPI2 SPI3 SPI4 SPI5 SPI6 MOSI PA7/PB5 PB15/PC3/PI3 PB5/PC12/PD6 PE6/PE14 PF9/PF11 PG14 MISO PA6/PB4 PB14/PC2/PI2 PB4/PC11 PE5/PE13 PF8/PH7 PG12 SCK PA5/PB3 PB10/PB13/PD3 PB3/PC10 PE2/PE12 PF7/PH6 PG13 NSS PA4/PA15 PB9/PB12/PI0 PA4/PA15 PE4/PE11 PF6/PH5 PG8 STM32的SPI结构 SPI时钟 时钟SCK STM32可以作为主设备或者从设备工作,一般来说MCU作为主设备与外部设备进行通信的时候都作为主设备,主设备负责SCK的产生工作。 SCK线的时钟信号,由波特率发生器根据控制寄存器SPI_CR1中的BR[2:0]位控制,这些位是对fpclk时钟的分频因子的设置,fpclk分频后的信号就是SCK引脚的输出时钟频率,计算方法见表。其中的fpclk频率指的就是SPI所在的APB总线频率:APB1为fpclk1,APB2为fpckl2。 BR[2:0] 分频结果(SCK频率) 000 fpclk/2 001 fpclk/4 010 fpclk/8 011 fpclk/16 100 fpclk/32 101 fpclk/64 110 fpclk/128 111 fpclk/256 SPI通信控制 (1)SPI_CR1 在SPI_CR1的CPOL与CPHA设置位,用于设置SPI的工作模式。CPOL为0时,表示空闲状态时,SCK保持低电平,为1时,表示空闲状态时,SCK保持高电平;CPHA为0时,表示从第一个时钟(奇数)边沿开始采样数据,为1时,表示从第二个时钟(偶数)边沿开始采样数据。对应SPI的四种工作模式。 SPI_CR1的DFF位可配置SPI的传送模式为8位及16位模

您可能关注的文档

文档评论(0)

lai + 关注
实名认证
内容提供者

精品资料

版权声明书
用户编号:7040145050000060

1亿VIP精品文档

相关文档