Контроллер lpc что это

от admin

ISA умер! Да здравствует LPC?

Сегодня в персональном компьютере осталось только одно функциональное устройство, по которому можно проследить его генеалогию, — это интерфейс ISA, доставшийся ему по наследству от IBM PC AT. Большинство карт расширения выполняется по стандарту PCI, многие видеокарты подключаются по AGP. Однако производители карт расширения и материнских плат кивают друг на друга: если стандарт существует, то под него должны выпускаться карты; если выпускаются карты с интерфейсом ISA, то материнские платы должны его поддерживать. В спецификации PC98 наличие разъемов расширения стандарта ISA признается нежелательным. Однако для подсоединения таких устройств, как параллельные и последовательные порты, клавиатура, флоппи-диск, какой-нибудь интерфейс все же необходим. Поэтому разработчики микросхем для материнских плат вынуждены разводить ISA на кристалле, а чтобы добро не пропадало зря, — и выводить его наружу. Что же придет ему на смену?

Наименование Направление Назначение
Периферия Основной задатчик
LAD[3:0] I/O I/O Мультиплексированные команды, адреса и данные
LFRAME# I O Фрейм, указывает на начало новой команды
LRESET# I I Сброс, те же функции, что PCI Reset. При наличии PCIRST# необязателен
LCLC I I Тактовая частота 33 МГц, те же функции, что PCICLK

Для подключения перечисленных выше устройств Intel предлагает новый стандарт — LPC (Low Pin Count, Малое Количество Контактов). Этот интерфейс, по утверждению представителей корпорации, будет встраиваться в будущие чипсеты для материнских плат. Такие намерения Intel означают, что, вероятнее всего, мы вскоре сможем в добровольно-принудительном порядке ознакомиться со стандартом LPC. Попробуем сделать это заранее и по собственной воле.

Введение нового стандарта преследует следующие цели:

  • убрать из системы ISA и X-bus;
  • снизить стоимость системы;
  • обеспечить скорость обмена, не меньшую, чем по шине X-bus;
  • предоставить те же типы циклов, что и X-bus;
  • увеличить адресуемое пространство с традиционных 16 Мбайт до 4 Гбайт;
  • значительно упростить временные диаграммы за счет синхронной природы интерфейса;
  • обеспечить прозрачность для программного обеспечения и отсутствие конфликтов из-за ресурсов;
  • обеспечить пригодность как для настольных, так и для мобильных систем;
  • обеспечить функции управления потребляемой мощностью.

Контактов действительно очень мало: семь обязательных (для передачи информации) и шесть дополнительных (для подключения устройств, выполняющих функцию задатчика и управления мощностью). Названия и функции обязательных сигналов интерфейса LPC приведены в табл. 1. Команды, адреса и данные передаются по линиям LAD[3:0] тетрадами-нибблами последовательно по четыре бита за один раз. Подобно PCI интерфейс синхронный, каждый цикл состоит из нескольких полей, каждое из которых имеет длительность в один период тактовой частоты 33 МГц. Любой цикл обмена по интерфейсу LPC начинается с того, что основной задатчик на шине (обычно чипсет) устанавливает активный уровень на линии LFRAME#. При этом все периферийные устройства переходят в состояние «начало цикла» и анализируют состояние линий LAD[3:0]. Если устройства передавали информацию по линиям LAD[3:0], то они немедленно их освобождают. Таким образом, этот сигнал может использоваться для прекращения затянувшихся циклов, например, при сбоях и зависаниях. То есть при достаточно интеллектуальном основном задатчике зависшее периферийное устройство не сможет подвесить всю систему. Сигнал LFRAME# может быть активным более одного периода тактовой частоты 33 МГц. В этом случае действительной считается информация, имевшаяся на LAD[3:0] во время последнего периода тактовой частоты. Первое поле — START — определяет тип операции, его возможные значения приведены в табл. 2.

Значение LAD[3:0] Тип операции
0 Начало ввода/вывода или чтения/записи
1 Зарезервировано для последующего расширения
10 Разрешение для задатчика номер 1
11 Разрешение для задатчика номер 2
0100-1110 Зарезервировано для последующего расширения
1111 Принудительное прекращение цикла

Следующее поле — CYCTYPE + DIR (Cycle Type / Direction, тип цикла и направление передачи), определяется текущим задатчиком. Это поле может иметь значения, указанные в табл. 3. Значение бита LAD[0] зарезервировано, и он всегда должен быть равен 0.

