CAN通讯详解

目录

前言

一、基本概念

二、物理层定义

三、数据链路层定义

四、工作原理

五、应用领域


前言

CAN通讯协议,全称为Controller Area Network(控制器局域网络)通讯协议,是一种高度灵活且可靠的串行通信协议,广泛应用于汽车和工业自动化领域。以下是对CAN通讯协议的详细解析:

一、基本概念

  • 定义:CAN总线协议是一种用于实时应用的串行通讯协议总线,由德国博世公司开发,并最终成为国际标准(ISO11519以及ISO11898)。
  • 特点:异步通讯、半双工、基于广播方式通信,具有高可靠性、实时性强、抗干扰能力强等优点。

二、物理层定义

  1. 信号线:CAN总线由两根线组成,分别是CAN_H(CAN High)和CAN_L(CAN Low),共同构成一组差分信号线。
  2. 电平定义
    • 逻辑“1”(隐性):CAN_H和CAN_L线上的电压接近相等(如均为2.5V),电压差小于0.5V。
    • 逻辑“0”(显性):CAN_H的电压高于CAN_L(如CAN_H为3.5V,CAN_L为1.5V),电压差大于0.9V。
  3. 差分信号:差分信号具有抗干扰能力强、时序定位精确等优点,适合在电磁环境复杂的场合使用。
  4. 终端电阻:CAN总线两端通常需要并联终端电阻(典型值为120Ω),用于阻抗匹配,减少信号反射,提高通信的抗干扰性和可靠性。

三、数据链路层定义

  1. 帧结构:CAN通讯包含标准帧和扩展帧两种格式。
    • 标准帧:包含帧起始、仲裁场、控制场、数据场、CRC场、ACK场、帧结束等部分。

                    帧起始(SOF):标志着数据帧和远程帧的起始,由一个单独的显性位(逻辑0)组成。
                    仲裁场:包括标识符(ID)和远程发送请求位(RTR)。ID用于标识报文的优先级和内容,RTR位标明是数据帧还是请求帧。
                    控制场:包含标识符扩展位(IDE)、保留位和数据长度代码(DLC)。IDE位指出是标准格式还是扩展格式,DLC表示数据场的长度。
                    数据场:发送数据的内容,最多8个字节。
                    CRC场:用于检测数据传输中的错误,包括循环冗余校验序列和界定符。                      ACK场:包括应答位和应答分隔符,用于确认报文是否正确接收。
                    帧结束(EOF):由7个连续的隐性位组成,表示帧的结束。
    • 扩展帧:在标准帧的基础上增加了额外的ID段,ID长度由11位增加到29位。
  2. 仲裁机制:CAN总线采用基于优先级的仲裁机制,当多个节点同时发送数据时,ID值较小的帧具有更高的优先级,能够继续发送,而ID值较大的帧则停止发送并转入接收状态。
  3. 错误处理:CAN协议具有强大的错误检测和纠正能力,能够检测出位错误、帧错误、格式错误、CRC错误等,并通过相应的错误处理机制进行纠正,确保通信的可靠性。

四、工作原理

  1. 通信过程
    • 空闲状态:当总线上没有节点发送数据时,总线处于空闲状态。
    • 数据发送:当节点需要发送数据时,首先监听总线状态,如果总线空闲,则开始发送数据帧。
    • 数据接收:其他节点在接收到数据帧后,根据ID进行滤波处理,如果ID匹配,则接收数据并进行后续处理。
  2. 位定时与同步
          1.CAN协议采用位定时传输方式,每个位都有固定的时间段。发送节点将每个位的电平保持一段时间,接收节点在相应的时间段内检测位的电平,实现数据的同步和准确传输。
          2.位定时的设置对于通信的可靠性和性能至关重要,需要根据总线的特性和系统要求进行合理配置。

五、应用领域

CAN总线协议被广泛应用于汽车、工业自动化、航空航天、船舶、智能家居、智能医疗等多个领域。在汽车领域,CAN总线协议是汽车内部各控制单元之间通信的主要标准之一,实现了车辆各系统之间的高效、稳定的数据交换和控制。

综上所述,CAN通讯协议是一种功能强大、应用广泛的通信协议,为各种工业控制系统提供了高效、可靠的数据传输解决方案。

  • 10
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值