0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

鉴源论坛 · 观模丨基于AUTOSAR的TTCAN通信协议的形式化建模与分析

上海控安 来源:上海控安 作者:上海控安 2023-01-04 16:12 次阅读

作者 |郭建上海控安可信软件创新研究院特聘专家

版块 |鉴源论坛 · 观模

汽车工业发展至今,硬件方面如车身材料、发动机等已无太大升值空间,而汽车电子则有着广阔的前景。为此各大汽车厂商对汽车电子的研究都投入了大量的人力财力。2003 年,汽车开放系统架构AUTOSAR(AUTomotive Open SystemArchitecture)由全球汽车制造商、部件供应商及其他电子、半导体和软件系统公司联合建立,主要目标是为汽车软件体系架构建立一个开放的、标准化工业标准,以同时满足供应商和生产商之间的需求。AUTOSAR 通过控制复杂度不断增长的汽车电子体系架构,将软件从硬件中分离开来,允许软件的重用,从而减少二次开发和验证的成本。AUTOSAR包括了汽车电子功能划分、统一软件架构和软件开发过程等整套基于汽车电子开发的方法学。CAN、TTCAN、LIN、FlexRay等是可用于汽车内部网络通信的协议。在现阶段CAN及TTCAN协议因其稳定可靠、结构简单、通信灵活等特点而最常被使用。基于AUTOSAR的网络协议规范已有很多被发布。如基于AUTOSAR的CAN协议、基于AUTOSAR的TTCAN协议等,这些规范详细阐述了在AUTOSAR规范下该网络协议的驱动及接口规范,隐藏了底层网络通信的细节,向上层应用软件提供调用底层服务的接口。通过这种方式使软硬件分离,使上层软件的开发更为灵活,对功能的扩充更方便,缩短了开发周期。

本文针对AUTOSAR的TTCAN协议进行研究,并用Timed CSP(Timed Communication Sequential Processes)形式化语言对其进行建模,通过LTL(linear temporal logic)及断言(Assertion)对TTCAN模型需要满足的性质进行描述,运用模型检验工具PAT完成了对模型的验证。

01AUTOSAR体系架构

AUTOSAR的主要目标是为汽车电子创建一个开放的、标准化的软件架构,这个架构有利于车辆电子系统软件的交换与更新,并为高效管理愈来愈复杂的车辆电子软件系统提供了一个基础。此外,AUTOSAR在确保产品及服务质量的同时,提高了产品研发的效率。AUTOSAR定义了设计汽车系统的方法和描述它们的软件的架构方式。图 1 展示了AUTOSAR软件分层体系架构。

poYBAGOucziALCZAAABdH7BCHaE467.png

图1AUTOSAR软件分层体系架构

应用层(application layer)

包含了实现所需功能的软件组件SWC(SoftWare Component)的规约,它形成了OEM(Original Equipment Manufacturer)厂商之间的竞争基础。

运行时环境层 RTE(RunTime Environment)

为应用软件提供了通信服务,它使 AUTOSAR的软件组件独立于特定的ECU。RTE是虚拟功能总线VFB(Virtual Function Bus)的一个实现,不指定用来交换数据的通信技术。因此,AUTOSAR可用LIN、CAN、TTCAN或者FlexRay等多种通信平台。用VFB定义软件组件的数据交换可使它们独立于底层的硬件平台,此外,可以使注意力集中到软件组件之间的通信而不用关心数据是否在ECU 内部或ECU之间传输。

基础软件层BSW(Basic SoftWare)

由服务层、ECU抽象层、复杂驱动层和MCU(Micro Controller Unit)抽象层等子层组成。服务层处于基础软件层的顶层, 包含了操作系统、汽车网络通信、管理服务、内存服务和诊断服务。ECU 抽象层包含了输入输出(I/O)和通信硬件抽象,它使更高的软件层独立于ECU 硬件组件。复杂驱动层是硬件和 RTE 之间的桥梁,它提供与AUTOSAR无关的、专用的功能,如设备驱动等。MCU抽象层处于基础软件层的最底层,它包含了直接访问的微控制器内部设备的驱动和内存映射的微控制器外部设备的驱动。

02AUTOSAR的TTCAN协议

基于AUTOSAR的网络通信协议位于体系架构的基础软件层中,AUTOSAR为其提供接口的规范。TTCAN协议在AUTOSAR基础软件层的接口,位于通信硬件抽象层和通信服务层之间,是为上层通信层提供 TTCAN 协议驱动服务的接口。图 2 是AUTOSAR规范下的 TTCAN协议层次的架构。TTCAN协议接口模块是CAN接口模块的扩展,它包含了TTCAN协议所有与硬件独立的任务。

poYBAGOuc26ADCtpAADMVGjjujw010.png

图2AUTOSAR规范下的TTCAN协议层次架构

TTCAN协议接口主要完成上层通信层对控制流和数据流的需求,比如:消息传输需求、消息传输确认、消息接收指示、出错通知等。TTCAN协议接口的一个典型流程是,接收来自上层通信层的消息请求,通过TTCAN协议驱动传输给 TTCAN协议控制器完成消息的传输,然后向上层通信层返回消息成功传输的确认。TTCAN协议接口为TTCAN协议网络的控制和服务提供了访问低层服务的通信抽象,通过接口将TTCAN协议状态,管理器的状态变化请求推送到底层的TTCAN协议驱动,然后底层事件再通过接口推送到高层相关的网络管理模块。

03基于AUTOSAR的TTCAN协议的形式化建模与分析

AUTOSAR规范下TTCAN协议的抽象主要为三个层次。

一是应用层

,即软件组件层,包含了各种软件组件消息传输请求的序列,对应于 TTCAN 协议的系统矩阵。

二是运行时环境层

,对上层应用层隐藏了下层的通信细节,实现虚拟功能总线,是对TTCAN协议通信通道的抽象。

三是基础软件层

,即TTCAN通信网络所处位置,完成TTCAN协议基本的通信功能,即节点消息传输、总线仲裁和错误处理功能。

pYYBAGOudBuAHyvvAAAzJ3NYR-M035.png

图3基于AUTOSAR的TTCAN协议抽象

图3描述了基于AUTOSAR的TTCAN协议抽象,运行时环境层可以接收来自于软件组件的任何数据请求,通过内部的接口调用底层基础软件的通信功能,完成消息的传输。在AUTOSAR软件体系架构中,位于运行时环境层之下的基础软件层对于应用层来说是不可见的,因此,基础软件层可采用不同的通信协议来完成通信功能。基于AUTOSAR的TTCAN协议则是在基础软件层中采用了TTCAN协议来进行消息的传输。

pYYBAGOudFuAaLUIAAA6Rayo_tU233.png

图4TTCAN协议与基于AUTOSAR的TTCAN协议的关系

图4简单描述了这两者之间的关系。AUTOSAR规范中定义了一系列TTCAN协议的接口,通过对这些接口的实现完成TTCAN协议的各种功能。本文主要研究TTCAN协议中节点消息传输、总线仲裁和错误处理的功能如何在AUTOSAR规范下实现,并可通过定义的接口进行调用,从而完成消息的传输。

对TTCAN协议和基于AUTOSAR的TTCAN协议进行分析、形式化建模和验证的研究框架如图 5 所示。该框架主要分为三个阶段:

pYYBAGOudH6AMNnWAADho6LlJQA331.png

图5基于AUTOSAR的TTCAN协议建模与分析框架

第一阶段

对TTCAN协议的需求进行分析,对于消息传输相关的四个主要部分系统矩阵、节点消息传输、总线仲裁及错误处理进行抽象,并分析这四个部分之间的关系以及消息的传输过程。分别对这四个部分进行形式化的描述,以Timed CSP建立模型。同时,在这一阶段,分析并提取TTCAN协议中死锁、安全性、不变性及公平性等相关的性质,以LTL公式及断言的形式描述并加以文字注释说明。

