Super I/O

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Super I/O (англ. Super Input/output; дословно: супер <контроллер> ввода-вывода) — название класса сопроцессоров, которые начали использоваться после 80-х годов на материнских платах IBM PC-совместимых компьютеров путём сочетания функций многих контроллеров, сперва одной платой, устанавливаемой в слот расширения, а затем и одной микросхемой, тем самым достигая уменьшения числа микросхем контроллеров, и таким образом привели к снижению сложности и стоимости компьютера в целом. Super I/O объединяет интерфейсы различных низкочастотных устройств.

Фактически, на рынке материнских плат массового сегмента предоставлена продукция всего трёх фирм: Integrated Technology Express Inc (ITE), Winbond Electronic Corp. и Standard Microsystems Corporation (SMSC). Производители брендовой продукции (IBM, HP, Dell, FSC) как правило используют проприетарные разработки схемотехники материнских плат и не публикуют спецификаций применяемых контроллеров.

Как правило, включает в себя следующие функции:

Super I/O также может включать в себя и другие интерфейсы, такие как игровой (MIDI или джойстик) или инфракрасный порты.

Изначально Super I/O связывались через шину ISA. Одновременно с развитием IBM PC-совместимых компьютеров происходило смещение Super I/O, сперва на шины VLB, затем стала использоваться шина PCI. Современные Super I/O используют шину LPC (интерфейс которой предоставляет южный мост материнской платы) и часто реализованы в составе чипсета.

Super I/O и схемы аппаратного мониторинга[править | править вики-текст]

Сводная таблица ИМС контроллеров[1]
Наименование Количество
измеряемых
напряжений
Количество
датчиков
температуры
Количество
входов
контроля
вентиляторов
Количество
выходов
контроля
вентиляторов
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[править | править вики-текст]

Примером современного Super I/O может служить микросхема Intel 631xESB/632xESB, обеспечивающая следующие функции[2]:

  1. Обеспечивает реализацию интерфейса ESI (англ. Enterprise South Bridge Interface, ESI) и порта PCI Express, обеспечивающим 8-кратный поток передачи к Memory Controller Hub (MCH)
  2. Обеспечивает совместимость с версией 1.0a спецификации шины PCI Express
  3. Обеспечивает совместимость с приложением к протоколу спецификации версии 2.0a шины PCI и приложению по электрической и механической спецификации шины PCI
  4. Обеспечивает совместимость с версией 2.3 спецификации шины PCI в части поддержки работы на частоте 33 МГц (поддержка до семи пар Req/Gnt)
  5. Обеспечивает логическую поддержку режимов потребления питания ACPI
  6. Обеспечивает реализацию контроллера Enhanced DMA, контроллера прерываний и функции часов реального времени
  7. Содержит интегрированный контроллер SATA с независимыми DMA-операциями на шести портах и поддержку AHCI
  8. Содержит интегрированный контроллер IDE, обеспечивающий работу режимов Ultra ATA100/66/33
  9. Содержит интегрированный контроллер интерфейса USB с поддержкой восьми портов; содержит четыре интегрированных контроллера UHCI; одержит один интегрированный высокоскоростной EHCI-контроллер, обеспечивающий работу в режиме USB 2.0
  10. Содержит сдвоенный гигабитный MAC обеспечивающий работу в соответствии со спецификациями IEEE 802.3 с поддержкой интерфейса SerDes[3]/Kumeran для двух PHY-компонентов
  11. Обеспечивает работу PICMG-совместимого гигабитного Ethernet
  12. Содержит интегрированный контроллер платы с базовой прошивкой ПЗУ, обеспечивающий расширяемость через внешнюю флеш-память и ОЗУ
  13. Обеспечивает совместимость с версией 2.0 SMBus с дополнительной поддержкой I2C-устройств
  14. Содержит интегрированный аудиоинтерфейс (AC’97 и Intel High Definition Audio), а также спецификацию модема AC’97
  15. Имеет интерфейс LPC
  16. Обеспечивает поддержку интерфейса Firmware Hub (FWH)
  17. Обеспечивает дополнительные функции, например: управляет процессами во время перезагрузки и если во время первоначального старта центральным процессором не начинается выполнение инструкций, перезапускает компьютер; или переводит компьютер в режим останова в случае срабатывания защиты при открытии корпуса системного блока


