串行通信波特率识别方法、装置及监控设备的制作方法

文档序号:7735788阅读:316来源:国知局
专利名称:串行通信波特率识别方法、装置及监控设备的制作方法
技术领域
本发明属于通信技术领域,尤其涉及一种串行通信波特率识别方法、装置及监控设备。
背景技术
在安防监控领域,对监控设备的控制主要是通过串行RS485或者RS422实现的,这就涉及到了波特率的设置问题。由于串行通信的数据是按位顺序传输的,因此各个数据位之间需要严格的定时,才能保证正确的通信,只有在通信双方波特率相同时,才能实现数据的正确传输与接收。例如,在前端监控设备(从机),如快球、云台内部都有专门的用于设置前端监控设备的波特率的硬件拨码,通过拨码开关来选择不同的波特率,比如快球、云台内部的波特率设置为2400,而主机也要设置波特率为2400才能实现对前端设备的控制。然而,波特率的更改问题也随之而来,前端设备,也即从机安装在各种不同环境中,改变波特 率相当麻烦,尤其是安装在很高且极难拆装的位置比如体育场馆的屋顶,在诸如此类的环境下改变波特率意味着用户要付出极大的人力物力成本,为了解决这一问题,产生了波特率自适应技术,而波特率自适应技术的前提是要求从机能识别主机发送的数据所采用的波特率,并将其自身的波特率设置为主机的波特率,从而实现主机对从机的监控。传统的从机识别主机发送的数据所采用的波特率的方法主要有以下两种I、码元宽度实时检测法。该方法要求主机按照约定发送某一数据,从机通过MCU的定时器测量RXD引脚上输入数据的码元宽度,而后计算出待测系统通信的波特率。该方法目前应用比较广泛,但是应用在监控领域不现实,因为不可能要求用户每次控制前都发一个固定的数据。2、标准波特率穷举法。标准波特率穷举法适用于主机侧的波特率必须在有限的几个固定数值之间变化,如2400 19200之间的标准值,通信程序启动后,MCU逐个尝试以不同的波特率接收主机发出的特定字符,直到能正确接收为止,因此,该方法的运用有一定的局限性。因此,由于现有波特率识别方法对串行通信设备发送的数据要求较高,导致波特率识别的灵活性以及通用性较低的问题。

