Wiren Board Embedded Controller

Материал из Wiren Board
Версия от 05:06, 31 июля 2023; A.Degtyarev (обсуждение | вклад) (Новая страница: «{{DISPLAYTITLE: Wiren Board Embedded Controller}} == Описание == В контроллере Wiren Board есть специальная микросхема, которая управляет питанием — Embedded Controller, или EC. Перед стартом он включает в правильной последовательности рейки питания, а также проверяет нормальное ли напряже...»)

Описание

В контроллере Wiren Board есть специальная микросхема, которая управляет питанием — Embedded Controller, или EC. Перед стартом он включает в правильной последовательности рейки питания, а также проверяет нормальное ли напряжение на них, если с напряжениями всё хорошо то он даёт команду старта основного процессора.

Кроме этого на нём сделаны:

  • Аппаратный watchdog.
  • Часы реального времени RTC. Питаются от собственного отдельного аккумулятора, периодическая замена батарейки не требуется. Ёмкости аккумулятора хватает на 2-3 месяца работы часов при отключенном питании контроллера.
  • Измерение температуры внутри корпуса.
  • Управление выходом Vout с защитой от превышения напряжения. Если напряжение питания контроллера больше 29 В, то EC отключит выход Vout т.к. напряжение с Vin на Vout идёт напрямую и может повредить устройства подключенные к контроллеру. Если напряжение снизится ниже 28 вольт — выход будет включён снова.
  • Включение контроллера по будильнику. Например командой rtcwake -m off -s 60 можно выключить контроллер, он включится сам по истечении 60 секунд.
  • Обработка нажатия кнопки On/Off. При подаче напряжения питания на любой из возможных входов (Vin, PoE, USB-C), контроллер включается автоматически. При коротком нажатии на кнопку — линукс штатно завершает работу после чего от основного процессора отключается питание и EC уходит в спящий режим. Длинное нажатие кнопки в любом случае просто отключит питание основного процессора и EC уйдёт в спящий режим. Выключение контроллера из Linux по команде poweroff возможно только если установлен будильник или вставлен модуль WBMZ4-BATTERY или WBMZ4-SUPERCAP. Важно, будьте осторожны с выключением контроллера по команде poweroff если вы подключены к контроллеру удалённо и у вас нет к нему физического доступа, включить его можно будет в таком случае дождавшись когда сработает будильник, либо когда появится питающее напряжение.

У EC есть индикация его состояния. Для этого на плате имеется светодиод LED1. У него есть 4 статусных состояния.

  • Рабочий режим — светодиод мигает 500 мс включен, 1000 мс выключен.
  • Ожидание выключения Linux после нажатия кнопки - мигает 250 мс включен, 250 мс выключен.
  • Проверяет рейки питания и пробует запуастить основной процессор - мигает очень часто 50 мс включен, 50 мс выключен.
  • Спящий режим — очень короткие вспышки раз в 2 секунды.

Обновление прошивки EC

Этот раздел про обновление прошивки EC, если вам надо обновить ПО самого контроллера Wiren Board, вам сюда Обновление прошивки контроллера Wiren Board.

Не обновляйте прошивку EC просто так — это опасная процедура, которая при сбое в питании контроллера может его сломать. Поэтому выполняйте процедуру только по рекомендации нашей техподдержки.

Текущую версию прошивки можно узнать командой cat /sys/bus/spi/drivers/wbec/spi0.0/fwrev.

Узнать, какая именно версия прошивки будет зашита так: wb-ec-firmware-update --help, внизу вывода будет имя доступного файла прошивки.

Для обновления прошивки:

  1. Подключите контроллер к источнику бесперебойного питания, или установите внутренний модуль резервного питания.
  2. Подключитесь к контроллеру по SSH.
  3. Выполните команду wb-ec-firmware-update, дождитесь завершения процедуры.
  4. Перезагрузите контроллер — это важно.