网易首页 > 网易号 > 正文 申请入驻

SPI通信笔记:基础+动图+时序图+总结,一文吃透!

0
分享至

▼关注公众号: 工程师看海▼

原文授权自公众号:硬件笔记本

大家好,今天咱们来详细聊聊SPI接口,文章内容有点多,建议先收藏起来再慢慢看。

SPI现在已经成为MCU和外围设备之间最常用的通信方式了。它是一种同步、全双工、主从式的通信接口。工作原理其实很直接:主机产生时钟信号,从机跟着这个时钟同步收发数据。允许双向传输,可以在同一时钟周期内进行主从设备的数据交换。

这种设计让SPI既简单又高效,特别适合需要快速传输数据的场合。不过要注意的是,SPI没有标准的通信协议,不同厂家的设备可能会有差异,所以用的时候一定要仔细看芯片手册。

011

典型应用场景

SPI接口的核心优势在于它的简单性灵活性,典型应用场景包括:

1、传感器数据采集(如温度传感器、IMU),例如:TMP124芯片,它是由TI推出的工业级数字温度传感器,主打高精度+SPI接口组合,适合对测温有严苛要求的场景。

2、存储器读写(Flash、EEPROM),比如小容量的AT25040,常用来存储配置参数和校准数据。

3、数字信号转换(ADC/DAC)。比如通用ADC芯片MCP4921,它是Microchip推出的低成本12位数字模拟转换器(DAC),主打简单易用+SPI接口组合,适合需要数字控制模拟输出的场景。

4、显示驱动(OLED、TFT屏幕),例如咱们常用的0.96寸OLED屏,一般有I2C和SPI两种接口,虽然SPI多占用两个IO口,但速度比I2C快很多。

021

SPI的连接方式和工作速度

连接方式

SPI接口可以是3线式或4线式,这里主要介绍常用的4线SPI接口,4线SPI器件有四个信号:

  • 片选(CS):片选信号,低电平有效

  • 时钟(SPI CLK, SCLK):时钟信号由主机产生

  • MOSI: 主机输出,从机输入

  • MISO 主机输入,从机输出

主机和从机之间的SPI连接

这里要注意一下,主机和从机的MOSI和MISO的接线,这个跟串口TX,RX不一样,很多人容易搞错,主机的MISO接从机的MISO,主机的MOSI接从机的MOSI,直连不交叉。

那怎么判断哪个是主机呢?咱们产生时钟信号的器件称为主机。主机和从机之间传输的数据与主机产生的时钟同步。另外SPI接口只能有一个主机,但可以有一个或多个从机。关注公众号:硬件笔记本

来自主机的片选信号用于选择从机。这通常是一个低电平有效信号,拉高时从机与SPI总线断开连接。当使用多个从机时,主机需要为每个从机提供单独的片选信号。

工作速度


SPI速度的典型范围:1 MHz至100 MHz(4 Mbps至400 Mbps),具体速率取决于器件等级:

消费级IC:1-10 MHz(4-40 Mbps)

工业级器件:10-25 MHz(40-100 Mbps)

但咱们在实际应用中,会受限于外设支持(如Flash芯片可达80 MHz,传感器通常8 MHz)

这里再插一句,对比I2C来说,I2C速度就低太多了:标准模式100Kbps,高速模式5Mbps(理论值),但是I2C会少占用两个IO口,所以I2C速度胜在省引脚,SPI赢在速度快。

031

数据传输

SPI的数据传输,整个过程是这样的:

首先,作为主控的设备要产生时钟信号(SCLK),这个信号就像通信的节拍器。同时,主机要通过拉低片选信号(CS)来选中要通信的从设备,这个CS信号通常是低电平有效,所以主机要给它一个逻辑0。

SPI最厉害的地方在于它是全双工的,这意味着主机可以通过MOSI线往外发送数据的同时,从设备也能通过MISO线往主机发送数据,两边是同时进行的。具体来说,主机把数据一位一位地放到MOSI线上移出去,同时又在MISO线上一位一位地收数据。

所有这些数据的发送和接收都是严格跟着时钟信号的边沿走的,你可以选择在时钟的上升沿或者下降沿来采样数据。至于每次通信要传多少位数据,这个得看具体器件的规格书,不同芯片的要求可能不一样。

咱们来看两张动图

这个过程中要注意三点:

1、是时钟必须由主机产生;

2、CS信号要提前拉低选中从机;

3、数据的收发是同步进行的,不是先发后收或者先收后发。这种设计让SPI既简单又高效,特别适合需要快速传输数据的场合。

原文授权自公众号:硬件笔记本


041

工作模式

SPI有4种工作模式,主要通过CPOL和CPHA两个参数来配置:



如下是SPI模式0的时序图。

