从软件构架看符合AUTOSAR标准的软件 Part 2 – 软件接口

这是从《软件构架看符合AUTOSAR标准的软件》的第二篇文章,在这篇文章中,我们来讨论一下软件构架的另一个体现软件接口。AUTOSAR对软件的接口进行了合理的分类和定义,在标准化的前提下实现了最大限度的可扩展性和可移植性,从而为AUTOSAR应用于整个汽车系统而不是某个汽车ECU提供了基础。那么AUTOTSAR对软件接口究竟是怎么定义的呢,我们再来看一下下边这张经典的图。

AUTOSAR_Architecture

从图中我们可以看到,有三种接口描述,我们先从定义的角度来看这三种接口有什么不同。

  1. Standardized Interface(标准接口):“标准接口是在AUTOSAR标准中被标准化的接口,但是并没有使用AUTOSAR接口技术,标准接口通常被用在某个ECU内部的软件模块之间的通讯,不能用于网络通讯”
  2. Standardized AUTOSAR Interface(标准AUTOSAR接口):“标准AUTOSAR接口是在AUTOSAR标准中使用AUTOSAR接口技术标准化的接口,这样的接口的语法和语义都被规定好了,这样的接口通常使用在AUTOSAR服务中,这样的接口是基础软件服务提供给应用程序的”
  3. AUTOSAR Interface(AUTOSAR接口):“AUTOSAR接口定义了软件模块和BSW模块(仅仅是IO抽象和复杂驱动)之间交互的方式,AUTOSAR接口是以port的形式出现的,AUTOSAR将ECU内部的通讯和网络通讯使用的接口进行了统一”

从上边的定义中我们可以看出不同的接口使用的场景不同,及不同的模块交互会使用到不同的接口。除了将接口归类以外,这样定义究竟有什么实际的意义呢?从实际使用的角度来看,第一和第二类接口都是语法语义标准化的接口,即接口函数的数量/函数的名字/函数参数名字及数量/函数的功能/函数的返回值都已经在标准里边定义好了,不同的公司的软件在实施这些接口的时候虽然内容算法不同,但是它们长相和功能是一致的,接口定义在AUTOSAR规范文档里边是可以查得到的。第三类接口呢AUTOSAR仅仅规定了简单的命名规则,这类接口高度的和应用相关,比如BCU控制大灯打开的接口可以是Rte_Call_RPort_BeamLight_SetDigOut也可以是Rte_Call_RPort_HeaderLight_Output,公司可以自己定义,又比如仪表想要从CAN总线上获得车速,改接口可以是Rte_IRead_RE_Test_RPort_Speed_uint8也可以是Rte_IRead_Test_RE_RPort_Spd_uint8,这些接口必须通过RTE交互。刚刚提到的这些RTE命名规则在AUTOSAR中有详细的介绍,我们后续也会针对RTE这个AUTOSAR的核心软件层有详细的分析。

发表评论

电子邮件地址不会被公开。