Super I/O производства Integrated Technology Express Inc (ITE)[править | править вики-текст]

Известны следующие ИМС <контроллеров Super I/O> производства Integrated Technology Express Inc:

В качестве примера типового контроллера рассмотрим IT8705F/AF

IT8705 – высокоинтегрированный суперконтроллер ввода/вывода на основе интерфейса LPC. Контроллер обеспечивает функциональность на уровне наиболее часто используемых наследуемых функций обычного суперконтроллер ввода/вывода плюс инновации в контроле окружающей среды, такие как функция аппаратного мониторинга, регулирование скорости вращения вентилятора и фирменную разработку ITE — «SmartGuardian». Интерфейс LPC контроллера соответствует Спецификации интерфейса LPC 1.0 от 29 сентября 1997 года, публикуемой фирмой Intel[11]. IT8705F отвечает требованиям руководства «Microsoft PC98 & PC99 System Design Guide», сам контроллер является ACPI-совместимым устройством.
Функции расширенного аппаратного мониторинга предоставлены тремя входами (используется 8-битное АЦП) с возможностью подключения в качестве источника аналогового сигнала (измерение температуры) внешних термисторов, температурного диода или транзистора подключенного в качестве диода (например, 2N3904).
Обеспечиваемая контроллером фирменная инновация SmartGuardian (направленная на уменьшения общего шума работающей системы и снижения потребляемой электроэнергии) представляет собой интеллектуальное включение/отключение вентилятора и управление скоростью его вращения.
Также доступны средства ISO 7816-совместимого считывателя смарт-карт и согласно спецификации Personal Computer Smart Card (PC/SC) Working Group.
Контроллер также имеет девять интегрированных логических устройств, благодаря чему представляет собой контроллер окружающей среды (управляя тремя вентиляторами). Каждое из девяти логических устройств может быть индивидуально включено или отключено с помощью регистров конфигурации программного обеспечения. Контроллер использует энергоэффективную схему для снижения энергопотребления. После того, как логическое устройство отключено, его цепи входов блокируются, выходы переключаются в третье состояние (высокоимпедансное состояние, Z-состояние) и отключаются от тактового генератора.
Контроллер окружающей среды контролирует температуру, восемь напряжений питания (включая напряжение батареи VBAT для питания CMOS-памяти содержащего данные конфигурирования BIOS и RTC) и скорость вращения вентилятора.
Один контроллер скорости вращения вентилятора отвечает за управление скоростью вращения трёх вентиляторов используя три выходных контакта управляемых 128-шаговыми импульсами (используется широтно-импульсная модуляция) и контролирует входы от тахометров трех вентиляторов.
Также контролер включает в себя:
  • один высокопроизводительный КНГМД 2,88 МБ дискет (с сепаратором цифровых данных) поддерживающим два 360 к / 720 к / 1,2 МБ / 1,44 МБ / 2,88 МБ дисковода;
  • один многорежимный высокопроизводительный параллельный порт IEEE 1284, который работает как двунаправленный стандартный параллельный порт (SPP), улучшенный параллельный порт (Enhanced Parallel Port, EPP) версий 1.7 и 1.9, или порт с расширенными возможностями (ECP);
  • два, совместимых со стандартными 16C550, расширенных УАПП — для осуществления асинхронной связи; также осуществляется поддержка SIR и одного ИК-пульта дистанционного управления (пульт от телевизора);
  • один MIDI порт работающий в режим совместимом с MPU-401 UART; один игровой порт со встроенным счетверённым таймером 558 и буферными микросхемами для поддержки прямого подключения двух джойстиков; шесть портов (44 выводов GPIO);
  • осуществляется организация интерфейса с флэш-ПЗУ объёмом до восьми МБ (сигналами шины адреса FA [0:19], шины данных FD [0:7]); существует поддержка трёх управляющих сигналов — FCS#, FWE# и FRD#;
  • осуществляется управление свечением и „миганием“ светодиода, ндицирующим режим энергосбережения компьютера (англ. Power LED Blinking Control);
  • управляет звуковой сигнализацией при сбое или отказе компьютера;
  • кроме того, для мониторинга состояния системы и реакция на обнаруженные состояния соответственно предусмотрена технология SmartGuardian; вариант IT8705AF дополнительно позволяет контролировать вскрытие корпуса (аппаратная система обнаружения вторжений).
    Контроллер требует одного входа тактового генератора с частотой 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]
