以SP3485芯片作为参考。
1、RS-485简介
RS-485采用平衡发送和差分接收,因此具有抑制共模干扰的能力。
应用特点:
传输数据速度高达10Mbps,即10000000 bit /1024/1024/8=1.192MB/s。 VCC正常电压5V供电 使用STP超五类(CAT5e)双绞线(我觉得没必要100Mb/s),我认为STP四类(CAT4)双绞线(16Mbps)就可以了。其中双绞线又分为STP屏蔽和UTP非屏蔽两种。 传输数据距离远,可高达1200米(仅仅是两个SP3485发送与接收之间距离)2、SP3485芯片
下面是芯片的原理图:
当接收与发送时使用差分传输,所谓差分传输就是A引脚和B引脚通过电压比较得到逻辑电平:
A-B>+0.2V 逻辑电平,RO输出电平1
A-B<-0.2V 逻辑电平,RO输出电平0
另外,当DE引脚置于高电平时候有下表
A电平 | B电平 | |
---|---|---|
DI逻辑电平1 | 1 | 0 |
DI逻辑电平0 | 0 | 1 |
3、实际应用
我先放出一个原理图:
一般将RE引脚和DE引脚连接起来,SP3485芯片可以使用一个I/O引脚来控制RS485芯片高电平发送,低电平接收。
上图中有三个电阻R1、R2、R3,他们的参数一般是这样设置:R1=R3,要确保R2占电压在200mV以上,即A线与B线之间电压在200mV左右,但一定大于200mV。
我在原理图中R1=R3=47K,经过计算R2=1.9K,根据厂家制造贴片电阻规格,所以实际应用的话R2=2.1K电阻,R1、R3选用47电阻。
【光耦隔离】由于传送距离远,通讯电线有可能会被雷击,或是其他不好因素影响通讯电线,为避免整个系统烧毁。所以485通讯部分与主控制芯片间加入光耦进行隔离。
光耦速度可以通过上拉电阻进行控制。。。
待更新。。
4、提高信号传输质量
A线与B线之间需要一个匹配电阻,也就是上图的R2电阻来保证在空闲状态下,不会出现信号混乱的的情况,防止接收混乱的数据(锁死在一个稳定电压差,一般锁定电压差在200mV以上)
总结:
我觉得这个软件程序设计上并不是重点,先放图。
因为传输时,使用USART通讯经过SP3485芯片发送,然后发送给另一个接收SP3485芯片转换成USART通讯,从而完成远距离数据传输。我认为RS485只是作为远距离传输一种手段,RS485应该侧重于硬件设计上。
以上仅供参考。