當(dāng)前位置:首頁 > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]對串行通信波特率自動識別的方法進(jìn)行深入的研究和分析;創(chuàng)新性地提出在碼元寬度捕捉的基礎(chǔ)上,用求最大公約數(shù)的方法進(jìn)行波特率的自動識別,實現(xiàn)了不對待測系統(tǒng)發(fā)送的數(shù)據(jù)進(jìn)行特殊要求即實現(xiàn)其串行通信數(shù)據(jù)的有效識別。

摘要串行通信波特率自動識別的方法進(jìn)行深入的研究和分析;創(chuàng)新性地提出在碼元寬度捕捉的基礎(chǔ)上,用求最大公約數(shù)的方法進(jìn)行波特率的自動識別,實現(xiàn)了不對待測系統(tǒng)發(fā)送的數(shù)據(jù)進(jìn)行特殊要求即實現(xiàn)其串行通信數(shù)據(jù)的有效識別。該方法具有一般性,可廣泛應(yīng)用于多機(jī)通信、通信測試等不同的領(lǐng)域。
關(guān)鍵詞 串行通信波特率 自動識別 最大公約數(shù)法


    對于異步串行通信,只有在通信雙方波特率相同時,才能實現(xiàn)數(shù)據(jù)的正確傳輸與接收;而一些系統(tǒng)總是希望能實現(xiàn)對各種波特率的兼容。通常的實現(xiàn)方法是,要求對方首先發(fā)出規(guī)定的字符或數(shù)據(jù),系統(tǒng)收到該字符或數(shù)據(jù)后,計算對方的波特率.以適應(yīng)對方的波特率進(jìn)行工作,例如某些無線收發(fā)模塊、GSM通信模塊等。然而對于檢測、測試等領(lǐng)域,是不能要求被測系統(tǒng)發(fā)送某個固定的字符或數(shù)據(jù)的,那么對于這類通信系統(tǒng),如何實現(xiàn)波特率的可靠識別呢?本文創(chuàng)新性地提出了在碼元寬度捕捉的基礎(chǔ)上求最大公約數(shù)的方法。該方法不對待測系統(tǒng)發(fā)送的數(shù)據(jù)進(jìn)行特殊要求即可實現(xiàn)波特率識別,且保證了波特率識別的有效性和可靠性。下面對該方法進(jìn)行詳細(xì)說明。


1 波特率自動識別的傳統(tǒng)方法及基本原理

    串行通信的數(shù)據(jù)是按位順序傳輸?shù)?,而異步串行通信由于沒有位定時時鐘,因此各個數(shù)據(jù)位之問需要嚴(yán)格的定時,才能保證正確的通信。也就是說,只有在通信雙方波特率相同時,才能實現(xiàn)數(shù)據(jù)的正確傳輸與接收。傳統(tǒng)的波特率自動識別的方法主要有兩種:
    ①標(biāo)準(zhǔn)波特率窮舉法。標(biāo)準(zhǔn)波特率窮舉法適用于主機(jī)側(cè)的波特率必須在有限的幾個固定數(shù)值之間變化,如300~19200之間的標(biāo)準(zhǔn)值;且從機(jī)側(cè)的工作振蕩頻率已知且穩(wěn)定。從機(jī)啟動通信程序后,逐個嘗試以不同的波特率接收主機(jī)發(fā)出的特定字符,直到能正確接收為止,因此,該方法的運用有一定的局限性。
    ②碼元寬度實時檢測法。該方法要求主機(jī)按照約定發(fā)送某一數(shù)據(jù),從機(jī)通過單片機(jī)的定時器測量RXD引腳上輸入數(shù)據(jù)的碼元寬度,而后計算出待測系統(tǒng)通信的波特率。該方法目前應(yīng)用比較廣泛。例如,某GSM模塊在設(shè)計時為了適應(yīng)各種通信波特率,要求其通信的系統(tǒng)首先發(fā)送08H,之后發(fā)送指令,它就是依靠數(shù)據(jù)08H的碼元寬度計算出對方波特率的。

2 最大公約數(shù)法的原理及其實現(xiàn)
   