发明内容
本发明实施例的目的在于提供一种串行通信波特率识别方法、装置及监控设备,旨在解决由于现有波特率识别方法对串行通信设备发送的数据要求较高,导致波特率识别的灵活性以及通用性较低的问题。本发明实施例是这样实现的,一种串行通信波特率识别方法,所述方法包括下述步骤步骤I :对接收到的高低电平脉冲信号宽度各进行预设次数的采集,获取采集后的数据;
步骤2 :对所述数据进行最小化处理,获取最小化处理后的数据的最大公约数;步骤3 :根据预设的最大公约数与波特率之间的对应关系,获取与所述最大公约数对应的第一波特率;步骤4 :重新执行步骤I、步骤2,并根据预设的最大公约数与波特率之间的对应关系,获取与所述最大公约数对应的第二波特率;步骤5 :判断所述第一波特率与所述第二波特率是否相同,是,则所述第二波特率为有效波特率,否则,当判定所述第二波特率获取的次数小于预设的波特率获取次数时,将所述第一波特率更新为所述第二波特率,并转至执行步骤4。本发明实施例的另一目的在于提供一种串行通信波特率识别装置,所述装置包括 采集单元、数据处理单元、第一波特率获取单元、第二波特率获取单元、识别判定单元以及波特率更新单兀,其中采集单元,用于对接收到的高低电平脉冲信号宽度各进行预设次数的采集,获取采集后的数据;数据处理单元,用于对采集单元输出的数据进行最小化处理,获取最小化处理后的数据的最大公约数;第一波特率获取单元,用于根据预设的最大公约数与波特率之间的对应关系,获取与数据处理单元输出的最大公约数对应的第一波特率;第二波特率获取单元,用于触发所述采集单元以及所述数据处理单元,根据预设的最大公约数与波特率之间的对应关系,获取与数据处理单元输出的最大公约数对应的第二波特率;识别判定单元,用于当所述第一波特率获取单元输出的第一波特率与所述第二特率获取单元输出的第二波特率相同时,判定所述第二波特率为有效波特率;以及波特率更新单元,用于当所述第一波特率获取单元输出的第一波特率与所述第二特率获取单元输出的第二波特率不相同时,且判定所述第二波特率获取的次数小于预设的波特率获取次数时,将所述第一波特率更新为所述第二波特率,触发所述第二波特率获取单元。本发明实施例的另一目的在于提供一种包括上述串行通信波特率识别装置的监控设备。本发明实施例通过该串行通信波特率识别方法的步骤I :对接收到的高低电平脉冲信号宽度各进行预设次数的采集,获取采集后的数据;步骤2 :对该数据进行最小化处理后,获取最小化处理后的数据的最大公约数;步骤3 :根据预设的最大公约数与波特率之间的对应关系,获取与该最大公约数对应的第一波特率;步骤4 :重新执行步骤I、步骤2,并根据预设的最大公约数与波特率之间的对应关系,获取与所述最大公约数对应的第二波特率;步骤5 :判断该第一波特率与该第二波特率是否相同,是,则该第二波特率为有效波特率,否则,当判定该第二波特率获取的次数小于预设的波特率获取次数时,将该第一波特率更新为第二波特率,转至执行步骤4,解决了由于现有波特率识别方法对串行通信设备发送的数据要求较高,导致波特率识别的灵活性以及通用性较低的问题,从而摆脱了对发送数据的限制,提高了波特率识别方法的灵活性与通用性。


