畢業(yè)論文--用單片機c語言實現(xiàn)多功能電能表通信協(xié)議(電能表端)_第1頁
已閱讀1頁,還剩67頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、<p><b>  畢業(yè)論文(設(shè)計)</b></p><p>  題目名稱: 用單片機C語言實現(xiàn)多功能 </p><p>  電能表通信協(xié)議(電能表端) </p><p>  題目類型: 畢業(yè)設(shè)計 </p><p>  學(xué)生姓名:

2、 </p><p>  院 (系): 電子信息學(xué)院 </p><p>  專業(yè)班級: </p><p>  指導(dǎo)教師: </p><p>  輔導(dǎo)教師:

3、 </p><p>  時 間:2011年2月21日 至 2011年06月10 </p><p><b>  目 錄</b></p><p>  xx畢業(yè)論文(設(shè)計)任務(wù)書I</p><p>  xx畢業(yè)論文(設(shè)計)開題報告III</p><p>  xx畢業(yè)論文

4、(設(shè)計)指導(dǎo)教師評審意見IX</p><p>  xx畢業(yè)論文(設(shè)計)評閱教師評語X</p><p>  xx畢業(yè)論文(設(shè)計)答辯記錄及成績評定XI</p><p><b>  摘要XII</b></p><p>  AbstractXIII</p><p><b>  第一章

5、 前言1</b></p><p>  第二章 選題背景2</p><p>  2.1 行業(yè)現(xiàn)狀及發(fā)展趨勢2</p><p>  2.2 選題任務(wù)3</p><p>  第三章 方案論證5</p><p>  3.1 DL/T645-2007《多功能電能表通信協(xié)議》介紹5</p>&

6、lt;p>  3.2 整體設(shè)計思想8</p><p>  3.3 單片機的串行口簡介8</p><p>  3.4 單片機多機通信系統(tǒng)相關(guān)理論14</p><p>  3.5 通信接口的選擇15</p><p>  3.6 微控制器的選擇19</p><p>  3.7 軟件環(huán)境20</p>

7、;<p>  第四章 設(shè)計論述22</p><p>  4.1硬件原理圖設(shè)計22</p><p>  4.2軟件設(shè)計22</p><p>  第五章 結(jié)果分析37</p><p>  第六章 設(shè)計總結(jié)38</p><p>  6.1工作總結(jié)38</p><p>  6.

8、2存在的不足38</p><p>  6.3設(shè)計展望39</p><p><b>  參考文獻39</b></p><p><b>  致 謝41</b></p><p><b>  附錄42</b></p><p>  xx畢業(yè)論文(設(shè)計)任

9、務(wù)書</p><p>  學(xué)院(系) 電子信息學(xué)院 專業(yè) 電氣工程及其自動化 班級 </p><p>  學(xué)生姓名 指導(dǎo)教師/職稱 </p><p>  畢業(yè)論文(設(shè)計)題目:</p><p>  用單片機C語言實現(xiàn)多功能電表通信協(xié)議(電能表端)</p><p>  畢業(yè)論文(設(shè)計)起

10、止時間:2010 年12月18日~2011年6月10日</p><p>  3.畢業(yè)論文(設(shè)計)所需資料及原始數(shù)據(jù)(指導(dǎo)教師選定部分)</p><p><b>  DL/T645協(xié)議</b></p><p>  4.畢業(yè)論文(設(shè)計)應(yīng)完成的主要內(nèi)容</p><p>  學(xué)習(xí)單片機匯編和C語言編程</p>&

11、lt;p>  熟悉單片機串口通信相關(guān)知識</p><p>  編程實現(xiàn)DL/T645多功能表通信協(xié)議(電能表端)</p><p>  5.畢業(yè)論文(設(shè)計)的目標及具體要求</p><p>  學(xué)習(xí)單片機匯編和C語言編程</p><p>  熟悉單片機串口通信相關(guān)知識</p><p>  編程實現(xiàn)DL/T645多功

12、能表通信協(xié)議(電能表端)</p><p>  6、完成畢業(yè)論文(設(shè)計)所需的條件及上機時數(shù)要求</p><p><b>  120學(xué)時</b></p><p>  任務(wù)書批準日期 2010 年12月 日 教研室(系)主任(簽字) </p><p>  任務(wù)書下達日期 2010 年12月18日 指

13、導(dǎo)教師(簽字) </p><p>  完成任務(wù)日期 2011 年 6 月10日 學(xué)生(簽名) </p><p><b>  xx</b></p><p><b>  畢業(yè)設(shè)計開題報告</b></p><p>  題 目 名 稱

14、 用單片機C語言實現(xiàn)多功能 </p><p>  電能表通信協(xié)議(電能表端) </p><p>  題 目 類 別 畢業(yè)設(shè)計 </p><p>  院 (系) 電子信息學(xué)院 </p><p>  專 業(yè) 班 級

15、 電氣10703 </p><p>  學(xué) 生 姓 名 </p><p>  指 導(dǎo) 教 師 </p><p>  輔 導(dǎo) 教 師 </p>&

16、lt;p>  開題報告日期 2011年3月14 日 </p><p>  用單片機C語言實現(xiàn)多功能電表通信協(xié)議(電能表端)</p><p><b>  1 題目來源</b></p><p>  題目來源:生產(chǎn)/社會實際</p><p><b>  2 研究目的和意義&l

17、t;/b></p><p>  電能是最重要的能源,它的應(yīng)用在生產(chǎn)技術(shù)上曾引起劃時代的變革。在現(xiàn)代社會中電能己廣泛應(yīng)用到社會生產(chǎn)的各個領(lǐng)域和社會生活的各個方面。電能表是當前電能計量和經(jīng)濟結(jié)算的主要工具。隨著電子技術(shù)、自動控制技術(shù)和計算機技術(shù)的迅猛發(fā)展,電能計量裝置也發(fā)生了巨大變革。多功能電能表除具有計量有功(無功)外還具有分時、測量需量,還具有的與數(shù)據(jù)終端設(shè)備通信的功能。以往的人工讀數(shù)抄表方式人力需求大,勞

18、動強度高而且容易造成誤抄、漏抄等問題,傳統(tǒng)方式的抄表已經(jīng)不能滿足供電行業(yè)現(xiàn)代化發(fā)展的需要?,F(xiàn)代多功能電能表的發(fā)展使得自動抄表技術(shù)隨之迅速發(fā)展起來,傳統(tǒng)的抄表方式正在逐步被自動抄表技術(shù)逐步取代。</p><p>  為了統(tǒng)一和規(guī)范多功能電能表費率裝置與數(shù)據(jù)終端設(shè)備進行數(shù)據(jù)交換的物理連接和協(xié)議,國家電力工業(yè)部制定了DL/T645-1997《多功能電能表通信規(guī)約》,于1998年頒布并實施,該規(guī)約詳細定義了物理層、鏈路層

19、、應(yīng)用層,結(jié)束了以前電表廠家規(guī)約各不兼容、互相不能抄表的尷尬局面。各電表廠家遵循相同的協(xié)議標準對電表進行讀寫操作,簡化了電表抄表應(yīng)用及維護的工作量。使得國內(nèi)的智能電表基本上可以做到互聯(lián)互通。隨著技術(shù)的發(fā)展,國家發(fā)改委2007年對進行DL/T645-1997《多功能電能表通信規(guī)約》修訂,發(fā)布DL/T645-2007《多功能電能表通信協(xié)議》,本標準的實施將更加規(guī)范費率裝置的通信接口,有利于計量產(chǎn)品質(zhì)量的提高,對用電管理部門改革人工抄表,實現(xiàn)