傳統(tǒng)的方法對待測系統(tǒng)發(fā)送的數(shù)據(jù)都有一定的限制或要求才能夠?qū)崿F(xiàn)波特率的識別,但有些時候是無法約束待測系統(tǒng)首先發(fā)送特定字符的。這里,根據(jù)不同的應(yīng)用需求,提出更為通用的波特率識別方法——最大公約數(shù)法。
    為了便于說明問題,設(shè)主機(jī)的波特率為BPS,位傳輸時間為t1bit,測試系統(tǒng)測得的波特率為BAUD,位傳輸時間為txbit。以l位起始位、8位數(shù)據(jù)位、1位停止位、無奇偶校驗位為例,通信數(shù)據(jù)格式如圖l所示。除了起始位始終為0,停止位始終為1外,8位數(shù)據(jù)位的電平高低是由傳輸?shù)臄?shù)據(jù)決定的,要測得待測系統(tǒng)的波特率,根據(jù)波特率的實際意義BPS=l/t1bit,只要檢測出待測系統(tǒng)通信數(shù)據(jù)的位傳輸時間t1bit即可。

    位傳輸時間t1bit對應(yīng)的就是單位碼元寬度時間,只要知道單位碼元寬度時間,系統(tǒng)波特率就很容易計算出來了。由于不能要求待測系統(tǒng)按照規(guī)定發(fā)出特定的數(shù)據(jù)或字符,因此這里使用碼元寬度捕捉的方法來查找碼元寬度時間,要將單片機(jī)掛入待測系統(tǒng)的通信線路,采用對待測系統(tǒng)TXD(或RXD)引腳的高、低電平脈沖持續(xù)時間不斷采集的方式,來捕捉單位碼元寬度時間t1bit,顯然單片機(jī)直接采集到的單個高、低電平脈沖持續(xù)時間可能是nt1bit,其中1≤n≤9。如何從采集到的nt1bit找出t1bit,成為波特率識別的關(guān)鍵。
    經(jīng)過對串行通信數(shù)據(jù)格式的特點進(jìn)行分析,本文提出了碼元寬度最大公約數(shù)法來從捕捉到的碼元寬度時間中計算單位碼元寬度時間,也就是位傳輸時間t1bit。具體實現(xiàn)方法如下:在待測系統(tǒng)正常工作后,將測試單片機(jī)掛入其通信線路;首先對正、負(fù)脈沖寬度都進(jìn)行計時,分別采集n次,剔除正脈沖溢出的部分后,把所有不相等的有效脈沖寬度時間從小到大排序(△t<5μs就認(rèn)為兩個時間相等,這一點在后面將有說明),假設(shè)依次為t1,t2,t3,…,tm(1≤m≤9);由于采集到的時間一定是t1bit的整數(shù)倍,計算出t1,t2,t3,…,tm的最大公約數(shù)為txbit,那么txbit就可以作為系統(tǒng)的最小脈沖寬度來計算波特率。這里計算得到的txbit可能等于t1bit,也可能不等于t1bit。下面分類討論其作為位傳輸時間t1bit來計算波特率的可靠性及依據(jù)。
    第1種情況,txbit=t1bit:待測系統(tǒng)通信過程中出現(xiàn)最窄正脈沖或最窄負(fù)脈沖,得到的txbit等于t1bit,那么使用txbit計算波特率是可靠的;待測系統(tǒng)通信過程中未出現(xiàn)最窄正脈沖或最窄負(fù)脈沖,但系統(tǒng)通信過程中出現(xiàn)的脈沖寬度的最大公約數(shù)為最窄脈沖寬度,如待測系統(tǒng)處出現(xiàn)了2t1bit、3t1bit脈沖時間或者待測系統(tǒng)出現(xiàn)了4t1bit,7t1bit、8t1bit脈沖時間,此時最大公約數(shù)txbit仍等于t1bit,這種情況下波特率是可以可靠識別的。
    第2種情況,txbit≠t1bit,即txbit=N’t1bit(2≤N’≤9):若系統(tǒng)通信過程中出現(xiàn)的脈沖寬度時間都是N’t1bit的整數(shù)倍,以N’=2為例,待測系統(tǒng)通信過程中可能只出現(xiàn)類似圖2(a)所示的數(shù)據(jù),求得的最大公約數(shù)txbit=2t1bit,BAUD=BPS/2,實際測得的波特率是被測系統(tǒng)波特率的1/2。但我們注意到,測得的數(shù)據(jù)如圖2(b)所示,依次為FFH、FEH、FDH、FCH、FBH、FAH、F9H、F8H,盡管測得的波特率并不是被測系統(tǒng)波特率,但是并不會導(dǎo)致信息丟失,所有的數(shù)據(jù)都可以正確還原,因此這種情況下使用最大公約數(shù)法計算波特率也是完全可靠的。

    求最大公約數(shù)需要注意的問題:
    ①近似相等。前面提到,檢測到的串行通信某兩個脈沖寬度時間差△t<5μs就認(rèn)為兩個時間近似相等,這是由串行通信的特點決定的。假設(shè)采集系統(tǒng)設(shè)計指標(biāo)要求系統(tǒng)能夠識別波特率在300~38 400 bps,那么計算可得位傳輸時間t1bit為26μs≤t1bit≤3400μs;而檢測到的脈沖時間可以表達(dá)為nt1bit,其中n為自然數(shù)日1≤n≤9,那么任意兩個脈沖寬度的時間差△t=(n-1)t1bit。顯然兩個脈沖的時間差△t,要么為t1bit的整數(shù)倍,要么為O,而26μs≤t1bit≤3400μs,因此如果檢測到待測系統(tǒng)的某兩個脈沖寬度時間差△t小于5μs,那么就可以認(rèn)為兩個時間近似相等(實驗結(jié)果表明,任意兩個脈沖寬度時間差都小于等于2μs,之所以有時不等于0,是由串行通信時脈沖上升沿和下降沿時間及單片機(jī)啟動計時與結(jié)束計時帶來的誤差)。
    ②近似等于0。位傳輸時間t1bit為26μs≤t1bit≤3400μs,所以檢測到的脈沖寬度一定≥26μs。如果檢測到待測系統(tǒng)的脈沖寬度小于5μs,就可以認(rèn)為其近似等于O。實際上經(jīng)過大量的實驗,直接檢測到某脈沖寬度時間小于5μs的結(jié)果是不會出現(xiàn)的。其意義在于:在計算最大公約數(shù)時,要用采集到的有效脈沖時間t1,t2,t3,…,tm分別除以最小時間t1,設(shè)余數(shù)由小到大依次為A2,A3,…,Am,此時除了與t1近似相等的余數(shù)外,還有一部分余數(shù)小于5μs,那么此時就認(rèn)為余數(shù)近似等于0,剩下的部分余數(shù)既不近似等于t1也不近似等于O。近似相等的余數(shù)只保留一個,設(shè)這些余數(shù)從小到大依次為Ax、Ay、Az(最多有3個),那么就認(rèn)為Ax、Ay、Az是計算得到的更小的脈沖寬度時間。然后用前面采集到的時間t1,t2,t3,…,tm和Ay、Az,分別除以Ax。假設(shè)余數(shù)分別為B1,B2,B3,…,Bk,如果不存在余數(shù)符合在區(qū)間(5,Ax-5),那么Ax可以作為t1bit來計算波特率;如果存在Bx滿足條件,那么Bx就可以作為t1bit來計算被測系統(tǒng)波特率(不需要繼續(xù)求余,其依據(jù)不再贅述)。


