这个应该算是对之前的RS485的最后一段总结了,之前一直没有搞懂的就是如果A-B之后处于-200mv~200mv会不会解析不正常?
因为按照485的协议标准,A-B信号大于+200mv为高电平,A-B信号差值小于-200mv为低电平。所以信号介于-200mv和+200mv之间时,接收器输出不定态(可能高也可能低),会导致数据错误。
那么之前分析的RS485的自收发电路,在并联匹配电阻后,基本没有高电平的驱动能力,照理来说是无法判断为高电平的,但是事实上芯片是可以正常通讯的,A-B波形如下,在并联120欧姆电阻后(因为并联了电阻分压,120欧姆电阻上分压值很小):
今天看ADI的介绍说这种能正常判断,是因为接收芯片内部集成了失效保护功能。可以把门限判断降到-50mV,即大于50mV为高电平,小于-200mV为低电平,这样就是可以实现短路和开路保护,而这个自收发电路也恰恰利用的就是这个功能。
这样虽然并联匹配电阻后无法正常输出高电平(大于200mV),但是只要接收端的RS485芯片内置了这个失效保护功能,那么就可以正常识别从机发送的信号。
ADM3485、SP485E、MAX3485、SN75276、MAX3080等等,这些芯片还是蛮不错的,带这个失效保护功能(有的也叫in open,AB总线短路保护和开路保护)。
不带失效保护的芯片:
例如SN75176、MAX1487等,这种不带失效保护,用起来要格外当心,比如接收端如果用的是这种芯片,那么要是上面那个示波器那个波形,那是肯定要出问题的,肯定解析会出问题的!!
所以说,使用上面这种RS485自收发电路,如果接收端是这种不带失效保护的芯片的话,估计是要出问题的,因为在并联了匹配电阻后,基本上不具备输出A高B低的能力!一定程度上来说,这个自收发电路是有风险的。
不过自收发电路可以很大程度上减轻单片机的工作,以及减少一路隔离器件,还是很不错的。
最近朋友遇到问题就是485收发的问题,看波形就是典型的自收发波形,他说设备连接不上,在询问其485芯片型号后,让其去掉终端电阻后恢复正常通讯。