контроллер super io что это
Большинство микросхем Super I / O включают некоторые дополнительные низкоскоростные устройства, такие как:
За счет объединения множества функций в одном кристалле количество деталей, необходимых на материнской плате, сокращается, что снижает стоимость производства.
Исходные микросхемы Super I / O обменивались данными с центральным процессором через шину Industry Standard Architecture (ISA). По мере перехода от ISA к использованию шины Peripheral Component Interconnect (PCI), микросхема Super I / O часто оставалась самой большой причиной для продолжения включения ISA на материнскую плату.
Более поздние микросхемы Super I / O используют шину Low Pin Count (LPC) вместо ISA для связи с центральным процессором. Обычно это происходит через интерфейс LPC на микросхеме южного моста материнской платы.
Поскольку Intel заменяет шину LPC шиной расширенного последовательного периферийного интерфейса (eSPI), на рынке появились супер-микросхемы ввода-вывода, которые подключаются к этой шине.
Микросхемы мониторинга Super-IO/Multi-IO.
Микросхемы мониторинга Super-IO/Multi-IO
В настоящее время выпускается достаточно широкая номенклатура специальных микросхем мониторинга, которые обеспечивают все большую точность и новые возможности с выпуском каждой новой модификации. Чипсеты Intel обычно использовали внешние микросхемы мониторинга, например, LM78 и LM79 фирмы National Semiconductor, или 83781D/W83782D/W83783S/W83784R фирмы Winbond).
Очень часто на абсолютном большинстве плат функции мониторинга исполняет микросхема Super-IO/Multi-IO (рис. 1), которая одновременно содержит ряд «медленных» контроллеров периферийных устройств (последовательный, параллельный порты, контроллер ГМД, игровой порт и др.) и схемы управления вентиляторами, АЦП и другое оборудование для мониторинга. Поэтому она и называется мультиконтроллером (к этой же микросхеме подключается и BIOS EEPROM). Широко используются микросхемы Super-IO/Multi-IO Windond W83627THF, W83627EHG; Fintek F71882FG, ITE8705F, IT8712F.
Некоторые фирмы (типа ASUS) иногда используют специальные заказные чипы мониторинга, которые имеют соответствующую маркировку и ориентированы под конкретные системные платы (например, энергетический процессор EPU). Специальный энергетический процессор от ASUS автоматически определяет степень загрузки системы и оптимизирует ее энергопотребление в режиме реального времени. Это способствует уменьшению шума от вентиляторов и долгому сроку службы компонентов компьютера. Этот первый в мире энергетический процессор создан для экономии потребления энергии и задействуется с помощью переключателя на плате или с помощью утилиты AI Suite II. Он оптимизирует энергопотребление, выполняя мониторинг загрузки в режиме реального времени и регулируя параметры электропитания компонентов платы согласно текущим потребностям. Помимо этого, благодаря EPU повышается долговечность системных компонентов и снижается уровень генерируемого компьютером шума.
Рис. 1. Блок-схема микросхемы мониторинга Super-IO/Multi-IO
На обычных системных платах ПК часто встречается микросхема IT8712F (рис. 1). Она содержит 3 аналоговых входа для термодатчиков, 8 входов измерения напряжений, вход измерения напряжения батарейки (Vbat) для CMOS памяти, 5 входов с тахометров вентиляторов; встроенный ШИМ-контроллер для управления скоростью вращения вентиляторов с 5-ю программируемыми выходами. Эта микросхема автоматически определяет аварийные ситуации с остановкой вентиляторов и обеспечивает выдачу служебного звукового сигнала об этом в системный динамик. Эта же микросхема еще содержит в себе два последовательных UART-порта, 1 параллельный порт, контроллер мыши и клавиатуры, а также контроллер floppy-дисковода, GAME-порт и сторожевой таймер (подключена микросхема через шину LPC, на которую также подключена микросхема BIOS ROM).
Рис. 2. Фрагмент принципиальной схемы системной платы ПК (IT8712)
Итак, современные персональные компьютеры имеют развитую подсистему оптимизации энергопотребления и контроля жизненно важных параметров системы. Сегодня практически все материнские платы поддерживают так называемый аппаратный мониторинг, основные функции которого следующие:
— измерение основных питающих напряжений;
— измерение температуры процессора, микросхем чипсета и дополнительных контрольных точек;
— измерение скорости вращения вентиляторов.
— управление скоростью вращения вентиляторов в зависимости от нагрузки на компьютер, остановка вентиляторов при переходе в режим пониженного энергопотребления.
Для измерения температуры используются термодатчики, расположенные на плате, а также в кристалле процессора и микросхем чипсета. Результатом работы термодатчиков являются аналоговые величины (значения напряжений), которые подаются на АЦП. Результатом работы АЦП является соответствующий аналоговой величине цифровой код, пропорциональный значению температуры, который доступен для считывания через программно-доступные регистры. Значения напряжений питания измеряются по такой же схеме (с учетом особенностей микросхемы мониторинга). Для измерения скорости вращения вентиляторов, используются датчики, генерирующие импульсы при каждом обороте вентилятора с последующим цифровым измерением длительности паузы между двумя импульсами. Результат также считывается посредством программно доступных регистров.
Для программного включения и выключения вентиляторов, их подключают к напряжению питания +12V через транзисторные ключи, открытием и закрытием которых управляют программно-доступные регистры. Для обеспечения плавного управления скоростью вентиляторов, используется широтно-импульсная модуляция (ШИМ). При этом указанные транзисторные ключи открываются и закрываются с определенной частотой. Изменяя соотношение длительностей открытого и закрытого состояния ключей, можно управлять средним значением напряжения на двигателе вентилятора и, следовательно, скоростью его вращения. Код для управления скоростью записывает программа в доступные ей регистры (генерация периодического сигнала ШИМ выполняется аппаратно).
В отличие от архитектуры устройств материнской платы, архитектура подсистемы аппаратного мониторинга не до конца стандартизована, поэтому адреса регистров и назначение битов в регистрах этой подсистемы различны для различных материнских плат (таких вариантов более сотни и не все из них хорошо документированы). Микросхема мониторинга отвечает и за ряд интерфейсов на материнской плате, аппаратный мониторинг не является ее единственной, или основной функцией (как уже отмечалось выше, обычно она содержит контроллер гибких дисков, два последовательных порта, параллельный порт, контроллер аппаратного мониторинга, блок многофункционального ввода-вывода, игровой порт, порт для инфракрасного интерфейса и порт MIDI).
Каждому из перечисленных устройств соответствует свой номер LDN (Logical Device Number) и блок конфигурационных регистров, посредством которого устройству назначаются системные ресурсы (адреса портов и памяти, номер прерывания, номер канала DMA). Например, для подсистемы аппаратного мониторинга LDN=4. Для доступа к конфигурационным регистрам используются порты с адресами 002Eh, 002Fh, работающие как порт индекса конфигурации и порт данных конфигурации. При обращении к регистру, в порт индекса записывается его номер, затем через порт данных считывается или записывается значение регистра.
Каждое логическое устройство, в том числе и контроллер аппаратного мониторинга, также имеет набор регистров, обеспечивающих выполнение «прямых обязанностей» данного устройства (для контроллера аппаратного мониторинга такими функциями являются считывание значений температур, напряжений, скоростей вращения вентиляторов, а также управления вентиляторами). Здесь также используются порты индекса и данных, но их адреса программно настраиваемые (посредством выше упомянутых конфигурационных регистров).
Как было сказано выше, архитектура указанных ресурсов не стандартизована, и различается у плат различных моделей. Даже между платами, использующими одинаковые контроллеры мониторинга, могут быть программно-видимые различия, обусловленные различным включением измерительных и управляющих цепей контроллера. Поэтому, для создания универсальной программы потребуется обширная база данных, содержащая процедуры поддержки под каждую модель материнской платы. Теоретически, обеспечить универсальный протокол доступа к подсистеме аппаратного мониторинга может интерфейс ACPI, но на большинстве платформ он реализован достаточно ограниченно, что препятствует его эффективному использованию для решения рассматриваемых задач.
Мониторинг напряжений.
Для корректного определения значений от датчиков требуется согласование входных сопротивлений микросхемы мониторинга в зависимости от выходных сопротивлений датчиков с помощью дополнительных последовательных резисторов и схем-повторителей сигнала. Это позволяет достичь максимального соотношения сигнал/шум. Номиналы согласующих резисторов влияют на точность измерения значений напряжений (часто именно из-за такой неправильной схемы включения, пользователь и получает искаженные данные мониторинга).
Рис. 3. Входы напряжений микросхемы Super-IO/Multi-IO
Рис. 4. Фрагмент принципиальной схемы системной платы ПК
Мониторинг температур.
Обычно в ПК в первую очередь следят за показаниями датчиков температуры процессора (CPU) и графического процессора. Перегрев процессора или срабатывание защиты от перегрева чаще всего вызывает нестабильность работы ПК, в результате чего компьютер самопроизвольно «выключается». Практически почти все ноутбуки «страдают» от перегрева графического чипа (в результате перегрева графический чип со временем выходит из строя, что влечет за собой ремонт ноутбука).
В кристалл чипов в качестве датчиков температуры встраиваются термодиоды, которые формируют аналоговый сигнал пропорциональный температуре кристалла (рис. 5, конт. AL1, AK1). В многоядерных процессорах каждое ядро имеет свой термодиодный датчик температуры. Графические чипы также имеют встроенный термодиод. Аналоговый код температуры поступает на микросхему мониторинга, преобразуется в цифровой код, который записывается в регистр. С заданной дискретностью программным путем регистр опрашивается на предмет изменения температуры (но такая система, естественно, имеет задержку в реагировании). При резком «скачке» температуры (например, из-за отказа вентилятора) данная система не успеет среагировать и процессор «погибнет».
Поэтому в процессорах предусмотрена аналоговая встроенная система защиты от перегрева. Для этого в CPU Intel используется сигнал THERMTRIP# (рис. 5, конт. М2), он становится активным, когда температура кристалла превысит TCASEMAX на 20 градусов. По сигналу THERMTRIP# аппаратно формируются сигналы управления, запрещающие формирование напряжения питания ядра процессора (VCC), работу кнопки включения питания (пока температура кристалла не придет в норму).
Рис. 5. Фрагмент принципиальной схемы системной платы ПК.
Таким образом, все современные процессоры и материнские платы поддерживают эффективные механизмы защиты процессора от перегрева, что дает гарантию их нормальной работы. Процессоры Intel (начиная от Pentium 4) и AMD (начиная от Athlon 64) поддерживают двухступенчатую температурную защиту. При достижении первого порогового значения происходит замедление процессора путем снижения тактовой частоты (точнее говоря, выполняется периодический пропуск определенного количества тактов при неизменной длительности такта). Второй порог достигается, если замедление процессора не привело к его остыванию, и он нагрелся до температуры, при которой существует опасность физического разрушения. В этом случае выполняется аварийное выключение питания (эта операция не может быть блокирована программно). Значения температур для первого и второго температурных порогов зависят от модели процессора. Например, для процессоров класса Intel Pentium 4 с ядром Prescott типовые значения порогов, соответственно 70 и 90оC (уточнить эту информацию, можно используя Data Sheet на конкретный процессор).
Компоненты системной платы, например, модули памяти, имеющие датчики температуры (см. рис. 6), при перегреве могут быть причиной подачи сигнала PROCHOT# (на рис. 5, конт. AL2 процессора) и вызвать запуск системы Thermal Monitor (благодаря чему процессор реже обращается к памяти и она остывает).
Рис. 6. Фрагмент принципиальной схемы системной платы ПК
Super I/O
Super I/O (англ. Super Input/output ; дословно: супер ввода-вывода) — название класса сопроцессоров, которые начали использоваться после 1980-х годов на материнских платах IBM PC-совместимых компьютеров путём сочетания функций многих контроллеров, сперва одной платой, устанавливаемой в слот расширения, а затем и одной микросхемой, тем самым достигая уменьшения числа микросхем контроллеров, и таким образом привели к снижению сложности и стоимости компьютера в целом. Super I/O объединяет интерфейсы различных низкоскоростных устройств.
Фактически, на рынке материнских плат массового сегмента предоставлена продукция всего четырёх фирм: ITE Tech, Nuvoton, Microchip Technology и Fintek. Производители брендовой продукции (IBM, HP, Dell, FSC) как правило используют проприетарные разработки схемотехники материнских плат и не публикуют спецификаций применяемых контроллеров.
Как правило, включает в себя следующие функции:
Super I/O также может включать в себя и другие интерфейсы, такие как игровой (MIDI или джойстик) или инфракрасный порты.
Изначально Super I/O связывались через шину ISA. Одновременно с развитием IBM PC-совместимых компьютеров происходило смещение Super I/O, сперва на шины VLB, затем стала использоваться шина PCI. Современные Super I/O используют шину LPC (интерфейс которой предоставляет южный мост материнской платы) и часто реализованы в составе чипсета.
Наименование | Количество измеряемых напряжений | Количество датчиков температуры | Количество входов контроля вентиляторов | Количество выходов контроля вентиляторов |
---|---|---|---|---|
IT8705F | 8/1 | 3 | 3 | 3 |
IT8712F | 8/1 | 3 | 3 | 3 |
W83627HF | 7/2 | 3 | 3 | 2 |
W83637HF | 5/2 | 3 | 3 | 3 |
W83697HF | 6/2 | 2 | 2 | 2 |
VT82C686x | 5/1 | 2/1 | 2 | Нет |
LPC47M15x | 8 | 2 | 2 | 2 |
LPC47M192 | 8 | 2 | 2 | 2 |
Схемотехника материнской платы предполагает наличие цепей измерения, которые производятся с помощью аналогово-цифровых преобразователей, преобразующих измеряемый параметр в цифровые значения, после чего они могут быть переданы в другое вычислительное устройство на плате для дальнейшей обработки. Измерения, производимые на материнской плате, в основном касаются трёх групп параметров: обороты вентиляторов, температура и напряжения.
Скорость вращения вентиляторов, применяемых для охлаждения блоков и отдельных частей материнской платы, обычно контролируется при помощи тахометров, встроенных в вентилятор — обычно для этого используется датчик Холла. Такой вентилятор отличается дополнительными (кроме двух питания) проводами, одним (устанавливаемый в корпус, блок питания, на охлаждение радиаторов микросхем чипсепа материнской платы/видеокарты) или двумя (процессорный).
Для мониторинга температуры используется три типа датчиков: терморезисторы, транзисторы (например, 2N3904) и датчики интегрированные в процессор.
Логически аппаратный мониторинг выглядит как набор регистров, значение которых изменяется при изменении состояния на входах.
Примером современного Super I/O может служить микросхема Intel 631xESB/632xESB, обеспечивающая следующие функции [2] :
Известны следующие ИМС производства Integrated Technology Express Inc:
В качестве примера типового контроллера рассмотрим IT8705F/AF
Контроллер требует одного входа тактового генератора с частотой 48/24 МГц и работает от одного источника питания +5 В. Выпускается в пластиковом 128-выводном корпусе типа PQFP.
Назначение выводов и сигналы контроллера
Pin | Signal | Pin | Signal | Pin | Signal | Pin | Signal |
---|---|---|---|---|---|---|---|
1 | DTR2#/JP4 | 33 | FA17/GP51 | 65 | HDSEL# | 97 | VIN1 |
2 | RTS2#/JP6 | 34 | FRD#/GP52 | 66 | WGATE# | 98 | VIN0 |
3 | DSR2# | 35 | VCC | 67 | GNDD | 99 | VCC |
4 | VCC | 36 | LDRQ# | 68 | RDATA# | 100 | SLCT |
5 | SOUT2 | 37 | SERIRQ | 69 | TRK0# | 101 | PE |
6 | SIN2 | 38 | LAD0 | 70 | INDEX# | 102 | BUSY |
7 | FD0/GP10 | 39 | LAD1 | 71 | WPT# | 103 | ACK# |
8 | FD1/GP11 | 40 | LAD2 | 72 | DSKCHG# | 104 | SLIN# |
9 | FD2/GP12 | 41 | LAD3 | 73 | FAN_TAC1/GP55 | 105 | INIT# |
10 | FD3/GP13 | 42 | PCICLK | 74 | FAN_TAC2/GP56 | 106 | ERR# |
11 | FD4/IRQIN0/GP14 | 43 | GNDD | 75 | FAN_TAC3/FA18/GP57 | 107 | AFD# |
12 | FD5/IRQIN1/GP15 | 44 | CLKIN | 76 | VBAT | 108 | STB# |
13 | FD6/IRQIN2/GP16 | 45 | LRESET# | 77 | VCCH | 109 | PD0 |
14 | FD7/IRQIN3/GP17 | 46 | LFRAME# | 78 | FAN_CTL1/GP60 | 110 | PD1 |
15 | GNDD | 47 | FCS#/SCIO/GP53 | 79 | FAN_CTL2/GP61 | 111 | PD2 |
16 | FA0/VID_I0/GP20 | 48 | FWE#/GP54 | 80 | FAN_CTL3/GP62/SCPFET# | 112 | PD3 |
17 | FA1/VID_I1/GP21 | 49 | JSACX/GP40/FAN_TAC1S | 81 | PME#/GP63/SCPRES# | 113 | PD4 |
18 | FA2/VID_I2/GP22 | 50 | JSACY/GP41/FAN_TAC2S | 82 | IRTX/MIDI_OUT/GP64 | 114 | PD5 |
19 | FA3/VID_I3/GP23 | 51 | JSAB1/GP42/FAN_TAC3S | 83 | IRRX/MIDI_IN/GP65 | 115 | PD6 |
20 | FA4/VID_I4/GP24 | 52 | JSAB2/GP43/FAN_CTL3S | 84 | CIRTX/GP66 | 116 | PD7 |
21 | FA5/VID_O0/GP25 | 53 | JSBCX/GP44 | 85 | CIRRX/GP67 | 117 | GNDD |
22 | FA6/VID_O1/GP26 | 54 | JSBCY/GP45 | 86 | GNDA | 118 | DCD1# |
23 | FA7/VID_O2/GP27 | 55 | JSBB1/GP46/FAN_CTL1S | 87 | TMPIN3/COPEN# | 119 | RI1# |
24 | FA8/VID_O3/GP30 | 56 | JSBB2/GP47/FAN_CTL2S | 88 | TMPIN2 | 120 | CTS1# |
25 | FA9/VID_O4/GP31 | 57 | DENSEL# | 89 | TMPIN1 | 121 | DTR1#/JP1 |
26 | FA10/VID_O5/GP32 | 58 | MTRA# | 90 | VREF | 122 | RTS1#/JP2 |
27 | FA11/VID_I5/GP33 | 59 | MTRB#/SCRST | 91 | VIN7/TMPIN3 | 123 | DSR1# |
28 | FA12/GP34 | 60 | DRVA# | 92 | VIN6 | 124 | SOUT1/JP3 |
29 | FA13/GP35 | 61 | DRVB#/SCCLK/FA19 | 93 | VIN5 | 125 | SIN1 |
30 | FA14/GP36 | 62 | WDATA# | 94 | VIN4 | 126 | DCD2# |
31 | FA15/GP37 | 63 | DIR# | 95 | VIN3 | 127 | RI2# |
32 | FA16/GP50 | 64 | STEP# | 96 | VIN2 | 128 | CTS2# |
Сигналы группы Питание | ||||
№ вывода | Наименование сигнала | Атрибут группы [# 1] | Питание | Описание |
---|---|---|---|---|
4, 35, 99 | VCC | PWR | +5V питания (англ. Power Supply ) | |
76 | VBAT | PWR | +3.3 В батареи | |
77 | VCCH | PWR | +5 V VCC вспомогательное питание англ. Help Supply ). | |
15, 43, 67, 117 | GNDD | GND | Земля цифровых сигналов | |
86 | GNDA | GND | Земля аналоговых сигналов | |
Сигналы группы Интерфейс шины LPC | ||||
№ вывода | Наименование сигнала | Атрибут группы | Питание | Описание |
Сигналы группы Сигналы аппаратного мониторинга | ||||
№ вывода | Наименование сигнала | Атрибут группы | Питание | Описание |
Сигналы группы Сигналы управления вентиляторами | ||||
№ вывода | Наименование сигнала | Атрибут группы | Питание | Описание |
Сигналы группы Сигналы ИК порта | ||||
№ вывода | Наименование сигнала | Атрибут группы | Питание | Описание |
Сигналы группы Сигналы игрового порта | ||||
№ вывода | Наименование сигнала | Атрибут группы | Питание | Описание |
Сигналы группы Сигналы первого последовательного коммуникационного порта | ||||
№ вывода | Наименование сигнала | Атрибут группы | Питание | Описание |
Сигналы группы Сигналы второго последовательного коммуникационного порта | ||||
№ вывода | Наименование сигнала | Атрибут группы | Питание | Описание |
Сигналы группы Сигналы параллельного коммуникационного порта | ||||
№ вывода | Наименование сигнала | Атрибут группы | Питание | Описание |
Сигналы группы Сигналы КНГМД | ||||
№ вывода | Наименование сигнала | Атрибут группы | Питание | Описание |
Сигналы группы Сигналы интерфейса флеш-ПЗУ | ||||
№ вывода | Наименование сигнала | Атрибут группы | Питание | Описание |
Сигналы группы Прочие сигналы | ||||
№ вывода | Наименование сигнала | Атрибут группы | Питание | Описание |
44 | CLKIN | DI | VCC | Вход тактовой частоты, 24 или 48 МГц |
Сигналы первой группы Ввод/вывод общего назначения (англ. General Purpose I/O, GPIO ) | ||||
№ вывода | Наименование сигнала | Атрибут группы | Питание | Описание |
Сигналы второй группы Ввод/вывод общего назначения | ||||
№ вывода | Наименование сигнала | Атрибут группы | Питание | Описание |
Сигналы третьей группы Ввод/вывод общего назначения | ||||
№ вывода | Наименование сигнала | Атрибут группы | Питание | Описание |
Сигналы четвёртой группы Ввод/вывод общего назначения | ||||
№ вывода | Наименование сигнала | Атрибут группы | Питание | Описание |
Сигналы пятой группы Ввод/вывод общего назначения | ||||
№ вывода | Наименование сигнала | Атрибут группы | Питание | Описание |
Сигналы шестой группы Ввод/вывод общего назначения [# 2] | ||||
№ вывода | Наименование сигнала | Атрибут группы | Питание | Описание |
Примечания |
№ вывода | Наименование сигнала | Рекомендуемое назначение |
---|---|---|
98 | VIN0 | 2 вольта для сигнала ЦП VCORE1. |
97 | VIN1 | 2 вольта для сигнала ЦП VCORE2. |
96 | VIN2 | 3,3 вольта для компьютера. |
95 | VIN3 | 5 вольт для компьютера. |
94 | VIN4 | +12 вольт для компьютера. |
93 | VIN5 | -12 вольт для компьютера. |
92 | VIN6 | -5 вольт для компьютера. |
91 | VIN7 | 5 вольт для питания в дежурном (Suspend) режиме. |
Программирование контроллера
Конфигурационные регистры
Контроллер окружающей среды
Контроллер окружающей среды (англ. Environment Controller, EC ), встроенный в IT8705F, включает в себя восемь входов для контроля напряжения питания, три входа для датчиков температуры, три входа для тахометров вентиляторов и три набора улучшенных контроллеров вентиляторов. [12]
IT8705F содержит 8-битный АЦП, ответственный за контроль напряжения и температуры. АЦП преобразует аналоговые сигнала на входе, начиная от 0 В и до 4,096 В, в 8-битные цифровые байты. Благодаря наличию дополнительных внешних компонентов аналоговые входы могут контролировать разные диапазоны, в дополнение к фиксированному входному диапазону от 0 В до 4,096 В. Входы датчиков температуры могут быть преобразованы в 8-разрядные цифровые байты и контролировать температуру с термисторов или термодиода. Встроенная ПЗУ обеспечивает регулировку нелинейных характеристики термисторов.
Входы тахометра вентилятора являются цифровыми входами с диапазоном от 0 до 5 В и используются при измерениях периодов импульсов с тахометра вентилятора. FAN_TAC1 и FAN_TAC2 оснащены программируемыми делителем и могут быть использованы для измерения различных диапазонов скорости вращения вентилятора. FAN_TAC3 снабжен фиксированным делителем и может быть использован только в диапазоне по умолчанию.
Контроллер окружающей среды в IT8705F предоставляет программистам несколько внутренних регистров и генератор прерываний для контроля окружающей среды и управления вентиляторами.
Доступ программиста к контроллеру окружающей среды осуществляется по адресам двух регистров:
Базовый адрес определяется конфигурационным регистром логического устройства контроллера окружающей среды — LDN = 04h, индекс регистров = 60h, 61h.