位置:51电子网 » 技术资料 » 接口电路

CAN总线接□模块工作原理

发布时间:2008/11/25 0:00:00 访问次数:2295

  1.can模块简介

  控制器局域网(can)模块是用于与其他外围设备或单片机进行通信的模块,这种接口协议能在较大的噪声 环境中进行通信,具有良好的扰干扰性能。

  can模块是一个通信控制器,执行的是bosch公司的can2.0a/b协议。它能支持can1.2、can 2.0a、can 2.ob 协议的旧版本和can2.ob现行版本,此控制器模块包含完整的can系统。

  can模块由协议驱动和信息缓冲及控制组成,can协议驱动can总线上接收和发送信息的所有功能。信息装载 到某个相应的数据寄存器后再发送,通过读相应的寄存器可检查状态与错误信息。在can总线上检测到的任 何信息都要进行错误检查,然后与过滤器进行比较,判断是否被接收和存储到两个接收寄存器之一。

  2.can模块支持的帧类型

  can模块支持以下帧类型:标准数据帧、扩展数据帧、远程帧、出错帧、过载帧和空闲帧。

  (1)数据帧。

  用于各节点之间传送数据消息,由7个不同的位场组成:帧起始、仲裁场、控制场、数据场、crc场、应答 场和帧结束。数据帧结构如图1所示。


图1 数据帧组成

  (2)远程帧。

  当can网络上一个节点需要其他节点所拥有的数据信息时,可以通过发送远程帧来请求另一节点发送。该 远程帧的标识符标识了所需数据的类型,因此,被送回的数据信息的标识符和远程帧的标识符完全一致。数 据源节点在接收到远程帧后,根据远程帧的标识符判断所需数据信`患类型,并在总线空闲时将相应数据送 出。远程帧由6个位场组成:帧起始、仲裁场、控制场、crc场、应答场和帧结束。除了没有数据场和rtr为 隐性外,远程帧结构和数据帧完全相同,远程帧结构如图2所示。


图2 远程帧结构

  (3)错误帧。

  为进行错误界定,每个can控制器均设有两个错误计数器:发送错误计数器(tec)和接收错误计数器 (rec)。can总线上的所有节点按其错误计数器数值情况可分为3个状态:错误活动状态、错误认可状态和 总线关闭状态。节点状态转换如图3所示。


图3 节点状态转换

  上电复位后,两个错误计数器的数值都为0,节点处于错误活动状态,可正常参与总线通信,检测到错误时 ,发送活动错误标志。当错误计数器任一数值超过127时,节点进入错误认可状态。处于错误状态的节点可 参与总线通信,但出错后,发送认可错误标志,并在开始进一步发送数据之前等待一段附加时间(暂停发送 场)。

  当发送错误计数器和接收计数器均小于或等于127时,节点从错误认可状态再次变为错误活动状态。若发送 错误计数器数值超过255后,节点进入总线关闭状态,既不能向总线发送数据,也不能从总线接收数据。当 软件执行操作模式请求命令,并等待128次总线释放(busˉfree)序列(11位连续隐性位)后,节点从总线 脱离状态重新回到错误活动状态。

  错误帧由两个不同的位场组成,第一个场由来自不同的节点的错误标志叠加而成,第二个场为错误界定符 ,错误帧结构如图4所示。


图4 错误帧结构

  (4)过载帧。

  超载帧由超载标志和超载界定符组成。超载标志由6个显性位组成,其格式与活动错误标志相同。超载界 定符由8个隐性位组成,其格式与错误界定符相同。导致发送超载帧的两个条件为:

  ①一个接收节点内部接收条件未准备好,要求延迟下一个数据帧或远程帧发送;

  ②在间歇场(3位)检测到显性位。

  当超载标志发出后,每个节点监视总线状态,直至检测到从显性至隐性位的跳变,此时,所有的节点均己 完成了超载标志的发送,随后所有节点开始发送8个隐性位组成的超载界定符,超载帧结构如图5所示。


图5 超载帧结构

  (5)空闲帧。

  数据帧及远程帧与前帧消息之间的间隔被称为帧间空间的场隔开,如图6所示,帧间


图6 不包含暂停发送场的帧间空间

  空间由间歇场和总线空闲场组成,前面已经发送过报文的错误节点还包括暂停发送场。间歇场由3个隐性位 组成,在此期间,can节点不进行帧发送。间歇场的存在使can控制器在下次消息发送前有时间进行内部处理 操作。

  总线空闲场可以为任意长度,此时总线处于空闲状态,允许任何节点开始报文发送。等待报文发送的节点 紧随间歇场后启动报文发送,即在空闲场第一位期间就启动

  1.can模块简介

  控制器局域网(can)模块是用于与其他外围设备或单片机进行通信的模块,这种接口协议能在较大的噪声 环境中进行通信,具有良好的扰干扰性能。

  can模块是一个通信控制器,执行的是bosch公司的can2.0a/b协议。它能支持can1.2、can 2.0a、can 2.ob 协议的旧版本和can2.ob现行版本,此控制器模块包含完整的can系统。

  can模块由协议驱动和信息缓冲及控制组成,can协议驱动can总线上接收和发送信息的所有功能。信息装载 到某个相应的数据寄存器后再发送,通过读相应的寄存器可检查状态与错误信息。在can总线上检测到的任 何信息都要进行错误检查,然后与过滤器进行比较,判断是否被接收和存储到两个接收寄存器之一。

  2.can模块支持的帧类型

  can模块支持以下帧类型:标准数据帧、扩展数据帧、远程帧、出错帧、过载帧和空闲帧。

  (1)数据帧。

  用于各节点之间传送数据消息,由7个不同的位场组成:帧起始、仲裁场、控制场、数据场、crc场、应答 场和帧结束。数据帧结构如图1所示。


图1 数据帧组成

  (2)远程帧。

  当can网络上一个节点需要其他节点所拥有的数据信息时,可以通过发送远程帧来请求另一节点发送。该 远程帧的标识符标识了所需数据的类型,因此,被送回的数据信息的标识符和远程帧的标识符完全一致。数 据源节点在接收到远程帧后,根据远程帧的标识符判断所需数据信`患类型,并在总线空闲时将相应数据送 出。远程帧由6个位场组成:帧起始、仲裁场、控制场、crc场、应答场和帧结束。除了没有数据场和rtr为 隐性外,远程帧结构和数据帧完全相同,远程帧结构如图2所示。


