Posted
by: 邱小新
at 上午9:38
in
WT61P9
- 板子上共有八個 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. | PIN | Variable | 板上的字 |
44 | GPIOD4/LPWM0 | LPWM0_DUTY(0x36) | FAN1/FAN2 |
43 | GPIOD5/LPWM1 | LPWM1_DUTY(0x37) | FAN3/FAN4 |
42 | GPIOD6/LPWM2 | LPWM2_DUTY(0x38) | FAN5/FAN6 |
41 | GPIOD7/LPWM3 | LPWM3_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)。
index | default | R/W | bit | name |
30 | 0 | R/W | 5 | IE1_FREQ1 |
0 | R/W | 4 | IE1_FREQ2 |
40 | 0 | R/W | 7 | EN_F1_CNT |
0 | R/W | 6 | EN_FB1_INT |
0 | R/W | 4 | EN_FB1OV_INT |
46 | 0 | R | 5-0 | FB1[5:0] |
47 | 0 | R | 7-0 | FB1[13:6] |
48 | 0 | R/W | 7-0 | FB1_LOV[7:0] |
50 | 0 | R/W | 7 | EN_F2_CNT |
0 | R/W | 6 | EN_FB2_INT |
0 | R/W | 4 | EN_FB2OV_INT |
56 | 0 | R | 5-0 | FB2[5:0] |
57 | 0 | R | 7-0 | FB2[13:6] |
58 | 0 | R/W | 7-0 | FB2_LOV[7:0] |
張貼留言