一种多路串行通讯接口波特率自动检测电路及方法

文档序号:7897999阅读:319来源:国知局
专利名称:一种多路串行通讯接口波特率自动检测电路及方法
技术领域
本发明涉及通讯领域中的工业控制领域,采用多路串行通讯自动波特率的电路和实现方法。
背景技术
在工业控制系统中及其他一些设备中,经常会使用RS-232/RS-485等串行通讯接口作为控制台或监控接口,在使用过程中,有时会不知道通讯设备工作波特率而无法正确设置系统的工作参数。每当遇到这种情况,常用的方法是找说明书查看或找设计人员询问或逐个尝试常用的波特率,这种方法给通讯设备的使用带来了很多不便。而现有的串行通讯接口波特率自动检测装置,大多装置电路复杂并只有只能有一个串行通讯接口,这种情况将难以适应日益复杂的工控领域。

发明内容
本发明的目的是提供一种多路串行通讯接口波特率自动检测电路及其检测方法, 要求电路简单,串行通讯自动波特率主要是依靠LPC23XX逻辑器件的软设置实现,并能对多个串行通讯接口进行检测。可以方便快速检测到未知通讯设备的工作波特率,方便通讯设备的使用。为了实现上述目的,本发明提供了一种多路串行通讯接口波特率检测电路。该电路由可编程的LPC23XX逻辑器件、2路RS-232接口电路和2路RS-485接口电路组成,其特征在于,LPC23XX逻辑器件的2路串口端口分别和2路RS-232接口电路连接,另外2路串口端口分别和2路RS-485接口电路连接,2路RS-485芯片的收发控制端由LPC23XX逻辑器件的输出管脚控制;所述LPC23XX逻辑器件通过上述RS232或者RS485芯片和外部设备通讯,根据收到的信息,依靠LPC23XX逻辑器件的软设置实现自动检测接口的通讯波特率。所述LPC23XX逻辑器件内配置了自动波特率控制寄存器、速率计数器、移位寄存器、除数锁存器和小数波特率发生器预分频。所述自动波特率控制寄存器由启动波特率检测寄存器、检测模式选择寄存器、超时重新启动寄存器组成。所述LPC23XX逻辑器件内配置的各部件功能作用如下
启动波特率检测寄存器,用于启动自动波特率检测; 检测模式选择寄存器,用于选择波特率检测方式。速率计数器,用于计数检测波特率的速率。移位寄存器,存储移位数据,产生最高波特率。超时重新启动寄存器,用于速率计数器溢出时,重新启动自动波特率测量。除数锁存器,用于设置速率计数器的测量值,实现电路通讯波特率与被测波特率一致。小数分频寄存器,用于影响波特率测量,在自动波特率测量时是禁用。本发明的多路串行通讯接口波特率自动检测电路,用于串行通讯的终端。并且当通讯开始时,电路自动启动测量波特率,设置波特率和结束。本发明的多路串行通讯接口波特率自动检测电路对多路串行通讯接口波特率进行自动检测的方法包括如下步骤
1)起始波特率寄存器置位,速率计数器复位,移位寄存器复位并切换波特率为最高速率。2)移位寄存器接受起始位,速率计数器开始计算;
3)移位寄存器接受字符最低位,速率计数器停止计算;
4)根据速率计数器数值,设置除数锁存器;
5)起始波特率寄存器清零,波特率将自动切换成正常模式;
6)如果速率计数器中途溢出,则重新开始自动波特率,速率测量将从下一位开始计算。上述方法中,波特率检测逻辑步骤包括
1)速率计数器复位,移位寄存器复位,波特率以最高速率运行。2)判断接收到起始位下降沿,若是开始速率计数器计数。3)判断接收到第零位的下降沿,若是停止速率计算器计数。4)将速率计数器计数值装入除数锁存器。5)如果速率计数器中途溢出,则重新开始自动波特率,速率测量并从下一位的下降沿开始计算。本发明在原有串口通讯基础上增加了通讯自动波特率检测电路,通过与2路 RS-232接口电路和2路RS-485接口电路的配合实现自动通讯波特率配置,实现了与未知波特率的通讯设备对接时,能方便快速的检测到源设备的通讯波特率,并对自身通讯波特率进行设置,实现正常通信。其多路波特率自动检测设置功能,可以实现与多个随机通讯设备进行波特率匹配,方便快捷的实现数据通讯,给现场工作带来了很大的方便。


