POE完整流程
2019-12-06 10:10:10 2 举报
POE一个完整的管理流程,涉及到上电、掉电、告警、恢复
作者其他创作
大纲/内容
POE_InitHandle
1、清除告警2、关闭告警灯
Y
reOpenPortNo端口恢复供电,清除端口关闭标志
g_poePortStateMachine [portNum]==PSE_PORT_DISABLED
N
g_current_mA[portNum] > =20mA
计算恢复端口reOpenPortNo的请求功率
如果总功率小于阀值功率
sg_poeInitTime = 1 设置为非第一次启动
电流g_current_mA[portNum] > =20mA
1、设置端口disable 2、设置端口被限制标志3、设置端口掉电标志
portNo < IP808IC_PORT_NUM
IP804A_GetCounterPolling 更新每个端口统计
灯状态g_poePortStateMachine [portNum]==PSE_PORCE_POWER_ON
Poe_MsgHandle
powerLimit < poePowerTmp
POE_InitHandleToIP804A
portNo = 0
LED_GREEN_ON
POE_MAX_LED_ON == sg_poe_max_led_state
总功率大于阀值
Poe_Destroy
IP804A_PortDown关闭优先级低的端口
获取端口的请求功率,并计算入总功率中
0 == sg_poeInitTime第一次启动
POE_PORT_CLASS_DEF == classficationSet,设置为255 不关注class时
while (1)
ip804a_PoEInit
IP804A_Init
获取端口功率,并计算入真实功率和总功率中
1、开启告警灯2、告警
ip804a_LedStatusMonitor 点灯状态
1、清除端口被限制标志 2、端口enable或者 force on3、清除端口掉电标志
获取到powerLimit
LED_GREEN_OFF
1、获取端口侦测状态2、获取端口侦测类
LED_QUICK_BLINK
此阶段分出两个线程并行运行
计算总功率
1、初始化I2C2、减少inrush值3、初始化4个端口(开启侦测但不开启端口)4、记录第一次统计计数5、设置为AT模式6、启动IVT 状态机
总功率大于阀值
portNo++
强制供电模式
main
IP804A_CounterInit
循环获取g_poePortStateMachine[portNo] 灯状态变量
IP804A_PortUp总功率过载后端口供电恢复
1、端口过载标志置12、端口POE功能是开启的
ip804a_PowerSupply
端口请求功率是30W
POE_MAX_LED_OFF == sg_poe_max_led_state
IP804A_PowerManage 功率管理
IP804A_GetEvent 获取事件发生状态
classficationSet < classficationPD 设置的class小于PD协商下的
IP804A_EventEntry
Poe_Init
循环获取g_current_mA[portNo] 端口电流
计算过载关闭后的优先级最高的端口reOpenPortNo
portNo ++
判断真实功率+请求功率是否大于总功率阀值
0 条评论
下一页