历史上的今天
返回首页

历史上的今天

今天是:2025年02月23日(星期日)

正在发生

2021年02月23日 | STM32F4之什么是SPI?

2021-02-23 来源:eefocus

一.什么是SPI?

1.SPI是一般为4线的总线协议,有时也可以是三条线(单向传输)

2. 四线分别为MISO(主设备数据输入) ,MOSI(主设备数据输出),SCK(时钟),CS(片选)


有必要了解一下它的英文全称

(1) MISO - Master input SlaveOutput(主设备数据输入,从设备数据输出)

(2)MOSI - Master Output Slave Input (主设备数据输出,从设备数据输入)

(3)SCLK - Serial Clock 时钟信号,由主设备产生

(4)CS -Chip Select 从设备使能信号,由主设备控制


更为直观的示意图如下:

通俗的说,由于是8位的数据寄存器,所以当经过8个时钟,数据将从主设备移位寄存器中的数据转到从设备移位寄存器中,同理 从设备中的数据将转到主设备中


二.上SPI的时序

说SPI,时序图肯定要掌握一下

首先要理解一下,图中的几个名字,CPOL,CPHA ,NCC,至于MISO ,MOSI 我就不多说了,(不懂的看一下上面的图)

CPOL  其全称为 ,Clock polarity 翻译为 时钟极性(高电平,或低电平)

CPHA 其全称为 ,Clock phase,翻译为 时钟相位


看到我把字母标红了吗,大写的符号就是由其组成的,这样就好记很多了。所以顾名思义,你可以看出来他和时钟信号有关,他们之间组成4种模式


我就不解释太多,直接上图解释

当CPOL   = 0 ,CPHA = 1,CPOL =0 意思是当时钟空闲的时候,时钟为低电平,CPHA =1 ,意思是在时钟的第二个沿的时候,做数据移位操作,当然这时CS肯定是使能的。 如下图所示:

当CPOL   = 1,CPHA = 0,CPOL = 1 意思是当时钟空闲的时候,时钟为高电平 ,CPHA = 0 意思是 在时钟第一个沿的做数据移位 ,发送出去,如下图所示:

接下来两幅图,以此类推 ,CPOL ,CPHA 分别为多少 ,自己看看有没有看懂

第一幅

 

第二幅


推荐阅读

史海拾趣

达晶微(CREATEK)公司的发展小趣事

为了加强研发实力和应用能力,达晶微在上海设立了研发中心和应用中心。这些中心汇聚了来自全球的优秀人才和先进技术,为公司提供了强大的技术支持和创新动力。通过不断研发新产品和拓展新领域,达晶微在电子行业中保持了领先地位。

HBControls公司的发展小趣事
首先确认冰箱电源是否正常,插头是否牢固插入插座,电源插座是否有电。
Falco Electronics公司的发展小趣事

随着公司的发展,Falco Electronics开始积极拓展市场。公司不仅在国内市场取得了显著成绩,还积极开拓国际市场。同时,Falco Electronics还与其他行业领军企业开展战略合作,共同开发新产品、拓展新市场。这些合作不仅为公司带来了更多的商机,也提升了公司在行业内的地位和影响力。

e2v technologies公司的发展小趣事

e2v Technologies自成立以来,一直致力于技术创新和科学合作。公司曾与多个国际知名科研机构合作,参与了诸如哈勃天文望远镜、Envisat气象环境遥感卫星等著名科学项目。这些项目对图像传感器的精度和稳定性提出了极高的要求,e2v凭借其卓越的技术实力,成功为这些项目提供了高质量的图像传感器,进一步巩固了其在图像传感器领域的领先地位。

ELMEC Technology Of America Inc公司的发展小趣事

在ELMEC看来,产品质量是企业的生命线。为了确保产品的可靠性和稳定性,公司建立了一套完善的质量管理体系。从原材料采购到产品生产、从质量控制到售后服务,每一个环节都经过严格把控。同时,ELMEC还积极引进国际先进的质量管理方法和标准,不断提高产品的整体质量水平。这些努力使得ELMEC的产品在市场上享有很高的声誉。

Analogix Semiconductor公司的发展小趣事

随着环保意识的不断提高,ELMEC开始关注企业的环保责任。他们采用环保材料替代传统材料,减少生产过程中的污染排放。同时,公司还积极开展绿色能源研发和应用,降低能耗和碳排放。这些措施不仅为公司赢得了良好的社会声誉,也为推动电子行业的可持续发展做出了积极贡献。

问答坊 | AI 解惑

威盛694XB公版主板电路图(INTEL810E)

威盛694XB公版主板电路图,需要的朋友看看吧.... 威胜的那套图被黑客给黑掉了,我也没有了.换一套INTEL810E的吧.再过几天我会陆续在上一些PC主板的图的. [ 本帖最后由 西门 于 2009-5-15 22:32 编辑 ]…

查看全部问答>

【新手指南】论坛帮助帖汇总

最近抽空整理了一些论坛的帮助帖,希望能对大家有帮助,不断完善中........ 大家多提意见,多问问题,我会帮大家找到答案并在帖子中逐步完善!                   一、 &nbs ...…

查看全部问答>

wince5.0怎样才能收到蓝牙耳机按键消息?

修改C:\\WINCE500\\PRIVATE\\WINCEOS\\COMM\\BLUETOOTH里面的代码,进行全编译都编不进去 有什么办法可以截获蓝牙耳机按键消息吗?…

查看全部问答>

想走嵌入式

我是一个专科的学生,我想往嵌入式方面学习,可是现在外面的书籍很多,各位朋友,有没有学嵌入式比较好的书籍可以介绍一下?…

查看全部问答>

终结者9800GT/512M/128BIT 显卡

详细信息    规格 9800GT 512M 128B 数量 100   说明 全新   9800GT 512M 128B DDR3  3铜管双风扇 …

查看全部问答>

请问AT91RM9200的网络DMA

它的EMC的传输方式是不是就称为DMA?  还是说他另外有一种DMA的传输方式可以选择?…

查看全部问答>

请问PocketPC和WinCE有什么区别

我的一个项目要用带扫描条码功能的PDA,我使用VS2005C#开发,我在网上看了PHL5300不错,但是对于VS2005是否能对这个PDA开发不太清楚,不知道这是什么操作系统的.网上对PHL5300的介绍有的说系统是PocketPC,有的说是WinCE4.2,有的说是WinCE4.2PockedPC.不 ...…

查看全部问答>

混合编程通过堆栈传递变量问题

混合编程时,如果形参多于两个就是通过堆栈传递,那么在汇编中如何使用这些参数呢?…

查看全部问答>

cyclone2 FPGA 开发板转让

  [ 本帖最后由 wenhuawu 于 2011-6-3 10:57 编辑 ]…

查看全部问答>

学习板教程 第八课——蜂鸣器

蜂鸣器发生的基本原理以及代码,欢迎下载,谢谢! [ 本帖最后由 764workshop 于 2012-1-11 21:54 编辑 ]…

查看全部问答>