電力載波通信報告_第1頁
電力載波通信報告_第2頁
電力載波通信報告_第3頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、任務(wù)書熟練掌握單片機串行通信,設(shè)計硬件電路實現(xiàn)單片機之間的雙機 通信,兩個獨立的系統(tǒng)能處理自己的數(shù)據(jù)信息, 并能將實時的數(shù)據(jù)信 息傳遞給另一個系統(tǒng)。要求:1. 單片機之間通信要有簡單的通信協(xié)議,保證通信的暢通。2. 單個系統(tǒng)要有數(shù)據(jù)處理能力,之間的通信要簡單明了。3. 要能人為控制信息的交流,之間的通信要收人為控制在以上基礎(chǔ)之上要實現(xiàn)電力載波通信, 要將 220V 電力線作為通信 介質(zhì),接受和發(fā)送單片機的數(shù)據(jù)信息。要求自己設(shè)計電力載波通信,能夠?qū)纹瑱C的信號耦合到電力線 上去,并能保證在一定的距離單片機能夠暢通通信緒論隨著單片機系統(tǒng)的廣泛應(yīng)用和計算機網(wǎng)絡(luò)技術(shù)的普及,單片機的 通信功能越來越顯得

2、重要。 單片機通信是指單片機與計算機或者單片 機之間的信息交流。通信有并行和串行兩種,在單片機系統(tǒng)以及現(xiàn)代單片機測試系統(tǒng) 中,信息多是采用串行通信方式, 串行通信也是單片機與外界信息交 流的最基礎(chǔ)的通信方式。單片機串行通信能進行遠距離傳送,但如果在傳輸過程中不對數(shù) 據(jù)進行處理的話,那么數(shù)據(jù)信息會因為外界因素干擾而導(dǎo)致信息丟 失,這時電力載波通信就是一種可行的方法, 通過電力載波模塊的作 用,可以將單片機的數(shù)據(jù)信息耦合到電力線上去進行較遠的距離傳 送。一般采用擴頻編碼的方式,抗干擾能力強,數(shù)據(jù)傳輸可靠,這樣 就克服單片機串行通信的缺點。本課程設(shè)計模仿電力載波通信,要求能夠?qū)崿F(xiàn)電力線上數(shù)據(jù)傳輸,在

3、單片機雙機通信的基礎(chǔ)上, 介入單片機之后能在一定的距離仍 舊能實現(xiàn)雙機通信。一 方案論證本單片機課程設(shè)計題目為電力載波通信 ,實現(xiàn)單片機之間的 雙機通信, 并能將其之劍通信信息偶喝到電力線上去, 在一定距離實 現(xiàn)單片機在電力線上的信息傳輸。在雙機通信部分,本課程設(shè)計采用的基于STC89C5單片機的串口通信,并且采用RS232進行雙機通信。發(fā)送方的數(shù)據(jù)由串口 TXD段 輸出,經(jīng)過電力載波模塊的耦合, 數(shù)據(jù)信息傳送到電力線上去之后進 行數(shù)據(jù)傳輸,接收端使用 MAX232芯片進行電平轉(zhuǎn)換,信號到達接收 方串口的接收端。在雙方通信部分是實現(xiàn)全雙工通信方式, 雙方能夠?qū)崟r的對數(shù)據(jù) 進行處理顯示,并且能夠

4、發(fā)送到另一方,并能進行顯示,接收方在接 收到信息之后要回饋一個信號給發(fā)送端,表示數(shù)據(jù)已經(jīng)成功發(fā)送出 去。在軟件通信部分,軟件采取簡單的通信協(xié)議,以確保短距離傳送 數(shù)據(jù)信息的時候出現(xiàn)錯誤。最后附上簡單的整體電路圖曲戶艮片磯握濮椅扭電力fit頁區(qū)缺用尸ip.J'ittL二. 方案說明單片機之間的串口通信是單片機較為基本的功能,也是單片機與外界通信的常用方式,本設(shè)計是利用單片機的串口通信實現(xiàn)兩篇單片 機之劍的通信,兩個不同的系統(tǒng)之劍的信息交換。與平時做實驗時候的串口通信實驗相比較, 本設(shè)計增加了對數(shù)據(jù) 的處理和發(fā)送的設(shè)置,每個單片機與外部相連三個按鍵, 一個數(shù)碼管 和一個二極管。按鍵 S1,

