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

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

3天内不再提示

CAN协议分层结构和功能

DIri_ALIFPGA 来源:未知 作者:李倩 2018-03-22 10:59 次阅读

我知道,我对与电子有关的所有事情都很着迷,但不论从哪个角度看,今天的现场可编程门阵列(FPGA),都显得“鹤立鸡群”,真是非常棒的器件。如果在这个智能时代,在这个领域,想拥有一技之长的你还没有关注FPGA,那么世界将抛弃你,时代将抛弃你。

CAN为串行通讯协议,能有效地支持具有很高安全等级的分布实时控制。CAN的应用范围很广,从高速的网络到低价位的多路接线都可以使用CAN。在汽车电子行业里,使用CAN连接发动机控制单元、传感器、防刹车系统、等等,其传输速度可达1Mbit/s。同时,可以将CAN安装在卡车本体的电子控制系统里,诸如车灯组、电气车窗等等,用以代替接线配线装置。

技术规范的目的是为了在任何两个CAN仪器之间建立兼容性。可是,兼容性有不同的方面,比如电气特性和数据转换的解释。为了达到设计透明度以及实现灵活性,根据ISO/OSI参考模型,CAN 2.0规范细分为以下不同的层次:数据链路层和物理层(如图所示)。

CAN协议分层结构和功能

逻辑链路控制子层(LLC)的作用范围如下:

为远程数据请求以及数据传输提供服务。

确定由实际要使用的LLC子层接收哪一个报文。

为恢复管理和过载通知提供手段。

MAC子层的作用主要是传送规则,也就是控制帧结构、执行仲裁、错误检测、出错标定、故障界定。位定时的一些普通功能也可以看作是MAC子层的一部分。

物理层的作用是在不同节点之间根据所有的电气属性进行位的实际传输。

CAN具有以下的属性:

报文的优先权

保证延迟时间

设置灵活

时间同步的多点接收

系统内数据的连贯性

多主机

错误检测和错误标定

只要总线一处于空闲,就自动将破坏的报文重新传输

将节点的暂时性错误和永久性错误区分开来,并且可以自动关闭由OSI参考模型分层CAN结构的错误的节点。

依据ISO/OSI参考模型的层结构具有以下功能:

物理层定义信号是如何实际地传输的,因此涉及到位时间、位编码、同步的解释。技术规范没有定义物理层的驱动器/接收器特性,以便允许根据它们的应用,对发送媒体和信号电平进行优化。

MAC子层是CAN协议的核心。它把接收到的报文提供给LLC子层,并接收来自LLC子层的报文。MAC子层负责报文分帧、仲裁、应答、错误检测和标定。MAC子层也被称作故障界定的管理实体监管。此故障界定为自检机制,以便把永久故障和短时扰动区别开来。

LLC子层涉及报文滤波、过载通知、以及恢复管理。

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

    关注

    57

    文章

    2714

    浏览量

    463328
  • CAN协议
    +关注

    关注

    1

    文章

    34

    浏览量

    12655

原文标题:CAN总线协议规范