20、遠方信息傳輸,提高用電管理水平起到推進作用。本設(shè)計主要研究如何利用單片機C語言實現(xiàn)該通信協(xié)議(電能表端)。</p><p>  MCS-51單片機的編程語言主要采用匯編、C語言,其中,以C語言作為MCS-51單片機程序的開發(fā)語言已經(jīng)成為一種趨勢, C語言兼顧了多種高級語言的特點,并具備匯編語言的功能,有功能豐富的庫函數(shù)、運行速度快、編譯效率高、有良好的可移植性,并且可以直接實現(xiàn)對系統(tǒng)硬件的控制等一系列優(yōu)點。而用單

21、片機C語言可實現(xiàn)該協(xié)議且具有相當實用的價值,所以用單片機C語言實現(xiàn)多功能電能表通信協(xié)議具有一定的實際意義。</p><p>  3 閱讀的主要參考文獻及資料名稱</p><p>  《單片機原理實用教程》徐愛鈞編著:北京航空大學(xué)出版社</p><p>  《單片機原理及應(yīng)用技術(shù)》余發(fā)山,王福忠:中國礦業(yè)大學(xué),2003</p><p>  《單

22、片機的C語言應(yīng)用程序設(shè)計》馬忠梅等:北京航空航天大學(xué)出版社</p><p>  MCS-51單片機主從式多機系統(tǒng)實時通訊的實現(xiàn),王偉,西南自動化研究所,1998年第3期 </p><p>  單片機多機通信協(xié)議的設(shè)計,姚志成,中國核心期刊(嵌入式與SOC),2006年第22卷第2期</p><p>  DL_T645多功能電能表通信協(xié)議</p><

23、;p>  單總線單片機多機通信系統(tǒng)的設(shè)計,郝國法,武漢科技大學(xué)學(xué)報,2001年9月 </p><p>  4 國內(nèi)外現(xiàn)狀和發(fā)展趨勢與研究的主攻方向</p><p>  隨著科技的進步,目前在很多行業(yè)中,電子設(shè)備間大多具有數(shù)據(jù)通信功能,數(shù)據(jù)交換和數(shù)據(jù)采集成為經(jīng)常性的任務(wù),即數(shù)據(jù)通信功能。在電力系統(tǒng)中,則集中體現(xiàn)在電子式電能表及采集終端這兩種生要生產(chǎn)計量設(shè)備上.近年來,國外電子式電能表發(fā)

24、展非常快,芬蘭、瑞典、娜成等北歐各國以及法國、英國、德國、西班牙、比利時和意大利等西歐許多國家,其工商用戶計賈電能表己實現(xiàn)幾乎100%電子化.居民用戶的計費電能表也下在逐步電子化過程中,當前電能表正向著全電子式、多功能、具有標準通訊接口以及遠程抄控功能的方向發(fā)展。</p><p>  電能表相關(guān)的通信協(xié)議有很多種,目前國外的通訊協(xié)議主要有3種,一種標準是歐洲的IEC62056:電能測量——抄表、費率和負荷控制的數(shù)

25、據(jù)交換標準;另一種標準是美國的ANSI C12.18-1996ANSI 2型光學(xué)端口協(xié)議規(guī)范和ANSI C12.21-1999電話網(wǎng)絡(luò)通信協(xié)議規(guī)范;然后是日本的JIS標準。IEC標準是世界上最有影響的標準,在歐洲幾乎所有國家都等同采用;亞洲也有很多國家,如印度、巴基斯坦等在采用;美國標準除在其本土使用外,在加拿大、墨西哥及中、南美的其它一些國家有使用:日本標準除在本國使用外,在東南亞的一些國家也有使用。</p><p

26、>  國內(nèi)大部分表計通信遵循DL/T645-1997,該標準在起草時借鑒了IEEll07物理層的定義,因此兩個標準適用范圍均為本地通信,電能表通信接口也基本相同,均為紅外和RS485。DL/T645-1997由于結(jié)構(gòu)清晰、易于實現(xiàn)受到行業(yè)的普遍認可并得到廣泛應(yīng)用。雖然DL/T645-1997使用范圍是多功能電能表,但許多單相表和普通三相表也參照該標準通信。隨著時間的推移,電能表通信技術(shù)和用戶需求都在不斷發(fā)展和變化,但DL/T645

27、-1997卻一直沒有得到修訂,標準內(nèi)容難免滯后無法完全滿足用戶要求。在這種情況下,許多地方供電局開始自行擴展標準或重新制訂通信協(xié)議,因此標準使用到后期出現(xiàn)諸多版本。有鑒于此,電測量標準化技術(shù)委員會(簡稱電測標委會)組織修訂了DL/T645-2007,并于2007年12月頒布DL/T645-2007。</p><p>  電能表是電能計量和結(jié)算的主要依據(jù),屬于國家強制檢定設(shè)備,有很大的需求量,生產(chǎn)電能表的公司相應(yīng)的

28、也有很多。微電子技術(shù)、計算機(單片機)技術(shù)、數(shù)據(jù)通信技術(shù)和自動控制技術(shù)等高新技術(shù)迅速發(fā)展,不同廠家不同型號的多功能電能表其硬件設(shè)備有很大的差別,實現(xiàn)該協(xié)議的軟硬件環(huán)境存在很大差異,目前電能表中使用較多的微控制單元(micro control unit,MCU)有80C51單片機,MSP430單片機,AVR單片機,ARM等,而開發(fā)語言根據(jù)硬件及使用環(huán)境的不同主要有C,C++,VB、Java、C++等。</p><p&g

29、t;  5 主要研究內(nèi)容、研究的關(guān)鍵問題及解決思路</p><p>  本設(shè)計主要研究電能表端如何實現(xiàn)DL/T645-2007《多功能電能表通信協(xié)議》,該協(xié)議中手持單元或其它數(shù)據(jù)終端為主站,多功能電能表為從站,為實現(xiàn)這一協(xié)議,必須有電能表的微控制器芯片以及相應(yīng)的數(shù)據(jù)終端。MCS-51系列單片機由于內(nèi)部帶有一個可用于異步通訊的全雙工的串行通訊接口,因此可以很方便地構(gòu)成一個主從式多機系統(tǒng)來模擬電能表和數(shù)據(jù)終端來實現(xiàn)該

30、協(xié)議。</p><p>  本文使用MCS-51單片機模擬多功能電能表的微控制器,模擬成從站,即單片機多機通信系統(tǒng)中的從站,使用相同的單片機模擬數(shù)據(jù)終端設(shè)備作為主站,即單片機多機通信系統(tǒng)中的主站。所以本設(shè)計的總體思想即用MCS-51單片機的多機通信系統(tǒng)模擬實現(xiàn)多功能電能表的通信協(xié)議,設(shè)計重點在電能表微控制器部分的實現(xiàn),也就是MCS-51單片機的多機通信系統(tǒng)中從機部分。本設(shè)計以C語言作為單片機開發(fā)語言,利用Prot

