嵌入式系统开发基础——基于ARM9微处理器C语言程序设计 教学课件 作者 978 7 302 25605 2 第十五章 串行外设接口(SPI).pptVIP

嵌入式系统开发基础——基于ARM9微处理器C语言程序设计 教学课件 作者 978 7 302 25605 2 第十五章 串行外设接口(SPI).ppt

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十五章 串行外设接口(SPI)介绍 主要内容: 15.1 SPI接口及操作 15.2 SPI接口控制寄存器 SPI(Serial Peripheral Interface,串行外设接口)总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信。外围设备可以是FLASH RAM、网络控制器、LCD显示驱动器、A/D转换器和MCU等。 15.1 SPI接口及操作 15.1.1 SPI接口原理   SPI接口的全称是“Serial Peripheral Interface”,意为串行外围接口,是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。 SPI接口是以主从方式工作的,这种模式通常有一个主器件和一个或多个从器件。接口包括以下四种信号:   (1)MOSI – 主器件数据输出,从器件数据输入。   (2)MISO – 主器件数据输入,从器件数据输出。   (3)SCLK – 时钟信号,由主器件产生。   (4) – 从器件使能信号,由主器件控制。 如图15-1所示,在SCLK的下降沿数据改变,同时一位数据被存入移位寄存器。 SPI接口内部硬件如图15-2所示: S3C2410 SPI0口结构详图如15-3所示: 15.1.2 SPI接口特性 ? 与SPI接口协议v2.11兼容; ? 8位用于发送的移位寄存器; ? 8位用于接收的移位寄存器; ? 8位预分频逻辑; ? 查询、中断和DMA传送模式; 15.1.3 SPI接口操作 通过SPI接口,S3C2410可以与外设同时发送/接收8位数据。串行时钟线与两条数据线同步,用于移位和数据采样。如果SPI是主设备,数据传输速率由SPPREn寄存器的相关位控制。可以修改频率来调整波特率寄存器的值。如果SPI是从设备,其他的主设备提供时钟,向SPDATn寄存器中写入字节数据,SPI发送/接收操作就同时启动。某些情况下nSS要在向SPDATn寄存器中写入字节数据之前激活。 15.1.4 SPI接口编程 如果ENSCK和SPCONn中的MSTR位都被置位,向SPDATn寄存器写一个字节数据,就启动一次发送。也可以使用典型的编程步骤来操作SPI: ? 设置波特率预分频寄存器(SPPREn)。 ? 设置SPCONn配置SPI模块。 ? 向SPDATn中写10次0xFF来初始化MMC或SD卡。 ? 把一个GPIO(当作nSS)清零来激活MMC或SD卡。 ? 发送数据→核查发送准备好标志(REDY=1),之后向SPDATn中写数据。 ? 接收数据(1):禁止SPCONn的TAGD位,正常模式→向SPDAT中写0xFF,确定REDY被置位后,从读缓冲区中读出数据。 ? 接收数据(2):使能SPCONn的TAGD位,自动发送虚拟数据模式→确定REDY被置位后,从读缓冲区中读出数据,之后自动开始数据传输。 ? 置位GPIO引脚(当作nSS的那个引脚),停止MMC或SD卡。 15.1.5 SPI口的传输格式 S3C2410支持4种不同的数据传输格式,图15-2显示了具体的波形图。 15.1.6 SPI通信模式 ? DMA模式,该模式不能用于从设备Format B形式。 ? 查询模式,如果接受从设备采用Format B形式,DATA_READ信号应该比SPICLK延迟一个相位。 ? 中断模式,如果接受从设备采用Format B形式,DATA_READ信号应该比SPICLK延迟一个相位。 15.2 SPI接口控制寄存器 15.2.1 SPI控制寄存器(SPICONn) SPI控制寄存器具体描述如表15-1所示。 15.2.2 SPI状态寄存器(SPSTAn) SPI状态寄存器如表15-2所列。 15.2.3 SPI引脚控制寄存器(SPPINn) SPI引脚控制寄存器如表15-3所列。 15.2.4 SPI波特率预分频寄存器(SPIPREn) SPI波特率预分频寄存器如表15-4所示。 15.2.5 SPI发送数据寄存器(SPTDATn) SPI发送数据寄存器如表15-5所示。 发送数据寄存器中存放待SPI口发送的数据。 15.2.6 SPI接收数据寄存器(SPRDATn) SPI接收数据寄存器如表15-6所列。 接收数据寄存器中存放SPI口接收到的数据。 15.3 参考编程例(详见书中) * * 概述 *

您可能关注的文档

文档评论(0)

时间加速器 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档