电路笔记(元器件):CAN总线 收发器 SN65HVD233 具有待机模式和环回功能的 3.3V CAN 收发器

  • SN65HVD233 是一款由 Texas Instruments (TI) 生产的 3.3V CAN(Controller Area Network)收发器,SN65HVD233 的核心功能是将来自微控制器或其它数字系统(通常为逻辑电平信号)的数据转换为适合在CAN总线上传输的差分信号(CANH 和 CANL),并在接收时执行相反的过程。其特有的待机模式和环回功能,增强了系统的能效管理和调试便利性。

Overview of 3.3V CAN (Controller Area Network) Transceivers

  • 3.3V CAN(控制器局域网)收发器在与5V CAN收发器兼容和互操作的同时,提供了更多的优势和灵活性。
THEORY OF OPERATION
  • ISO 11898 规范详细规定了 CAN 总线通信的物理层要求。CAN 是一种基于双绞线( twisted pair cable)电缆的底层通信协议,类似于 RS-485。

  • Figure 1. Typical CAN Network
    在这里插入图片描述

  • CAN 的一个重要特性是,在传输逻辑“高电平”(称为“隐性”状态)时,总线不会被主动驱动。在此期间,两条总线线路的电压通常保持一致,约为 VCC/2。只有在传输“显性”状态(即逻辑“低电平”)时,总线才会被驱动。在显性状态下,总线线路被驱动使得 (CANH – CANL) ≥ 1.5V。这种机制使得当一个节点发送“高”电平时,它可以检测是否有其他节点同时试图发送“低”电平。这一特性用于非破坏性仲裁:每个节点在发送消息时都以一个地址(优先级码)开头,用以决定哪个节点可以获得总线使用权。具有最低二进制地址的节点赢得仲裁,并继续发送其消息,而其他节点会自动停止发送,无需像其他协议那样进行退避和重传。

  • CAN接收器通过测量总线上的差分电压来判断总线电平。由于3.3V收发器产生的差分电压(≥1.5V)与5V收发器相同,因此总线上所有的收发器(无论其供电电压是多少)都能够正确解析消息。事实上,其他收发器甚至无法察觉出差分电压电平有任何不同。

  • Figure 2. Typical CAN Bus Levels for 5V and 3.3V Transceivers
    在这里插入图片描述

  • 图2(上图)显示了5V收发器和3.3V收发器的总线电压情况。在5V CAN中,隐性状态下CANH和CANL被弱上拉至约2.5V(即VCC/2)。而对于3.3V CAN来说,其隐性状态的共模电压(common-mode voltage,均值电压)略高于VCC/2,通常约为2.3V。这样设计的目的是为了更好地匹配5V CAN收发器的共模电压点,并尽量减少3.3V与5V收发器之间在总线上的共模电压变化。由于CAN被定义为一种具有宽共模范围的差分总线,能够适应地电位偏移(节点之间的直流偏移),因此这种匹配并不是运行所必需的,但它可以减少混合网络中的电磁辐射(EMI)。此外,通过使用**分裂端接(split termination)**来滤除网络的共模信号,可以进一步显著降低电磁辐射。根据ISO 11898-2标准,收发器必须能够在-2V至+7V的共模电压范围内正常工作,因此3.3V和5V收发器之间典型的0.2V共模偏移并不会造成任何问题。

MEASUREMENTS DEMONSTRATING OPERATION
  • Figure 3. Waveforms of Two 5V SN65HVD255 Transceivers
    在这里插入图片描述

  • 图3(上图)显示了两个5V收发器在同一总线上的通信情况。此图有助于直观理解CAN总线上的信号传输过程,以及收发器如何通过差分电压来识别数据内容。
    XCVR 1和XCVR 2 : 均为德州仪器(Texas Instruments)的 SN65HVD255 CAN收发器。

  • CANH(黄色)和 CANL(浅蓝色): 两个信号是总线线路(bus lines) ,位于图中最上面

  • 下方的红色波形: 根据CANH与CANL之间的电压差计算出的差分电压(即 CANH - CANL)。这个差分电压用于表示总线上的逻辑电平:当差分电压 ≥ 1.5V 时为显性位(逻辑“0”),而当差分电压接近0V时为隐性位(逻辑“1”)。

  • TXD1 和 TXD2 :每个收发器驱动到总线上的发送信号。

  • RXD1 和 RXD2 :每个收发器从总线上读取的接收信号。

