2.6 CAN接口 CAN总线是广播类型的总线。这意味着所有节点都可以侦听到所有传输的报文。无法将报文单独发送给指定节点;所有节点都将始终捕获所有报文。但是,CAN硬件能够提供本地过滤功能,让每个节点对报文有选择性地做出响应。 总线使用不归零位填充。模块以线与逻辑连接到总线:如果只有一个节点向总线传输逻辑0,那么不管有多少个节点向总线传输逻辑1,整个总线都处于逻辑0状态。 CAN总线上的电平: CAN2.0A/B标准规定:总线空闲时,CAN_H和CAN_L上的电压为2.5V; 在数据传输时,显性电平(逻辑 0):CAN_H 3.5V CAN_L 1.5V; 隐性电平(逻辑 1):CAN_H 2.5V CAN_L 2.5V; CAN标准定义四种不同的报文类型(数据帧、远程帧、错误帧、过载帧)。报文使用逐位仲裁智能方案来控制对总线的访问,每条报文都带有优先级标记,在协议中规定ID小则优先级高。CAN总线拓扑图如下图: 图2.13 CAN总线拓扑图 2.6.1 CAN接口介绍 主板上提供了1路CAN接口,扩展板上有1路CAN接口,由3.81mm间距绿端子引出。 目前ELF 1上默认焊接TJA1040T。CAN模块原理图如下图所示,由于TJA1040T的输出端RX为5V电平,可能会影响核心板的3.3V电压,因此,芯片输出端分别经过电阻R51和R54分压到3.3V,再输入CPU的CAN1_RX。 此部分电路除了电平的匹配外还要注意到R46和R47两个电阻这两个电阻为CAN总线的终端电阻这两个电阻在CAN总线通讯时起着至关重要的作用,首先阻抗匹配实现保证信号在总线上的最大传输功率提高抗干扰能力,其次是确保总线可以快速进入隐性状态,给结电容的快速放电,如果在多个设备挂载的情况下,两端设备不接终端电阻CAN总线会有不能通讯的风险。 图2.14 CAN模块 图2.15 TJA1040T芯片功能框图 图2.16 TJA1040T芯片引脚说明
2.6.2 CAN接口设计指南 (1)ELF 1核心板最多可支持2路CAN; (2)设计CAN接口时要注意收发器和核心板之间的电平匹配; (3)终端电阻可以预留插针通过跳线帽选择使用; 2.6.3 CAN接口PCB设计指南 (1)CAN使用差分布线,预留120Ω端接电阻; (2)连接端口建议预留地信号;
|