Еще раз про термодиод или Большой Обман ver 1.1

для раздела Блоги
Для начала – достаточно большое лирическое отступление.

Некоторое время назад с моим компом стало происходить что-то неладное. Выглядело это так: комп отказывался включаться с первого раза. То есть я жму кнопку включения, включается БП, начинают вращаться вентиляторы, раскручивается жесткий диск, а дальше должен включиться монитор, но он не включается. При этом постоянно горит красный светодиод – сигнал обращения к жесткому диску. Сначала это было редко, при этом нажатие ресета помогало – при перезагрузке комп включался нормально и работал дальше как ни в чем не бывало. Но со временем такие «приступы» случались все чаще и чаще, пока мне это не надоело. Я разобрал комп, но никакого особого криминала не нашел. На всякий случай, пропылесосив внутренности ( которые, к слову, и не были слишком уж пыльными ), я собрал комп, включил – и о чудо! Все нормально заработало. Я уж совсем успокоился и почти забыл о происшествии. Комп нормально работал и проблем не доставлял. Но однажды утром, спустя месяц, он опять перестал включаться, причем наотрез. Сиптомы были те же. Собственно, я повторил те же телодвижения с пылесосом, но результата это не принесло никакого. Поочередно вынув все девайсы и оставив только процессор, память и видюху, запустил комп. Ноль эмоций. В общем, мысленно попрощавшись с материнкой, я уже рассчитывал, когда поеду за новой, и какую буду выбирать. Но, осматривая ее «в последний раз», обнаружил, что в PCI-слоте что-то застряло. Этим что-то оказался… кусочек пищевой алюминиевой фольги! Он свернулся в маленький шарик и застрял в контактах. Тут все встало на свои места. Фольга коротила контакты в слоте, соответственно, ошибка шины не давала грузиться компу. А лампочка HDD горела скорее всего потому, что IDE-контроллер тоже висит на PCI-шине… Ну да ладно. Естественно, после удаления «преступника» все заработало как и прежде, безо всяких эксцессов.
Собственно, к чему я все это написал? А к тому, что уже морально настроившись к покупке новой материнки, я настолько расслабился, что даже если бы старая материнка и накрылась, я не сильно расстроился. А выяснив, что она и не думала ломаться, я решил сам над ней что-нибудь сотворить. Поэкпериментировать, в общем. На этом лирическое отступление заканчивается.

Полазив по «родному» сайту, вспомнил, что на материнках в массе своей в качестве термосенсоров стоят терморезисторы, а хотелось бы задействовать встроенный в процессор термодиод. И ушлый народ переделывает схему контроля температуры ( кто может, конечно ). Нарыл в тот момент всего одно описание, вот это:

http://overclockers.ru/news/newsitem.shtml?category=2&id=1047801645

Ну, что ж, написано все было вроде понятно, никаких сложностей не предвиделось, у меня стоит на материнке такая же микросхема W83697HF, надо попробовать. Попробовал. Как и сказано было в руководстве, отпаял терморезистор под процессором. Нашел резистор, задающий рабочий ток терморезистору и выпаял его тоже. Нашел контакты процессора U7,S7 и подключил их вместо терморезистора. Собрав комп и затаив дыхание, включил его. Как ни странно, но клубов дыма не появилось, он нормально запустился. Сразу жму DEL, захожу в BIOS Setup. Смотрю на температуру процессора – 67 градусов. Я конечно, понимаю, что процессор нагревается достаточно быстро, но 67 градусов через 15 секунд после запуска – многовато. Ладно, поправочный коэффициент введем. И все вроде бы хорошо, да вот только при запуске Prime95 температура выросла всего на 1 градус…. Что-то непохоже…. Может, подключил чего-то неправильно? Перечитал гайд еще раз. Нет, все правильно, ошибиться сложно. Тогда полез опять в форум, может там еще чего полезного нарою? Да, нарыл еще одну ссылочку:

http://coolon.narod.ru/8RDAMod/8RDADiod.htm

Там было почти все то же самое, но микросхема немного другая. Но ничего, принцип один и тот же и действия те же. Все это я уже делал.В общем, тупик.

Тогда решил скачать документацию на микросхемы и сам разобраться. Скачал даташиты на Winbond W83697HF, W83627HF, Attansic ATTP1. Файл документации на W83697HF оказался битым, видимо, так как страницы с иллюстрациями не открывал, а выдавал ошибку и оставлял пустыми. Но это не страшно, так как все иллюстрации оказались такими же в файле на W83627HF. Вот ключевые данные, касающиеся измерения температур в обоих микросхемах:


(кликните по картинке для увеличения)




(кликните по картинке для увеличения)




(кликните по картинке для увеличения)




(кликните по картинке для увеличения)




(кликните по картинке для увеличения)




(кликните по картинке для увеличения)



Перечитав даташиты не один раз, пришел к выводу, что измерение температуры с помощью термодиода, это….как бы сказать помягче….. в общем, очень сильно неправда.
Причем производитель, Winbond, снабжает даташиты на свои изделия заведомо неверной информацией. Постараюсь это доказать.

