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

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

3天内不再提示

英创信息技术CAN总线在工业领域的用途

英创信息技术 来源:英创信息技术 作者:佚名 2019-10-31 15:13 次阅读

CAN总线是什么

CAN是控制器局域网络(Controller Area Network, CAN)的简称,ISO国际标准化的串行通信协议(ISO 11898),具有实时性强、传输距离远、抗电磁干扰能力强、成本低等特点。CAN总线协议已经成为汽车计算机控制系统嵌入式工业控制局域网的标准总线,广泛应用于汽车电控制系统、电梯控制系统、安全监测系统、医疗仪器、纺织机械、船舶运输等领域。

英创主流工控主板ESMARC系列(目前包括4个大型号:ESM6802,ESM6800,ESM335x,ESM928x)均板载两路CAN总线,用户可以直接使用板载CAN总线进行功能评估使用。英创ESMARC底板上面的CAN部分如下图:

英创ESMARC开发评估底板上的CAN电路部分

CAN总线的工作原理

CAN总线使用串行数据传输方式,可以以1Mb/s的速度在40m的双绞线上运行,也可以使用光缆连接。CAN控制器通过组成总线的两条线(CAN-H和CAN-L)的电位差来确定总线的电平。在任一时刻,总线上都有两种电平:显性电平和隐性电平。只要有一个单元输出显性电平,总线上即为显性电平,只有所有的单元都输出隐性电平,总线上才为隐性电平。

连接在总线上的所有节点都能够发送信息,如果有超过一个节点在同一时刻发送信息,有最高优先级的节点获得发送的资格,所有其它节点执行接收操作。

CAN总线工作原理

当CAN总线上的一个节点发送数据时,它以报文形式广播给网络中所有节点。发送节点将要发送的数据和自己的标识符传送给本节点的CAN芯片,并处于准备状态,然后在收到总线分配以后,转为发送报文状态。CAN芯片将数据根据协议组织成一定的报文格式发出,这时网上的其它节点处于接收状态。每个处于接收状态的节点对接收到的报文进行检测,判断这些报文是否发给自己,以确定是否接收。每组报文开头的11位字符为标识符,定义了报文的优先级,这种报文格式称为面向内容的编址方案。在同一系统中标识符是唯一的,不能有两个节点发送具有相同标识符的报文。

CAN模块支持以下帧类型:数据帧,远程帧,错误帧,超载帧,空闲帧。

典型的CAN帧结构

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

远程帧:用于一个节点请求其他节点所拥有的数据信息。远程帧的标识符标识了所需数据的类型,而被送回的数据信息的标识符和远程帧的标识符完全一致。数据源节点在接收到远程帧后,根据远程帧的标识符判断所需数据信息类型,并在总线空闲时将相应数据送出。

远程帧由6个位场组成:帧起始、仲裁场、控制场、CRC场、应答场和帧结束。

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

上电复位后,两个错误计数器的数值都为0,节点处于错误活动状态,可正常参与总线通信。检测到错误时,节点发送活动错误标志,当错误计数器任一数值超过127时,节点进入错误认可状态。处于错误状态的节点可以参与总线通信,但出错后会发送认可错误标志,并在开始进一步发送数据之前等待一段附加时间(暂停发送场)。当发送错误计数器和接收计数器均小于或等于127时,节点从错误认可状态再次变为错误活动状态。若发送错误计数器数值超过255,则节点进入总线关闭状态,无法收发数据。当软件执行操作模式请求命令,并等待128次总线释放(BusˉFree)序列(11位连续隐性位)后,节点从总线脱离状态重新回到错误活动状态。

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

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

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

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

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

空闲帧:数据帧及远程帧与前帧消息之间的间隔被称为空闲帧的场隔开,空闲帧由间歇场和总线空闲场组成,前面已经发送过报文的错误节点还包括暂停发送场。间歇场由3个隐性位组成,在此期间,CAN节点不进行帧发送。间歇场的存在使CAN控制器在下次消息发送前有时间进行内部处理操作。总线空闲场可以为任意长度,此时总线处于空闲状态,允许任何节点开始报文发送。等待报文发送的节点紧随间歇场后启动报文发送,即在空闲场第一位期间就启动报文发送。

错误认可节点完成一个报文发送后,在开始另一次报文发送或进入总线空闲状态之前,紧随间歇场发送8个隐性位的暂停发送场。发送暂停发送场期间,若其他节点开始发送报文,则本节点停止送出暂停发送场,并变为报文接收器

CAN总线电路特点

下图是一个典型的CAN总线扩展电路(英创ETA704 CAN总线扩展模块):

典型的CAN接口电路

由图中可以看出,CAN总线收发管脚通过磁耦器件ADuM1201隔离后,和CAN驱动芯片TJA1050连接,就组成了一个典型的CAN总线通讯电路。带隔离CAN总线通讯模块的CAN收发器端的所有信号电源与其它部分完全隔离,有效保护了电路的安全。需要注意的是如果扁平带线过长,会影响高速信号的完整性,所以在评估时使用的连接线尽量短一些,避免出现问题。

CAN总线在英创主板平台上的应用

英创EM335x工控主板套件 + ETA704 CAN扩展模块扩展4路CAN

