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

下載本文檔

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

文檔簡介

1、<p><b>  畢業(yè)論文(設(shè)計)</b></p><p>  題目名稱: 用單片機(jī)C語言實(shí)現(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 單片機(jī)的串行口簡介8</p><p>  3.4 單片機(jī)多機(jī)通信系統(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>  參考文獻(xiàn)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>  用單片機(jī)C語言實(shí)現(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í)單片機(jī)匯編和C語言編程</p>&

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

12、能表通信協(xié)議(電能表端)</p><p>  6、完成畢業(yè)論文(設(shè)計)所需的條件及上機(jī)時數(shù)要求</p><p><b>  120學(xué)時</b></p><p>  任務(wù)書批準(zhǔn)日期 2010 年12月 日 教研室(系)主任(簽字) </p><p>  任務(wù)書下達(dá)日期 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、 用單片機(jī)C語言實(shí)現(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>  用單片機(jī)C語言實(shí)現(xiàn)多功能電表通信協(xié)議(電能表端)</p><p><b>  1 題目來源</b></p><p>  題目來源:生產(chǎn)/社會實(shí)際</p><p><b>  2 研究目的和意義&l

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

36、文內(nèi)容。</p><p>  5月19日--6月10日 準(zhǔn)備及進(jìn)行畢業(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>  用單片機(jī)C語言實(shí)現(xiàn)多功能電表通信協(xié)議(電能表端)</p><p>

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

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

40、機(jī)模擬多功能電能表的微控制器,模擬成從站,即單片機(jī)多機(jī)通信系統(tǒng)中的從站,用相同的單片機(jī)模擬數(shù)據(jù)終端設(shè)備作為主站,即單片機(jī)多機(jī)通信系統(tǒng)中的主站,利用MCS-51單片機(jī)的多機(jī)通信系統(tǒng)模擬實(shí)現(xiàn)多功能電能表的通信協(xié)議。設(shè)計中以C語言作為單片機(jī)的開發(fā)語言,實(shí)現(xiàn)該協(xié)議中主要的通信功能。</p><p>  [關(guān)鍵詞] 電能表DL/T645單片機(jī)多機(jī)通信系統(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>  用單片機(jī)C語言實(shí)現(xiàn)多功能電表通信協(xié)議(電能表端)</p><p>  學(xué) 生:何有源,電子信息學(xué)院</p><p>  指導(dǎo)教師:杜 勇,電子信息學(xué)院</p><p><b>  前言</b></p><p>  電能表從最初的機(jī)械表

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

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

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

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

53、p>  我國從90年代初開始研制機(jī)電一體化電能表和全電子式電能表,隨著“一戶一表"政策的實(shí)施,我國在用電能表數(shù)量大幅增加。這一舉措給供電公司用電結(jié)算和管理帶來了巨大壓力,傳統(tǒng)的人工抄表方式已無法滿足當(dāng)前形勢要求,自動抄表技術(shù)成為最理想的解決方案。自動抄表技術(shù)是將數(shù)據(jù)自動采集、傳輸和處理應(yīng)用于電能供、用與管理系統(tǒng)中的一項(xiàng)新技術(shù),采用通訊和計算機(jī)網(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)一和實(shí)現(xiàn)至關(guān)重要。</p><p>  電能表相關(guān)的通信協(xié)議有很多種,目前國外的通訊協(xié)議主要有3種,一種標(biāo)準(zhǔn)是歐洲的IEC62056:電能測量——抄表、費(fèi)率和負(fù)荷控制的數(shù)據(jù)交換

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

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

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

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

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

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

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

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

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

64、和擴(kuò)充,從而研制出規(guī)模更大、性能更完備的系統(tǒng)。</p><p>  單片機(jī)C語言具有的一系列優(yōu)點(diǎn),以及使用C語言進(jìn)行程序設(shè)計已成為軟件開發(fā)的一個主流。C語言程序具有操作簡單,可移植性強(qiáng),能很好的滿足該協(xié)議,用單片機(jī)C語言實(shí)現(xiàn)多功能電能表通信協(xié)議具有相當(dāng)實(shí)用的價值。本文采用C語言編程開發(fā)實(shí)現(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ā)布第二版。兩版標(biāo)準(zhǔn)從結(jié)構(gòu)上差別不大,主要是控制命令、通信項(xiàng)的擴(kuò)充和數(shù)據(jù)標(biāo)識的重新梳理,下面以DL/T 645--2007為例作個簡單介紹。該標(biāo)準(zhǔn)適用于本地系統(tǒng)中多功能電能表與手持單元或其他數(shù)據(jù)終端設(shè)備進(jìn)行

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

67、、從站地址域、控制碼、數(shù)據(jù)域長度、數(shù)據(jù)域、幀信息縱向校驗(yàn)碼及幀結(jié)束符7個域組成。每部分由若干字節(jié)組成。</p><p>  每字節(jié)含8位二進(jìn)制碼,傳輸時加上一個起始位(0)、一個偶校驗(yàn)位和一個停止位(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>  幀是由十六進(jìn)制字節(jié)數(shù)組組成,每個字節(jié)在傳輸時加上1個起始位(0),1個偶校驗(yàn)位和一個停止位(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位十進(jìn)制數(shù)表示。當(dāng)?shù)刂酚驗(yàn)椤?99999999999"時代表廣播地址

70、,在總線方式下可以下發(fā)廣播命令,從站收到命令無需應(yīng)答。地址域還支持AAH通配符,方便現(xiàn)場維護(hù)工人輸入通信地址。</p><p><b>  3)控制碼</b></p><p>  控制碼用1字節(jié)十六進(jìn)制編碼,該標(biāo)準(zhǔn)定義了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ū)域,在標(biāo)準(zhǔn)中數(shù)據(jù)域可包含數(shù)據(jù)標(biāo)識、密碼、操作者代碼、數(shù)據(jù)、幀序號等,具體內(nèi)容根據(jù)控制碼不同而不同。為防止出現(xiàn)連續(xù)多個“1’’或“0”,在發(fā)送前數(shù)據(jù)域每個字節(jié)要做加33H處理,并且要將字節(jié)順序顛倒傳輸。而接收方應(yīng)該將數(shù)據(jù)域按字節(jié)減33H處理,然后顛倒順序進(jìn)行解析。數(shù)據(jù)域的字節(jié)數(shù)也有限制,讀數(shù)據(jù)時不應(yīng)超過200字節(jié),寫數(shù)據(jù)時不應(yīng)超過50字節(jié)。</p><p><b> 

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

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

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

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

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

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

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

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

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

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

83、=0時不激活RI,收到的信息丟棄;RB8=1時收到的數(shù)據(jù)進(jìn)入SBUF,并激活RI,進(jìn)而在中斷服務(wù)中將數(shù)據(jù)從SBUF讀走)。當(dāng)SM2=0時,不論收到的RB8為0和1,均可以使收到的數(shù)據(jù)進(jìn)入SBUF,并激活RI(即此時RB8不具有控制RI激活的功能)。通過控制SM2,可以實(shí)現(xiàn)多機(jī)通信。</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ù)的奇偶校驗(yàn)位,或在多機(jī)通信中,作為地址幀/數(shù)據(jù)幀的標(biāo)志位(在方式0和方式1中,該位未用) 。</p><p>  RB8用在方式2或方式3中,是接收到數(shù)據(jù)的第九位,

85、作為奇偶校驗(yàn)位或地址幀/數(shù)據(jù)幀的標(biāo)志位。在方式1時,若SM2=0,則RB8是接收到的停止位。</p><p>  TI,發(fā)送中斷標(biāo)志位。在方式0時,當(dāng)串行發(fā)送第8位數(shù)據(jù)結(jié)束時,或在其它方式,串行發(fā)送停止位的開始時,由內(nèi)部硬件使TI置1,向CPU發(fā)中斷申請。在中斷服務(wù)程序中,必須用軟件將其清0,取消此中斷申請。</p><p>  RI,接收中斷標(biāo)志位。在方式0時,當(dāng)串行接收第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、,當(dāng)SMOD=1時,波特率提高一倍。復(fù)位時,SMOD=0。</p><p>  3.3.4 80C51單片機(jī)串行口的工作方式</p><p><b>  1.方式0</b></p><p>  設(shè)置SCON寄存器的SM0、SM1=0 0時,串行口工作于方式0。此時,串行口為同步移位寄存器的輸入輸出方式。主要用于擴(kuò)展并行輸入或輸出口。數(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ā)生負(fù)跳變時,則說明起始位有效,將其移入輸入移位寄存器,并開始接收這一幀信息的其余位。接收過程中,數(shù)據(jù)從輸入移位寄存器右邊移入,起始位移至輸入移位寄存器最左邊時,控制電路進(jìn)行最后一次移位。當(dāng)RI=0,且SM2=0(或接收到的停止位為1)時,將接收到的9位數(shù)據(jù)的前

90、8位數(shù)據(jù)裝入接收SBUF,第9位(停止位)進(jìn)入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,當(dāng)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。當(dāng)停止位移至輸出位時,左邊其余位全為0,檢測電路檢測到這一條件時,使控

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

94、1,向CPU請求中斷。如果條件不滿足,則數(shù)據(jù)丟失,且不置位RI,繼續(xù)搜索RXD引腳的負(fù)跳變。接收時序圖如圖8所示。</p><p>  圖8 方式2或方式3的接收時序圖</p><p><b>  4.波特率的計算</b></p><p>  在串行通信中,收發(fā)雙方對發(fā)送或接收數(shù)據(jù)的速率要有約定。通過軟件可對單片機(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>  當(dāng)T1作為波特率發(fā)生器時,最典型的用法是使T1工作在自動再裝入的8位定時器方式(即方式2,且TCON的TR1=1,以啟動定時器)。這時溢出率取決于TH1中的計數(shù)值。計算公式如下所

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

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

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

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

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

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

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

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

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

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

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

108、<p>  RS-232也稱標(biāo)準(zhǔn)串口,最常用的一種串行通訊接口。它是在1970年由美國電子工業(yè)協(xié)會(EIA)聯(lián)合貝爾系統(tǒng)、調(diào)制解調(diào)器廠家及計算機(jī)終端生產(chǎn)廠家共同制定的用于串行通訊的標(biāo)準(zhǔn)。它的全名是“數(shù)據(jù)終端設(shè)備(DTE)和數(shù)據(jù)通訊設(shè)備(DCE)之間串行二進(jìn)制數(shù)據(jù)交換接口技術(shù)標(biāo)準(zhǔn)”。傳統(tǒng)的RS-232-C接口標(biāo)準(zhǔn)有22根線,采用標(biāo)準(zhǔn)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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論