传输的开始和结束绿色虚线表示;采样边沿橙色虚线表示;移位边沿蓝色虚线表示。当然,这些图形仅供参考。要成功进行SPI通信,必须参阅器件的数据手册并确保满足器件的时序规格。

如下是SPI模式1的时序图。此时:
时钟极性为0,表示时钟信号的空闲状态为低电平
时钟相位为1,表示数据在下降沿采样(由橙色虚线显示),并且数据在时钟信号的上升沿移出(由蓝色虚线显示)。


如下是SPI模式2的时序图。此时:时钟极性为1,表示时钟信号的空闲状态为高电平。时钟相位为1,表示数据在下降沿采样(由橙色虚线显示),并且数据在时钟信号的上升沿移出(由蓝色虚线显示)。


如下是SPI模式3的时序图。此时:时钟极性为1,表示时钟信号的空闲状态为高电平。时钟相位为0,表示数据在上升沿采样(由橙色虚线显示),并且数据在时钟信号的下降沿移出(由蓝色虚线显示)。

051

多从机配置

咱们的多个从机可与单个SPI主机一起使用。从机可以采用常规模式连接,或采用菊花链模式连接常规SPI模式:

在咱们SPI常规连接模式下,咱们主机必须为每个从设备单独配备一个片选信号线(CS)。当主机将某个从机的CS信号拉低时,这个从机就被选中,此时MOSI和MISO线上的时钟和数据信号就可以和这个特定的从机进行通信。关注公众号:硬件笔记本

这里有个重要限制:同一时间只能有一个从机的CS信号被拉低,如果同时拉低多个CS信号,会导致多个从机同时在MISO线上返回数据,造成数据冲突,主机就无法分辨这些数据到底来自哪个从机。

随着系统连接的从机数量增多,主机需要提供的片选线数量也会相应增加。比如连接8个从机就需要8根独立的CS线,这会快速占用主机的IO口资源,从而限制了系统能够支持的从机数量。为了解决这个问题,可以采用一些扩展技术,比如使用多路复用器(MUX)来产生片选信号。不过这种方案会增加一些硬件复杂度,需要额外添加多路复用器芯片。

菊花链模式:

在SPI菊花链连接方式下,所有从设备共享同一个片选信号(CS),从一个从机传播到下一个从机。具体工作过程是:主机发出时钟信号(SCLK)后,数据首先传输到第一个从机,第一个从机将数据提供给第二个从机,这样依次传递下去。所有从机都使用同一个时钟信号进行同步。

这种连接方式的特点是数据传输需要更多的时钟周期。如下图,比如在一个8位数据宽度的系统中,如果要让第三个从机收到数据,就需要24个时钟脉冲(3个从机×8位),而在常规SPI模式下只需要8个时钟脉冲。这是因为数据需要依次通过每个从机,每个从机都会对数据进行处理和转发。

菊花链配置:数据传播

需要注意的是,不是所有SPI设备都支持菊花链模式。在使用这种连接方式前,必须仔细查看所用芯片的技术手册,确认其是否支持菊花链功能。有些芯片可能只支持常规的独立片选模式。此外,菊花链模式虽然节省了片选信号线,但会降低通信效率,因此要根据实际应用需求权衡选择。

061

总结

SPI接口虽然简单,但在实际应用中需要注意很多细节:

1、接线要正确(直连不交叉);

2、模式要匹配(看器件手册);

3、多从机时要合理选择连接方式。

记住这些要点,就能用好SPI接口啦!如果遇到问题,最靠谱的办法就是查阅器件的数据手册。

如果这篇文章对你有帮助,别忘了点赞收藏,并分享给更多需要的人!

原文授权自公众号:硬件笔记本

如果看到这里,请点赞、收藏、分享三连!

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
迪马利亚这样评价C罗和梅西,平心而论,你认为他的评价理性吗?

迪马利亚这样评价C罗和梅西,平心而论,你认为他的评价理性吗?

田先生篮球
2026-01-27 18:18:31
看了观众对王菲马年春晚的评价,龚琳娜的话,终于有人信了!

看了观众对王菲马年春晚的评价,龚琳娜的话,终于有人信了!

社会日日鲜
2026-02-17 08:03:46
除夕撞钟“2度剧烈抖动”热议不断!郑丽文:感受到巨大正能量

除夕撞钟“2度剧烈抖动”热议不断!郑丽文:感受到巨大正能量

台海新时光
2026-02-17 19:54:02
外资撤不走,中国拦不住,如今的中国广东,制造早已不是代工

外资撤不走,中国拦不住,如今的中国广东,制造早已不是代工

甜柠聊史
2026-01-23 14:01:57
普京主动归还北方四岛,仅仅提出一个条件,为何日本不接受?

