CAN的ACK深入理解

2023-05-16

       

CAN信息发送成功后,会有个应答间隙的,在这个间隙内,接收节点可以准备要回复的信息,也就是把应答场填充为显性0,在发送时其为隐性1.应答过程可能如下:当信息传输到ACK前的Del时,可以认为信息已经传输完毕,接收节点也接收到了足够的信息来检测接收的信息是否正确,所以这时接收节点就会检测信号是否正确,如果正确,就将ACK置位为显性0,注意这时,发送节点因为还在发送而接收节点又将ACK信息置位为1,所以它就会在回读时检测到ACK为0,判断接收成功。注意:这其中有个接收节点用显性覆盖隐性---覆盖ACK位的过程,覆盖+回读

    ACK前后各加一个Del,就是为了考虑到时间误差,让接收节点有足够的时间对ACK确认。

    这个过程说明,CAN发送是个双向互动的过程,发送节点一边发送,一边对节点进行回收确认数据正确,而接收节点也时刻接收,并在正确的时间将ACK设置为1。那么,如果没有外部CAN接收器,那么其错误类型显然就是

ErrorFrame  ECC: 11011001, Other Type of Error, Segment = ACK Slot   

       |  ECC       11011001              

       |  Code      Other Type of Error   

       |  Segment   ACK Slot  

因为没有CAN节点对接收到的信息进行确认,不管波特率如何,都要有CAN节点进行确认。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CAN的ACK深入理解 的相关文章

  • Linux内核Socket CAN中文文档

    自己在年假中空闲之余翻译的内核中Socket CAN的文档 xff0c 原文地址在 xff1a http lxr linux no linux 43 v2 6 34 Documentation networking can txt 但是这篇
  • CAN通信矩阵的理解(CAN报文信号的属性)

    CAN通信矩阵 1 CAN通信矩阵是什么 CAN通信矩阵 xff08 CAN Communication Matrix xff09 通常由整车厂完成定义 xff0c 车辆网络中的各个节点需要遵循该通讯矩阵才能完成信息的交互和共享 我们知道C
  • Linux下CAN总线速率设置,socketCAN。

    背景 xff1a 飞思卡尔Freescale的ARM9处理器i MX25系列 socketCAN对于在Linux下操作CAN总线非常的快捷方便 xff0c 其配置方法和在Linux下对网卡的配置相似 xff0c 方法如下 xff1a 1 i
  • 下一代CAN通信技术CAN XL简介

    众所周知 xff0c CAN网络具有易于实现 可扩展 并支持复杂拓扑结构等诸多优点 xff0c 所以目前在各个行业特别是汽车领域 xff0c 得到了非常广泛的应用 但是 xff0c 它也存在着诸多问题 xff0c 其中最大的一点就是总线带宽
  • CAN总线协议:标准CAN和扩展CAN

    CAN通讯协议是一个载波侦听 基于报文优先级碰撞检测和仲裁 xff08 CSMA CD 43 AMP xff09 的多路访问协议 CSMA的意思是总线上的每一个节点在企图发送报文前 xff0c 必须要监听总线 xff0c 当总线处于空闲时
  • 解决ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost’ (10061)

    如何解决ERROR 2003 HY000 Can t connect to MySQL server on localhost 10061 1 登录到安装Mysql的主机 xff0c 打开cmd命令行工具 xff0c 执行命令mysql u
  • Linux Socket CAN——驱动开发(转)

    Linux Socket CAN驱动开发 一 CAN总线协议 CAN是Controller Area Network 控制器局域网 的缩写 CAN通信协议在1986年由德国电气商博世公司所开发 xff0c 主要面向汽车的通信系统 现已是IS
  • 链接mysql数据库 Navicat,2003-can‘t connect to MYSQL server on192.168.1.122 (10060)

    可能的原因如下 xff1a 一 关闭防火墙 xff1b 1 firewalld的基本使用 启动 xff1a systemctl start firewalld 关闭 xff1a systemctl stop firewalld 查看状态 x
  • CAN 与 CANFD数据报文格式解读

    ISO 11898 1 2015 协议详细定义了CAN网络报文的格式 xff0c 包含了传统CAN与CANFD帧格式 CAN网络的帧类型共有4种 xff0c 分别为数据帧 远程帧 错误帧 过载帧 本章将主要介绍CAN网络数据帧报文的格式 x
  • STM32 CAN通信的学习笔记总结

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

    1 加载vcan模块 sudo modprobe vcan 2 添加vcan0网卡 sudo ip link add dev vcan0 type vcan 3 查看当前CAN网络 ifconfig a 4 开启vcan0 sudo ip
  • kvaser pcie can 在ros中使用socketcan开发

    kvaser pcie can 在ros中使用socketcan开发 0 系统配置 Ubuntu 16 04 6 LTS Linux version 4 15 0 45 generic 1 官网下载地址 https www kvaser c
  • 树莓派spi转can通信之C编程实现(二)

    一 相关库的安装 wiringPi 链接网址 http wiringpi com 一个函数库 在编程时节省底层汇编以操作pi的功能引脚 对pi的引脚也进行了再次编号 BCM2835 C Library 链接网址 http www airsp
  • CAN2.0和J1939协议的关系

    转发自http www cankau cn support help can vs j1939 html 很长时间没搞明白j1939与CAN2 0的关系 这篇文章让我明白了 CAN2 0是一种总线规范 是数据链路层的技术 J1939是SAE
  • CAN 帧ID 与J1939 PGN 转换例子

    在saeJ1939中文版中找的三张图如下 例如 0x18 FE DF 00 110 0 0 11111110 11011111 00000000 P R DP PF PS SA 具体参数即为数据段 0 64 优先级为 P 110 2 或6
  • 难懂?这样理解SPI与CAN很简单!

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

    注意CAN1可以单独使用 CAN2要开启CAN1时钟才能使用 u8 CAN1 Mode Init u8 mode GPIO InitTypeDef GPIO InitStructure CAN InitTypeDef CAN InitStr
  • 功放诊断测试

    1 切换trace显示时间模式 Toggle time mode 2 测seedkey 需要加载seednkey dll 3 功能寻址和物理寻址切换
  • ack:通过正则表达式从搜索中排除特定目录

    如何通过正则表达式忽略特定目录ack http betterthangrep com 我可以使用 ignore dir选项 但这不允许我指定正则表达式 我希望能够忽略任何包含以下内容的目录test or tests或者其名称中有更复杂的图案
  • 在 grep/ack 中转义括号

    我想查找字符串 methodname 但我无法转义 我怎样才能得到 grep methodname or ack grep methodname to work 有两件事可以解释 外壳 以及ack grep 您可以使用 or 为了逃避 来自

