基于PL2101的單片機(jī)低壓電力線載波通信接口擴(kuò)展
摘 要:本文介紹了低壓電力線通信接口芯片PL2101與MSP430F149的接口。
關(guān)鍵詞:低壓電力線載波通信;擴(kuò)頻通信;PL2101;MSP430F149
早期的低壓電力線載波通信芯片的接口電路相對復(fù)雜、抗干擾能力差,且多為國外產(chǎn)品,性價比低,因此,單片機(jī)系統(tǒng)較少采用低壓電力線載波通信。隨著通信技術(shù)的發(fā)展,新型低壓電力線載波通信接口芯片解決了以上缺點(diǎn),使得單片機(jī)系統(tǒng)采用低壓電力線載波通信變得簡單易用。
PL2101簡介
PL2101采用二相相移鍵控,載波頻率120KHz,帶寬15KHz,傳輸速率500bps。它由單一的+5V電源供電,與單片機(jī)的接口簡單,外圍模擬發(fā)射/接收電路也較簡單,工作時無需外接模擬混頻器。PL2101內(nèi)置有5種實用的功能電路:時鐘電路、32 Bytes SRAM、電壓監(jiān)測、看門狗定時器及復(fù)位電路。其中,時鐘與SRAM在主電源掉電后可由3V備用電池供電繼續(xù)工作。
采用PL2101擴(kuò)展單片機(jī)低壓電力線載波通信接口
硬件電路設(shè)計
PL2101的半雙工收發(fā)控制端、HEAD(數(shù)據(jù)同步端)、RXD_TXD (半雙工數(shù)據(jù)收發(fā)、數(shù)據(jù)輸入/輸出端)引腳用于與單片機(jī)、DSP處理器收發(fā)數(shù)據(jù),實現(xiàn)低壓電力線載波通信功能;PL2101內(nèi)部的寄存器采用標(biāo)準(zhǔn)I2C接口(由SCL、SDA引腳組成進(jìn)行操作;另外,PL2101的 WDI(看門狗計數(shù)器清零輸入端)、 RESET(上電及看門狗計數(shù)器溢出復(fù)位輸出端)和PFo(電源掉電指示端)用于單片機(jī)對PL2101的工作狀態(tài)監(jiān)測。
采用PL2101為MSP430單片機(jī)擴(kuò)展低壓電力線載波通信接口的原理如圖1所示。圖中只畫出了PL2101和MSP430F149的接口部分,PL2101的外圍模擬發(fā)射/接收電路可參考芯片手冊的典型電路。使用MSP430F149的P1口與PL2101的8個引腳連接。使用MSP430F149具有中斷功能的 P1口的引腳P1.6連接HEAD,以實現(xiàn)在中斷方式下發(fā)送/接收PL2101的數(shù)據(jù);由于MSP430F149未集成I2C總線接口,因此,MSP430F149通過P1.2、P1.3引腳軟件模擬I2C時序來訪問PL2101的內(nèi)部寄存器;另外,由于MSP430F149采用3.3V邏輯電平,PL2101采用5V COMS邏輯電平,因此不能直接連接引腳,需要進(jìn)行電平轉(zhuǎn)換。
數(shù)據(jù)收發(fā)軟件設(shè)計
MSP430F149只需對P1口操作就可以通過PL2101進(jìn)行數(shù)據(jù)收發(fā),實現(xiàn)與其它單片機(jī)的低壓電力線載波通信。
單片機(jī)對PL2101的發(fā)送/接收數(shù)據(jù)工作時序如圖2所示。當(dāng)PL2101相對單片機(jī)處于發(fā)射態(tài)時,PL2101由 HEAD的上升沿對內(nèi)部解調(diào)的數(shù)據(jù)進(jìn)行鎖存輸出,外部單片機(jī)可在HEAD的下降沿后讀取PL2101從電力線接收到的數(shù)據(jù)。而當(dāng)PL2101處于接收態(tài)時,PL2101在 HEAD的上升沿對RXD_TXD的數(shù)據(jù)進(jìn)行鎖存,可讓外部單片機(jī)在 HEAD的下降沿后將數(shù)據(jù)置于RXD_TXD引腳,由PL2101發(fā)送到電力線上。
MSP430F149接收數(shù)據(jù)流程如圖3所示。程序采用子程序形式,采用中斷方式接收數(shù)據(jù)。MSP430F149發(fā)送數(shù)據(jù)流程與接收流程相似,可以看出,通過PL2101發(fā)送/接收數(shù)據(jù)的軟件設(shè)計比較簡單。
PL2101配置及監(jiān)控軟件設(shè)計
PL2101的配置通過對其內(nèi)部寄存器的操作來實現(xiàn)。PL2101上電復(fù)位后,除寫保護(hù)寄存器外,其它寄存器均處于寫保護(hù)狀態(tài)。單片機(jī)系統(tǒng)對PL2101上電復(fù)位后,應(yīng)先向PL2101的寫保護(hù)寄存器寫1xxx xxxx B以打開寫保護(hù),再按電網(wǎng)特性向捕獲門限寄存器寫入相關(guān)數(shù)據(jù)來配置PL2101。
外部單片機(jī)讀寫PL2101內(nèi)部寄存器時,先產(chǎn)生起始位啟動I2C總線,根據(jù)芯片要求,外部單片機(jī)須發(fā)出器件代碼(1011000,高7位)和讀寫控制位(0,表示寫,最低位),當(dāng)數(shù)據(jù)正確時,PL2101將發(fā)出第1個確認(rèn)位,外部單片機(jī)讀出后再發(fā)出讀寫地址,然后外部單片機(jī)等待PL2101發(fā)送第2個確認(rèn)位。
外部單片機(jī)讀出PL2101發(fā)出的第2個確認(rèn)位后,如果要向PL2101內(nèi)部寄存器寫一個字節(jié)時,則可直接發(fā)出數(shù)據(jù),當(dāng)PL2101接收完發(fā)出第3個確認(rèn)位后,外部單片機(jī)則應(yīng)發(fā)出停止位結(jié)束寫操作。
MSP430F149寫PL2101內(nèi)部寄存器操作流程如圖4所示。也采用子程序形式。I2C總線時序請參考有關(guān)資料,本文不作討論。
外部單片機(jī)讀出PL2101發(fā)出的第2個確認(rèn)位后,若要讀PL2101內(nèi)部寄存器的一個字節(jié),必須再次發(fā)出一個總線起始位、發(fā)出一次器件代碼和讀寫控制位(1表示讀),PL2101收到后將在發(fā)出第3個確認(rèn)位后接著發(fā)送8位數(shù)據(jù),由外部單片機(jī)接收。外部單片機(jī)接收完后,可發(fā)出一個不確認(rèn)位和結(jié)束位結(jié)束讀操作;如果外部單片機(jī)發(fā)出確認(rèn)位,則PL2101將發(fā)送下一個地址的寄存器數(shù)據(jù),直至外部單片機(jī)發(fā)出一個不確認(rèn)位和結(jié)束位結(jié)束讀操作。
PL2101監(jiān)控部分的軟件設(shè)計比較簡單,只需定時清PL2101的WDI引腳和掃描PFo引腳就可實現(xiàn),對RST操作可使PL2101恢復(fù)正常工作狀態(tài)。
結(jié)語
對于單片機(jī)系統(tǒng)的通信,除廣泛應(yīng)用的RS-232、485等方式外,采用基于新型接口芯片的低壓電力線載波通信也是一個不錯的選擇?!?/P>
參考文獻(xiàn)
1魏小龍.MSP430系列單片機(jī)接口技術(shù)及系統(tǒng)設(shè)計實例.北京:北京航空航天大學(xué)出版社,2002.
2 北京福星曉程電子科技股份有限公司.PL2101芯片手冊.
評論