英创主板可以通过主板自带和外扩功能模块,支持和管理多路CAN通信。英创工控主板作为核心控制平台,管理和控制CAN接口与下位设备进行通讯,从而实现实时数据处理监控等应用。历年来,大量用户使用英创主板进行CAN通信相关应用,英创也累积了丰富的工程经验。下面整理出了英创网站发表的相关技术文档供用户参考。虽然有一些方案文档中提到的英创主板是较老的型号,用户在新产品开发的时候未必会使用这些老主板产品,但是文中的软硬件使用技巧、编程技巧和方法等技术细节,是值得用户参考或者直接使用的。

应用方案

WinCE系统双CAN构建方案低成本嵌入式Linux CAN应用方案

使用方法与技巧

CAN接口COM组件在WinCE平台上的实现CAN接口COM组件在C#语言中的使用

基于SJA1000的CAN通讯接口函数使用说明EM9170嵌入式主板CAN通讯接口使用说明

SJA1000的CAN通讯接口函数扩展应用说明工控主板EM9170的CAN通讯应用说明

EM9287 Linux Socket CAN驱动简介C/C#开发基于WEC7的CAN通讯应用

EM335x工控主板多路CAN总线扩展方案介绍英创WinCE主板CAN接口数据接收性能测试

英创WinCE主板新CAN驱动使用说明英创新CAN驱动接口调用方法及说明

关于新CAN驱动的错误帧定义ESM6802 Android版支持双CAN通信


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

    关注

    7

    文章

    6064

    浏览量

    34618
  • 安卓
    +关注

    关注

    5

    文章

    2081

    浏览量

    54581
收藏 人收藏

    评论

    相关推荐

    汽车CAN总线技术

    Can-Bus技术的帮助下,汽车的防盗性、安全性都得到了较大幅度提升。例如:启动车辆时,确认钥匙合法性的信息会通过Can-Bus
    发表于 06-24 13:56

    EM928x/EM335x/ESM335x系列主板新CAN驱动使用说明

    BUFFER到8K,可以缓存更多CAN包附录  《创新CAN驱动接口调用方法及说明》  《CAN错误帧定义》  成都
    发表于 01-03 15:54

    支持Linux高级客户自行移植内核

    上市)  该项服务具体说明和实施流程参见:支持客户进行Linux移植  需要该服务的客户需与签订技术保密协议,并承诺严格履行协议:
    发表于 01-18 13:52

    ESM6802嵌入式主板正式销售

    64-bit DDR3内存,4GB eMMC存储器;支持2路以太网,6路串口,2路CAN等多种通讯接口;并带有PCIe 2.0 x1总线接口,支持RGB / LVDS / HDMI显示,可作为工控设备的控制核心,应用于各种严酷的工业
    发表于 02-15 10:38

    工控主板产品选型指南

      成都信息技术有限公司是一家专注于嵌入式工控主板研发、销售与服务的高科技公司,嵌入式领域已有超16年的从业经历。
    发表于 02-28 11:28

    嵌入式主板的无线通讯解决方案

    ETA6210-WiFi√√ IntelWireless 3160WiFi√ - RalinkRT3070LWiFi√ -成都信息技术有限公司http://www.emtronix.com
    发表于 03-24 14:00

    Eclipse支持在线调试Linux应用程序

    调试linux应用程序》进行下载,也可以直接联系我们。成都信息技术有限公司http://www.emtronix.com
    发表于 03-24 16:28

    敬请关注成都微信公众号

      为了让客户更方便快捷地获取公司的研发动态和产品信息公司对微信公众号进行了一次修改和内容扩充。此外,今后
    发表于 09-29 10:46

    主板JAVA应用开发简介

    。  鉴于主板主要应用于工业控制和通信管理领域,所以提供的Java硬件支持包主要包括对以
    发表于 10-20 13:13

    什么是CAN总线 CAN总线有什么作用

    串行数据通信协议。目前,CAN 总线已经被列入 ISO 国际标准,称为 ISO11898。CAN 总线已经成为工业数据通信的主流
    发表于 12-13 14:26

    基于CAN总线技术的供暖计量系统设计

    现场总线技术信息技术与控制技术的融合,是新一代控制技术的标志。CAN
    发表于 08-31 14:45 0次下载

    CAN总线系统测试技术简介

    CAN总线系统测试技术简介 【摘 要】 CAN总线作为现场总线的一种,在汽车、船舶、航天、
    发表于 03-11 11:22 9068次阅读

    CAN总线应用—汽车领域

    文中分析了CAN总线的发展和汽车CAN总线技术的特征,对CAN
    发表于 12-14 14:58 84次下载

    英创信息技术CAN接口COM组件在C#语言领域应用

     英创ARM9工控主板的一个很大的特色就是提供了标准的CAN总线通讯接口,客户可以方便地在工业现场、汽车、船舶等等领域进行CAN通信应用。由
    的头像 发表于 11-12 10:34 2092次阅读
    英创<b class='flag-5'>信息技术</b><b class='flag-5'>CAN</b>接口COM组件在C#语言<b class='flag-5'>领域</b>应用

    英创信息技术6路独立CAN总线的实现方案简介

    CAN(Controller Area Network)即控制器局域网,由于具有高性能、高可靠性以及简单的网络结构,在工业系统中越来越受到人们的重视,并迅速成为了目前国际上应用最广泛的现场总线之一
    的头像 发表于 02-12 10:53 1739次阅读
    英创<b class='flag-5'>信息技术</b>6路独立<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>的实现方案简介