为了演示CAN总线的工作原理,图3(上图)使用了一个简化的位模式:

  • 位时间1:一个收发器发送显性位(dominant),而另一个保持隐性(recessive)。
  • 位时间2:两个收发器都处于隐性状态。
  • 位时间3:两个收发器同时发送显性位,展示了在仲裁过程中会发生的情况。

如图所示,当两个收发器同时处于显性状态时,差分电压略微更大。这是因为两个收发器的输出晶体管并联在一起,导致电压降更小,从而产生了更高的差分电压输出。这种特性有助于确保在多个节点同时发送显性位时,总线信号更加稳定和可靠。

  • 图4(下图)显示了相同的测试设置,但使用的是两个 3.3V 收发器(TI SN65HVD234)。在显性位期间,总线之间的差分电压低于之前测试的5V器件,但仍然满足 ISO 11898-2 标准 的要求。

此外,5V 器件和 3.3V 器件所保证的最小差分总线电压是相同的(1.5V)。这意味着设计者在选择器件时,并不需要为了更高的差分驱动能力而特意选用5V器件,因为并不能保证其差分输出电压一定会更高。

  • Figure 4. Waveforms of Two 3.3V SN65HVD234 Transceivers
    在这里插入图片描述

  • Figure 5. Waveform of Two SN65HVD255 Transceivers, One with a +1V Ground Shift
    在这里插入图片描述

  • 图5(上图)展示了CAN在存在共模电压差异时仍具有很强的鲁棒性。 其中红色的“M”信号显示的是共模电压,而不是之前波形图中的差分电压。

  • 当存在地电位偏移(ground shift)的收发器之间发生仲裁时,总线信号(CANH和CANL)看起来会变得非常杂乱、失真。然而,从RXD1信号可以看出,收发器并没有出现任何问题,因为差分信号仍然良好,收发器能够正确检测到总线上的信号并进行解码。 这表明,即使在严重的地电位偏移情况下,CAN总线依然能够可靠地进行通信。

  • Figure 6. Waveform of Two 5V SN65HVD255 Transceivers with Split Termination, One with a +1V Ground Shift
    在这里插入图片描述

图6(上图)显示了与前一张图相同的测试情况,但现在使用的是分裂端接(split termination),而不是传统的单一端接方式。

如图所示,分裂端接有助于滤除高频噪声,这种噪声在节点之间存在地电位差时可能会出现。 图6的测试设置中使用了一个 4.7nF 的电容(CL),这是典型的推荐值。通过使用分裂端接,可以有效改善共模干扰问题,提高CAN总线在复杂电磁环境下的通信稳定性。

  • Figure 7. Single Termination (left) and Split Termination (right)
    在这里插入图片描述

  • 对比展示了两种用于CAN总线的终端配置方式:

🔹 单端端接(Single Termination,左侧)

  • 这是传统的终端方式。
  • 在总线的两端各使用一个 120Ω 的电阻 进行终端匹配,以吸收信号反射、提高信号完整性。
  • 优点是结构简单,广泛用于标准的高速CAN网络。
  • 缺点是在存在地电位差(ground shift)或电磁干扰较强的环境中,共模噪声可能更容易影响通信质量。

🔸 分裂端接(Split Termination 或 Center-Split Termination,右侧)

  • 在两个120Ω电阻之间加入一个接地电容(CL,通常为4.7nF),将终端电阻“分裂”成两部分。

  • 这种结构有助于:

    • 滤除高频共模噪声;
    • 减少由于节点间地电位差异引起的电磁辐射(EMI);
    • 提高在复杂工业环境中的通信稳定性。
  • 常用于对电磁兼容性(EMC)要求较高的场合。

  • Figure 8. Waveform of a 5V SN65HVD255 and a 3.3V SN65HVD234
    在这里插入图片描述

  • 图8(上图)展示了在一个混合网络中,一个3.3V收发器和一个5V收发器之间的通信情况。如同之前的情况,数字信号TXD1TXD2RXD1RXD2表明这两个收发器能够准确地相互通信,并且在通信过程中共模电压偏移非常小,相比之下,在具有1V地电位偏移的纯5V网络中,共模电压偏移更为显著。这说明即使在混合电压的网络中(即包含不同供电电压的收发器),CAN总线依然可以保持良好的通信质量,且由于共模电压偏移较小,减少了潜在的干扰问题。这种特性体现了CAN总线在不同电压设备间兼容性和稳定性方面的优势。

  • Figure 9. Bus Communication of a 5V SN65HVD1050 and a 3.3V SN65HVD230在这里插入图片描述

  • 图9的具体展示有助于理解如何在实际应用中构建一个稳定可靠的混合电压CAN网络,这对于需要集成不同供电电压设备的应用场景尤为重要。

