專利名稱:一種基于排序脈寬差分的波特率自適應方法
技術領域:
本發明涉及波特率自適應方法,尤其涉及一種基于排序脈寬差分的波特率自適應方法。
背景技術:
工業測控、智能建筑、環境監測、能源管理、航天航空等領域廣泛應用控制簡單、易擴展、低成本的串行總線,實現分布式系統。串行總線上各節點波特率匹配是系統正常通信的前提,需對各節點波特率進行配置。分布式系統中節點往往數量龐大且位置分散,如人工配置各節點波特率,系統搭建效率低、成本高;一旦系統波特率改變,系統中所有節點波特率都必須重新配置,系統安裝、擴展及維護成本非常高。基于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日
發明者劉桂雄, 葉季衡, 周岳斌, 陳耿新 申請人:華南理工大學