31、eus軟件做電路仿真,利用keil軟件做程序設(shè)計,結(jié)合兩個軟件運行。</p><p>  根據(jù)《多功能電能表通信規(guī)約》的規(guī)定,采用單片機串口中斷方式接收一幀信息,規(guī)約實現(xiàn)的難點在于如何在串口中斷方式下接收一幀信息。規(guī)約的信息發(fā)送則采用查詢方式。</p><p>  可用圖1所示狀態(tài)圖的描述的過程來接收。將接收過程分為9個狀態(tài),分別為等待、喚醒、接收地址、接收幀頭、接收控制碼、接收數(shù)據(jù)域長度

32、、接收數(shù)據(jù)域、接收校驗和以及接收結(jié)束符狀態(tài)。接收過程必處于某一狀態(tài),當滿足特定的條件,接收狀態(tài)就會進入下一個狀態(tài)。接收狀態(tài)初始狀態(tài)為等待狀態(tài),當接收到前導(dǎo)字符后,進入喚醒狀態(tài);如果接收到幀起始字符,進入接收幀頭狀態(tài);接收地址域后,將其與本機地址相比較,如果是本機地址則進入接收幀頭狀態(tài),否則返回等待狀態(tài),其中999999999999H是廣播地址,如果收到廣播則進行相應(yīng)的處理;收到控制碼后保存,以便信息解析過程調(diào)用控制字,進入接收數(shù)據(jù)域長度

33、狀態(tài);如數(shù)據(jù)域長度L為0,則直接進入接收校驗和狀態(tài),否則進入接收數(shù)據(jù)域狀態(tài),接收Len個字符后進入接收校驗和狀態(tài);接著接收一個字符,進入接收結(jié)束符狀態(tài);再接收一個字符,一幀信息接收完畢,接收狀態(tài)回到等待狀態(tài),等待下一幀信息的到來。其間如果在規(guī)定的時間內(nèi)未收到下一個字節(jié)或接收出錯,回到等待狀態(tài)(圖中未畫出)。數(shù)據(jù)傳輸過程中進行差錯控制,字節(jié)校驗為偶校驗,幀校驗為縱向信息校驗和,接收方無論檢測到偶校驗出錯或縱向信息校驗和出錯,均放棄該<

34、;/p><p>  圖1串口接收一幀信息過程狀態(tài)圖</p><p>  6 完成畢業(yè)設(shè)計(論文)所必須具備的工作條件及解決的辦法</p><p>  裝有應(yīng)用軟件的電腦一臺、帶有下載數(shù)據(jù)線的單片機、相關(guān)書籍資料及器件</p><p>  7 工作的主要階段、進度與時間安排</p><p>  2月21日--3月15日

35、 撰寫開題報告。</p><p>  3月24日--4月06日 對課題進行初步設(shè)計,以求達到預(yù)期目的。</p><p>  4月07日--4月20日 對設(shè)計內(nèi)容進行測試,修改,達到老師要求水平。</p><p>  4月21日--5月04日 撰寫畢業(yè)論文。</p><p>  5月05日--5月18日 完善論

36、文內(nèi)容。</p><p>  5月19日--6月10日 準備及進行畢業(yè)論文答辯。</p><p>  8 指導(dǎo)教師審查意見</p><p><b>  簽字:</b></p><p>  年 月 日</p><p>  xx畢業(yè)論文(設(shè)計)指導(dǎo)教師評審意見&

37、lt;/p><p> ?。ㄗⅲ捍隧摬粔?,請轉(zhuǎn)反面) </p><p>  xx畢業(yè)論文(設(shè)計)評閱教師評語</p><p>  (注:此頁不夠,請轉(zhuǎn)反面)</p><p>  xx畢業(yè)論文(設(shè)計)答辯記錄及成績評定</p><p>  用單片機C語言實現(xiàn)多功能電表通信協(xié)議(電能表端)</p><p>

38、;  學(xué) 生:何有源,電子信息學(xué)院</p><p>  指導(dǎo)教師:杜 勇,電子信息學(xué)院</p><p>  [摘要]隨著國民經(jīng)濟的飛速發(fā)展,居民用電量也在日益增長,電力部門迫切需要一種高效的電力計費系統(tǒng),以代替效率低下的傳統(tǒng)人工抄表模式。為此,國內(nèi)出現(xiàn)了多種自動抄表系統(tǒng)解決方案。自動抄表系統(tǒng)解決方案實現(xiàn)的基礎(chǔ)是電能表的通信功能。隨著科技的發(fā)展,電能計量裝置也發(fā)生了巨大變革,多功

39、能電能表除具有計量功能外,還具有與數(shù)據(jù)終端設(shè)備通信的重要功能,使得高效率的自動抄表技術(shù)得以實現(xiàn)。</p><p>  通信協(xié)議是規(guī)定不同的通信設(shè)備之間通信過程的規(guī)范性文件。DL/T645-2007《多功能電能表通信協(xié)議》是目前國內(nèi)幾乎所有電能表所遵循的通信規(guī)約,本設(shè)計主要研究電能表端如何實現(xiàn)該協(xié)議。該協(xié)議中規(guī)定手持單元或其它數(shù)據(jù)終端為主站,多功能電能表為從站,即通信系統(tǒng)中從站部分的實現(xiàn)。本設(shè)計使用MCS-51單片

40、機模擬多功能電能表的微控制器,模擬成從站,即單片機多機通信系統(tǒng)中的從站,用相同的單片機模擬數(shù)據(jù)終端設(shè)備作為主站,即單片機多機通信系統(tǒng)中的主站,利用MCS-51單片機的多機通信系統(tǒng)模擬實現(xiàn)多功能電能表的通信協(xié)議。設(shè)計中以C語言作為單片機的開發(fā)語言,實現(xiàn)該協(xié)議中主要的通信功能。</p><p>  [關(guān)鍵詞] 電能表DL/T645單片機多機通信系統(tǒng)C語言</p><p>  Usin

41、g SCM C language to realize Multi-function watt-hour meter communication protocol(Meter terminal)</p><p>  學(xué) 生:何有源,電子信息學(xué)院</p><p>  指導(dǎo)教師:杜 勇,電子信息學(xué)院</p><p>  [Abstract]With the d

42、evelopment of the national economy, the residents' need of electricity is also increasing increasingly, then the Electricity sector needs a more stable and effecient electric charging system urgently, so as to replac

43、e the traditional meter reading which is low efficient. For this, some domestic automatic meter reading systems have appeared. The foundational technology of the automatic meter reading systems is the communication funct

44、ion of electric energy meter. With the deve</p><p>  Communication protocol is a regulatory documents that regulates the communication process between different communication equipment. DL/T645-2007 Multi-fu

45、nction watt-hour meter communication protocol is a communication protocol between different watt-hour meter which is almost followed by all domestic watt-hour meters presently. This design mainly researchs how does the w

46、att-hour meters realize this protocol. In this design, we use MCS-51 series microcomputer simulating as multi-function watt-ho</p><p>  [Key words] watt-hour meter DL/T645 SCM multi-machine communication

47、system C language</p><p>  用單片機C語言實現(xiàn)多功能電表通信協(xié)議(電能表端)</p><p>  學(xué) 生:何有源,電子信息學(xué)院</p><p>  指導(dǎo)教師:杜 勇,電子信息學(xué)院</p><p><b>  前言</b></p><p>  電能表從最初的機械表

48、一代代發(fā)展到多功能表階段,計量不再是其唯一重要功能,通信功能已逐漸成為電能表不可或缺的一部分。隨著社會的發(fā)展,供電企業(yè)也在施行實時、高效、智能的管理改革。原來的人工抄表既費時費力也容易引起客戶矛盾,自動抄表技術(shù)必將取而代之成為未來發(fā)展方向。借助電能表通信功能不僅可以實現(xiàn)抄表方式的變革,也為遠程遙測、遙控、數(shù)據(jù)匯總提供可能。</p><p>  在通信網(wǎng)絡(luò)中,為了保證通信雙方能正確、有效、可靠的進行數(shù)據(jù)傳輸,在通信

