新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機串行通信波特率的自適應(yīng)實現(xiàn)方法

單片機串行通信波特率的自適應(yīng)實現(xiàn)方法

作者: 時間:2012-02-13 來源:網(wǎng)絡(luò) 收藏

異步中,目前率自動檢測并的設(shè)計思想有多種,可是他們或者需要額外的硬件支持,或者繁雜且軟件開銷大。文章介紹了一種簡單可靠的用軟件率自動,并給出了仿真調(diào)試電路原理圖,給出了同步程序的詳細(xì)框圖。該提高了率解調(diào)的便捷性和兼容性。

本文引用地址:http://m.butianyuan.cn/article/172120.htm

1 仿真電路

SST89C54/58是MCS-51系列的派生產(chǎn)品,他們在指令系統(tǒng)、硬件結(jié)構(gòu)和片內(nèi)資源上與標(biāo)準(zhǔn)8052完全兼容。實際上 SST公司的SST89C54/58是一款使用非常方便51系列單片機,如不考慮其看門狗定時器和內(nèi)部Flash程序存儲器,可以將其看成是一個可在線編程的標(biāo)準(zhǔn)8052單片機。圖1為實現(xiàn)仿真調(diào)試硬件原理圖,這是一個通用的接口電路INT0腳用來啟動從機同步。同步建立后的數(shù)據(jù)傳送過程中外部中斷0被禁止,而一批數(shù)據(jù)傳送完畢后進(jìn)入待機監(jiān)控狀態(tài)時則開 放外中斷。

23.jpg

2 波特率自適應(yīng)實現(xiàn)原理

2.1 波特率

對于8052單片機,串行通信用定時器1或定時器2作波特率發(fā)生器,波特率取決于他們的溢出率。當(dāng)串行口在工作方式1,3,用定時器1作波特率發(fā)生器時, 則波特率計算如下:

24.jpg

當(dāng)定時器1工作方式2時,n=8,X為定時器1初值。

當(dāng)定時器1工作方式1時,n=16,X為定時器1初值。

若用定時器2作波特率發(fā)生器時,則波特率計算公式如下:

25.jpg

其中:X為定時器2的初值。

2.2 波特率自適應(yīng)原理

主機端要求和從機建立通信時,先發(fā)送同步字符80H,從機根據(jù)此同步字符來計算當(dāng)前的通信速率,并設(shè)置此值為本從機的波特率,從而完成通信速率的自適應(yīng)。以串行通信方式1為例,他是一個10位的數(shù)據(jù)格式,如圖2所示。

26.jpg

所以,在發(fā)送同步字符80H時,在數(shù)據(jù)線上他所呈現(xiàn)的電平狀態(tài)如圖3所示。

從機通過檢測本機RXD引腳的信號,并利用定時器對RXD信號的低電平進(jìn)行寬度測量,其負(fù)脈寬時間TDOWN剛好是8位數(shù)據(jù)的寬度,這有利于波特率發(fā)生器初值的計算。采用定時器0方式1并置初值0對TDOWN進(jìn)行定時,可得計數(shù)值TH0,TL0,用XT來表示,設(shè)從機晶振為ff,

27.jpg


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