Adaptive AUTOSAR 学习笔记 16 - 时间同步和网络管理
本系列学习笔记基于 AUTOSAR Adaptive Platform 官方文档 R20-11 版本 AUTOSAR_EXP_PlatformDesign.pdf。作者:Zijian/TENG
原文地址(获取最新更新):https://www.cnblogs.com/tengzijian/p/15221138.html
缩写
- TS:Time Synchronization
- TBR:Time Base Resources
- NM:Network Management
- SM:State Management
- PN:Partial Network
11 时间同步
11.1 概览
不同应用/ECU之间的时间同步(TS)非常重要,尤其是在分布式系统中,需要确定不同事件的相关性时:要么能及时追踪这些事件,要么能在精确的时间点触发这些事件。
因此,AP 向应用提供了时间同步 API,用于取得和其他实体、ECU 同步的时间信息。
时间同步功能由不同的时基资源(TBR,Time Base Resources)提供,时基资源在系统中以预编译的配置形式呈现。
11.2 设计
AP 中用到下列三种技术来满足时间同步需求:
- CP 中的 StbM
- chrono 库 - C++11 的
std::chrono或boost::chrono - POSIX 时间接口
经过对这些模块的接口和其所覆盖需求的分析,AP 决定设计一套包含 CP StbM 功能,但遵循 std::chrono 风格的时间同步 API。
时间同步模块考虑了以下功能:
- 启动行为
- 构造行为(初始化)
- 正常操作
- 错误处理
今后的 release 中还会考虑:
- 关闭行为
- 错误分类
- 版本检查
11.3 架构
对每个时基资源 TBR,应用都可以访问其特定的类实现。
通过该句柄,应用可以查询提供的时基类型(上述五种类型之一),然后获取该时基类型的特定类实现。应用还可以通过该句柄直接创建 timer。
TS 模块不提供将 TBR 和其他节点/ECU 时基同步(如 network time protocol 或 time agreement protocol)的方法。
时基资源 TBR 的实现可能有一个专门的周期功能,从时间同步以太网等模块取得时间信息,来同步 TBR。
应用程序使用由 TBR 提供和管理的时间信息。TBR 充当时基代理,提供对同步时基的访问。这样 TS 模块从“真实”时基提供者中抽象出来。
12 网络管理
12.1 网络管理算法概览
AUTOSAR NM 基于去中心化的网络管理策略,即每个网络节点仅依据通信系统中接收/传输的网络管理报文,独立地执行活动。
AUTOSAR NM 算法基于周期性的 NM 报文。NM 报文通过多播消息发送,集群中所有的节点都会接收。
收到 NM 报文意味着发送节点想要保持网络集群处于唤醒状态。如果某个节点想要进入睡眠模式,它会停止发送 NM 报文,但如果仍然收到来自其他节点的 NM 消息,则暂缓进入睡眠模式。最终如果所有的节点都不再发送 NM 报文(意味着所有节点都想进入睡眠模式),则经过一定时间(定时器超时),所有的节点都将进入睡眠模式。
如果 NM 集群中的任意节点需要总线通信,可以开始发送 NM 报文,唤醒整个 NM 集群。
12.2 架构
AP 规范描述了 AP 网络管理的功能、API 设计和配置,无关底层通信媒介。目前只考虑了以太网,但该架构独立于总线技术。
网络管理 NM 旨在由状态管理 SM 控制,因为部分网络 PN 的控制需要协调相关应用集(通过 SM 控制的 Functional Group State)。本章内容尚未反映该设计。

