WT61P9 Fan Control

Posted by: 邱小新 at 上午9:38 in
  • 板子上共有八個 Fan Control Pin(FAN1~FAN8),兩兩一組由 LPWM0~3 控制,PWM 值則存在 LPWM0_Duty(0x36)~LPWM3_Duty(0x39)。
  • PMCTL_DATA[PMCTL_DATA_PWM_EN_NO](0x26) 第三個 bit 要設成 1,才會啟動 PWM 控制。在 Init_PWM_Drv 時被強制打開,但是在 UARTprocess 則可以控制其開關。在 Check_PWM_Output 只是判斷而已,所以只能經由 I2C 控制打開轉速設定,但是關閉時無法將轉速關閉。
  • Routine_Read_En(0x1A) 第三個 bit 要設成 0,才能手動設定 PWM,不然會進入自動 Profile 設定。

NO.PINVariable板上的字
44GPIOD4/LPWM0LPWM0_DUTY(0x36)FAN1/FAN2
43GPIOD5/LPWM1LPWM1_DUTY(0x37)FAN3/FAN4
42GPIOD6/LPWM2LPWM2_DUTY(0x38)FAN5/FAN6
41GPIOD7/LPWM3LPWM3_DUTY(0x39)FAN7/FAN8

  • 讀取風扇轉速透過 CD4052 再經由 Frequency Count Detector 計算數值,所以必須設定 EN_F1_CNT=1(HV_FUN_EN) 及 EN_F2_CNT=1(HV2_FUN_EN)。
  • 讀取風扇轉速採用手動取樣方式,所以必須把中斷關閉,也就是要設定 IE1_FREQ1=0(INT_CTL_HV_EN) 及 IE1_FREQ2=0(INT_CTL_HV2_EN)。
  • FAN1,FAN3,FAN5,FAN7 接在 X 通道再經由 FREQ2B 計算,把值存在 FB2。HV2Sync_Detect_Routine 函數做計算動作
  • FAN2,FAN4,FAN6,FAN8 接在 Y 通道再經由 FREQ1B 計算,把值存在 FB1。HVSync_Detect_Routine 函數做計算動作。
  • Routine_Read_En(0x1A)=1 才會做風扇轉速計算。
  • 所讀得的轉速值則存在 FAN0_RPM(0x3A)~FAN7_RPM(0x41)。

indexdefaultR/Wbitname
300R/W5IE1_FREQ1
0R/W4IE1_FREQ2
400R/W7EN_F1_CNT
0R/W6EN_FB1_INT
0R/W4EN_FB1OV_INT
460R5-0FB1[5:0]
470R7-0FB1[13:6]
480R/W7-0FB1_LOV[7:0]
500R/W7EN_F2_CNT
0R/W6EN_FB2_INT
0R/W4EN_FB2OV_INT
560R5-0FB2[5:0]
570R7-0FB2[13:6]
580R/W7-0FB2_LOV[7:0]

0 意見

張貼留言