№ вывода Наименование
сигнала
Атрибут
группы
Питание Описание
Примечания
  1. Атрибут группы:
    • DO: Digital Output — цифровой выходной сигнал
    • DO8: 8mA Digital output buffer — цифровой выходной буфер на ток 8 мА
    • DO16: 16mA Digital output buffer — цифровой выходной буфер на ток 16 мА
    • DO40: 48mA Digital output buffer — цифровой выходной буфер на ток 48 мА
    • DOD40: 48mA Digital Open-Drain output buffer — цифровой выходной буфер с открытым истоком на ток 48 мА
    • DIOD8: 8mA Digital Open-Drain Input/Output buffer — цифровой входной-выходной буфер с открытым истоком на ток 8 мА
    • DIO8: 8mA Digital Input/Output buffer — цифровой входной-выходной буфер на ток 8 мА
    • DIO24: 24mA Digital Input/Output buffer — цифровой входной/выходной буфер на ток 24 мА
    • DI: Digital Input — цифровой вход
    • AI: Analog Input — аналоговой вход
    • AO: Analog Output — аналоговой выход
  2. Регистры GPIO запитываются VCC, не VCCH!
Рекомендуемой назначение (подключение) выводов
№ вывода Наименование
сигнала
Рекомендуемое назначение
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) режиме.

Программирование контроллера[править | править вики-текст]

Конфигурационные регистры[править | править вики-текст]

