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模块相关推荐

  1. AUTOSAR从入门到精通100讲(十二)-V2X通信安全技术要求标准

    01 基于LTE的车联网通信架构 基于LTE的车联网通信系统支持车-车(V2V)应用.车-路(V2I)应用.车-网(V2N)应用和车-人(V2P)应用,利用这些应用可向用户提供诸如道路安全.交通效率提 ...

  2. AUTOSAR从入门到精通100讲(131)-AURIX中DMA模块对TIM的FIFO数据搬运

    DMA的应用场景较为广泛, 其源地址和目的地址可以是我们的RAM, 也可以是我们的外设寄存器, 如各种FIFO寄存器或者结构寄存器. 本文主要介绍DMA的一种使用场景, 将GTM的TIM通道的FIFO ...

  3. AUTOSAR从入门到精通100讲(十八)-AUTOSAR操作系统OS

    0  为什么需要OS? 现在嵌入式系统纷繁复杂,这点毋庸置疑,但是为什么需要操作系统呢?有没有仔细思考过.其实在早期的嵌入式系统中,是没有操作系统概念的.相信做嵌入式开发的同学都能理解,在main() ...

  4. AUTOSAR从入门到精通100讲(十五)-AURIX TC3xx MCAL中Link文件解析以及代码变量定位方法详解

    一 TC3xx系列MCAL中TASKING Link文件解析以及代码变量定位方法 1 TASKING Link文件解析 1.1 DSRAM中的数据存放: 在AURIX™ 2G中(以TC387为例),每 ...

  5. AUTOSAR从入门到精通100讲(十四)-一文详解CAN总线错误帧

    01 错误帧的帧结构 在发送和接收报文时,总线上的节点如果检测出了错误,那么该节点就会发送错误帧,通知总线上的节点,自己出错了. 错误帧由错误标志和错误界定符两个部分组成. 主动错误标志:6个连续的显 ...

  6. AUTOSAR从入门到精通100讲(十)-DoIP协议介绍

    概述 所谓的DoIP其实就是基于以太网的通讯协议对UDS协议的数据进行传输,即Diagnostic communication over Internet Protocol.其本身也是一种协议,规范于 ...

  7. AUTOSAR从入门到精通100讲(二十二)-AUTOSAR通信篇—CANTP模块

    1  CANTP的位置和作用 CanTp是PduR和CANIf模块之间的模块,如图1所示.CANTp模块的主要作用是对CAN I-PDU进行分段和重新组装,使得I-PDU的长度不大于8个字节,对CAN ...

  8. AUTOSAR从入门到精通100讲(二十六)-AutoSar之微控制器抽象层MCAL

    微控制器抽象层位于AUTOSAR BSW的最底层,包含内部驱动,可直接访问微控制器和外设芯片.从具体应用来看,MCAL主要包括微控制器驱动.存储器驱动.通信驱动和输入输出驱动四个部分,各部分又由具体的 ...

  9. AUTOSAR从入门到精通100讲(四十一)-基于AUTOSAR与Matlab开发应用层三部曲-应用层总体功能开发和集成

    AUTOSAR应用层开发方法 AUTOSAR给汽车控制器软件提供了一个整体性的架构定义,Matlab也是目前主流的汽车控制器应用层软件开发工具,如何使用Matlab开发符合AUTOSAR架构的的应用层 ...

最新文章

  1. 精讲 MySQL 事务日志:redo log 和 undo log
  2. 阻止浏览器自动填充input密码框
  3. java wordcount程序_[java]wordcount程序
  4. 部署WEB项目到服务器(三)安装mysql到linux服务器(Ubuntu)详解
  5. C# 二维码的生成 Open Source QRCode Library
  6. 超强 | 保险单据在线OCR,秒速识别保单信息
  7. 记DeeCamp 2019夏面试
  8. 市场营销渠道含义是什么?
  9. 如何用计算机求矩阵的逆矩阵,逆矩阵的求法
  10. Servlet实现 教师管理系统
  11. 我的世界超级英雄无限服务器,我的世界超级英雄无限整合包
  12. 使用iperf工具,用java的swing,编写网络带宽监测小工具
  13. 毕业论文里面的各种公式该如何编辑
  14. Warning: preg_match(): Compilation failed: PCRE does not support
  15. python怎么输出所有奇数_python输出100以内奇数的几种输出方式-Go语言中文社区
  16. python 程序运行计时 动态_python中time库clock 使用Python,实现程序运行计时的数码管表示...
  17. 7-18 Decimal Equivalent of a Binary Number (10 分)
  18. 【报告分享】2021电商618生态洞察报告-亿邦动力研究院(附下载)
  19. Huffman树的原理以及代码构建
  20. ShareSDK 安装教程

热门文章

  1. 8口PoE网口供电交换机适用环境介绍
  2. 如何利用光衰减器测试光纤收发器的灵敏度?
  3. [渝粤教育] 广东-国家-开放大学 21秋期末考试计量经济学10551k1
  4. 【渝粤题库】陕西师范大学300003 世界史 (上)
  5. 单片机、ARM、DSP与CPU之间的关系大揭秘
  6. laravel5.6 mysql_快速入门 |《Laravel 5.6 中文文档 5.6》| Laravel China 社区
  7. php mailer altbody,PHPMailer发送邮件中文乱码的解决办法
  8. 清空计算机网络缓存,【缓存清理工具】缓存清理软件_电脑缓存清理软件【最新】-太平洋电脑网...
  9. matlab评估边缘检测性能,【模糊推理】模糊逻辑图像边缘检测,原理+matlab代码~...
  10. 5.报错:ImportError: No module named win32api