高速光耦6N137用于RS485通信的总结
[原文](https://blog.****.net/u012351051/article/details/73498342)
关于RS485光耦隔离,之前用PS2501,发现波特率最大只能达到9600,如果想要获得更高的波特率应用,只能通过高速光耦,6N137就是一个可以参考使用的器件,6N137的转换速率理论上可达10Mbits/s,实测在115200是没有问题的。
一、6N137
6N137的内部原理图如下:
图中可看到,输入侧是就普通的发光二极管,而输出侧则相比较普通的光耦是一个“与非门”,引脚7就是一个“使能”引脚,只有引脚7为“高”电平时,输出侧才有效,否则输出侧一直为高电平,真值表如下:
其中ENABLE就是7引脚。
芯片使用推荐参数表如下:
其中:
(1)供电电压4.5~5V,一般取5V
(2)低电平输入,这个比较容易理解,只要保证LED不亮即可,通不通电都可以。
(3)高电平输入电流,即LED发光通过电流值,5~15mA,这个不要超过最大一般LED发热会烧管子,小于最小,则容易不导通,具体的导通参数,手册如下:
以10mA电流为例,假如导通电压为1.4V(不是一个普通的PN节导通电压0.7V),则限流电阻计算如下:
DC5V供电—— R = (5-1.4)/0.01 = 360R 左右,实际使用1K也可以。
DC3.3V供电—— R = (3.3-1.4)/0.01 = 190R左右,实际使用510欧也可以。
二、RS485隔离电路
RS485隔离一定是电源隔离+通信隔离,单纯的通信隔离是没有用的。
1.电源隔离以B0505隔离芯片为例
其中C1取4.7uF,C2取10uF.
特别注意:DC-DC不能空载使用,所以实际功耗要求至少为额定功率的10%,所以需要在输出端外接“假负载”,假负责可按模块额定功率的5-10%计算,电阻值为
R = U*U/(10%x1W) = 250欧。
2.RS485隔离电路
发送隔离
使能隔离
接收端隔离
这里要特别注意,由于是RS485接收,给CPU,所以此时光耦的输入是RS485_RX,所以输入侧使用的是隔离后的那部分电源和通信,而输出侧由于需要连接CPU,所以此时的6N137,电源和地,都要使用未隔离的电源和地。