Поле SIZE (Размер) может принимать значения 00 при передаче 1 байта, 01 при передаче 2 байт и 11 при передаче 4 байт. Значение 10 зарезервировано. Это поле используется только при операциях прямого доступа; ввод/вывод и чтение/запись осуществляются побайтно. Поле ADDR имеет длину четыре периода тактовой частоты для операций ввода/вывода и восемь периодов для циклов обращения к памяти. Адреса передаются начиная со старшей тетрады, то есть при обращении к памяти первыми передаются биты 31:28, а последними — 3:0.

LAD[3:2] LAD[1] Тип операции
0 0 Чтение из внешнего устройства
0 1 Запись во внешнее устройство
1 0 Чтение из памяти
1 1 Запись в память
10 0 Прямой доступ к памяти для чтения
10 1 Прямой доступ к памяти для записи
11 Х Зарезервировано. Периферия должна игнорировать это значение, а основной задатчик, обнаружив его, прерывает цикл установкой LFRAME# в активное состояние

Поле CHANNEL используется в операциях прямого доступа к памяти и содержит в битах 0:2 номер канала, а в бите 3 — аналог сигнала Terminal Count шины ISA.

Поле DATA (Данные) имеет длину два периода тактовой частоты и содержит данные, передаваемые младшей тетрадой вперед. В одном цикле может содержаться одно, два или четыре поля DATA.

Поле передачи управления Turn Around, TAR, используется для передачи контроля над линиями LAD [3:0] второму участнику данного цикла, что необходимо при операциях чтения. Оно имеет продолжительность два периода тактовой частоты, на первом периоде текущий задатчик устанавливает на линиях LAD[3:0] значение 1111, на втором отключается, ожидая информацию от второго участника диалога.

Поле SYNC служит для синхронизации источника и приемника данных. Его вставляет ведомый участник цикла для того, чтобы подготовить для передачи запрошенные данные, или для размещения полученной информации. Полей SYNC в одном цикле может быть несколько, фактически столько, сколько нужно для подготовки. Значения поля SYNC приведены в табл. 4.

LAD[3:0]
0 Синхронизация достигнута
0001-0100 Зарезервировано
101 Короткое ожидание
110 Длительное ожидание, будет добавлено много полей SYNC
0111-1000 Зарезервировано
1001 Синхронизация достигнута, передача будет продолжена в следующем цикле (только при прямом доступе к памяти)
1010 Ошибка. В переданных данных содержится ошибка
1011 — 1111 Зарезервировано

Значение 1010 — Ошибка необходимо потому, что все циклы должны иметь определенную длину, так что периферийное устройство обязано передать требуемое для данного цикла количество данных, но перед этим оно честно предупреждает задатчика о том, что эти данные имеют чисто фиктивный характер.

Ознакомившись с типами полей, можно более подробно рассмотреть механизмы начала, окончания и принудительного прекращения цикла. Цикл начинается с того, что основной задатчик устанавливает активный уровень на линии LFRAME#. С этого момента периферийные устройства только анализируют состояние линий LAD[3:0], прервав любую операцию на шине (если она проводилась). Задатчик может удерживать LFRAME# в активном состоянии более одного периода частоты синхронизации, при этом он даже может произвольно менять состояние LAD[3:0]. Действительным значением поля START будет то, которое имелось на этих линиях перед переходом LFRAME# в пассивное состояние. Если считанное поле START распознается периферийными устройствами, то они должны декодировать весь цикл, а в противном случае — просто дожидаться следующей активации LFRAME# (например, устройства ввода/вывода, не использующие циклы прямого доступа или захвата шины, могут их просто игнорировать). Принудительное прекращение цикла является специальным циклом, так как начинается с установки LFRAME# в активное состояние, а заканчивается установкой поля START со значением 1111. При этом для более уверенного распознавания линия LFRAME# находится в активном состоянии не менее четырех периодов тактовой частоты.

Поле Значение Источник Число тактов
START 0 Основной задатчик 1
CYCTYPE+DIR 100 Основной задатчик 1
ADDR ХХХХ Основной задатчик 8
TAR 1111 Основной задатчик 2
SYNC 101 Периферийное устройство 3
SYNC 0 Периферийное устройство 1
DATA ХХХХ Периферийное устройство 2
TAR 1111 Периферийное устройство 2
Всего тактов 20
Время доступа 0,66 мкс
Скорость передачи 1,5 Мбайт/с

В табл. 5 приведены последовательность и характеристики полей в цикле чтения из памяти. Основной задатчик инициирует цикл, определяет тип цикла и направление передачи (чтение из памяти), адрес памяти и информирует об освобождении линий LAD[3:0]. Периферийное устройство во время подготовки данных передает поля SYNC со значением 0101. Когда данные готовы для передачи, устройство передает поле SYNC со значением 0000, две тетрады данных и информирует основного задатчика об освобождении линий LAD[3:0].

