Сейчас на форуме: UniSoft, laslo, bartolomeo (+5 невидимых)

 eXeL@B —› Программирование —› Температура железа в сист. блоке
. 1 . 2 . >>
Посл.ответ Сообщение

Ранг: 13.6 (новичок)
Активность: 0.010
Статус: Участник

Создано: 04 июня 2007 19:13
· Личное сообщение · #1

как узнать температуру процессора и другого железа и возможно вообще.
Желательно с исходником.



Ранг: 120.2 (ветеран), 8thx
Активность: 0.120
Статус: Участник

Создано: 04 июня 2007 19:19
· Личное сообщение · #2

А какой проц и мать?



Ранг: 13.6 (новичок)
Активность: 0.010
Статус: Участник

Создано: 04 июня 2007 19:25
· Личное сообщение · #3

это нужно ?



Ранг: 13.6 (новичок)
Активность: 0.010
Статус: Участник

Создано: 04 июня 2007 19:25 · Поправил: RaSL
· Личное сообщение · #4

mb gigabyte hdd samsung



Ранг: 120.2 (ветеран), 8thx
Активность: 0.120
Статус: Участник

Создано: 04 июня 2007 19:30
· Личное сообщение · #5

Если б не нужно было, я бы не спрашивал. А вообще во многих материнских платах встроены термодатчики и они определяют температуру проца.



Ранг: 13.6 (новичок)
Активность: 0.010
Статус: Участник

Создано: 04 июня 2007 19:37
· Личное сообщение · #6

и чего юзать то как эти термодатчики. для любого жеского дай исходник пжалусто если есть



Ранг: 120.2 (ветеран), 8thx
Активность: 0.120
Статус: Участник

Создано: 04 июня 2007 19:40
· Личное сообщение · #7

Зайди в биос и посмотри температуру. Есть еще вариант: с каждой материнкой идет прога монитор, установи ее и все вопросы отпадут.




Ранг: 240.5 (наставник)
Активность: 0.190
Статус: Участник
Author of ACKiller

Создано: 04 июня 2007 19:43
· Личное сообщение · #8

cadet
Вопрос был про исходный код, а не программы.



Ранг: 13.6 (новичок)
Активность: 0.010
Статус: Участник

Создано: 04 июня 2007 19:46
· Личное сообщение · #9

блин мне надо самому програмно реализоать на каком нить языке програмирования




Ранг: 240.5 (наставник)
Активность: 0.190
Статус: Участник
Author of ACKiller

Создано: 04 июня 2007 19:52
· Личное сообщение · #10

RaSL
Если не найдешь кода, попробуй пореверсить код прог для этого дела, имхо там должны юзаться несложные API.



Ранг: 13.6 (новичок)
Активность: 0.010
Статус: Участник

Создано: 04 июня 2007 20:00
· Личное сообщение · #11

пробывал реверсить такие проги ;( неудачно тама все мудрённо



Ранг: 43.2 (посетитель)
Активность: 0.090
Статус: Участник

Создано: 04 июня 2007 20:29 · Поправил: Kycok Caxapa
· Личное сообщение · #12

RaSL
а зачем тебе это надо,если таких прог в инете как навоза на свиноферме?
в кодинге не силен,но думаю копать надо в сторону API и сигнатур для работы с железом



Ранг: 495.3 (мудрец)
Активность: 0.30
Статус: Участник

Создано: 04 июня 2007 21:17 · Поправил: Bitfry
· Личное сообщение · #13

Kycok Caxapa пишет:
в кодинге не силен,но думаю копать надо в сторону API и сигнатур для работы с железом

Вот и весь топик в таком стиле... Грустно

На сегодняшний день вопрос не имеет универсального решения.
Нет стандартных методов для любого устройства. Всякие тесты железа вынуждены сначала определить производителя BIOS, тип и версию железа и т.п., а уже потом пробовать снять данные о температуре (от того и мутно реверсить). Так что универсальных API, к сожалению, пока нет.

Нужно добывать SDK от производителей.

-----
Всем привет, я вернулся




Ранг: 56.9 (постоянный)
Активность: 0.050
Статус: Участник

Создано: 04 июня 2007 21:49 · Поправил: Ruller
· Личное сообщение · #14

На материнке есть микросхема из которой получают инфу проги,полностью по всему железу или нет точно не знаю.



Ранг: 43.2 (посетитель)
Активность: 0.090
Статус: Участник

Создано: 04 июня 2007 22:16
· Личное сообщение · #15

Ruller пишет:
На материнке есть микросхема из которой получают инфу проги,полностью по всему железу или нет точно не знаю.

да например на nforce2 это ITE IT8712F ,чем более навороченная плата,тем больше у неё
всяких датчиков,регулировок и т.п.
Bitfry пишет:
Нет стандартных методов для любого устройства. Всякие тесты железа вынуждены сначала определить производителя BIOS, тип и версию железа и т.п., а уже потом пробовать снять данные о температуре (от того и мутно реверсить)

та же Sandra уже до 2007 версии дошла и почти на всех мат. платах путает датчики кулеров,
температуру CPU с AUX и т.п. Я так понимаю они для своего железа её тестируют,а будет ли
корректно работать с другими датчиками их не волнует



Ранг: 3.3 (гость)
Активность: 0=0
Статус: Участник

Создано: 04 июня 2007 23:13
· Личное сообщение · #16

RaSL

В сторону API копать врядли нужно. Нужно узнать какой у тебя мультик (он же Super IO чип) и работать с ним через порты I/O. Это 2Eh - 2Fh (что-то похоже на общение с PCI-устройствами через порты 0CF8h и 0CFCh). С их помощью нужно узнать/поправить базу порта логического устройства. Сам мультик содержит в себе много логических устройств. В моем (Winbond W83627HF, nForce2 кстати) содержатся такие лог. устройства:

FDC (logical device 0)
PRT (logical device 1)
UART1 (logical device 2)
UART2 (logical device 3)
KBC (logical device 5)
CIR (Consumer IR logical device 6)
GPIO1 (logical device 7)
GPIO2 (logical device 8)
GPIO3 (logical device 9)
ACPI (logical device A)
Hardware monitor (logical device B)

А температуру можно узнать у лог. устройства B.
Найди даташит на твой мультик, чтобы узнать как работать с соответствующим устройством, хотя доступ к датчикам может быть и через ЮМ.

Здесь
url=]--> www.wasm.ru/forum/viewtopic.php?id=18943 <--[/url]
и здесь как мультик определить
http://www.wasm.ru/forum/viewtopic.php?id=18868<--[/url]
с этим вопросом вроде как разобрались, мож поможет.



