小知识:
关于 RS485 的逻辑状态, 不同厂家的芯片的定义可能不同, 但不影响正常的数据收发,这里以 TI 的为例做个说明, TI 的定义方式如下:
A 表示非反向输出 non-inverting output, B 表示反向输出 inverting output。
当 VA > VB 的时候表示逻辑状态 0,被称为 ON。
当 VA < VB 的时候表示逻辑状态 1, 被称为 OFF。
对应到实际芯片框图上就是下面这样(DE 发送使能, D 是发送数据端, RE 是接收使能, R 是接收数据端) :
当用户在 D(Driver)引脚输入逻辑高电平时,将在 485 总线上实现逻辑状态 0, 即 ON 状态。 接收端 R(Receiver) 将收到逻辑高电平。
当用户在 D(Driver)引脚输入逻辑低电平时,将在 485 总线上实现逻辑状态 1, 即 OFF 状态。 接收端 R(Receiver) 将收到逻辑低电平。
发送状态下, 大于|±1.5V |可以有效表示逻辑状态 1 和逻辑状态 0:
接收状态下,大于|±200mv|可以有效表示逻辑状态 1 和逻辑状态 0:
测试说明:
测试方式一:
下面我们通过开发板的485输出0xD3数值,然后TOOL的示波器采样,根据WiKi说明,正常波形效果应该是这样的:
https://en.wikipedia.org/wiki/RS-485
直接杜邦线接就行,TOOL的CH1接485-A,CH2接485-B,注意GND也要接上。
测试方式二:
当然,也可以使用TOOL自带的485接口输出测试:
配置:
动态效果: