背景:
这是一个单片机串口和485芯片隔离的电路,隔离电路用的就是NSI8121N0。
在单片机那边逻辑是收到什么就发什么。电脑串口调试助手接插头开始调试
从逻辑角度看正常的通讯应该是这样的
然而实际是这样的
当我发完一条数据后,串口调试助手就不停的收到数据
于是我在RXD_UP485这里接了个调试助手,发现只要TXD_UP485发数据,不管RX_485有没有数据,RXD_UP485这里都是能接收到一样的数据。
然后时间安静了一下,应该是TXD_UP485对RXD_UP485有干扰,那么问题来了怎么解决这个干扰呢?
1.起初在RXD_UP485上接上拉电阻,这个电阻值从3k一直跳到20R,连续收数据的情况才消失,但是串口向单片机发数据也没用了,所以这个方法没有用
2.后面想了一下,在NSI8121N0的输入端加了一个11k的上拉电阻,问题完美解决。
总结
干扰源头解决更容易😂