关闭

关闭

关闭

封号提示

内容

首页 SPI协议简介.pdf

SPI协议简介.pdf

SPI协议简介.pdf

上传者: ck040521 2011-09-19 评分 0 0 0 0 0 0 暂无简介 简介 举报

简介:本文档为《SPI协议简介pdf》,可适用于IT/计算机领域,主题内容包含SPI协议简介教学资源zhlyzhttp:hibaiducomzhlyzblogitemaabacahtml(of)::百度首页|百度空间|登录机电符等。

SPI协议简介教学资源zhlyzhttp:hibaiducomzhlyzblogitemaabacahtml(of)::百度首页|百度空间|登录机电工程系教学资源zhlyz主页博客相册|个人档案SPI协议简介年月日星期日:查看文章一SPI协议概括SPI是英语SerialPeripheralinterface的缩写顾名思义就是串行外围设备接口。是Motorola首先在其MCHCXX系列处理器上定义的。SPI接口主要应用在EEPROMFLASH实时时钟AD转换器还有数字信号处理器和数字信号解码器之间。SPI是一种高速的全双工同步的通信总线并且在芯片的管脚上只占用四根线节约了芯片的管脚同时为PCB的布局上节省空间提供方便正是出于这种简单易用的特性现在越来越多的芯片集成了这种通信协议比如ATRMSPI的通信原理很简单它以主从方式工作这种模式通常有一个主设备和一个或多个从设备需要至少根线事实上根也可以(单向传输时)。也是所有基于SPI的设备共有的它们是SDI(数据输入)SDO(数据输出)SCK(时钟)CS(片选)。()SDO–主设备数据输出从设备数据输入()SDI–主设备数据输入从设备数据输出()SCLK–时钟信号由主设备产生()CS–从设备使能信号由主设备控制其中CS是控制芯片是否被选中的也就是说只有片选信号为预先规定的使能信号时(高电位或低电位)对此芯片的操作才有效。这就允许在同一总线上连接多个SPI设备成为可能。接下来就负责通讯的根线了。通讯是通过数据交换完成的这里先要知道SPI是串行通讯协议也就是说数据是一位一位的传输的。这就是SCK时钟线存在的原因由SCK提供时钟脉冲SDISDO则基于此脉冲完成数据传输。数据输出通过SDO线数据在时钟上升沿或下降沿时改变在紧接着的下降沿或上升沿被读取。完成一位数据传输输入也使用同样原理。这样在至少次时钟信号的改变(上沿和下沿为一次)就可以完成位数据的传输。要注意的是SCK信号线只由主设备控制从设备不能控制信号线。同样在一个基于SPI的设备中至少有一个主控设备。SPI协议简介教学资源zhlyzhttp:hibaiducomzhlyzblogitemaabacahtml(of)::这样传输的特点:这样的传输方式有一个优点与普通的串行通讯不同普通的串行通讯一次连续传送至少位数据而SPI允许数据一位一位的传送甚至允许暂停因为SCK时钟线由主控设备控制当没有时钟跳变时从设备不采集或传送数据。也就是说主设备通过对SCK时钟线的控制可以完成对通讯的控制。SPI还是一个数据交换协议:因为SPI的数据输入和输出线独立所以允许同时完成数据的输入和输出。不同的SPI设备的实现方式不尽相同主要是数据改变和采集的时间不同在时钟信号上沿或下沿采集有不同定义具体请参考相关器件的文档。在点对点的通信中SPI接口不需要进行寻址操作且为全双工通信显得简单高效。在多个从设备的系统中每个从设备需要独立的使能信号硬件上比IC系统要稍微复杂一些。最后SPI接口的一个缺点:没有指定的流控制没有应答机制确认是否接收到数据。ATRM的SPI接口主要由个引脚构成:SPICLK、MOSI、MISO及SS其中SPICLK是整个SPI总线的公用时钟MOSI、MISO作为主机从机的输入输出的标志MOSI是主机的输出从机的输入MISO是主机的输入从机的输出。SS是从机的标志管脚在互相通信的两个SPI总线的器件SS管脚的电平低的是从机相反SS管脚的电平高的是主机。在一个SPI通信系统中必须有主机。SPI总线可以配置成单主单从单主多从互为主从。SPI的片选可以扩充选择个外设,这时PCS输出=NPCS,说NPCS~接译码器,这个译码器是需要外接译码器译码器的输入为NPCS~输出用于个外设的选择。二SPI协议举例SPI是一个环形总线结构由ss(cs)、sck、sdi、sdo构成其时序其实很简单主要是在sck的控制下两个双向移位寄存器进行数据交换。假设下面的位寄存器装的是待发送的数据上升沿发送、下降沿接收、高位先发送。那么第一个上升沿来的时候数据将会是sdo=寄存器=x。下降沿到来的时候sdi上的电平将所存到寄存器中去那么这时寄存器=sdi这样在个时钟脉冲以后两个寄存器的内容互相交换一次。这样就完成里一个spi时序。举例:假设主机和从机初始化就绪:并且主机的sbuff=xaa从机的sbuff=x下面将分步对spi的个时钟周期的数据情况演示一遍:假设上升沿发送数据SPI协议简介教学资源zhlyzhttp:hibaiducomzhlyzblogitemaabacahtml(of)::SPI协议简介教学资源zhlyzhttp:hibaiducomzhlyzblogitemaabacahtml(of)::这样就完成了两个寄存器位的交换上面的上表示上升沿、下表示下降沿sdi、sdo相对于主机而言的。其中ss引脚作为主机的时候从机可以把它拉底被动选为从机作为从机的是时候可以作为片选脚用。根据以上分析一个完整的传送周期是位即两个字节因为首先主机要发送命令过去然后从机根据主机的命令准备数据主机在下一个位时钟周期才把数据读回来。SPI总线是Motorola公司推出的三线同步接口同步串行线方式进行通信:一条时钟线SCK一条数据输入线MOSI一条数据输出线MISO用于CPU与各种外围器件进行全双工、同步串行通讯。SPI主要特点有:可以同时发出和接收串行数据可以当作主机或从机工作提供频率可编程时钟发送结束中断标志写冲突保护总线竞争保护等。下图示出SPI总线工作的四种方式其中使用的最为广泛的是SPI和SPI方式(实线表示):SPI总线四种工作方式SPI模块为了和外设进行数据交换根据外设工作要求其输出串行同步时钟极性和相位可以进行配置时钟极性(CPOL)对传输协议没有重大的影响。如果CPOL=串行同步时钟的空闲状态为低电平如果CPOL=串行同步时钟的空闲状态为高电平。时钟相位(CPHA)能够配置用于选择两种不同的传输协议之一进行数据传输。如果CPHA=在串行同步时钟的第一个跳变沿(上升或下降)数据被采样如果CPHA=在串行同步时钟的第二个跳变沿(上升或下降)数据被采样。SPI主模块和与之通信的外设备时钟相位和极性应该一致。SPI总线包括根串行同步时钟信号线以及根数据线。SPI模块为了和外设进行数据交换根据外设工作要求其输出串行同步时钟极性和相位可以进行配置时钟极性(CPOL)对传输协议没有重大的影响。如果CPOL=串行同步时钟的空闲状态为低电平如果CPOL=串行同步时钟的空闲状态为高电平。时钟相位(CPHA)能够配置用于选择两种不同的传输协议之一进行数据传输。如果CPHA=在串行同步时钟的第一个跳变沿(上升或下降)数据被采样如果CPHA=在串行同步时钟的第二个跳变沿(上升或下降)数据被采样。SPI主模块和与之通信的外设音时钟相位和极性应该一致。SPI接口时序如图、图所示。SPI协议简介教学资源zhlyzhttp:hibaiducomzhlyzblogitemaabacahtml(of)::类别:嵌入式单片机arm|添加到搜藏|浏览()|评论()上一篇:一种基于DDS芯片AD的信号源下一篇:基于AVR单片机SPI的串行ADC接口最近读者:补充:上文中最后一句话:SPI主模块和与之通信的外设备时钟相位和极性应该一致。个人理解这句话有层意思:其一主设备SPI时钟和极性的配置应该由外设来决定其二二者的配置应该保持一致即主设备的SDO同从设备的SDO配置一致主设备的SDI同从设备的SDI配置一致。因为主从设备是在SCLK的控制下同时发送和接收数据并通过个双向移位寄存器来交换数据。工作原理演示如下图:上升沿主机SDO发送数据同时从设备SDO发送数据紧接着在SCLK的下降沿的时候从设备的SDI接收到了主机发送过来的数据同时主机也接收到了从设备发送过来的数据三SPI协议心得SPI接口时钟配置心得:在主设备这边配置SPI接口时钟的时候一定要弄清楚从设备的时钟要求因为主设备这边的时钟极性和相位都是以从设备为基准的。因此在时钟极性的配置上一定要搞清楚从设备是在时钟的上升沿还是下降沿接收数据是在时钟的下降沿还是上升沿输出数据。但要注意的是由于主设备的SDO连接从设备的SDI从设备的SDO连接主设备的SDI从设备SDI接收的数据是主设备的SDO发送过来的主设备SDI接收的数据是从设备SDO发送过来的所以主设备这边SPI时钟极性的配置(即SDO的配置)跟从设备的SDI接收数据的极性是相反的跟从设备SDO发送数据的极性是相同的。下面这段话是SychipWlanModuleSpec上说的充分说明了时钟极性是如何配置的:Thexxmodulewillalwaysinputdatabitsattherisingedgeoftheclock,andthehostwillalwaysoutputdatabitsonthefallingedgeoftheclock意思是:主设备在时钟的下降沿发送数据从设备在时钟的上升沿接收数据。因此主设备这边SPI时钟极性应该配置为下降沿有效。又如下面这段话是摘自LCDDriverICSSD:SDIisshiftedintobitshiftregisteroneveryrisingedgeofSCKintheorderofdatabit,databit……databit意思是:从设备SSD在时钟的上升沿接收数据而且是按照从高位到地位的顺序接收数据的。因此主设备的SPI时钟极性同样应该配置为下降沿有效。时钟极性和相位配置正确后数据才能够被准确的发送和接收。因此应该对照从设备的SPI接口时序或者Spec文档说明来正确配置主设备的时钟。SPI协议简介教学资源zhlyzhttp:hibaiducomzhlyzblogitemaabacahtml(of)::Baidu网友评论:发表评论:登录后您就出现在这里。wjhyywluocariusniulijunBlueSunrise青薇瓷reversefish姓 名:网址或邮箱:内 容:验证码:注册|登录(选填)请输入下图中的四位验证码字母不区分大小写。看不清baiducomSPI协议简介教学资源zhlyzOJDIOGCAOCKEBBMEGMPOMLAEKOCDBHBN:form:x:f:f:f:aabacaf:http:hibaiducomzhlyzblogitemaabacahtmlf:f:f:f:DABCDDAABAFBAABACDEADEDEDECFEEBECBFFDEBADf:f:发表评论f:

用户评论(0)

0/200

精彩专题

上传我的资料

每篇奖励 +2积分

资料评价:

/6
1下载券 下载 加入VIP, 送下载券

意见
反馈

立即扫码关注

爱问共享资料微信公众号

返回
顶部