Шина low pin count lpc bus

Шина low pin count lpc bus

Low Pin Count (LPC bus) — шина, используемая в IBM PC-совместимых персональных компьютерах для подключения устройств, не требующих большой пропускной способности к ЦПУ. К таким устройствам относятся загрузочное ПЗУ и контроллеры «устаревших» низкопроизводительных интерфейсов передачи данных, такие как последовательный и параллельные интерфейсы, интерфейс подключения манипулятора «мышь» и клавиатуры, НГМД, а с недавнего времени и устройств хранения криптографической информации. Обычно контроллер шины LPC расположен в южном мосте на материнской плате.

Шина LPC была введена фирмой Intel в 1998 году для замены шины ISA. Хотя LPC физически сильно отличается от ISA, программная модель периферийных контроллеров, подключаемых через LPC, осталась прежней. Это позволило без доработок использовать на компьютерах с LPC ПО, разработанное для управления периферийными контроллерами, которые подключались к шине ISA.

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

Спецификация также определяет семь необязательных сигналов, которые могут быть использованы для поддержки прерываний, организации сеансов обмена DMA, возвращения системы из состояния с низким потреблением энергии («спящего режима», англ. sleeping ), а также для того, чтобы проинформировать периферийные устройства о скором отключении питания.

Пропускная способность шины LPC зависит от режима обмена; выделяют отдельные режимы обмена для работы с устройствами ввода-вывода, устройствами типа «память», сеансами DMA и др. Однако в любом случае пропускная способность шины LPC выше, чем шины ISA при работе в аналогичном режиме. При частоте тактового сигнала 33,3 МГц пропускная способность шины LPC составляет 16,67 МБ/с.

Основным преимуществом шины LPC является небольшое число требуемых для работы сигналов: для работы шины требуется только семь сигналов, что упрощает разводку и без того напичканых проводниками современных материнских плат. Использование шины LPC позволяет отказаться от разводки от 30 до 72 проводников, которые бы пришлось развести при использовании шины ISA. Используемая в LPC частота тактового сигнала в 33,3 МГц была выбрана для унификации с шиной PCI. Шина LPC предназначена для соединения СБИС в рамках одной печатной платы (материнской платы), таким образом в спецификации не предусмотрено разъёмов для передачи сигналов шины, и тем более не предусмотрено создание плат расширения.

Оригинальная игровая консоль Xbox имела в своём составе отладочный порт с шиной LPC, что позволяло энтузиастам запускать на этой системе свои программы.

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

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

НаименованиеНаправлениеНазначение
ПериферияОсновной задатчик
LAD[3:0]I/OI/OМультиплексированные команды, адреса и данные
LFRAME#IOФрейм, указывает на начало новой команды
LRESET#IIСброс, те же функции, что PCI Reset. При наличии PCIRST# необязателен
LCLCIIТактовая частота 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]Тип операции
00Чтение из внешнего устройства
01Запись во внешнее устройство
10Чтение из памяти
11Запись в память
100Прямой доступ к памяти для чтения
101Прямой доступ к памяти для записи
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# находится в активном состоянии не менее четырех периодов тактовой частоты.

ПолеЗначениеИсточникЧисло тактов
START0Основной задатчик1
CYCTYPE+DIR100Основной задатчик1
ADDRХХХХОсновной задатчик8
TAR1111Основной задатчик2
SYNC101Периферийное устройство3
SYNC0Периферийное устройство1
DATAХХХХПериферийное устройство2
TAR1111Периферийное устройство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 до момента реальной записи.

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

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

Читайте также: Land rover sport давление в шинах

НаименованиеНаправлениеНазначение
ПериферияОсновной задатчик
LDRQ#OIЗапрос на прямой доступ к памяти или захват шины. Каждому устройству, обладающему этими функциями, требуется отдельная линия LDRQ#
SERIRQI/OI/OПоследовательный запрос на прерывание
CLKRUN#OD I/ODOD I/ODТо же, что и PCI CLKRUN#
PME#ODI/ODТо же, что и PCI PME#
LPCPD#I OI OОтключение, указывает, что периферия должна подготовиться к отключению
LSMI#O/D IO/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#OIЗапрос на прямой доступ к памяти или захват шины. Каждому устройству, обладающему этими функциями, требуется отдельная линия LDRQ#
SERIRQI/OI/OПоследовательный запрос на прерывание
CLKRUN#OD I/ODOD I/ODТо же, что и PCI CLKRUN#
PME#ODI/ODТо же, что и PCI PME#
LPCPD#I OI OОтключение, указывает, что периферия должна подготовиться к отключению
LSMI#O/D IO/D IКак и PCI SMI#, нужен для повторных попыток

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

  • Свежие записи
    • Нужно ли менять пружины при замене амортизаторов
    • Скрипят амортизаторы на машине что делать
    • Из чего состоит стойка амортизатора передняя
    • Чем стянуть пружину амортизатора без стяжек
    • Для чего нужны амортизаторы в автомобиле


Поделиться или сохранить к себе:
Технарь знаток