单片微型计算机原理及接口技术-21-串行通信-SPI-5_第1页
单片微型计算机原理及接口技术-21-串行通信-SPI-5_第2页
单片微型计算机原理及接口技术-21-串行通信-SPI-5_第3页
单片微型计算机原理及接口技术-21-串行通信-SPI-5_第4页
单片微型计算机原理及接口技术-21-串行通信-SPI-5_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

单片微型计算机原理及接口技术(21)1/22内容提纲二STC8H8K64U单片机SPI接口的数据通信一STC8H8K64U单片机SPI接口的结构2/22STC8H8K64U单片机SPI接口的结构一3/221.SPI接口简介STC8H8K64U集成了串行外设接口(SerialPeripheralInterface,简称SPI)。SPI接口既可以和其他微处理器通信,也可以与具有SPI兼容接口的器件,如存储器、A/D转换器、D/A转换器、LED或LCD驱动器等进行同步通信(例如,液晶模块12864)。SPI接口有两种操作模式:主模式和从模式。在主模式中支持高达3Mbit/s的速率;从模式时速度无法太快,速度在SYSclk/8以内较好。此外,SPI接口还具有传输完成标志和写冲突标志保护功能。4/22

2.SPI接口的结构5/22STC8H8K64U单片机的SPI接口数据通信二6/22

7/22

8/22

9/22

图SPI接口的单主机-单从机连接方式10/22(2)双器件方式在双器件方式中,两个设备相连,主机和从机不固定。有两种设置方法,分别是:设置方法1:两个设备初始化时都设置为SSIG设置为0,MSTR设置为1,且将SS脚设置为双向口模式输出高电平。此时两个设备都是不忽略SS的主机模式。当其中一个设备需要启动传输时,可将自己的SS脚设置为输出模式并输出低电平,拉低对方的SS脚,这样另一个设备就被强行设置为从机模式了。设置方法2:两个设备初始化时都将自己设置成忽略SS的从机模式,即将SSIG设置为1,MSTR设置为0。当其中一个设备需要启动传输时,先检测SS脚的电平,如果时候高电平,就将自己设置成忽略SS的主模式,即可进行数据传输了。双器件方式也称为互为主从方式,其连接方式如下图所示。图SPI接口的双器件连接方式11/22(3)单主机-多从机方式在这种方式中,多个设备相连,其中一个设备固定作为主机,其他设备固定作为从机。主机的设置:SSIG设置为1,MSTR设置为1,固定为主机模式。主机可以使用任意端口分别连接各个从机的SS脚,拉低其中一个从机的SS脚即可使能相应的从机设备。从机的设置:SSIG设置为0,SS管脚作为从机的片选信号。单主机-多从机方式的连接如下图所示。图

SPI接口的单主机-多从机连接方式12/22STC8H8K64U单片机进行SPI通信时,主机和从机的选择由SPEN、SSIG和MSTR联合控制。主机和从机的选择见表8-8。表8-8

主机和从机的选择13/22控制位通信端口说明SPENSSIGMSTRSSMISOMOSISCLK0xxx输入输入输入关闭SPI功能,SS/MOSI/MISO/SCLK均为普通IO1000输出输入输入从机模式,且被选中1001高阻输入输入从机模式,但未被选中101→00输出输入输入从机模式,不忽略SS且MSTR为1的主机模式,当SS管脚被拉低时,MSTR将被硬件自动清零,工作模式将被被动设置为从机模式1011输入高阻高阻主机模式,空闲状态输出输出主机模式,激活状态110x输出输入输入从机模式111x输入输出输出主机模式

3.SPI接口的数据通信过程在SPI通信中,数据传输总是由主机启动的。如果SPI使能(SPEN=1)并选择作为主机时,主机对SPI数据寄存器SPDAT的写操作将启动SPI时钟发生器和数据的传输。在数据写入SPDAT之后的半个到一个SPI位时间后,数据将出现在MOSI引脚。写入主机SPDAT寄存器的数据从MOSI脚移出发送到从机的MOSI脚。同时从机SPDAT寄存器的数据从MISO脚移出发送到主机的MISO脚。传输完一个字节后,SPI时钟发生器停止,传输完成标志(SPIF)置位,如果SPI中断使能则会产生一个SPI中断。主机和从机CPU的两个移位寄存器可以看作是一个16位循环移位寄存器。当数据从主机移位传送到从机的同时,数据也以相反的方向移入。这意味着在一个移位周期中,主机和从机的数据相互交换。14/224.SPI中断如果允许SPI中断,发生SPI中断时,CPU就会跳转到中断服务程序的入口地址004BH处执行中断服务程序。注意,在中断服务程序中,必须把SPI中断请求标志清零。5.写冲突SPI在发送时为单缓冲,在接收时为双缓冲。这样在前一次发送尚未完成之前,不能将新的数据写入移位寄存器。当发送过程中对数据寄存器进行写操作时,WCOL位将置位以指示数据冲突。在这种情况下,当前发送的数据继续发送,而新写入的数据将丢失。接收数据时,接收到的数据传送到一个并行读数据缓冲区,这样将释放移位寄存器以进行下一个数据的接收。但必须在下个字符完全移入之前从数据寄存器中读出接收到的数据,否则,前一个接收数据将丢失。WCOL可通过软件向其写入“1”清零。15/226.数据格式SPI接口的时钟信号线SCLK有Idle和Active两种状态:Idle状态是指在不进行数据传输的时候(或数据传输完成后)SCLK所处的状态;Active是与Idle相对的一种状态。时钟相位位(CPHA)允许用户设置采样和改变数据的时钟边沿。时钟极性位CPOL允许用户设置时钟极性。如果CPOL=0,Idle状态=低电平,Active状态=高电平。如果CPOL=1,Idle状态=高电平,Active状态=低电平。主机总是在SCLK=Idle状态时,将下一位要发送的数据置于数据线MOSI上。从Idle状态到Active状态的转变,称为SCLK前沿。从Active状态到Idle状态的转变,称为SCLK后沿。一对SCLK前沿和后沿构成一个SCLK时钟周期,一个SCLK时钟周期传输一位数据。不同的CPHA,主机和从机对应的数据格式如图1~图4所示。16/22图8-26CPHA=0时SPI从机传输格式17/22图8-27CPHA=1时SPI从机传输格式18/22图8-28CPHA=0时SPI主机传输格式19/22图8-29CPHA=1时SPI主机传输格式20/227

温馨提示

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

评论

0/150

提交评论