问题已经解决,谢谢各位的指导。
原因是测量方法的问题,我把示波器的地探头接到B线,另一个探头接到A线,当485传输1信号时,A>B,测到的电压+5V左右,当485传输0信号时,A<B,测到电压-5V左右,因为波形以B线电压为0V,所以测到一个幅值10V左右的方波。实际上传输的电压,在100个负载的情况下,是4.5V左右,普通1.5平方无屏蔽双绞线,也即花线,铜包铝,总线长度50米,不接终端电阻。
USB转485发出的信号在总线末端测得是3.5V至-0.45V,幅值只有1半,原因是这个转换器使用了硬件方式来进行发送和接收状态的转换,只有发送1时使能485的发送,发送0时是接收状态,靠两个2.2k电阻分别接到VCC和GND来把AB线设置为0状态,因为总线阻抗是450欧,所以这个匹配结果在发送0时,在总线上只产生了0.45V的压差,仅比485的+/-200mV阀值高一点点,不过可以正常通信了。如果加上120欧终端电阻,总线阻抗变成95欧,发送0时就只有100mV左右,处于485的+/-200mV阀值以内,状态不稳定,使发送不可靠 |