This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
因为近期SN65HVD230 缺货,我们马上要出货的一批产品考虑使用SN65HVD231来代替:
看了数据手册,它们的区别在于 RS引脚:RS引脚> 0.75VCC时 SN65HVD231 就会进入休眠状态,而且必须给RS 拉低到GND才能唤醒。
我们的电路上 RS是通过 1个 51K的电阻下拉到 GND的,
那么,这种情况下 直接用 SN65HVD231 替换 SN65HVD230 会不会存在风险呢? 比如说极端情况下,有干扰高电平脉冲 导致RS引脚电平> 0.75VCC
从而导致 SN65HVD231 进入了休眠状态,,,然后 就一直 会导致 CAN无法使用呢?
是不是必须搞一个 S0805这样的三极管 把 SN65HVD231的 RS引脚 拉到 GND,然后用MCU来控制 S0805的开关。。。从而实现 唤醒 SN65HVD231呢?
另外一个问题,请问下 类似SN65HVD23x 这样3.3V供电的 CAN芯片,, 和 5V供电的 CAN芯片, CAN总线主要有哪些区别呢?它们一起挂到 CAN总线上
需要注意哪些地方呢?
您好,HVD230 也可以通过RS引脚配置为低功耗模式,230和231的区别在于,当RS> 0.75 VCC时,230进入的standby状态,231进入sleep状态。二者都属于低功耗状态,只是231消耗的电流更低,因为此时231的driver和receiver都处于关闭off 状态,而231 的standby状态下,driver 是休眠的,而receiver 仍处于active状态,所以230的standby状态功耗要比231的sleep状态功耗大。 这是二者的主要区别。
那么说,RS引脚通过 51K电阻下拉到GND的话。 是否存在 由于 高频脉冲 导致 HVD23X处于 低功耗模式呢?
对于 HVD230,在低功耗模式下,由于receiver仍然处于 active状态,那么只有CAN总线有 数据传输,那么就可以 激活 HVD230, 我这样理解对吗?
同样条件,对于HVD231,在低功耗模式下 由于receiver 也 休眠了, 那么 是不是相当于 除非断电重启, 否则 HVD231会一直处于 休眠状态,,是这样吗?
或者换句话说,,在HVD230的 RS引脚 是51K电阻下拉到GND的情况下,,直接用 HVD231 代替,会不会存在风险呢?
您好,低功耗模式下,HVD230的receiver虽然处于active状态,但此时230仍处于被动状态,或者称为listen only mode。
如果需要唤醒,要么将Rs拉低,要么就是总线上电压处于显性状态(>900mv典型值)。datasheet中有对230 唤醒的描述:
The µP can reverse this low-power standby mode when the rising edge of a dominant state (bus differential voltage > 900 mV typical) occurs on the bus. The µP, sensing bus activity, reactivates the driver circuit by placing a logic low (< 1.2 V) on RS (pin 8)。
对于HVD231来说,如果处于sleep状态的话,只能通过将RS拉低来唤醒。
这是二者的主要区别。至于您这里提到的风险,考虑到CAN总线应用环境比较恶劣,HVD23x系列的器件内部都集成了保护电路,比如热保护,receiver端的开路失效保护,总线失效保护电路等。这些失效保护电路能保证receiver端即使输入开路的条件下,输出也能保证有效的逻辑高状态。 对于Rs都接地的情况下,231 的driver和recevier都处于off状态,此时总线处于高阻抗,而D和R为逻辑高状态,并没有对总线造成影响。
十分感谢您的及时回复。。。
我们的应用场景是这样的, 我们的驱动板(作为CAN总线节点,之前一直使用HVD230) 一般30多个挂到 客户那边设备的 CAN总线上。。
我们对HVD230的配置,是把RS引脚通过 1个 51K的电阻下拉到GND。只是一直这么做的, 在现场使用中没有出现过问题。
那么,现在需要用 HVD231来代替 HVD230。。
您上面回复的关于 HVD230 和HVD231的区别,我们看过 DATASHEET的,是明确的:它们在 陷入 低功耗后,唤醒的方式不同。
因为,在我们实际环境中,,CAN总线上一直会有数据在 传输。。
那么在我们之前使用 HVD230的时候,假设存在一个 “高脉冲”导致HVD230进入了休眠状态,,那么 CAN总线上传输的数据,就可以实现 对 HVD230的唤醒,所以这个 CAN节点 是可以被自动唤醒 并 继续正常收发数据的,
我这样理解是对的吗?
然后,说到用 HVD231替换,, 同样的情况 HVD231 也陷入了“休眠状态”, 那么 在同样的电路 条件下 如何被唤醒呢? 是不是 我们得修改电路,,专门针对 HVD231的RS引脚 加一个 S8050这样的 三极管,用于 当 HVD231 偶然 情况下 陷入“休眠状态”的时候 对它进行唤醒呢?
还是,不存在以上这种情况,,,
直接 用HVD231 替换 HVD230就OK了呢?
我们的CAN设备 作为节点,一般是30个多 一起挂到 CAN总线上的,总线上始终都会有 数据在通信。。
所以,假设 其中某一个CAN节点的 HVD230 由于干扰,陷入了 “休眠” 也是可以 被CAN总线上 的通信给激活的。。。
那么 对于 HVD231,陷入“休眠”后, 手册上写的就是 必须给 RS引脚 拉低一下 才可以 激活。。
我的问题的核心是: HVD23X芯片,在RS引脚用51K电阻下拉到GND这种配置, 是否会存在 通信过程中,会由于干扰导致 陷入“休眠”的这种情况发生呢?
还是说,HVD23X芯片的 “休眠”这种情况,只会出现在高速模式的配置下,必须是 RS引脚 被MCU控制, MCU主动拉高就使HVD23X休眠,然后需要收发数据的时候,再由MCU主动 拉低 来激活 HVD23X呢?
您好,是这样的,230的低功耗模式允许CAN控制器监控总线的活动,指示它应该返回收发器正常模式。主控制器在设备想要向总线发送数据或在待机模式下接收到指示需要再次准备发送数据时,就将器件返回到发送模式。而231 不是,设备无法向总线发送消息或从总线接收消息,完全处于睡眠模式,直到将RS拉低将231唤醒。所以总的来看,二者的休眠方式应用不同,如果在您的应用中,总线上始终有数据一直在通信,并且需要监测总线状态,随时需要总线发送数据的时候将其唤醒,那么我认为还是使用230. 如果应用需要发送接收同时处于休眠,不需要监测总线状态,就可以使用231. 至于您提到的干扰导致RS拉高,导致休眠状态的情况是否发生,这个要具体环境具体分析。