什么是CAN总线

控制器局域网总线(CAN,Controller Area Network)是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是世界上应用较广泛的现场总线之一。CAN协议用于汽车中各种不同元件之间的通信,以此取代昂贵而笨重的配电线束。

什么是CAN总线

一、什么是CAN总线

控制器局域网总线(CAN,Controller Area Network)是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是世界上应用较广泛的现场总线之一。CAN协议用于汽车中各种不同元件之间的通信,以此取代昂贵而笨重的配电线束。该协议的健壮性使其用途延伸到其他自动化和工业应用。CAN协议的特性包括完整性的串行数据通讯、提供实时支持、传输速率高达1Mb/s、同时具有11位的寻址以及检错能力。

控制器局域网CAN( Controller Area Network)属于现场总线的范畴,是一种有效支持分布式控制系统的串行通信网络。是由德国博世公司在20世纪80年代专门为汽车行业开发的一种串行通信总线。由于其高性能、高可靠性以及独特的设计而越来越受到人们的重视,被广泛应用于诸多领域。而且能够检测出产生的任何错误。当信号传输距离达到10km时,CAN仍可提供高达50kbit/s的数据传输速率。由于CAN总线具有很高的实时性能和应用范围,从位速率较高可达1Mbps的高速网络到低成本多线路的50Kbps网络都可以任意搭配。因此,CAN己经在汽车业、航空业、工业控制、安全防护等领域中得到了广泛应用。

二、概念特征

CAN总线的工作原理

CAN总线使用串行数据传输方式,可以1Mb/s的速率在40m的双绞线上运行,也可以使用光缆连接,而且在这种总线上总线协议支持多主控制器。 [1]  CAN与I2C总线的许多细节很类似,但也有一些明显的区别。当CAN总线上的一个节点(站)发送数据时,它以报文形式广播给网络中所有节点。对每个节点来说,无论数据是否是发给自己的,都对其进行接收。每组报文开头的11位字符为标识符,定义了报文的优先级,这种报文格式称为面向内容的编址方案。在同一系统中标识符是少数的,不可能有两个站发送具有相同标识符的报文。当几个站同时竞争总线读取时,这种配置十分重要。

当一个站要向其它站发送数据时,该站的CPU将要发送的数据和自己的标识符传送给本站的CAN芯片,并处于准备状态;当它收到总线分配时,转为发送报文状态。CAN芯片将数据根据协议组织成一定的报文格式发出,这时网上的其它站处于接收状态。每个处于接收状态的站对接收到的报文进行检测,判断这些报文是否是发给自己的,以确定是否接收它。由于CAN总线是一种面向内容的编址方案,因此很容易建立高水准的控制系统并灵活地进行配置。我们可以很容易地在CAN总线中加进一些新站而无需在硬件或软件上进行修改。当所提供的新站是纯数据接收设备时,数据传输协议不要求独立的部分有物理目的地址。它允许分布过程同步化,即总线上控制器需要测量数据时,可由网上获得,而无须每个控制器都有自己独立的传感器。


延伸阅读

CAN总线的特点

(1)具有实时性强、传输距离较远、抗电磁干扰能力强、成本低等优点;

(2)采用双线串行通信方式,检错能力强,可在高噪声干扰环境中工作;

(3)具有优先权和仲裁功能,多个控制模块通过CAN 控制器挂到CAN-bus 上,形成多主机局部网络;

(4)可根据报文的ID决定接收或屏蔽该报文;

(5)可靠的错误处理和检错机制;

(6)发送的信息遭到破坏后,可自动重发;

(7)节点在错误严重的情况下具有自动退出总线的功能;

(8)报文不包含源地址或目标地址,仅用标志符来指示功能信息、优先级信息。

文章标题:什么是CAN总线,发布者:E.Z,转载请注明出处:https://worktile.com/kb/p/62296

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
E.ZE.Z认证作者
上一篇 2023年7月28日 下午10:45
下一篇 2023年7月28日 下午11:02

