До свидания, LPC!

До свидания, LPC!

Компания American Megatrends объявила о го­тов­нос­ти по­став­лять ми­кро­код для встро­ен­ных кон­т­рол­ле­ров (Em­bedd­ed Cont­rol­ler, EC), на­це­лен­ный на под­держ­ку eSPI-ши­ны. Но­вый низ­ко­у­ров­не­вый про­дукт от AMI при­зван пол­но­стью за­ме­нить про­грам­мную мо­дель конт­рол­лера кла­ви­а­ту­ры, раз­ра­бо­тан­ную еще в прош­лом ве­ке на за­ре раз­ви­тия x86-ар­хи­тек­ту­ры.

Ранее эти два решения су­ще­ст­во­ва­ли па­рал­лель­но — на не­ко­то­рых плат­фор­мах ин­фор­ма­ция о EC BIOS и вер­сия этой про­шив­ки бы­ли до­ступ­ны в ус­та­нов­ках UEFI. Под­дер­жи­вая мно­гие ус­та­рев­шие ре­ше­ния, в чис­ле ко­то­рых — об­мен дан­ны­ми по ши­не LPC, та­кая ар­хи­тек­ту­ра ме­ша­ла раз­ви­тию со­вре­мен­ных плат­форм. Кто-то дол­жен был ус­ту­пить. Про­иг­рав­шим про­гно­зи­ро­ва­но стал кон­т­рол­лер кла­ви­а­ту­ры.

К победе над своим соперником код AMI EC пришел умея управлять платформой с недоступных для KBC кнопок и кла­виш, самая известная из них — [Fn]. В то же время его функциональность обросла обслуживанием раз­лич­ных ин­ди­ка­то­ров со­сто­я­ния: светодиодов активности и диагностики. Независимо от встроенного контроллера мониторинг старта платформы можно было наблюдать с помощью POST-карты, подключенной к LPC-шине. С отказом производителей от под­держ­ки этой шины задача первичной диагностики будет поручена AMI EC.

POST-индикатор для LPC-шины готов работать с контроллером Nuvoton NCT5582D

 

С ростом производительности платформ индустрия отходит от устаревших компонентов и шин, неуклонно повышая при этом уровень защищенности и безопасности компьютеров. Разработчики системной логики переходят с шины LPC на более прогрессивную шину eSPI. Это дает производителям готовых платформ шанс полностью заменить кон­т­рол­лер кла­ви­а­ту­ры и громоздкую шинную топологию на более современную и эффективную реализацию встроенного EC AMI. Решение от American Megatrends, совместимое с требованиями Enhanced Serial Peripheral Interface, готово обес­пе­чить эту ком­форт­ную ми­гра­цию.

Особенности топологии

Итак, согласно новой модели, подключение группы ресурсов, в которую входят Flash ROM, Super IO, ми­кро­кон­т­рол­ле­ры EC и BMC, уни­фи­ци­ру­е­тся на основе общего интерфейса — eSPI.

Устаревшая топология подключения ресурсов платформы с использованием шин SPI и LPC

 

Кроме очевидного отличия (отсутствия LPC), следует обратить внимание на функциональные блоки Tunneled SMBus, Tunneled GPIO, позволяющие дополнительно упразднить ряд интерфейсных сигналов, применив вместо физических линий механизм сообщений. Рассмотрим подробнее принцип работы этого механизма опре­де­лен­но­го в спе­ци­фи­ка­ции как Virtual Wires Channel.

Современная топология, используется только eSPI

 

На верхней схеме, иллюстрирующей устаревшую модель, есть группа выделенных физических линий (Sideband pins) — циф­ро­вые цепи, способные находиться в двух состояниях «0» и «1». Так осуществляется коммуникация устройств, на­при­мер, контроллера электропитания (Power Management Controller) и EC. Протокол eSPI позволяет определить набор вир­ту­аль­ных линий, для управления которыми предусмотрены специальные со­об­ще­ния (eSPI in-band messages). Такие со­об­ще­ния эквивалентны переключению состояния физической линии, это означает, что сигнальная цепь между вза­и­мо­дейст­ву­ю­щи­ми устройствами, становится не нужна. Очевидно, сам принцип далеко не нов.

Особенности поддержки USB Type-C

В пресс-релизе AMI акцент делается на спецификации USB Power Delivery и других передовых возможностей ин­тер­фей­са USB Type-C.

Схемы, обслуживающие сигналы конфигурационного интерфейса Type-C Configuration Channel, а также контроллеры силовых ключей, коммутирующих повышенные напряжения и токи, как правило, не входят в состав системной логики. И дело тут не только в консервативности разработчиков чипсета, но и в двух важных критериях надежности.

  1. Максимальное физическое разделение интерфейсных сигналов, силовых цепей и микросхем высокой степени интеграции.
  2. Принятие решения о выборе режима элек­тро­пи­та­ния разумно делегировать автономным ми­кро­кон­т­рол­ле­рам плат­фор­мы, сделав уп­рав­ля­ю­щую логику не­до­ступ­ной цен­т­раль­но­му про­цес­со­ру — очевидно, возможность про­грам­мно­го уп­рав­ле­ния на­пря­же­ни­ем питания в диапазоне от 5 до опционально под­дер­жи­ва­е­мых 20 вольт со­зда­ет риск де­струк­тив­ных последствий в результате случайного сбоя или зло­на­ме­рен­но­го сценария.

В результате, поддержка функциональности разъема Type-C требует большого количества Platform-Specific узлов, уп­рав­ле­ние которыми добавляет новые обязанности для Embedded Controller и его внутреннего программного обес­пе­че­ния. В свою очередь, UEFI firmware, должно обеспечить слой абстракции между аппаратными ресурсами плат­фор­мы и ОС, средствами интерфейса UCSI. Показательно что в программной модели UCSI, рассмотренной в до­ку­мен­те от Microsoft, центральное место отводится контроллеру EC.