Количество полей синхронизации соответствует быстродействию памяти и может изменяться. В данном примере предполагалось наличие ППЗУ с временем доступа 120 нс (4*33 нс = 132 нс). Цикл записи построен примерно так же, но данные передает основной задатчик, а периферийное устройство — только поля SYNC и TAR. В поле SYNC устройство помещает значение либо 0000 (успешная запись), либо 1010 (ошибка при записи). Соответственно возможны варианты, когда устройство не буферизует данные, а выдает поля SYNC до момента реальной записи.

Поле Значение Источник Число тактов
START 0 Основной задатчик 1
CYCTYPE+DIR 110 Основной задатчик 1
ADDR ХХХХ Основной задатчик 8
DATA ХХХХ Основной задатчик 2
TAR 1111 Основной задатчик 2
SYNC 0 Периферийное устройство 1
TAR 1111 Периферийное устройство 2
Всего тактов 17
Время доступа 0,56 мкс
Скорость передачи 1,8 Мбайт/с

В табл. 6 приведены последовательность и характеристики полей в цикле чтения из памяти. Совершенно аналогично происходит ввод/вывод при работе с портами, отличие состоит лишь в других значениях полей CYCTYPE+DIR. Для ознакомления с функциями работы с прямым доступом к памяти и управления потребляемой мощностью в табл. 7 приведены необязательные линии интерфейса LPC.

Наименование Направление Назначение
Периферия Основной задатчик
LDRQ# O I Запрос на прямой доступ к памяти или захват шины. Каждому устройству, обладающему этими функциями, требуется отдельная линия LDRQ#
SERIRQ I/O I/O Последовательный запрос на прерывание
CLKRUN# OD I/OD OD I/OD То же, что и PCI CLKRUN#
PME# OD I/OD То же, что и PCI PME#
LPCPD# I O I O Отключение, указывает, что периферия должна подготовиться к отключению
LSMI# O/D I O/D I Как и PCI SMI#, нужен для повторных попыток

При запросе прямого доступа к памяти (ПДП) или захвата шины используется линия LDRQ#. В первом случае по ней передается номер канала ПДП, во втором — зарезервированное значение 100. При благоприятном для данного запроса исходе арбитража основной задатчик начинает производить циклы ПДП. Бит LAD[3] в поле CHANNEL играет специальную роль и соответствует линии шины ISA TC (Terminal Count). В случае передачи последней порции данных (1, 2, 4 байт) этот бит устанавливается в 1, сигнализируя о том, что текущий сеанс ПДП закончен. Также сеанс ПДП может быть завершен установкой поля SYNC=0000 (синхронизация достигнута) или SYNC=1010 (ошибка), так как при циклах ПДП для индикации готовности данных используется значение SYNC=1001 (синхронизация достигнута; в следующем цикле будут еще данные). Последовательность полей и другие характеристики цикла ПДП при 8-битном чтении внешним устройством из основной памяти приведены в табл. 8. В зависимости от типа ПДП (8, 16 или 32 разряда) последние четыре поля передаются один, два или четыре раза соответственно. Соответственно будут меняться время доступа и скорость передачи.

Цикл захвата шины, как и все остальные, инициируется основным задатчиком после получения запроса по линии LDRQ#. Основной задатчик, как и при всех других циклах, формирует поле START, имеющее значение 0010 или 0011 (разрешение для задатчика 1 или задатчика 2; в настоящее время поддерживается не более двух задатчиков). После этого основной задатчик передает управление шиной при помощи поля TAR. Далее все протекает как при описанных выше циклах, за одним исключением: поля SYCTYPE+DIR и последующие, которые определяют тип цикла и направление передачи, формируются устройством, получившим право на захват шины.

Наименование Направление Назначение
Периферия Основной задатчик
LDRQ# O I Запрос на прямой доступ к памяти или захват шины. Каждому устройству, обладающему этими функциями, требуется отдельная линия LDRQ#
SERIRQ I/O I/O Последовательный запрос на прерывание
CLKRUN# OD I/OD OD I/OD То же, что и PCI CLKRUN#
PME# OD I/OD То же, что и PCI PME#
LPCPD# I O I O Отключение, указывает, что периферия должна подготовиться к отключению
LSMI# O/D I O/D I Как и PCI SMI#, нужен для повторных попыток

