在测试ADM3053(作为当前实现CAN接口的替代方案)的过程中,我遇到了严重的问题。AD现场应用工程师也无法帮助我解决此问题。
在测试中,我们发现ADM3053偶尔出现问题。症状是ADM3053没有通过ACK正确确认CAN消息。ADM3053后的CAN控制器尝试发送主动电平,但ADM3053在CAN总线上保持被动。因此产生了主动错误帧,发射器重复CAN消息。进行第二次测试时,ACK的主导电平由ADM3053正确解读,并通过CAN总线发送。
换言之: ADM3053未将其输入端的逻辑电平在其输出端反映为正确的差分信号! 此行为的发生情况各不相同,从每小时错一次,到每几秒种错一次。
糟糕的是,此种行为出现在两种独立开发的硬件设计上。此外,我们注意到ADM3053评估板上也出现了相同的行为。我们已经测试了几批这种芯片。所有芯片都显示了同一问题。
工作条件:
CAN波特率 = 1 Mbps
Vcc = 5V
Vio = 3.3V
Rs = 0 Ω
TX输入由CAN控制器的推挽输出馈入。因此提供了干净的逻辑低电平和高电平。
电源电压是稳定的,不会在出现故障时骤降。我们触发了示波器对主动错误帧条件的检测,因为“丢失的”ACK将导致出现此错误帧。我们无法通过ADM3053触发数据流中的丢失位,但根据我的观点,如果ACK位丢失,所有其他位也可能丢失。丢失意味着逻辑低电平(必须是CAN总线上的主动电平)将导致CAN总线上的被动电平。 由于内置电流隔离和电压电源,我们希望在设计中使用ADM3053。由于我们在工业自动化领域工作,出于安全原因,我们无法容忍此类错误。