难懂?这样理解SPI与CAN很简单!

2023-11-18

什么是串行通讯?

在正式进入主题前,我么先来介绍一下什么叫做"串行通信".

串行通信是计算机的一种数据传输通信方式,主要起到主机与外设以及主机之间的数据传输作用,串行通信具有传输线少、成本低的特点,主要适用于近距离的人-机交换、实时监控等系统通信工作当中,借助于现有的电话网也能实现远距离传输,因此串行通信接口是计算机系统当中的常用接口。

何谓串行?
在这里插入图片描述串行通讯又可分为单工\双工\全双工三种

在这里插入图片描述

为什么仍需使用串行通讯?

串行通讯就像是一条车道,而并行通讯则是8条车道,那么就会有人有这样的疑惑:为什么还存在串口通讯呢?

事实上,并行通讯,由于"车道"多,相互之间的干扰就大,一旦发生传输错误,8个通道上的数据都得重新传输,相比较而言,串行通讯就显得快一些了.

SPI与CAN

解释清楚了什么事串行通讯,接下来我们具体看看SPI与CAN的区别:

SPI:串行外围设备接口SPI(serial peripheral interface)总线技术是Motorola公司推出的一种同步串行接口。Motorola公司生产的绝大多数MCU(微控制器)都配有SPI硬件接口,如68系列MCU。SPI总线是一种三线同步总线,因其硬件功能很强,所以,与SPI有关的软件就相当简单,使CPU有更多的时间处理其他事务。

CAN (控制器局域网 control area network ) 实现了分布式节点控制系统可靠的数据通信.本质上也是一种通讯网络,经常被应用在一些特殊场合.
在这里插入图片描述
总的来说,SPI 与CAN的区别就是研发公司\技术特点与应用场合的不同,本质上都是实现数据的传输.

SPI 接口特点

SPI主要特点:

  1. 可同时发出和接受串行数据;
  2. 提供频率可变成时钟;
  3. 发送结束中断标志;
  4. 总线竞争保护等.

CAN现场总线特点

CAN现场总线特点:

  1. 较低的成本和较高的利用率;
  2. 数据传输距离可长达10km,传输速率可高达1Mbit/s;
  3. 可靠的错误处理和检错机制,发送的信息遭到破坏后可自动重发;
  4. 节点在错误严重的情况下具有自动退出总线的功能.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

