小柴带你学AutoSar系列一、基础知识篇(1)概念和目标

AutoSar是一种汽车电子系统架构,旨在实现标准化、模块化和可重用性。它包括Application Interfaces (AI)、Classic Platform (CP) 和 Adaptive Platform (AP),通过配置工具生成代码实现功能。AI关注应用接口的标准化,CP的核心是虚拟功能总线,而AP则支持自适应和分布式应用程序开发。基础标准强化了不同平台间的互操作性。
摘要由CSDN通过智能技术生成

目录

Autosar整体认知

AI(Application Interfaces)

CP(Classic Platform)

概念:

Method­ol­ogy

AP(Adaptive Platform)

Foundation


 

小柴的知乎icon-default.png?t=N7T8https://www.zhihu.com/people/jiu_sheng小柴带你学AutoSar总目录icon-default.png?t=N7T8https://blog.csdn.net/qianshang52013/article/details/138140235?spm=1001.2014.3001.5501

AUTOSAR(Automotive Open System Architecture)是一种开放式的汽车电子系统架构,旨在实现汽车电子系统的标准化、模块化和可重用性。

其主要目标包括:

  1. 标准化:通过制定统一的标准和规范,实现汽车电子系统的软件和硬件之间的互操作性,降低系统集成和开发的复杂性。

  2. 模块化:将汽车电子系统划分为多个独立的模块,每个模块具有特定的功能和接口,可以独立设计、开发和测试,从而提高系统的灵活性和可维护性。

  3. 可重用性:通过定义通用的软件组件和接口,实现汽车电子系统的功能模块化和可重用性,减少重复开发工作,提高开发效率和质量。

  4. 安全性:提供安全性标准和机制,确保汽车电子系统的稳定性、可靠性和安全性,以应对日益复杂的汽车电子系统和网络攻击等安全威胁。

总的来说,AUTOSAR的概念和目标是为了推动汽车电子系统的标准化、模块化和可重用性,以满足现代汽车对于更高效、更安全和更智能的需求。

最后通过配置工具来生成代码,实现想要的功能!

小柴大白话:代码只想写一次,剩下的全部通过配置来设置!

Autosar整体认知

AI(Application Interfaces)

重点是已建立的应用程序的接口规范,以强调软件重用和交换,这被认为是AUTOSAR的主要要求之一。

标准化应用程序接口的部署是应用程序重用的一个关键因素。

应用程序接口描述包含由所有合作伙伴的专家标准化的丰富数据。

这些标准化接口允许软件设计者和实施者在独立于特定硬件和/或电子控制单元(ECU)扩展或重用软件组件的情况下使用它们。

一般来说,应用程序是ECU的竞争优势。AUTOSAR不会标准化应用程序的内部功能行为,例如算法,而是应用程序之间交换的内容。

典型应用包括电子稳定控制(ESC)、转向、电子驻车制动、驻车距离控制、车外灯、防盗系统、遥控无钥匙进入等。

CP(Classic Platform)

概念:

一个基本概念是虚拟功能总线(VFB)。

这种虚拟总线将应用程序从基础设施中分离出来。它通过专用端口进行通信,这意味着应用软件的通信接口必须映射到这些端口。VFB处理单个ECU内部以及ECU之间的通信。从应用程序的角度来看,不需要底层技术或依赖关系的详细知识。这支持应用软件的独立于硬件的开发和使用。

AUTOSAR分层架构提供了软件和硬件独立性所需的所有机制。

它区分了运行在微控制器(µC)上的三个主要软件层:应用层、运行时环境(RTE)和基础软件(BSW)。

不同汽车领域的应用程序通过RTE与基本软件连接。

除了定义架构和接口之外,AUTOSAR还定义了一种方法,能够配置完整的AUTOSAR堆栈,并增强不同工具链之间的互操作能力。

一方面,这对于开发项目中的协作很重要,另一方面,这对于降低开发成本也很重要。

标准化ECU软件架构的主要概念是通过软件抽象层RTE(运行时环境)将独立于硬件的应用软件和面向硬件的基础软件(BSW)分开。在RTE的上层,该抽象层支持开发特定于OEM且具有竞争力的软件应用程序。在RTE的低端,它支持基本软件的标准化和OEM独立性。AUTOSAR软件架构的另一个特点是适用于多种车型的ECU软件的可扩展性、跨ECU分布应用程序(功能软件模块)的可能性以及集成不同来源软件模块的能力。

AUTOSAR软件架构中的基本软件进一步分为以下几层:服务、ECU抽象和微控制器抽象。通过RTE实现的应用层与基本软件的分离包括控制这些层之间的数据交换。这构成了应用程序级面向组件、独立于硬件的软件结构的基础,软件组件(SWC)是独立的单元。由于其硬件独立性,因此有可能在不了解所使用或计划的硬件的情况下开发软件控制系统,并在开发期间灵活地将现有软件控制系统重新定位到电子控制单元。

Method­ol­ogy

除了软件架构之外,AUTOSAR还为汽车软件开发引入了统一的方法。这主要是由改善参与当今汽车项目的不同方之间的协作的需求所驱动的。

AUTOSAR提供了指定将软件组件集成到ECU上以及将不同ECU集成到各种不同总线系统上的整个网络通信所需的所有方面的方法。该方法定义了活动对工作产品的依赖关系,预计将支持AUTOSAR中的活动、描述和工具使用。

描述(.arxml)基于AUTOSAR模板,该模板定义了正式的交换格式(AUTOSAR模式)和伴随交换格式的语义约束。这些描述用于保存在AUTOSAR方法中生成或使用的信息。各种生成器可以利用描述中的信息来支持RTE和AUTOSAR基本软件(包括操作系统)的配置和生成。

也就是说:Autosar可以通过配置来实现功能

AP(Adaptive Platform)

AUTOSAR扩展了现有的方法,能够为经典平台和自适应平台提供通用的方法。支持功能应用程序的分布式、独立和敏捷开发需要一种标准化的开发方法。

AUTOSAR自适应方法涉及工作产品及其各自任务的标准化。工作产品描述诸如服务、应用程序、机器及其配置之类的工件。各个任务定义了工作产品如何为基于自适应平台开发产品所需的活动交换设计信息。

Foundation

基础标准的目的是加强AUTOSAR平台之间的互操作能力。Foundation包含AUTOSAR平台之间共享的通用要求和技术规范(例如协议)。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 在AUTOSAR系统中,可以通过IO驱动来控制外围设备。其中,控制LED灯是一个常见的需求。 实现方法如下: 首先,在AUTOSAR中,需要定义一个Port模块,用于控制IO口。Port模块负责将应用程序中的请求转化为一个数据结构,然后将其传递给驱动层。在驱动层中,需要连接到硬件设备,执行具体的操作。这里以Infineon TriCore AURIX MCU为例,控制LED需要使用Port模块和GPT模块: 1. 定义并初始化Port模块: ``` Port_Init(&Port_ConfigSet); // 初始化Port ``` 2. 配置对应的GPIO口和方向: ``` Port_SetPinDirection(LED_PORT, LED_PIN, PORT_PIN_OUT); // 配置LED口方向 ``` 3. 配置GPT模块,并设置定时器的周期: ``` Gpt_Init(&Gpt_ConfigSet); // 初始化GPT Gpt_StartTimer(LED_TIMER, LED_INTERVAL); // 开始定时器 ``` 4. 在定时器的中断处理函数中,进行LED的亮灭控制: ``` void LED_ISR(void){ static uint8_t led_status = 0; // 控制LED状态的变量 if(led_status == 0){ Port_SetPinLevel(LED_PORT, LED_PIN, PORT_PIN_HIGH); // LED置高 led_status = 1; }else{ Port_SetPinLevel(LED_PORT, LED_PIN, PORT_PIN_LOW); // LED置低 led_status = 0; } } ``` 具体实现中,需要注意以下几点: 1. 在配置IO口时,需要确保与硬件连接的引脚号和标号一致。 2. 定时器的间隔时间需要根据具体的硬件环境进行确定。 3. 在实现LED控制时,需要注意保持Port和GPT模块在线程中运行,并配置合适的中断处理函数。 通过以上步骤,可以实现一个基本的LED控制功能。在实际应用中,可以根据需要进行参数调整和扩展功能。 ### 回答2: autosar是一种面向车联网系统的通信标准,用于提高汽车电子系统之间的互操作性和可靠性,支持多种硬件平台和软件模块的灵活组合。在autosar中,各种功能被定义为软件组件,可以跨越不同的ECU进行交互,形成一个分布式的系统。在实际开发过程中,我们常常需要使用autosar进行一些基本操作,如闪烁一颗led灯。 首先,闪烁LED灯是一个基本的硬件操作,它需要通过读写寄存器来控制硬件的状态。在autosar中,我们使用driver模块来管理硬件和软件之间的通信,例如GPIO模块控制外设IO口状态。由于autosar是一种通用的标准,它的驱动模块是可移植的,可以在不同的硬件平台上使用。因此,我们可以将所有和硬件有关的函数封装在driver模块中,以便于移植和替换。 其次,对于闪烁LED灯这种动作,我们可以使用task任务来进行控制。在autosar中,task是指按照一定规律定时执行的函数,例如周期性地更新系统状态。我们可以在autosar中定义一个闪烁LED灯的任务,设置一定的时间间隔,并将其添加到scheduler调度器中。调度器会安排任务的执行顺序,并在适当的时候调用任务函数。 最后,autosar还支持事件和状态机的编程模式,这可以帮助我们更好地管理系统状态和控制流程。例如,在闪烁LED灯的过程中,可能需要处理一些中断或者响应用户的命令操作。我们可以使用事件或状态机模块来定义状态和事件,以便灵活控制系统行为。 总之,在autosar中,闪烁LED灯是一个简单而基本的硬件操作,但从中我们可以看到autosar的通用性和灵活性,以及如何使用autosar来管理和控制整个车联网系统。 ### 回答3: Autosar(汽车电子开放系统架构)是一种汽车电子的标准化平台,它的发展改善了汽车电子系统的可靠性、可重用性和效率性,并使得不同车型之间的硬件和软件可以互相兼容和互换。 在Autosar中,我们可以使用通用的软件架构来开发各种功能,包括闪烁一颗LED灯。实现这个功能需要两个模块:GPIO(通用输入/输出)驱动程序和定时器中断程序。 GPIO驱动程序用于控制LED灯的状态,也就是控制LED灯的亮灭。我们需要将一个GPIO口配置为输出模式,然后通过读取/写入GPIO寄存器来控制LED灯的状态。 除此之外,我们还需要使用定时器中断程序来控制LED灯的闪烁频率。我们可以在定时器中断程序中设置一个定时器,当定时器溢出时,我们就可以改变LED灯的状态从而实现闪烁效果。 具体步骤如下: 1. 配置GPIO口为输出模式,并将LED灯初始状态设置为关闭。 2. 配置定时器,设置定时器中断时间(可以根据需要调整闪烁频率)。 3. 实现定时器中断程序,在定时器溢出时改变LED灯的状态。 4. 启动定时器并等待定时器中断事件的发生。 5. 在定时器中断事件发生时改变LED灯的状态,然后等待下一次定时器中断事件的发生。 总之,Autosar使得开发嵌入式系统变得更加简单和高效。使用通用的软件架构可以快速地实现各种功能。当我们掌握了GPIO驱动程序和定时器中断程序的原理,就可以方便地实现闪烁LED灯的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

FlechazoCLF

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

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

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

打赏作者

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

抵扣说明:

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

余额充值