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接收或发送的过程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/478537.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

树与二叉树

树与二叉树 文章目录 树与二叉树一、树的概念及结构1.、树的概念2、树的相关概念1.3 树的表示 二、二叉树1.概念2、特殊的二叉树3、二叉树的性质4、二叉树的存储结构 三、二叉树的顺序结构及实现1、二叉树的顺序结构2、堆的概念及结构3、堆的实现 四、二叉树链式结构的实现1、遍…

JAVA--异常处理

目录 1. 异常概述 1.1 什么是生活的异常 1.2 什么是程序的异常 1.3 异常的抛出机制 1.4 如何对待异常 2. Java异常体系 2.1 Throwable 2.2 Error 和 Exception 2.3 编译时异常和运行时异常 3. 常见的错误和异常 3.1 Error 3.2 运行时异常 3.3 编译时异常 4. 异常…

【LeetCode每日一题】单调栈 581. 最短无序连续子数组

581. 最短无序连续子数组 给你一个整数数组 nums ,你需要找出一个 连续子数组 ,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。 请你找出符合题意的 最短 子数组,并输出它的长度。 示例 1: 输入&am…

php实现讯飞星火大模型3.5

前期准备 vscode下载安装好 composer下载安装好 php环境安装好 (以上可以自行网上查阅资料) 开始实现 1.注册讯飞星火用户,获取token使用 讯飞星火认知大模型-AI大语言模型-星火大模型-科大讯飞 2.修改对应php文件中的key等 可以参考…

FL Studio21中文版本混音功能介绍

FL Studio 21的混音功能是其音乐制作能力中不可或缺的一部分,它为用户提供了强大的工具,以便他们可以对音轨进行细致的调整,确保音乐作品的最终呈现效果达到最佳。 FL Studio 21 Win-安装包下载如下: https://wm.makeding.com/iclk/?zonei…

修复 Android 手机陷入恢复模式的 5 种方法

您的手机卡在 Android Recovery 模式且无法退出此模式?无论您按什么按钮组合,甚至在取出并重新插入电池后重新启动手机,手机都会启动回到恢复模式吗? Android卡在recovery模式的情况并不罕见,各种品牌的Android手机都…

Stable Diffusion 绘画入门教程(webui)-lora

通过前边的文章,相信大家已经能够自己产出好看的小姐姐或者小哥哥了🤣 不知道有没有发现每次生成的脸、身材、衣服、环境、风格等等可能都会有所差异,那么如果这个问题不解决,实用性将大大降低,因此lora诞生了。 文章…

unity学习(28)——登录功能

有之前注册的知识,登录就很容易处理了。 登陆成功返回id: 登录失败返回null: 测试同一账号不能重复登陆!登录成功后最好可以跳到新的场景中 结果是好的,去服务器看一下对应部分的代码,可见,登…

单片机01天_stm32f407zg_创建新工程

创建“寄存器版工程” 1、创建工程文件夹 创建工程文件夹“Project”,内部包含文件夹“CMSIS”&&“USER”。 CMSIS:Cortex系列内核接口驱动文件。 USER:存放用户编写的程序文件。 “USER”文件夹内包含“Inc”&&“Src”…

ubuntu22.04@laptop OpenCV Get Started: 015_deep_learning_with_opencv_dnn_module

ubuntu22.04laptop OpenCV Get Started: 015_deep_learning_with_opencv_dnn_module 1. 源由2. 应用Demo2.1 C应用Demo2.2 Python应用Demo 3. 使用 OpenCV DNN 模块进行图像分类3.1 导入模块并加载类名文本文件3.2 从磁盘加载预训练 DenseNet121 模型3.3 读取图像并准备为模型输…

前端|Day3:CSS基础(黑马笔记)

Day3:CSS基础 目录 Day3:CSS基础一、CSS初体验二、CSS引入方式三、选择器1.标签选择器2.类选择器3.id选择器4.通配符选择器 四、盒子尺寸和背景色五、文字控制属性1.字体大小2.字体样式(是否倾斜)3.行高单行文字垂直居中 4.字体族5.font复合属性6.文本缩…

WPF中样式

WPF中样式&#xff1a;类似于winform中控件的属性 <Grid><!-- Button属性 字体大小 字体颜色 内容 控件宽 高 --><Button FontSize"20" Foreground"Blue" Content"Hello" Width"100" Height"40"/></G…