相关推荐

  • 编程本选什么

    为了选择合适的编程语言,你需要考虑几个关键因素,包括 1、项目类型、2、易学性、3、社区支持、4、可维护性和5、性能需求。以项目类型为例,不同的编程语言适用于不同的应用场景。例如,编码(web)应用时可能会选择JavaScript,而进行大数据分析则可能倾向于使用Python。 一、项目类型 选择编…

    2024年5月2日
    500
  • MQTT和其他即时通讯协议在安全性方面的比较

    在互联网通信协议领域内,MQTT(消息队列遥测传输)同其他即时通讯协议相比,在安全性层面具备一定的优缺点。1、轻量级与效率:MQTT设计上侧重于简洁性与低网络带宽消耗,在物联网(IoT)场景中尤为突出。2、质量服务等级:它支持多种消息传递保证等级,为不同安全需求提供选择。3、TLS/SSL支持:MQ…

    2023年12月25日
    34200
  • DevOps对于小型和初创企业是否适用

    针对DevOps对小型和初创企业的适用性,主体答案是DevOps不仅适用,而且对这些企业极为有利。关键的核心观点包括:1) 提升软件交付速度、2) 强化团队协作、3) 提高产品质量、4) 灵活性与可扩展性、5) 成本效益。DevOps通过实现自动化构建、测试和部署,减少了人为错误,加快了上市时间,有…

    2023年11月18日
    22400
  • 女生不建议学编程吗为什么

    女生完全适合学习编程,并无任何理性依据支持相反观点。 实际上,在多元化与包容性不断增进的今天,女性进入编程和技术领域不仅是受到鼓励的,而且也展现出与男性同样的能力和创造力。重要的是要理解,编程能力与性别无关,而是与个人的兴趣、热情以及对技术的理解有关。 一个值得展开的观点是,女性在技术领域中可以带来…

    2024年4月27日
    2600
  • Redis 在 SNS 类应用中的优异实践有哪些

    Redis 在 SNS 类应用中的优异实践有:1、消息队列(通知类、延迟更新类);2、热点数据的实时缓存(比如feed,数据库、缓存同时写);3、热点列表数据缓存(首页、热门话题等);4、counter(计数器,大多是用缓存实现的)。

    2023年1月8日
    41400
  • 编程开发需要什么手续费

    在谈论编程开发所需的手续费时,主要有3个方面值得注意:1、域名注册费用、2、服务器托管费用、3、软件许可证费用。特别是服务器托管费用,它是维持网站或应用平稳运行的核心开销之一,包括了服务器租用、维护、以及与之相关的网络服务费。选择合适的服务器托管服务对于保障项目的稳定性和流畅性至关重要。 一、 域名…

    2024年4月28日
    1400
  • 数控机床编程什么是g54

    G54 是 数控机床中的一个重要的位置设定指令,用于设定程序零点,也就是参考点或工件坐标系的原点。它让操作者能够根据工件实际位置定制起点,从而精确控制刀具轨迹。这一指令极大地提升了加工精度与效率。 G54的意义在于其简化了编程过程,使得操作者不必为每个新工件重新计算起点位置,只需设定G54指向的零点…

    2024年4月28日
    2800
  • 两个月可以学什么编程软件

    在两个月内,您可以学习基础编程、理解编程逻辑、和掌握一个编程语言的核心概念。具体来讲,Python 是一个优秀的起点,因为它具有简洁的语法、广泛的应用以及强大的社区支持。通过学习 Python,您不仅能够编写基本的程序,还能接触到如数据分析、网页开发等多个方向。在这两个月中,您可能会从基础语法入手,…

    2024年4月28日
    2300
  • 编程机器人教什么软件

    编程机器人所涉及的软件主要包括1、图形化编程软件和2、文本编程环境。在这些软件中,图形化编程软件对新手尤其友好,因为它们通常采用拖放界面,允许用户通过组合图形块来创建程序,无需深入了解编程语言的语法。这类软件不仅降低了学习的门槛,还通过直观的界面让逻辑结构一目了然,极大地提高了学习的效率和兴趣。 一…

    2024年4月27日
    2600
  • 编程猫少儿编程叫什么

    编程猫少儿编程称为编程猫(CodingCat),是一个专为儿童与青少年设计的编程学习平台。在这个平台上,编程教育以游戏化的方式呈现,帮助孩子们在解决问题和创造性思考上取得进步。编程猫通过提供易于使用的编程工具和富有教育意义的课程内容,鼓励孩子们学习计算机科学的基础知识。 接下来,我们将详细讨论编程猫…

    2024年5月1日
    800

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部