概览

设计资源

设计集成文件

  • 原理图
  • 物料清单
  • Gerber文件
  • Allegro文件
  • 装配图
下载设计文件 1.33 M

评估硬件

产品型号带"Z"表示符合RoHS标准。评估此电路需要下列选中的电路板

  • EVAL-ADICUP3029 ($52.97) Ultra-Low Power, Cortex M3 Arduino form factor compatible Development Platform
  • EVAL-ADM3055E-ARDZ ($57.67) CAN to SPI Arduino Shield
查询库存和在线购买

优势和特点

  • 完全隔离式CAN FD总线
  • 在待机模式和远程唤醒模式下工作
  • 可切换端接
  • Arduino扩展板尺寸

电路功能与优势

具有灵活数据速率的控制器局域网(CAN FD)支持更高带宽通信,从而满足工业自动化、HVAC、农业和医疗健康领域的多节点网络应用需求。图1所示的电路通过与现有串行外设接口(SPI)总线连接,能够在Arduino Uno型平台上实现高达8 Mbps的CAN FD总线连接数据速率。

CAN FD收发器具有集成信号和电源增强隔离功能。集成隔离式DC-DC转换器从逻辑端获取电源,为总线端隔离通道和收发器供电,因此CAN FD总线不需要外部电源。

隔离型收发器具有出色的EMC稳健性。±25 V的扩展共模范围超过ISO11898-2:2016的要求,且对接收CAN帧时产生的局部接地电位差具有较高耐受能力。集成ESD保护功能在CANH和CANL总线引脚上提供IEC 61000-4-2 ESD保护。差分总线引脚可承受24 V系统的接线错误和短路,并在CANH和CANL引脚上提供±40 V故障保护。

CAN总线可连接两个或数百个节点。根据应用要求,可使用不同类型的电缆进行连接。电缆可以是Cat5e电缆等较低成本的非屏蔽双绞线,也可以是PROFIBUS电缆等更高质量的屏蔽电缆。对于任何类型的电缆,理想的CAN总线以菊花链模式连接各节点,并在两端提供端接。可通过螺丝端子或CAN CiA 303-1插头9引脚sub-D端口与总线进行连接。

为实现总线末端端接,电路中使用集成辅助隔离数字通道对总线端接进行运行时配置。可切换端接电路在CAN总线线路之间连接120Ω带共模滤波电容的分离式端接。可切换端接允许在改变CAN总线时,对端接位置进行软件配置。使用可切换端接,只需修改软件,每个板即可用于信号路径上的任何节点。

此外,可通过软件在运行时对电路进行配置,从而进入较低功耗待机模式。在该状态下,只有从远程节点接收到ISO11898-2:2016定义的远程唤醒序列后,隔离式CAN FD收发器才会做出响应。

图 1. EVAL-ADM3055E-ARDZ 的简化原理图

电路描述

CAN FD 协议

CAN是一种强大的通信网络,无需在单个微控制器之间进行点对点布线。每个节点都连接在一根双绞线上,而不是连接必须相互共享信息的每个点(或CAN术语中的节点)。这种配置降低了布线成本和复杂性。与很多其他协议不同,CAN是多主机协议,节点的物理位置并不能决定哪个节点在CAN总线上优先。在SPI、I2C或RS-485中,由一个节点负责控制和服务网络,而在CAN总线上则不存在这种主从关系。相反,由消息ID或消息编程重要性决定了控制总线的节点的优先级。单个节点可发送消息或各种优先级。 AN-1123应用笔记 《控制器局域网(CAN)实施指南》提供了有关这方面的更多详细信息。

兼容CAN FD的控制器向后兼容传统CAN,并可接纳传统CAN框架。在同一网络上,可以让一组节点与传统CAN通信,而其他节点与CAN FD通信。不过,在添加CAN FD节点时,必须考虑现有CAN控制器的陈旧年份。原有的传统CAN控制器可能会将CAN FD帧的仲裁阶段识别为错误,并产生一个覆盖CAN FD帧的错误帧。这样的控制器会导致CAN FD通信无法进行。这些控制器需要更换,或限制未来节点使用传统CAN。该电路中的控制器MCP2518FD可在传统CAN或CAN FD模式下运行。在传统CAN模式下工作时,它可以接纳CAN FD帧。


快速环路延迟和高速数据速率

CAN的一个显著特点是每个CAN帧开始时都有仲裁阶段。节点之间相互仲裁,通过各自传输一串显性和隐性位元,来确定消息传输优先级。每个位元在整个网络中传输都需要一定的时间,每个参与仲裁的节点都必须有足够的时间做出响应。这意味着在仲裁阶段,最大数据传输速率受限于网络上任意两个CAN控制器之间最长的总信号传输时间。

如图2所示,信号路径从节点A CAN控制器开始传输时开始。信号首先通过节点A发送器,然后在电缆上传输,再通过最远节点的接收器,最后到达最远的CAN控制器。在仲裁阶段,接收节点可能也在发送信号,因此还必须考虑从节点B到节点A的信号传输延迟。这种传输延迟的最坏情况决定仲裁阶段的绝对最大数据传输速率。

图 2. CAN 总线的总传输延迟

 

总线线路的传输延迟随电缆长度和结构而增加。电缆长度通常由节点所在的物理位置决定,因此这部分信号传输延迟基本上是固定的。通过收发器接收和发送电路的传输延迟称为环路延迟。 ADM3055E 的最大环路延迟仅为150 ns,处于行业先进水平,这使得网络设计人员可以减少用于收发器的比特时间。这些节省的时间可转化为更高的仲裁数据速率、更长的总线电缆或更长的总线信号建立时间,从而在任何仲裁数据速率下提高通信稳健性。有关总传输延迟和优化CAN网络的更多详情,请参阅《模拟对话》文章《配置控制器局域网络(CAN)位时序,优化系统性能》

相比之下,CAN FD帧数据阶段的最大数据速率并不是由传输延迟决定的,而是由网络信号质量决定的。阻抗失配和电缆分支造成的反射是限制多节点网络数据传输速率的因素之一。随着CAN FD多节点网络投入使用,大多数通常都会保守地选择2 Mbps的数据传输速率。ADM3055E信号和电源隔离收发器的数据传输速率可高达12 Mbps,支持点对点连接的快速数据传输,并使多节点网络适应未来更快的数据传输速率要求。


待机模式和远程唤醒

CAN FD控制器和隔离型CAN FD收发器可通过SPI总线由开发平台发出的命令,设置为待机模式。CAN FD控制器会将自身和隔离型CAN FD收发器设置为待机模式。在待机模式下,收发器的发送功能会禁用,其输出将设置为高阻抗状态。

收发器只能由本地CAN FD控制器退出待机模式,但收发器会响应其他节点发出的远程唤醒呼叫。ISO11898-2:2016和ADM3055E数据手册中定义了远程唤醒模式。该模式可以在无数据帧的仲裁字段中发送,也可以在数据字段中发送。它必须满足收发器的时序要求。当接收到远程唤醒模式时,ADM3055E收发器的RXD引脚会切换,以响应CAN FD总线上的低速数据。

RXD引脚上的状态变化用于触发CAN FD控制器的中断。当ADM3055E接收到远程唤醒模式时,它不会退出待机模式。然后,由开发设置决定是否响应或切换收发器的待机引脚,以停止接收低速数据并返回待机模式,直到再次接收到远程唤醒模式。在待机模式下,收发器的隔离辅助通道会锁定在最后一个状态,其集成的isoPower®隔离直流-直流转换器继续工作,为总线侧电路供电。


隔离

恶劣的环境、长时间的物理分隔,以及节点之间不同的电源都会导致局部接地电位不同,并且是经常如此。不同的局部接地电位会导致电流流经地线,从而引起共模偏移和噪声。隔离物理总线线路可断开接地环路,并消除这些问题。ADM3055E可断开接地环路,并已通过CAN FD节点和CAN总线线路之间5 kV rms信号和电源隔离的系统级安全认证。


可切换端接

为获得良好的信号完整性,应在CAN总线两端实施端接。可切换端接允许软件配置端接的位置。软件控制对于由于增加或删除节点而导致对CAN总线进行即时网络重新配置时,非常有用。

为尽可能提高网络可靠性,端接电路不得限制共模范围。端接电路还必须不受信号共模范围的影响,或者更具体地说,端接电路必须在设置为"关"时保持关闭,设置为"开"时保持开启。为了满足所需的电路特性, EVAL-ADM3055E-ARDZ 评估板上的端接电路使用非常紧凑的光隔离SPST固态继电器(SSR),随传输节点浮动。

通过 ADM3055E 的辅助隔离通道控制继电器,意味着继电器不会桥接隔离间隙。由于继电器不会桥接隔离间隙,因此无需提供安全隔离功能,并可选择尽可能小的封装,以节省印刷电路板(PCB)面积。

120Ω端接电阻可通过单个电阻实现。不过,将单个电阻分成两个串联的60 Ω电阻可为暴露在CAN总线上的两个继电器引脚提供低成本的静电放电(ESD)保护。利用第二个SSR实现可切换端接电路,还可增加一个滤波电容。增加的这个电容与分路端接电阻一起提供低通滤波器,以减少CAN总线上的共模噪声。