图1是本发明多路串行通讯接口波特率自动检测电路。图2是本发明多路串行通讯接口波特率自动检测电路波形图。图3是本发明多路串行通讯接口波特率自动检测电路逻辑工作流程图。
具体实施例方式如图1所示为本发明的多路串行通讯接口波特率自动检测电路的一种具体实例, 由该图可知,该电路包括一个PLC23XX逻辑器件、2路RS-232接口电路和2路RS-485接口电路,所述PLC23XX逻辑器件中配置有启动波特率检测寄存器2、检测模式选择寄存器3、超时重新启动寄存器5、速率计数器4、移位寄存器1、除数锁存器6和小数波特率发生器预分频7。启动波特率检测寄存器2,用于启动自动波特率检测,如果自动波特率完成,该位自动清零。检测模式选择寄存器3,用于选择波特率检测方式。该串行通讯自己动波特率有两种自动波特率测量模式,用户可通过检测模式选择寄存器3进行选择。在模式0中,波特率在Rx的两个连续下降沿(起始位的下降沿和最低位的下降沿)测量(图2所述)。在模式 1中,波特率在Rx管脚的下降沿和紧跟其后的上升沿之间(起始位的长度)测量。
速率计数器4用于计数检测波特率的速率。在起始位下降沿时,开始计数。移位寄存器1在起始位置位后,开始存储移位数据,产生最高波特率。超时重新启动寄存器5,用于速率计数器溢出时,重新启动自动波特率测量。除数锁存器6,用于设置速率计数器的测量值,实现电路通讯波特率与被测波特率一致。小数波特率发生器预分频7,影响波特率测量,一般在自动波特率测量时是禁用的。上述多路串行通讯接口波特率自动检测电路工作过程如下
1)启动波特率检测寄存器2起始位一置位,速率计数器就将复位,同时移位寄存器1复位。移位寄存器1波特率切换为最高的速率。2) Rx管脚下降沿触发起始位的开始。速率计数器4将开始对时钟(可选择被小数波特率发生器预分频7)进行计数。3)在接收起始位的过程中,移位寄存器1波特率输入端产生16个脉冲,脉冲频率和(被小数波特率发生器预分频7)的串行异步通讯时钟相同,这样,保证了起始位存放在移位寄存器1中。4)在接收起始位的过程中,速率计数器4将随着被预分频的串行异步通讯输入时钟递增。5)在模式0中,那么速率计数器4将在Rx管脚的下个下降沿停止。速率计数器4的值被装入除数锁存器6,并且波特率将自动切换为正常操作模式。
权利要求
1.一种多路串行通讯接口波特率自动检测电路,该电路由可编程的LPC23XX逻辑器件、2路RS-232接口电路和2路RS-485接口电路组成,其特征在于,所述LPC23XX逻辑器件的2路串口端口分别和2路RS-232接口电路连接,另外2路串口端口分别和2路RS-485接口电路连接,2路RS-485芯片的收发控制端由LPC23XX芯片的输出管脚控制;所述LPC23XX 逻辑器件通过上述RS232或者RS485芯片和外部设备通讯,根据收到的信息,依靠LPC23xx 逻辑器件的软设置实现自动检测接口的通讯波特率;所述LPC23XX逻辑器件内配置有启动波特率检测寄存器,用于启动自动波特率检测; 检测模式选择寄存器,用于选择波特率检测方式; 速率计数器,用于计数检测波特率的速率; 移位寄存器,存储移位数据,产生最高波特率;超时重新启动寄存器,用于速率计数器溢出时,重新启动自动波特率测量;除数锁存器,用于设置速率计数器的测量值,实现电路通讯波特率与被测波特率一致;小数分频寄存器,用于影响波特率测量,在自动波特率测量时是禁用。
2.根据权利要求1所述的多路串行通讯接口波特率自动检测电路,其特征在于,当通讯开始时,电路自动启动测量波特率,设置波特率和结束。
3.根据权利要求1或2所述的多路串行通讯接口波特率自动检测电路,其特征在于,所述电路用于串行通讯的终端。
4.一种基于权利要求1所述的多路串行通讯接口波特率自动检测电路的多路串行通讯接口波特率自动检测方法,其特征在于该方法包括如下步骤(1).起始波特率寄存器置位,速率计数器复位,移位寄存器复位并切换波特率为最高速率;(2).移位寄存器接受起始位,速率计数器开始计算;(3).移位寄存器接受字符最低位,速率计数器停止计算;(4).根据速率计数器数值,设置除数锁存器;(5).起始波特率寄存器清零,波特率将自动切换成正常模式;(6).如果速率计数器中途溢出,则重新开始自动波特率,速率测量将从下一位开始计笪弁。
5.如权利要求4所述的多路串行通讯接口波特率自动检测方法,其特征在于波特率逻辑检测步骤包括1)速率计数器复位,移位寄存器复位,波特率以最高速率运行;2)判断接收到起始位下降沿,若是开始速率计数器计数;3)判断接收到第零位的下降沿,若是停止速率计算器计数;4)将速率计数器计数值装入除数锁存器;5)如果速率计数器中途溢出,则重新开始自动波特率,速率测量并从下一位的下降沿开始计算。
全文摘要
本发明涉及通讯领域中的工业控制领域,具体的说是一种实现多路串行通讯接口波特率自动检测的方法及实现该方法的多路串行通讯接口波特率自动检测电路,本发明利用LPC23xx芯片的通用异步收发器,依靠其拥有赖以实现软件流控制的自动波特率检测能力和机制实现多路串行通讯接口波特率的自动检测。该LPC23xx芯片的自动波特率功能部件通过测量接受数据流的位所消耗的时间,来设置通讯波特率。该电路适用于以标准波特率或非标准波特率进行串行通讯的场合。
文档编号H04L12/26GK102315983SQ201010614318
公开日2012年1月11日 申请日期2010年12月30日 优先权日2010年12月30日
发明者张智渊, 戴学历, 桑龙, 王长法 申请人:杭州鼎利环保科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1