CG

Expand block properties The Expand block has the following properties: Property Description Mode The mode to be used when splitting the value. The available modes are: Single - A single row is split into multiple rows. KeyValue - A key value pair is split into multiple columns Operator - A row with multiple operator pairs is split into multiple rows Delimiter - A row with multiple delimiter strings is split into multiple rows Separator Specifies the separator used in the data based on which the split operation is performed. A separator can also be a string value. This is not used in Delimiter mode. Delimiters Specifies a list of delimiters used in the data based on which the split operation is performed. This is only available in the Delimiter mode. Columns available The block's input columns, available for you to use in the block's other properties. Column to Expand The column that you want to split. Note You cannot have a temporal column in the Column to Expand field. Key Values Pairs When using Single mode, represents the new column name for the rows available in the column to be split. When using KeyValue mode, represents the key value pairs available in the column to be split; there must be one key value for each available key value specified in the row. Add Enables to add a column name for the rows available in the column to be split (Single mode) or a key value pairing for the available data name (KeyValue mode) and type. Edit Enables to edit the new column name (Single mode) or custom key value pair (KeyValue mode). Output columns The output columns selected from the Columns available list to be passed to the next block. Note When you want to expand a column using an Expand block and store the expanded values into the same column name, do not specify that column name in the Output Columns list. This is because; you cannot have the same column name in both Output Columns and Key Values Pairs. Notes The Expand block removes leading and trailing spaces from all types except STRINGS. If you specify a separator in the Separator field and use the Operator mode, the row is first split into multiple rows based on the separator and then split into multiple columns based on the operator. This only applies to operators; delimiters are a list of separators. -------------------------------------------------------------------------------- Related Topics Expand block overview Example: Splitting a single row Example: Splitting key value pairs Send Topic Feedback | Applied Materials Confidential
最新发布
11-19
由于参考引用中未提及“Expand block”的相关内容,下面结合一般的编程概念对“Expand block”可能的含义、属性及使用进行推测性解释。 ### 含义 在不同的编程场景中,“Expand block”可能有不同的含义。例如在数据处理中,它可能表示对一个数据块进行扩展操作,类似于 Reactor 中的 `expand` 方法对数据流进行递归操作产生新元素并加入数据流 [^1]。在图形界面或布局管理中,“Expand block”可能表示展开一个特定的区域或模块。 ### 属性及使用方式 #### 数据处理场景 假设“Expand block”是对数据块进行扩展的操作,可能有以下属性: - **扩展规则**:定义如何对数据块进行扩展。比如在 Reactor 的 `expand` 方法中,通过传入一个函数来指定每个元素如何产生新元素 [^1]。示例代码如下: ```java import reactor.core.publisher.Flux; public class ExpandBlockExample { public static void main(String[] args) { Flux<Integer> source = Flux.just(1, 2, 3); // 定义扩展规则,每个元素产生两个新元素 source.expand(value -> Flux.just(value * 2, value * 3)) .take(22) // 限制产生的元素数量 .subscribe(System.out::println); } } ``` - **扩展深度**:指定扩展操作的递归深度。在某些情况下,可能不希望无限扩展,需要限制扩展的层数。 #### 图形界面场景 如果是图形界面中的展开操作,可能有以下属性: - **展开状态**:表示该块当前是展开还是折叠状态。可以通过代码来切换这个状态,例如: ```python # 假设这是一个简单的图形界面元素类 class ExpandBlock: def __init__(self): self.expanded = False def toggle_expand(self): self.expanded = not self.expanded if self.expanded: print("Block is expanded.") else: print("Block is collapsed.") block = ExpandBlock() block.toggle_expand() ``` - **展开动画**:可以设置展开时的动画效果,如淡入淡出、滑动等,提升用户体验。 ### 相关注意事项 - 在数据处理中,要注意扩展操作可能会导致数据量急剧增加,需要合理设置扩展规则限制条件,避免内存溢出等问题 [^1]。 - 在图形界面中,展开操作可能会影响布局,需要确保布局的正确性稳定性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值