49、的發(fā)送和接收過程中有一系列的規(guī)定,以約束雙方正確、協(xié)調(diào)進行工作,我們將這些規(guī)定稱為數(shù)據(jù)傳輸控制規(guī)程,簡稱通信規(guī)約(或者通信協(xié)議)。電能表相關(guān)的通信協(xié)議有不少,它們在適用范圍,傳輸介質(zhì)、幀格式等方面都有一定差異。DL/T 645 自1998 年實施至今有十多年的時間,是我國應(yīng)用最廣泛的電能表本地通信協(xié)議,隨著技術(shù)的發(fā)展,電測量標準化技術(shù)委員會(簡稱電測標委會)組織對該協(xié)議進行了修訂,并于2007年12月頒布實施DL/T645-2007《多

50、功能電能表通信協(xié)議》,使其具有更加廣泛的應(yīng)用。</p><p><b>  第二章 選題背景</b></p><p>  2.1 行業(yè)現(xiàn)狀及發(fā)展趨勢</p><p>  電能表從發(fā)明到應(yīng)用已經(jīng)有一百多年的歷史,在整個過程中電能表經(jīng)歷了從機械式到電子式的技術(shù)跨越,也經(jīng)歷了從單一計量到多功能的轉(zhuǎn)變。微電子技術(shù)、計算機(單片機)技術(shù)、數(shù)據(jù)通信技術(shù)和自

51、動控制技術(shù)等高新技術(shù)的發(fā)展,促進了多功能、智能化電子式電能表技術(shù)的進一步成熟,降低了生產(chǎn)成本,同時也促進了電能遠程集中抄表技術(shù)的產(chǎn)生與發(fā)展。電子式電能表在實現(xiàn)多費率、最大需量和電能數(shù)據(jù)傳輸與交換等方面具有明顯的優(yōu)越性,實現(xiàn)了測量有功電能、無功電能、視在功率、功率因數(shù)、缺相指數(shù)等幾十個特征參數(shù)的多功能化,電子式多功能電能表所具有的良好的通訊功能,為實現(xiàn)遠方抄表、電能量遠方自動采集和自動計費打下基礎(chǔ)。</p><p>

52、;  通信功能是電能表諸多功能中的一項,它負責與其它設(shè)備或終端之間的數(shù)據(jù)傳遞。早期通信功能并不為人所關(guān)注,只有少數(shù)高等級表具備該項功能。隨著自動抄表技術(shù)的發(fā)展和用電精細化管理,各地方供電公司均在積極嘗試使用自動抄表系統(tǒng)替代傳統(tǒng)的人工抄表。伴隨著自動抄表技術(shù)的推廣,電能表通信在近幾年也成為行業(yè)關(guān)注的焦點。在自動抄表系統(tǒng)中電能表是最基礎(chǔ)的數(shù)據(jù)采集對象,電能表能否正常通信直接關(guān)系到自動抄表系統(tǒng)的成敗和實際價值。</p><

53、p>  我國從90年代初開始研制機電一體化電能表和全電子式電能表,隨著“一戶一表"政策的實施,我國在用電能表數(shù)量大幅增加。這一舉措給供電公司用電結(jié)算和管理帶來了巨大壓力,傳統(tǒng)的人工抄表方式已無法滿足當前形勢要求,自動抄表技術(shù)成為最理想的解決方案。自動抄表技術(shù)是將數(shù)據(jù)自動采集、傳輸和處理應(yīng)用于電能供、用與管理系統(tǒng)中的一項新技術(shù),采用通訊和計算機網(wǎng)絡(luò)等自動讀取和處理表計數(shù)據(jù)。它不僅能提高工作效率,降低抄表成本,還能衍生許多增

54、值服務(wù)。</p><p>  在每個自動抄表系統(tǒng)中,它所采集、管理的電能表都會存在多廠家、多型號、多種通信方式的情況。通信協(xié)議的不統(tǒng)一,勢必造成系統(tǒng)與表計互聯(lián)互通的困難。因此在自動抄表系統(tǒng)開發(fā)建設(shè)過程中,通信協(xié)議的統(tǒng)一和實現(xiàn)至關(guān)重要。</p><p>  電能表相關(guān)的通信協(xié)議有很多種,目前國外的通訊協(xié)議主要有3種,一種標準是歐洲的IEC62056:電能測量——抄表、費率和負荷控制的數(shù)據(jù)交換

55、標準;另一種標準是美國的ANSI C12.18-1996ANSI 2型光學(xué)端口協(xié)議規(guī)范和ANSI C12.21-1999電話網(wǎng)絡(luò)通信協(xié)議規(guī)范;然后是日本的JIS標準。IEC標準是世界上最有影響的標準,在歐洲幾乎所有國家都等同采用;亞洲也有很多國家,如印度、巴基斯坦等在采用;美國標準除在其本土使用外,在加拿大、墨西哥及中、南美的其它一些國家有使用:日本標準除在本國使用外,在東南亞的一些國家也有使用。</p><p>

56、;  國內(nèi)大部分表計通信遵循DL/T645-1997,該標準在起草時借鑒了IEEll07物理層的定義,因此兩個標準適用范圍均為本地通信,電能表通信接口也基本相同,均為紅外和RS485。DL/T645-1997由于結(jié)構(gòu)清晰、易于實現(xiàn)受到行業(yè)的普遍認可并得到廣泛應(yīng)用。雖然DL/T645-1997使用范圍是多功能電能表,但許多單相表和普通三相表也參照該標準通信。隨著時間的推移,電能表通信技術(shù)和用戶需求都在不斷發(fā)展和變化,但DL/T645-19

57、97卻一直沒有得到修訂,標準內(nèi)容難免滯后無法完全滿足用戶要求。在這種情況下,許多地方供電局開始自行擴展標準或重新制訂通信協(xié)議,因此標準使用到后期出現(xiàn)諸多版本。有鑒于此,電測量標準化技術(shù)委員會(簡稱電測標委會)組織修訂了DL/T645-2007,并于2007年12月頒布DL/T645-2007。</p><p>  電能表是電能計量和結(jié)算的主要依據(jù),屬于國家強制檢定設(shè)備,有很大的需求量,生產(chǎn)電能表的公司相應(yīng)的也有很

58、多。微電子技術(shù)、計算機(單片機)技術(shù)、數(shù)據(jù)通信技術(shù)和自動控制技術(shù)等高新技術(shù)迅速發(fā)展,不同廠家不同型號的多功能電能表其硬件設(shè)備有很大的差別,實現(xiàn)該協(xié)議的軟硬件環(huán)境存在很大差異,目前電能表中使用較多的微控制單元(micro control unit,MCU)有80C51單片機,MSP430單片機,AVR單片機,ARM等,而開發(fā)語言根據(jù)硬件及使用環(huán)境的不同主要有C,C++,VB、Java、C++等。</p><p>&