图 3. 可切换 120 Ω 端接电阻,使用通过辅助通道进行控制的 PhotoMOS 继电器

 

静音模式和斜率控制模式

CN-0401电路还支持通过软件可配置试错,并配合收发器的静音模式来发现总线波特率。静音模式会禁用收发器的发送通道,允许CAN控制器在尝试与总线数据速率同步时产生错误帧,但不会因这些错误帧而中断总线通信。

通过CN-0401电路可以访问ADM3055E斜坡控制模式。对于低速信令,斜率控制可降低CANH和CANL从隐性到显性变迁的摆率。降低摆率可有效减少快速边沿引起的振铃和电磁干扰(EMI)。请勿将斜率控制模式用于高速信令。


CAN FD 控制器

EVAL-ADM3055E-ARDZ使用MCP2518FD外部CAN FD控制器。该控制器和ADM3055E收发器兼容传统CAN、CAN2.0B和CAN FD。加入CAN或CAN 2.0B需要更改软件。

独立式CAN控制器和ADM3055E为系统设计人员提供了一个便利的选项,只需连接到通用的SPI端口,即可在现有设计中添加一个或多个隔离CAN端口。MCP2518FD支持的最大CAN FD数据速率为8 Mbps。参见MCP2518FD数据手册获取更多信息。

常见变化

EVAL-ADM3055E-ARDZ使用ADM3055E收发器。这种增强型信号和电源隔离收发器的额定过电压为1分钟5kv rms。封装的最小爬电距离为8.3毫米,符合强化安全标准。对于需要较低隔离能力和优先考虑电路板布局空间的应用,可以使用ADM3057E。对于具有总线侧电源的应用,ADM3056E是一种增强型信号隔离解决方案。

电路评估与测试

本节概述了使用 EVAL-ADICUP3029 对EVAL-ADM3055E-ARDZ进行简单评估的程序。有关硬件和软件设置的更多信息,请访问EVAL-ADM3055E-ARDZ用户指南(CN0401(EVAL-ADM3055E-ARDZ)扩展板概述)。


设备要求

  • 带USB端口和Windows® 7(32位)或更高版本的PC
  • 串行终端(例如PuTTY或Tera Term)
  • 两个EVAL-ADM3055E-ARDZ电路评估板
  • 两个EVAL-ADICUP3029开发板
  • CrossCore® Embedded Studio 或预构建的.hex文件


开始使用

  1. 在 CrossCore Embedded Studio 中打开 CN0401 项目。
  2. 检查所有用户定义设置是否正确,详见 EVAL￾ADM3055E-ARDZ 用户指南。
  3. 构建项目并将项目上传到 ADICUP3029 板(也可将预构建的 hex 文件复制(拖放)到 ADICUP3029 板的大容量存储设备中)。


功能框图

图4所示为测试设置的功能框图。PCB系留节点软件设置一个命令行界面(CLI),该界面通过PC中运行的串行终端发出指令。通过串行终端,用户可以命令其他节点并发送远程唤醒消息。

图 4. EVAL-ADM3055E-ARDZ 功能测试框图

 

测试设置

如图5所示,使用Arduino兼容接头将EVAL-ADM3055E￾ARDZ安装在EVAL-ADICUP3029上,即可设置CAN节点。

图 5. 使用 EVAL-ADM3055E-ARDZ 和 EVAL-ADICUP3029 设置 CAN 节点

 

通信和远程唤醒测试

在两个不同的CAN节点上构建并加载示例软件后,两块板(连接后)通过CAN FD连接相互通信。图6所示为双节点CAN连接。

图 6. 双节点 CAN 连接测试设置

 

默认仲裁和数据传输速度分别为500 kbps和2 Mbps。电路板通过USB电缆连接到PC,每个节点都有自己的在串行终端上运行的CLI。这种配置在设备之间建立双向CAN FD通信,并且该对设备成为CAN总线上的两个独立节点。

起初,所有设备都处于休眠模式,但可以通过CLI命令唤醒,并在CAN总线上发送ASCII消息。消息传输的超时时间为5秒,并且会重复发送,直到另一个节点确认为止。此消息(尤其是较慢的仲裁阶段)会唤醒另一个节点,后者会确认消息并在该节点的串行终端接口上显示该消息。然后,两个节点重新进入休眠状态。

当连接到PC时,可以命令每个CAN节点执行通信环回测试。CAN控制器将置于外部环回模式,其中发送线路在内部连接到接收线路。CAN发送自定义消息,并检查是否收到相同的消息。如果接收到环回消息,则在CLI上以ASCII字符形式显示消息,ADICUP3029上的LED会闪烁。图7所示为串行终端接收到的消息截图。

图 7. 串行终端中显示的消息截图