难懂?这样理解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很简单! 的相关文章

  • rk3399下spi驱动

    SPI 使用 Note xff1a 本文从firefly wiki截取 SPI是一种高速的 xff0c 全双工 xff0c 同步串行通信接口 xff0c 用于连接微控制器 传感器 存储设备等 Firefly RK3399 开发板提供了 SP
  • rplidar_ros 报错:can‘t bind 和Operation Time Out的解决

    我使用的思岚A2的雷达在ros下运行 1 can t bind无法连接的错误 xff0c 一种是设备号不匹配引起的错误 xff0c 首先可以使用ll dev grep ttyUSB查看一下设备的dev号 xff0c 再检查一下rplidar
  • nRF SPI 与 TWI 操作相关 (BMI088 与 MLX90614 举例)

    SPI0 与 TWI0 的 ID相同 xff0c SPI0 与 TWI0 的 ID相同 编译时有报错 若要避免 xff0c 有两个方法 1 使用不同ID外设 2 使用模拟SPI或模拟IIC nRF SPI 初始化 sdk config h
  • STM32 CAN通信的学习笔记总结

    转载地址 xff1a STM32 CAN通信的学习笔记总结 xff08 从小白开始 xff09 目录 1 总体概述 1 1 基本概念1 2 通讯方式1 3 为什么使用CAN 1 4 CAN的协议及组成 2 上帝视角看CAN的通讯过程 2 1
  • CAN学习笔记3:STM32 CAN控制器介绍

    STM32 CAN控制器 1 概述 STM32 CAN控制器 bxCAN 支持CAN 2 0A 和 CAN 2 0B Active版本协议 CAN 2 0A 只能处理标准数据帧且扩展帧的内容会识别错误 而CAN 2 0B Active 可以
  • 关于IKEv2中安全策略索引SPI的生成

    首先引入一个PF key的概念 PF KEY Key Management API 提供IKE模块和IPSec核心之间的接口 在RFC 2367中 有一个SADB GETSPI消息 这个消息就是实现允许一个进程获取SPI值 该值标识所给的s
  • 用STM32F030F4的SPI总线获取BMP280的气压和温度

    1 用STM32Cube MX生成SPI总线的初始化函数 static void BMP280 SPI Init void LL SPI InitTypeDef SPI InitStruct 0 LL GPIO InitTypeDef GP
  • CAN接口芯片MCP2515的波特率和滤波器设置问题

    配置波特率代码 MCP2515ByteWrite CNF1 3 MCP2515ByteWrite CNF2 0x80 PHSEG1 3TQ PRSEG 1TQ MCP2515ByteWrite CNF3 PHSEG2 3TQ 功能 波特率的
  • STMCubeMX5.10版本CAN使用loopback模式自测

    使用芯片 STM32F103C8T6 cube软件版本 5 10 软件包版本为 STM32Cube FW F1 V1 7 0 一 配置时钟为使用外部晶振 并配置为72M 二 使能 can 并配置参数 设置can波特率为500k 并设置为lo
  • Linux SPI 总线 和设备驱动架构之三:SPI控制器驱动

    通过第一篇文章 我们已经知道 整个SPI驱动架构可以分为协议驱动 通用接口层和控制器驱动三大部分 其中 控制器驱动负责最底层的数据收发工作 为了完成数据收发工作 控制器驱动需要完成以下这些功能 1 申请必要的硬件资源 例如中断 DMA通道
  • CAN与CANOpen(一)

    CAN与CANOpen 一 基本概念 CAN与CANOpen 二 报文格式 CAN与CANOpen 三 错误处理 CAN与CANOpen 四 CANOpen对象字典 CAN与CANOpen 五 PDO和SDO CAN与CANOpen 六 网
  • MCP2515独立控制器

    1 简介 MCP2515 是一款独立控制器局域网络 Controller Area Network CAN 协议控制器 完全支持 CAN V2 0B 技术规范 该器件能发送和接收标准和扩展数据帧以及远程帧 MCP2515 自带的两个验收屏蔽
  • CAN/CANFD 总线负载率及计算(源码和工具)

    CAN BUS的总线负载率是CAN总线架构协议设计时的一个重要的指标 一般建议负载率峰值不要高于80 平均负载率不要超过50 当然这只是一般建议 具体根据使用场景和系统设计而定 负载率定义 关于CAN负载率的定义和计算 很多文章写得不求甚解
  • SPI总线verilog hdl实现(1)SPI通信

    SPI总线传输只需要4根线就能完成 这四根线的作用分别如下 SCK Serial Clock SCK是串行时钟线 作用是Master向Slave传输时钟信号 控制数据交换的时机和速率 MOSI Master Out Slave in 在SP
  • 搭建STM32F407的SPI-Flash(基于STM32CubeMX)

    网上有不少例子 都对 但对我来说碰到几个坑 避免以后再犯错 mark下 目标 通过SPI接口 对Nor Flash进行读写 开发板上Nor Flash 是W25Q128 128Mbit 也就是16MB样子 CubeMx端配置 配置要分两个
  • CAN总线的报文分析(三)

    系列文章目录 文章目录 系列文章目录 前言 一 数据帧 最常用 1 帧起始 2 仲裁段 3 控制段 4 数据段 5 CRC段 6 ACK段 7 帧结束 二 远程帧 三 错误帧 四 过载帧 五 帧间隔 总结 前言 CAN总线上的节点发送数据都
  • SD卡系列之---SD初始化(SPI)

    SD卡分为SDIO模式与SPI模式 SDIO模式使用SD总线协议 使用4根数据线进行数据传输 SPI使用1收1发2根数据线数据传输 理论上SDIO模式会比SPI模式速度快4倍 但SDIO模式还牵扯到CRC校验位的计算 所以 如果使用CPU有
  • 谁在驱动程序代码中调用“probe”函数?

    我试图理解thisomap2 panda 板的 mcspi 驱动程序代码 我不明白谁打电话probe函数以及调用链是什么this驱动代码 设备连接时如何通知驱动程序 探针函数由spi omap2 mcspi c保存在static struc
  • Spidev 不使用 ioctl 同时写入/读取

    我希望找到一些帮助 即使这个问题可能更多地与硬件相关而不是与软件相关 我们将会看到 我正在开发基于 Freescales P1021 处理器 ppc e500v2 内核 的定制板 将连接外部 PCB 并可通过 SPI 进行配置 该外部 PC
  • STM32 传输结束时,循环 DMA 外设到存储器的行为如何?

    我想问一下 在以下情况下 STM32 中的 DMA SPI rx 会如何表现 我有一个指定的 例如 96 字节数组 名为 A 用于存储从 SPI 接收到的数据 我打开循环 SPI DMA 它对每个字节进行操作 配置为 96 字节 是否有可能

随机推荐

  • 【线性代数】第一章 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现场总线特点 什么是串行通讯 在正式进入主题前 我么先来介绍一下什么叫做 串行通信 串行通信是计算机的一种数据传输通信方式