第11章:串行外设接口模块_第1页
第11章:串行外设接口模块_第2页
第11章:串行外设接口模块_第3页
第11章:串行外设接口模块_第4页
第11章:串行外设接口模块_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

周鹏安徽工程大学电气工程学院 第11章 串行外设接口模块 SPI 11 1串行外设接口概述11 2串行外设接口操作11 3串行外设接口寄存器 周鹏安徽工程大学电气工程学院 11 1串行外设接口概述 SPI 高速同步串行输入 输出端口 传送速率可编程应用 外部移位寄存器 D A A D 串行EEPROM LED显示驱动器等外部设备进行扩展 串行外设接口模块的特性4个外部引脚 以下引脚都可用作数字I O引脚 SPISIMO SPI从输入 主输出SPISOMI SPI主输入 从输出SPICLK SPI时钟SPISTE SPI从发送使能主动 从动两种工作方式125种可编程的波特率1 16个数据位同时接收和发送操作发送和接收操作可通过中断或查询方法完成 周鹏安徽工程大学电气工程学院 4种时钟方案 由时钟极性和时钟相位控制 无延时的下降沿有延时的下降沿无延时的上升沿有延时的上升沿9个8位的SPI模块控制寄存器SPICCR SPI配置控制寄存器 SPICTL SPI操作控制寄存器 SPISTS SPI状态寄存器 SPIBRR SPI波特率寄存器 SPIRXEMU SPI仿真缓冲寄存器 SPIRXBUF SPI串行输入缓冲寄存器 SPITXBUF SPI串行发送缓冲寄存器 SPIDAT SPI串行数据寄存器 SPIPRI SPI优先级控制 周鹏安徽工程大学电气工程学院 11 2串行外设接口操作 1 操作介绍下图是SPI用于两个控制器 一个主控制器和一个从控制器 通信的典型连接方式 周鹏安徽工程大学电气工程学院 由上图可知 SPI有两种工作模式 主模式和从模式 SPICTL 2位 MASTER SLAVE用来选择操作模式和SPICLK的源 1 主模式 将Master的数据传送给Slave 8位数据传送完毕 申请中断 2 从模式 将Slave的数据传送给Master 8位数据传送完毕 申请中断 周鹏安徽工程大学电气工程学院 数据的发送方式有三种 1 主控制器发送数据 从控制器发送伪数据 2 主控制器发送数据 从控制器发送数据 3 主控制器发送伪数据 从控制器发送数据 主控制器控制SPICLK信号 通过发出SPICLK信号启动数据发送 从控制器则通过检测SPICLK信号接收数据 一个主控制器可以连接多个从控制器 但是一次只允许一个从控制器给主控制器发送数据 周鹏安徽工程大学电气工程学院 2 串行外设接口中断有5个控制位用于初始化串行外设接口的中断 SPI中断使能位 SPIINTENA SPICTL 0 SPI中断标志位 SPIINTFLAG SPISTS 6 SPI超限中断使能位 OVERRUNINTENA SPICTL 4 SPI接收器超限中断标志位 RECEIVEROVERRUNFLAG SPISTS 7 SPI中断优先级选择位 SPIPRIORITY SPIPRI 6 在SPI中断使能的情况下 当数据被一如或移出SPIDAT寄存器后 中断标志位被置位 并产生中断 周鹏安徽工程大学电气工程学院 3 数据格式SPI通信时 要发送的数据从SPIDAT寄存器的MSB依次移出 接收的数据则从SPIDAT的LSB依次移入 SPI数据字符位数 1 16位 由SPICCR 3 0指定 当写入SPIDAT或SPITXBUF时 数据必须是左对齐的 数据从SPIRXBUF读回时是右对齐的 周鹏安徽工程大学电气工程学院 4 SPI波特率和时钟模式SPI模块支持125种不同的波特率和4种不同的时钟模式 SPI最大波特率为SYSCLK频率的四分之一 SPI波特率的确定SPI波特率取决于SYSCLK和SPIBRR的值 1 对于SPIBRR 3 127SPI波特率 SYSCLK SPIBRR 1 SPIBRR SYSCLK SPI波特率 1 2 对于SPIBRR 0 2SPI波特率 SYSCLK 4例11 1已知系统时钟频率SYSCLK 24MHz 现将波特率设置为3Mbps 试确定SPI波特率寄存器的值 SPIBRR 24 106 3 106 1 8 1 7H 周鹏安徽工程大学电气工程学院 SPI时钟模式SPI有四种时钟模式 由CLOCKPOLARITY和CLOCKPHASE位控制 CLOCKPOLARITY位 选择时钟的有效沿是上升沿还是下降沿 CLOCKPHASE位 选择是否有半个时钟周期的延时 1 下降沿 无延时 SPI在时钟下降沿发送数据 在时钟的上升沿接收数据 2 下降沿 有延时 SPI在时钟下降沿前半个周期发送数据 在时钟的下降沿接收数据 3 上升沿 无延时 SPI在时钟上升沿发送数据 在下降沿接收数据 4 上升沿 有延时 SPI在时钟上升沿前半个周期发送数据 在上升沿接收数据 4种时钟模式如图11 3 p271 所示 周鹏安徽工程大学电气工程学院 6 SPI的复位和初始化系统复位使SPI引脚功能被选定为通用输入 要对SPI的配置 需做以下工作 1 设置SPISWRESET位 SPICCR 7 的值为0 强制SPI复位 2 初始化SPI的配置 格式 波特率和引脚功能为期望值 3 设置SPISWRESET位为1 从复位状态释放SPI 4 向SPIDAT或SPITXBUF写数据 5 数据发送完成后 SPISTS 6 1 读取SPIRXBUF以确定接收的数据 周鹏安徽工程大学电气工程学院 11 3串行外设接口控制寄存器 9个控制寄存器地址位于7040h 704Fh之间串行外设接口配置控制寄存器 SPICCR 地址7040hSPI软件复位 移位时钟极性 数据长度选择 串行外设接口操作控制寄存器 SPICTL 地址7041h超时中断使能 时钟相位选择 工作方式选择 发送允许 中断使能 串行外设接口状态寄存器 SPISTS 地址7042hSPI接收过冲标志 中断标志 发送缓冲器满标志串行外设接口波特率设置寄存器 SPIBRR 地址7044h串行外设接口仿真接收缓冲寄存器 SPIRXEMU 地址7046h串行外设接口接收缓冲寄存器 SPIRXBUF 地址7047h串行外设接口发送缓冲

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论