一种波特率自适应的Modbus中继器和波特率自适应系统及方法技术方案

技术编号:7365177 阅读:240 留言:0更新日期:2012-05-27 00:49
本申请公开了一种波特率自适应系统和方法,该方法包括:a)接收第一和第二数据;b)判断是否检测到所述第一和第二数据的同步码起始位的下降沿;c)如果未检测到所述下降沿,则返回步骤b;如果检测到所述下降沿,则基于基准时钟,从起始位后的上升沿开始第一计数,到下一下降沿停止第一计数,并得到第一计数值;从停止第一计数的下降沿开始第二计数,到下一上升沿停止第二计数,并得到第二计数值;d)根据第一和第二计数值与第一阈值的关系得到波特率。根据本发明专利技术的采用CPLD远程检测MODBUS数据帧的波特率和编码格式,不需要在本地进行波特率和编码格式的手工设置。本发明专利技术能够实现波特率和编码格式的远程自动检测功能,省去旋转编码器的材料和装配成本。

【技术实现步骤摘要】

本专利技术涉及一种波特率自适应系统及方法和Modbus中继器,更具体地说,涉及一种波特率自适应的Modbus中继器实现。
技术介绍
Modbus是由美国M0DIC0N公司最早提出的一种现场总线标准.现有的MODBUS中继器采用旋转编码器来手工设置MODBUS通信的波特率和编码格式,不能满足客户的远程控制需要,不能实现远程自动检测功能,且手工操作不方便。针对现有技术中存在的上述问题,提出了本专利技术。
技术实现思路
本专利技术的另外方面和优点部分将在后面的描述中阐述,还有部分可从描述中明显地看出,或者可以在本专利技术的实践中得到。本设计方案使用复杂可编程逻辑器件(Complex Programmable Logic Device, CPLD)和外部晶振来控制MODBUS通信的中继,能够自动检测MODBUS数据帧的波特率和编码格式,而且具有灵活性好,可扩展性好,稳定性高等特点。本专利技术的技术范围MODBUS通信。本专利技术的应用范围适用于MODBUS通信信号的中继和隔离。本设计方案为一种MODBUS中继器的CPLD实现方法。该方法增加了 MODBUS通信的隔离特性。本设计使用CPLD可编程器件检测MODBUS数据帧的波特率和编码格式,通过调整波特率发生器的参数和计数器来控制RS485收发器的使能信号。本专利技术公开了一种波特率自适应方法,包括步骤a)接收第一和第二数据;b)判断是否检测到所述第一和第二数据的同步码起始位的下降沿;c)如果未检测到所述下降沿,则返回步骤b ;如果检测到所述下降沿,则基于基准时钟,从起始位后的上升沿开始第一计数,到下一下降沿停止第一计数,并得到第一计数值;从停止第一计数的下降沿开始第二计数,到下一上升沿停止第二计数,并得到第二计数值;d)根据第一和第二计数值与第一阈值的关系得到波特率。本专利技术还公开了一种波特率自适应系统,包括第一数字滤波器,接收来自第一收发器的第一数据;第二数字滤波器,接收来自第二收发器的第二数据;分频器,根据外部晶振向第一计数器和第二计数器输出基准时钟;第一计数器,基于基准时钟,对第一数据和第二数据进行计数,并得到第一计数值和第二计数值;波特率检测单元,从第一数字滤波器和第二数字滤波器接收第一数据和第二数据,当检测到第一数据和第二数据的同步码起始位的下降沿时,从起始位后的上升沿开始控制第一计数器开始第一计数,到下一下降沿停止第一计数,并得到第一计数值;从停止第一计数的下降沿开始控制第一计数器开始第二计数,到下一上升沿为止,并得到第二计数值;根据第一计数值和第二计数值与第一阈值的关4系得到波特率;第二计数器,基于基准时钟,对第一数据和第二数据进行第三计数,并得到第三计数值;波特率发生器,根据波特率检测单元检测的波特率和编码方式以及第一和第二数据,对输出控制单元和第二计数器进行控制;输出控制单元,根据第二计数器和波特率发生器的控制,输出第一使能信号和第二使能信号。本专利技术还提供一种波特率自适应的Modbus中继器,包括上述的波特率自适应系统。本专利技术使用CPLD技术,是因为CPLD的逻辑运算是通过硬件完成的,远比MCU的速度快,带来的通讯延时很小,具有很好的灵活性。根据本专利技术的采用CPLD远程检测MODBUS数据帧的波特率和编码格式,不需要在本地进行波特率和编码格式的手工设置。本专利技术能够实现波特率和编码格式的远程自动检测功能。省去旋转编码器的材料和装配成本。附图说明通过结合附图对本专利技术的优选实施例进行详细描述,本专利技术的上述和其他目的、 特性和优点将会变得更加清楚,其中相同的标号指定相同结构的单元,并且在其中图1示意性地示出了 Modbus中继器的应用环境;图2和图3示意性地示出了从同步帧中提取码流速率和编码方式的方法的示意图;图4示出了根据本专利技术实施例的波特率自适应方法的流程图;图5示意性地示出了根据本专利技术实施例的波特率自适应系统的实现框图;图6示出了根据本专利技术实施例的波特率发生器的工作原理流程图;以及图7示意性地示出了根据本专利技术实施例的波特率自适应系统(即,Modbus中继器)芯片实现的实物图。具体实施例方式下面将参照示出本专利技术实施例的附图充分描述本专利技术。然而,本专利技术可以以许多不同的形式实现,而不应当认为限于这里所述的实施例。相反,提供这些实施例以便使本公开透彻且完整,并且将向本领域技术人员充分表达本专利技术的范围。在附图中,为了清楚起见放大了组件。应当理解,当称“元件” “连接到”或“耦接”到另一元件时,它可以是直接连接或耦接到另一元件或者可以存在中间元件。相反,当称元件“直接连接到”或“直接耦接到”另一元件时,不存在中间元件。相同的附图标记指示相同的元件。这里使用的术语“和/或” 包括一个或多个相关列出的项目的任何和所有组合。应当理解,尽管这里可以使用术语第一、第二、第三等描述各个元件、组件和/或部分,但这些元件、组件和/或部分不受这些术语限制。这些术语仅仅用于将元件、组件或部分相互区分开来。因此,下面讨论的第一元件、组件或部分在不背离本专利技术教学的前提下可以称为第二元件、组件或部分。这里使用的术语仅仅是为了描述特定实施例的目的,而并不意图限制本专利技术。这里使用的单数形式“一”、“一个”和“那(这个)”也意图包含复数形式,除非上下文中明确地指出不包含。应当理解,术语“包括”当用在本说明书中时指示所述特征、整数、步骤、操作、元件和/或组件的存在,但并不排除一个或多个其他特征、整数、步骤、操作、元件、组件和/或其组合的存在或添加。本专利技术的特征在于使用同步帧来实现波特率和编码格式的自动检测功能。1 本设计采用外部晶振OSC作为基准时钟输入。该基准时钟用于计数器输入,进一步控制波特率的自动检测。2 =MODBUS主设备初始发出同步帧,CPLD 102会检测出其起始位和波特率,从而确定波特率发生器的输出。3 波特率发生器通过另一计数器的输出控制RS485收发器101和103的使能信号。本设计能够增强现有产品(M0DBUS中继器)的特性和功能。该设计方案的检测时间短,效率高,具有很好的稳定性。可以采用VHDL或Verilog语言仿真。以及门级仿真。图1示意性地示出了 Modbus中继器的应用环境。如图1所示,来自RS485网络1和2的数据DO和Dl分别输入到RS485收发器101 和103。数据输入1和数据输入2是来自RS485收发器101和103的MODBUS通讯信号。 Modbus中继器102根据来自RS485收发器101和103的数据输入1和数据输入2生成使能信号1和使能信号2,并分别输出到RS485收发器101和103以对其进行控制。即,输入到 Modbus中继器102的数据输入1和数据输入2用于产生使能信号。同时,如图1所示,来自RS485收发器101的数据输入1和来自RS485收发器103 的数据输入2还分别输入到RS485收发器103和RS485收发器101用于提供实际的数据通路。图2和图3示意性地示出了从同步帧中提取码流速率和编码方式的方法的示意图。如图2所示,Tc是一个比特位的时间。Tl是高电平比特位的时间。以及T2是低电平比特位的时间。可以设置T1+T2 ^ 6比特,以提高波特率检测的准确性,在本例中,设置T1+T2 = 6比特。但本领域技术人员应该理解,T1+T2并不限于此本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:陈磊
申请(专利权)人:施耐德电器工业公司
类型:发明
国别省市:

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

1
相关领域技术