Таблица адресов девяти логических устройств контроллера
Логическое устройство Адрес Примечание
LDN=0
КНГМД
Базовый адрес + (2 - 5) и + 7
LDN=1
Первый последовательный
коммуникационный порт
Базовый адрес + (0 -7)
LDN=2
Второй последовательный
коммуникационный порт
Базовый адрес1 + (0 -7)
LDN=3
Параллельный порт
Base1 + (0 -3)
Базовый адрес1 + (0 -7)
Базовый адрес1 + (0 -3) и Базовый адрес2 + (0 -3)
Базовый адрес1 + (0 -7) и Базовый адрес2 + (0 -3)
Базовый адрес3
SPP
SPP+EPP
SPP+ECP
SPP+EPP+ECP
POST Data Port
LDN=4
Контроллер окружающей среды
Базовый адрес1 + (0 -7)
Базовый адрес2 + (0 -3)
Контроллер окружающей среды
Сигнал события управления энергопотреблением
(англ. Power Management Event, PME#)
LDN=5
Ввод/вывод общего назначения
LDN=6
Игровой порт
Базовый адрес + (0 -1)
LDN=7
ИК порт
Базовый адрес + (0 -7)
LDN=8
MIDI порт
Базовый адрес + (0 -1)
Глобальный конфигурационный регистр

Контроллер окружающей среды[править | править вики-текст]

Контроллер окружающей среды (англ. Environment Controller, EC), встроенный в IT8705F, включает в себя восемь входов для контроля напряжения питания, три входа для датчиков температуры, три входа для тахометров вентиляторов и три набора улучшенных контроллеров вентиляторов.

IT8705F содержит 8-битный АЦП, ответственный за контроль напряжения и температуры. АЦП преобразует аналоговые сигнала на входе, начиная от 0 В и до 4,096 В, в 8-битные цифровые байты. Благодаря наличию дополнительных внешних компонентов аналоговые входы могут контролировать разные диапазоны, в дополнение к фиксированному входному диапазону от 0 В до 4,096 В. Входы датчиков температуры могут быть преобразованы в 8-разрядные цифровые байты и контролировать температуру с термисторов или термодиода. Встроенная ПЗУ обеспечивает регулировку нелинейных характеристики термисторов.

Входы тахометра вентилятора являются цифровыми входами с диапазоном от 0 до 5 В и используются при измерениях периодов импульсов с тахометра вентилятора. FAN_TAC1 и FAN_TAC2 оснащены программируемыми делителем и могут быть использованы для измерения различных диапазонов скорости вращения вентилятора. FAN_TAC3 снабжен фиксированным делителем и может быть использован только в диапазоне по умолчанию.

Контроллер окружающей среды в IT8705F предоставляет несколько внутренних регистров и генератор прерываний для программистов для контроля окружающей среды и управления вентиляторами.

Доступ программисту к контроллеру окружающей среды осуществляется по адресам двух регистров:

  1. Регистр адреса, адрес: Базовый адрес+05h
  2. Регистр данных, адрес: Базовый адрес+06h

Базовый адрес определяется конфигурационным регистром логического устройства контроллера окружающей среды — LDN = 04h, индекс регистров = 60h, 61h.


Super I/O производства Winbond Electronic Corp.[править | править вики-текст]

Super I/O контроллер Winbond W83977EF, установленный на материнской плате


Super I/O производства Standard Microsystems Corporation (SMSC)[править | править вики-текст]

Super I/O контроллер SMSC, установленный на материнской плате IBM
Super I/O контроллер SMSC, установленный на материнской плате ноутбука Samsung


См. также[править | править вики-текст]

Примечания[править | править вики-текст]

  1. Системы контроля здоровья PC (Hardware monitor / PC Health)
  2. Intel 631xESB/632xESB I/O Controller Hub. Datasheet
  3. Serializer/Deserializer (SerDes) Solutions
  4. Simple Low Pin Count Input / Output (Simple LPC I/O). Preliminary Specification V0.1. Copyright © 2001 ITE, Inc.
  5. Super - Low Pin Count Input / Output (LPC I/O). Preliminary Specification V0.5. Copyright © 2004 ITE, Inc.
  6. Simple Low Pin Count Input / Output (Simple LPC I/O). Preliminary Specification V0.4. Copyright © 2003 ITE, Inc.
  7. Special General Purpose I/O. Preliminary Specification V0.1. Copyright © 2000 ITE, Inc.
  8. Application Circuit V0.2. SCHEMATIC REVISION IT-8711-CG-S01 VER 0.2. June 21, 2001
  9. Environment Control – Low Pin Count Input / Output (EC - LPC I/O). Preliminary Specification V0.81. Copyright © 2004 ITE, Inc.
  10. APPLICATION CIRCUIT V0.3 SCHEMATIC REVISION IT-8871-CG-4J-S01. VER0.3 Oct 24, 2000
  11. Intel Low Pin Count (LPC) Interface Specification Revision 1.1 August 2002 (англ.)

Литература[править | править вики-текст]

По ИМС ITE
  • IT8705F/IT8705AF Simple Low Pin Count Input/Output (Simple LPC I/O) Preliminary Specification V0.4.
  • IT8705F Preliminary Environment Controller (EC) Programming Guide V0.3.
  • Errata V0.1 for IT8705F/IT8705AF V0.4. Document Number: ITPM-ER01-IT8705.
  • IT8705F Application Circuit. Document Number: IT-8705-CG-S01 V2.0.
  • IT8712F Environment Control – Low Pin Count Input/Output (EC-LPC I/O) Preliminary Specification V0.9.1.
  • IT8712F Preliminary Environment Controller (EC) Programming Guide V0.2.
  • IT8718F Environment Control – Low Pin Count Input/Output (EC-LPC I/O) Preliminary Specification V0.3.
  • Термальная угроза: мифы и реальность №1
  • Укрощение кулеров
По ИМС Windond
  • W83627HF/F, W83627HG/G Winbond LPC I/O. Revision: A1.
  • Winbond LPC I/O W83627THF. Revision 1.0.
  • Winbond LPC I/O W83697HF, W83697HG. Revision: A1.
  • W83781D Winbond H/W Monitoring IC.
По ИМС SMSC
  • LPC47M10x Preliminary. 100 Pin Enhanced Super I/O Controller with LPC Interface for Consumer Applications.
  • SMSC LPC47M10x Reference Design ASSY 6097 Rev. A1. Document Number: 6097.
Другие материалы
  • VIA VT82C686A South Bridge Datasheet. Revision 1.54
  • VIA VT82C686B South Bridge Datasheet. Revision 1.71
  • Advanced Configuration and Power Interface Specification. Hewlett-Packard Corporation, Intel Corporation, Microsoft Corporation, Phoenix Technologies Ltd., Toshiba Corporation. Revision 3.0.
  • Intel “LPC Interface Specification Rev. 1.0” (Sept. 29, 1997)

Ссылки[править | править вики-текст]