3

私は検索して検索しましたが、Delphi での方法については何も見つかりませんでした。Unvoton NCT6776F チップからセンサー情報を読み取る方法として XE2 を使用しています。どこかでアセンブリが必要だと思いますが、開始方法について見つけることができるものは何もありません。チップのレジストリの詳細は次のとおりです。

Bus Type = ISAIO
One NCT6776F

Unvoton NCT6776F, IndexReg=A35, DataReg=A36
=============================================================
Fan1 Fan Speed, Bank 6, Offset 0x30, 0x31 RPM = 1350000/(Data=HighByte[12:5], LowByte

[4:0])
Fan2 Fan Speed, Bank 6, Offset 0x32, 0x33 RPM = 1350000/(Data=HighByte[12:5], LowByte

[4:0])
Fan3 Fan Speed, Bank 6, Offset 0x34, 0x35 RPM = 1350000/(Data=HighByte[12:5], LowByte

[4:0])
CPU Voltage, Bank 0, Offset 0x20      Voltage = Data* 0.008
VCCSA Voltage, Bank 0, Offset 0x21        Voltage = Data* 0.008
+3.3V Voltage, Bank 0, Offset 0x22        Voltage = Data* 0.016
Gfx Voltage, Bank 0, Offset 0x24      Voltage = Data* 0.008
+5V Voltage, Bank 0, Offset 0x25      Voltage = Data* 0.008/ (10./40.)
+12V Voltage, Bank 0, Offset 0x26     Voltage = Data* 0.008/ (10./66.2)
3.3VSB Voltage, Bank 5, Offset 0x50       Voltage = Data* 0.016
VBAT Voltage, Bank 5, Offset 0x51     Voltage = Data* 0.016
CPU Temperature, Bank 7, Offset 0x17, 0x18    PECI Count = (Data=HighByte,LowByte<15:6> 

hightest bit as sign bit)
High: PECI Count>-15; Midium: -40<PECI Count<=-15; Low: PECI Count<=-40
System Temperature, Bank 0, Offset 0x27   Temperature = Data
Peripheral Temperature, Bank 1, Offset 0x50   Temperature = Data
Chassis Intrusion, Bank 0, Offset 0x42, BitMask 0x10  1 = Bad, 0 = Good
          (Clear Bit: Bank 0, Offset 0x46, BitMask 0x80)

Power Supply Failure, NCT6776F, Logical Device 0x0B, CRF7h, BitMask 0x01  0 = Good, 1 

= Bad

これらのアドレスを読んで必要な情報を取得する方法を誰かが知っていれば、とても感謝しています. 誰かがサンプルコードを投稿できれば、それはさらに良いでしょう. 私が実際にやろうとしているのは、監視目的でサーバー ソフトウェアに温度センサー ゲージを追加することです。私が構築しているアプリケーションの性質上、データを直接統合する必要があり、サードパーティのアプリケーションを使用する必要はありません。

ありがとう。

アレックス。

4

1 に答える 1

0

lm-sensors wikiの情報に基づいて、デバイスにはLPCバスを使用してアクセスします。Linuxでデバイスにアクセスするためにダウンロードできる専用のGPLedLinuxドライバーがあります。デバイスにアクセスするために作成された独自のコードを汚染する可能性があるため、自分で実装を計画している場合は、このソースを確認しません。

delphiを使用してペリフェラルI/Oを実行するには(inb/命令または同等のもののように)、 WindowsXPでI/Oポートに書き込む方法outbの質問を確認する必要があります

于 2012-06-24T14:33:20.707 に答える