当CAN总线上的某个节点Bus off以后,为了确保网络的稳定性和数据的完整性,11898规范明确规定:该节点需要等待128次连续11个隐性位后才允许重新参与总线通信。这种设计背后的原因有以下几点:
1. **故障检测**:11个连续的隐性位可以帮助节点明确地识别出总线已经空闲,因为在一个正常的CAN帧中,应该不会出现这样长时间的连续隐性位。
2. **防止错误传播**:通过等待这样一个特定的时间段,可以确保节点之前产生的任何错误都已经得到了处理和清除,从而防止新的错误在这个时间段内被传播。
3. **确保网络稳定**:这种等待机制可以确保所有节点在尝试重新加入总线时都遵循相同的规则,从而避免多个节点同时尝试访问总线导致的混乱。
4. **时间计算**:使用500Kbps的经典CAN帧,每个位的时间是2µs。因此,故障节点重新参与通信的最快时间是128 * 11 * 2 = 2816µs = 2.816ms。这意味着节点在这段时间内不会发送任何数据,从而确保了总线的稳定性。
总的来说,这种等待机制是为了确保CAN总线的高效、稳定和可靠的运行。