雷竞技注册
消息

恶劣环境中的串行通信:来自Maxim的新CAN收发器

2017年7月12日经过罗伯特·凯

MAX14883E等CAN-BUS收发器提供强大,方便的通信,用于苛刻的应用。

MAX14883E等CAN-BUS收发器提供强大,方便的通信,用于苛刻的应用。

我们不断听到I2C.这些日子;spi.UART.也是众所周知的缩写。相比之下,我不会惊讶地发现许多工程师和电子爱好者都有很小的知识,或者至少有罐总线的经验。雷竞技最新app

这并不是特别令人惊讶:CAN(控制器区域网络)总线不是I2C或SPI等通用标准。它是为汽车应用开发的,它也用于工业环境。如果您没有为汽车或工业系统做专业设计工作,您可能会听到很少的信息。

本文绝不是对CAN总线的全面讨论,但这里有一些突出特征:

  • 这是一个多主巴士;换句话说,它不使用主/从属排列。总线上的设备简称为“节点”,我欣赏,因为“主/奴隶”的事情在一段时间后开始磨碎我的耳朵。严重的是,曾经认为这是一个好主意从人道最臭名昭着和鄙视的机构借用术语?
  • 它不适用于点对点沟通;消息是广播到整个总线。
  • 差分信令使用,因为通常为噪声提供增强的免疫力。它是双线总线,所以主要互连只是一个双绞线,如下:

从MAX14883E拍摄的图表数据表

  • 最大数据速率为1 Mbps。与每秒500岁或多个USB 3.0正在进行这些日子,这似乎痛苦缓慢,但典型的CAN总线应用程序根本不需要那种带宽。我们必须记住,高频率只是关于一切的良好设计实践意味着根据系统的实际通信需求来限制数据速率。
  • 可以在数据包中传输数据。“包装”是一种使通信系统更加强大的重要技术;你可以读到它这里
  • 如果您想要直接从源获取信息,则管理CAN协议的官方文档以ISO-11898开头。我不太了解超过这一点,因为我的大脑在看到字母“iso”时会尽快关闭。

框图

MAX14883E.是一个集成的可以收发器。积分方面很重要,因为连接到CAN总线并不像例如将数字信号驱动到SPI或UART行上的简单。您可以在下图中看到设备的各种部分:

图中拍摄的图表数据表

保护

注意“保护”块;可以旨在用于恶劣环境,并且收发器需要能够应对粗糙的条件。MAX14883E保护最多±60 V的故障,两条罐头可以存活最高±10 kV(或±15 kV,或±22 kV-它取决于您对您感兴趣的ESD的味道。

然后存在共模电压的问题。不同节点完全可以具有不同的地面电位。这个问题的普遍解决方案是电流孤立,但这种方法是不方便的,通常只在必要时使用。优选的方法是使用差分信令,然后使界面电路容忍不可预测的地电位。CAN标准需要收发器支持-2 v至+7 v的共模范围,但MAX14883E远远超出:其“功能公共输入范围”为±25 V.

占领税

另一个安全功能是“主导超时”。CAN协议使用术语“主导”和“隐性”来描述实际信号电平。您可以在下图中看到主导和隐性逻辑状态。顾名思义,主导信号级别意味着公共汽车不适用于新消息。除非发射器经历过故障并将总线锁定到非功能主导状态,否则这很好。如果CAN线处于优势状态,主导超时功能可防止通过自动将信号返回到隐性状态,以便在优势状态超过t的主导状态dom(某处在1.3和4.3毫秒之间)。

从图中改编数据表

This diagram is a good reminder that CAN doesn’t follow the expected relationship between logic level and the state of the actual CAN signals: a logic-low input places the output in the dominant state, and a logic-high releases the bus into the recessive state.


您是否看到了在汽车和工业环境之外使用的CAN公共汽车,例如,用于消费者或军事应用?让我们在评论中知道。

2评论
  • B.
    英国人 2017年7月21日

    伟大的介绍。
    可以通过Victron Energy BV在许多产品中使用,例如Multi Plus系列逆变器/充电器用于国内离网电源管理,如家庭太阳能和游船。
    它非常有用,但使用大量专有码来完成任何事情。
    它很容易与Arduino MCU集成,其中有许多屏蔽可用。

    喜欢。 回复
  • 瑞恩艾伦年轻人 2017年7月21日

    我正在圣地亚哥国立大学机电一体化俱乐部,竞争年度罗斯瓦比赛(下周!*恐慌*)。对于今年,我们正在使用的子设计可以在我们的各种传感器和控制板和主计算机之间进行通信。这是一大吨的信息和串行通信学习经验的地狱。我们正在使用MCP2515控制器和MCP2551收发器。我们将在Tegra Tx2上使用CAN,但由于图书馆/驱动程序问题太多,最终返回到TX1,因此现在我们使用ATMEGA328PB作为罐头到UART串行解释器。

    我喜欢“主导超时”的想法。我希望我们对I2C有同样的事情。我们试图使用I2C来控制我们的推进器ESC,但是当一个人失败时它会将整个线路拉低并锁定一切。最终不得不回到PWM并没有反馈的情况下生活。

    喜欢。 回复