难懂?这样理解SPI与CAN很简单! 的相关文章

  • CAN总线详解(转)

    1 简介 CAN是控制器局域网络 Controller Area Network CAN 的简称 xff0c 是一种能够实现分布式实时控制的串行通信网络 优点 xff1a 传输速度最高到1Mbps xff0c 通信距离最远到10km xff
  • rk3399下spi驱动

    SPI 使用 Note xff1a 本文从firefly wiki截取 SPI是一种高速的 xff0c 全双工 xff0c 同步串行通信接口 xff0c 用于连接微控制器 传感器 存储设备等 Firefly RK3399 开发板提供了 SP
  • 串口通信协议 UART+I2C+SPI

    UART 异步 串行 全双工 I2C SPI 不同通信协议比较 UART UART协议详解 UART通信 xff0c 接收与发送 xff08 详细版 xff0c 附代码 xff09 UART串行通信详解 待整理 UART是Universal
  • UART,SPI,IIC,RS232通信时序和规则

    一 UART 1 串口通信方式 2 串口通信步骤 注意 xff1a 串口协议规定 xff0c 闲置时必须是高电平 校验位 xff1a 是使用奇偶校验 停止位必须高电平 一个0和多个0区分是靠掐时间 异步通信 xff1a 时钟各不一样 二 I
  • Jlink使用技巧之烧写SPI Flash存储芯片

    文章目录 前言 准备 硬件连接 1 打开 2 连接SPI Flash芯片 3 打开程序文件 4 下载 5 程序文件的读取 6 程序文件的保存 7 命令行工具的使用 支持的芯片列表 速度说明 参考资料 JLink软件的下载 前言 大多数玩单片
  • CAN学习笔记3:STM32 CAN控制器介绍

    STM32 CAN控制器 1 概述 STM32 CAN控制器 bxCAN 支持CAN 2 0A 和 CAN 2 0B Active版本协议 CAN 2 0A 只能处理标准数据帧且扩展帧的内容会识别错误 而CAN 2 0B Active 可以
  • 基于c3c2440 Linux SPI驱动程序移植与测试

    基于c3c2440 Linux SPI驱动程序移植与测试 环境 ubuntu14 04 TQ2440开发板 linux3 0内核 linux3 0内核移植笔记点此 1 配置内核 Device Drivers gt SPI support g
  • 树莓派spi转can通信之C编程实现(二)

    一 相关库的安装 wiringPi 链接网址 http wiringpi com 一个函数库 在编程时节省底层汇编以操作pi的功能引脚 对pi的引脚也进行了再次编号 BCM2835 C Library 链接网址 http www airsp
  • 沁恒CH32V307使用记录:SPI基础使用

    文章目录 目的 基础说明 使用演示 其它补充 总结 目的 SPI是单片机中比较常用的一个功能 这篇文章将对CH32V307中相关内容进行说明 本文使用沁恒官方的开发板 CH32V307 EVT R1沁恒RISC V模块MCU赤兔评估板 进行
  • Ubuntu系统周立功CAN驱动安装及常见问题

    文章目录 前言 一 步骤 1 检查是否安装libusb的库 2 驱动安装 3 测试 部分常见问题 前言 系统是ubuntu16系列 周立功的是usbcan 提示 以下是本篇文章正文内容 下面案例可供参考 一 步骤 1 检查是否安装libus
  • STMCubeMX5.10版本CAN使用loopback模式自测

    使用芯片 STM32F103C8T6 cube软件版本 5 10 软件包版本为 STM32Cube FW F1 V1 7 0 一 配置时钟为使用外部晶振 并配置为72M 二 使能 can 并配置参数 设置can波特率为500k 并设置为lo
  • SpringBoot系列--自定义Starter

    提到Spring Boot时 很多人想到的是它的自动化装配特性 当我们项目需要Redis MongoDB时 只需要引入相应的 spring boot starter data redis spring boot starter data m
  • 各种通信接口的简单对比

    对比表 同步方式与异步方式的主要区别在于 是否传输时钟信号 只要是通訊前雙方需要設定相同波特率的 都是異步傳輸方式 异步传输 Asynchronous Transmission 每次异步传输的信息都以一个起始位开头 它通知接收方数据已经到达
  • 外设驱动库开发笔记22:ADXL345三轴数字加速度计驱动

    移动设备的广泛应用增加对移动过程中各种参数的检测需求 ADXL345三轴数字加速度计可以用来检测加速度 进而测量倾斜角度等 在这一篇中 我们将讨论ADXL345三轴数字加速度计驱动程序的设计与实现 1 功能概述 ADXL345是一款小而薄的
  • Java SPI机制

    一 SPI机制简介 SPI的全名为Service Provider Interface java spi机制的思想 系统里抽象的各个模块 往往有很多不同的实现方案 在面向的对象的设计里 一般推荐模块之间基于接口编程 模块之间不对实现类进行硬
  • SPI菊花链原理和配置

    一 概述 在一个主机和多个从器件的典型 SPI 系统中 通常采用专门的片选信号来寻址从器件 随着从器件数量不断增加 片选线也随之增多 这种情况将给电路板布板带来很大的挑战 一个布板方法就是采用菊链结构 本文详细讲述了 SPI 系统的菊链配置
  • I2C与SPI通信总线协议

    仅以寄存器地址为8Bit的器件为例 例如MPU6500 LSM6DS3 I2C通信协议 I2C 的要点是了解I2C通信帧的组成部分 START起始位 STOP停止位 ACK NACK信号 从机器件地址 从机寄存器地址 I2C读的时序比较繁琐
  • pico示波器使用

    文章目录 Pico示波器保存波形 Pico示波器录制数据 Pico示波器解析CAN报文 Pico示波器保存波形 Pico示波器可以通过以下步骤保存波形 在示波器上选择要保存的波形 连接示波器到计算机上 可以使用USB或者Ethernet连接
  • 功放诊断测试

    1 切换trace显示时间模式 Toggle time mode 2 测seedkey 需要加载seednkey dll 3 功能寻址和物理寻址切换
  • 在 ARM 处理器上执行存储在外部 SPI 闪存中的程序

    我有一个 ARM 处理器 能够与外部闪存芯片连接 写入芯片的是为 ARM 架构编译的程序 可供执行 我需要知道如何将这些数据从外部闪存获取到 ARM 处理器上以供执行 我可以提前运行某种复制例程 将数据复制到可执行内存空间吗 我想我可以 但