59、lt;b>  2.2 選題任務(wù)</b></p><p>  本設(shè)計的主要任務(wù)是用C語言實現(xiàn)多功能電能表的通信協(xié)議,欲實現(xiàn)的協(xié)議為最新修訂的DL/T645-2007《多功能電能表的通信協(xié)議》。由于多功能電能表功能多,測量參數(shù)多,測量結(jié)果所占據(jù)的存儲空間大,而本文采用的微控制器內(nèi)部數(shù)據(jù)存儲器容量有限,如果不采用外部數(shù)據(jù)存儲器并不能實現(xiàn)該協(xié)議的全部內(nèi)容。該協(xié)議所有內(nèi)容的實現(xiàn)均基于電能表與數(shù)據(jù)終端設(shè)備之

60、間信息幀的順利發(fā)送和接收,電能表端實現(xiàn)該協(xié)議的難點亦在于如何正確接收一幀信息。本設(shè)計主要研究如何利用C語言程序開發(fā)利用用單片機串口通信實現(xiàn)該協(xié)議,本文主要解決的問題是電能表如何正確接收一幀數(shù)據(jù)并給予應(yīng)答。本文不研究如何對接收的信息進行解析,如何對數(shù)據(jù)進行處理等問題,主要精力放在從機如何實現(xiàn)接收一幀數(shù)據(jù)并成功應(yīng)答方面,這是實現(xiàn)該協(xié)議最重要的部分。</p><p>  實現(xiàn)這一協(xié)議,必須有電能表的微控制器芯片以及相應(yīng)

61、的數(shù)據(jù)終端設(shè)備。我們并不具備這樣的條件,并且不同的電能表中使用的微控制器多不相同,本設(shè)計采用一種通用的微控制器來模擬電能表的微控制器芯片以及數(shù)據(jù)終端設(shè)備來實現(xiàn)該協(xié)議。</p><p>  在眾多的微控制器中,MCS-51系列單片機通用性強,價格便宜,實用型強,其內(nèi)部帶有一個可用于異步通訊的全雙工的串行通訊接口,可以很方便地構(gòu)成一個主從式多機系統(tǒng)來模擬電能表和數(shù)據(jù)終端設(shè)備。經(jīng)過綜合考慮,本文采用MCS-51單片機模

62、擬電能表的微控制器芯片以及數(shù)據(jù)終端設(shè)備</p><p>  C語言作為MCS一51單片機程序的開發(fā)語言已經(jīng)成為一種趨勢,單片機C語言具有一系列優(yōu)點決定:</p><p>  (1)C語言是一種編譯型程序設(shè)計語言,兼顧了多種高級語言的特點,并具備匯編語言的功能;</p><p>  (2)C語言有功能豐富的庫函數(shù)、運行速度快、編譯效率高、有良好的可移植性,并且可以直接

63、實現(xiàn)對系統(tǒng)硬件的控制;</p><p>  (3)C語言是一種結(jié)構(gòu)化程序設(shè)計語言,它支持當前程序設(shè)計中廣泛采用的自頂向下結(jié)構(gòu)化程序設(shè)計技術(shù);</p><p>  (4)C語言程序具有完善的模塊程序結(jié)構(gòu),從而為軟件開發(fā)中采用模塊化程序設(shè)計方法提供了有力的保障;</p><p>  (5)用C語言來編寫目標系統(tǒng)軟件,會大大縮短開發(fā)周期,且明顯的增加軟件的可讀性,便于改進

64、和擴充,從而研制出規(guī)模更大、性能更完備的系統(tǒng)。</p><p>  單片機C語言具有的一系列優(yōu)點,以及使用C語言進行程序設(shè)計已成為軟件開發(fā)的一個主流。C語言程序具有操作簡單,可移植性強,能很好的滿足該協(xié)議,用單片機C語言實現(xiàn)多功能電能表通信協(xié)議具有相當實用的價值。本文采用C語言編程開發(fā)實現(xiàn)DL/T645-2007《多功能電能表的通信協(xié)議》。</p><p><b>  第三章 方

65、案論證</b></p><p>  3.1 DL/T645-2007《多功能電能表通信協(xié)議》介紹</p><p>  DL/T645于1997年發(fā)布第一版,2007年經(jīng)過修訂發(fā)布第二版。兩版標準從結(jié)構(gòu)上差別不大,主要是控制命令、通信項的擴充和數(shù)據(jù)標識的重新梳理,下面以DL/T 645--2007為例作個簡單介紹。該標準適用于本地系統(tǒng)中多功能電能表與手持單元或其他數(shù)據(jù)終端設(shè)備進行

66、點對點的或一主多從的數(shù)據(jù)交換方式,是主從結(jié)構(gòu)的半雙工通信。標準根據(jù)簡易開放系統(tǒng)互聯(lián)模型分為物理層、數(shù)據(jù)鏈路層、應(yīng)用層。物理層部分定義了三種通信接口:接觸式紅外接口、調(diào)制型紅外接口和RS-485電氣接口,接觸式紅外接口和調(diào)制型紅外接口用于在實驗室或現(xiàn)場環(huán)境下一對一的電能表抄設(shè),RS--485電氣接口可通過總線連接實現(xiàn)一主多從的通信。</p><p>  通信鏈路的建立與解除均由主站發(fā)出的信息幀來控制。每幀由幀起始符

67、、從站地址域、控制碼、數(shù)據(jù)域長度、數(shù)據(jù)域、幀信息縱向校驗碼及幀結(jié)束符7個域組成。每部分由若干字節(jié)組成。</p><p>  每字節(jié)含8位二進制碼,傳輸時加上一個起始位(0)、一個偶校驗位和一個停止位(1), 共 11位。其傳輸序列如圖3-1。D0 是字節(jié)的最低有效位,D7 是字節(jié)的最高有效位。先傳低位,后傳高位。字節(jié)格式如圖1所示。</p><p><b>  圖1 字節(jié)格式&l

68、t;/b></p><p>  幀是傳送信息的基本單元。幀格式如圖2 所示。</p><p><b>  圖2 幀格式</b></p><p>  幀是由十六進制字節(jié)數(shù)組組成,每個字節(jié)在傳輸時加上1個起始位(0),1個偶校驗位和一個停止位(1)。</p><p>  1)幀起始符和幀結(jié)束符</p>&

69、lt;p>  顧名思義分別代表一幀信息的開始和結(jié)束。主站在下發(fā)命令幀時需要在第一個幀起始符前加上三個FEH,起到喚醒電能表的作用,以便使電能表處于接收狀態(tài)。</p><p><b>  2)地址域</b></p><p>  地址域代表從站的通信地址,位于兩個68H之間,由6個字節(jié)12位十進制數(shù)表示。當?shù)刂酚驗椤?99999999999"時代表廣播地址

70、,在總線方式下可以下發(fā)廣播命令,從站收到命令無需應(yīng)答。地址域還支持AAH通配符,方便現(xiàn)場維護工人輸入通信地址。</p><p><b>  3)控制碼</b></p><p>  控制碼用1字節(jié)十六進制編碼,該標準定義了12個控制命令,包括讀數(shù)據(jù)、讀后續(xù)數(shù)據(jù)、讀通信地址、寫數(shù)據(jù)、寫通信地址、廣播校時、凍結(jié)、更改通信速率、修改密碼、最大需量清零、電表清零、事件清零,控制

71、碼格式見圖3。</p><p><b>  圖3 控制碼結(jié)構(gòu)</b></p><p><b>  4)數(shù)據(jù)域長度</b></p><p>  數(shù)據(jù)域長度用一字節(jié)表示,它的數(shù)值即為數(shù)據(jù)域的字節(jié)數(shù)量。</p><p><b>  5)數(shù)據(jù)域</b></p><p

