图4 旋转编码器的输出脉冲显示,该信号并不是一致的方波,表示某些脉冲的脉宽不正确。由于波形存在交叠,所以不能确定脉冲的精确持续时间。利用数字余辉模式在更长的时间窗口内捕获异常信号

图5 通过选择脉宽,使示波表在宽于正常的编码脉冲的脉冲上产生触发,从信号中可以看出,偶尔会丢失一个编码“时隙”,从而造成了定位信息不正确

串行数据传输误差

微控制器和其外设之间的串行数据的传输误差有时候是由于器件损坏、微控制器产生的数据错误造成的,或者是由于串行数据总线本身的误差造成的,所以很难杜绝。由总线传输的数据流实际上包括一个数字指令序列和与这些指令相关的外围设备的地址。指令或地址的错误,例如不正确的逻辑电平或脉冲长度,都会造成外围设备响应不正确或根本就没有响应。

利用示波表的‘等于’时间限定条件,也就是t=xxx s PWT时间限定条件,以及微处理器和外设之间的时序和通信协议的相关信息(从公布的技术指标获得),即可将示波表设置为在数据流的前导沿上产生触发(如图6所示)。

图6 利用190C示波表上的脉宽触发功能,分析RS-232通信链路上的信号质量。将示波表设置为在如前所述的数据字之前的信号间隔上产生触发。利用光标,可以方便的确定波特率:传输8位的数据花费了203ms的时间,即25.4ms/b。所以波特率为39.4Kb/s