I2C和SPI作为两种非常常用的低速外部总线

I2C

I2C是以前的飞利浦半导体制定的标准,也就是如今的NXP。

I2C总线由一条数据线(SDA)和一条时钟线(SCL)组成。设备分主从,主设备提供时钟,并发起操作。

SMBUS

SMBUS是一种基于I2C而扩展出来的协议。有一些更为复杂的操作,但是原理都还是基于I2C的。

PMBUS

PMBUS是基于SMBUS,定义了很多和电源管理相关的命令。在物理传输上,和SMBUS是完全一致的。

SPI

SPI有四根线,一根时钟,一根收数据,一根发数据,一根片选。当有多个设备时,他就需要多根片选,所以相比I2C而言,布线更为复杂。

SPI只规定了如何收发数据,但是数据的具体格式含义并没有定义。譬如在I2C中跟在7位地址后面的1位表示读写,所有设备都需要遵循。但是SPI不是这样,每个slave都有自己定义的数据格式,各不相同。

I2C(smbus、pmbus)和 SPI协议相关推荐

  1. 几种常用通信协议:IIC协议、SPI协议、UART协议

    通信可以形象的比喻成两个人讲话:1.你说的别人得能听懂:双方约定信号的协议.2.你的语速别人得能接受:双方满足时序要求. 一.IIC协议: 2C串行总线一般有两根信号线,一根是双向的数据线SDA,另一 ...

  2. 串行总线 —— I2C、UART、SPI

    I2C,也叫 IIC,是一种常见的串行总线,它只需要两根线即可在连接于总线上的器件之间传送信息. 0. 电气知识 开漏输出:Open drain output,不输出电压,低电平时接地,高电平时不接地 ...

  3. 【FPGA】SPI协议

    1.SPI简介 SPI(Serial Perripheral Interface, 串行外围设备接口)是 Motorola 公司推出的一种同步串行接口技术.SPI 总线在物理上是通过接在外围设备微控制 ...

  4. 【STM32】SPI协议通信详解

    目录 一.SPI协议简介 二.SPI物理层 三.SPI协议层 1.通讯的起始和停止信号 2.数据有效性 3.时钟信号的相位和极性(重点) 四.SPI 特性及架构(重点) 1.通信引脚 2.时钟控制逻辑 ...

  5. 基于SPI协议下的OLED显示

    文章目录 一.SPI简介 二.OLED显示 1.任务要求 2.实验器材 3.实验过程 (1)显示自己的学号和姓名 (2) 显示AHT20的温度和湿度 (3)上下或左右的滑动显示长字符(SSD1306驱 ...

  6. SPI的模拟应用——OLED以及时钟模块的应用(一)SPI协议介绍及利用协议实现两机通信(51单片机)

    链接:https://pan.baidu.com/s/1g8jkENjO8v4eXq0bN0acEw?pwd=45c8  提取码:45c8 目录 一. 什么是SPI 1-1 SPI简介 1-2 SPI ...

  7. 【嵌入式基础】基于IIC和SPI协议的温湿度采集与OLED显示

    本文主要介绍IIC总线通信协议和SPI协议,并使用STM32系列芯片基于IIC协议实现AHT20温湿度传感器上位机数据采集,基于SPI协议实现OLED显示. 目录 一.IIC总线通信协议 1.IIC协 ...

  8. 基于STM32 + 超详细对新手全面解析讲解SPI协议(附源码)

    前言        本次我们学习一下STM32的一个基本外设 --- SPI,全程参考手册讲解,讲述SPI的工作模式和作用,让大家快速掌握和了解SPI通讯协议.本篇博客大部分是自己收集和整理,借鉴了很 ...

  9. [经验] PROTEUS仿真学习笔记05 (SPI 协议 外设)——2014_7_15

    SPI 的概念 *************** 对初学者来说,SPI 应该比 I2C 难一些,原因: 1.C51 用SPI 的资料不多,要到STM32 等更高级MCU 资料才会多: 2.SPI 的资料 ...

  10. STM32学习笔记(15)——SPI协议

    STM32学习笔记(15)--SPI协议 一.SPI协议简介 1. 物理层 2. 协议层 (1) 通讯的开始与停止 (2)时钟极性CPOL.时钟相位CPHA 二.STM32的SPI外设 1. 通讯引脚 ...

最新文章

  1. HDU - 6629 string matching(扩展KMP)
  2. 引用js_js值和引用
  3. 去除面部黑色素小妙招_面部黑色素沉着怎么去除 推荐几个去黑色素的方法
  4. 让IT工作者过度劳累的12个坏习惯
  5. 消息中间件--RabbitMQ --- 消费端限流 -- 非常重要
  6. Web—09-正则表达式
  7. java mysql tree_java面試題:你了解mysql的B+TREE索引嗎?
  8. MAVEN setting.xml配置文件详解
  9. 如何锻炼腹肌更加有效?
  10. k8s-高可用部署-calico插件
  11. Mysql.索引存储结构演进(面试一次搞定)
  12. Goldsrc 地图 BSP 文件格式规范
  13.  一套莫尔斯电报听写、翻译系统
  14. 关于添加android:name=android.permission.INSTALL_PACKAGES报错的解决方法
  15. Week 6 测验:Advice for Applying Machine Learning【Maching Learning】
  16. DLL错误之——无法加载DLL “xxxxx.dll” : 找不到指定的模块(异常来自HRESULT:0x8007007E)
  17. wordpress 手动更新方法
  18. Leetcode 1011. Capacity To Ship Packages Within D Days 在 D 天内送达包裹的能力
  19. PHP 操作文件没有权限:Permission denied
  20. DS_Store是什么文件

热门文章

  1. 国二c语言程序设计技巧,计算机二级C语言考试必看技巧
  2. HM16.0之帧间Merge模式——xCheckRDCostMerge2Nx2N
  3. python黑客编程-[分享]Python黑帽子 黑客与渗透测试编程之道PDF和文章内代码【全】...
  4. 工业自动化控制-组态王1
  5. bilibili 韩顺平Java后端学习路线
  6. 数据库系统基础教程复习
  7. 华硕ASUS acrh17 PandoraBox固件
  8. Python 爬虫案例
  9. java 实例化数组_java数组实例化
  10. Redis设计与实现笔记 |目录