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