AUTOSAR入门

一、AUTOSAR是什么

AUTOSAR组织自己的介绍是

AUTOSAR (AUTomotive Open System ARchitecture) is a worldwide development partnership of vehicle manufacturers, suppliers, service providers and companies from the automotive electronics, semiconductor and software industry.

AUTOSAR是汽车开放系统架构的缩写。AUTOSAR组织成立于2003年7月,其核心成员由德国宝马、戴姆勒及博世等9家公司构成。

成立原因:在汽车行业,由于车载软件和重复利用和转移的发展,汽车电子和电气 (E/E) 系统日益复杂。该组织成立的初衷是为越来越复杂的汽车ECU软件建立一个标准化平台,以减少其设计复杂度,增加其灵活性,提高其开发效率。

简化开发的方式:用于支持完整的软件和硬件模块的独立性(Independence),中间RTE(Runtime Environment)作为虚拟功能总线VFB(Virtual Functional Bus)的实现,隔离了上层的应用软件层(Application Layer)与下层的基础软件(Basic Software),摆脱了以往ECU软件开发与验证时对硬件系统的依赖。

效果:软硬件分离的分层设计,对于OEM及供应商来说,提高了系统的整合能力,尤其标准化交互接口以及软件组件模型的定义提高了各层的软件复用能力,从而降低了开发成本,使得系统集成与产品推出的速度极大提升。

二、国内外现状

2.1 AUTOSAR成员

分为五类,具体的成员可以在官网查到,不再赘述:https://www.autosar.org/about/current-partners/

  • 核心伙伴:
    在这里插入图片描述
  • PREMIUM PARTNER
  • DEVELOPMENT PARTNER
  • ASSOCIATE PARTNER
  • ATTENDEES

国内外厂商都有,但以国外厂商为主。
目前国外OEM和Tier 1已经大量生产符合AUTOSAR标准的ECU并在车上商用化了,但国内厂商基本对AUTOSAR还不太了解。
此外,由于AUTOSAR标准开发,实现闭源,导致目前工具链由几家国外厂商垄断,对于OEM来说,更换一个MCU都要重新购买一套License,开发成本实际上依然很高(据说一套1000万左右)。当然,我没深入研究过,不了解相比原来的开发成本是否降低了很多。

2.2 我目前关注的厂商

2.2.1 国外

vector:重要的AUTOSAR工具链供应商,主要是因为要关注他们的工具链

2.2.2 国内

华为:新加入的选手,现在开始提供自研工具链。
恒润:原来是vector代理,现在开始自己提供工具链。主要是证明了这条山寨的路是可行的。。。ヽ(ー_ー)ノ

附一个招聘小广告(〃‘▽’〃),华为公共开发部车载团队大量招人!!!有意者可以私信或简历发到linyulong@huawei.com

2.3 AUTOSAR版本

AUTOSAR中的版本, 都会显示Release Number和Revision。例如, Release 4.2 Revision 1通常表示为R4.2Rev.1、R4.2.1或者R421,都表示为同一个版本。

大多数情况下,只需要分辨Major Release Number的差异,即R3.x和R4.x系统之间的差异。例如,MCAL(微控制器抽象层:硬件相关驱动软件)只被写入R4.0 Rev.3的标准时,在R4.0 Rev.2或R4.1 Rev.3的情况下也没有问题。

在大多数情况下,工具厂商可以吸收相应AUTOSAR XML版本的差异,并且在极少数情况下接口方面会发生重大变化。在实际的AUTOSAR操作中,考虑如何处理不同版本的组合而比坚持使用相同版本更为重要。并且,基于R4.0 Rev.3,经常能看到更高版本的一些功能。

三、架构简介

架构从上往下分别是

  • 应用软件层
  • RTE层
  • 基础软件层
  • 微控制器层

有空再专门写一篇介绍架构吧,或者可以看看参考文献里的博客文章:《AUTOSAR开发手册》
架构

四、工具链简介

待完善
工具链
工具链

参考资料

1、官网,资料是最权威的,不过都是英文资料:https://www.autosar.org/
2、vector中国
这个链接是vector中国在优酷上的视频,可以对AUTOSAR相关知识和工具链进行了解。
3、AUTOSAR开发技术手册
介绍了架构和流程,工具链

  • 30
    点赞
  • 173
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
这里的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,您可以按照以下步骤进行: 1. 了解AUTOSAR体系结构:首先,您需要了解AUTOSAR的体系结构和组件。AUTOSAR体系结构包括应用软件组件(SWC)、基础软件(BSW)、运行时环境(RTE)等。 2. 学习AUTOSAR标准:熟悉AUTOSAR标准规范是入门的关键。您可以阅读AUTOSAR官方网站上的技术文件和规范,了解标准中定义的概念、接口和协议。 3. 掌握AUTOSAR工具链:AUTOSAR开发通常需要使用特定的工具链,例如AUTOSAR Builder、SystemDesk、EB tresos Studio等。学习这些工具的使用方法,并了解其在AUTOSAR开发中的角色和功能。 4. 实践AUTOSAR应用开发:通过实践开发一个基于AUTOSAR标准的应用程序,例如一个简单的汽车控制系统。这样可以帮助您更好地理解AUTOSAR的概念和应用。 5. 参与AUTOSAR社区和培训:加入AUTOSAR社区可以获取更多的资源和经验分享。您可以参加相关的培训课程或研讨会,与其他AUTOSAR开发者交流并深入了解最新的开发趋势和最佳实践。 通过以上步骤,您可以逐步掌握AUTOSAR的核心概念和开发技术,进而在汽车电子系统开发中应用AUTOSAR标准。祝您在AUTOSAR的学习和实践中取得成功!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值