普京主动归还北方四岛,仅仅提出一个条件,为何日本不接受?

安珈使者啊
2026-02-17 11:35:12
加快男性衰老的因素:喝酒仅第5,排在第1的,很多男性还没发现!

加快男性衰老的因素:喝酒仅第5,排在第1的,很多男性还没发现!

医学科普汇
2026-01-27 10:41:31
女篮劲敌12人名单出炉!世预赛连战5大强敌:他们能掀翻日本队吗

女篮劲敌12人名单出炉!世预赛连战5大强敌:他们能掀翻日本队吗

篮球快餐车
2026-02-18 01:05:56
马年春晚镜头下的中年明星!王菲抗住怼脸拍,刘涛天然脸有韵味

马年春晚镜头下的中年明星!王菲抗住怼脸拍,刘涛天然脸有韵味

萌神木木
2026-02-16 23:00:41
巴萨1-2被爆冷,加泰媒体认为球队遭遇“黑暗势力”阻截

巴萨1-2被爆冷,加泰媒体认为球队遭遇“黑暗势力”阻截

星耀国际足坛
2026-02-17 21:05:03
A-史密斯:真正想毁掉扣篮大赛的人是詹姆斯,他从未满足期待参赛

A-史密斯:真正想毁掉扣篮大赛的人是詹姆斯,他从未满足期待参赛

懂球帝
2026-02-17 08:13:51
日本妹子赤裸上身做引体向上引热议!背影比男人还壮?

日本妹子赤裸上身做引体向上引热议!背影比男人还壮?

姿势跑法
2026-02-09 11:46:08
原来这就是暗示性求助,警惕!

原来这就是暗示性求助,警惕!

另子维爱读史
2026-02-14 21:50:58
当人老了,为啥亲戚、朋友和同学都不联系了?老人:看透了没意思

当人老了,为啥亲戚、朋友和同学都不联系了?老人:看透了没意思

老方
2024-05-27 16:23:50
两性关系:70岁后想多活20年,牢记这5句话,健康长寿少烦恼

两性关系:70岁后想多活20年,牢记这5句话,健康长寿少烦恼

匹夫来搞笑
2026-01-22 12:05:40
蔡明人民日报撰文

蔡明人民日报撰文

澎湃新闻
2026-02-17 12:03:06
赢了官司却亏到吐血!嫣然医院搬家,房东成年度最大笑话!

赢了官司却亏到吐血!嫣然医院搬家,房东成年度最大笑话!

达文西看世界
2026-01-20 13:35:51
王思聪近照憔悴疑纵欲过度!日本开库里南,与3网红约会坐过山车

王思聪近照憔悴疑纵欲过度!日本开库里南,与3网红约会坐过山车

八卦王者
2026-02-16 15:08:51
72能力值!正式超越杨瀚森!当今亚洲第一控球后卫

72能力值!正式超越杨瀚森!当今亚洲第一控球后卫

篮球实战宝典
2026-02-17 13:13:30
江西女硕士失踪,被发现时已在教授实验室待6年,魔鬼真的存在

江西女硕士失踪,被发现时已在教授实验室待6年,魔鬼真的存在

灿烂夏天
2025-02-10 20:20:13
为什么日本在短期旅行中几乎无可挑剔,却在长期生活中让大量外国人逐渐感到压抑与疏离

为什么日本在短期旅行中几乎无可挑剔,却在长期生活中让大量外国人逐渐感到压抑与疏离

日本物语
2026-01-13 20:41:39
2026-02-18 03:27:02
工程师看海 incentive-icons
工程师看海
专注硬件设计、PCB走线
321文章数 200关注度
往期回顾 全部

科技要闻

春晚这些机器人是怎样做到的?

头条要闻

加州州长纽森炮轰特朗普:把美国未来卖给中国

头条要闻

加州州长纽森炮轰特朗普:把美国未来卖给中国

体育要闻

谷爱凌:'不小心"拿到了银牌 祝大家马年大吉

娱乐要闻

春节档电影首波口碑出炉!

财经要闻

大年初一,这三件事很不寻常

汽车要闻

问界M6更多信息:乾崑智驾ADS4.0+鸿蒙座舱5.0

态度原创

本地
亲子
数码
游戏
旅游

本地新闻

春花齐放2026:《骏马奔腾迎新岁》

亲子要闻

祝大家新年快乐……恭喜发财……财源滚滚……

数码要闻

婚礼礼物天花板!新婚夫妇收到RTX 5090+四条内存:还有旗舰CPU

2月XGP第二波新增!巫师3、天国拯救2等8款爽玩

旅游要闻

特写:流光溢彩映维港 花车巡游贺新春

无障碍浏览 进入关怀版