Для работы с устройствами, использующими прерывания, используется линия SERIRQ# и одноименный протокол, описанный в спецификации шины PCI «PCI Local Bus Specification, Rev 2.1». Управление включением/выключением периферийных устройств осуществляется при помощи линий LPCPD# и LRST#. При выключении первая из них устанавливается основным задатчиком в низкий уровень, при этом в течение еще не менее 30 мкс на шину подается сигнал тактовой частоты LCLC. Все периферийные устройства при обнаружении низкого уровня на линии LPCPD# обязаны прекратить любую активность на шине и перейти в режим пониженного энергопотребления. Переход к работе происходит при подаче основным задатчиком на линию LPCPD# высокого уровня. Подача тактового сигнала осуществляется заранее, не менее чем за 100 мкс перед установкой высокого уровня LPCPD#. Для правильного перехода внешних устройств в начальное состояние на линии LRST# поддерживается низкий (активный) уровень еще в течение 60 мкс.

Контроллер lpc что это

LPC (Low Pin Count, малое число контактов) — шина, разработанная компанией Intel и предназначенная главным образом для подключения стандартных устройств, доставшихся современным персональным компьютерам «в наследство» от ранних ПК и обычно называемых унаследованными (legacy). Раньше такие устройства подключались к шине ISA.

Целесообразность разработки новой шины объясняется следующими основными причинами:

  • унаследованные устройства используют заранее определённые диапазоны адресов памяти и ввода-вывода и не обладают возможностью конфигурирования, предусмотренной технологией Plug and Play, поэтому они не могут быть напрямую подключены к более современным шинам (PCI, PCI Express ), имеющимся в современных ПК;
  • традиционно использовавшаяся для подключения таких устройств шина ISA имеет много сигналов (88, не считая линий питания), что усложняет и удорожает как контроллеры, так и системные платы, поэтому сохранение её в прежнем виде нецелесообразно;
  • необходимость сохранять электронную совместимость с шиной ISA в обычных ПК отсутствует, поскольку предназначенные для неё устройства расширения (например, сетевые и звуковые платы) к рубежу веков практически «вымерли».

Шина LPC имеет всего 7 обязательных и 6 необязательных сигналов. Обмен данными по ней идёт в синхронном режиме с частотой 33 МГц (шина ISA является асинхронной, что также усложняет работающее с ней оборудование), причём каждый так передаётся 4 информационных или управляющих бита. Разрядность адреса увеличена до 32 бит, что позволяет задатчикам шины прямо обращаться к адресному пространству памяти объёмом 4 Гбайта (у шины ISA разрядность адреса составляла 24 бита, что ограничивало возможности адресации величиной 16 Мбайт). Реальная пропускная способность LPC, составляющая 6,7 Мбайт/с, ненамного уступает таковой у ISA (до 8 Мбайт/с) и совершенно достаточна для одновременной работы всех подключенных к ней устройств (по расчётам Intel, они используют порядка 75% максимальной пропускной способности).

