I2C、SPI、CAN、PCIe 对比

news2024/9/21 17:57:48

唯一标识

在社会上,靠身份证号,来唯一标识一个人。
在计算机的世界里,通过什么来唯一标识一个外设呢?方案还不止一种

  • I2C
    • 使用地址(7 或 10 位)来唯一标识一个外设
  • SPI
    • 使用 CS 引脚来唯一确定通信的外设
  • CAN
    • 不对设备进行唯一标识,而是对报文进行唯一标识,设备处理自己感兴趣的报文 ID(11 位或 29 位)就行了
  • PCI
    • 则是对功能进行唯一标识,通过 BDF(Bus,Device,Function) 来唯一确定目标功能的位置。

通信手段

  • I2C

    • 两根线
      • SCL:时钟线,时钟都是由 master 提供
      • SDA:双向数据线,发送数据或者接收数据(收发不能同时)
    • 起始信号、地址字节和读写命令、应答信号、停止信号
    • 特殊情况,当 master 决定不再接收数据时,应向 slave 发送 NACK 信号
  • SPI

    • 四根线
      • SCLK:时钟线,时钟都是由 master 提供
      • MOSI:Master 输出,Slave 输入,由 Master 向 Slave 发送数据
      • MISO:Master 输入,Slave 输出,由 Slave 向 Master 发送数据
      • CS:Chip Select,片选信号,Master 通过拉低 Slave 的片选信号选择 Slave
  • CAN

    • 两根线
      • CAN_H
      • CAN_L
      • CAN_H = CAN_L = 2.5V,隐性电平,逻辑 1
      • CAN_H = 3.5V,CAN_L = 1.5V,显性电平,逻辑 0
  • PCIe

    • x1:1 个 lane
    • x4:4 个 lane
    • x32:32 个 lane
    • 1 个 lane
      • 两对差分信号线(4 根线),一对用来发,一对用来收
        在这里插入图片描述
    • 差分时钟(两根线)
    • 时钟架构有三种 在这里插入图片描述

数据报文

  • I2C
    • 按字节传输
      在这里插入图片描述
      在这里插入图片描述
  • SPI
    • 按字节传输
      在这里插入图片描述
  • CAN
      • 数据帧,软件实现,所以只要掌握数据帧、遥控帧即可
      • 遥控帧,软件实现
      • 错误帧,硬件完成
      • 过载帧,硬件完成
    • 每帧由 7 部分组成
      • 帧起始、仲裁段、控制段、数据段、CRC 段、ACK 段、帧结束
        在这里插入图片描述
  • PCIe
    • 四层
      • 应用层,不是 PCIe Spec 规定的内容,完全由用户自行设计。下面三层都是 PCIe Spce 明确规定的,要求设计者严格遵循。
      • 事务层,Transaction Layer,收发事务层包(Transaction Layer Packet,TLP)
      • 数据链路层,Data Link Layer,收发数据链路层包(Data Link Layer Packet,DLLP)
      • 物理层,Physical Layer

    • 在这里插入图片描述

    • 在这里插入图片描述
    • TLP 报文格式
      在这里插入图片描述

特点

  • I2C

    • 同步、半双工
    • 速率
      • 标准模式 100kbps
      • 快速模式 400kbps
      • 高速模式 3.4Mbps
    • 同一时刻只能有一个 master 与一个 slave 通信
  • SPI

    • 同步、全双工

    • 同一时刻只能有一个 master 与一个 slave 通信

    • 有 4 种不同的数据传输时序(工作模式)

    • 速率

      • 受限于硬件,STM32 是 18M
    • 主要用在 EEPROM、FLASH、实时时钟、AD 转换器、数字信号处理器、数字信号解码器

    • 缺点

      • 没有应答机制确认是否收到数据
    • CAN

      • 多主总线,多主竞争
      • 废除传统的地址编码,代之使用对通信数据块进行编码。优点是节点个数在理论上不受限制。
      • 数据段长度最多为 8 字节,不会占用总线太长时间,实时性高
      • 速率
        • 最高 1M
  • PCIe

    • 也是串行总线
    • 点对点(传统 PCI 是共享总线)
    • 全双工
    • 按需调整 PCIe 设备带宽
      • 显卡,多个 lane
      • 网卡,一个 lane
    • 速率
      • 注意这里是 大B
        在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/60068.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

0.安装和配置

我们不要怕,我们要一直向前,为了我们的目标。 对应关系是: https://www.rabbitmq.com/which-erlang.html 安装 Erlang https://www.erlang.org/downloads 选中 64 位 进行下载 下载后,双击 进行安装 选择 安装的路径 路径为: …

[附源码]计算机毕业设计校园招聘系统Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

Android深色主题背景的实现及主题背景颜色互换

layout: post title: Android深色主题背景的实现及主题背景颜色互换 date: 2-12-03 21:52:38 发布 author: ‘zhangtao’ header-img: ‘img/post-bg-2015.jpg’ catalog: false tags: -android -android studio -ide 目录 深色主题背景的优势: 如何实现Android的…

MySQL进阶

