专利名称:一种基于排序脉宽差分的波特率自适应方法
技术领域:
本发明涉及波特率自适应方法,尤其涉及一种基于排序脉宽差分的波特率自适应方法。
背景技术:
工业测控、智能建筑、环境监测、能源管理、航天航空等领域广泛应用控制简单、易扩展、低成本的串行总线,实现分布式系统。串行总线上各节点波特率匹配是系统正常通信的前提,需对各节点波特率进行配置。分布式系统中节点往往数量庞大且位置分散,如人工配置各节点波特率,系统搭建效率低、成本高;一旦系统波特率改变,系统中所有节点波特率都必须重新配置,系统安装、扩展及维护成本非常高。基于IEEE 1451的智能传感系统是一种标准化、智能化、网络化的新型测控系统。 IEEE 1451智能传感器由智能变换器接口模块(Smart Transducer Interface Module, STIM)和网络适配处理器模块(Network Capable Application Processor,NCAP)构成,通过标准接口及变换器电子数据表格(Transducers Electronic Data Sheet, TEDS)实现传感器即插即用;IEEE 1451.2(修订)通过通用串行通信接口及TEDS实现传感器即插即用, 但并未说明波特率自适应方法。基于串行总线的分布式系统亟需解决波特率自适应的问题,实现其智能化、即插即用,提高效率,降低成本。目前,在波特率自适应相关技术中,主要有固定波特率穷举法、脉冲宽度实时检测法。固定波特率穷举法要求系统波特率必须是若干个固定值(如标准波特率)。从节点接入系统并启动后,逐个尝试该系列固定波特率,直至正确接收到主节点发送的特定帧。该方法仅能自适应若干固定波特率,且要求主节点发送特定帧,效率低,运用上有较大局限性。 脉冲宽度实时检测法主要有基于特定码元宽度的实时检测法和基于最小脉冲宽度的实时检测法。基于特定码元宽度的实时检测法需要从节点(硬件或软件)检测主节点发送的特定码元宽度,然后计算波特率,该方法克服了固定波特率穷举法仅能匹配固定波特率和效率低的问题,但仍要求主节点发送特定帧,其灵活性和通用性欠缺。基于最小脉冲宽度的实时检测法通过(硬件或软件)检测足够多的脉冲宽度,以其中最小脉冲宽度计算波特率,该方法克服了上述两种方法的不足,适应性较强,但只有在检测到Ibit脉冲宽度的条件下, 才能得到正确的波特率。
发明内容
为解决上述波特率自适应技术的问题与缺陷,本发明提供了一种基于排序脉宽差分的波特率自适应方法。本发明是通过以下技术方案实现的本发明所涉及的一种基于排序脉宽差分的波特率自适应方法,从节点在无需接收特定帧和未检测到Ibit脉冲宽度的情况下,基于排序脉宽差分充分挖掘串行总线上其他节点间通信的脉冲宽度中隐含的系统波特率信息,实现该从节点波特率自适应;所述方法主要包括以下步骤A.采集、测量若干脉冲,从小到大排序所有不相等的脉冲宽度;B.排序脉宽差分计算,求解最小脉冲宽度;C.利用最小脉冲宽度计算从节点波特率;D.比较从节点波特率与系统波特率是否匹配。本发明提供的技术方案的有益效果是充分挖掘串行总线上其他节点间通信的脉冲宽度中隐含的系统波特率信息。从节点接入系统并启动后,在无需接收特定帧和未检测到Ibit脉冲宽度的情况下,快速实现各种波特率自适应。本方法适应性强、算法简单、效率高、可靠性高,可广泛应用于串行总线的波特率自适应。
图1是基于排序脉宽差分的波特率自适应方法流程图;图2是波特率确认询问帧的帧格式;图3是基于IEEE 1451的RS485分布式智能传感系统架构图;图4是一种基于排序脉宽差分波特率自适应的STIM电路原理图;图5是基于排序脉宽差分波特率自适应的STIM即插即用的主程序流程图;图6是基于排序脉宽差分波特率自适应的STIM即插即用的定时器中断程序流程图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图详细说明。如图1所示,展示了基于排序脉宽差分的波特率自适应方法,从节点在无需接收特定帧和未检测到Ibit脉冲宽度的情况下,基于排序脉宽差分充分挖掘串行总线上其他节点间通信的脉冲宽度中隐含的系统波特率信息,实现该从节点波特率自适应;上述特定帧为帧格式、帧长度、数据均作出规定的帧;该方法包括以下步骤步骤10采集、测量若干脉冲,从小到大排序所有不相等的脉冲宽度。上述步骤具体包括从节点接入系统并启动后,采集、测量串行总线上其他节点间通信的η (η > 1)个脉冲(正脉冲或负脉冲),将所有不相等的脉冲宽度从小到大排序,得到第1个递增脉宽序列
权利要求
1.一种基于排序脉宽差分的波特率自适应方法,其特征在于,从节点在无需接收特定帧和未检测到Ibit脉冲宽度的情况下,基于排序脉宽差分充分挖掘串行总线上其他节点间通信的脉冲宽度中隐含的系统波特率信息,实现该从节点波特率自适应;上述特定帧为 帧格式、帧长度、数据均作出规定的帧;所述方法主要包括以下步骤A.采集、测量若干脉冲,从小到大排序所有不相等的脉冲宽度;B.排序脉宽差分计算,求解最小脉冲宽度;C.利用最小脉冲宽度计算从节点波特率;D.比较从节点波特率与系统波特率是否匹配。
2.根据权利要求1所述的基于排序脉宽差分的波特率自适应方法,其特征在于,所述步骤A具体包括采集、测量串行总线上其他节点间通信的若干个脉冲,从小到大排序所有不相等的脉冲宽度,得到第1个递增脉宽序列。
3.根据权利要求1和2所述的基于排序脉宽差分的波特率自适应方法,其特征在于,所述步骤B中排序脉宽差分具体包括将最新递增脉宽序列中相邻脉冲宽度逐一相减,并将相减得到的脉宽序列与相减前的递增脉宽序列中所有不相等的脉冲宽度从小到大重新排序,得到新的递增脉宽序列;当前后两个递增脉宽序列不相同时,继续上述排序脉宽差分计算,直至前后两个递增脉宽序列相同,最终的递增脉宽序列第1项为最小脉冲宽度。
4.根据权利要求1和3所述的基于排序脉宽差分的波特率自适应方法,其特征在于,所述步骤C具体包括从节点波特率BR' i等于上述步骤B中求得的最小脉冲宽度的倒数,其中i表示第i次计算BR' it)
5.根据权利要求1和4所述的基于排序脉宽差分的波特率自适应方法,其特征在于,所述步骤D具体包括从节点向主节点发送波特率确认询问帧,该帧包含BR' i信息;主节点如果收到波特率确认询问帧,且该帧中BR' i信息与BR匹配,则向从节点发送波特率确认应答帧;从节点如果在规定时间内收到波特率确认应答帧,则波特率自适应成功,否则返回上述步骤A、B、C和D,重新计算BR' i及比较BR' i与BR是否匹配,直至波特率匹配。
全文摘要
本发明公布了一种基于排序脉宽差分的波特率自适应方法,该方法主要包括采集、测量串行总线上若干脉冲,从小到大排序所有不相等的脉冲宽度;排序脉宽差分计算,求解最小脉冲宽度;利用最小脉冲宽度计算从节点波特率BR′i(其中i表示第i次计算BR′i);比较从节点波特率BR′i与系统波特率BR是否匹配,如果不匹配,则重复上述全部步骤重新计算BR′i及比较BR′i与BR是否匹配,直至两者匹配。本方法充分挖掘串行总线上其他节点间通信的脉冲宽度中隐含的系统波特率信息,从节点在无需接收特定帧和未检测到1bit脉冲宽度的情况下,实现波特率快速自适应。本方法具有适应性强、算法简单、效率高、可靠性高等特点,可广泛应用于串行总线的波特率自适应。
文档编号H04L25/02GK102201960SQ201110108389
公开日2011年9月28日 申请日期2011年4月28日 优先权日2011年4月28日
发明者刘桂雄, 叶季衡, 周岳斌, 陈耿新 申请人:华南理工大学