
Компания American Megatrends объявила о готовности поставлять микрокод для встроенных контроллеров (Embedded Controller, EC), нацеленный на поддержку eSPI-шины. Новый низкоуровневый продукт от AMI призван полностью заменить программную модель контроллера клавиатуры, разработанную еще в прошлом веке на заре развития x86-архитектуры.
Ранее эти два решения существовали параллельно — на некоторых платформах информация о EC BIOS и версия этой прошивки были доступны в установках UEFI. Поддерживая многие устаревшие решения, в числе которых — обмен данными по шине LPC, такая архитектура мешала развитию современных платформ. Кто-то должен был уступить. Проигравшим прогнозировано стал контроллер клавиатуры.
К победе над своим соперником код AMI EC пришел умея управлять платформой с недоступных для KBC кнопок и клавиш, самая известная из них — [Fn]. В то же время его функциональность обросла обслуживанием различных индикаторов состояния: светодиодов активности и диагностики. Независимо от встроенного контроллера мониторинг старта платформы можно было наблюдать с помощью POST-карты, подключенной к LPC-шине. С отказом производителей от поддержки этой шины задача первичной диагностики будет поручена AMI EC.

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

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

На верхней схеме, иллюстрирующей устаревшую модель, есть группа выделенных физических линий (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, а также контроллеры силовых ключей, коммутирующих повышенные напряжения и токи, как правило, не входят в состав системной логики. И дело тут не только в консервативности разработчиков чипсета, но и в двух важных критериях надежности.
- Максимальное физическое разделение интерфейсных сигналов, силовых цепей и микросхем высокой степени интеграции.
- Принятие решения о выборе режима электропитания разумно делегировать автономным микроконтроллерам платформы, сделав управляющую логику недоступной центральному процессору — очевидно, возможность программного управления напряжением питания в диапазоне от 5 до опционально поддерживаемых 20 вольт создает риск деструктивных последствий в результате случайного сбоя или злонамеренного сценария.
В результате, поддержка функциональности разъема Type-C требует большого количества Platform-Specific узлов, управление которыми добавляет новые обязанности для Embedded Controller и его внутреннего программного обеспечения. В свою очередь, UEFI firmware, должно обеспечить слой абстракции между аппаратными ресурсами платформы и ОС, средствами интерфейса UCSI. Показательно что в программной модели UCSI, рассмотренной в документе от Microsoft, центральное место отводится контроллеру EC.