博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SPI总线介绍
阅读量:5364 次
发布时间:2019-06-15

本文共 997 字,大约阅读时间需要 3 分钟。

1. 简介

SPI, Serial Peripheral Interface, 串行外设接口, 是一种高速的、全双工、同步的通信总线

SPI在芯片的管脚上只占用四根线

SPI接口主要用于MCU与各种外围设备以串行方式进行通信以交换信息

外围设备包括EEPROM、FLASH、实时时钟、AD转换器、数字信号处理器和数字信号解码器中

它以主从方式工作, 通常有一个主设备和一个或多个从设备

下图是SPI常用的两种场景
figure1 

2. 引脚

SPI通常有四组信号线

- SCLK      : Serial Clock(自master输出)- MOSI/SIMO : Master Output, Slave Input(自master输出)- MISO/SOMI : Master Input, Slave Output(自slave输出)- SS        : Slave Select(低电平有效;自master输出)

另一种称呼亦广泛被使用

- SCK            : Serial Clock(自master输出) - SDI/DI/SI      : Serial Data In - SDO/DO/SO      : Serial Data Out - nCS/CS/nSS/STE : Chip Select, Slave Transmit Enable(低电平有效;自master输出)

3. 原理

在SPI中,数据是同步进行发送和接收的, 数据传输的时钟基于来自Master的时钟脉冲

最常用的时钟设置基于时钟极性(CPOL)和时钟相位(CPHA), 它们决定了数据取样的时钟沿

- 时钟极性(CPOL): 定义SPI串行时钟的活动状态; CPOL=0表示时钟开始值是低电平, 所以第一阶段(前沿)的时候会处在上升沿,第二阶段(后沿)是下降沿; CPOL=1表示时钟开始是高电平, 所以第一阶段(前沿)就是下降沿;- 时钟相位(CPHA): 定义相对于数据位的时钟相位, 用于采样数据; CPHA=0表明在前沿期间进行采样; CPHA=1表明在后沿进行采样

tip: 关于CPOL和CPHA, 请参考<>

基于CPOL和CPHA的组合SPI有四种工作模式

figure3

参考:

<>
<>

转载于:https://www.cnblogs.com/hzl6255/p/4298998.html

你可能感兴趣的文章
电话面试总结
查看>>
datatable列操作
查看>>
关于ManualResetEvent的实例分析
查看>>
手机与基站通信
查看>>
bzoj1061: [Noi2008]志愿者招募
查看>>
java学习笔记3——异或
查看>>
UVa1628 UVaLive5847 Pizza Delivery
查看>>
在QMainWindow内直接添加Layout行不通
查看>>
J2EE (十) 简洁的JSTL、EL
查看>>
zigbee学习:示例程序SampleApp中通讯流程
查看>>
Innosetup 设置文件的相对路径
查看>>
Windows一键设置环境变量(以设置java环境变量为例)
查看>>
阿里云CentOS7.3服务器通过Docker安装Nginx
查看>>
django组件之cookie与session
查看>>
C# WinForm程序退出的方法
查看>>
iOS支付宝,微信,银联支付集成封装调用(下)
查看>>
jQuery链式语法演示
查看>>
JavaScript 的时间消耗
查看>>
Storyboard里面的几种Segue区别及视图的切换:push,modal,popover,replace和custom
查看>>
异步编程中使用帮助类来实现Thread.Start()的示例
查看>>