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