历史上的今天

今天是:2024年10月26日(星期六)

2021年10月26日 | #51单片机#SPI时序初步认识

发布者:精灵宠儿 来源: eefocus关键字:51单片机  SPI  时序 手机看文章 扫描二维码
随时随地手机看文章

SPI,全程Serial Peropheral Interface,译为串行外围设备接口,是一种高速的、全双工的、同步通信总线


SPI常用于单片机和E2PROM、FLASH、实时时钟、数字信号处理器等器件的通信。SPI通信原理主要是主从方式通信,这种模式通常只有一个主机和一个或多个从机。


标准的SPI有4根线,分别是SSEL、SCLK、MISO、MOSI。


SSEL:从设备片选使能信号。若从设备为低电平使能,则当此引脚拉低后,从设备被选中,主机同被选中的从机进行通信。


SCLK:时钟信号。 由主机产生,类似于I2C中的SCL。


MOSI:主机给从机发送指令或者数据的通道。


MISO:主机读取从机的状态或者数据的通道。


实际应用中,存在只使用2根或3根线的SPI。用户可以根据自己的实际需求,取舍SPI功能线。


SPI的读写时序过程有四种模式。在接触他们之前,需要学习两个名词。


CPOL:Clock Polarity,时钟的极性。整个通信过程分为空闲时刻和通信时刻。若在数据发送之前和之后SCLK的空闲状态是高电平,则CPOL = 1,若为低电平,则CPOL = 0;


CPHA :Clock Phase,时钟相位。


同步通信的一个特点是所有数据的变化和采集都伴随着时钟沿进行。一个时钟周期必定包括一个上升沿和一个下降沿。数据从产生到稳定需要一定时间,故一般来说同一个周期内,上升沿产生的数据,在下降沿收集,下降沿产生的数据,在上升沿收集。


CPHA = 1,表示在一个时钟周期的第一个沿上,进行数据输出。CPOL = 1,该沿是下降沿。CPOL = 0,该沿是上升沿。

CPHA = 0,表示在一个时钟周期的第一个沿上,进行数据采集。CPOL = 1,该沿是下降沿。CPOL = 0,该沿是上升沿。

这里可能出现这样的情况:在第一个时钟沿就采集了第一帧数据传输的第一个bit,这个数据是何时输出的呢?情况有二:一在SSEL使能的边沿,二上一帧数据的最后一个时钟沿。有时两种情况会同时生效。


以下是这四种模式的通信时序图:

在这里插入图片描述
在这里插入图片描述

关键字:51单片机  SPI  时序 引用地址:#51单片机#SPI时序初步认识

上一篇:#51单片机#DS18B20硬件原理以及通信的工作时序
下一篇:#51单片机# I2C时序初步认识和寻址模式

推荐阅读

  10月25日晚,紫光国微、紫光股份及紫光学大三家公司同时公告,实控人清华控股与深圳市投资控股有限公司(简称“深投控”)及紫光集团共同签署了《合作框架协议》,拟向深投控转让紫光集团36%股权。转让完成后,清华控股持有紫光集团15%股权,深投控持有紫光集团36%股权。  新方案的两大看点  相比9月4日晚披露的方案,清华控股转让紫光集团股权调...
10月25日讯,小马智行宣布与现代汽车集团合作,在美国加利福尼亚州推出自动驾驶出行服务BotRide。BotRide不仅是加州首个面向普通公众的Robotaxi常态化服务,而且通过智能拼车调配,实现共享出行。在经过了一段时间的内测和试运营后,双方决定从11月4日起,正式对加州尔湾(Irvine)市的数百名居民开放BotRide服务,包括当地的大学生。目前,BotRide的运营...
中国上海2020年10月26日电 -- 上海橙群微电子(InPlay)日前推出了基于其NanoBeaconTM技术的全球最小的免软件编程蓝牙信标SoC产品IN100。该产品是一款免软件编程的SoC,将大大降低技术门槛,任何开发人员都可以轻松构建自己的无线应用,而无需担心学习复杂的蓝牙协议栈和嵌入式编程语言。这款SoC的封装尺寸小至2.0mm x 2.5mm,是实现下一代无线信标或...
10月25日,据笔者查询得知,思特威(上海)电子科技股份有限公司(以下简称“思特威”)将于10月29日首发上会。去年安防CIS出货全球第一:募资超28亿元用于4大项目公司的主营业务为高性能 CMOS 图像传感器芯片的研发、设计和销售。作为致力于提供多场景应用、全性能覆盖的 CMOS 图像传感器产品企业,公司产品已被广泛应用在安防监控、机器视觉、智能车载...