随机推荐

  • 【线性代数】第一章 1.3逆矩阵

    上一篇 1 2 高斯消元法与矩阵的初等变换 目录 一 逆矩阵的概念与性质 二 用行初等变换求逆矩阵 一 逆矩阵的概念与性质 前面我们定义了矩阵的加法 减法和乘法三种运算 自然的 欲在矩阵中引入类似于除法的概念 其关键在于引入类似于倒数的概念
  • STM32入门之GPIO详解

    一 GPIO基础知识 大家在做单片机相关项目开发时候 相信大家拿到板子的第一件事就是点亮开发板上的LED指示灯 也就是说我们第一件事就是对单片机的IO口进行操作 不管是51单片机还是32单片机亦或是arduino 我们想要控制一个最基本的外
  • Markdown编辑器【写作技巧】

    CSDN的MD编辑器 写作技巧 0 Markdown的公式编辑技巧 单个公式用 begin equation 多行公式 begin align 或者 begin array 1 在线LaTeX公式的编辑器 2 继续补充 color Oran
  • 【转】OCaml基础知识

    出自 http www nirvanastudio org ocaml the basics of ocaml html 注释 OCaml的注释是用 and 来分隔的 如下 这是一个单行注释 这是一个 多行 注释 换句话说 注释的方式和原始
  • 求最大公约数的快速算法

    stein 算法求最大公约数 和欧基里德算法相比 效果更好 主要思想如下 化归思想 1 m为奇数时 1 n也为奇数 gcd m n gcd m n 2 m n 2 2 n为偶数 gcd m n gcd m n 2 2 m为偶数时 1 n也为
  • 【Python】批量修改图片文件名和xml文件信息

    在使用tensorflow进行数据训练时 由于原图片文件名较繁琐 且由于根据原图片名生成的xml标签文件中生成了包含filename的标签属性 不利于后期测试训练效果 故通过Python代码对图片名和xml文件信息进行批量修改为由0开始的顺
  • std::thread使用

    C 11新特性 http www cnblogs com pzhfei archive 2013 03 02 CPP new feature html section 7 1 C 11新特性学习笔记 http blog csdn net h
  • java path环境变量_Windows下PATH等环境变量详解

    在学习JAVA的过程中 涉及到多个环境变量 environment variable 的概念 如PATH 正确地配置这些环境变量 是能够顺利学习 开发的前提 而经常出现的问题是 有的学习者能够按照提示一步一步地正确配置 但时间一长就忘了 出
  • HTML对字体的操作详解

    摘自 HTML对字体的所有操作详解 经典 作者 HeroKern 发布时间 2016 01 31 21 15 31 网址 https blog csdn net qq 21792169 article details 50615919 ut
  • shell脚本二:条件语句和多路分支语句

    1 条件语句 bin bash if ne 1 then echo usage 0 filename exit fi if e 1 then echo 1 not exist exit fi if d 1 then echo 1 is a
  • 服务器备案新增网站,已经备案服务器 增加新域名

    已经备案服务器 增加新域名 内容精选 换一换 网站的访问与域名的状态 域名实名认证状态 网站备案状态 解析是否生效 网站网络环境等多个环节有关系 在这些环节中 任意一个环节出现问题 都会导致网站无法访问 查询域名注册信息 检查域名是否过期
  • 为什么HashMap使用红黑树而不使用AVL树

    在Jdk1 8版本后 Java对HashMap做了改进 在链表长度大于8的时候 将后面的数据存在红黑树中 以加快检索速度 那么很多人就有疑问为什么是使用红黑树而不是AVL树 AVL树是完全平衡二叉树阿 最主要的一点是 在CurrentHas
  • Java线程安全问题原因及解决方案

    文章目录 一 出现线程安全问题的原因 二 如何解决 总结 一 出现线程安全问题的原因 出现线程安全问题的原因主要有五个方面 操作系统对线程的调度是随机的 抢占式 主要原因 多个线程修改同一个变量 修改操作不是原子的 内存可见性问题 指令重排
  • windows安装wget的方法

    wget是一个非常好用的下载利器 用法比较简单 wget可以递归且支持断点 安装方法 1 进入网址 GNU Wget 1 21 3 for Windows eternallybored org 下载适合的最新版的 exe文件 2 将下载好的
  • UnicodeDecodeError: 'gbk' codec can't decode byte 0xff in position 0: illegal multibyte sequence

    在做文本词频统计的时候遇到的问题 弄了1个小时也没找到解决方法 在偶然的一次试一试 居然成功解决了这个问题 一般情况下是这样是可以直接没问题的 出现问题时 一般情况下解决方式 网上绝大部分 但是出现这种情况 此时我们输入encoding 1
  • 用proxyee-down快速下载百度网盘大文件

    百度网盘下载大文件一直是一个痛点 现在国内基本上只有百度网盘可用了 但是免费用户使用百度网盘下载东西的速度一直不是很理想 所以现在有很多工具应运而生 今天要介绍的就是一个使用java编写的开源多线程下载器 利用它 我们就可以满速下载百度云文
  • bzoj3309 DZY Loves Math

    题目描述 bz 题解 线性筛 瞎jb反演得到 ans sum limits T 1 a lfloor frac a T rfloor lfloor frac b T rfloor sum limits d T f d mu frac T d
  • Java应用程序浏览器集成控件JxBrowser v7.18新版发布!

    JxBrowser是将基于Chromium的浏览器与Java应用程序集成 以处理和显示HTML5 CSS3 JavaScript Flash等 近日 JxBrowser v7 18发布啦 在此版本中 支持带有 Apple Silicon M
  • 分解质因数、求因子数和因子和(唯一分解定理)

    唯一分解定理 又称算术基本定理 可以描述为 任意一个大于1的正整数都能表示成若干个质数的乘积 且表示的方法是唯一的 换句话说 一个数能被唯一地分解成质因数的乘积 公式 因子数
  • 难懂?这样理解SPI与CAN很简单!

    难懂 这样理解SPI与CAN很简单 什么是串行通讯 为什么仍需使用串行通讯 SPI与CAN SPI 接口特点 CAN现场总线特点 什么是串行通讯 在正式进入主题前 我么先来介绍一下什么叫做 串行通信 串行通信是计算机的一种数据传输通信方式