新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > STC單片機波特率自適應方法

        STC單片機波特率自適應方法

        作者: 時間:2014-01-16 來源:網絡 收藏

          0 引言

          串口RS 232是工業控制、儀器儀表、計算機外設常用的一種通信協議。串口通信的一般都是選取標準系列值,并要求通信雙方嚴格遵循相同的,實際應用中,一臺設備往往要與多種其他設備聯絡,為適應各種不同設備的通信速度,就要求該設備能適應不同的,實現這種要求的常見方法有兩種,一是增加波特率選擇開關,二是設計能自動適應各種常見通信速度的串口。第一種方法增加了硬件,同時針對不同對象需要重新設置開關,在不清楚對方波特率的情況下還無法使用。第二種方法采用軟硬件結合,通過檢測、計算,自動選擇正確的波特率,實際使用極其方便。

          自適應波特率串口的實現方法通常有以下幾種:

         ?。?)協議約定通信開始時主機固定發送1 個字符,從機以不同的波特率試探接收,當接收到的數據與約定相同時,確定該波特率即是正確的通信波特率。

         ?。?)協議約定通信開始時主機發送1 串字符,從機以某固定波特率接收,然后通過軟件分析接收到的數據,計算出接收數據與發送數據之間的倍數關系,從而確定正確的波特率。

         ?。?)協議約定通信開始時主機固定發送1 個字符,從機用單片機定時器檢測RXD 上的信號寬度,通過計算來確定主機的波特率。

          以上3 種方法,第一種由于需要多次試探,效率很低;第二種計算量過大,不適合單片機處理;第三種方式單片機有現成的定時器資源,計算也相對簡單,所以優選這種。

          要測量脈沖寬度,前提是單片機的時鐘信號必須穩定。目前很多可選外接晶振時鐘或片內RC振蕩時鐘,片內RC振蕩時鐘省去了外部的晶振等元件,成本降低、電路板的體積也可以縮小,這對成本及體積敏感的應用很具優勢。但選用片內RC振蕩時,頻率會有±15%左右的誤差,頻率的穩定性也比外接晶振要差,按理論計算值設置波特率參數,無法保證可靠的通信,但按以上自適應波特率串口的第三種方法,每次通信前實測、計算、確定波特率常數,就可以實現穩定可靠的通信,這樣充分利用了的優勢。

          1 STC 單片機的特點

          標準51 芯片由于定時器最高分辨率只有1 μs,對于較高的通信波特率來說,測量精度不夠,導致計算值不準,無法正常工作。STC系列單片機是在標準51單片機基礎上發展起來的,它增加了很多實用的接口電路,擴大了時鐘的頻率范圍,設計出了1T 時鐘的芯片,可以通過軟件對系統時鐘分頻,并提供了片內RC振蕩時鐘,在目前51芯片的市場占有極大的份額。STC系列單片機采用片內RC振蕩時鐘、自適應波特率串口通信技術,可以廣泛地應用于分布式控制、智能儀表、通信等行業。

          2 自適應工作原理

          STC 單片機采用異步通信,UART 工作于模式1(8位UART,波特率可變),用定時計數器2做波特率發生器,工作于模式2(8位自動重裝模式),主從機按圖1方式連接,從機自適應主機的波特率。

          

          自適應過程由主機發送聯絡字符開始。為了使從機獲得最大的測量脈寬,提高測量精度,由主機發送二進制“0”.如圖2所示,二進制“0”由1位起始位,8位數據位(低位在先)及1位停止位構成,其中1位起始位和8位數據位全為0,所以低電平的寬度為9 b.

          

          從機查詢RXD引腳的電平,檢測到低電平后就啟動定時器0開始計時,再檢測到高電平就停止定時器0計時,根據定時器0的定時值就可以計算出主機的波特率。

          當時鐘分頻寄存器CLK_DIV=0(不分頻),特殊功能寄存器AUXR=0xC0(T0 用1T 時鐘),則:

          

          而STC51 系列單片機在UART 模式1,時鐘模式為1T 時,其波特率公式為:

          

          從機UART在模式1下,將式(4)或式(6)計算結果作為定時器1重裝值,設定通信參數,通過串口回送應答信號給主機。主機如正確接收到從機回送的信號,就說明從機已完成波特率自適應,可以開始正常通信了。

        51單片機相關文章:51單片機教程


        單片機相關文章:單片機教程


        單片機相關文章:單片機視頻教程


        單片機相關文章:單片機工作原理


        數字通信相關文章:數字通信原理


        通信相關文章:通信原理


        負離子發生器相關文章:負離子發生器原理
        塵埃粒子計數器相關文章:塵埃粒子計數器原理
        晶振相關文章:晶振原理
        離子色譜儀相關文章:離子色譜儀原理

        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 上虞市| 乐平市| 循化| 灵宝市| 南乐县| 玉环县| 措美县| 嘉峪关市| 丰顺县| 海原县| 德钦县| 八宿县| 塔城市| 安泽县| 土默特左旗| 江永县| 太康县| 兴城市| 彩票| 锦屏县| 来凤县| 常山县| 兴海县| 会昌县| 加查县| 石家庄市| 墨竹工卡县| 天峨县| 隆尧县| 广丰县| 陆良县| 五家渠市| 永兴县| 定边县| 鸡泽县| 黑山县| 开鲁县| 鄂伦春自治旗| 锦屏县| 富平县| 华亭县|