史海拾趣

问答坊 | AI 解惑

2007年全国大学生电子设计竞赛基本仪器和主要元器

本帖最后由 paulhyde 于 2014-9-15 09:47 编辑 1、基本仪器清单 20MHz普通示波器(双通道,外触发输入,有X轴输入,可选带Z轴输入) 60MHz双通道数字示波器 低频信号发生器(1Hz~1MHz) 高频信号发生器(1MHz~40MHz) 函数发生器 低频毫伏表 ...…

查看全部问答∨

STM32 中断问题

刚买来块开发板,中断服务程序执行完了后,发现程序进入中断入跳不出来 了地直在里面, 请高手指点! 感谢中。。。。…

查看全部问答∨

mos管驱动问题。

这两天搭的mos管电路。但出现以下问题。具体问题如下:一开始电阻R13为64欧,R21为100欧的时候,电路一通电几秒钟mos管就冒烟!后来R13换为150欧,R21换为1K,mos管不冒烟了。但好像没有输出电压。这个电路应该是对的吧,但为什么没有输出呢?请 ...…

查看全部问答∨

『android编程架构』<pro android >

Covers Google’s Android Platform and its fundamental APIs, from basic concepts such as Android resources, intents, and content providers to advanced topics such as OpenGL 3D graphics Apress, 2009 At a high level, this book is a ...…

查看全部问答∨

关于LPC2103芯片GPIO操作?

PINSEL0 = 0x00; /* 设置P0.0~P0.15都为GPIO */ 这个我明白 请帮忙分析如下三个语句是如何操作的,尤其是等号后面的“&”“|”操作的作用? PINSEL0 = PINSEL0 & 0xFFFFFFFC; /* 设置P0.0为GPIO */ 这个地方是如何操作的,实现设定P0.0为GP ...…

查看全部问答∨

招聘windows驱动工程师

Senior Software Engineer (Driver) Responsibilities: 1.        Develop Windows Driver. 2.        Develop PC-TV driver and product. 3.       &n ...…

查看全部问答∨

playsound1

我用visual stdio 的template建了个pda的os project 在这个project下面加了个 用于播放wave file的subproject 可以通过build 但是运行这个subproject的时候没有反应 没有任何声音播放 (我是在windows ce command prompt下面 输入s Subproject1 ...…

查看全部问答∨

ADOCE访问Access数据库失败

系统为XP+EVC4.0+SP4+PPC2003SE+SQL CE 编写ADOCE 访问Access数据库 建立并打开了数据库,可是不能执行建表SQL语句,代码如下: void CADOAccessDlg::OnBtnexec() {         HRESULT hr;         V ...…

查看全部问答∨

EVC下类似与richedit的控件是什么?

现在想实现在一个控件里既可以写文字,又可以插入图片,但是EVC下不能使用RichEdit控件。所以想问一下 EVC下类似与richedit的控件是什么? 主要是给一个PDA做一个便笺,可插入图片的,如果没有的话,谁能给推荐一个现成的,在WIN ce4.2下能用的。 ...…

查看全部问答∨

求助:WriteFile写USB设备出错

写数据都返回成功了,用WriteFile()函数写,而且也返回实际写的字节数了,但USB设备就没什么反应,请教各位大虾是应用程序的问题呢还是驱动程序的原因,驱动是自动生成的,没做改动 …

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved