AUTOSAR学习笔记(1)--Appl层SWC

这篇文章是对于我这个初学者的笔记,大家有什么简介可以纠正一下。在AUTOSAR框架中,我们的车载系统不在过分依赖于硬件,而是分层了,白话文就是换了配件也能跑代码 执行功能。而不是对不同硬件去写不同硬件代码

AUTOSAR组成部件-----Appl

我们可以看到Appl构成以一个一个的SWC,也就是我们在单片机所用到的.c文件

SWC在数据传输会用到接口,AUTOSAR接口,也就是Ports。还有连接器Connector

所以 Appl 重要的有一下三点

1.AUTOSAR接口(Ports) 和 连接器(connector)

2.SWC文件

3.runnable(可执行实体),也就是函数   swc也是由runnable构成的

SWC的类型

1.原子级SWC,也就是一个.c文件,它就像一个微观中的原子,不可再分。Runnable也就是其中的电子,质子,中子

2.集合型SWC:也就是多个.c文件构成的,好比一个原子,内部有许多原子组成

SWC的通信

在Appl层中,SWC的通信主要通过非Appl层进行通信的 也就是非应用层总线进行交互

在片内(in the same ecu),是通过RTE(Runningtime envirement,实时运行环境)

在片外(not the same ecu),一般通过CAN bus,CAN总线进行通信

PORT接口(interface)类型:

R-P接口:Request-Port 需求接口:顾名思义 我需要别人给我数据的接口

P-P接口:Provide-Port 提供接口:我需要提供给别人数据的接口

PR-P接口:Provide Request Port 既需要又提供接口

或者可以分为

S/R接口 和 C/S接口

S/R PORT: Send/Receiver port 发送接收接口 用来传输数据

C/S PORT:Client/Server port 客户/服务接口 用来执行操作

我一开始 不理解什么是客户接口和服务接口(C/S)

我给大家解释一下:比如在汽车显示屏幕上 我需要获取车子的情况,我需要点击程序。此时就发送了一个Client请求,比如我要读车速, 在AUTOSAR中就会实现类似于函数

RTE_CALL_GetSpeed();这个请求 S就是执行这个服务的接口。类似于标志位 触发 响应的过程

而S/R接口就更好理解了,它相当于SWC 定时或者周期 读取发送数据信号,发送在RTE层中

另一方SWC周期或者定时读取信号

RUNNABLE(可运行实体)

我自己类比AUTOSAR工程写了一个Runnable方便大家理解

100ms 触发一次 由os调度 task
Fun(std_returntype)Rte_sent_speed(void)
{
  std_returntype speed = rte_read_speed();
  return speed;

}

这是一个读取车速的Runnable,100ms触发一次,这个同样也是一个标准的读取R-P接口数据

Runnable是需要OS系统task作为载体去运行的。task类似于定时器里的标志位,触发标志,RTE检测读取 然后执行Runnable。

参考文献AUTOSAR中文手册

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值