其主要目的是协调底层网络(局部网络 PN,VLAN 或物理通道)在内部协调状态机的正常模式和总线睡眠模式的转换。
它向状态管理 SM 提供了服务接口,用于请求/释放网络及查询状态。它协调不同实例(网络句柄)的请求,并通过网络提供聚合的机器请求。
如果使用了局部网络 PN 功能,则 NM 消息可以包含 PN 请求,ECU 可以忽略请求其他 PN 的 NM 报文。在这种情况下,即使其他 PN 仍有通信,ECU 依然可以关闭或部分关闭。
更多关于 Adaptive AUTOSAR 文章
Adaptive AUTOSAR 学习笔记 16 - 时间同步和网络管理的更多相关文章
- Adaptive AUTOSAR 学习笔记 8 - 干货小结:背景、技术、特征、架构、方法论和 Manifest
官方文档下载方式及介绍情参见 Adaptive AUTOSAR 学习笔记 2 - 官方文档下载及阅读建议. 这是 Adaptive AUTOSAR 学习笔记的第 8 篇,学习笔记 3 - 7 翻译了 ...
- Adaptive AUTOSAR 学习笔记 3 - AP 背景、技术及特征(中文翻译)
本系列学习笔记基于 AUTOSAR Adaptive Platform 官方文档 R20-11 版本.本文从AUTOSAR_EXP_PlatformDesign.pdf开始,一边学习,一边顺带着翻译一 ...
- Adaptive AUTOSAR 学习笔记 6 - 架构 - 方法论和 Manifest
本系列学习笔记基于 AUTOSAR Adaptive Platform 官方文档 R20-11 版本 AUTOSAR_EXP_PlatformDesign.pdf 缩写 AP:AUTOSAR Adap ...
- Adaptive AUTOSAR 学习笔记 7 - 应用设计和 Manifest
本系列学习笔记基于 AUTOSAR Adaptive Platform 官方文档 R20-11 版本 AUTOSAR_EXP_PlatformDesign.pdf 缩写 AP:AUTOSAR Adap ...
- Adaptive AUTOSAR 学习笔记 15 - 持久化 Persistency
本系列学习笔记基于 AUTOSAR Adaptive Platform 官方文档 R20-11 版本 AUTOSAR_EXP_PlatformDesign.pdf.作者:Zijian/TENG 原文地 ...
- Adaptive AUTOSAR 学习笔记 4 - 架构
本系列学习笔记基于 AUTOSAR Adaptive Platform 官方文档 R20-11 版本 AUTOSAR_EXP_PlatformDesign.pdf 缩写 AP:AUTOSAR Adap ...
- Adaptive AUTOSAR 学习笔记 2 - 官方文档下载及阅读建议
目前互联网上没有太多的 Adaptive AUTOSAR 的学习资料,官方文档是一个很不错的途径.看过官方文档才发现,目前很多关于 Adaptive AUTOSAR 的文章都是官方文档的简化翻译,不如 ...
- Adaptive AUTOSAR 学习笔记 5 - 架构 - 物理视图
本系列学习笔记基于 AUTOSAR Adaptive Platform 官方文档 R20-11 版本 AUTOSAR_EXP_PlatformDesign.pdf 缩写 AP:AUTOSAR Adap ...
- Adaptive AUTOSAR 学习笔记 10 - 执行管理
本系列学习笔记基于 AUTOSAR Adaptive Platform 官方文档 R20-11 版本 AUTOSAR_EXP_PlatformDesign.pdf 缩写 EM:Execution Ma ...
随机推荐
- [蓝牙嗅探-Ubertooth One] 千元开源蓝牙抓包 Ubertooth One 安装和使用
目录 前言 1.编译 Ubertooth tools 1.1.准备工作 1.2.编译安装 libbtbb 1.3.编译安装 Ubertooth tools 1.4.Wireshark 插件 1.5.更 ...
- HTML之单词
段落 paragraph <a href="https://www.runoob.com">超链接 anchor (锚点,引申为连接,link已经被html占用) Hy ...
- 犀牛Rhino 7.0中文版安装破解教程
犀牛Rhino 7.0中文版是一款专业的.功能强大的三维建模软件,利用它可以创建.编辑.分析.提供.渲染.动画与转换NURBS线条.曲面.实体与多边形网格:它能轻易整合3DS MAX 与Softima ...
- 原来select语句在MySQL中是这样执行的!看完又涨见识了!这回我要碾压面试官!
大家好,我是冰河~~ MySQL作为互联网行业使用最多的关系型数据库之一,与其免费.开源的特性是密不可分的.然而,很多小伙伴工作了很多年,只知道使用MySQL进行CRUD操作,这也导致很多小伙伴工作多 ...
- BSTestRunner增加历史执行记录展示和重试功能
之前对于用例的失败重试,和用例的历史测试记录存储展示做了很多的描述呢,但是都是基于各个项目呢,不方便使用,为了更好的使用,我们对这里进行抽离,抽离出来一个单独的模块,集成到BSTestRunner中, ...
- 网络编程之TCP客户端开发和TCP服务端开发
开发 TCP 客户端程序开发步骤 创建客户端套接字对象 和服务端套接字建立连接 发送数据 接收数据 关闭客户端套接字 import socket if __name__ == '__main__': ...
- 第1篇-关于JVM运行时,开篇说的简单些
开讲Java运行时,这一篇讲一些简单的内容.我们写的主类中的main()方法是如何被Java虚拟机调用到的?在Java类中的一些方法会被由C/C++编写的HotSpot虚拟机的C/C++函数调用,不过 ...
- Dubbo系列讲解之服务注册【3万字长文分享】 23/100 发布文章
服务注册的几个步骤 对于RPC框架的服务注册,一般包含了如下的流程: 加载服务提供者,可能是通过xml配置的,也可能是通过扫描注解的 实例化服务提供者,并以服务接口作为key,实现类作为value ...
- 联合迭代器与生成器,enumerate() 内置函数真香!
花下猫语:Python 中很多内置函数的作用都非常大,比如说 enumerate() 和 zip(),它们使得我们在作迭代操作时极为顺手.这是一篇很多年前的 PEP,提议在 Python 2.3 版本 ...
- JVM学习笔记之class文件结构【七】
一.概念 1.1 无符号数: 以 u1.u2.u3.u4.u8 代表 1 个字节,2 个字节.4 个字节.8 个字节的无符号数.无符号数可以描述数字,索引引用.数量值和按照 UTF-8 编码构成的字符 ...