将异常品置于65℃的烤箱中,并对以下信号进行测试:MCU供电、TXD、CAN差分、CAN模块供电。未出现异常时,各点波形如图4。可以看到,MCU是3.3V供电,电压稳定在3.2V左右,CAN模块供电稳定在5.07V左右,CAN差分波形与TXD信号对应无异常。
图4 正常时波形
对异常板卡进行重复上电,CAN总线出现大量错误帧,问题复现。异常时,各点波形如图5,MCU供电电压、CAN模块供电电压同时出现波动,并出现异常位。异常位出现时,MCU供电下降到3.08V,CAN模块供电上升至5.19V。
图5 异常时波形
仔细观察异常位波形,如图6,发现TXD变为高电平时,CAN差分电平并未跟随变化,而当TXD再次出现一个小的噪声尖峰时,CAN差分电平才变为隐性电平。结合此时MCU供电电压下降,CAN模块供电反而上升的情况,初步确定问题是因供电电压波动,造成TXD高电平无法识别导致。
图6 异常位波形
2、问题定位
因怀疑TXD电平无法识别,对CAN模块的TXD高电平阀值电压值进行测试。不同输入电压下,测试数据如表3。
表3 异常品TXD高电平阀值电压
从测试数据看出,在不同的环境温度下,TXD高电平阀值电压变化均不大。4.75V供电时,阀值约2.91V;5V供电时,阀值约3.06V;5.25V供电时,阀值约3.2V。