В современных ПК шина LPC через мост подключается к шине PCI или PCI Express (технически мост PCI-LPC обычно входит в состав микросхемы «южного моста»). К LPC обычно присоединяется микросхема многофункционального контроллера, в англоязычной документации именуемого «Super I/O». В его состав могут входить, например, контроллер интерфейса PS/2, контроллер гибких дисков , а также набор линий общего назначения (General Purpose I/O, GPIO), к которым часто подключаются датчики температуры и вентиляторы. Кроме того, к LPC могут подсоединяться другие как современные (например, модуль ISA. Например, с точки зрения программиста подключенные к LPC порты и контроллер интерфейса PS/2 генерируют обычные для них запросы прерываний IRQ1, IRQ3, IRQ4, IRQ12, хотя физически эти линии отсутствуют. Определять наличие или отсутствие тех или иных устройств, подключенных к LPC, необходимо соответствующими функциями BIOS. Зачастую информация о них содержится в таблицах ACPI, поэтому анализ конфигурации обычно целесообразно начинать именно с их разбора.

Lpc interface controller что это

Драйвер для неизвестного устройства Intel ICH LPC Interface Controller

Сегодня в очередной раз столкнулся с необходимостью установки драйвера для неизвестного устройства Intel(R) 82801GB/GR (ICH7 Family) LPC Interface Controller — 27B8. В зависимости от модели чипсета название этого устройства может быть другим, но суть от этого не меняется. Это достаточно старая и известная проблема, которая до сих пор у многих вызывает затруднения.

Если в Диспетчере устройств открыть закладку «Сведения» для этого неизвестного устройства, то в разделе «ИД оборудования» можно увидеть строку ACPI\ATK0110. ATK 0110 — это виртуальное устройство которое собирает информацию о работе материнской платы для утилиты Asus AiBooster. Для Windows 2000 и выше нужно установить драйвер ATK0110 ACPI UTILITY.

Будьте внимательны! В архиве находятся две версии драйвера: для 32-битных и 64-битных операционных систем. Обязательно следует устанавливать версию, которая соответствует разрядности вашей операционной системы.

Читать:
Аудио усилитель xh a232 как регулировать

Вы так же можете использовать Windows Update, который автоматически подберет, скачает и установит необходимый драйвер.

Lpc interface controller что это

LPC (Low Pin Count, малое число контактов) — шина, разработанная компанией Intel и предназначенная главным образом для подключения стандартных устройств, доставшихся современным персональным компьютерам «в наследство» от ранних ПК и обычно называемых унаследованными (legacy). Раньше такие устройства подключались к шине ISA.

Целесообразность разработки новой шины объясняется следующими основными причинами:

  • унаследованные устройства используют заранее определённые диапазоны адресов памяти и ввода-вывода и не обладают возможностью конфигурирования, предусмотренной технологией Plug and Play, поэтому они не могут быть напрямую подключены к более современным шинам (PCI, PCI Express ), имеющимся в современных ПК;
  • традиционно использовавшаяся для подключения таких устройств шина ISA имеет много сигналов (88, не считая линий питания), что усложняет и удорожает как контроллеры, так и системные платы, поэтому сохранение её в прежнем виде нецелесообразно;
  • необходимость сохранять электронную совместимость с шиной ISA в обычных ПК отсутствует, поскольку предназначенные для неё устройства расширения (например, сетевые и звуковые платы) к рубежу веков практически «вымерли».

Шина LPC имеет всего 7 обязательных и 6 необязательных сигналов. Обмен данными по ней идёт в синхронном режиме с частотой 33 МГц (шина ISA является асинхронной, что также усложняет работающее с ней оборудование), причём каждый так передаётся 4 информационных или управляющих бита. Разрядность адреса увеличена до 32 бит, что позволяет задатчикам шины прямо обращаться к адресному пространству памяти объёмом 4 Гбайта (у шины ISA разрядность адреса составляла 24 бита, что ограничивало возможности адресации величиной 16 Мбайт). Реальная пропускная способность LPC, составляющая 6,7 Мбайт/с, ненамного уступает таковой у ISA (до 8 Мбайт/с) и совершенно достаточна для одновременной работы всех подключенных к ней устройств (по расчётам Intel, они используют порядка 75% максимальной пропускной способности).

В современных ПК шина LPC через мост подключается к шине PCI или PCI Express (технически мост PCI-LPC обычно входит в состав микросхемы «южного моста»). К LPC обычно присоединяется микросхема многофункционального контроллера, в англоязычной документации именуемого «Super I/O». В его состав могут входить, например, контроллер интерфейса PS/2, контроллер гибких дисков , а также набор линий общего назначения (General Purpose I/O, GPIO), к которым часто подключаются датчики температуры и вентиляторы. Кроме того, к LPC могут подсоединяться другие как современные (например, модуль ISA. Например, с точки зрения программиста подключенные к LPC порты и контроллер интерфейса PS/2 генерируют обычные для них запросы прерываний IRQ1, IRQ3, IRQ4, IRQ12, хотя физически эти линии отсутствуют. Определять наличие или отсутствие тех или иных устройств, подключенных к LPC, необходимо соответствующими функциями BIOS. Зачастую информация о них содержится в таблицах ACPI, поэтому анализ конфигурации обычно целесообразно начинать именно с их разбора.

ISA умер! Да здравствует LPC?

Сегодня в персональном компьютере осталось только одно функциональное устройство, по которому можно проследить его генеалогию, — это интерфейс ISA, доставшийся ему по наследству от IBM PC AT. Большинство карт расширения выполняется по стандарту PCI, многие видеокарты подключаются по AGP. Однако производители карт расширения и материнских плат кивают друг на друга: если стандарт существует, то под него должны выпускаться карты; если выпускаются карты с интерфейсом ISA, то материнские платы должны его поддерживать. В спецификации PC98 наличие разъемов расширения стандарта ISA признается нежелательным. Однако для подсоединения таких устройств, как параллельные и последовательные порты, клавиатура, флоппи-диск, какой-нибудь интерфейс все же необходим. Поэтому разработчики микросхем для материнских плат вынуждены разводить ISA на кристалле, а чтобы добро не пропадало зря, — и выводить его наружу. Что же придет ему на смену?

Наименование Направление Назначение
Периферия Основной задатчик
LAD[3:0] I/O I/O Мультиплексированные команды, адреса и данные
LFRAME# I O Фрейм, указывает на начало новой команды
LRESET# I I Сброс, те же функции, что PCI Reset. При наличии PCIRST# необязателен
LCLC I I Тактовая частота 33 МГц, те же функции, что PCICLK

Для подключения перечисленных выше устройств Intel предлагает новый стандарт — LPC (Low Pin Count, Малое Количество Контактов). Этот интерфейс, по утверждению представителей корпорации, будет встраиваться в будущие чипсеты для материнских плат. Такие намерения Intel означают, что, вероятнее всего, мы вскоре сможем в добровольно-принудительном порядке ознакомиться со стандартом LPC. Попробуем сделать это заранее и по собственной воле.

Введение нового стандарта преследует следующие цели:

  • убрать из системы ISA и X-bus;
  • снизить стоимость системы;
  • обеспечить скорость обмена, не меньшую, чем по шине X-bus;
  • предоставить те же типы циклов, что и X-bus;
  • увеличить адресуемое пространство с традиционных 16 Мбайт до 4 Гбайт;
  • значительно упростить временные диаграммы за счет синхронной природы интерфейса;
  • обеспечить прозрачность для программного обеспечения и отсутствие конфликтов из-за ресурсов;
  • обеспечить пригодность как для настольных, так и для мобильных систем;
  • обеспечить функции управления потребляемой мощностью.

Контактов действительно очень мало: семь обязательных (для передачи информации) и шесть дополнительных (для подключения устройств, выполняющих функцию задатчика и управления мощностью). Названия и функции обязательных сигналов интерфейса LPC приведены в табл. 1. Команды, адреса и данные передаются по линиям LAD[3:0] тетрадами-нибблами последовательно по четыре бита за один раз. Подобно PCI интерфейс синхронный, каждый цикл состоит из нескольких полей, каждое из которых имеет длительность в один период тактовой частоты 33 МГц. Любой цикл обмена по интерфейсу LPC начинается с того, что основной задатчик на шине (обычно чипсет) устанавливает активный уровень на линии LFRAME#. При этом все периферийные устройства переходят в состояние «начало цикла» и анализируют состояние линий LAD[3:0]. Если устройства передавали информацию по линиям LAD[3:0], то они немедленно их освобождают. Таким образом, этот сигнал может использоваться для прекращения затянувшихся циклов, например, при сбоях и зависаниях. То есть при достаточно интеллектуальном основном задатчике зависшее периферийное устройство не сможет подвесить всю систему. Сигнал LFRAME# может быть активным более одного периода тактовой частоты 33 МГц. В этом случае действительной считается информация, имевшаяся на LAD[3:0] во время последнего периода тактовой частоты. Первое поле — START — определяет тип операции, его возможные значения приведены в табл. 2.

Значение LAD[3:0] Тип операции
0 Начало ввода/вывода или чтения/записи
1 Зарезервировано для последующего расширения
10 Разрешение для задатчика номер 1
11 Разрешение для задатчика номер 2
0100-1110 Зарезервировано для последующего расширения
1111 Принудительное прекращение цикла

Следующее поле — CYCTYPE + DIR (Cycle Type / Direction, тип цикла и направление передачи), определяется текущим задатчиком. Это поле может иметь значения, указанные в табл. 3. Значение бита LAD[0] зарезервировано, и он всегда должен быть равен 0.

Поле SIZE (Размер) может принимать значения 00 при передаче 1 байта, 01 при передаче 2 байт и 11 при передаче 4 байт. Значение 10 зарезервировано. Это поле используется только при операциях прямого доступа; ввод/вывод и чтение/запись осуществляются побайтно. Поле ADDR имеет длину четыре периода тактовой частоты для операций ввода/вывода и восемь периодов для циклов обращения к памяти. Адреса передаются начиная со старшей тетрады, то есть при обращении к памяти первыми передаются биты 31:28, а последними — 3:0.

LAD[3:2] LAD[1] Тип операции
0 0 Чтение из внешнего устройства
0 1 Запись во внешнее устройство
1 0 Чтение из памяти
1 1 Запись в память
10 0 Прямой доступ к памяти для чтения
10 1 Прямой доступ к памяти для записи
11 Х Зарезервировано. Периферия должна игнорировать это значение, а основной задатчик, обнаружив его, прерывает цикл установкой LFRAME# в активное состояние

Поле CHANNEL используется в операциях прямого доступа к памяти и содержит в битах 0:2 номер канала, а в бите 3 — аналог сигнала Terminal Count шины ISA.

Поле DATA (Данные) имеет длину два периода тактовой частоты и содержит данные, передаваемые младшей тетрадой вперед. В одном цикле может содержаться одно, два или четыре поля DATA.

Поле передачи управления Turn Around, TAR, используется для передачи контроля над линиями LAD [3:0] второму участнику данного цикла, что необходимо при операциях чтения. Оно имеет продолжительность два периода тактовой частоты, на первом периоде текущий задатчик устанавливает на линиях LAD[3:0] значение 1111, на втором отключается, ожидая информацию от второго участника диалога.

Поле SYNC служит для синхронизации источника и приемника данных. Его вставляет ведомый участник цикла для того, чтобы подготовить для передачи запрошенные данные, или для размещения полученной информации. Полей SYNC в одном цикле может быть несколько, фактически столько, сколько нужно для подготовки. Значения поля SYNC приведены в табл. 4.

LAD[3:0]
0 Синхронизация достигнута
0001-0100 Зарезервировано
101 Короткое ожидание
110 Длительное ожидание, будет добавлено много полей SYNC
0111-1000 Зарезервировано
1001 Синхронизация достигнута, передача будет продолжена в следующем цикле (только при прямом доступе к памяти)
1010 Ошибка. В переданных данных содержится ошибка
1011 — 1111 Зарезервировано

Значение 1010 — Ошибка необходимо потому, что все циклы должны иметь определенную длину, так что периферийное устройство обязано передать требуемое для данного цикла количество данных, но перед этим оно честно предупреждает задатчика о том, что эти данные имеют чисто фиктивный характер.

Ознакомившись с типами полей, можно более подробно рассмотреть механизмы начала, окончания и принудительного прекращения цикла. Цикл начинается с того, что основной задатчик устанавливает активный уровень на линии LFRAME#. С этого момента периферийные устройства только анализируют состояние линий LAD[3:0], прервав любую операцию на шине (если она проводилась). Задатчик может удерживать LFRAME# в активном состоянии более одного периода частоты синхронизации, при этом он даже может произвольно менять состояние LAD[3:0]. Действительным значением поля START будет то, которое имелось на этих линиях перед переходом LFRAME# в пассивное состояние. Если считанное поле START распознается периферийными устройствами, то они должны декодировать весь цикл, а в противном случае — просто дожидаться следующей активации LFRAME# (например, устройства ввода/вывода, не использующие циклы прямого доступа или захвата шины, могут их просто игнорировать). Принудительное прекращение цикла является специальным циклом, так как начинается с установки LFRAME# в активное состояние, а заканчивается установкой поля START со значением 1111. При этом для более уверенного распознавания линия LFRAME# находится в активном состоянии не менее четырех периодов тактовой частоты.

Поле Значение Источник Число тактов
START 0 Основной задатчик 1
CYCTYPE+DIR 100 Основной задатчик 1
ADDR ХХХХ Основной задатчик 8
TAR 1111 Основной задатчик 2
SYNC 101 Периферийное устройство 3
SYNC 0 Периферийное устройство 1
DATA ХХХХ Периферийное устройство 2
TAR 1111 Периферийное устройство 2
Всего тактов 20
Время доступа 0,66 мкс
Скорость передачи 1,5 Мбайт/с

В табл. 5 приведены последовательность и характеристики полей в цикле чтения из памяти. Основной задатчик инициирует цикл, определяет тип цикла и направление передачи (чтение из памяти), адрес памяти и информирует об освобождении линий LAD[3:0]. Периферийное устройство во время подготовки данных передает поля SYNC со значением 0101. Когда данные готовы для передачи, устройство передает поле SYNC со значением 0000, две тетрады данных и информирует основного задатчика об освобождении линий LAD[3:0].

Количество полей синхронизации соответствует быстродействию памяти и может изменяться. В данном примере предполагалось наличие ППЗУ с временем доступа 120 нс (4*33 нс = 132 нс). Цикл записи построен примерно так же, но данные передает основной задатчик, а периферийное устройство — только поля SYNC и TAR. В поле SYNC устройство помещает значение либо 0000 (успешная запись), либо 1010 (ошибка при записи). Соответственно возможны варианты, когда устройство не буферизует данные, а выдает поля SYNC до момента реальной записи.

Поле Значение Источник Число тактов
START 0 Основной задатчик 1
CYCTYPE+DIR 110 Основной задатчик 1
ADDR ХХХХ Основной задатчик 8
DATA ХХХХ Основной задатчик 2
TAR 1111 Основной задатчик 2
SYNC 0 Периферийное устройство 1
TAR 1111 Периферийное устройство 2
Всего тактов 17
Время доступа 0,56 мкс
Скорость передачи 1,8 Мбайт/с

В табл. 6 приведены последовательность и характеристики полей в цикле чтения из памяти. Совершенно аналогично происходит ввод/вывод при работе с портами, отличие состоит лишь в других значениях полей CYCTYPE+DIR. Для ознакомления с функциями работы с прямым доступом к памяти и управления потребляемой мощностью в табл. 7 приведены необязательные линии интерфейса LPC.

Наименование Направление Назначение
Периферия Основной задатчик
LDRQ# O I Запрос на прямой доступ к памяти или захват шины. Каждому устройству, обладающему этими функциями, требуется отдельная линия LDRQ#
SERIRQ I/O I/O Последовательный запрос на прерывание
CLKRUN# OD I/OD OD I/OD То же, что и PCI CLKRUN#
PME# OD I/OD То же, что и PCI PME#
LPCPD# I O I O Отключение, указывает, что периферия должна подготовиться к отключению
LSMI# O/D I O/D I Как и PCI SMI#, нужен для повторных попыток

При запросе прямого доступа к памяти (ПДП) или захвата шины используется линия LDRQ#. В первом случае по ней передается номер канала ПДП, во втором — зарезервированное значение 100. При благоприятном для данного запроса исходе арбитража основной задатчик начинает производить циклы ПДП. Бит LAD[3] в поле CHANNEL играет специальную роль и соответствует линии шины ISA TC (Terminal Count). В случае передачи последней порции данных (1, 2, 4 байт) этот бит устанавливается в 1, сигнализируя о том, что текущий сеанс ПДП закончен. Также сеанс ПДП может быть завершен установкой поля SYNC=0000 (синхронизация достигнута) или SYNC=1010 (ошибка), так как при циклах ПДП для индикации готовности данных используется значение SYNC=1001 (синхронизация достигнута; в следующем цикле будут еще данные). Последовательность полей и другие характеристики цикла ПДП при 8-битном чтении внешним устройством из основной памяти приведены в табл. 8. В зависимости от типа ПДП (8, 16 или 32 разряда) последние четыре поля передаются один, два или четыре раза соответственно. Соответственно будут меняться время доступа и скорость передачи.

Цикл захвата шины, как и все остальные, инициируется основным задатчиком после получения запроса по линии LDRQ#. Основной задатчик, как и при всех других циклах, формирует поле START, имеющее значение 0010 или 0011 (разрешение для задатчика 1 или задатчика 2; в настоящее время поддерживается не более двух задатчиков). После этого основной задатчик передает управление шиной при помощи поля TAR. Далее все протекает как при описанных выше циклах, за одним исключением: поля SYCTYPE+DIR и последующие, которые определяют тип цикла и направление передачи, формируются устройством, получившим право на захват шины.

Наименование Направление Назначение
Периферия Основной задатчик
LDRQ# O I Запрос на прямой доступ к памяти или захват шины. Каждому устройству, обладающему этими функциями, требуется отдельная линия LDRQ#
SERIRQ I/O I/O Последовательный запрос на прерывание
CLKRUN# OD I/OD OD I/OD То же, что и PCI CLKRUN#
PME# OD I/OD То же, что и PCI PME#
LPCPD# I O I O Отключение, указывает, что периферия должна подготовиться к отключению
LSMI# O/D I O/D I Как и PCI SMI#, нужен для повторных попыток

Для работы с устройствами, использующими прерывания, используется линия SERIRQ# и одноименный протокол, описанный в спецификации шины PCI «PCI Local Bus Specification, Rev 2.1». Управление включением/выключением периферийных устройств осуществляется при помощи линий LPCPD# и LRST#. При выключении первая из них устанавливается основным задатчиком в низкий уровень, при этом в течение еще не менее 30 мкс на шину подается сигнал тактовой частоты LCLC. Все периферийные устройства при обнаружении низкого уровня на линии LPCPD# обязаны прекратить любую активность на шине и перейти в режим пониженного энергопотребления. Переход к работе происходит при подаче основным задатчиком на линию LPCPD# высокого уровня. Подача тактового сигнала осуществляется заранее, не менее чем за 100 мкс перед установкой высокого уровня LPCPD#. Для правильного перехода внешних устройств в начальное состояние на линии LRST# поддерживается низкий (активный) уровень еще в течение 60 мкс.

Что такое контроллер интерфейса Intel LPC.

LPC обозначает Low Pin Count — это чип, используемый для подключения всех «устаревших» компонентов ПК на материнских платах. Например, он будет управлять портами PS/2, дискетами, параллельными и последовательными портами.

До того, как LPC все эти устройства были в шине ISA, и после того, как платы перестали включать в себя их слоты ISA, они переключились на LPC, потому что это был упрощающий интерфейс для небольшого количества интегрированных устройств, которые им требовались. Он назван потому, что он имеет меньшее количество выводов, чем ISA.

Похожие публикации