因为RS-485/RS-422在发送数据完成后,要求一切的发送使能操控信号封闭且坚持接纳使能有用,此刻,总线驱动器进入高阻状况且接纳器可以监测总线上是否有新的通讯数据。可是因为此刻总线处于无源驱动状况(若总线有终端匹配电阻时,A和B线的差分电平为0,接纳器的输出不确定,且对AB线上的差分信号的改变很灵敏;若无终端匹配,则总线处于高阻态,接纳器的输出不确定),简单遭到外界的噪声搅扰。当噪声电压超越输入信号门限时(典型值±200mV),接纳器将输出数据,导致对应的UART接纳无效的数据,使紧接着的正常通讯犯错;别的一种状况可能发生在翻开/封闭发送使能操控的瞬间,使接纳器输出信号,也会导致UART过错地接纳。
解决办法:
1)在通讯总线上选用同相输入端上拉(A线)、反相输入端下拉(B线)的办法对总线进行钳位,确保接纳器输出为固定的“1”电平;
2)选用内置防毛病形式的MAX308x系列的接口产品替换该接口电路;
3)经过软件方法消除,即在通讯数据包内添加2-5个开端同步字节,只要在满意同步头后才开端真实的数据通讯。