日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
單片機(jī)串行通信波特率的自適應(yīng)實現(xiàn)方法
單片機(jī)串行通信波特率的自適應(yīng)實現(xiàn)方法
 更新時間:2008-8-4 4:25:36  點擊數(shù):14
【字體: 字體顏色


     :串行數(shù)據(jù)通信是各種單片機(jī)多機(jī)應(yīng)用系統(tǒng)和開發(fā)系統(tǒng)中不可或缺的功能,而如何實現(xiàn)通信雙方速率的匹配極為重要。文中提出了一種由從機(jī)自動適應(yīng)主機(jī)波特率的新方法,此法方便實用,握手時間快。此方法成功地應(yīng)用于SST89C54/58構(gòu)成的IAP編程系統(tǒng)中,同樣也適用于各種類型的單片機(jī)系統(tǒng)。<!--摘要CH(結(jié)束)←-->
<!--→關(guān)鍵CH(開始)-->  關(guān)鍵詞:串行通信;波特率;自適應(yīng);SST89C54/58;IAP;
<!--關(guān)鍵CH(結(jié)束)←--><!--→作者EN(開始)-->

 

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

1 仿真電路

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

  

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

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


  當(dāng)定時器1工作方式2時,n=8,X為定時器1初值。
  當(dāng)定時器1工作方式1時,n=16,X為定時器1初值。
  若用定時器2作波特率發(fā)生器時,則波特率計算公式如下:

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

  

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

  

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


  比較式(3)和式(4),主機(jī)和從機(jī)波特率應(yīng)設(shè)置相等,則可得從機(jī)波特率發(fā)生器T1的裝入初值為:
  
  由式(5)可看出,從機(jī)波特率發(fā)生器裝入初值與晶振無關(guān),且當(dāng)N=8時分母為28,此時后一項做除法運(yùn)算最為方便,分子右移8位即可,在程序運(yùn)算中只需丟棄分子的最后一個字節(jié)即可。
   若使用定時器2作波特率發(fā)生器,則易得其初值應(yīng)為:

3 波特率自適應(yīng)法在IAP編程握手同步中的應(yīng)用
  SST89C54/58單片機(jī)可以方便地實現(xiàn)IAP(InApplication Programming),通過IAP功能可以在應(yīng)用板上直接下載程序,不需任何編程器就可以完成單片機(jī)系統(tǒng)的開發(fā)及單片機(jī)教學(xué)實驗。作者基于IAP模塊設(shè)計了一款專用的51單片機(jī)開發(fā)學(xué)習(xí)系統(tǒng),其成本不超過50元,為標(biāo)準(zhǔn)51,52系列單片機(jī)的開發(fā)與學(xué)習(xí)提供了一種便捷而廉價的手段和方法。
  使用IAP功能可以對產(chǎn)品的軟件進(jìn)行在線升級,而不需要其他硬件?梢赃@樣說,單片機(jī)系統(tǒng)只要有串行口,利用IAP功能通過串行口便可將PC機(jī)內(nèi)的產(chǎn)品升級軟件下載到產(chǎn)品中去,而實現(xiàn)產(chǎn)品軟件升級換代。甚至在遠(yuǎn)程通過Modem對產(chǎn)品進(jìn)行軟件升級,這也將是以后各種電子產(chǎn)品發(fā)展的必然趨勢。而在線升級離不開通信速率的自動適應(yīng)。

  同步握手中斷處理程序流程圖如圖4所示。從機(jī)在待機(jī)監(jiān)控狀態(tài)時,開放外部中斷0,當(dāng)主機(jī)訪問從機(jī)時,先發(fā)送同步字節(jié)80H,再送FEH(也可為55H, AAH等),則當(dāng)80H發(fā)出時從機(jī)RXD腳出現(xiàn)負(fù)跳變,觸發(fā)外部中斷0,啟動定時器0對同步脈沖進(jìn)行測量,同時關(guān)閉外中斷0,并初始化串行口建立串行口數(shù)據(jù)接收,等待下一同步字節(jié)FEH,若同步成功則發(fā)應(yīng)答信號,否則進(jìn)入監(jiān)控程序繼續(xù)等待同步。所有數(shù)據(jù)收發(fā)完畢后再開放外中斷0,進(jìn)入監(jiān)控待機(jī)狀態(tài)。

4 結(jié) 語

  在自制的SST89C5X系列單片機(jī)IAP仿真系統(tǒng)上對文中提出的方法反復(fù)進(jìn)行了測試,在從機(jī)主振為12 MHz條件下,從300~38 400 b/s范圍的各種常用波特率從機(jī)均很好地適應(yīng)。當(dāng)波特率低于120 b/s時,定時器0會產(chǎn)生溢出,若主機(jī)可能用到此波特率,可以用T0中斷計數(shù)對計數(shù)值進(jìn)行修正。若采用查詢RXD引腳電平的方式,則圖1可進(jìn)一步簡化,即可以不用外中斷0,這更能節(jié)約硬件資源。文中提出的方法可以很
方便地應(yīng)用于多機(jī)分布式控制系統(tǒng)中,也可以應(yīng)用于各種需要變波特率的場合。


  參考文獻(xiàn)


[1]Silicon Storage Technology,Inc.Designconsiderations for the SSTFlashFlex51 family microcontroller[EB/OL].http://www.sst.com,2003-06-10.
[2]Silicon Storage Technology,Inc.SSTFlash-Flex51 microcontroller In-appliccationProgramming Basics[EB/OL].http://www.sst.com,2003-06-10.
[3]任貴勇.串行通信波特率的一種自動檢測方法[J].計算機(jī)自動測量與控制,2000,8(1):54-61.
[4]胡漢才.單片機(jī)原理及系統(tǒng)設(shè)計[M].北京:清華大學(xué)出版社,2002.
[5]萬新恒.80C51系列單片機(jī)波特率自動檢測的通用程序[J].自動化與儀表,1997,12(5):45
-46.
[6]楊亞江.一種簡便的單片機(jī)串行通信參數(shù)自整定方法[J].電測與儀表,2002,39(437):51-54.
[7]張慶輝.串行通信波特率自動檢測方法及軟件實現(xiàn)[J].微計算機(jī)信息,2002,18(12):57-58.



[1] [2]  下一頁
  • 上一篇: 基于PC/104的GPS車輛定位系統(tǒng)設(shè)計
  • 下一篇: 基于RS485總線的單片機(jī)對等網(wǎng)絡(luò)的設(shè)計與實現(xiàn)
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術(shù)支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實性、準(zhǔn)確性和合法性。
    機(jī)電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機(jī)電之家,機(jī)電之家將及時作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1