Сейчас на форуме: UniSoft, laslo, bartolomeo (+5 невидимых) |
eXeL@B —› Программирование —› Температура железа в сист. блоке |
. 1 . 2 . >> |
Посл.ответ | Сообщение |
|
Создано: 04 июня 2007 19:13 · Личное сообщение · #1 |
|
Создано: 04 июня 2007 19:19 · Личное сообщение · #2 |
|
Создано: 04 июня 2007 19:25 · Личное сообщение · #3 |
|
Создано: 04 июня 2007 19:25 · Поправил: RaSL · Личное сообщение · #4 |
|
Создано: 04 июня 2007 19:30 · Личное сообщение · #5 |
|
Создано: 04 июня 2007 19:37 · Личное сообщение · #6 |
|
Создано: 04 июня 2007 19:40 · Личное сообщение · #7 |
|
Создано: 04 июня 2007 19:43 · Личное сообщение · #8 |
|
Создано: 04 июня 2007 19:46 · Личное сообщение · #9 |
|
Создано: 04 июня 2007 19:52 · Личное сообщение · #10 |
|
Создано: 04 июня 2007 20:00 · Личное сообщение · #11 |
|
Создано: 04 июня 2007 20:29 · Поправил: Kycok Caxapa · Личное сообщение · #12 |
|
Создано: 04 июня 2007 21:17 · Поправил: Bitfry · Личное сообщение · #13 Kycok Caxapa пишет: в кодинге не силен,но думаю копать надо в сторону API и сигнатур для работы с железом Вот и весь топик в таком стиле... Грустно На сегодняшний день вопрос не имеет универсального решения. Нет стандартных методов для любого устройства. Всякие тесты железа вынуждены сначала определить производителя BIOS, тип и версию железа и т.п., а уже потом пробовать снять данные о температуре (от того и мутно реверсить). Так что универсальных API, к сожалению, пока нет. Нужно добывать SDK от производителей. ----- Всем привет, я вернулся |
|
Создано: 04 июня 2007 21:49 · Поправил: Ruller · Личное сообщение · #14 |
|
Создано: 04 июня 2007 22:16 · Личное сообщение · #15 Ruller пишет: На материнке есть микросхема из которой получают инфу проги,полностью по всему железу или нет точно не знаю. да например на nforce2 это ITE IT8712F ,чем более навороченная плата,тем больше у неё всяких датчиков,регулировок и т.п. Bitfry пишет: Нет стандартных методов для любого устройства. Всякие тесты железа вынуждены сначала определить производителя BIOS, тип и версию железа и т.п., а уже потом пробовать снять данные о температуре (от того и мутно реверсить) та же Sandra уже до 2007 версии дошла и почти на всех мат. платах путает датчики кулеров, температуру CPU с AUX и т.п. Я так понимаю они для своего железа её тестируют,а будет ли корректно работать с другими датчиками их не волнует |
|
Создано: 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] с этим вопросом вроде как разобрались, мож поможет. |
|
Создано: 05 июня 2007 06:03 · Личное сообщение · #17 |
|
Создано: 05 июня 2007 09:59 · Личное сообщение · #18 |
|
Создано: 05 июня 2007 11:49 · Личное сообщение · #19 |
|
Создано: 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 Вот и все. Если что-то не ясно нужно смотреть даташит. А температуру винта этим способом считать не получится. |
|
Создано: 05 июня 2007 12:33 · Личное сообщение · #21 |
|
Создано: 05 июня 2007 17:33 · Поправил: RaSL · Личное сообщение · #22 |
|
Создано: 05 июня 2007 17:58 · Личное сообщение · #23 |
|
Создано: 06 июня 2007 00:23 · Личное сообщение · #24 |
|
Создано: 06 июня 2007 11:54 · Личное сообщение · #25 |
|
Создано: 06 июня 2007 21:20 · Личное сообщение · #26 |
|
Создано: 07 июня 2007 11:26 · Личное сообщение · #27 |
|
Создано: 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 |
|
Создано: 13 августа 2007 22:33 · Личное сообщение · #29 |
|
Создано: 14 августа 2007 06:57 · Личное сообщение · #30 |
. 1 . 2 . >> |
eXeL@B —› Программирование —› Температура железа в сист. блоке |