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