Ранг: 13.6 (новичок)
Активность: 0.010
Статус: Участник

Создано: 05 июня 2007 06:03
· Личное сообщение · #17

дай лучше исходник чтоб на какой нибудь проц или жеский температуру определяла



Ранг: 29.2 (посетитель)
Активность: 0.010
Статус: Участник

Создано: 05 июня 2007 09:59
· Личное сообщение · #18

RaSL пишет:
блин мне надо самому програмно реализоать на каком нить языке програмирования

...во-о-о-т, самому , а исходник - вынь да положь...
...ну ты хоть интерфейс для начала напиши, что-ли...
...с уважением, drunk_...



Ранг: 23.2 (новичок), 8thx
Активность: 0.020
Статус: Участник

Создано: 05 июня 2007 11:49
· Личное сообщение · #19

Советую начать с HDD, по проще и исходник найти реально



Ранг: 3.3 (гость)
Активность: 0=0
Статус: Участник

Создано: 05 июня 2007 12:02
· Личное сообщение · #20

RaSL пишет:
дай лучше исходник чтоб на какой нибудь проц или жеский температуру определяла


Да не, так не интересно.

А так я в предыдущем посте вроде как описал что делать надо.
Вот для моего мультика (Winbond W83627HF):

1. Вначале нужно выполнить инициализацию мультика

MOV DX,2Eh
MOV AL,87h
OUT DX,AL
OUT DX,AL

2. Затем через глобальные регистры нужно выбрать номер логического устройства

MOV DX,2EH
MOV AL,07H
OUT DX,AL ; point to Logical Device Number Reg.
MOV DX,2FH
MOV AL,0bH ; Hardware monitor
OUT DX,AL

3. Узнаем/задаем базу портов логического устройства для работы с ним
CR60, CR 61 (Default 0x00, 0x00)
These two registers select Hardware Monitor base address [0x100:0xFFF] on 8-byte boundary.

MOV DX,2EH
MOV AL,60H ;для Logical Device’а указанного выше
OUT DX,AL
MOV DX,2FH
IN AL,DX
MOV BASE_H,al ;база порта логического устройства
MOV DX,2EH
MOV AL,61H ;для Logical Device’а указанного выше
OUT DX,AL
MOV DX,2FH
IN AL,DX
MOV BASE_L,al ;база порта логического устройства

BASE_H будет равна (у меня)02h, а BASE_L=90h
Т.е. база будет равна 290h.

4. Далее из даташита:

Port base+5h: Index port.
Port base+6h: Data port.

А вот и регистры этого логического устройства:

20h (60h) VCOREA reading
21h (61h) VCOREB reading
22h (62h) +3.3VIN reading
23h (63h) +5VIN reading
24h (64h) +12VIN reading
25h (65h) -12VIN reading
26h (66h) -5VIN reading
27h (67h) Temperature reading
28h (68h) FAN1 reading
Note: This location stores the number of counts of the
internal clock per revolution.
29h (69h) FAN2 reading
Note: This location stores the number of counts of the
internal clock per revolution.
2Ah (6Ah) FAN3 reading
Note: This location stores the number of counts of the
internal clock per revolution.
2Bh (6Bh) VCOREA High Limit, default value is defined by
Vcore Voltage +0.2v.
2Ch (6Ch) VCOREA Low Limit, default value is defined by Vcore
Voltage -0.2v.
2Dh (6Dh) VCOREB High Limit.
2Eh (6Eh) VCOREB Low Limit.
2Fh (6Fh) +3.3VIN High Limit
30h (70h) +3.3VIN Low Limit
31h (71h) +5VIN High Limit
32h (72h) +5VIN Low Limit
33h (73h) +12VIN High Limit
34h (74h) +12VIN Low Limit
35h (75h) -12VIN High Limit
36h (76h) -12VIN Low Limit
37h (77h) -5VIN High Limit
38h (78h) -5VIN Low Limit
39h (79h) Temperature sensor 1 (VTIN1) High Limit
3Ah (7Ah) Temperature sensor 1 (VTIN1) Hysteresis Limit
3Bh (7Bh) FAN1 Fan Count Limit
Note: It is the number of counts of the internal clock
for the Low Limit of the fan speed.
3Ch (7Ch) FAN2 Fan Count Limit
Note: It is the number of counts of the internal clock
for the Low Limit of the fan speed.
3Dh (7Dh) FAN3 Fan Count Limit
Note: It is the number of counts of the internal clock
for the Low Limit of the fan speed.
3E- 3Fh (7E- 7Fh) Reserved


Значит чтоб узнать температуру нужно

MOV DX,295H
MOV AL, 27H ;Temperature reading
OUT DX,AL
MOV DX,296H
IN AL,DX

Вот и все. Если что-то не ясно нужно смотреть даташит.

А температуру винта этим способом считать не получится.



Ранг: 23.2 (новичок), 8thx
Активность: 0.020
Статус: Участник

Создано: 05 июня 2007 12:33
· Личное сообщение · #21

lukash пишет:
А температуру винта этим способом считать не получится


Для температуры нужно юзать S.M.A.R.T.



Ранг: 13.6 (новичок)
Активность: 0.010
Статус: Участник

Создано: 05 июня 2007 17:33 · Поправил: RaSL
· Личное сообщение · #22

lukash огромный респект за такое обьяснение спец для меня
а насчет опенсорц от speedfan это в натуре ??? че то я не нашел на сайте



Ранг: 38.0 (посетитель)
Активность: 0.010
Статус: Участник

Создано: 05 июня 2007 17:58
· Личное сообщение · #23

гы мож че я не мойму а нафиг разрабочики окон придумали WMI?



Ранг: 3.3 (гость)
Активность: 0=0
Статус: Участник

Создано: 06 июня 2007 00:23
· Личное сообщение · #24

RaSL

Да не за что
А насчет сорцов от speedfan я не в курсе



Ранг: 11.1 (новичок)
Активность: 0=0
Статус: Участник

Создано: 06 июня 2007 11:54
· Личное сообщение · #25

msdn2.microsoft.com/en-us/library/aa394493.aspx



Ранг: 13.6 (новичок)
Активность: 0.010
Статус: Участник

Создано: 06 июня 2007 21:20
· Личное сообщение · #26

че то wmi каряво работает :x



Ранг: 38.0 (посетитель)
Активность: 0.010
Статус: Участник

Создано: 07 июня 2007 11:26
· Личное сообщение · #27

RaSL пишет:
че то wmi каряво работает :x


Смортря как реализовать



Ранг: 163.7 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 07 июня 2007 22:42 · Поправил: S_T_A_S_
· Личное сообщение · #28

ne0n пишет:
Смортря как реализовать

Ну дык и научи, как реализовать. Цитата со ссылки mindkeeperа:
Real-time readings for the CurrentReading property cannot be extracted from SMBIOS tables. For this reason, current implementations of WMI do not populate the CurrentReading property.

Про S.M.A.R.T. можно почитать http://rsdn.ru/article/delphi/SMART.xml http://rsdn.ru/article/delphi/SMART.xml



Ранг: 62.5 (постоянный), 2thx
Активность: 0.050
Статус: Участник

Создано: 13 августа 2007 22:33
· Личное сообщение · #29

я не знаю как но на разных материнках успешно работает прога Everest
которая температуру показывает наверно API все-ткаи есть



Ранг: 61.4 (постоянный), 1thx
Активность: 0.020
Статус: Участник

Создано: 14 августа 2007 06:57
· Личное сообщение · #30

в процессорах от Intel начиная с P4 можно узнать тепмературу через чтение MSR.


. 1 . 2 . >>
 eXeL@B —› Программирование —› Температура железа в сист. блоке
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати