AUTOSAR CP--chapter7从CAN网络学习Autosar通信

2024-02-20 23:52

本文主要是介绍AUTOSAR CP--chapter7从CAN网络学习Autosar通信,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

从CAN网络学习Autosar通信

  • 前言
  • 缩写词
  • CAN通信在AUTOSAR架构中的传输
  • 上位机配置

第六章总结:学习了如何使用工具的自动配置功能,位我们生成系统描述中部分ecu的BSW模块配置,但是自动配置的功能虽然为我们提供了极大的便利,我们仍然需要学会如何去自己建立BSW中关于通信的配置。

前言

有关通信部分的BSW配置,因为日后工作中,有一部分功能需要我们灵活地进行组织,相关的功能模块才能够去实现,所以后面的几个章节,为大家详细介绍,如何手工对这部分功能进行配置,进一步的帮助大家去理解,autosar标准是如何实现网络通信的以及它的配置逻辑是什么,如何帮助我们建立更为直观的网络配置流程。

缩写词

在这里插入图片描述
更多缩写词参考《AUTOSAR_CP_SWS_CANInterface》中的第二章节Acronyms and Abbreviations

CAN通信在AUTOSAR架构中的传输

can模块完成can通信收发过程,封装和解析。
首先是com层CAN Driver模块也是BSW的底层,canif,那么BSW层可能会用到PDUR和com模块,也经过RTE层,最终到达我们的ASW层的应用层SWC中去。
在这里插入图片描述
autosar中CAN通信通过不同L-PDU并且使用了PDU Rounter把这些功能模块通过I-PDU连接在一起,那么才能构建一个完整的can收发的过程。

autosar进行can收发的一个流程以及数据传递的方式。
首先为信号(可以理解装载的数据有效值,不只一个信号,将多个信号封装成一个报文)进行封装,完成封装功能的是com模块(接收和发送的处理),要知晓信号的位置和信号的排列方式(摩托罗拉或Inter)。

com模块把上层RTE层传来的信号装到PDU中,然后去触发发送。
组成:CanIf模块由CAN 硬件独立任务组成,属于相应ECU的CAN通信设备驱动。这些功能执行一次,为了基础CAN设备驱动仅专注于对相应的特定CAN硬件设备的访问和控制。
功能:CanIf主要实现PDUR和上层AUTOSAR协议栈的通信模块的控制流和数据流的请求,比如:发送请求处理、传输信息、接收标志、错误通知、CAN控制器的开始和结束,从而唤醒和参与网络中。
实现:CanIf主要负责将BSW层处理的PDU转换成LPDU后,通过CAN控制器,通过发送mail将PDU发送到CAN线上;也负责将CAN总线上的CAN消息转换成LPDU,然后再转换成PDU回馈到BSW层。主要功能便是完成众多的PDU与CAN mail之间的映射,需要配置HOH以及buffer以及它与CAN控制器之间的映射关系。

首先看一下CANif整个模块它的结构
第一个配置文件夹主要配置的是与CAN控制器相关的部分,

不同报文的数据传输通道不一样。
autosar 通信基本模块:初始化通道,收发设置,busoff设置。

上位机配置

手动配置的思路:第一步我们需要认识到autosar标准组建一个功能,是需要通过不同的模块来协作完成的,这些模块之间能通过pdu来相互传递数据和共用配合去完成一个功能,所以我们在进行can通信配置时,我们首先需要明确与can通信相关需要哪些模块特别是BSW层的模块,第二步我们需要分析完成CAN通信的配置,需要几个IPDU来连接这三个主要的模块,以发送为例:首先我们需要一个com的PDUR的IPU,第二个我们需要一个pdur到CANif的IPDU,这就意味着我们完成一个信号的发送。需要建立com到pdur,pdur到canif这两个IPDU,接下来我们进行具体的配置
建立CAN接收或发送的过程

这篇关于AUTOSAR CP--chapter7从CAN网络学习Autosar通信的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/729952

相关文章

Debian 13升级后网络转发等功能异常怎么办? 并非错误而是管理机制变更

《Debian13升级后网络转发等功能异常怎么办?并非错误而是管理机制变更》很多朋友反馈,更新到Debian13后网络转发等功能异常,这并非BUG而是Debian13Trixie调整... 日前 Debian 13 Trixie 发布后已经有众多网友升级到新版本,只不过升级后发现某些功能存在异常,例如网络转

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

Python学习笔记之getattr和hasattr用法示例详解

《Python学习笔记之getattr和hasattr用法示例详解》在Python中,hasattr()、getattr()和setattr()是一组内置函数,用于对对象的属性进行操作和查询,这篇文章... 目录1.getattr用法详解1.1 基本作用1.2 示例1.3 原理2.hasattr用法详解2.

Python开发简易网络服务器的示例详解(新手入门)

《Python开发简易网络服务器的示例详解(新手入门)》网络服务器是互联网基础设施的核心组件,它本质上是一个持续运行的程序,负责监听特定端口,本文将使用Python开发一个简单的网络服务器,感兴趣的小... 目录网络服务器基础概念python内置服务器模块1. HTTP服务器模块2. Socket服务器模块

Go语言网络故障诊断与调试技巧

《Go语言网络故障诊断与调试技巧》在分布式系统和微服务架构的浪潮中,网络编程成为系统性能和可靠性的核心支柱,从高并发的API服务到实时通信应用,网络的稳定性直接影响用户体验,本文面向熟悉Go基本语法和... 目录1. 引言2. Go 语言网络编程的优势与特色2.1 简洁高效的标准库2.2 强大的并发模型2.

Python实现MQTT通信的示例代码

《Python实现MQTT通信的示例代码》本文主要介绍了Python实现MQTT通信的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 安装paho-mqtt库‌2. 搭建MQTT代理服务器(Broker)‌‌3. pytho

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

RabbitMQ工作模式中的RPC通信模式详解

《RabbitMQ工作模式中的RPC通信模式详解》在RabbitMQ中,RPC模式通过消息队列实现远程调用功能,这篇文章给大家介绍RabbitMQ工作模式之RPC通信模式,感兴趣的朋友一起看看吧... 目录RPC通信模式概述工作流程代码案例引入依赖常量类编写客户端代码编写服务端代码RPC通信模式概述在R