文章目录

  • 1、内部总线、系统总线、外部总线的概念
  • 2、总线通信的基本概念
  • 3、I2C和SPI的经典物理层结构
  • 4、I2C总线与SPI总线的区别
  • 5、I2C总线和SPI总线的共同点

1、内部总线、系统总线、外部总线的概念

总线的分类方式是根据离芯片远近等级进行分类的:内部总线是外设与处理器之间的总线,用于芯片一级的互连;系统总线是各插件板与主板之间的总线,用于插件板一级的互连;外部总线是微机和外部其他设备之间的总线,微机作为一种设备,通过该总线和其他设备进行信息与数据交换,用于设备一级的互连。

严格来说,I2C和SPI属于内部总线,而UART属于外部总线

2、总线通信的基本概念

数据传输方向

  • 单工:只允许数据在一个方向上传输,不能实现双方通信 例:收音机
  • 半双工:允许数据在两个方向上传输,但是同一时间数据只能在一个方向上进行传输 例:对讲机
  • 全双工:允许数据在两个方向上同一时间传输 例:手机通话

缓冲通信模式

  • 同步(阻塞模式),同步通信有时钟线控制同步
  • 异步(非阻塞模式),异步通信没有时钟线控制同步

传输数据位数

  • 串行通信:将数据按位依次传输,每位数据占据固定的时间长度
  • 并行通信:多比特数据同时通过并行线进行发送

3、I2C和SPI的经典物理层结构

I2C

SPI

4、I2C总线与SPI总线的区别

  • 从通信模式上看,I2C总线是一种串行同步半双工的通信协议,而SPI总线是一种串行同步全双工的通信协议;
  • 从物理结构上看,I2C只有两根线(SCL、SDA),SPI有4根线(SCK、CS、MOSI、MISO);
  • 从总线传输速度上看,I2C总线的传输速度在100Kbps - 4Mbps,SPI总线的传输速度更快,可以达到30Mbps以上;
  • I2C总线的起始传输信号是SCL在高电平时SDA产生一个下降沿,终止传输信号是SCL在高电平时SDA产生一个上升沿。SPI总线当CS拉低电平时标志传输开始,CS拉高电平时标志传输结束;
  • 从采样模式上看,I2C总线是SCL高电平采样,SPI总线因为是全双工,所以是沿采样,具体要根据时钟相位CPHA决定,一般情况下master device是SCK的上升沿发送,下降沿采集;
  • I2C总线是多主机总线,并且能支持多从机,其通过SDA上的地址信息来锁定从设备,SPI总线只有一个主设备,主设备通过CS片选来确定从设备。

5、I2C总线和SPI总线的共同点

  • I2C总线和SPI总线数据传输都是MSB(最高有效位)在前,LSB在后(串口是LSB在前);

  • I2C总线和SPI总线时钟都是由主设备产生,并且只在数据传输时发送时钟信号。

I2C总线和SPI总线的异同点相关推荐

  1. IIC总线 和 SPI总线 的不同

    IIC总线 和 SPI总线 的不同 1. iic 总线是半双工, 2 根线 SCL SDA. spi 总线实现全双工, 4 根线 SCK CS MOSI MISO: 2. iic 总线是多主机总线,通 ...

  2. I2C与SPI总线对比

    最近2周一直在调试IIC和SPI总线设备,这里记录一下2种总线,以备后忘. 一 IIC总线 I2C--INTER-IC串行总线的缩写,是PHILIPS公司推出的芯片间串行传输总线.它以1根串行数据线( ...

  3. I2C和SPI总线对比,RFID及NFC区别

    I2C是半双工,SPI的全双工,uart是全双工. 单工.半双工.全双工 单工数据传输只支持数据在一个方向上传输: 半双工数据传输允许数据在两个方向上传输,但是,在某一时刻,只允许数据在一个方向上传输 ...

  4. 简述SPI总线通信协议笔记

    一.SPI总线简介 SPI总线是串行.高速.全双工.同步通信总线.采用主从方式工作,一般有一个住设备和一个或多个从设备.SPI需要至少4根线,分别是MISO(主设备输入从设备输出).MOSI(主设备输 ...

  5. stm32h7高速通信_【STM32H7教程】第75章 STM32H7的SPI总线应用之驱动DAC8501(双路输出,16bit分辨率,0-5V)...

    第75章       STM32H7的SPI总线应用之驱动DAC8501(双路输出,16bit分辨率,0-5V) 本章节为大家讲解标准SPI接线方式驱动模数转换器DAC8501,制作了中断和DMA两种 ...

  6. LINUX SPI设备驱动模型分析之二 SPI总线模块分析

    上一篇文章我们简要介绍了SPI驱动模块,本章我们详细说明一下spi总线.设备.驱动模块的注册.注销以及这几个模块之间的关联. SPI总线的注册 spi模块也是基于LINUX设备-总线-驱动模型进行开发 ...

  7. 【STM32F429开发板用户手册】第33章 STM32F429的SPI总线应用之驱动DAC8563(双通道,16bit分辨率,正负10V)

    最新教程下载:http://www.armbbs.cn/forum.php?mod=viewthread&tid=93255 第33章       STM32F429的SPI总线应用之驱动DA ...

  8. SPI总线通信——基于STM32MP157A

    SPI总线概念 SPI总线是Motorola首先提出的全双工三线/四线同步串行总线,采用主从模式(Master Slave)架构:支持多从机(slave)模式应用,一般仅支持单主机,多从机. 时钟由主 ...

  9. 【STM32F429开发板用户手册】第34章 STM32F429的SPI总线应用之驱动DAC8501(双路输出,16bit分辨率,0-5V)

    最新教程下载:http://www.armbbs.cn/forum.php?mod=viewthread&tid=93255 第34章       STM32F429的SPI总线应用之驱动DA ...

最新文章

  1. ⑤Windows Server 8 RemoteFX体验
  2. mongoDB条件操作符
  3. Linux 查看进程命令
  4. 正则表达式匹配单行注解
  5. oracle 5种索引方式,MySQL使用索引的几种方式
  6. 用imspost制作catia后处理_新产品开发需要做原型验证,怎么样成型制作才省钱?...
  7. LED —— 发光二极管
  8. 你为什么用微信,不用 QQ ?
  9. txt代码文件怎么转换_pdf怎么转换成txt格式?小说党速来get
  10. 基于PHP的网上书店系统(前后台)
  11. i40e驱动安装方法
  12. Apache的Rewrite知识点梳理(mod_rewrite、RewriteCond、RewriteRule)
  13. SpringSecurity安全认证之:数据库方式权限认证
  14. 移动端测试 (APP测试)
  15. 2021年江西工业互联网安全技术技能大赛线上初赛Writeup
  16. yota3墨水屏调节对比度_YOTA3墨水屏“直通”技术取代旧“投射”功能,体验全面升级-非常在线...
  17. pack 和 unpack
  18. c语言如何实现1-n全排列,全排列思路解析附C语言实现
  19. 笔记31-JDBC连接池JDBCTemplate
  20. 查看SpringBoot内置tomcat版本

热门文章

  1. 机械类复试面试问答题2
  2. 后台开发分类(不全面)
  3. decode 大于比较 小于_阐述Oracledecode函数的用法
  4. 神经网络 - RBF神经网络与BP网络优缺点比较 - 机器学习基础知识
  5. Antmove踩过的雷
  6. 各个版本Windows系统中自带的.NET Framework版本
  7. Fiddler——修改数据信息
  8. SOLIDWORKS如何画正四面体
  9. 面试题整理|50个NodeJS面试题
  10. sequoiadb学习笔记