国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

單片機的高效串行通信研究

發布時間:2010-3-18 10:57    發布者:李寬
關鍵詞: 串行 , 單片機 , 通信 , 研究
1 串行通信介紹

所謂串行通信,就是將數據分成一個個的二進制位(bit) ,然后通過一條線路或一個通信信道,按照規定的規程逐位依次進行傳輸,實現計算機與計算機或計算機與外部設備之間的通信(數據交換) 。串行通信因其占用硬件資源少、可大幅度降低通信線路的成本、簡化通信設備、應用靈活、易維護等諸多優點,在工業控制、電力通信、智能儀表等領域得到了廣泛應用[1 ] 。

目前,有EIA2RS232 、EIA2RS485 、電流環、CAN 等串行通信方式。EIA2RS232 是全雙工的通信模式,可以保證短距離點對點的高速傳輸;EIA2RS485 可實現較長距離下的多點互聯通信;CAN 屬于現場總線的范疇,采用多主機制,改善了在集散控制系統下的主從通信模式[2 ] 。隨著應用需求的復雜化,對串行通信的通信效率及性能的要求越來越高,所以如何制定一套切實可行、簡單易用,又能大幅度提高串行通信效率的通信協議,如何在PC 端、嵌入式系統端構建一個高效的串行數據處理的應用程序,是亟待解決的一大問題。

面向各個領域不同的應用需求,串行通信的網絡拓撲結構也多種多樣,如總線型、環型、星型等。本文以加油站信息管理系統為例,介紹串行通信協議的制定以及高效通信數據處理的實現。

2 串行通信協議的設計



2. 1  系統總體構架

加油站信息管理系統的結構如圖1 所示。本系統中,每臺加油機為一個應用節點(即圖中的控制點) ,通過半雙工RS485 總線連接至通信控制器。在該RS485 網絡中,通信控制器為主機(Master) ,各加油機為從機(Slave) ,構成一個主從通信的網絡架構。在多種串行接口標準中,RS485接口以其結構簡單、通信速率高、傳輸距離遠、使用的傳輸線較少、在長距離通信時比較經濟等諸多優點,在集散式控制裝置中得到了廣泛應用。RS485 采用差分電平傳輸,只需兩根信號線,可以方便地增加控制節點數
目[3 ] 。

通信控制器通過全雙工RS232 總線與管理PC 機進行數據交互。RS232 總線為全雙工通信總線,為了保證實時性和高效性,管理PC 機和通信控制器這個層面的數據交互采用互為主機的通信方式,以此構成一個集散控制系統[4 ] 。

各個加油站信息管理系統中,控制點的數目可能較大,所以對數據通信的實時性提出了較高的要求。采用RS485總線作為底層通信接口。與點對點的通信方式相比,任何節點均能偵聽到總線上傳輸的任何數據,這對串行通信數據接收處理也提出了很高的要求。每一個網絡節點既要可靠、穩定地完成其自身的控制工作,又要準確、高效地在RS485 總線上接收到發送至本節點的通信數據幀。

2. 2  通信協議格式的定義

2. 2. 1  協議幀格式

(1) 主機下發數據幀格式

起始標志數據(5AH + A5 H) + 長度(從命令字開始到校驗和為止的字節數) + 命令字HIGH + 命令字LOW+ 機號+ 參數+ 1 字節校驗和(從命令字開始到校驗碼前一字節的邏輯異或和)

(2) 從機上傳數據幀格式

起始標志數據(9BH + B9 H) + 長度(從命令字開始到校驗和為止的字節數) + 命令字HIGH + 命令字LOW +機號+ 參數+ 1 字節校驗和(從命令字開始到校驗碼前一字節的邏輯異或和) [5 ]

2. 2. 2  協議幀解釋

起始標志數據:采用一字節或多字節作為幀起始標志(該部分的字節定義應盡量與幀數據的其他部分完全不同) 。接收方在接收錯誤后,接收數據時總是先尋找幀頭。幀頭的排他性將有利于提高各通信節點的接收效率。

長度:應盡量采用短幀,以避免各種干擾因素對通信效率的影響?筛鶕䦟嶋H應用情況,在“長度”后增加“長度反碼”或“長度補碼”等校驗數據,對長度進行更為嚴格的校驗[ 6 ] 。

命令字:根據實際通信應用需求,可應用1~2 字節的通信命令字。

機號:所需接收方的地址識別號。可根據實際應用需求進行修改,如增加源地址、目的地址等。

參數:應用數據。考慮到數據的安全性,可針對不同的應用對該部分的數據進行加密處理。

校驗和:數據校驗,可根據應用需求選擇不同的校驗方式[ 7 ] 。

3 高效串行通信方式的實現

3. 1  通信控制器發送數據的處理機制

通信控制器的發送數據流程如圖2 所示。通信控制器首先判斷最高優先級的命令字是否需要發送。如果需要,則進入該命令字的發送流程;如果沒有,接著判斷次高優先級的命令字是否需要發送。如果需要則進入發送流程,根據命令字的優先級由高到低的順序依次判斷要發送的命令字。

當沒有通信數據命令字發送時,通信控制器會發送輪詢命令字。此外,在發送完一幀數據后,通信控制器會開啟接收超時定時器T2 ,如果通信控制器在超時時間內收到應答命令數據幀,則進入相應數據處理流程,同時關閉T2 。如果系統長時間未收到應答命令數據幀,則重新發送該命令字的數據,并記錄發送該命令字的次數。

當發送的命令字的幀超過10 次仍未收到相應應答命令,則視為該命令字和PC 機的通信失敗,把通信流程重新調整到輪詢命令字狀態下。



發送的代碼程序放到單片機的串行中斷服務程序中來處理[ 8 ] ,代碼如下:




3. 2  通信控制器接收數據的處理機制

在通信控制器的接收端,應保持串行中斷的優先級最高。這樣才能保證系統時刻可以和PC 處于通信的狀態。具體的處理機制如下:



①找到幀頭(本協議是2 個字節) 。找到第1 個幀頭,就把接收步驟的全部標志S 賦值1 ,把接收字節的內容放到接收數據緩沖區中。接著找第2 個幀頭,找到幀頭后把內容順序放到接收數據緩沖區中。繼續判斷命令字是不是協議中規定的合法命令字。如果是,再根據命令字所對應的長度來判斷該幀數據的合法性。因為在制定通信協議時就規定了特定命令字所對應的數據長度,這兩點約束條件就可以保證接收數據是合法的,從而提高了系統的穩定性[ 12 ] 。如果命令字和其對應的長度值合法,則把S值賦值為3 ,進入下一步的數據處理步驟。

②在一幀數據接收開始時,開啟接收超時定時器。如果在超時時間內未收到一幀完整的數據,則視為本次通信流程失敗,重新初始化串行通信,等待下次通信。

③如果一幀數據完全接收正確并成功,則關閉接收定時器,停止響應串行中斷,以防止處理的過程中有新的接收數據影響有效數據的處理。處理完畢, 使能串行中斷,打開接收定時器, 清除接收步驟S 為0 ,根據處理過程中標志位的改變情況繼續和PC 進行相應的數據通信[9 ] 。通信控
制器數據接收流程如圖3所示。

編者注:具體實現代碼略。

4 總結

本文設計了一套完整的通信協議,通信控制器的發送端始終處于通信狀態,能以很快的速度響應系統協議規定的命令字及其數據的發送。在通信控制器的接收端,采用逐字節處理的方式,通過設定全局變量來確定處理接收數據幀的步驟,細化了處理接收數據的過程,保證了數據高效、可靠的傳輸。本系統已經應用在上海寶鋼集團加油站信息管理系統中。實驗結果證明,按照此協議進行的通信數據準確,通信高效可靠,自適應能力強,具有在相關領域推廣的價值。

編者注:本文為期刊縮略版,全文見本刊網站www.mesnet . com. cn 。

參考文獻

[ 1 ] 胡新華,鄧元勇,王先平. 多種通信網絡及接口轉換模塊的研制[J ] . 計算機工程,2009 ,35 (6) .
[2 ] 徐勇,賀建民,王景玉. 計算機硬件技術基礎[M] . 北京:清華大學出版社北京交通大學出版社,2004 :272.
[ 3 ] 謝瑞和. 串行技術大全[M] . 北京:清華大學出版社,2003 :528.
[ 4 ] 王常力,羅安. 分布式控制系統(DCS) 設計與應用實例[M] .北京:電子工業出版,2005 :22224.
[ 5 ] Castro M , Sebastian R , Yeves F ,et al. Well2known serial buses for distributed control of backup power plants———RS2485 versus cont roller area network (CAN) solutions [J ] . Industrial Elect ronics Society ,2002 ,3 (528) :238122386.
[ 6 ] 凌力. 網絡協議與網絡安全[M] . 北京:清華大學出版社,2007 :1312134.
[ 7 ] Hubaut F , Laforge B , Le Dortz O , et al. Implementation of a serial protocol for the liquid argon calorimeters of the
ATLAS detector [C] . Nuclear Science , Volume 48 , Issue 4 , Part 1 , 2001 :125421258.
[ 8 ] 田清. 51 單片機C 語言程序設計快速入門[M] . 北京:人民郵電出版社,2007 :80285.
[ 9 ] 南建輝. MCS251 單片機原理及應用實例[M] . 北京:清華大學出版社,2004 :2572268.

作者:宋兵躍1 ,2 , 吳軍輝1 ,2 , 黃斌1 ,2 (1. 同濟大學現代農業科學與工程研究院;  2. 同濟大學教育部設施農業網上合作中心, 上海200092)
來源:《單片機與嵌入式系統應用》2010年01期
本文地址:http://www.qingdxww.cn/thread-9535-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • Dev Tool Bits——使用MPLAB® Discover瀏覽資源
  • Dev Tool Bits——使用條件軟件斷點宏來節省時間和空間
  • Dev Tool Bits——使用DVRT協議查看項目中的數據
  • Dev Tool Bits——使用MPLAB® Data Visualizer進行功率監視
  • 貿澤電子(Mouser)專區

相關在線工具

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 午夜视频免费在线播放 | 亚洲精品午夜国产va久久 | 亚洲视频在线观看免费视频 | 亚洲经典一区 | 91污网站| 四虎库| 免费特级毛片 | 中国一级特黄剌激爽毛片 | 九九久久精品视频 | 中文字字幕在线一本通 | 免费网站看av片 | 中文字幕日本精品一区二区三区 | 欧美一级视频在线 | www四虎在线高清 | 男女视频免费网站 | 欧美久久网| 国产一级三级三级在线视 | 黑人和亚洲女人 | 野外三级国产在线观看 | 香蕉一区二区 | 亚洲欧美日韩久久一区 | 高清一级毛片一本到免费观看 | 五月天中文网 | 日本护士69xxxxx高清hd | 国产激情久久久久久影院 | 日韩久久一区二区三区 | 免费精品视频在线 | 欧美日韩a | 精品欧美一区二区三区精品久久 | 日本中文字幕视频在线看 | 欧美国产在线一区 | 久久伊人中文字幕 | 果冻传媒精东影业一二三区 | 亚洲欧美精品一区二区 | 黄在线观看在线播放720p | 国产亚洲成在线播放va | 老司机在线精品视频 | 免黄网站 | 777毛片免费 | 99re只有精品| 天天综合久久久网 |