随机推荐

  • UDP服务器/客户端Linux下C代码实现以及广播、组播

    目录 UDP广播流程 组播流程 UDP UDP xff08 User Datagram Protocol xff09 用户数据报协议 xff0c 是不可靠的无连接的协议 在数据发送前 xff0c 因为不需要进行连接 xff0c 所以可以进行
  • CMakeLists.txt常用语法

    CMakeLists txt常用语法 cmake minimum requiredprojectadd executableinclude directoriesadd libraryalias library xff08 别名库 xff0
  • git 合并分支

    假如我们现在在dev分支上 xff0c 刚开发完项目 xff0c 执行了下列命令 xff1a git add git commit m 39 提交的备注信息 39 git push u origin dev 想将dev分支合并到master
  • 月薪35k的简历是怎么包装的 ,让面试官心动的标准简历(附模板分享)

    有过面试的都知道 xff0c 不管怎样 xff0c 面试多多少少都和简历有这很重要的 毕竟面试官要通过简历了解面试者的基本信息 过往经历 xff0c 来判断面试者和岗位的匹配度 面试者期望通过简历把自己较好的一面体现给面试官 xff0c 所
  • 对无人机高度环的思考和第一次炸机体验

    前两天学长布置了一个任务 xff0c 大体就是在无人机起飞一段时间后再次改变飞行高度 一开始我觉得挺简单 xff0c 随便改改就行了 xff0c 所以今天才开始写 xff0c 然后 炸机了 先说说第一次炸机的体验 就是看到无人机炸机的疯狂往
  • 21年电赛无人机G题思路

    21年电赛结束了 xff0c 我们选择的题目是无人机G题 通过题目也能感受到今年的难度 xff0c 在这里旨在为大家提供一个G题的解题思路和方案 读完题目 xff0c 可以发现主要有两个难题需要解决 1 飞行路径问题 xff08 如何确保飞
  • 面试必问之Promise

    常见 Promise 面试题 1 了解 Promise 吗 xff1f 2 Promise 解决的痛点是什么 xff1f 3 Promise 解决的痛点还有其他方法可以解决吗 xff1f 如果有 xff0c 请列举 4 Promise 如何
  • js中的防抖和节流的原理

    在进行窗口的resize scroll xff0c 输入框内容校验等操作时 xff0c 如果事件处理函数调用的频率无限制 xff0c 会加重浏览器的负担 xff0c 导致用户体验非常糟糕 此时我们可以采用debounce xff08 防抖
  • 汽车CAN总线介绍

    CAN Controller Area Network 控制器局域网络 xff0c CAN网络在早期的整车应用中以BCM 车身控制器 为控制中心 xff0c 主要是车身零部件 雨刮 大灯 车窗 xff0c 智能硬件较少 xff0c 所以早期
  • /usr/bin/ssh-copy-id: ERROR

    搭建hadoop的时候不小心配错域名 导致配置免密码登陆的时候密码一直输入错误 重新修改域名后在配置就一直报错 解决办法 在 ssh目录下修改known hosts文件中配置错的域名 直接删除 重新执行命令 ssh copy id slav
  • 完整安装PX4/PX4-Autopilot,无需科学上网。

    安装自https github com PX4 PX4 Autopilot 的px4功能包 xff0c 因为需要科学上网似乎会失败 xff0c 这里采用其他方法来安装 截止到2022年9月 https hub fastgit xyz这个镜像
  • linux 安装docker报错解决

    出现问题说明 xff1a 当已经确定好了docker安装好了 xff08 用dockers version确认版本的情况下 xff09 一般可以正常运行 xff0c 但是用命令查看systemctl status docker运行状态时 x
  • 网络编程——UDP编程

    一 网络编程基础 计算机网络是指两台或更多的计算机组成的网络 xff0c 在同一个网络中 xff0c 任意两台计算机都可以直接通信 xff0c 因为所有计算机都需要遵循同一种网络协议 因此 xff0c 为了把计算机网络接入互联网 xff0c
  • Ubuntu20.04配置ORB-SLAM3环境并运行

    Ubuntu20 04配置ORB SLAM3环境并运行 1 安装依赖 安装Pangolin 安装OPENCV 安装Eigen 安装Python DBow2和g2o 2 源码下载3 遇到的问题1 编译第三方库出现问题 xff0c 安装Boos
  • toString()方法的作用

    将当前函数的函数名 和引用地址 以数组的形式返回 toString 方法是自带object类中的方法 如果不对toString 方法进行重写 xff0c 那么默认返回对象名和引用地址 重写示例 xff1a package com artis
  • Windows通过FTP服务上传20G大文件到Linux服务器

    场景描述 xff1a 在工作中 xff0c 需要将Windows中的文件上传到Linux服务器中 xff0c 文件大小为20G 通过xshell和rz lrzsz软件提供 xff0c rz上传文件 xff0c sz下载文件 的方式均无法上传
  • Postman Pre-request Script(预处理脚本) SNIPPETS所有用法解释

    获取环境变量 xff0c 全局变量 Get an environment variable 获取环境变量variable key pm environment get 34 variable key 34 Get a global vari
  • 编译ros工程时catkin_make 报错:This file requires compiler and library support for the ISO C++ 2011 standard

    This file requires compiler and library support for the ISO C 43 43 2011 standard This support must be enabled with the
  • ESP8266解析S-BUS协议

    Talk is cheap show you code 编译平台 xff1a Arduino IDE span class token comment 功能 xff1a 软件串口读取S BUS数据 xff1b 解析 xff1b 串口打印 s
  • CAN的ACK深入理解

    CAN信息发送成功后 xff0c 会有个应答间隙的 xff0c 在这个间隙内 xff0c 接收节点可以准备要回复的信息 xff0c 也就是把应答场填充为显性0 xff0c 在发送时其为隐性1 应答过程可能如下 xff1a 当信息传输到ACK