5、 S2是對本地數(shù)據(jù)進行處理,加一和減一, 并在數(shù)碼管上進行顯示,而S3則是發(fā)送確認按鍵,只有按下S3本地 進行處理之后的數(shù)據(jù)信息才能發(fā)送到簾外一個單片機上面,并且當(dāng)數(shù) 據(jù)發(fā)送成功之后另一個單片機還會反饋一個信號使本地發(fā)光二極管 閃一下,表示確認本地數(shù)據(jù)已經(jīng)成功發(fā)送給另外一個單片機。電力載波部分采用的是“單相電力線載波調(diào)制解調(diào)器BWP08,BWP08電力載波模塊提供電力線上的通信功能,可以在 220V/110V,50/60hz電力線上實現(xiàn)局域通信,也可用于直流線路或無線導(dǎo)體。該模塊可以自由配置電力線上數(shù)據(jù)通訊模式, 有兩種通訊模 式供用戶選擇:固定字節(jié)傳輸及固定幀長度傳輸。 該模塊為用戶提供 了

6、透明的數(shù)據(jù)傳輸通道,數(shù)據(jù)傳輸和用戶協(xié)議無關(guān),模塊采用擴頻編 碼方式抗干擾能力強沒數(shù)據(jù)傳輸可靠,通訊過程中由用戶通訊協(xié)議驗 證數(shù)據(jù)的傳輸?shù)目煽啃浴T谕慌_變壓器下,多個BWP0模塊可連接 在用一條電力線上,在主從通信模式下,模塊分別單獨工作,不會相 互影響。以上兩部分組成本課程設(shè)計,電力載波通信的核心電路。三. 硬件方案設(shè)計U1I118'I一;丄id4一 3一亠-HS>XTAL1X7AL2RSTPO.CWADO PO4/AD1I PO.2/AD2 PO.3/AD3 PO 4/A04 PC.&/AD5 PO.&/ADB PO.Z/AD?PSEI1 ALTEAP2B/A

7、8P21MQP2.2rA1O 2.311 P2.4/A12 P2£fM3 卩2®A"PT .U Fl .1 IP1,2Pl .3 P1 .4Pli 5Fl .5IP1 7P3 .CMRXD P3.IZTX> P3.2/INT0 P3.3jlNrrrP3.4/TDP3 5H1P3.6/VP3.7/TO3-0 7 6 5 .1 2 i i gp n»1 2 3 d 5 & 7 3«333-t:li3:-».一-?|2r -22了 -111111 I<TEXT圖二.STC89C51單片機引腳圖1.STC89C51單片機的

8、串口通信計算機與外界的信息交換成為通信,常用的通信方式有兩種:并行通信和串行通信。51單片機用4個接口與外界進行數(shù)據(jù)輸入,輸 出就是串行通信,并行通信的特點就是傳輸信號的速度快,但所用的信號線多,成本高,傳輸?shù)木嚯x較近,串行通信的特點是用兩根信號線(一條信號線和一條信號回路)即可完成通信,成本低,傳輸?shù)木嚯x 遠。51單片機的借口是全雙工的接口,他可以作為 UART(通用異步 接收和發(fā)送器)用,也可以作為同步移位寄存器用。 51單片機的串 口結(jié)構(gòu)如下;1)數(shù)據(jù)緩沖器(SBUF接受或發(fā)送的數(shù)據(jù)都要先送到 SBUF緩存。有兩個,一個緩存, 另一個接受,用同一直接地址99H,發(fā)送時用指令將數(shù)據(jù)送到 S

9、BUF即 可啟動發(fā)送;接收時用指令將SBUF中接收到的數(shù)據(jù)取出。(2)串行控制寄存器(PCONSCON用于串行通信方式的選擇,收發(fā)控制及狀態(tài)指示,各位含 義如下:SM0SM1SM2RENTB8RB8TIRISM0,SM1串行接口工作方式選擇位,這兩位組合成 00, 01,10,11對應(yīng)于工作方式0、1、2、3。串行接口工作方式特點見下表SM0SM1工作方式功能波特率0008位同步移位寄存器(用于I/O擴展)f°R/1201110位異步串行通信(UART可變(T1溢出率*2 SMOD32)10211位異步串行通信(UARTf or(/64 或 f orC3211311位異步串行通信(U

10、ART可變(T1溢出率*2 SMOD32)SM2多機通信控制位。REN接收允許控制位。軟件置1允許接收;軟件置0禁止接收。TB8:方式2或3時,TB8為要發(fā)送的第9位數(shù)據(jù),根據(jù)需要由 軟件置1或清0。RB9在方式2或3時,RB8位接收到的第9位數(shù)據(jù),實際為主 機發(fā)送的第9位數(shù)據(jù)TB8,使從機根據(jù)這一位來判斷主機發(fā)送的時呼 叫地址還是要傳送的數(shù)據(jù)。TI :發(fā)送中斷標志。發(fā)送完一幀數(shù)據(jù)后由硬件自動置位,并申請 中斷。必須要軟件清零后才能繼續(xù)發(fā)送。RI:接收中斷標志。接收完一幀數(shù)據(jù)后由硬件自動置位,并申請 中斷。必須要軟件清零后才能繼續(xù)接收。(3)輸入移位寄存器接收的數(shù)據(jù)先串行進入輸入移位寄存器,8

11、位數(shù)據(jù)全移入后,再 并行送入接收SBUF中。(4)波特率發(fā)生器波特率發(fā)生器用來控制串行通信的數(shù)據(jù)傳輸速率的,51系列單片機用定時器T1作為波特率發(fā)生器,T1設(shè)置在定時方式。波特率時 用來表示串行通信數(shù)據(jù)傳輸快慢程度的物理量, 定義為每秒鐘傳送的 數(shù)據(jù)位數(shù)。2. MAX232芯片用89C51串行接口通信,如果兩臺單片機之劍的距離很近(不超過1.5m),可以采用直接將兩臺單片機的串行接口相連,利用其自身的TTL電平(0-5V)直接傳輸數(shù)據(jù)信息。如果傳輸距離較遠的話,由于 傳輸線的阻抗與分布電容, 會產(chǎn)生電平損耗和波形畸變, 以至于檢測 不出數(shù)據(jù)或數(shù)據(jù)出錯,此時可用RS232標準總線接口,將單片機輸

12、出 的TTL電平轉(zhuǎn)轉(zhuǎn)換成 RS232標準電平(邏輯電平 1為-15V+5V,邏 輯0為+5V- + 15V),用RS232可提高傳輸距離。3. 電力載波模塊 BWP08電力載波模塊BWP08勺引腳圖如圖3所示。他是專門針對智能家居燈飾控制市場研發(fā)制作的,產(chǎn)品具有體積小,通訊可靠,通訊頻點 可調(diào),功能可定制等特點, 可以廣泛用于智能家居燈飾控制家電控制 等領(lǐng)域。BWP0電力載波模塊采用5 12V寬電壓設(shè)計,載波波特率100bps 到300bps可調(diào),有多種接口方式可供選擇,包括 UART SPI等2種 接口,可以方便的與單片機進行數(shù)據(jù)通訊, 方便用戶進行第二次開發(fā), 串行接口波特率可以由用戶設(shè)定

13、,共有四種波特率可以設(shè)置: 1200bps, 2400bps, 4800bps, 9600bps。BWP08fe力載波模塊使用TTL電平串口與用戶系統(tǒng)進行,并使用 交叉連接方式進行連接,通訊采用收,發(fā),地三線制方式,當(dāng)用戶系 統(tǒng)為 TTL 電平串口時可直接與模塊進行交叉連接進行通訊,無須 RS232電平轉(zhuǎn)換,所以用戶可以直接使用單片機的串行接口(UART與模塊進行通訊,當(dāng)用戶系統(tǒng)為標準RS232借口時,需要增加串口電平轉(zhuǎn)換芯片進行電平轉(zhuǎn)換,如:MAX23等芯片進行串口電平轉(zhuǎn)換四. 軟件方案設(shè)計通過簡單的通信協(xié)議實現(xiàn)單片機全雙工通信, 每一個單片機即時 數(shù)據(jù)信息的發(fā)送者也是信息的接受者,主機發(fā)送

14、 0X00 給從機,并接 受從機的回信,若不為 0Xaa 則主機一直停留在本地數(shù)據(jù)處理及顯示 這部分,若在某時認為按下發(fā)送按鈕 S3,則主機發(fā)送OXaa給從機, 從機若接到信息則跳出處理數(shù)據(jù)信息部分并回答主機OXbb,主機接收到回答后, 便開始把本地處理的數(shù)據(jù)傳送給從機, 從機接收到數(shù)據(jù) 信息 key 之后在本地數(shù)碼管上顯示出來。1. 串行通信軟件實現(xiàn)1) .串行口工作于方式一: 用定時器 1產(chǎn)生 9600bit/s 的波特率, 工作于方式二。2) . 功能:雙方單片機能實時通信, 并且能人為控制信息的發(fā)送, 接收方的回饋信號,以確定收到數(shù)據(jù)。3) .通信協(xié)議:主機發(fā)送聯(lián)絡(luò)信號OXaa,從機接

15、收到聯(lián)絡(luò)信號后 回答OXbb表示好已經(jīng)準備接收數(shù)據(jù)。2. 程序流程圖五. 調(diào)試按附錄 3,仿真三在 proteus 上接好的硬件圖,然后將附錄一 中的程序在keil中編譯成HEX文件下載到單片機中,有如下結(jié)果:仿真開始后。兩片單片機系統(tǒng)中的數(shù)碼管都顯示“ 5”,兩邊有 獨立的按鍵“ S1當(dāng)前數(shù)值+1, S2當(dāng)前數(shù)值-1 , S3將單前數(shù)值發(fā) 送到兩一個單片機系統(tǒng)”按下左邊 S1 之后左邊數(shù)碼管顯示“ 6”,然 后按下右邊S2,右邊數(shù)碼管顯示“ 4”按下左邊的S3之后右邊的數(shù) 碼管顯示“ 6”,同理操作右邊的按鍵之后顯示也是一樣的。MAX232間的引腳高低電平在不斷變化,兩個單片機系統(tǒng)之間 在不

16、斷通信,進行數(shù)據(jù)通訊,只要人為對數(shù)據(jù)信息進行處理發(fā)送,兩 邊便能保持通信。六技術(shù)小結(jié) 在寫這個實驗報告的時候單片機課程設(shè)計已經(jīng)進入尾聲經(jīng)過繁 忙而緊的學(xué)習(xí)和查閱資料, 最后做完了設(shè)計, 最后都基本上大道了要 求,但是在電力載波模塊這方面還不是特別理想, 仍然還是有時候會 有點小問題,但是基本上已經(jīng)實現(xiàn)了要求的功能。在雙機通信這方面, 本課程設(shè)計較為成功, 完全實現(xiàn)了雙機通信 所要求的全部功能,兩片單片機之間能夠完全按照人的意志進行通 信,并且很完美,沒有錯誤,所要求的功能全部實現(xiàn)了。總之通過這次單片機課程設(shè)計,再長時間的翻書和查閱資料之中,加深了單片機C語言程序設(shè)計的理解,特別是在單片機串行通

17、信 方面,更是受益頗深。正如上面說的在這次課程設(shè)計之中也遇到不少問題, 在實現(xiàn)雙機 通信之后, 繼續(xù)實現(xiàn)電力載波通信一直是一個大問題, 在買到模塊之 后查閱各種資料, 嘗試各種方案都未能成功, 最后網(wǎng)上通過詢問最終 解決問題,盡管走了不少彎路, 但是最后成功了, 心里還是蠻高興的。總之聽過這次單片機課程設(shè)計, 在單片機的學(xué)習(xí)之中學(xué)到了不少 更是體驗到學(xué)習(xí)單片機的樂趣,鍛煉了自己的思考問題的方式和方 法。附錄一實驗主程序:#include <reg51.h>#define uint unsigned int#define uchar unsigned charsbit p1=P1A0

18、;sbit p2=P1Al;sbit p3=P1A2;sbit set=P1A6;sbit led=P1A5;uchar key;uchar table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f5void delay(uint xms)uint i,j;for(i=xms;i>0;i-)for(j=110;j>0;j-);void dis()set=0;P2=tablekey;void send(uchar k)SBUF=k;while(!TI);TI=0;void keydeal()/*/*=*/if(p1=0)delay(10);if(p1=0)key+;if(key=10)key=0;while(p1=0);if(p2=0) delay(10);if(p2=0)key-;if(key=255) key=9; while(p2=0);void main()TMOD=0x20;TH1=0xfd;

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論