热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

can网络管理

网络管理主要功能:是用来管理ECU是否在网络里面,不在的话请求加入,也就是ALIVE报文,要判断是否掉线,以及

网络管理主要功能:

  1. 是用来管理ECU是否在网络里面,不在的话请求加入,也就是ALIVE报文,
  2. 要判断是否掉线,以及睡眠状态的转换机制,以及跛行状态判,也即是RING报文。

主要的实现逻辑流程:

从rtos队列里面取出数据,保存在自定义的结构体里面
不论在何种状态只要接收到报文都需要静进入normal状态,等于初始化一次
提取信息,报文的主要信息有三部分,报文ID,目的地址,以及消息类型
如果是alive报文,进行环的更新,如果是ring报文进行状态转换机制判断。
ring报文的判断的目的有两个,一个是进行状态的转换,二是为了将ring报文继续传递下去。

       当ring报文是节点在请求睡眠的时候,睡眠ind为true,然后在环里循环,如果有一个节点为false,则请求失败,返回原来的状态,都为true,则自己发送一个为ind 和ack都为true,   则进入等待睡眠状态。

 

在接收到报文之后,如果是目的地址是自己的的话,则进行判断然后启动Ttype定时器,时间到了发送后继的ring报文。如果不是发送给自己的,则启动Tmax定时器,如果在定时器时间到的时候没有收到下一条ring报文表示,我出故障了,进入跛足状态。在跛足状态的时候,定时器Terror时间到就发一个跛足报文,Tlimphome时间到的时候则进入准备睡眠状态。

接收到睡眠报文应答的时候,进入等待睡眠状态,让后启动定时器Twait,时间到没有收到报文的话则进入睡眠状态。


转:https://www.cnblogs.com/isAndyWu/p/9812563.html



推荐阅读
  • 行为设计模式:命令模式详解
    命令模式是一种行为设计模式,它通过将请求封装为对象,使得可以使用不同的请求来参数化客户端,支持请求的排队、日志记录以及提供命令的撤销和恢复功能。 ... [详细]
  • 本文详细解析了Java中流的概念,特别是OutputStream和InputStream的区别,并通过实际案例介绍了如何实现Java对象的序列化。文章不仅解释了流的基本概念,还探讨了序列化的重要性和具体实现步骤。 ... [详细]
  • 本文介绍了在解决Hive表中复杂数据结构平铺化问题后,如何通过创建视图来准确计算广告日志的曝光PV,特别是针对用户对应多个标签的情况。同时,详细探讨了UDF的使用方法及其在实际项目中的应用。 ... [详细]
  • Backup Exec 11d 初学者使用心得与技巧
    随着企业应用程序的不断扩展,数据备份的需求日益增加。本文通过介绍Symantec Backup Exec 11d的实际应用体验,旨在为初学者提供一些实用的操作指南和建议。 ... [详细]
  • ZOJ 2760 - 最大流问题
    题目链接:How Many Shortest Paths。题目描述:给定一个包含n个节点的有向图,通过一个n*n的矩阵来表示。矩阵中的a[i][j]值为-1表示从节点i到节点j无直接路径;否则,该值表示从i到j的路径长度。输入起点vs和终点vt,计算从vs到vt的所有不共享任何边的最短路径数量。如果起点和终点相同,则输出无穷大。 ... [详细]
  • 本章探讨了数据类型及其操作的基本概念,深入讲解了数据抽象和抽象数据类型的重要性,以及它们如何支持面向对象的编程方式。通过实例展示了字符串复制的不同方法,并讨论了类定义对系统资源的影响。 ... [详细]
  • 详解MyBatis二级缓存的启用与配置
    本文深入探讨了MyBatis二级缓存的启用方法及其配置细节,通过具体的代码实例进行说明,有助于开发者更好地理解和应用这一特性,提升应用程序的性能。 ... [详细]
  • CSS模块化命名 ... [详细]
  • 本文介绍了两个重要的Node.js库——cache-content-type和mime-types,它们在处理HTTP响应头时非常有用。cache-content-type是基于mime-types构建的,并且实现了缓存机制以提高性能。 ... [详细]
  • 本文转载自某知名技术博客,作者对市场上一些低质量电脑进行了深入分析,指出这些设备存在的问题及其可能带来的影响。 ... [详细]
  • 本文介绍了Linux内核中TCP的三种接收队列:Prequeue、sk_receive_queue和Backlog。这些队列在数据包处理过程中扮演着重要角色,帮助提高系统性能和效率。 ... [详细]
  • 解决远程桌面连接时的身份验证错误问题
    本文介绍了如何解决在尝试远程访问服务器时遇到的身份验证错误,特别是当系统提示‘要求的函数不受支持’时的具体解决步骤。通过调整Windows注册表设置,您可以轻松解决这一常见问题。 ... [详细]
  • Node.js 断点调试指南
    本文详细介绍了利用Google Chrome DevTools和Visual Studio Code两种工具进行Node.js应用的断点调试技巧。 ... [详细]
  • 本文详细探讨了在编程中如何高效处理日期和时间,包括常见的日期时间格式转换、时区问题及其实现方法。 ... [详细]
  • 本文详细介绍了如何在ReactJS项目中集成Onsen-UI的ActionSheetButton组件,并通过具体示例展示了其使用方法及效果。 ... [详细]
author-avatar
飞跃星空2502906253
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有