文章出处:【微信号:ALIFPGA,微信公众号:FPGA极客空间】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    关于网络分层结构的介绍

    第1章 概述一.单选题(共8题)1关于网络分层结构,下面的叙述正确的是_________。A、某一层可以使用其上层提供的服务而不需知道服务是如何实现的(应该是下层) B、当某一层发生变化时,只要接口
    发表于 07-28 09:46

    网络协议osi的分层

    网络协议osi的分层,路由器在哪一层 应用层,表示层,会话层,传输层,网络层,数据链路层,物理层 路由器在网络层 jnijava本地接口 在android系统...
    发表于 08-06 08:20

    CAN协议特点简介

    CAN协议CAN协议 简介CAN协议 特点(1)多主控制(2)系统的柔软性(3)通信速度较快,通
    发表于 08-19 06:02

    canopen协议can特点

    canopen简单提要can总线    can特点:多主控制、高达1M通讯速度、通讯校验、 错误检测处理及恢复等,can总线通讯接口规定了CAN协议
    发表于 09-15 07:10

    利用指定群首设计自组网分层路由协议

    利用指定群首设计自组网分层路由协议:基于具有组移动模型的移动Ad hoc网络,分析了传统LANMAR分层路由协议的原理。以LANMAR协议
    发表于 10-20 18:04 9次下载

    CAN 的较高层协议和子协议

    CAN 的较高层协议和子协议 本文主要介绍了几个基于CAN 的较高层协议CAL/CANopen DeviceNet SDS 并且对这几个较
    发表于 03-22 15:31 34次下载

    CAN总线和基于CAN总线的高层协议

    针对不同的目的和要求的基于CAN协议的较高层协议标准。下面就对CAN 协议及其较高层协议Devi
    发表于 05-09 10:26 2839次阅读
    <b class='flag-5'>CAN</b>总线和基于<b class='flag-5'>CAN</b>总线的高层<b class='flag-5'>协议</b>

    一种基于分层结构的Ad_Hoc网络分簇路由协议研究

    传统Ad Hoc网络分簇路由协议存在分组投递率低的问题,论文提出一种基于分层结构的分簇路由协议。高级网络层采用基于备份路由的AODV协议,而
    发表于 12-31 09:20 9次下载

    can总线分层结构及报文传输

    应用最广泛的现场总线之一。在建立之初,CAN总线就定位于汽车内部的现场总线,具有传输速度快、可靠性高、灵活性强等优点。上世纪90年代CAN总线开始在汽车电子行业内逐步推广,目前已成为汽车电子行业首选的通信协议,并且在医疗设备、工
    发表于 11-09 19:53 9388次阅读
    <b class='flag-5'>can</b>总线<b class='flag-5'>分层</b><b class='flag-5'>结构</b>及报文传输

    CAN总线协议是什么?CAN总线协议有哪些?CAN总线协议知识分析

    本文说的CAN即是一种总线,也是一种协议。因此,我们常听见CAN总线,也常听见CAN协议CAN
    的头像 发表于 10-03 19:53 7.4w次阅读
    <b class='flag-5'>CAN</b>总线<b class='flag-5'>协议</b>是什么?<b class='flag-5'>CAN</b>总线<b class='flag-5'>协议</b>有哪些?<b class='flag-5'>CAN</b>总线<b class='flag-5'>协议</b>知识分析

    can总线结构

    CAN总线用户接口简单,编程方便。网络拓扑结构采用总线式结构。这种网络结构简单、成本低,并且采用无源抽头连接,系统可靠性高。通过CAN总线连
    的头像 发表于 11-28 17:16 1.8w次阅读
    <b class='flag-5'>can</b>总线<b class='flag-5'>结构</b>

    CAN总线特点及FPGA的实现

    【科普】CAN总线介绍及FPGA实现方案简介 这里我们先逆推一下CAN总线的一些特点。 第一,CAN总线分层结构 我们根据
    的头像 发表于 11-18 16:35 5889次阅读
    <b class='flag-5'>CAN</b>总线特点及FPGA的实现

    CAN总线技术原理 CAN总线的分层结构

    CAN芯片将数据根据协议组织成一定的报文格式发出,这时网上的其它站处于接收状态。每个处于接收状态的站对接收到的报文进行检测,判断这些报文是否是发给自己的,以确定是否接收它。
    发表于 06-16 12:50 1853次阅读
    <b class='flag-5'>CAN</b>总线技术原理 <b class='flag-5'>CAN</b>总线的<b class='flag-5'>分层</b><b class='flag-5'>结构</b>

    车载以太网的分层结构解析

    车载以太网通常采用OSI(开放系统互连)模型的分层结构,该模型将网络通信划分为七个不同的层次,每个层次负责不同的功能。以下是车载以太网的分层结构
    的头像 发表于 08-28 14:45 3959次阅读
    车载以太网的<b class='flag-5'>分层</b><b class='flag-5'>结构</b>解析

    CAN协议栈与LIN协议栈介绍

    CAN协议栈 汽车CAN协议栈是一种软件组件,用于实现汽车电子系统中的CAN总线通信功能。它包含
    的头像 发表于 10-27 16:16 2967次阅读
    <b class='flag-5'>CAN</b><b class='flag-5'>协议</b>栈与LIN<b class='flag-5'>协议</b>栈介绍