- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2015年6月 《单片机与嵌入式系统实践》 第十一章 串行外设( SPI )接口 Slide * 目录 11.1 SPI技术概述 11.2 HCS08的SPI模块 11.3 SPI模块寄存器 11.4 项目实践 SPI模块数据传送 Slide * 11.1 SPI技术概述 串行外围设备接口SPI(serial peripheral interface)是Motorola公司推出的一种同步串行接口,主要用于嵌入式处理器与外部接口芯片之间的通信。SPI是一种高速、全双工、同步的串行通信总线,使用时只需要占用4条信号线,及其简易方便。在很多的嵌入式处理器中都集成了这种通信协议标准的接口,以便与片外扩展芯片如EEPROM、Flash、实时时钟、A/D转换器、数字信号解码器和LCD显示驱动器等连接,一个SPI总线应用结构如图所示 Slide * 11.1 SPI技术概述 11.1.1 SPI总线工作过程 SPI总线需四条信号线完成MCU与各种外围器件的通讯,这四条信号线分别是:串行时钟线SPSCK(SPI Serial Clock)、主机输入/从机输出数据线MISO(Master Data In,Slave Data Out)、主机输出/从机输入数据线MOSI(Master Data Out,Slave Data In)、低电平有效从机选择线。一般在MCU中都会有对应的引脚供用户连接使用。 Slide * 11.1 SPI技术概述 11.1.1 SPI总线工作过程 SPI总线是一种基于主从模式的接口总线,前面提到的输入输出方向都是针对主设备而言的。当SPI工作于主模式时,SPI提供同步串行时钟,把发送的数据移位输出到MOSI引脚,把要读取的数据通过MISO引脚移位读入。同样,当SPI工作于从模式时,通过时钟信号SPSCK与主设备同步,把发送的数据移位输出到MISO引脚,把要读取的数据通过MOSI引脚移位读入。 Slide * 11.1 SPI技术概述 11.1.2 SPI总线时序 为适应来自不同厂商、不同种类的SPI外设,SPI总线模块通常都有一个可配置时钟极性(CPOL)位和时钟相位(CPHA)控制位来选择SPI0~SPI3四种时钟格式中的一种。在这四种工作方式中,使用最为广泛的是SPI0和SPI3方式。 Slide * 11.2 HCS08的SPI模块 11.2.1 内部结构与功能 HCS08的SPI模块由8位移位寄存器、时钟控制逻辑、引脚控制逻辑、SPI控制逻辑和分频器组成,如右图。 SPI模块的核心部件是SPI移位寄存器。 Slide * 11.2 HCS08的SPI模块 11.2.1 内部结构与功能 模块通过写SPID寄存器把发送数据写入到双缓冲发送器,在数据开始发送时,数据被传送到SPI移位寄存器。当移位完一个字节的数据后,数据被移位进入双缓冲的接收器,可通过读SPID来读取接收数据。 当SPI被配置为主设备时,时钟输出被连接到SPSCK引脚,移位寄存器的输出被连接到MOSI引脚,移位寄存器的输入被连接到MISO引脚。 当SPI被配置为从设备时,SPSCK引脚被连接到SPI模块的时钟输入,移位寄存器的输出被连接到MISO引脚,移位寄存器的输入被连接到MOSI引脚。 Slide * 11.2 HCS08的SPI模块 11.2.1 内部结构与功能 在时钟控制逻辑中,SPI 波特率发生器时钟源是总线时钟。三个分频位 (SPPR2 :SPPR21:SPPR0)共提供8种分频约数将总线频率分频得到预分频值。三位速率分割位(SPR2 :SPR21:SPR0)可组合成8种速率除数选择 将预分频值再次分频进而获得 SPI内部主机模式位率时钟 Slide * 11.2 HCS08的SPI模块 11.2.2 SPI模块引脚与功能 SPI模块的4个引脚和I/O端口复用。这些引脚的功能依赖于SPI控制寄存器中相关控制位的设定。 (1) SPSCK引脚 当SPI模块作为主设备时,此引脚作为串行时钟输出。当SPI模块作为从设备时,此引脚为串行时钟输入。 (2) MOSI引脚 当SPI作为主设备且SPI引脚控制位SPCO为0(非双向模式)时,此引脚作为串行数据输出。当SPI作为从设备且SPCO=0时,此引脚作为串行数据输入。 Slide * 11.2 HCS08的SPI模块 11.2.2 SPI模块引脚与功能 (3)MISO引脚 当SPI作为主设备且SPI引脚控制位SPCO为0(非双向模式)时,此引脚作为串行数据输入。当SPI作为
文档评论(0)