摘要: 網(wǎng)絡(luò)供電是EPA的關(guān)鍵技術(shù)之一。本文簡(jiǎn)要介紹了IEEE802.3af標(biāo)準(zhǔn),系統(tǒng)分析了以太網(wǎng)供電設(shè)備的功能需求和總體設(shè)計(jì),選用MSP430F148單片機(jī)和MAX5945以太網(wǎng)供電電源管理器,基于I2-CBUS通信規(guī)范,開(kāi)發(fā)了符合IEEE802.3af標(biāo)準(zhǔn)以太網(wǎng)供電設(shè)備,并給出了該供電設(shè)備在EPA系統(tǒng)中的應(yīng)用實(shí)例。
關(guān)鍵詞: IEEE802.3af PoE 以太網(wǎng)供電設(shè)備 MSP430F148 MAX5945 I2C-BUS EPA
MSP430F148是美國(guó)TI公司推出的超低功耗混合信號(hào)控制器MSP430系列中的Flash型單片機(jī)。它具有16位RISC結(jié)構(gòu),CPU中的16個(gè)寄存器和常數(shù)發(fā)生器使MSP430微控制器能達(dá)到最高的代碼效率;靈活的時(shí)鐘源可以使器件達(dá)到最低的功耗;數(shù)字控制的振蕩器(DCO)可使器件從低功耗模式迅速喚醒,在6μs之內(nèi)激活到活躍的工作方式。將它應(yīng)用于以太網(wǎng)供電設(shè)備中,可方便地實(shí)現(xiàn)對(duì)以太網(wǎng)供電電源管理芯片的控制,也可以使用戶(hù)方便地通過(guò)終端監(jiān)控程序?qū)σ蕴W(wǎng)供電設(shè)備進(jìn)行監(jiān)控。
1 IEEE802.3af標(biāo)準(zhǔn)簡(jiǎn)介
IEEE802.3af標(biāo)準(zhǔn)定義了一種允許通過(guò)以太網(wǎng)在傳輸數(shù)據(jù)的同時(shí)輸送48 V直流電源的方法。它將以太網(wǎng)供電(Power over Ethernet,PoE)技術(shù)引入到現(xiàn)有的網(wǎng)絡(luò)基礎(chǔ)設(shè)施中,且與原有的網(wǎng)絡(luò)設(shè)備相兼容;最大能夠提供12.95 W的功率,傳輸距離為100 m。
PoE由兩部分組成:供電設(shè)備(Power Sourcing Equipment,PSE)和受電設(shè)備(Powered Device,PD)。PSE負(fù)責(zé)將電源注入以太網(wǎng)線纜,并實(shí)施功率的規(guī)劃和管理。IEEE802.3af標(biāo)準(zhǔn)定義了兩種類(lèi)型的PSE,一種為“Endpoint PSE”;另一種為“Midspan PSE”。Endpoint PSE是支持PoE的以太網(wǎng)交換機(jī)、路由器、集線器或其他網(wǎng)絡(luò)設(shè)備,這種設(shè)備在CAT5線纜的信號(hào)線對(duì)或備用線對(duì)上傳輸電源;Midspan PSE是專(zhuān)門(mén)用于電源管理的設(shè)備,不進(jìn)行數(shù)據(jù)交換,它通常和數(shù)據(jù)交換設(shè)備放在一起協(xié)同工作,以實(shí)現(xiàn)以太網(wǎng)供電的功能。PSE主要工作步驟為:
① 偵測(cè)(Discovery)。在允許PSE向合法的PD供電之前,它必須用一個(gè)有限功率的測(cè)試源來(lái)檢查特征電阻。一般用兩點(diǎn)檢測(cè)法來(lái)完成偵測(cè)工作。
② 分級(jí)(classify)。偵測(cè)到有效的PD后,PSE利用一個(gè)15.5~20.5 V的探測(cè)電壓來(lái)檢測(cè)PD的功率級(jí)別。PD通過(guò)從線上吸收不同的恒定電流(分級(jí)特征信號(hào))來(lái)向PSE表明自己所需的最大功率。
③ 供電(delivery)。成功偵測(cè)和分級(jí)后,PSE向PD正常供電。供電期間,PSE還要對(duì)每個(gè)端口的供電情況進(jìn)行監(jiān)視,提供欠壓和過(guò)流保護(hù)。
④ 斷電(shutdown)。當(dāng)PD斷開(kāi)后,PSE停止對(duì)線路進(jìn)行供電。PSE可以用DC斷路檢測(cè)法或者AC斷路檢測(cè)法來(lái)檢測(cè)PD是否斷開(kāi)。
PD負(fù)責(zé)在網(wǎng)絡(luò)終端設(shè)備中分離出48V電源和數(shù)據(jù)信號(hào),并將48V DC電源變壓為通常情況下終端設(shè)備工作所需的5V DC。在PSE對(duì)PD進(jìn)行偵測(cè)、分級(jí)時(shí),PD應(yīng)做出相應(yīng)的反應(yīng);同時(shí),在PSE供電過(guò)程中,PD通過(guò)維持功率特征(Maintain Power Signature,MPS)發(fā)送持續(xù)工作信號(hào)。
2 硬件體系結(jié)構(gòu)與組成
在PoE系統(tǒng)中,PSE是主要部分。PSE除了實(shí)現(xiàn)上述電源管理功能外,在一些特殊應(yīng)用場(chǎng)合,還必須能夠提供各路PD的實(shí)時(shí)工作參數(shù),并且可以通過(guò)運(yùn)行于PC上的終端監(jiān)控程序來(lái)監(jiān)控整個(gè)系統(tǒng)。PSE系統(tǒng)分為硬件和軟件兩部分,圖1為供電系統(tǒng)的硬件體系結(jié)構(gòu)圖。
系統(tǒng)主要由電源模塊、電源轉(zhuǎn)換電路、MAX5945及其外圍電路、MSP430F148及其外圍電路、CP2102及其外圍電路組成。16位單片機(jī)MSP430F148通過(guò)I2CBUS對(duì)MAX5945讀寫(xiě),從而實(shí)現(xiàn)電源管理功能;通過(guò)模式設(shè)置信號(hào)線來(lái)設(shè)置MAX5945的工作模式;通過(guò)出錯(cuò)中斷信號(hào)線獲得來(lái)自于MAX5945的出錯(cuò)中斷信號(hào),從而通過(guò)復(fù)位信號(hào)線對(duì)MAX5945產(chǎn)生有效的低電平復(fù)位脈沖信號(hào)。同時(shí),MSP430F148通過(guò)內(nèi)部UART模塊,經(jīng)過(guò)CP2102橋接為USB接口后完成與PC上終端監(jiān)控程序的通信;也可以通過(guò)串口和PC機(jī)進(jìn)行通信,系統(tǒng)進(jìn)行直觀的監(jiān)控,并且當(dāng)系統(tǒng)識(shí)別到?jīng)]有與PC建立連接時(shí)會(huì)自主運(yùn)行。下面介紹一下系統(tǒng)各部分硬件的具體功能。
2.1 電源部分
電源部分主要為系統(tǒng)中各個(gè)器件提供工作電壓,系統(tǒng)工作時(shí)需要48 V、+5 V和+3.3 V三種電壓,CP2102需要的+5 V由PC的USB接口提供,其他器件由電源模塊輸出的+48 V或經(jīng)過(guò)轉(zhuǎn)換后提供工作電壓。
電源模塊:采用220 V轉(zhuǎn)-48 V的開(kāi)關(guān)電源模塊,由于1個(gè)MAX5945可以對(duì)4個(gè)以太網(wǎng)口進(jìn)行供電管理,I2CBUS上可以掛載多個(gè)MAX5945,因此可以根據(jù)實(shí)際情況來(lái)選擇電源模塊的功率。MAX5945工作時(shí)只需要外部單獨(dú)的-48 V供電,由電源模塊經(jīng)轉(zhuǎn)換電路反相后提供。
電源轉(zhuǎn)換電路:MSP430F148的工作電壓為+3.3 V,本設(shè)計(jì)采用電源轉(zhuǎn)換芯片LM2575HVS5.0將+48 V轉(zhuǎn)換為+5 V,經(jīng)過(guò)AMS11173.3將+5 V轉(zhuǎn)換為MSP430F148工作時(shí)所需要的+3.3 V。
2.2 以太網(wǎng)供電管理器部分
MAX5945是Maxim公司推出的一款四路網(wǎng)絡(luò)電源控制器,用于與IEEE802.3af兼容的供電設(shè)備(PSE)。該器件提供用電設(shè)備(PD)探測(cè)、分級(jí)、限流以及直流和交流負(fù)載斷開(kāi)探測(cè)。MAX5945可用于終端PSE(LAN交換機(jī)/路由器)或中跨PSE(電源注入)系統(tǒng)。MAX5945可獨(dú)立工作,也可以由軟件通過(guò)I2C兼容的接口進(jìn)行控制。單獨(dú)的輸入和輸出數(shù)據(jù)線(SDAIN和SDAOUT)允許使用光電耦合器。INT輸出和4個(gè)關(guān)斷輸入(SHD_)允許從出現(xiàn)錯(cuò)誤到端口關(guān)斷的快速響應(yīng)。RESET輸入允許硬件復(fù)位器件。MAX5945完全由軟件配置和編程。分級(jí)過(guò)流檢測(cè)使系統(tǒng)電源管理能夠檢測(cè)PD吸收的電流是否大于其分級(jí)所允許的電流。MAX5945具有4種工作模式,分別為自動(dòng)模式、半自動(dòng)模式、人工模式和關(guān)斷模式。在自動(dòng)模式下,自動(dòng)實(shí)現(xiàn)對(duì)標(biāo)準(zhǔn)PD的偵測(cè)、分級(jí)和供電等功能而不需要微控制器進(jìn)行控制,因此,在低成本設(shè)計(jì)中可以直接設(shè)置MAX5945為自動(dòng)模式(該模式下MAX5945采用DC斷路檢測(cè)法檢測(cè)PD是否斷開(kāi))。在半自動(dòng)模式下,MAX5945根據(jù)需要反復(fù)進(jìn)行行偵測(cè)和/或分級(jí),無(wú)論端口的連接狀態(tài)如何都不會(huì)給端口上電。每次要利用軟件命令關(guān)閉端口供電。在人工模式下,可以執(zhí)行優(yōu)越的AC斷路檢測(cè),實(shí)時(shí)地獲得每個(gè)PD的電壓與電流,這些需要通過(guò)I2C總線對(duì)MAX5945內(nèi)部的讀寫(xiě)寄存器進(jìn)行控制來(lái)完成,因此需要編寫(xiě)運(yùn)行于微控制器MSP430F148上的程序來(lái)完成對(duì)供電的高級(jí)管理。關(guān)斷模式終止所有活動(dòng),并安全地關(guān)閉端口電源。在器件完成其當(dāng)前任務(wù)之前,自動(dòng)、半自動(dòng)、人工模式之間的切換不發(fā)生作用。當(dāng)端口被設(shè)為關(guān)斷模式時(shí),端口立刻停止所有工作,維持空閑狀態(tài)直到退出關(guān)斷模式。
地址設(shè)置電路:MAX5945是從器件,4條地址線可以為MAX5945選擇16種不同的I2C地址。
AC斷路檢測(cè)電路:在PMM模式下,可以通過(guò)設(shè)置MAX5945的內(nèi)部寄存器配合外部的AC斷路檢測(cè)電路來(lái)產(chǎn)生疊加在供電回路中的AC斷路檢測(cè)信號(hào)。
狀態(tài)顯示電路:MAX5945需要在每個(gè)端口的供電回路上加入檢測(cè)顯示電路。這樣MAX5945工作在三種模式下都可以直觀地顯示各個(gè)端口的工作狀態(tài)。
2.3 單片機(jī)控制部分
MSP430F148是TI公司推出的超低功耗混合信號(hào)控制器MSP430系列中的Flash型單片機(jī),采用精簡(jiǎn)指令組對(duì)全部功能模塊進(jìn)行操作。它具有16位RISC結(jié)構(gòu),片內(nèi)具有48 KB Flash、2 KB RAM、USART等模塊;CPU中的16個(gè)寄存器和常數(shù)發(fā)生器使MSP430微控制器能達(dá)到最高的代碼效率;通過(guò)采用不同的時(shí)鐘源可以使MSP430F148滿足不同的低功耗要求;數(shù)字控制的振蕩器(DCO)可使MSP430F148在6μs之內(nèi)從低功耗模式轉(zhuǎn)換到激活工作模式;支持在線仿真功能,開(kāi)發(fā)工具能很好地支持C語(yǔ)言開(kāi)發(fā),能夠提高軟件的開(kāi)發(fā)效率,MSP430F148的安全熔絲可以對(duì)程序的代碼進(jìn)行保護(hù)。
MSP430 F148單片機(jī)采用存儲(chǔ)器—存儲(chǔ)器結(jié)構(gòu),即用一個(gè)公共的空間對(duì)全部功能模塊尋址,同時(shí)用精簡(jiǎn)指令組對(duì)全部功能模塊進(jìn)行操作。其內(nèi)部結(jié)構(gòu)包括CPU、存儲(chǔ)器、振蕩器與時(shí)鐘發(fā)生器和外圍模塊等。
時(shí)鐘電路:MSP430F148的時(shí)鐘模塊主要由高速時(shí)鐘、低速時(shí)鐘和數(shù)字控制振蕩器組成。數(shù)字控制振蕩器集成在內(nèi)部,8 MHz的高速時(shí)鐘和32.768 kHz的低速時(shí)鐘由外部時(shí)鐘電路產(chǎn)生。
復(fù)位電路:采用阻容式復(fù)位電路,實(shí)現(xiàn)對(duì)MSP430F148的外部手動(dòng)復(fù)位。
JATG接口:MSP430F148單片機(jī)內(nèi)部嵌入了JTAG接口,支持邊界掃描技術(shù)標(biāo)準(zhǔn)IEEE1149.1,主要由5個(gè)控制信號(hào)TCK、TDO、TDI、TMS和RST組成,通過(guò)集成的IDE開(kāi)發(fā)環(huán)境,可以很容易地在線調(diào)試代碼。
蜂鳴器:當(dāng)程序檢測(cè)到MAX5945運(yùn)行出錯(cuò)時(shí),通過(guò)MSP430F148的P3.3口向蜂鳴器發(fā)送一定頻率的脈沖信號(hào),這樣可以起到通過(guò)聲音報(bào)警的作用。
2.4 USB橋接器CP2102
CP2102是一款高集成度的專(zhuān)用通信芯片。該芯片的功能是實(shí)現(xiàn)UART和USB格式間數(shù)據(jù)的轉(zhuǎn)換,集成了一個(gè)符合USB2.0標(biāo)準(zhǔn)的全速功能控制器、EEPROM、緩沖器和帶有調(diào)制解調(diào)器接口信號(hào)的UART數(shù)據(jù)總線,同時(shí)具有一個(gè)集成的內(nèi)部時(shí)鐘和USB收發(fā)器。通過(guò)CP2102可以很簡(jiǎn)單地實(shí)現(xiàn)UART到USB間的橋接,從而為系統(tǒng)添加USB通信接口。
3 軟件設(shè)計(jì)與實(shí)現(xiàn)
PSE的軟件實(shí)現(xiàn)主要包括兩個(gè)部分:運(yùn)行于MSP430F148的PSE運(yùn)行控制程序和運(yùn)行于PC的PSE終端監(jiān)控程序。兩者通過(guò)由CP2102構(gòu)成的USB接口通信。
3.1 PSE運(yùn)行控制程序
PSE運(yùn)行控制程序主要實(shí)現(xiàn)系統(tǒng)初始化、對(duì)MAX5945進(jìn)行控制、與PC通信,以及對(duì)數(shù)據(jù)進(jìn)行封裝與解析等功能。如圖2所示,當(dāng)沒(méi)有與PC連接時(shí),設(shè)置MAX5945工作在AM模式下,MAX5945將自主運(yùn)行;此時(shí)不能得到各個(gè)供電端口的具體運(yùn)行數(shù)據(jù),只能通過(guò)狀態(tài)顯示電路中的LED顯示各個(gè)端口的運(yùn)行狀態(tài)。當(dāng)與PC連接時(shí),系統(tǒng)將按照用戶(hù)的要求將MAX5945設(shè)置為相應(yīng)的工作模式,此時(shí)系統(tǒng)能夠采集到各個(gè)端口的運(yùn)行參數(shù),在SAM和PMM模式下,系統(tǒng)將可以按照用戶(hù)的設(shè)置部分或者完全對(duì)各個(gè)端口的供電進(jìn)行控制。監(jiān)控過(guò)程是通過(guò)對(duì)MAX5945各端口寄存器的讀寫(xiě)操作來(lái)實(shí)現(xiàn)的。
3.1.1 系統(tǒng)初始化
系統(tǒng)時(shí)鐘初始化:選擇8 MHz時(shí)鐘XT2作為主時(shí)鐘的時(shí)鐘源,選擇DCO為子時(shí)鐘的時(shí)鐘源。
I/O口初始化:將P3.3設(shè)置為輸出,作為驅(qū)動(dòng)蜂鳴器的信號(hào);P4.0設(shè)置為輸出,作為MAX5945的模式選擇信號(hào);P4.2設(shè)置為輸出,作為MAX5945的復(fù)位信號(hào);P4.1設(shè)置為輸入,作為MAX5945的出錯(cuò)中斷輸入信號(hào)。
串口初始化:MSP430F148通過(guò)UART1與CP2102通信。UART1設(shè)置如下:發(fā)送字符位數(shù)為8位;發(fā)送/接收速率為9 600 bps;選擇輔助時(shí)鐘ACLK作為波特率發(fā)生器的時(shí)鐘源;使能串口接收和發(fā)送操作;將P3.6和P3.7的功能選擇寄存器設(shè)置為串口收發(fā)模式。
3.1.2 I2C-BUS的實(shí)現(xiàn)
MSP430F148中沒(méi)有標(biāo)準(zhǔn)的I2C-BUS通信模塊,因此,需要將I2C-BUS通信規(guī)范中的SDA和SCL通過(guò)P3.0和P3.2用軟件來(lái)模擬實(shí)現(xiàn),完成I2C-BUS的讀寫(xiě)操作。
(1) I2C-BUS寫(xiě)操作
I2C-BUS的寫(xiě)函數(shù)“void WriteI2C(char Addr,char Reg ,char Ctr)”由形參AddrMAX5945的地址、RegMAX5945寄存器地址、Ctr控制信息構(gòu)成;寫(xiě)函數(shù)由I2CInit()、 I2CStart()、I2CSent(unsigned char data)、I2CReceiveAck()、I2CReceiveAck()、I2CReceiveAck()、I2CStop()和delay()子函數(shù)組成。I2C-BUS的寫(xiě)函數(shù)用于向指定的MAX5945內(nèi)部寄存器中寫(xiě)入控制信息,具體的I2C-BUS寫(xiě)操作流程如圖3所示。
(2) I2C-BUS的讀操作
I2C-BUS的讀函數(shù)“void ReadI2C(unsigned char Adr,unsigned char Rg)”由形參AdrMAX5945的地址、RgMAX5945寄存器地址構(gòu)成。此操作的結(jié)果是將地址為Adr的 MAX5945 中的Rg狀態(tài)寄存器中的信息讀出,并將它存入char型全局變量中。讀函數(shù)由I2CInit()、I2CStart()、I2CSent()、I2CReceiveAck()、I2CSent(unsigned char data)、Rec_dat()、I2CSentNAck()、I2CReceiveAck()、I2CStop()和delay()子函數(shù)組成,由這些子函數(shù)共同完成I2C-BUS的讀時(shí)序。具體的I2C-BUS讀操作流程如圖4所示。
3.2 PSE終端監(jiān)控程序
PSE終端監(jiān)控程序主要實(shí)現(xiàn)對(duì)各個(gè)供電端口的實(shí)時(shí)監(jiān)控功能。由于使用了USB橋接芯片CP2102,在邏輯上監(jiān)控程序只要完成串口通信就可以了。各種控制數(shù)據(jù)通過(guò)終端監(jiān)控程序來(lái)設(shè)置,同時(shí)采集到的各個(gè)供電端口的實(shí)時(shí)工作參數(shù)也將直觀顯示在監(jiān)控程序上,終端監(jiān)控程序?qū)崿F(xiàn)了對(duì)供電的高級(jí)管理功能。
4 結(jié)論
隨著以太網(wǎng)供電技術(shù)的成熟與發(fā)展,以太網(wǎng)供電技術(shù)將逐漸被廣泛采用。本設(shè)計(jì)采用MSP430F148單片機(jī)和以太網(wǎng)供電管理器MAX5945開(kāi)發(fā)了符合以太網(wǎng)供電標(biāo)準(zhǔn)IEEE802.3af的可監(jiān)控高級(jí)以太網(wǎng)供電管理系統(tǒng)。該系統(tǒng)也可以根據(jù)實(shí)際需要進(jìn)行簡(jiǎn)化從而降低成本,此系統(tǒng)已經(jīng)應(yīng)用在EPA(工業(yè)自動(dòng)化以太網(wǎng))系統(tǒng)中,有良好的使用效果。