72、>  數(shù)據(jù)域是主從站傳遞數(shù)據(jù)的區(qū)域,在標準中數(shù)據(jù)域可包含數(shù)據(jù)標識、密碼、操作者代碼、數(shù)據(jù)、幀序號等,具體內(nèi)容根據(jù)控制碼不同而不同。為防止出現(xiàn)連續(xù)多個“1’’或“0”,在發(fā)送前數(shù)據(jù)域每個字節(jié)要做加33H處理,并且要將字節(jié)順序顛倒傳輸。而接收方應(yīng)該將數(shù)據(jù)域按字節(jié)減33H處理,然后顛倒順序進行解析。數(shù)據(jù)域的字節(jié)數(shù)也有限制,讀數(shù)據(jù)時不應(yīng)超過200字節(jié),寫數(shù)據(jù)時不應(yīng)超過50字節(jié)。</p><p><b> 

73、 6)校驗碼</b></p><p>  DL/T645-2007采取的校驗方式為累加校驗和,即從第一個幀起始符開始到校驗碼之前的所有各字節(jié)的模256的和。</p><p>  通信時標準要求收到命令幀后的響應(yīng)延時為20ms~500ms,字節(jié)間的停頓延時應(yīng)小于500ms。標準為每個通信的數(shù)據(jù)項都定義了一個數(shù)據(jù)標識與之對應(yīng),數(shù)據(jù)標識用4字節(jié)表示,分七大類:電能量、最大需量及發(fā)生時

74、間、變量、事件記錄、參變量、凍結(jié)量、負荷記錄。數(shù)據(jù)項采用壓縮BCD碼或ASCII表示。</p><p>  3.2 整體設(shè)計思想</p><p>  本設(shè)計研究電能表端如何實現(xiàn)該協(xié)議,該協(xié)議中手持單元或其它數(shù)據(jù)終端為主站,多功能電能表為從站,為實現(xiàn)這一協(xié)議,必須有電能表的微控制器芯片以及相應(yīng)的數(shù)據(jù)終端。MCS-51系列單片機由于內(nèi)部帶有一個可用于異步通訊的全雙工的串行通訊接口,因此可以很方

75、便地構(gòu)成一個主從式多機系統(tǒng)來模擬電能表和數(shù)據(jù)終端來實現(xiàn)該協(xié)議。</p><p>  本文使用MCS-51單片機模擬多功能電能表的微控制器,模擬成從站,即單片機多機通信系統(tǒng)中的從站,使用相同的單片機模擬數(shù)據(jù)終端設(shè)備作為主站,即單片機多機通信系統(tǒng)中的主站。所以本設(shè)計的總體思想即用MCS-51單片機的多機通信系統(tǒng)模擬實現(xiàn)多功能電能表的通信協(xié)議,設(shè)計重點在電能表微控制器部分的實現(xiàn),也就是MCS-51單片機的多機通信系統(tǒng)中

76、從機部分。本設(shè)計以C語言作為單片機開發(fā)語言,利用Proteus軟件做電路仿真,利用keil軟件做程序設(shè)計,結(jié)合兩個軟件運行。</p><p>  該協(xié)議物理層部分定義了三種通信接口:接觸式紅外接口、調(diào)制型紅外接口和RS-485電氣接口,接觸式紅外接口和調(diào)制型紅外接口用于在實驗室或現(xiàn)場環(huán)境下一對一的電能表抄設(shè),RS--485電氣接口可通過總線連接實現(xiàn)一主多從的通信。因為本設(shè)計模擬實現(xiàn)一主多從的通信,所以采用RS--

77、485接口通信方式。</p><p>  3.3 單片機的串行口簡介</p><p>  3.3.1 單片機概述</p><p>  單片微型計算機(Single Chip Microcomputer)簡稱單片機,又稱MCU(Micro Controller Unit),是將計算機的基本部分微型化,使之集成在一塊芯片上的微機.片內(nèi)含有CPU、ROM、RAM、并行I/

78、O、串行I/O、定時器/計數(shù)器、中斷控制、系統(tǒng)時鐘及系統(tǒng)總線等。 </p><p>  現(xiàn)代的單片機普遍具備通信接口,可以很方便地與計算機進行數(shù)據(jù)通信,為在計算機網(wǎng)絡(luò)和通信設(shè)備間的應(yīng)用提供了極好的物質(zhì)條件,現(xiàn)在的通信設(shè)備基本上都實現(xiàn)了單片機智能控制,從手機,電話機、小型程控交換機、樓宇自動通信呼叫系統(tǒng)、列車無線通信、再到日常工作中隨處可見的移動電話,集群移動通信,無線電對講機等。</p><p

79、>  本文在研究傳統(tǒng)的多機通信系統(tǒng)的基礎(chǔ)上,設(shè)計了一種基于MCS-51系列單片機AT89S52 的多機通信系統(tǒng),模擬多功能電能表以及數(shù)據(jù)終端設(shè)備來實現(xiàn)多功能電能表的通信協(xié)議。</p><p>  3.3.2 單片機的串行口的結(jié)構(gòu)</p><p>  MCS-51單片機內(nèi)部有一個全雙工的串行通信口,即串行接收和發(fā)送緩沖器(SBUF),這兩個在物理上獨立的接發(fā)送器,既可以接收數(shù)據(jù)也可以發(fā)

80、送數(shù)據(jù)。但接收緩沖器只能讀出不能寫入,而發(fā)送緩沖器剛只能寫入不能讀出。這個通信口既可以用于網(wǎng)絡(luò)通信,亦可以實現(xiàn)串行異步通信,還可以構(gòu)成同步移位寄存器使用。如果在傳行口的輸入輸出引腳上加上電平轉(zhuǎn)換器,就可以方便地構(gòu)成標準的RS-232接口。80C51單片機的串行口的結(jié)構(gòu)如圖4所示。</p><p>  圖4 80C51單片機的串行口的結(jié)構(gòu)</p><p>  串行口有兩個物理上獨立的接收、發(fā)

81、送緩沖器SBUF,它們占用同一地址99H ;接收器是雙緩沖結(jié)構(gòu);發(fā)送緩沖器,因為發(fā)送時CPU是主動的,不會產(chǎn)生重疊錯誤。 </p><p>  3.3.3 80C51串行口的控制寄存器</p><p>  1.特殊功能寄存器SCON</p><p>  SCON 是一個特殊功能寄存器,用以設(shè)定串行口的工作方式、接收/發(fā)送控制以及設(shè)置狀態(tài)標志,字節(jié)地址為98H。SCO

82、N寄存器的各位定義如表1所示。</p><p>  表1 SCON寄存器</p><p>  SM0和SM1為工作方式選擇位,可選擇四種工作方式,如表2所示。</p><p>  表2 串口通信4種工作方式</p><p>  SM2為多機通信控制位,主要用于方式2和方式3。當接收機的SM2=1時可以利用收到的RB8來控制是否激活RI(RB8

83、=0時不激活RI,收到的信息丟棄;RB8=1時收到的數(shù)據(jù)進入SBUF,并激活RI,進而在中斷服務(wù)中將數(shù)據(jù)從SBUF讀走)。當SM2=0時,不論收到的RB8為0和1,均可以使收到的數(shù)據(jù)進入SBUF,并激活RI(即此時RB8不具有控制RI激活的功能)。通過控制SM2,可以實現(xiàn)多機通信。</p><p>  在方式0時,SM2必須是0。在方式1時,若SM2=1,則只有接收到有效停止位時,RI才置1。</p>

