基于電力載波芯片的家電控制系統(tǒng)設(shè)計
掃描二維碼
隨時隨地手機(jī)看文章
摘要: 以單片機(jī)作為主控制器,利用家里的220 V電力線作為信息傳輸媒介,采用電力載波芯片ST7538實現(xiàn)對家電的信號采集及對智能控制;軟件采用C#編程,將家中個人電腦作為服務(wù)器,并以網(wǎng)站形式使用戶可以遠(yuǎn)程登錄,從而形成一套對家電的智能控制系統(tǒng)。用戶可以隨時隨地通過各種方式登錄Internet,方便地對家電進(jìn)行控制,并可以隨時查詢家電的各種狀態(tài)。
引言
電力線通信有很多的優(yōu)點:通信距離長,不受地形、地貌的影響,投資小,施工期短,設(shè)備簡單,實現(xiàn)成本低。電力線網(wǎng)四通八達(dá),遍布城鄉(xiāng),覆蓋范圍廣,可充分利用現(xiàn)有低壓電力線基礎(chǔ)設(shè)施,無需重新架設(shè)線路,避免了因布線而對公共設(shè)施和建筑物的損壞,節(jié)省了人力、物力。本文采用電力載波技術(shù)設(shè)計了對家電的智能控制系統(tǒng),使用戶可以隨時隨地通過各種方式登錄Internet,方便地對家電進(jìn)行控制。
1 系統(tǒng)總體設(shè)計
系統(tǒng)總體結(jié)構(gòu)框圖如圖1所示。主控制器采用Atmel公司生產(chǎn)的低電壓、高性能CMOS 8位單片機(jī)AT89C52。
圖1 系統(tǒng)總體結(jié)構(gòu)框圖
ST7538是SGSTHOMSON公司在電力載波芯片ST7536、ST7537基礎(chǔ)上推出的一款為家庭和工業(yè)領(lǐng)域電力線網(wǎng)絡(luò)通信而設(shè)計的半雙工、同步/異步FSK調(diào)制解調(diào)器芯片,適用于電力載波通信網(wǎng)絡(luò)的應(yīng)用。ST7538使用單電源運行,集成一個線性驅(qū)動器以及一個5 V線性調(diào)整器,通過內(nèi)部的寄存器來進(jìn)行控制,使用同步串行接口編程;諸如看門狗、時鐘輸出、輸出電流電壓控制、起始檢測、超時機(jī)制功能使用BCDV技術(shù),在同一芯片上使用DMOS及雙極性CMOS結(jié)構(gòu)。
ST7538有8種載波頻率,在同一時刻只有一種頻率可用。通信通道可以是正常模式或多頻方式的組合。通過控制寄存器可以選擇不同的頻率,發(fā)送和接收過濾器也隨之改變。
ST7538通過串行接口與主控制器交換數(shù)據(jù)。在使用RxD、TxD、CLR/T交換數(shù)據(jù)時,數(shù)據(jù)傳輸由REG_DATA和RxDx線來管理。有4種工作模式:數(shù)據(jù)發(fā)送、數(shù)據(jù)接收、讀控制寄存器、寫控制寄存器,如表1所列。
表1 ST7538的4種工作模式
線路訪問有異步和同步兩種通信方式,可以通過內(nèi)部寄存器來選擇。當(dāng)ST7538在數(shù)據(jù)接收模式時,內(nèi)部鎖相回路恢復(fù)參考時鐘,并且在CLR/T上升沿時RxD上的數(shù)據(jù)有效。
當(dāng)ST7538在數(shù)據(jù)發(fā)送模式時,參考時鐘由內(nèi)部產(chǎn)生,并且TxD上的數(shù)據(jù)在CLR/T的上升沿被讀取。如果RxTx線被設(shè)置為1且REG_DATA=0,則ST7538進(jìn)入閑置狀態(tài),并且CLR/T被迫使為低電平。經(jīng)過一段時間,調(diào)制解調(diào)器開始在RxD上提供接收到的數(shù)據(jù)。如果RxTx線被設(shè)置為0且REG_DATA=0,則ST7538進(jìn)入一個閑置狀態(tài)并且發(fā)送電路打開,經(jīng)過一段時間,解調(diào)器開始發(fā)送數(shù)據(jù)到TxD端口。
讀寫控制寄存器時,操作ST7538控制寄存器總是使用同步方式,且使用和主接口相同的接口線(RxD、TxD 和CLR/T) 以及REG_DATA。當(dāng)REG_DATA=0并且RxTx=0時,TxD線的數(shù)據(jù)首先寫入控制寄存器的最高有效位(MSB),在CLR/T的上升沿采樣TxD狀態(tài)??刂萍拇嫫鞯膬?nèi)容在寄存器存取結(jié)束(REG_DATA下降沿)時更新,如果超過24位傳輸,則只有最后的24 位有效。當(dāng)REG_DATA=1并且RxTx=1時,控制寄存器的內(nèi)容傳送到RxD口,CLR/T上升沿時穩(wěn)定,并且首先傳輸最高有效位(MSB)。
圖2 電力線接口電路
當(dāng)RxTx=1、REG_DATA=0時,接收電路部分處于工作狀態(tài)。輸入信號從RAI引腳取得,以SGND為參考地,并經(jīng)過帶通前置濾波(±10 kHz),可通過設(shè)置控制寄存器23位取消前置濾波器。輸入階段在寬動態(tài)范圍內(nèi),在噪音環(huán)境下接收到很弱的信號。所應(yīng)用的波形幅度由自動增益控制機(jī)構(gòu)(AGC)自動調(diào)整,再經(jīng)過一個窄帶帶通濾波器,之后信號被一個混頻器通過FSK調(diào)節(jié)器產(chǎn)生的正弦波修整,在送入FSK解調(diào)器之前通過中頻帶低通濾波器進(jìn)一步改善信號,最后FSK解調(diào)器將信號傳至RX邏輯進(jìn)行最后的數(shù)字濾波。當(dāng)RAI引腳沒有檢測到標(biāo)志或空頻率時,數(shù)字濾波能消除帶尖峰的遠(yuǎn)大于零的噪音信號。在接收模式下,標(biāo)志和空頻率必須拉開至少“波特率/2”,以便正確解調(diào)。當(dāng)ST7538處在數(shù)據(jù)接收模式時,發(fā)送器電路(包括功率接口)都被關(guān)斷,這樣可以使器件達(dá)到很低的電流消耗(典型為5 mA)。
2 服務(wù)器的搭建
采用家用電腦,在電腦上安裝Microsoft IIS 服務(wù)器,并制作成網(wǎng)站形式,用戶可以遠(yuǎn)程訪問屬于自己的頁面。其中,頁面上顯示出家電當(dāng)前的狀態(tài),并可以通過按鈕來發(fā)送控制命令,進(jìn)而控制家電的狀態(tài),比如燈的亮和滅。網(wǎng)頁采用Visual Studio 2008開發(fā)軟件,用C#語言編寫。上位機(jī)軟件和下位機(jī)主控制器采用串口進(jìn)行通信,而主節(jié)點控制器和從節(jié)點控制器通過ST7538在220 V電力線上進(jìn)行通信。
3 電力線接口電路設(shè)計
電力線接口電路的功能是將調(diào)制解調(diào)芯片與電力線相耦合。它的性能決定了通信效果的好壞,是實現(xiàn)載波通信的關(guān)鍵,主要包括發(fā)送濾波電路、接收濾波電路和耦合保護(hù)電路。發(fā)送濾波電路對ATOP1、ATOP2輸出的載波信號進(jìn)行濾波,濾除摻雜在信號中的諧波噪聲和偽信號,從而將處理后的信號以較高的效率和一定的功率耦合到電力線上。在圖2中,由C4、L1和C3、C5、R1、L3構(gòu)成一個四階帶通濾波器,所用的信道頻率為132.5 kHz;接收濾波電路用以濾除指定頻率以外的無用信號和噪聲,將有用的載波信號輸入給ST7538,采用并聯(lián)諧振電路,由R2、L2、C2、C1構(gòu)成二階無源帶通濾波器,中心頻率為132.5 kHz(由L2、C2的值決定);耦合保護(hù)電路用來隔離交流220 V強(qiáng)電信號,其中D1、D2、D3用于防止電力線上的浪涌或沖擊等高能量信號對后級電路的損壞。ST7538的Vsense、CL腳用于引入對輸出電壓、電流進(jìn)行自動增益控制的反饋信號。
從圖2中可以看出,ST7538的外圍器件相對較少。ST7538是采用FSK調(diào)制技術(shù)的高集成度電力載波芯片,內(nèi)部集成了發(fā)送和接收數(shù)據(jù)的所有功能,包括功率放大、電壓/電流自動控制,因此大大簡化了應(yīng)用電路。ST7538還提供了看門狗、時鐘輸出、復(fù)位、5 V/3.3 V電源輸出等,可以方便地與單片機(jī)相連接。
在電力線接口電路中,信號濾波部分是整個模塊的關(guān)鍵部分,它包括輸入窄帶濾波器和輸出窄帶濾波器兩部分。電力線中的信號經(jīng)變壓器耦合傳輸?shù)阶儔浩髯髠?cè),從R1和C5的連接處導(dǎo)入輸入濾波電路。經(jīng)過C2與L2組成的并聯(lián)電流諧振電路濾波信號傳輸?shù)絊T7538的RAI端口。電容C1用于隔離可能過高的直流電壓,起保護(hù)作用。圖3為輸入濾波電路。
如圖4所示,輸出濾波電路由C1、C2、R、L串聯(lián)構(gòu)成。其作用和輸入濾波電路是一樣的,都是讓特定頻率的信號通過而阻止其他頻率的無用信號。此電路是串聯(lián)電壓諧振電路,當(dāng)電路中的信號頻率正好與其固定諧振頻率相等時,在電容與電感中就會發(fā)生電壓諧振,電容中的電壓與電感中的電壓正好大小相等,方向相反。此時容抗與感抗相等,電路中的電壓與電流的相位相同,電路呈現(xiàn)純電阻性,這種現(xiàn)象叫串聯(lián)諧振。
圖3 輸入濾波電路 圖4 輸出濾波電路
4 單片機(jī)和ST7538接口電路設(shè)計
ST7538和單片機(jī)的通信采用SPI接口。SPI(Serial Peripheral Interface,串行外設(shè)接口)是一種同步串行外設(shè)接口,它可以使單片機(jī)與各種外圍設(shè)備以串行方式進(jìn)行通信以交換信息,如圖5所示。
圖5 ST7538與單片機(jī)的接口電路
ST7538可以使用三線接口(RxD,TxD,RxTx)與單片機(jī)進(jìn)行異步連接,數(shù)據(jù)交換不需要任何額外的時鐘以及附加的協(xié)議。在數(shù)據(jù)接收模式下單片機(jī)必須恢復(fù)參考時鐘,并在發(fā)送模式時控制發(fā)送1位的時間,當(dāng)未檢測到載波時RxD被強(qiáng)制拉成低電平。
另外,ST7538也可以使用四線接口(RxD,TxD,RxTx,CLR/T)與單片機(jī)進(jìn)行同步連接。ST7538總是通信的主端,并且利用CLR/T提供時鐘參考。
ST7538和單片機(jī)的接口實際上屬于SPI總線系統(tǒng),可直接與各個廠家生產(chǎn)的多種標(biāo)準(zhǔn)外圍器件直接接口。該接口一般使用4條線:串行時鐘線(SCK)、主機(jī)輸入/從機(jī)輸出數(shù)據(jù)線MISO、主機(jī)輸出/從機(jī)輸入數(shù)據(jù)線MOSI和低電平有效的從機(jī)選擇線SS。在此電路中,CLR/T相當(dāng)于SCK,RxD相當(dāng)于MISO,TxD相當(dāng)于MOSI,RxTx相當(dāng)于SS, UART/SPI腳接地。數(shù)據(jù)收發(fā)控制使用的是 P2口線,當(dāng) RxTx=0、REG/DATA=0時,載波芯片處于數(shù)據(jù)發(fā)送模式,TxD輸入向電力線發(fā)送的數(shù)據(jù);當(dāng)RxTx=1、REG/DATA=0時,進(jìn)入數(shù)據(jù)接收數(shù)據(jù)模式,RxD輸出從電力線上接收到的數(shù)據(jù);REG/DATA=1時讀寫控制寄存器,設(shè)置芯片功能參數(shù)。CLR/T輸出數(shù)據(jù)收發(fā)的同步時鐘信號,與單片機(jī)的外部中斷INT0相連,單片機(jī)以中斷的方式完成對ST7538的讀寫。P2.5輸入載波偵聽信號,ST7538檢測到工作頻率的載波時,CD_PD=0;無載波時,CD_PD=1。另外,要在1.5 s內(nèi)清零看門狗計數(shù)器,因為ST7538的看門狗時間是1.5 s。
結(jié)語
ST7538為家庭和工業(yè)環(huán)境應(yīng)用而設(shè)計,功能強(qiáng)大,集成度很高,且采取了多種抗干擾技術(shù)。雖然它采用FSK調(diào)制技術(shù),而沒有采用擴(kuò)頻技術(shù),但是正因為如此,它可以在噪聲頻帶很寬的信道環(huán)境下實現(xiàn)可靠通信。如果能夠很好地利用它的多頻段性,可以克服窄帶通信的缺點。經(jīng)過實驗證明,系統(tǒng)運行可靠,具有較高的性價比,可以廣泛地應(yīng)用到智能家庭和智能樓宇系統(tǒng)中。