第十四章 金龙107——RS485
14.1 RS485 : RS485是采用差分信号负逻辑来传输信号的,-2V~-6V表示“0”,+2V~+6V表示“1”。RS485有两线制和四线制两种接线,四线制只能实现点对点的通信方式,现很少采用,现在多采用的是两线制接线方式,这种接线方式为总线式拓扑结构在同一总线上最多可以挂接32个结点。在RS485通信网络中一般采用的是主从通信方式,即一个主机带多个从机。很多情况下,连接RS-485通信链路时只是简单地用一对双绞线将各个接口的“A”、“B”端连接起来。而忽略了信号地的连接,这种连接方法在许多场合是能正常工作的,但却埋下了很大的隐患,这有二个原因:(1)共模干扰问题: RS-485接口采用差分方式传输信号方式,并不需要相对于某个参照点来检测信号,系统只需检测两线之间的电位差就可以了。但人们往往忽视了收发器有一定的共模电压范围,RS-485收发器共模电压范围为-7~+12V,只有满足上述条件,整个网络才能正常工作。当网络线路中共模电压超出此范围时就会影响通信的稳定可靠,甚至损坏接口。(2)EMI问题:发送驱动器输出信号中的共模部分需要一个返回通路,如没有一个低阻的返回通道(信号地),就会以辐射的形式返回源端,整个总线就会像一个巨大的天线向外辐射电磁波。
RS485 推荐使用在点对点网络中, 线型,总线型,不能是星型,环型网络。理想情况下 RS485需要 2 个匹配电阻,其阻值要求等于传输电缆的特性阻抗 (一般为 120Ω) 。没有特性阻抗的话,当所有的设备都静止或者没有能量的时候就会产生噪声,而且线移需要双端的电压差。没有匹配电阻的话,会使得较快速的发送端产生多个数据信号的边缘,导致数据传输出错。
14.2实验说明: 本节进行的实验设计是用两块金龙STM32F107VC通过RS485通信。主要跳线帽: JP10,JP11,JP4和JP7都接在2-3上,JP3接在1-2。
14.3硬件说明:金龙107开发板采用 SP3485 作为收发器,最大传输速度可达10Mbps,支持多达 32 个
个节点。
图中 A、B 是总线接口,用于连接 485 总线。RO 是接收输出端(PD6),DI 是发送数据收入端(PD5),RE是接收使能信号(低电平有效),DE 是发送使能信号(高电平有效)。
14.4程序说明:485只是定义了传输的电压,阻抗等,编程方式和普通的串口编程一样 。
14.5实验现象:A板,需要屏蔽掉接收函数,然后编译下载,B板 需要屏蔽发送函数,然后编译下载,连接好A板 B板,复位, A板会向B板发送"a", B板接收到"a"之后,B板LED1闪烁,注意JP3要接1-2才能正常通讯。
【14】金龙107_RS485.rar
(1.02 MB, 下载次数: 52)