图I是本发明第一实施例提供的串行通信波特率识别方法的实现流程图;图2是本发明第二实施例提供的串行通信波特率识别装置的结构图;图3是本发明第二实施例提供的串行通信波特率识别装置中数据处理单元的具体结构图。
具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明实施例通过对接收到的高低电平脉冲信号宽度各进行预设次数的采集,对获取的采集后的数据进行最小化处理,获取该最小化处理后的数据的最大公约数,根据预设的最大公约数与波特率之间的对应关系,获取与该最大公约数对应的第一波特率,在该第一波特率获取之后,重复信号采集以及最大公约数获取的步骤,获取与该最大公约数对应的第二波特率,判断该第一波特率与该第二波特率是否相同,是,则该第二波特率为有效波特率,否则,当判定儿歌第二波特率获取的次数小于预设的波特率获取次数时,将该第一波特率更新为该第二波特率,返回执行获取第二波特率的步骤,直至该第一波特率与该第二波特率相同,使得波特率识别方法的灵活性与通用性得到较大提高。本发明实施例提供了一种串行通信波特率识别方法,所述方法包括下述步骤步骤I :对接收到的高低电平脉冲信号宽度各进行预设次数的采集,获取采集后的数据;步骤2 :对所述数据进行最小化处理,获取最小化处理后的数据的最大公约数;步骤3 :根据预设的最大公约数与波特率之间的对应关系,获取与所述最大公约数对应的第一波特率;步骤4 :重新执行步骤I、步骤2,并根据预设的最大公约数与波特率之间的对应关系,获取与所述最大公约数对应的第二波特率;步骤5 :判断所述第一波特率与所述第二波特率是否相同,是,则所述第二波特率为有效波特率,否则,当判定所述第二波特率获取的次数小于预设的波特率获取次数时,将所述第一波特率更新为所述第二波特率,并转至执行步骤4。本发明实施例还提供了一种串行通信波特率识别装置,所述装置包括采集单元、数据处理单元、第一波特率获取单元、第二波特率获取单元、识别判定单元以及波特率更新单元,其中采集单元,用于对接收到的高低电平脉冲信号宽度各进行预设次数的采集,获取采集后的数据;数据处理单元,用于对采集单元输出的数据进行最小化处理,获取最小化处理后的数据的最大公约数;第一波特率获取单元,用于根据预设的最大公约数与波特率之间的对应关系,获取与数据处理单元输出的最大公约数对应的第一波特率;第二波特率获取单元,用于触发所述采集单元以及所述数据处理单元,根据预设的最大公约数与波特率之间的对应关系,获取与数据处理单元输出的最大公约数对应的第二波特率;识别判定单元,用于当所述第一波特率获取单元输出的第一波特率与所述第二特率获取单元输出的第二波特率相同时,判定所述第二波特率为有效波特率;以及波特率更新单元,用于当所述第一波特率获取单元输出的第一波特率与所述第二特率获取单元输出的第二波特率不相同,且判定所述第二波特率获取的次数小于预设的波特率获取次数时,将所述第一波特率更新为所述第二波特率,触发所述第二波特率获取单
J Li ο本发明实施例还提供了一种包括上述串行通信波特率识别装置的监控设备。 本发明实施例通过步骤I :对接收到的高低电平脉冲信号宽度各进行预设次数的采集,获取采集后的数据;步骤2 :对该数据进行最小化处理后,获取最小化处理后的数据的最大公约数;步骤3 :根据预设的最大公约数与波特率之间的对应关系,获取与该最大公约数对应的第一波特率;步骤4 :重新执行步骤I、步骤2,并根据预设的最大公约数与波特率之间的对应关系,获取与所述最大公约数对应的第二波特率;步骤5 :判断该第一波特率与该第二波特率是否相同,是,则该第二波特率为有效波特率,否则,当判定所述第二波特率获取的次数小于预设的波特率获取次数时,将该第一波特率更新为第二波特率,并转至执行步骤4,从而解决了波特率识别的灵活性以及通用性较低的问题,提高了波特率识别方法的灵活性与通用性。以下结合具体实施例对本发明的具体实现进行详细描述实施例一:在串行通信技术领域,串行通信数据格式如下1位起始位、8位数据位、I位停止位、无奇偶校验位。其中起始位始终为0,停止位始终为1,8位数据位的电平高低由传输的数据决定。要测得数据的波特率,只要得到每位数据的传输时间即可,即每bit数据的位宽。例如,脉冲宽度通过FPGA计数实现,当使用晶振为48M HZ,数据波特率为2400、4800、9600、19200、38400Baud时,对应每bit传输时间约为26us 417us,对应每bit宽度计数为20000、10000、5000、2500、1250等。理论上不管波特率为多少,所收集的脉冲宽度都是1250的整数倍。图I示出了本发明第一实施例提供的串行通信波特率识别方法的实现流程,详述如下在步骤SlOl中,对接收到的高低电平脉冲信号宽度各进行预设次数的采集,获取采集后的数据。其中,该高低电平脉冲信号可以为来自于485芯片发送的脉冲信号,脉冲信号宽度通过位于从机的FPGA、单片机等计数实现,在对高电平脉冲或者低电平脉冲信号宽度进行采集时,假设Ibit的位宽为t,则采集到的脉冲宽度也即采集的脉冲所持续的时间,为mXt,其中I < m < 9,因为高脉冲的位数从仅只有停止位的I位位宽到所有数据位都为I的9位宽度,极限情况是数据位全部为I高脉冲的m最多有9种情况,同理低脉冲的m最大也为9,从而决定m最大为9。由于485通信协议中起始位始终为0,停止位始终为1,也即该信号的数据位数始终为9位低电平或者高电平,当对高电平或者低电平脉冲信号进行采集时,至少采集9次,也即该预设次数为不少于9次,但考虑到次数大于9的情况时,采集的脉冲数据会出现重复现象,因此一般采集次数取9。在本发明实施例中,在步骤SlOl之前,该串行通信波特率的识别方法还包括接收来自MCU的请求信息,判断该请求信息是否为波特率识别获取请求,当该请求信息为波特率识别获取请求时,执行步骤S101,否则不执行。 具体地,从机在自检完成后,例如,球形摄像机自检,从机中的MCU会通过串口发给从机中的FPGA请求信息,该请求信息可以为波特率率识别获取或者风扇转速、报警信息等扩展功能信息获取请求,FPGA判断该请求信息是否为波特率识别获取请求,是,则FPGA对RS485发送的控制信号所采用的波特率进行识别获取,否则,不进行波特率识别获取。在步骤S102中,对该数据进行最小化处理后,获取最小化处理后的数据的最大公约数。该步骤S102具体为 将该数据除以预设的除数,获取对应的商与余数;当该余数在预设的范围内时,将该余数对应的商加1,否则商不变,获取处理后的商的最大公约数。在具体实施过程中,因为脉宽计数的值都比较大,也即获取的该数据比较大,比较耗费FPGA资源,所以需要对该数据进行最小化处理,方便后续获取最大公约数的计算,且由于脉冲宽度通过FPGA、单片机等计数实现,当使用晶振为48M HZ时,对应每bit宽度计数为20000、10000、5000、2500、1250等,则选择预设的除数为1250的整数倍,例如统一除以1250,最大脉宽为180000时,得到的商的最大值为144,从而对获取的该数据进行了最小化处理。进一步地,结合实际情况,最宽脉宽理论值为180000,即在波特率2400的情况下,数据为00,起始位为0,低脉冲共9位,每位宽度计数为20000的情况下,脉宽固定在180000 ;或者数据为FF,停止位为I,高脉冲共9位,加上byte与byte之间的时间间隔,所以当计数值超过180000时,如考虑误差,当计数值超过180050时,即可将所得数据强制改为180000,避免更大数据的计算。另外,由于使用FPGA的计数频率高达48MHz,计数是非常精确的,大部分的数据都不是1250的整数倍,所以对数据求商、求余数这一步也是至关重要的一个步骤,不可省略,例如在将该数据除以1250以后,获取每一个数据对应的商与余数,当该余数在预设的范围内时,例如,为本发明实施例最优的预设的范围[625 1250)时,将该余数对应的商加1,否贝U,商不变,获取处理后的商的最大公约数。在具体的求最大公约数过程中,可以对获取的所有商直接求最大公约数,也可以将该处理后的商进行大小排序,相同的数值仅保留一个,组成一个数组,由于只对高电平以及低电平脉冲信号宽度进行采集,而采集的数据会有重复,则该数组的长度最多为9,对该数组里面的数据求最大公约数,设为g,则gX 1250即为所采集的高电平以及低电平所持续的时间或者为脉冲宽度中的最窄脉宽,该脉宽为Ibit脉宽的整数倍。在步骤S103中,根据预设的最大公约数与波特率之间的对应关系,获取与该最小化处理后的数据的最大公约数对应的第一波特率。其中,该预设的最大公约数与波特率之间的对应关系,如下表一但不限于表一所示关系,该表一为预设的除数为1250, Ibit位宽的情况
权利要求
1.一种串行通信波特率识别方法,其特征在于,所述方法包括下述步骤 步骤I:对接收到的高低电平脉冲信号宽度各进行预设次数的采集,获取采集后的数据; 步骤2 :对所述数据进行最小化处理,获取最小化处理后的数据的最大公约数; 步骤3 :根据预设的最大公约数与波特率之间的对应关系,获取与所述最大公约数对应的第一波特率; 步骤4 :重新执行步骤I、步骤2,并根据预设的最大公约数与波特率之间的对应关系,获取与所述最大公约数对应的第二波特率; 步骤5 :判断所述第一波特率与所述第二波特率是否相同,是,则所述第二波特率为有效波特率,否则,当判定所述第二波特率获取的次数小于预设的波特率获取次数时,将所述第一波特率更新为所述第二波特率,并转至执行步骤4。
2.如权利要求I所述的方法,其特征在于,在所述步骤I之前,所述方法还包括 接收来自MCU的请求信息,当判断所述请求信息为波特率识别获取请求时,执行步骤Io
3.如权利要求I所述的方法,其特征在于,所述预设次数为不少于9次。
4.如权利要求I所述的方法,其特征在于,对所述数据进行最小化处理后,获取最小化处理后的数据的最大公约数的步骤具体为 将所述数据除以预设的除数,获取对应的商与余数; 当所述余数在预设的范围内时,将所述余数对应的商加1,否则商不变,获取处理后的商的最大公约数。
5.如权利要求4所述的方法,其特征在于,所述预设的除数为1250的整数倍。
6.一种串行通信波特率识别装置,其特征在于,所述装置包括采集单元、数据处理单元、第一波特率获取单元、第二波特率获取单元、识别判定单元以及波特率更新单元,其中 采集单元,用于对接收到的高低电平脉冲信号宽度各进行预设次数的采集,获取采集后的数据; 数据处理单元,用于对采集单元输出的数据进行最小化处理,获取最小化处理后的数据的最大公约数; 第一波特率获取单元,用于根据预设的最大公约数与波特率之间的对应关系,获取与数据处理单元输出的最大公约数对应的第一波特率; 第二波特率获取单元,用于触发所述采集单元以及所述数据处理单元,根据预设的最大公约数与波特率之间的对应关系,获取与数据处理单元输出的最大公约数对应的第二波特率; 识别判定单元,用于当所述第一波特率获取单元输出的第一波特率与所述第二特率获取单元输出的第二波特率相同时,判定所述第二波特率为有效波特率;以及 波特率更新单元,用于当所述第一波特率获取单元输出的第一波特率与所述第二特率获取单元输出的第二波特率不相同,且判定所述第二波特率获取的次数小于预设的波特率获取次数时,将所述第一波特率更新为所述第二波特率,触发所述第二波特率获取单元。
7.如权利要求6所述的装置,其特征在于,所述装置还包括请求判断单元,用于接收来自MCU的请求信息,当判断所述请求信息为波特率识别获取请求时,触发采集单元。
8.如权利要求6所述的装置,其特征在于,所述数据处理单元还包括 最小化处理单元,用于将所述数据除以预设的除数,获取对应的商与余数;以及最大公约数获取单元,用于当所述余数在预设的范围内时,将所述余数对应的商加1,否则商不变,获取处理后的商的最大公约数。
9.如权利要求8所述的装置,其特征在于,所述预设的除数为1250的整数倍。
10.一种监控设备,其特征在于,所述监控设备包括权利要求6至9任一项所述的识别>j-U ρ α装直。
全文摘要
本发明适用于通信技术领域,提供了一种串行通信波特率识别方法、装置及监控设备,所述方法包括对接收到的高低电平脉冲信号宽度各进行预设次数的采集;对获取到的采集后的数据进行最小化处理,获取最小化处理后数据的最大公约数;根据预设的最大公约数与波特率间的对应关系,获取与该最大公约数对应的第一波特率;重新执行前两个步骤,根据预设的最大公约数与波特率之间的对应关系,获取第二波特率;当该第一波特率与该第二波特率不相同,且该第二波特率获取的次数小于预设的波特率获取次数时,将该第一波特率更新为该第二波特率,并返回执行第四个步骤,直至第一波特率与获取的第二波特率相同,从而提高了波特率识别方法的灵活性与通用性。
文档编号H04L12/26GK102904766SQ201110211789
公开日2013年1月30日 申请日期2011年7月27日 优先权日2011年7月27日
发明者罗玮杰, 胡正文, 孔亚军 申请人:深圳英飞拓科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1