第二阶段

根据AUTOSAR软件体系架构和基于AUTOSAR的TTCAN协议规范,在TTCAN模型的基础上,将其迁移至AUTOSAR,这一过程关键之处在于明确TTCAN模型各功能模块应处于AUTOSAR体系结构的哪一层次。然后在分析的基础上,以Timed CSP建立基于AUTOSAR的TTCAN层次模型,该模型包含了软件组件、运行时环境和基础软件三个层次。其中,软件组件实现TTCAN协议模型中系统矩阵的功能,为系统提供消息传输请求的列表;运行时环境为上下层之间的通信提供了虚拟功能总线,包含了多种接口以供上层模块调用底层通信服务,是对TTCAN协议模型通信通道的抽象;基础软件包含了TTCAN协议模型中的节点消息传输、总线仲裁和错误处理模块,提供消息传输的服务。最后对模型进行性质的提取,提取的性质不仅需要满足TTCAN协议的需求,还要满足AUTOSAR规范的需求。

第三阶段

是模型的实现和性质的验证阶段。模型检测工具PAT支持并发实时系统建模、模拟以及推理,支持Timed CSP建模语言,同时也支持LTL公式及断言描述性质。因此,以PAT实现模型,使模型能得到准确的描述。建模实现的同时,对前两个阶段中提取的性质在工具PAT中进行验证,并对验证结果进行分析。图6所示的是在PAT上模型实现的部分代码,图7给出了PAT对模型的验证结果。

pYYBAGOudKSADb1bAAlBKjqmpYA741.png

图6模型在PAT中的实现

poYBAGOudLqAD72iAAZrgKotBJA864.png

图7基于AUTOSAR的TTCAN协议模型性质验证结果

04小结

AUTOSAR规范的提出为高效管理愈来愈复杂的汽车电子提供了一个基础。AUTOSAR通信栈位于运行时环境(RTE)与微控制器抽象层(MCAL)之间,其简化ECU之间的通信服务,实现不同类型或速率总线间的数据交互,并对应用层隐藏了与总线相关的协议和报文的属性。本文针对AUTOSAR 的TTCAN通信协议进行了研究,实现其形式化建模与分析。

审核编辑黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 通信
    +关注

    关注

    18

    文章

    5968

    浏览量

    135829
  • 汽车
    +关注

    关注

    13

    文章

    3413

    浏览量

    37151