84、<p>  REN為允許串行接收位。由軟件置REN=1,則啟動串行口接收數(shù)據(jù);若軟件置REN=0,則禁止接收。</p><p>  TB8用在方式2或方式3中,是發(fā)送數(shù)據(jù)的第九位,可以用軟件規(guī)定其作用。可以用作數(shù)據(jù)的奇偶校驗位,或在多機通信中,作為地址幀/數(shù)據(jù)幀的標志位(在方式0和方式1中,該位未用) 。</p><p>  RB8用在方式2或方式3中,是接收到數(shù)據(jù)的第九位,

85、作為奇偶校驗位或地址幀/數(shù)據(jù)幀的標志位。在方式1時,若SM2=0,則RB8是接收到的停止位。</p><p>  TI,發(fā)送中斷標志位。在方式0時,當串行發(fā)送第8位數(shù)據(jù)結(jié)束時,或在其它方式,串行發(fā)送停止位的開始時,由內(nèi)部硬件使TI置1,向CPU發(fā)中斷申請。在中斷服務(wù)程序中,必須用軟件將其清0,取消此中斷申請。</p><p>  RI,接收中斷標志位。在方式0時,當串行接收第8位數(shù)據(jù)結(jié)束時

86、,或在其它方式,串行接收停止位的中間時,由內(nèi)部硬件使RI置1,向CPU發(fā)中斷申請。也必須在中斷服務(wù)程序中,用軟件將其清0,取消此中斷申請[7]。</p><p>  2.特殊功能寄存器PCON</p><p>  PCON的字節(jié)地址為87H,它的第7位SMOD是與串口通信波特率的設(shè)置有關(guān)的選擇位。SMOD(PCON.7)為波特率倍增位。在串行口方式1、方式2、方式3時,波特率與SMOD有關(guān)

87、,當SMOD=1時,波特率提高一倍。復(fù)位時,SMOD=0。</p><p>  3.3.4 80C51單片機串行口的工作方式</p><p><b>  1.方式0</b></p><p>  設(shè)置SCON寄存器的SM0、SM1=0 0時,串行口工作于方式0。此時,串行口為同步移位寄存器的輸入輸出方式。主要用于擴展并行輸入或輸出口。數(shù)據(jù)由RXD

88、(P3.0)引腳輸入或輸出,同步移位脈沖由TXD(P3.1)引腳輸出。發(fā)送和接收均為8位數(shù)據(jù),低位在先,高位在后。波特率固定為fosc/12。其中fosc為時鐘頻率。</p><p><b>  2.方式1</b></p><p>  設(shè)置SCON寄存器的SM0、SM1=0 1時,串行口工作于方式1。方式1是10位數(shù)據(jù)的異步通信口。TXD為數(shù)據(jù)發(fā)送引腳,RXD為數(shù)據(jù)接

89、收引腳,傳送一幀數(shù)據(jù)的格式如圖所示。其中1位起始位,8位數(shù)據(jù)位,1位停止位。 用軟件置REN為1時,接收器以所選擇波特率的16倍速率采樣RXD引腳電平,檢測到RXD引腳輸入電平發(fā)生負跳變時,則說明起始位有效,將其移入輸入移位寄存器,并開始接收這一幀信息的其余位。接收過程中,數(shù)據(jù)從輸入移位寄存器右邊移入,起始位移至輸入移位寄存器最左邊時,控制電路進行最后一次移位。當RI=0,且SM2=0(或接收到的停止位為1)時,將接收到的9位數(shù)據(jù)的前

90、8位數(shù)據(jù)裝入接收SBUF,第9位(停止位)進入RB8,并置RI=1,向CPU請求中斷。方式一的輸入輸出圖如圖5、6所示。</p><p><b>  圖5 方式1輸入</b></p><p><b>  圖6 方式1輸出</b></p><p><b>  3.方式2和方式3</b></p>

91、;<p>  設(shè)置SCON寄存器的SM0、SM1=1 0時,串行口工作于方式2,當SM0、SM1=1 1時,串行口工作于方式3。方式2或方式3為11位數(shù)據(jù)的異步通信口。TXD為數(shù)據(jù)發(fā)送引腳,RXD為數(shù)據(jù)接收引腳 。</p><p>  方式2和方式3時起始位1位,數(shù)據(jù)9位(含1位附加的第9位,發(fā)送時為SCON中的TB8,接收時為RB8),停止位1位,一幀數(shù)據(jù)為11位。方式2的波特率固定為晶振頻率的1

92、/64或1/32,方式3的波特率由定時器T1的溢出率決定。 </p><p>  方式2和方式3輸出:發(fā)送開始時,先把起始位0輸出到TXD引腳,然后發(fā)送移位寄存器的輸出位(D0)到TXD引腳。每一個移位脈沖都使輸出移位寄存器的各位右移一位,并由TXD引腳輸出。第一次移位時,停止位“1”移入輸出移位寄存器的第9位上 ,以后每次移位,左邊都移入0。當停止位移至輸出位時,左邊其余位全為0,檢測電路檢測到這一條件時,使控

93、制電路進行最后一次移位,并置TI=1,向CPU請求中斷。發(fā)送時序圖如下圖7所示。</p><p>  圖7 方式2或方式3的發(fā)送時序圖</p><p>  方式2和方式3輸入:接收時,數(shù)據(jù)從右邊移入輸入移位寄存器,在起始位0移到最左邊時,控制電路進行最后一次移位。當RI=0,且SM2=0(或接收到的第9位數(shù)據(jù)為1)時,接收到的數(shù)據(jù)裝入接收緩沖器SBUF和RB8(接收數(shù)據(jù)的第9位),置RI=

94、1,向CPU請求中斷。如果條件不滿足,則數(shù)據(jù)丟失,且不置位RI,繼續(xù)搜索RXD引腳的負跳變。接收時序圖如圖8所示。</p><p>  圖8 方式2或方式3的接收時序圖</p><p><b>  4.波特率的計算</b></p><p>  在串行通信中,收發(fā)雙方對發(fā)送或接收數(shù)據(jù)的速率要有約定。通過軟件可對單片機串行口編程為四種工作方式,其中

95、方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可變的,由定時器T1的溢出率來決定。</p><p>  串行口的四種工作方式對應(yīng)三種波特率。由于輸入的移位時鐘的來源不同,所以,各種方式的波特率計算公式也不相同。</p><p>  方式0的波特率 = fosc/12</p><p>  方式2的波特率 =(2SMOD/64)· fosc &l

96、t;/p><p>  方式1的波特率 =(2SMOD/32)·(T1溢出率)</p><p>  方式3的波特率 =(2SMOD/32)·(T1溢出率)</p><p>  當T1作為波特率發(fā)生器時,最典型的用法是使T1工作在自動再裝入的8位定時器方式(即方式2,且TCON的TR1=1,以啟動定時器)。這時溢出率取決于TH1中的計數(shù)值。計算公式如下所

97、示:</p><p>  T1 溢出率 = fosc /{12×[256 -(TH1)]} (1)</p><p>  在單片機的應(yīng)用中,常用的晶振頻率為:12MHz和11.0592MHz。所以,選用的波特率也相對固定。本設(shè)計中使用的是11.0592MHz晶振頻率。</p><p>  3.4 單片機多機通信系統(tǒng)相關(guān)理論</p>

