RS485通讯端口自动波特率和通讯地址检测方法技术

技术编号:10206125 阅读:616 留言:0更新日期:2014-07-12 07:12
本发明专利技术公开了一种RS485通讯端口自动波特率和通讯地址检测方法,即本方法当主机与单台从机连接时,主机以广播模式发送固定握手协议,每种波特率一次,直到有从机响应建立通信联系;当主机与多台从机连接时,主机对每台从机地址发送一条握手协议,从机解码并确认为是发送给本从机的握手协议时,该从机应答主机给出站号,否则该从机不作应答;主机收到从机应答,则解码并建立通信联系,记录与该从机通信的波特率和站号,如无应答则进入下个循环。本方法可准确检测RS485通讯端口自动波特率和通讯地址,方便实现主从机间的通信联系,免去硬件的额外开销。也避免了通讯时发生干扰而引起的误差。

【技术实现步骤摘要】
RS485通讯端口自动波特率和通讯地址检测方法
本专利技术涉及一种RS485通讯端口自动波特率和通讯地址检测方法。
技术介绍
RS485通讯端口是一种被广泛使用的数据通信总线,常应用在集中控制枢纽与分散控制单元之间。若信号传输距离或线路上节点数超过芯片额定参数时,如何保证信号在线路上的准确传输是通信系统十分重要的任务。RS485通讯端口采用差分信号负逻辑,+2V~+6V表示“O”,- 6V~-2V表示“I”。RS485有两线制和四线制两种接线,四线制是全双工通讯方式,两线制是半双工通讯方式。在RS485通信网络中一般采用的是主从通信方式,即一个主机带多个从机。由于RS-485通讯接口标准出现较早,难免有不足之处,主要有以下几点:无法自动检测波特率和从机站号。两线制端口使用一根信号输出线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。这样使得RS485通讯端口自动波特率和通讯地址检测无法做到简便通用。现有的方法是采用检测一个单独位时间。即主机发送一个特定的字符或字符串,从机根据不同的波特率接受到的数据也不同,从而自动调整与主机匹配的波特率,以建立与主机的通信联系。但该方法只能检测波特率,无法检测从机的站号,主机还是无法与从机实现通讯。而且如果发生干扰,尤其是半双工通讯方式,那么有可能从机的解析将发生错误,得到的波特率也会出错。通常通过手动试探重复更改相应参数,才能建立主从机的通信联系。如此严重影响RS485通讯端口的使用,采用RS485通讯端口建立主从机通信联系变得较为困难。其他也有增加专用的检测电路,增加了硬件开销及成本。
技术实现思路
本专利技术所要解决的技术问题是提供一种RS485通讯端口自动波特率和通讯地址检测方法,利用本方法可准确检测RS485通讯端口自动波特率和通讯地址,方便实现主从机间的通信联系,免去硬件的额外开销。也避免了通讯时发生干扰而引起的误差。为解决上述技术问题,本专利技术RS485通讯端口自动波特率和通讯地址检测方法包括如下步骤: 步骤一、当主机与单台从机连接时,主机以RS485通讯端口广播模式发送固定的握手协议,每种波特率一次,直到有从机响应为止,并以该从机响应的波特率和站号建立通信联系; 步骤二、当主机与多台从机连接时,主机对每台从机地址发送一条握手协议,各台从机收到握手协议后开始解码,当确认是主机发送给本从机的握手协议时,该从机发送应答给主机,告知主机本从机的站号,如主机发送的握手协议不是访问本从机,则该从机不作应答;步骤三、如果主机收到从机应答,则解码应答并建立通信联系,记录下当前与该从机通信的波特率和站号,如果主机没有收到应答,则重复执行步骤二进入下个循环。 由于本专利技术RS485通讯端口自动波特率和通讯地址检测方法采用了上述技术方案,即本方法当主机与单台从机连接时,主机以广播模式发送固定握手协议,每种波特率一次,直到有从机响应建立通信联系;当主机与多台从机连接时,主机对每台从机地址发送一条握手协议,从机解码并确认为是发送给本从机的握手协议时,该从机应答主机给出站号,否则该从机不作应答;主机收到从机应答,则解码并建立通信联系,记录与该从机通信的波特率和站号,如无应答则进入下个循环。本方法可准确检测RS485通讯端口自动波特率和通讯地址,方便实现主从机间的通信联系,免去硬件的额外开销。也避免了通讯时发生干扰而引起的误差。【附图说明】下面结合附图和实施方式对本专利技术作进一步的详细说明: 图1为本专利技术RS485通讯端口自动波特率和通讯地址检测方法流程图。【具体实施方式】如图1所示,本专利技术RS485通讯端口自动波特率和通讯地址检测方法包括如下步骤: 步骤一、当主机与单台从机连接时,主机以RS485通讯端口广播模式发送固定的握手协议,每种波特率一次,直到有从机响应为止,并以该从机响应的波特率和站号建立通信联系; 步骤二、当主机与多台从机连接时,主机对每台从机地址发送一条握手协议,各台从机收到握手协议后开始解码,当确认是主机发送给本从机的握手协议时,该从机发送应答给主机,告知主机本从机的站号,如主机发送的握手协议不是访问本从机,则该从机不作应答; 步骤三、如果主机收到从机应答,则解码应答并建立通信联系,记录下当前与该从机通信的波特率和站号,如果主机没有收到应答,则重复执行步骤二进入下个循环。本方法采用在主机与从机间发送握手协议及作相应应答,从而建立主从机之间的通信联系,免去了增加专用电路的硬件开销,也避免了通讯时发生干扰而引起的误差以及为建立通信联系而进行的繁杂的手工调试,节省了大量的时间和人力资源,提高工作效率。由于RS485通讯的特性,总线上只能有一方发送数据,为避免应答冲突,当多台从机串联时,主机需要对每个地址的从机发送握手协议,收到从机应答后主机则记录下从机站号和建立通信联系的波特率,如此用户无需手动修改从机的通讯参数,就能实现主机与从机之间建立通讯联系。本文档来自技高网
...

【技术保护点】
一种RS485通讯端口自动波特率和通讯地址检测方法,其特征在于本方法包括如下步骤:步骤一、当主机与单台从机连接时,主机以RS485通讯端口广播模式发送固定的握手协议,每种波特率一次,直到有从机响应为止,并以该从机响应的波特率和站号建立通信联系;步骤二、当主机与多台从机连接时,主机对每台从机地址发送一条握手协议,各台从机收到握手协议后开始解码,当确认是主机发送给本从机的握手协议时,该从机发送应答给主机,告知主机本从机的站号,如主机发送的握手协议不是访问本从机,则该从机不作应答;步骤三、如果主机收到从机应答,则解码应答并建立通信联系,记录下当前与该从机通信的波特率和站号,如果主机没有收到应答,则重复执行步骤二进入下个循环。

【技术特征摘要】
1.一种RS485通讯端口自动波特率和通讯地址检测方法,其特征在于本方法包括如下步骤: 步骤一、当主机与单台从机连接时,主机以RS485通讯端口广播模式发送固定的握手协议,每种波特率一次,直到有从机响应为止,并以该从机响应的波特率和站号建立通信联系; 步骤二、当主机与多台从机连接时,主机对每台从机地址发送一条握手协...

【专利技术属性】
技术研发人员:肖智明
申请(专利权)人:上海开通数控有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1