




免费预览已结束,剩余7页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
周鹏 安徽工程大学电气工程学院,第11章: 串行外设接口模块(spi),11.1 串行外设接口概述 11.2 串行外设接口操作 11.3 串行外设接口寄存器,周鹏 安徽工程大学电气工程学院,11.1 串行外设接口概述,spi:高速同步串行输入/输出端口,传送速率可编程 应用:外部移位寄存器、d/a、a/d、串行eeprom、led显示驱动器等外部设备进行扩展。 串行 外设 接口模块的特性 4个外部引脚,以下引脚都可用作数字i/o引脚。 spisimospi从输入、主输出 spisomispi主输入、从输出 spiclk spi时钟 spistespi从发送使能 主动/从动两种工作方式 125种可编程的波特率 116个数据位同时接收和发送操作 发送和接收操作可通过中断或查询方法完成,周鹏 安徽工程大学电气工程学院,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中断使能位:spi int ena (spictl.0); spi中断标志位:spi int flag(spists.6); spi超限中断使能位:overrun int ena(spictl.4); spi接收器超限中断标志位:receiver overrun flag(spists.7); spi中断优先级选择位:spi priority(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=3127 spi波特率=sysclk/(spibrr+1) spibrr=sysclk/spi波特率-1 (2) 对于spibrr=02 spi波特率=sysclk/4 例11.1 已知系统时钟频率sysclk=24mhz,现将波特率设置为3mbps,试确定spi波特率寄存器的值。 spibrr=24106/(3106)-1=8-1=7h,周鹏 安徽工程大学电气工程学院,spi时钟模式 spi有四种时钟模式,由clock polarity和clockphase位 控制。 clock polarity位:选择时钟的有效沿是上升沿还是下降沿; clock phase位:选择是否有半个时钟周期的延时。 (1)下降沿,无延时:spi在时钟下降沿发送数据,在时钟的上升沿接收数据; (2)下降沿,有延时:spi在时钟下降沿前半个周期发送数据,在时钟的下降沿接收数据; (3)上升沿,无延时:spi在时钟上升沿发送数据,在下降沿接收数据; (4)上升沿,有延时:spi在时钟上升沿前半个周期发送数据,在上升沿接收数据。 4种时钟模式如图11.3(p271)所示。,周鹏 安徽工程大学电气工程学院,6、spi的复位和初始化 系统复位使spi引脚功能被选定为通用输入,要对spi的配置,需做以下工作: (1)设置spi sw reset位(spiccr.7)的值为0,强制spi复位; (2)初始化spi的配置、格式、波特率和引脚功能为期望值; (3)设置spi sw reset位为1,从复位状态释放spi; (4)向spidat或spitxbuf写数据; (5)数据发送完成后(spists.6=1),读取spirxbuf以确定接收的数据。,周鹏 安徽工程大学电气工程学院,11.3 串行外设接口控制寄存器,9个控制寄存器地址位于7040h704fh之间 串行外设接口配置控制寄存器(spiccr)地址7040h spi软件复位、移位时钟极性、数据长度选择。 串行外设接口操作控制寄存器(spictl)地址7041h 超时中断使能、时钟相位选择、工作方式选择、发送允许、中断使能。 串行外设接口状态寄存器(spists)地址7042h spi接收过冲标志、中断标志、发送缓冲器满标志 串行外设接口波特率设置寄存器(spibrr)地址7044h 串行外设接口仿真接收缓冲寄存器(spirxemu)地址7046h 串行外设接口接收缓冲寄存器(spirxbuf)地址7047h 串行外设接口发送缓冲
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论