Прочитав ( и перечитав ) даташит в разделе измерений напряжений и температур, пришел к выводу, что за все отвечает один-единственный АЦП разрядностью 8 бит и диапазоном входных напряжений от 0В до 4.096В. Соответственно, при 8 битах всего 256 возможных состояний, а при указанном диапазоне входных напряжений это будет 16мВ на бит. То есть, при увеличении входного напряжения на 16мВ в регистр состояния записывается число, на 1 большее. Что касается конкретно температур, диапазон их измерения ограничивается от –55 до 125 градусов ( то есть всего 180 значений, а не 256 ), и в регистр состояния записывается число, численно равное температуре в градусах Цельсия. То есть, при предполагаемой температуре в +25 в регистр запишется 19h, а при –25 E7h ( отрицательные температуры записываются в дополнительном коде ). При это, видимо, диапазон входных напряжений для измерения температуры составит 2.88В, а не 4.096В. Но не это главное. При такой схеме измерения температур ( с помощью терморезистора ), необходимо, чтобы при падении реальной температуры на 1 градус, напряжение, подаваемое на вход микросхемы с терморезистора, упало на 16 мВ. Тогда температура, отображаемая в биосе ( которая, в свою очередь, берется из регистра состояния ), тоже упадет на 1 градус. Но сделать то же самое при помощи диода нельзя! Во-первых, у диода температурный коэффициент равен –2мВ/градус ( это значит, что при нагреве диода на 1 градус прямое падение напряжения на нем уменьшится на 2 мВ ). То есть, при изменении реальной температуры на 8 градусов, показатель оной в биосе выдаст изменение всего на 1 градус! Во-вторых, прямое падение напряжения на кремниевом диоде составляет около 0.7В, в то время как входное напряжение при измерении температуры около 1.5В при комнатной температуре.Все. Финиш.

Осознав все это, я понял, почему в биосе наблюдал «температуру» процессора в 67 градусов. Просто входное напряжение в 0.71В примерно соответствует нагреву терморезистора в 67 градусов, а слабое изменение показателя температуры говорит о том, что микросхеме просто не хватает диапазона изменения напряжения на диоде.

После осознания вышеописанного я …..э-э-э-э…. очень сильно разозлился и поминал Winbond нехорошими словами…. Мягко говоря…. Это ж как надо раздолбайски относиться к собственной продукции, чтоб в даташите описать заведомо неверную схему подключения термодиода! В общем, одни огорчения….

Но ладно, переживем и это. Остыв, я сделал для себя несколько важных выводов:

1. В Winbond есть много раздолбаев. И эти раздолбаи, которые писали даташиты к собственным микросхемам, указали неправильную схему измерения температуры с помощью термодиода.
2. В доказательство пункта 1 могу привести примеры. В описании W83697HF сказано, что она меряет 2 температуры. Несколько страниц спустя пишется уже о 3 температурах. В описании W83627HF же, наоборот, при номинальных 3 каналах измерения температуры в разделе описания пинов этот третий канал «забыт». Вообще создалось впечатление, что оба документа писались абы как, путем «выдергивания» каких-то данных из третьего источника, причем правкой текста и выявлением ошибок там никто себя не утруждал…
3. Те «умельцы», которые уже «включили» термодиод на своих материнках, либо говорят неправду, либо сами плохо понимают, что же вообще они переделали, либо считают, что получившиеся «температуры» гораздо точнее.
( Да, и кстати, Andry Kuzmenko, который и написал статью о перепайке термосенсора, сам же и ошибся. Он посчитал, что ножка 105 в микросхеме W83697HF, именуемая AVCC, является аналоговой землей, а ведь это питание аналоговой части…. А землей является ножка 112, именуемая AGND… Что же это так неаккуратно? Или диверсия? )
4. Переделать схемы мониторинга температур в существующих микросхемах под термодиод нельзя простой перепайкой терморезистора на термодиод.
5. Термодиод теоретически задействовать можно, но придется делать простейший усилитель, приблизительно такой:


(кликните по картинке для увеличения)



6. Кроме того, занявшись вопросом плотнее, я промерял зависимость показания температуры в биосе от входного напряжения, снимаемого с термосенсора. Зависимость получилась такой:


(кликните по картинке для увеличения)



Как видно, она нелинейна. То есть, собрав усилитель, надо еще подумать, как сделать его нелинейным для компенсации индицируемых температур ( или терпеть занижение температур в середине диапазона ).

7. Материнки, которые честно меряют температуру по диоду, видимо, существуют. Навскидку – Epox – 8К3АР ( или что-то из этой серии ). Если они действительно показывают правильную температуру ( а у меня нет возможности посмотреть, каким образом там меряется оная ), то , видимо, используется похожая схема усиления. Теперь ясно, почему практически нет материнских плат с измерением «настоящей» температуры? Да потому что производитель, ставя на плату лишние детали, сталкивается с потоком обеспокоенных юзеров, которые не могут понять – а почему же их процессор «горячее», чем у соседа? А терморезистор – и надежнее, и проблем с суппортом меньше…

В общем, такие вот результатики…. Причем, насколько я понял, в форуме в ветке обсуждения Epox – 8RDA тоже был человек, не помню кто, он тоже переделал схему мониторинга и тоже получил слабо меняющиеся +67 градусов.

Если у кого мысли есть по поводу написанного, или есть что добавить, или опровергнуть хочется, то в форум:

http://forums.overclockers.ru/viewtopic.php?p=835029#835029
Telegram-канал @overclockers_news - это удобный способ следить за новыми материалами на сайте. С картинками, расширенными описаниями и без рекламы.
Оценитe материал

Возможно вас заинтересует

Популярные новости

Сейчас обсуждают