- 相關(guān)推薦
多費率電能表中基于單片機串行口紅外通信的設(shè)計
摘要:利用單片機的串行口、定時器/計數(shù)器T0、定時器/計數(shù)器T1、紅外發(fā)射管和紅外接收管等簡單的軟硬件就可靠地實現(xiàn)了多費率電能表的紅外通信功能。本設(shè)計詳細(xì)介紹了串行口紅外通信的軟硬件設(shè)計方法,并給出了具體的電路原理圖、波形圖和51單片機程序。
關(guān)鍵詞: 紅外通信 串行接口 電能表 SSU7301單片機
0 引言
多費率電能表是我國目前節(jié)約用電和計劃用電政策下不可缺少的電能計量產(chǎn)品,多費率電能表的通信接口一般兼有紅外接口和RS485接口。紅外通信具有直觀、操作簡便、可靠性高等優(yōu)點,是電能表中使用最為普遍的一種通信方式,是電能表和掌機之間實現(xiàn)抄表、編程、校時、數(shù)據(jù)管理等功能的有效手段。采用新茂單片機SSU7301(51系列)、日本光電子公司的紅外發(fā)射管SE303和紅外接收管PIC12043,以及單片機串行口、2個定時器/計數(shù)器可以有效地實現(xiàn)紅外通信功能。
1 紅外通信原理
紅外通信是利用波長為900nm~1000nm的紅外波作為信息的載體,發(fā)射裝置把二進制信號經(jīng)過高頻調(diào)制后發(fā)送出去,接收裝置把接收的紅外高頻信號進行解調(diào)為原來信息的一種通信傳輸方式。其中調(diào)制方式有脈寬調(diào)制(通過改變脈沖寬度調(diào)制信號PWM)和脈時調(diào)制(通過改變脈沖串之間時間間隔調(diào)制信號PPM)兩種,本文采用PPM脈時調(diào)制方式。
2 串行口紅外通信硬件設(shè)計
多費率電能表的紅外發(fā)射和紅外接收電路主要包括新茂單片機SSU7301、日本光電子公司的紅外發(fā)射管SE303和紅外接收管PIC12043,以及驅(qū)動三極管8550、電阻和電容,紅外通信硬件原理圖見圖1。
2.1 紅外發(fā)射硬件設(shè)計
紅外發(fā)射是利用單片機SSU7301的串行數(shù)據(jù)發(fā)送口TXD(P3.1)控制驅(qū)動三極管BG1進行二進制數(shù)據(jù)“0”和“1”的傳輸(數(shù)據(jù)由串行發(fā)送緩沖器SBUF中送出),以及利用P3.4口控制驅(qū)動三極管BG2進行高頻38.4kHz調(diào)制(高頻驅(qū)動信號由定時器/計數(shù)器T0的方式2自動重裝模式產(chǎn)生),從而可靠地實現(xiàn)了紅外發(fā)射管D1在傳輸數(shù)據(jù)“0”時進行高頻紅外發(fā)射和數(shù)據(jù)“1”時被截止的發(fā)射功能。狀態(tài)關(guān)系見表1,波形見圖2。
2.2 紅外接收硬件設(shè)計
紅外接收是利用紅接收管PIC12034收到高頻信號輸出低電平確定為數(shù)據(jù)“0”,而沒收到高頻信號輸出高電平確定為數(shù)據(jù)“1”的方式經(jīng)過解調(diào),把數(shù)據(jù)通過單片機SSU7301的串行數(shù)據(jù)接收口RXD(P3.0)進行串行方式接收(接收數(shù)據(jù)存儲在串行口緩沖器SBUF中)。
3 紅外通信軟件設(shè)計
DL/T645-1997《多功能電能表通信》中規(guī)定電能表的紅外載波頻率為38kHz±1kHz;初始速率為1200 bps;通信的字節(jié)格式為8位二進制碼D0~D7,傳輸時加上一個起始位(0),一個偶校驗位P和一個停止位(1),共11位,傳輸時先傳低位,后傳高位,傳輸序列見圖3。根據(jù)以上要求,本設(shè)計中紅外載波頻率采用38.4kHz,波特率為1200bps,串行口采用模式3為9位異步通信方式,加1位起始位和1位結(jié)束位,傳送一個字節(jié)數(shù)據(jù)為11位。
3.1 紅外載波和定時器/計數(shù)器T0設(shè)置
紅外載波頻率f2為38.4kHz,當(dāng)定時器/計數(shù)器T0模式控制器TMOD中C/T=0和M1M0=10時,SSU7301的定時器/計數(shù)器T0設(shè)置成模式2方式。此時,TL0和TH0預(yù)置成1個可以自動重裝的8位的定時器/計數(shù)器。用軟件將TL0和TH0預(yù)置相同的初值后,當(dāng)TL0計數(shù)值增1溢出時,一方面使TF0置1,申請中斷;另一方面產(chǎn)生的溢出脈沖將TH0的數(shù)據(jù)值自動打入到TL0中去,不需要用軟件對TL0重新置初值。系統(tǒng)的晶振f1為11.0592MHz,則TL0和TH0的初值計算如下:
f2=38.4kHz 得T=1/f2=1/38.4k≈26×10-6=26 μs
所以高頻調(diào)制反轉(zhuǎn)的周期TC=T/2=26/2=13μs
即定時器/計數(shù)器T0的初值TL0=TH0=28-(TC×f1)/12=256-(13×10-6×11.0592×106)/12=256-11.9808≈244=0F4H
在定時器/計數(shù)器T0的中斷服務(wù)程序中只用兩條指令即可實現(xiàn)高頻調(diào)制,即 CPL P3.4和RETI。
3.2 串行口和定時器/計數(shù)器T1波特率發(fā)生器設(shè)置
串行口采用模式3為9位異步通信方式,波特率為1200bps。由串行口控制寄存器SCON的操作模式選擇位SM0、SM1都置1設(shè)置為模式3,當(dāng)定時器/計數(shù)器T1模式控制器TMOD中C/T=0和M1M0=10時,SSU7301的定時器/計數(shù)器T1設(shè)置成模式2方式作為波特率發(fā)生器,其波特率表示為:
波特率=(T1的溢出率)/ n
當(dāng)SMOD=0時,n=32;當(dāng)SMOD=1時,n=16,(本設(shè)計中SMOD=0)則
波特率=(T1的溢出率)×2SMOD / 32
T1的溢出率=(f1/12)/(28-T1初值)
得:波特率=(T1的溢出率)×2SMOD / 32
=[(f1/12)/(28- T1初值)] ×2SMOD / 32
得:定時器/計數(shù)器T1初值
TL1=TH1=28-(f1×2SMOD )/(12×32×波特率)
=256-(11.0592×106)/( 12×32×1200)
=256-24=232=0E8H
3.3 程序設(shè)計
根據(jù)以上兩點參數(shù)的設(shè)置,51系列單片機SSU7301的匯編語言程序設(shè)計如下:
;以下為參數(shù)設(shè)置程序
MOV TMOD, #22H ;定時器/計數(shù)器T0
【多費率電能表中基于單片機串行口紅外通信的設(shè)計】相關(guān)文章:
探討基于多種通信方式并存的配網(wǎng)自動化通信系統(tǒng)06-01
多網(wǎng)融合對通信工程的應(yīng)用論文04-11
多網(wǎng)融合通信工程研究論文07-22
多網(wǎng)融合在通信工程的應(yīng)用論文04-12
談多網(wǎng)融合在通信工程的應(yīng)用論文04-11
多網(wǎng)融合應(yīng)用于通信工程的研究08-15
基于web的異地并行設(shè)計與制造系統(tǒng)研究06-02
基于勝任力的企業(yè)個體績效管理流程設(shè)計06-03