文章目录数据库约束NULL约束UNIQUE:唯一约束DEFAULT:默认值约束PRIMARY KEY:主键约束FOREIGN KEY:外键约束表的设计——一对一、一对多、多对多增删改查进阶聚合函数Group by分组having:分组后的条件过滤联合查询内连接外连接自连…

【 第六章 事务操作、事务四大特性、并发事务问题、事务隔离级别】

第六章 事务操作、事务四大特性、并发事务问题、事务隔离级别 1.事务简介: ①事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功&#xff0…

Kafka - 13 Java 客户端实现消费者消费消息

文章目录1. 独立消费者案例(订阅主题)2. 独立消费者案例(订阅分区)3. 消费者组案例1. 独立消费者案例(订阅主题) 需求:创建一个独立消费者,消费主题中数据: [roothadoo…

Linux系统移植三:移植Kernel生成zImage和dtb文件

Linux系统移植系列 Linux系统移植一:移植U-BOOT 添加自己的板子并编译(非petalinux版) Linux系统移植二:生成fsbl引导文件并制作BOOT.bin 下载源码包 Xilinx官方linux源码包下载地址:https://github.com/Xilinx/lin…

linux+window+macos下的JDK安装

1. Linux中安装JDK (1)下载Linux版本的jdk压缩包 (2)解压 tar -zxvf 压缩包名 例如: tar -zxvf jdk-8u251-linux-x64.tar.gz(3)在系统配置文件配置java 编辑profile配置文件 vim /etc/prof…

JVM Metaspace内存溢出问题

更多内容,前往 IT-BLOG 一、现象 x项目线上环境因为jvm报OOM的异常而报警,导致整个服务不可用并被拉出集群,现象如下: 当时的解决方案是增加metaspace的容量: -XX:MaxMetaspaceSize512m, 从原来默认的256m改为512m, 虽然没有再出现oom,但这个只是临时解决方案,通过…

MyBatis ---- 动态SQL

MyBatis ---- 动态SQL1. if2. where3. trim4. choose、when、otherwise5. foreach6. SQL片段MyBatis 框架的动态 SQL 技术是一种根据特定条件动态拼接 SQL 语句的功能,它存在的意义是为了解决拼接 SQL 语句字符串时的痛点问题。 1. if /*** 根据条件查询员工信息if…

eBPF书籍和教程良心推荐

中文 BPF 性能工具(书籍),作者 Brendan Gregg。本书的GitHub 回购。系统性能:企业与云,第 2 版 (2020),作者:Brendan GreggJed Salazar 和 Natalia Reka Ivanko 的 eBPF 安全可观察性什么是 eB…

Metabase学习教程:系统管理-5

仪表板优化 如何使您的仪表板加载更快。 说到仪表板性能方面,基本上有四种方法可以让仪表板更快地加载: 要求更少的数据.缓存问题答案.组织数据以预测常见问题.提出有效的问题。图1。包含三个筛选器小部件的示例仪表板,它们使用Metabase附…

友宝在线在港交所上市申请“失效”:连续两年亏损,王滨为大股东

近日,贝多财经从港交所披露易了解到,Beijing UBOX Online Technology Corp.(北京友宝在线科技股份有限公司,下称“友宝”或“友宝在线”)的上市申请材料已经失效,目前已经无法查看。 其中,招股书…

期末前端web大作业:餐饮美食网站设计与实现——餐厅响应式网站制作html+css+javascript+jquery+bootstarp

🎀 精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

Android开发的UI设计——Material Design

前言 Material Design 是用于指导用户在各种平台和设备上进行视觉、动作和互动设计的全面指南。如需在您的 Android 应用中使用 Material Design,请遵循 Material Design 规范中定义的准则,并使用 Material Design 支持库中提供的新组件和样式。 正篇 …

【软件安装】Ubuntu18.04及20.04中安装omnet++

注意:安装omnet首先看官方安装指导,不要直接百度。 omnet6.0.1官方安装指导omnet6.0只能在Ubuntu20.04及之后的版本使用,因为glibc版本不适配。 Ubuntu18.04安装omnet5.6.2 安装必要支持 更新apt-get $ sudo apt-get update安装依赖软件 $ s…

2022年四川省职业院校技能大赛网络搭建与应用赛项

2022年四川省职业院校技能大赛 网络搭建与应用赛项 (一) 技能要求 (总分1000分) 网络搭建与应用赛项执委会及专家组 2022年06月 竞赛说明 一、竞赛内容分布 “网络搭建与应用”竞赛共分三个部分,其中: 第一…

3个常用的损失函数

1. L2 loss (均方损失) 除以2就是可以在求导时2和1/2可以相乘抵消。 蓝色的曲线表示:y0时,变化预测值y’的函数。 绿色曲线表示:似然函数。e^-l。 是一个高斯分布。 橙色的线:表示损失函数的梯度 可以看到…

记录Windows下mysql更改my.ini文件中datadir路径后启动不起来的问题

1.mysql默认安装到了C盘,想将数据库存储路径改到别的盘下 将Data文件夹和日志复制到H盘 找到mysl服务,右键停止服务 更改my.ini文件中的路径 保存然后启动发现启动不起来 猜测原因1:文件夹没有权限 将文件夹权限给到所有的用户 右击 ”…

[附源码]Python计算机毕业设计Django青栞系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…