98、;<p>  3.4.1 單片機多機通信的概述</p><p>  目前,在通信領(lǐng)域里,一對一的通信方式已經(jīng)遠遠不能滿足人們設(shè)計的需要,多機通信已經(jīng)成為通信控制領(lǐng)域的主流通信形式。單片機多機通信是指由兩臺以上單片機組成的網(wǎng)絡(luò)結(jié)構(gòu),可以通過串行通信方式共同實現(xiàn)對某一過程的最終控制,目前,單片機多機通信的形式較多,但通??煞譃樾切?、環(huán)型、串行總線型和主從式多機型四種。本設(shè)計采用的就是主從式多機型,它是一

99、種分散形網(wǎng)絡(luò)結(jié)構(gòu),具有接口簡單和使用靈活等優(yōu)點。如圖9為主從式8051單片機多機通信示意圖。</p><p>  圖9 主從式多機通信系統(tǒng)結(jié)構(gòu)圖</p><p>  3.4.2 多機通信的基本原理</p><p>  在多機通信中,每臺從機均分配有一個從機地址,主機與從機之間進行串行通信時,通常是主機先呼叫某從機地址,喚醒被叫從機后,主、從兩機之間進行數(shù)據(jù)交換。而未

100、被呼叫的從機則繼續(xù)進行各自的工作。</p><p>  在一般的多機通信系統(tǒng)中,利用單片機的串口工作方式2、方式3可以很好的解決如何識別主機發(fā)送的是地址信息還是數(shù)據(jù)信息,從而喚醒相應(yīng)的從機,而其他從機繼續(xù)進行當前的工作。當主機給從機發(fā)送信息時,要根據(jù)發(fā)送信息的性質(zhì)來設(shè)置TB8,發(fā)送地址信號時,設(shè)置TB8=1;發(fā)送數(shù)據(jù)或命令時,設(shè)置TB8=0。當從機的SM2為1時,該從機只接收地址幀(RB8位為1),對數(shù)據(jù)幀(RB

101、8位為0)將不予理睬。而當SM2為0時,該從機接收所有發(fā)來的信息。</p><p>  當發(fā)送的是地址信息時,各從機都響應(yīng)串口中斷,接收主機下發(fā)的一幀地址數(shù)據(jù)。而當主機發(fā)送數(shù)據(jù)幀時,無關(guān)從機可不響應(yīng)串口中斷。解決的方法是:當主機發(fā)送一幀地址信息時,應(yīng)保持這幀數(shù)據(jù)的第9位為1。從機按照工作方式2或工作方式3運行時,將串行口控制寄存器SCON中的控制位SM2置為1,當所接收的一幀數(shù)據(jù)的第9位為1,所有從機都產(chǎn)生串口中

102、斷,接收這一幀地址數(shù)據(jù)并與各自的從機地址進行比較,以判斷主機是否要與本機通訊。接收到的地址數(shù)據(jù)與從機地址相等的為被呼叫從機,該從機將串行口控制寄存器SCON中的控制位SM2清為0,去接收主機發(fā)來的數(shù)據(jù)幀(數(shù)據(jù)幀的第9位為0),此時不管接收到的第9位數(shù)據(jù)是否為1或0,都要產(chǎn)生串口中斷,這就保證了主機與被叫從機間的正常數(shù)據(jù)通訊。數(shù)據(jù)通訊結(jié)束后,該從機又重新將串行口控制寄存器SCON中的控制位SM2置為1,為下一次與主機進行通訊作好準備。其它

103、從機則一直在SM2=1下繼續(xù)自己的工作,不會因為主、從機之間的數(shù)據(jù)通訊而被打斷。</p><p>  應(yīng)該特別指出的是,以上的多機通信基本原理在從機較少,一個字節(jié)的地址碼可以滿足協(xié)議要求時是非常適用的,但是在DL/T645-2007《多功能電能表通信協(xié)議》中,地址碼A0~A5共六字節(jié),用以上的方法無法接收六字節(jié)的地址碼,所以這種多機通信方法已經(jīng)不能滿足該協(xié)議要求。根據(jù)DL/T645-2007《多功能電能表通信協(xié)議

104、》中對字節(jié)格式的規(guī)定以及對波特率的要求,必須選用串口工作方式3來實現(xiàn)該協(xié)議,在該方式下,必須將SM2置為0,即讓所有從機能夠接收主機發(fā)來的所有信息,這樣才能接收到六字節(jié)的地址碼。從機只能在成功接收到地址碼后,從機將其如自己的地址進行比較,如果不是本機地址則不予理會,否則接收后續(xù)的字節(jié)。由于該協(xié)議規(guī)定地址碼有六位,保證了在正常的通信中,無關(guān)從機不會將其他從機的正常通信數(shù)據(jù)誤以為是本機地址,保證了協(xié)議的實現(xiàn),該方法實現(xiàn)DL/T645-200

105、7《多功能電能表通信協(xié)議》是安全可靠的。</p><p>  3.5 通信接口的選擇</p><p>  3.5.1 串行總線標準介紹</p><p>  由單片機構(gòu)成的總線形主從式結(jié)構(gòu)的多機通信系統(tǒng)中,只有一個是主機,其余是從機,主機發(fā)送的信息可被各從機接收,而各從機發(fā)送的信息只能由主機接收,從機與從機之間不能互相直接通信。根據(jù)主機與各從機之間距離的遠近,抗干擾性

106、等要求,可選擇TTL電平傳輸,RS-232C、RS-422A、RS-485傳輸,當然采用不同的通信標準時,還需進行相應(yīng)的電平轉(zhuǎn)換,有時還要對信號進行光電隔離。在實際的多機應(yīng)用系統(tǒng)中,常采用RS-422A或RS-485串行標準進行數(shù)據(jù)傳輸。DL/T645-2007《多功能電能表通信協(xié)議》規(guī)定了三種通信接口:接觸式紅外接口、調(diào)制型紅外接口和RS-485電氣接口,考慮紅外通信只要適用于一對一的近距離通信,所以本設(shè)計采用RS-485串行標準進行

107、數(shù)據(jù)傳輸。由于單片機的收發(fā)信號都是TTL電平,驅(qū)動能力和抗干擾性有限,為模擬實現(xiàn)DL/T645-2007《多功能電能表通信協(xié)議》,所以在本設(shè)計中,單片機須將TTL電平信號轉(zhuǎn)化為RS-485電平信號進行數(shù)據(jù)傳輸,下面將介紹常用的串行通信標準以及如何單片機收發(fā)信號轉(zhuǎn)化為RS-485串行標準。</p><p>  常用的串行接口按電氣標準及協(xié)議來分包括RS-232-C、RS-422、RS485等。</p>

108、<p>  RS-232也稱標準串口,最常用的一種串行通訊接口。它是在1970年由美國電子工業(yè)協(xié)會(EIA)聯(lián)合貝爾系統(tǒng)、調(diào)制解調(diào)器廠家及計算機終端生產(chǎn)廠家共同制定的用于串行通訊的標準。它的全名是“數(shù)據(jù)終端設(shè)備(DTE)和數(shù)據(jù)通訊設(shè)備(DCE)之間串行二進制數(shù)據(jù)交換接口技術(shù)標準”。傳統(tǒng)的RS-232-C接口標準有22根線,采用標準25芯D型插頭座(DB25),后來使用簡化為9芯D型插座(DB9),現(xiàn)在應(yīng)用中25芯插頭座已很少

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論