收藏 人收藏

    评论

    相关推荐

    串口通信协议解析 串口通信应用实例

    串口通信协议解析 串口通信协议是指规定了数据包的内容,内容包含了起始位、主体数据、校验位及停止位,双方需要约定一致的数据包格式才能正常收发数据的有关规范。以下是串口通信协议的介绍: 基本概念
    的头像 发表于 11-21 17:03 141次阅读

    PLC控制系统的通信协议解析

    在现代工业自动中,PLC控制系统扮演着至关重要的角色。它们不仅需要处理复杂的逻辑控制任务,还需要与其他系统和设备进行通信。为了实现这一目标,PLC系统必须遵循一系列的通信协议。 PLC通信协
    的头像 发表于 11-08 09:46 242次阅读

    PROFINET通信协议是什么

    PROFINET通信协议是一种专为工业自动领域设计的基于以太网的实时通信协议。以下是对PROFINET通信协议的详细解析,包括其定义、特点、体系结构、工作原理、
    的头像 发表于 09-25 18:13 1017次阅读

    实验室·基于MQTT协议的模糊测试研究

    作者 |  张渊策 上海控安可信软件创新研究院工控网络安全组 来源 |  实验室 社群 |  添加微信号“ TICPShanghai ”加入“上海控安51fusa安全社区” 随着物联网技术的快速
    的头像 发表于 07-30 15:21 568次阅读
    <b class='flag-5'>鉴</b><b class='flag-5'>源</b>实验室·基于MQTT<b class='flag-5'>协议</b>的模糊测试研究

    简单认识UART通信协议

    UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输器)通信协议是一种常见的串行通信协议,广泛应用于计算机、嵌入式系统、传感器、无线通信
    的头像 发表于 07-25 18:07 1331次阅读

    RS485通信协议的特性和应用范围

    随着工业自动和物联网技术的飞速发展,数据通信协议的重要性日益凸显。RS485通信协议作为一种广泛应用于工业自动领域的串行通信协议,其稳定
    的头像 发表于 05-23 16:27 1595次阅读

    论坛轨交软件测试技术详述

    作者 |刘艳青 上海控安安全测评部测试经理 版块 |论坛 · 通 社群 |添加微信号“TICPShanghai”加入“上海控安51fusa安全社区” 01 集成测试技术要求 1.
    的头像 发表于 05-14 16:38 312次阅读
    <b class='flag-5'>鉴</b><b class='flag-5'>源</b><b class='flag-5'>论坛</b><b class='flag-5'>丨</b>轨交软件测试技术详述

    epa通信协议是什么?epa协议介绍

    "Ethernet for Plant Automation"(EPA)是一种针对现场自动应用的以太网通信协议。它被广泛应用于制造业领域中的控制系统、数据采集和监控等方面。 EPA协议相对于标准
    的头像 发表于 05-08 14:16 441次阅读

    epa通信协议是什么?epa协议介绍

    "Ethernet for Plant Automation"(EPA)是一种针对现场自动应用的以太网通信协议。它被广泛应用于制造业领域中的控制系统、数据采集和监控等方面。 EPA协议相对于标准
    的头像 发表于 04-23 14:21 777次阅读

    实验室智能网联汽车协议模糊测试技术概述

    ,其协议安全性和稳定性成为了关注焦点。智能网联汽车协议特点主要表现为:数据格式不统一、传输速率不统一、通信协议复杂以及通信内容不确定等。这些特点对智能网联汽车的安全性能提出了更高要求,
    的头像 发表于 04-17 13:39 617次阅读

    实验室TLS协议基本原理与Wireshark分析

    TLS作为一种通用的安全通信协议,为车辆通信提供了可靠的安全保护。
    的头像 发表于 03-27 13:25 1602次阅读
    <b class='flag-5'>鉴</b><b class='flag-5'>源</b>实验室<b class='flag-5'>丨</b>TLS<b class='flag-5'>协议</b>基本原理与Wireshark<b class='flag-5'>分析</b>

    UART串口通信协议是什么?

    ,广泛应用于嵌入式领域。 在UART串口通信协议中,数据以字节的形式进行传输。发送和接收端的通信流程如下: 1、通信波特率设置:发送端和接收端需要
    的头像 发表于 03-19 17:26 1241次阅读

    RK3568-MQTT通信协议案例

    RK3568-MQTT通信协议案例
    的头像 发表于 01-19 15:31 1737次阅读
    RK3568-MQTT<b class='flag-5'>通信协议</b>案例

    从Profinet到CCLink:工业通信协议的转换实践

    需要将一种协议转换为另一种协议。某些设备可能无法直接与使用不同协议的设备通信,因此需要进行协议转换。 标准
    发表于 12-15 14:26

    Stimulus—需求形式化建模和验证工具

    Stimulus是法国达索公司产品,其目的是通过需求建模分析来验证需求的正确性。Stimulus的核心理念是运用“自然语言”对功能性需求进行建模,并通过仿真来查找需求中的缺陷,例如需求一致性、不二
    的头像 发表于 12-12 16:00 527次阅读
    Stimulus—需求<b class='flag-5'>形式化</b><b class='flag-5'>建模</b>和验证工具