AutoSAR系列讲解 - 思维导图计划

AutoSAR系列讲解 - 思维导图计划

思维导图计划

->返回总目录<-
博主依据自己做过的项目,稍微整理了一下,出了一张AutoSAR知识结构的思维导图,目前还只是一个比较简陋的版本(比如NXP博主没有用过,就没有写在上面)。博主希望能通过大家的力量,将这张图变得详细和完整,目前大家先留言,博主收集大家的意见,改进其主要结构。后续会通过git放到网上,大家可以随时copy工程来修改其内容,然后推送给我进行不断完善,为咱们AutoSAR开发者提供一个正确的前进方向。

  • 终极目标: 能够建立起一张比较完整的AutoSAR知识理论结构图,做到很细节的程度,当然这还只是一个计划,后面的建设还需要各位的帮助,大家一起加油!

在这里插入图片描述

附:返回总目录的传送门如下
->返回总目录<-

  • 30
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
这里的NM主要是针对Can协议的网路管理。 AUTOSAR CanNM的核心思想主要归纳为以下两条: 1.  如果节点需要保持通信,则节点需要周期的发送NMPDUs,否则停止发送NMPDUs 2.     如果总线上的所有节点不需要使用总线,那么总线上过了一段时间没有NMPDUs时,则会进入Bus-Sleep Mode。   工作模式和状态   CanNm一共有三个工作模式 1.  Network Mode 2.  PrepareBus-Sleep Mode 3.  Bus-Sleep Mode 模式的改变应该通过回调函数通知上层。 下面单独说每种模式   (1)Network Mode Network Mode又包括三个内部状态 1. Repeat Message State 2. Normal Operation State 3. Ready Sleep State ①Repeat Message State 这个模式被用来确保从Bus-Sleep or Prepare Bus-Sleep到Network Mode的节点被总线上面其他节点发现。这个状态可以用来检测总线上的节点。 当进入Repeat Message State时,节点应该开始传送NMPDUs。 在Repeat Message State时,当NM-Timeout Timer溢出,CanNm模块应该重载Timer。 CanNm模块应该在Repeat Message State 下保持一段时间,这段时间可以通过CANNM_REPEAT_MESSAGE_TIME来进行配置。 当离开Repeat Message State的时候,如果节点需要通信,则进入Normal Operation State;如果节点不需要通信,则进入Ready Sleep State。并且清空Repeat Message Bit。   ②Normal Operation State 这个状态可以保持总线处于唤醒状态。从Ready sleep state进入这个状态的时候应该发送NMPDUs。 在Normal Operation State当NM-Timeout Timer溢出,CanNm模块应该重载Timer。 如果节点不需要使用通信,则网络应该被释放,节点应该进入Ready Sleep State。 如果节点接收到Repeat Message Request Bit,则节点进入Repeat Message State。如果节点自身需要进入Repeat Message State,则该节点进入Repeat Message State并且设置Repeat Message Request Bit。   ③ReadySleep State 这个状态是为了如果本节点已经准备释放总线,而其他节点还需要使用总线的时候,在这个状态下等待其他总线上的节点进入Perpere Bus-Sleep Mode。进入这个状态之后,CanNm模块应该停止NMPDUs的传送。 如果NM-Timeout Timer溢出,节点将会进入Prepare Bus-Sleep Mode。 如果该节点需要使用总线,则节点进入Nomal Operation State。 如果节点接收到Repeat Message Request Bit,则节点进入Repeat Message State。如果节点自身需要进入Repeat Message State,则该节点进入Repeat Message State并且设置Repeat Message Request Bit。 (2)PrepareBus-Sleep Mode   这个状态是为了等待总线上的所有节点能够在进入Bus-Sleep Mode之前,有时间停止节点的active状态如清空队列中为发送的报文。在Prepare Bus –Sleep Mode下,所有节点都静默下来。 当节点进入PrepareBus Mode时,应该通知上层应用。通过配置CANNM_WAIT_BUS_SLEEP_TIME参数,可以改变节点在PrepareBus-Sleep Mode停留的时间,在这段时间之后节点将会进入其他状态。 在Prepare Bus-Sleep Mode下面接收到NMPDU或者被上层应用请求通信时,节点将进入Network Mode中的Normal operation State。   (3)Bus-SleepMode   Bus-Sleep Mode的目的是当没有消息被传送的时候可以减少能量的消耗。在Bus-Sleep Mode下面,节点可以被唤醒(如本地唤醒源和CAN线唤醒源)。CANNM_TIMEOUT_TIME+CANNM_WAIT_BUS_SLEEP_TIME两个参数在整个总线上面的节点都应该时一样的配置,保证了总线上的节点能够统一的进行休眠。 当进入Bus-Sleep Mode时候,应该通知上层应用。 在Bus-Sleep Mode下,如果成功接收到NMPDU,CAN NM模块应该调用Nm_NetworkStartIndication。 如果CanNm_PassiveStartUp被调用,则CAN NM模块进入Network Mode 中的Repeat Message State。 ———————————————— 版权声明:本文为CSDN博主「cococenstar」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/cococenstar/article/details/84096689
AUTOSARAUTomotive Open System ARchitecture)指的是汽车开放系统架构。它是由汽车制造商、供应商和工程师等共同开发的一种开放式软件架构,旨在提高车辆电子系统的开发效率、可靠性和可复用性。 AUTOSAR的发展史可以追溯到2003年,在当时,不同汽车制造商之间的软件开发方法存在差异,导致了软件组件的可移植性差、耗时和成本高等问题。为了解决这些问题,汽车行业开始探索一种统一的开放式软件架构,这就是AUTOSAR的起源。 从2003年开始,汽车行业的领先厂商和供应商成立了一个工作组,致力于开发一种标准化的汽车开放式软件架构。该工作组与其他相关组织和标准制定机构进行合作,并引入了一系列的自动化软件开发方法和工具。经过几年的努力,AUTOSAR联盟于2006年正式成立,并发布了第一个AUTOSAR架构和规范版本。 随后,AUTOSAR架构经过多个版本的演化和迭代,不断完善和扩展。新的版本引入了更多的功能、接口和模块,以满足汽车行业日益增长的需求。例如,AUTOSAR 3.x版本增加了支持嵌入式系统开发和集成的功能;AUTOSAR 4.x版本则进一步改进了软件架构的可扩展性和灵活性。 AUTOSAR的发展历程中,也得到了全球范围内众多的汽车制造商和供应商的积极参与和支持。国际性的标准化组织也对AUTOSAR的发展给予了广泛关注和认可。如今,AUTOSAR已成为汽车行业的一种国际标准,被广泛应用于各类汽车的软件开发和集成中。 通过AUTOSAR的发展,汽车行业实现了软件开发的标准化和自动化,提高了软件开发效率、降低了开发成本和风险。未来,AUTOSAR将继续发展和演进,与新的技术和需求相结合,推动汽车电子系统的创新和发展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雪云飞星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值