AUTOSAR从入门到精通100讲(二十)-AUTOSAR通信篇—CanIf模块
1 位置和作用
如图1所示,CAN接口模块(下文简“CanIf”)位于底层CAN驱动(CanDrv)、CAN收发器(CanTrcv)和上层通信服务层(CanSm、CanNm)、CAN传输协议(CanTp)、PDU路由器(PduR)之间。它表示上层通信层的CAN驱动程序服务接口。
图1 CanIf的位置
CanIf提供了独特的接口来管理不同CAN硬件,如CAN控制器和CAN收发器。同时,基于物理CAN通道相关的CAN状态管理器模块(CanSm)可以控制多个底层内部和外部的CAN控制器或CAN收发器。
CanIf由与CAN硬件无关的任务组成,属于ECU CAN通信驱动程序。CanIf满足PduR和AUTOSAR COM栈上层通信模块的控制流和数据流要求:发送请求处理、发送确认、接收指示、错误通知和CAN控制器的启动/停止,从而唤醒或参与网络。它的数据处理和通知API基于CAN L-SDU,用于控制和模式处理的API提供了CAN控制器相关的视图。
图2 CanIf模块
AUTOSAR从入门到精通100讲(二十)-AUTOSAR通信篇—CanIf模块相关推荐
- AUTOSAR从入门到精通100讲(十二)-V2X通信安全技术要求标准
01 基于LTE的车联网通信架构 基于LTE的车联网通信系统支持车-车(V2V)应用.车-路(V2I)应用.车-网(V2N)应用和车-人(V2P)应用,利用这些应用可向用户提供诸如道路安全.交通效率提 ...
- AUTOSAR从入门到精通100讲(131)-AURIX中DMA模块对TIM的FIFO数据搬运
DMA的应用场景较为广泛, 其源地址和目的地址可以是我们的RAM, 也可以是我们的外设寄存器, 如各种FIFO寄存器或者结构寄存器. 本文主要介绍DMA的一种使用场景, 将GTM的TIM通道的FIFO ...
- AUTOSAR从入门到精通100讲(十八)-AUTOSAR操作系统OS
0 为什么需要OS? 现在嵌入式系统纷繁复杂,这点毋庸置疑,但是为什么需要操作系统呢?有没有仔细思考过.其实在早期的嵌入式系统中,是没有操作系统概念的.相信做嵌入式开发的同学都能理解,在main() ...
- AUTOSAR从入门到精通100讲(十五)-AURIX TC3xx MCAL中Link文件解析以及代码变量定位方法详解
一 TC3xx系列MCAL中TASKING Link文件解析以及代码变量定位方法 1 TASKING Link文件解析 1.1 DSRAM中的数据存放: 在AURIX™ 2G中(以TC387为例),每 ...
- AUTOSAR从入门到精通100讲(十四)-一文详解CAN总线错误帧
01 错误帧的帧结构 在发送和接收报文时,总线上的节点如果检测出了错误,那么该节点就会发送错误帧,通知总线上的节点,自己出错了. 错误帧由错误标志和错误界定符两个部分组成. 主动错误标志:6个连续的显 ...
- AUTOSAR从入门到精通100讲(十)-DoIP协议介绍
概述 所谓的DoIP其实就是基于以太网的通讯协议对UDS协议的数据进行传输,即Diagnostic communication over Internet Protocol.其本身也是一种协议,规范于 ...
- AUTOSAR从入门到精通100讲(二十二)-AUTOSAR通信篇—CANTP模块
1 CANTP的位置和作用 CanTp是PduR和CANIf模块之间的模块,如图1所示.CANTp模块的主要作用是对CAN I-PDU进行分段和重新组装,使得I-PDU的长度不大于8个字节,对CAN ...
- AUTOSAR从入门到精通100讲(二十六)-AutoSar之微控制器抽象层MCAL
微控制器抽象层位于AUTOSAR BSW的最底层,包含内部驱动,可直接访问微控制器和外设芯片.从具体应用来看,MCAL主要包括微控制器驱动.存储器驱动.通信驱动和输入输出驱动四个部分,各部分又由具体的 ...
- AUTOSAR从入门到精通100讲(四十一)-基于AUTOSAR与Matlab开发应用层三部曲-应用层总体功能开发和集成
AUTOSAR应用层开发方法 AUTOSAR给汽车控制器软件提供了一个整体性的架构定义,Matlab也是目前主流的汽车控制器应用层软件开发工具,如何使用Matlab开发符合AUTOSAR架构的的应用层 ...
最新文章
- 精讲 MySQL 事务日志:redo log 和 undo log
- 阻止浏览器自动填充input密码框
- java wordcount程序_[java]wordcount程序
- 部署WEB项目到服务器(三)安装mysql到linux服务器(Ubuntu)详解
- C# 二维码的生成 Open Source QRCode Library
- 超强 | 保险单据在线OCR,秒速识别保单信息
- 记DeeCamp 2019夏面试
- 市场营销渠道含义是什么?
- 如何用计算机求矩阵的逆矩阵,逆矩阵的求法
- Servlet实现 教师管理系统
- 我的世界超级英雄无限服务器,我的世界超级英雄无限整合包
- 使用iperf工具,用java的swing,编写网络带宽监测小工具
- 毕业论文里面的各种公式该如何编辑
- Warning: preg_match(): Compilation failed: PCRE does not support
- python怎么输出所有奇数_python输出100以内奇数的几种输出方式-Go语言中文社区
- python 程序运行计时 动态_python中time库clock 使用Python,实现程序运行计时的数码管表示...
- 7-18 Decimal Equivalent of a Binary Number (10 分)
- 【报告分享】2021电商618生态洞察报告-亿邦动力研究院(附下载)
- Huffman树的原理以及代码构建
- ShareSDK 安装教程
热门文章
- 8口PoE网口供电交换机适用环境介绍
- 如何利用光衰减器测试光纤收发器的灵敏度?
- [渝粤教育] 广东-国家-开放大学 21秋期末考试计量经济学10551k1
- 【渝粤题库】陕西师范大学300003 世界史 (上)
- 单片机、ARM、DSP与CPU之间的关系大揭秘
- laravel5.6 mysql_快速入门 |《Laravel 5.6 中文文档 5.6》| Laravel China 社区
- php mailer altbody,PHPMailer发送邮件中文乱码的解决办法
- 清空计算机网络缓存,【缓存清理工具】缓存清理软件_电脑缓存清理软件【最新】-太平洋电脑网...
- matlab评估边缘检测性能,【模糊推理】模糊逻辑图像边缘检测,原理+matlab代码~...
- 5.报错:ImportError: No module named win32api