3 實驗結(jié)果及結(jié)論
   
由于波特率在±3%的偏移范圍內(nèi)仍然可以正確識別和通信,因此筆者判斷不同波特率的位傳輸時間的參考區(qū)間如表1所列。經(jīng)過大量的實驗與測試,這里也給出了不同波特率時采集到的位傳輸時間典型值與波特率的對應(yīng)關(guān)系,采集到的其他樣本值與典型值的最大偏差均小于1%,因此該方法實現(xiàn)波特率識別是可行、可靠的。

    本文提出的碼元寬度最大公約數(shù)法實現(xiàn)波特率識別,使用C5l系列單片機(jī)及匯編語言即可實現(xiàn);其算法簡單,程序空間需求小,速度快,效率高。在需要實時檢測與數(shù)據(jù)處理的應(yīng)用設(shè)計中,可以使用按鍵中斷的方式啟動波特率識別程序,識別完成后檢測系統(tǒng)設(shè)置自身的波特率與待測系統(tǒng)一致后中斷返回,進(jìn)入主程序進(jìn)行通信和數(shù)據(jù)處理。經(jīng)過大量測試和實驗,證明該方法實現(xiàn)波特率識別是可行且可靠的,可以在不同的應(yīng)用領(lǐng)域推廣,尤其在檢測和測試領(lǐng)域有著很大的潛力。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