历史上的今天
返回首页

历史上的今天

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

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

2021-10-26 来源:eefocus

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使能的边沿,二上一帧数据的最后一个时钟沿。有时两种情况会同时生效。


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

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

推荐阅读

史海拾趣

博众电气(BZCN)公司的发展小趣事

随着国内市场的日益饱和,博众电气开始将目光投向国际市场。公司制定了国际化发展战略,积极参与国际竞争与合作。通过在国外设立分支机构、参加国际展会等方式,博众电气成功打开了国际市场的大门。如今,公司的产品已经远销海外多个国家和地区,国际市场份额逐年攀升。

ATP [ATP Electronics]公司的发展小趣事

面对工业应用领域的特殊需求,ATP敏锐地捕捉到了市场机遇。公司成功推出了业界首款工业级SLC e.MMC产品E800Pi,这款产品以其高达6万次的单元擦写耐久性和出色的耐高温、交叉温度能力,受到了工业领域的广泛认可。E800Pi的推出,不仅拓宽了ATP的产品线,也进一步提升了公司在工业存储解决方案领域的市场地位。

Honda Tsushin Kogyo Co Ltd公司的发展小趣事

在电子行业快速发展的同时,Honda Tsushin Kogyo也面临着来自技术革新、市场竞争等方面的挑战。为了保持领先地位,公司可能积极应对这些挑战,通过转型升级来实现可持续发展。例如,公司可能加大了对新能源、物联网等新兴领域的投入,研发出符合市场需求的新产品。同时,公司还注重提升生产效率和降低成本,以应对激烈的市场竞争。

EDDING公司的发展小趣事

Eclipse的成功吸引了众多软件和硬件公司的注意。为了进一步扩大Eclipse的影响力和功能,ECLIPSE公司积极寻求与其他公司的合作伙伴关系。通过与IBM、Oracle、Red Hat等公司的合作,Eclipse得以集成更多的功能和工具,提高了其适应性和易用性。这些合作伙伴关系不仅为ECLIPSE公司带来了技术上的支持,也为其带来了更多的商业机会和市场份额。

Electro-Mech Components Inc公司的发展小趣事

EMC一直致力于技术研发和创新能力的提升。公司拥有一支专业的研发团队,不断投入资金和人力进行新产品的研发和技术创新。通过不断的努力,EMC在电气元件领域取得了多项专利和技术成果,其产品质量和技术水平在行业中处于领先地位。同时,EMC还积极参与行业标准的制定和推广工作,为推动整个行业的发展做出了积极贡献。

Eris Technology Corp公司的发展小趣事

进入21世纪后,汽车电子市场蓬勃发展,为Eris Tech提供了新的发展机遇。公司凭借在半导体技术方面的积累,成功开发出多款适用于汽车电子系统的半导体产品,如功率管理芯片、传感器等。这些产品不仅提高了汽车电子系统的性能,还降低了成本,赢得了汽车厂商的广泛认可。随着汽车电子市场的不断扩大,Eris Tech的营收也实现了快速增长。

问答坊 | AI 解惑

基于CC2430的水轮发电机组无线振摆监测系统研究

摘要:针对现有水轮发电机组振摆监测系统永久性结构模式 问题,构建了基于CC2430的水轮发电机组无线振摆监测系 统。给出了系统的体系结构和工作流程;设计基于CC2430模 块的无线传感器节点;详尽给出系统能源、信号同步及采样 精度测试等关键技 ...…

查看全部问答>

2440 bootloader中,MBR是什么东西?

请教,bootloader中有这么一个函数: // lqm: 1G08:dwStartSector = 7 * 64 (boot:7个block) HANDLE BP_OpenPartition(DWORD dwStartSector, DWORD dwNumSectors, DWORD dwPartType, BOOL fActive, DWORD dwCreationFlags) {      & ...…

查看全部问答>

wince5.0 下中英文 定制问题!

wince5.0下 问题: 怎样定制内核,让系统默认语言是英文,但是我能浏览中文及中文繁体的网站? 我在定制内核的时候 platform --setting LOACL 选了三种 中文、中文(台湾)、英文。 defaulte language:英语(美国)的时候,中文网页显示不出 ...…

查看全部问答>

CC430F5137开发板空板免费送

CC430F5137开发板空板免费送 活动正式开始啦 从即日起,leftenvoy为大家准备了100套CC430F5137空板,每个人可以申请一套,即两个空板! 温馨提示:邮费需自理! 申请方式:淘宝拍下(http://item.taobao.com/item.htm?id=13646431922&stp=1364 ...…

查看全部问答>

AD9打开*.sch文件没内容

本人新手,求教各位大神,我用Altium Designer summer 09直接打开TI提供的原理图时,能打开,但是没有任何内容,这是为什么? 然后我用导入的方法时,遇到了无法导入的问题,见图,这又是什么原因呢?…

查看全部问答>

MIIX居然出现在杨宗纬的MV中,难道已经在台湾上市了?

本帖最后由 jameswangsynnex 于 2015-3-3 20:02 编辑 作为屌丝IT宅,又忙了大半年,这个十一说什么也要出去玩一玩。看着台湾游最近挺火,就四处翻了翻旅游介绍。不看不要紧,居然在杨宗纬为台湾宣传的MV上看到了联想新出的MIIX。 这是神马情况? ...…

查看全部问答>

大家有没有小型的MIC推荐一哈

需要用个类似手机里用的MIC感应声音,触发信号,但是需要越小越好的,有没有人有用过的,推荐个型号哈,谢谢大家…

查看全部问答>

ZedBoard学习手记(八) 更大的目标!在Linux下开发图形用户

在Linux下做GUI,比较简单的方法是使用QT。QT一直被用于跨平台的应用程序开发,之前属于Nokia,现在被卖给了Digia,开源版本的主页是http://qt-project.org/。QT的开发语言是C++和QML,可以用各种工具来进行开发设计,官方的IDE是QT Creator。要说 ...…

查看全部问答>

DM8168 SD启动卡的手动制作

本帖最后由 37°男人 于 2014-6-24 09:47 编辑 和大家分享一下自己的调试笔记 (技术交流xubbwd@gmail.com) 1、用fdisk 命令查看sd卡是否接入,接入的位置在什么地方root@xubbwd-VirtualBox:~# fdisk -l Disk /dev/sda: 429.5 GB, 429496729600 ...…

查看全部问答>