iT邦幫忙

2023 iThome 鐵人賽

DAY 17
0

在介紹讀取CPU風扇轉速相關的函式之前,需要了解讀取環控晶片Hardware Monitor暫存器的相關知識。

Hardware Monitor

環控晶片顧名思義就是可以控制環境相關設定的晶片,除了控制這些設定以外,環控晶片通常會與一些重要的系統數值相連,如電壓(CPU核心電壓、記憶體電壓),環境溫度(CPU溫度、主機板溫度),風扇轉速(CPU風扇、系統風扇),讓使用者可以監控這些與系統相關且重要的數值,而在環控晶片中與這些系統數值相關的就是Hardware Monitor

存取Hardware Monitor暫存器

因為Hardware Monitor的暫存器數量很多,就像一般的環控晶片暫存器用logical device來區分,Hardware Monitor的暫存器則是以不同的Bank來區分,例如系統數值的讀值大部分都在bank 4,CPU風扇的控制則在bank 2。Hardware Monitor暫存器也是使用Index/Data埠的方式來存取,我們必須先到logical device B(主要負責設定Hardware Monitor)的暫存器位置0x60及0x61,分別代表hardware monitor的I/O位址的高位元組和低位元組,將兩者合而為一就可以得到完整的I/O位址,而這個I/O位址+0x05/0x06就是Hardware Monitor的Index/Data埠。至於要切換不同的bank則需要對Bank Select Register 0x4E填寫Bank number去切換bank,讀寫方式就類似於Day12所提,只是將2E/2F替換成Hardware Monitor I/O位址+0x05/0x06。詳細的暫存器介紹如下圖所示:

以上就是對Hardware Monitor暫存器簡單的介紹,明天會以實際在動態連結函庫中的實作詳細解說。

參考內容

環控晶片 - NCT6796


上一篇
Day16 使用I/O存取環控晶片-6
下一篇
Day18 使用I/O存取環控晶片-8
系列文
Windows Driver + Electron 學習筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言