图2 远程帧结构

  (3)错误帧。

  为进行错误界定,每个can控制器均设有两个错误计数器:发送错误计数器(tec)和接收错误计数器 (rec)。can总线上的所有节点按其错误计数器数值情况可分为3个状态:错误活动状态、错误认可状态和 总线关闭状态。节点状态转换如图3所示。


图3 节点状态转换

  上电复位后,两个错误计数器的数值都为0,节点处于错误活动状态,可正常参与总线通信,检测到错误时 ,发送活动错误标志。当错误计数器任一数值超过127时,节点进入错误认可状态。处于错误状态的节点可 参与总线通信,但出错后,发送认可错误标志,并在开始进一步发送数据之前等待一段附加时间(暂停发送 场)。

  当发送错误计数器和接收计数器均小于或等于127时,节点从错误认可状态再次变为错误活动状态。若发送 错误计数器数值超过255后,节点进入总线关闭状态,既不能向总线发送数据,也不能从总线接收数据。当 软件执行操作模式请求命令,并等待128次总线释放(busˉfree)序列(11位连续隐性位)后,节点从总线 脱离状态重新回到错误活动状态。

  错误帧由两个不同的位场组成,第一个场由来自不同的节点的错误标志叠加而成,第二个场为错误界定符 ,错误帧结构如图4所示。


图4 错误帧结构

  (4)过载帧。

  超载帧由超载标志和超载界定符组成。超载标志由6个显性位组成,其格式与活动错误标志相同。超载界 定符由8个隐性位组成,其格式与错误界定符相同。导致发送超载帧的两个条件为:

  ①一个接收节点内部接收条件未准备好,要求延迟下一个数据帧或远程帧发送;

  ②在间歇场(3位)检测到显性位。

  当超载标志发出后,每个节点监视总线状态,直至检测到从显性至隐性位的跳变,此时,所有的节点均己 完成了超载标志的发送,随后所有节点开始发送8个隐性位组成的超载界定符,超载帧结构如图5所示。


图5 超载帧结构

  (5)空闲帧。

  数据帧及远程帧与前帧消息之间的间隔被称为帧间空间的场隔开,如图6所示,帧间


图6 不包含暂停发送场的帧间空间

  空间由间歇场和总线空闲场组成,前面已经发送过报文的错误节点还包括暂停发送场。间歇场由3个隐性位 组成,在此期间,can节点不进行帧发送。间歇场的存在使can控制器在下次消息发送前有时间进行内部处理 操作。

  总线空闲场可以为任意长度,此时总线处于空闲状态,允许任何节点开始报文发送。等待报文发送的节点 紧随间歇场后启动报文发送,即在空闲场第一位期间就启动

相关IC型号

热门点击

 

推荐技术资料

耳机放大器
    为了在听音乐时不影响家人,我萌生了做一台耳机放大器的想... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!