SPI总线(二)
来源:互联网 发布:建信优化基金净值 编辑:程序博客网 时间:2024/04/25 00:26
SPI是一个环形总线结构,由ss(cs)、sck、sdi、sdo构成,其时序其实很简单,主要是在sck的控制下,两个双向移位寄存器进行数据交换。
假设下面的8位寄存器装的是待发送的数据10101010,上升沿发送、下降沿接收、高位先发送。
那么第一个上升沿来的时候 数据将会是sdo=1;寄存器=0101010x。下降沿
合并图册
合并图册
到来的时候,sdi上的电平将锁存到寄存器中去,那么这时寄存器=0101010sdi,这样在 8个时钟脉冲以后,两个寄存器的内容互相交换一次。这样就完成了一个spi时序。
举例:
假设主机和从机初始化就绪:并且主机的sbuff=0xaa,从机的sbuff=0x55,下面将分步对spi的8个时钟周期的数据情况演示一遍:假设上升沿发送数据
这样就完成了两个寄存器8位的交换,上面的上表示上升沿、下表示下降沿,sdi、sdo相对于主机而言的。其中ss引脚作为主机的时候,从机可以把它拉低被动选为从机,作为从机的是时候,可以作为片选脚用。根据以上分析,一个完整的传送周期是16位,即两个字节,因为,首先主机要发送命令过去,然后从机根据主机的命令准备数据,主机在下一个8位时钟周期才把数据读回来。
SPI 总线是Motorola公司推出的三线同步接口,同步串行3线方式进行通信:一条时钟线SCK,一条数据输出线MOSI,一条数据输入线MISO;用于CPU与各种外围器件进行全双工、同步串行通讯。SPI主要特点有:可以同时发出和接收串行数据;可以当作主机或从机工作;提供频率可编程时钟;发送结束 中断标志;写冲突保护;总线竞争保护等。下图示出SPI总线工作的四种方式,其中使用的最为广泛的是SPI0和SPI3方式 (实线表示):
SPI总线四种工作方式
SPI总线四种工作方式
SPI总线包括1根串行同步时钟信号线以及2根数据线。
SPI模块为了和外设进行数据交换,根据外设工作要求,其输出串行同步时钟极性和相位可以进行配置,时钟极性(CPOL)对传输协议没有重大的影响。如果CPOL=0,行同步时钟的空闲状态为低电平;SPI主模块和与之通信的外设音时钟相位和极性应该一致。SPI接口时序如图3、图4所示。
- SPI总线(二)
- SPI总线(二):驱动分析篇
- SPI通信协议(SPI总线)
- SPI总线(一)
- SPI总线(一)
- SPI总线(四)
- SPI总线(五)
- SPI总线(六)
- SPI总线(七)
- Linux下的SPI总线驱动(二)
- linux内核SPI总线驱动分析(二)
- Linux下的SPI总线驱动(二)
- linux内核SPI总线驱动分析(二)
- spi总线概述1(spi-summary)
- spi总线概述2(spi-summary)
- spi总线概述3(spi-summary)
- SPI通信协议(SPI总线)学习
- SPI通信协议(SPI总线)学习
- 浅谈安卓帧动画
- sigslot库源码分析
- ubuntu docker简单入门与应用
- Glide图片加载框架的基本用法
- 腾讯云Ubuntu搭建TinyProxy代理服务器
- SPI总线(二)
- MySql错误1045 Access denied for user 'root'@'localhost' (using password:YES) windows下的解决方案(忘记密码)
- 探索Linux下的Time问题
- 筛法:一种高效求解素数表的算法
- mysql:A ResourcePool could not acquire a resource from its primary factory or sour
- java自己手动控制kafka的offset
- 安全
- Javascript的this用法
- Android Studio错误之:Error:(1, 0) Your project path contains non-ASCII characters. This will most likel