ImageVerifierCode 换一换
格式:DOCX , 页数:8 ,大小:18.25KB ,
资源ID:29566277      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/29566277.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(spi协议实例.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

spi协议实例.docx

1、spi协议实例竭诚为您提供优质文档/双击可除spi协议实例篇一:spi协议一spi协议概括spi,是英语serialperipheralinterface的缩写,顾名思义就是串行外围设备接口。是motorola首先在其mc68hcxx系列处理器上定义的。spi接口主要应用在eepRom,Flash,实时时钟,ad转换器,还有数字信号处理器和数字信号解码器之间。spi,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为pcb的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议,比如at91Rm9200.spi的通

2、信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(单向传输时)。也是所有基于spi的设备共有的,它们是sdi(数据输入),sdo(数据输出),sck(时钟),cs(片选)。(1)sdo主设备数据输出,从设备数据输入(2)sdi主设备数据输入,从设备数据输出(3)sclk时钟信号,由主设备产生(4)cs从设备使能信号,由主设备控制其中cs是控制芯片是否被选中的,也就是说只有片选信号为预先规定的使能信号时(高电位或低电位),对此芯片的操作才有效。这就允许在同一总线上连接多个spi设备成为可能。接下来就负责通讯的3根线了。通讯是通过数据交换

3、完成的,这里先要知道spi是串行通讯协议,也就是说数据是一位一位的传输的。这就是sck时钟线存在的原因,由sck提供时钟脉冲,sdi,sdo则基于此脉冲完成数据传输。数据输出通过sdo线,数据在时钟上升沿或下降沿时改变,在紧接着的下降沿或上升沿被读取。完成一位数据传输,输入也使用同样原理。这样,在至少8次时钟信号的改变(上沿和下沿为一次),就可以完成8位数据的传输。要注意的是,sck信号线只由主设备控制,从设备不能控制信号线。同样,在一个基于spi的设备中,至少有一个主控设备。这样传输的特点:这样的传输方式有一个优点,与普通的串行通讯不同,普通的串行通讯一次连续传送至少8位数据,而spi允许数

4、据一位一位的传送,甚至允许暂停,因为sck时钟线由主控设备控制,当没有时钟跳变时,从设备不采集或传送数据。也就是说,主设备通过对sck时钟线的控制可以完成对通讯的控制。spi还是一个数据交换协议:因为spi的数据输入和输出线独立,所以允许同时完成数据的输入和输出。不同的spi设备的实现方式不尽相同,主要是数据改变和采集的时间不同,在时钟信号上沿或下沿采集有不同定义,具体请参考相关器件的文档。在点对点的通信中,spi接口不需要进行寻址操作,且为全双工通信,显得简单高效。在多个从设备的系统中,每个从设备需要独立的使能信号,硬件上比i2c系统要稍微复杂一些。最后,spi接口的一个缺点:没有指定的流控

5、制,没有应答机制确认是否接收到数据。at91Rm9200的spi接口主要由4个引脚构成:spiclk、mosi、miso及/ss,其中spiclk是整个spi总线的公用时钟,mosi、miso作为主机,从机的输入输出的标志,mosi是主机的输出,从机的输入,miso是主机的输入,从机的输出。/ss是从机的标志管脚,在互相通信的两个spi总线的器件,/ss管脚的电平低的是从机,相反/ss管脚的电平高的是主机。在一个spi通信系统中,必须有主机。spi总线可以配置成单主单从,单主多从,互为主从。spi的片选可以扩充选择16个外设,这时pcs输出=npcs,说npcs03接4-16译码器,这个译码器

6、是需要外接4-16译码器,译码器的输入为npcs03,输出用于16个外设的选择。二spi协议举例spi是一个环形总线结构,由ss(cs)、sck、sdi、sdo构成,其时序其实很简单,主要是在sck的控制下,两个双向移位寄存器进行数据交换。假设下面的8位寄存器装的是待发送的数据10101010,上升沿发送、下降沿接收、高位先发送。那么第一个上升沿来的时候数据将会是sdo=1;寄存器=0101010x。下降沿到来的时候,sdi上的电平将所存到寄存器中去,那么这时寄存器=0101010sdi,这样在8个时钟脉冲以后,两个寄存器的内容互相交换一次。这样就完成里一个spi时序。举例:假设主机和从机初始

7、化就绪:并且主机的sbuff=0xaa,从机的sbuff=0x55,下面将分步对spi的8个时钟周期的数据情况演示一遍:假设上升沿发送数据这样就完成了两个寄存器8位的交换,上面的上表示上升沿、下表示下降沿,sdi、sdo相对于主机而言的。其中ss引脚作为主机的时候,从机可以把它拉底被动选为从机,作为从机的是时候,可以作为片选脚用。根据以上分析,一个完整的传送周期是16位,即两个字节,因为,首先主机要发送命令过去,然后从机根据主机的命令准备数据,主机在下一个8位时钟周期才把数据读回来。spi总线是motorola公司推出的三线同步接口,同步串行3线方式进行通信:一条时钟线sck,一条数据输入线m

8、osi,一条数据输出线miso;用于cpu与各种外围器件进行全双工、同步串行通讯。spi主要特点有:可以同时发出和接收串行数据;可以当作主机或从机工作;提供频率可编程时钟;发送结束中断标志;写冲突保护;总线竞争保护等。下图示出spi总线工作的四种方式,其中使用的最为广泛的是spi0和spi3方式(实线表示):spi总线四种工作方式spi模块为了和外设进行数据交换,根据外设工作要求,其输出串行同步时钟极性和相位可以进行配置,时钟极性(cpol)对传输协议没有重大的影响。如果cpol=0,串行同步时钟的空闲状态为低电平;如果cpol=1,串行同步时钟的空闲状态为高电平。时钟相位(cpha)能够配置

9、用于选择两种不同的传输协议之一进行数据传输。如果cpha=0,在串行同步时钟的第一个跳变沿(上升或下降)数据被采样;如果cpha=1,在串行同步时钟的第二个跳变沿(上升或下降)数据被采样。spi主模块和与之通信的外设备时钟相位和极性应该一致。spi总线包括1根串行同步时钟信号线以及2根数据线。spi模块为了和外设进行数据交换,根据外设工作要求,其输出串行同步时钟极性和相位可以进行配置,时钟极性(cpol)对传输协议没有重大的影响。如果cpol=0,串行同步时钟的空闲状态为低电平;如果cpol=1,串行同步时钟的空闲状态为高电平。时钟相位(cpha)能够配置用于选择两种不同的传输协议之一进行数据

10、传输。如果cpha=0,在串行同步时钟的第一个跳变沿(上升或下降)数据被采样;如果cpha=1,在串行同步时钟的第二个跳变沿(上升或下降)数据被采样。spi主模块和与之通信的外设音时钟相位和极性应该一致。spi接口时序如图3、图4所示。补充:上文中最后一句话:spi主模块和与之通信的外设备时钟相位和极性应该一致。个人理解这句话有2层意思:其一,主设备spi时钟和极性的配置应该由外设来决定;其二,二者的配置应该保持一致,即主设备的sdo同从设备的sdo配置一致,主设备的sdi同从设备的sdi配置一致。因为主从设备是在sclk的控制下,同时发送和接收数据,并通过2个双向移位寄存器来交换数据。工作原

11、理演示如下图:上升沿主机sdo发送数据1,同时从设备sdo发送数据0;紧接着在sclk的下降沿的时候从设备的sdi接收到了主机发送过来的数据1,同时主机也接收到了从设备发送过来的数据0.篇二:spi协议简介spi:一种3线(有的没有ss线(选择主或从机模式)或4线的通信方式:mosi:主机出从机进数据线miso:主机进从机从数据线sck:时钟线ss:主从模式选择线工作过程的理解:设置好相应的配置后就可以发送或接收数据,当放送或接收完成后就会是spiF置位,此时如果开了中断就会就入中断服务程序。如果没开中断就可以通过查询该标志位来做相应的事。进入中段服务程序后,或者读(写)spdR寄存器都可以清

12、零spiF标志位。从而可以开始下一次的传输相应的寄存器1:scpR:控制寄存器:spi的大部分设置2:spsR:标志寄存器:(查看一些标志(主要是spiF位)和设置spi速度)3:spdR:数据寄存器:ss引脚的说明:(实质就是当配置为输入时:是主机还是从机由输入的电平来决定)从机模式:当spi配置为从机时,从机选择引脚ss总是为输入。ss为低将激活spi接口,miso成为输出(用户必须进行相应的端口配置)引脚,其他引脚成为输入引脚。当ss为高时所有的引脚成为输入,spi逻辑复位,不再接收数据。ss引脚对于数据包/字节的同步非常有用,可以使从机的位计数器与主机的时钟发生器同步。当ss拉高时sp

13、i从机立即复位接收和发送逻辑,并丢弃移位寄存器里不完整的数据。主机模式:当spi配置为主机时(spcR的mstR置位),用户可以决定ss引脚的方向。管脚配置若ss配置为输出,则此引脚可以用作普通的i/o口而不影响spi系统。典型应用是用来驱动从机的ss引脚。如果ss配置为输入,必须保持为高以保证spi的正常工作。若系统配置为主机,ss为输入,但被外设拉低,则spi系统会将此低电平解释为有一个外部主机将自己选择为从机。为了防止总线冲突,spi系统将实现如下动作:1.清零spcR的mstR位,使spi成为从机,从而mosi和sck变为输入。2.spsR的spiF置位。若spi中断和全局中断开放,则

14、中断服务程序将得到执行。因此,使用中断方式处理spi主机的数据传输,并且存在ss被拉低的可能性时,中断服务程序应该检查mstR是否为1”。若被清零,用户必须将其置位,以重新使能spi主机模式。一:scpR:控制寄存器:(spi的大部分设置都在该寄存器)二spsR:标志寄存器:(查看一些标志和设置spi速度,主要是用到spiF这个标志位,接收完成和发送完成都会置位这个标志,进入中断服务程序或访问spdR寄存器都可以清零这个标志)三spdR:数据寄存器:篇三:spi协议简介spi协议简介一spi协议概括spi,是英语serialperipheralinterface的缩写,顾名思义就是串行外围设备

15、接口。是motorola首先在其mc68hcxx系列处理器上定义的。spi接口主要应用在eepRom,Flash,实时时钟,ad转换器,还有数字信号处理器和数字信号解码器之间。spi,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为pcb的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议,比如at91Rm9200.spi的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(单向传输时)。也是所有基于spi的设备共有的,它们是sdi(数据输入),sd

16、o(数据输出),sck(时钟),cs(片选)。(1)sdo主设备数据输出,从设备数据输入(2)sdi主设备数据输入,从设备数据输出(3)sclk时钟信号,由主设备产生(4)cs从设备使能信号,由主设备控制其中cs是控制芯片是否被选中的,也就是说只有片选信号为预先规定的使能信号时(高电位或低电位),对此芯片的操作才有效。这就允许在同一总线上连接多个spi设备成为可能。接下来就负责通讯的3根线了。通讯是通过数据交换完成的,这里先要知道spi是串行通讯协议,也就是说数据是一位一位的传输的。这就是sck时钟线存在的原因,由sck提供时钟脉冲,sdi,sdo则基于此脉冲完成数据传输。数据输出通过sdo线

17、,数据在时钟上升沿或下降沿时改变,在紧接着的下降沿或上升沿被读取。完成一位数据传输,输入也使用同样原理。这样,在至少8次时钟信号的改变(上沿和下沿为一次),就可以完成8位数据的传输。要注意的是,sck信号线只由主设备控制,从设备不能控制信号线。同样,在一个基于spi的设备中,至少有一个主控设备。这样传输的特点:这样的传输方式有一个优点,与普通的串行通讯不同,普通的串行通讯一次连续传送至少8位数据,而spi允许数据一位一位的传送,甚至允许暂停,因为sck时钟线由主控设备控制,当没有时钟跳变时,从设备不采集或传送数据。也就是说,主设备通过对sck时钟线的控制可以完成对通讯的控制。spi还是一个数据

18、交换协议:因为spi的数据输入和输出线独立,所以允许同时完成数据的输入和输出。不同的spi设备的实现方式不尽相同,主要是数据改变和采集的时间不同,在时钟信号上沿或下沿采集有不同定义,具体请参考相关器件的文档。在点对点的通信中,spi接口不需要进行寻址操作,且为全双工通信,显得简单高效。在多个从设备的系统中,每个从设备需要独立的使能信号,硬件上比i2c系统要稍微复杂一些。最后,spi接口的一个缺点:没有指定的流控制,没有应答机制确认是否接收到数据。at91Rm9200的spi接口主要由4个引脚构成:spiclk、mosi、miso及/ss,其中spiclk是整个spi总线的公用时钟,mosi、m

19、iso作为主机,从机的输入输出的标志,mosi是主机的输出,从机的输入,miso是主机的输入,从机的输出。/ss是从机的标志管脚,在互相通信的两个spi总线的器件,/ss管脚的电平低的是从机,相反/ss管脚的电平高的是主机。在一个spi通信系统中,必须有主机。spi总线可以配置成单主单从,单主多从,互为主从。spi的片选可(spi协议实例)以扩充选择16个外设,这时pcs输出=npcs,说npcs03接4-16译码器,这个译码器是需要外接4-16译码器,译码器的输入为npcs03,输出用于16个外设的选择。二spi协议举例spi是一个环形总线结构,由ss(cs)、sck、sdi、sdo构成,其

20、时序其实很简单,主要是在sck的控制下,两个双向移位寄存器进行数据交换。假设下面的8位寄存器装的是待发送的数据10101010,上升沿发送、下降沿接收、高位先发送。那么第一个上升沿来的时候数据将会是sdo=1;寄存器=0101010x。下降沿到来的时候,sdi上的电平将锁存到寄存器中去,那么这时寄存器=0101010sdi,这样在8个时钟脉冲以后,两个寄存器的内容互相交换一次。这样就完成里一个spi时序。举例:假设主机和从机初始化就绪:并且主机的sbuff=0xaa,从机的sbuff=0x55,下面将分步对spi的8个时钟周期的数据情况演示一遍:假设上升沿发送数据这样就完成了两个寄存器8位的交

21、换,上面的上表示上升沿、下表示下降沿,sdi、sdo相对于主机而言的。其中ss引脚作为主机的时候,从机可以把它拉底被动选为从机,作为从机的是时候,可以作为片选脚用。根据以上分析,一个完整的传送周期是16位,即两个字节,因为,首先主机要发送命令过去,然后从机根据主机的命令准备数据,主机在下一个8位时钟周期才把数据读回来。spi总线是motorola公司推出的三线同步接口,同步串行3线方式进行通信:一条时钟线sck,一条数据输入线mosi,一条数据输出线miso;用于cpu与各种外围器件进行全双工、同步串行通讯。spi主要特点有:可以同时发出和接收串行数据;可以当作主机或从机工作;提供频率可编程时

22、钟;发送结束中断标志;写冲突保护;总线竞争保护等。下图示出spi总线工作的四种方式,其中使用的最为广泛的是spi0和spi3方式(实线表示):spi总线四种工作方式spi模块为了和外设进行数据交换,根据外设工作要求,其输出串行同步时钟极性和相位可以进行配置,时钟极性(cpol)对传输协议没有重大的影响。如果cpol=0,串行同步时钟的空闲状态为低电平;如果cpol=1,串行同步时钟的空闲状态为高电平。时钟相位(cpha)能够配置用于选择两种不同的传输协议之一进行数据传输。如果cpha=0,在串行同步时钟的第一个跳变沿(上升或下降)数据被采样;如果cpha=1,在串行同步时钟的第二个跳变沿(上升

23、或下降)数据被采样。spi主模块和与之通信的外设备时钟相位和极性应该一致。spi总线包括1根串行同步时钟信号线以及2根数据线。spi接口时序如图3、图4所示。补充:上文中最后一句话:spi主模块和与之通信的外设备时钟相位和极性应该一致。个人理解这句话有2层意思:其一,主设备spi时钟和极性的配置应该由外设来决定;其二,二者的配置应该保持一致,即主设备的sdo同从设备的sdo配置一致,主设备的sdi同从设备的sdi配置一致。因为主从设备是在sclk的控制下,同时发送和接收数据,并通过2个双向移位寄存器来交换数据。工作原理演示如下图:上升沿主机sdo发送数据1,同时从设备sdo发送数据0;紧接着在sclk的下降沿的时候从设备的sdi接收到了主机发送过来的数据1,同时主机也接收到了从设备发送过来的数据0.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1