Аппаратный мониторинг материнских плат. Программно-аппаратная реализация (часть 1)
Цель
Цель написания данной статьи – объяснить пользователю, что такое аппаратный мониторинг, как он реализован схемотехнически, а также научить пользователя навыкам самостоятельного измерения температур и напряжений, не прибегая к возможностям соответствующего диагностического программного обеспечения, типа HWINFO и AIDA64.
Объект исследования
Аппаратный мониторинг – набор программно-аппаратных средств для непрерывного измерения системных температур и напряжений различных узлов и компонентов в составе материнской платы – центрального процессора, чипсета, модулей памяти и т.д.
реклама
Для аппаратного мониторинга любая материнская плата оснащается микросхемой Super I/O Chip, называемой в народе «мультиконтроллер». Это многофункциональный многоцелевой контроллер ввода-вывода, совмещающий в себе как минимум блок аппаратного монитора, контроллер управления вентиляторами, контроллер интеллектуальной термозащиты, контроллер последовательных и параллельных портов, флоппи-диска, клавиатуры. Более новые модели микросхемы могут интегрировать в себе больший набор блоков и контроллеров, например, контроллер подачи и отключения питания. В рамках данной статьи ознакомимся только с блоком аппаратного монитора, называемым также контроллером окружения (Environment Controller – EC).
Согласно давней традиции все материнские платы компании Gigabyte Technology оснащаются «мультиконтроллерами» фирмы ITE. Разнообразие модельного ряда микросхем ITE обширно. Однако число контактов (Voltage Inputs или сокращённо – VIN-линии), которые задействованы для отслеживания EC-контроллером входных напряжений, уже долгое время остаётся неизменным и ограничен количеством 8 штук. Понятно, что с таким ограниченным набором все системные напряжения отслеживать невозможно. Поэтому для обеспечения мониторинга других системных напряжений, как правило аналоговых, в дополнение к основному «мультиконтроллеру» материнскую плату оснащают микросхемой с содействующей функциональностью, например, ITE IT8792E. То же самое касается и системных температур. Если старый модельный ряд микросхем, вроде IT8705E (модель 2003 г.), ограничивался считыванием температур только из трёх источников, то более современные микросхемы, например, IT8686E (модель 2016 г.) имеют шесть температурных TEMP-линий. Наличие дополнительного контроллера IT8792E на материнской плате за счёт наличия трёх TEMP-линий расширяет мониторинг системных температур до девяти.
Каждый пользователь хотя бы раз проявлял любопытство в отношении того, какие температуры и напряжения отслеживаются в соответствующем разделе графической оболочки BIOS Setup Utility. Как раз-таки BIOS визуализирует показания, считываемые из основного и дополнительного EC-контроллеров. Но зачастую, этот набор неполный. Например, в BIOS многих современных материнских плат не отображаются показания напряжения элемента питания (VBAT-напряжение), непрерывно поддерживающего системные часы и CMOS с настройками BIOS. В таких случаях приходится прибегать к фирменному программному обеспечению либо сторонних разработчиков, типа HWINFO или AIDA64. Но и здесь зачастую царит неразбериха. Набор температур и напряжений, а также их показания в обоих программах может разниться. Единственным решением этой проблемы является изучение схемотехнической документации на конкретную модель материнской платы.
реклама
Получить доступ к чертежам и схемам, как и любой другой конструкторской документации материнских плат, нелегко. Являясь конфиденциальной информацией, она не размещается в открытом доступе. Однако в Интернете существует достаточно русскоязычных сайтов, где её можно взять бесплатно либо за символическую оплату. Но, как правило, там размещена документация для не столь современных моделей материнских плат. Мне, например, удалось приобрести архив со схемотехникой в формате pdf для 800 моделей материнских плат Gigabyte у тайского продавца. Для примера обратимся к такой документации на материнскую плату Gigabyte GA-AX370 Gaming 5.
Как видим на схеме выше (Рис.3) данная материнская плата оснащена «мультиконтроллером» ITE IT8686E. Контакты с номерами 121–127 задействованы под VIN-линии для считывания напряжений, а контакты 117–119 (TEMP-линии) подключены к источникам температурного измерения – термисторам и термодиодам. Определить, для каких напряжений задействованы VIN-линии на данной схеме затруднительно, т.к. они обозначены меткой общего вида – VIN0, VIN1, VIN5 и т.д. Но для температурных линий есть подсказка – CPU_TEMP, PM_TEMP и SYS_TEMP. В этом случае за разъяснениями обращаемся к другой схеме документации.
Как видно на схеме (Рис.4), по линии VIN4 отслеживается напряжение VCore SOC (напряжение «северного моста»), по линии VIN0 – VCore (напряжение на ядре процессора), VIN6 – VDDQ (напряжение на модулях памяти), VIN1 – VCC3 (+3,3 В), VIN3 – VCC (+5 В), VIN2 – +12V, VIN5 – A_VDDP. Что касается температурных линий, то согласно схеме (Рис.5) здесь всё интуитивно понятно. По лини CPU_TEMP EC-контроллер считывает температуру с термодиода, интегрированного в ядро центрального процессора. По линии SYS_TEMP считывается температура окружающей среды в системном блоке, показания которой обеспечивает наружный термистор, размещённый на материнской плате. Линия PM_TEMP связывает интегрированный в чипсет (микросхема «южного моста») термодиод и EC-контроллер.
Теперь проанализируем, какие входные напряжения и температуры отслеживает дополнительный контроллер аппаратного монитора IT8792E.
реклама
Как видим на схеме (Рис. 6), здесь задействованы группа из шести VIN-линий VINA0–VINA5 (контакты 49–54) и группа из трёх температурных линий – EC_TEMP1, EC_TEMP2 и EC_TEMP3 (контакты 44–46). Предназначение VIN-линий определяется схемой ниже (Рис. 7).
Что касается температурных линий, то здесь (Рис. 8.) схемотехническая документация содержит подсказку лишь для входов EC_TEMP2 и EC_TEMP3. Первый из них подключен к наружному термистору, расположенному возле одного из гнезд PCIE x16. Второй вход, по аналогии с линией SYS_TEMP «мультиконтроллера», связан с наружным термистором материнской платы, измеряющим температуру окружающего воздуха. Также установлено, что линия EC_TEMP1 отслеживает температуру возле одного из гнёзд PCIE 8x.
Вывод
Таким образом, анализ схемотехнической документации в части аппаратной реализации мониторинга температур и напряжений позволяет сделать вывод о том, что материнская плата Gigabyte GA-AX370 Gaming 5 в этом плане крайне функциональна. Аппаратно предусмотрено считывание показаний из 13 источников системных напряжений и 6 температур. Но и это не всё. Любопытный читатель наверняка обратил внимание на приведённые выше общие схемы двух контроллеров (Рис. 3 и Рис. 6) и обнаружил, что обе микросхемы также подключаются к источникам «классических» напряжений – VBAT, 3VSB и VCC3 (AVCC3), а значит показания этих напряжений предположительно можно отслеживать. Изучение фирменного программного обеспечения Gigabyte и графической оболочки BIOS Setup Utility подтвердило наличие мониторинга «мультиконтроллером» ещё трёх температур – PCIE 16x, VRM и SOC MOSFET.
Во второй части статьи буден дано подробное разъяснение, как при помощи универсального и известного всем программного обеспечения считывать регистры аппаратного монитора, создавать простейшие формулы для преобразования целочисленных значений регистров в показания системных напряжений.
Лента материалов
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.
Комментарии Правила