Wiren Board Embedded Controller: различия между версиями
(не показано 11 промежуточных версий 2 участников) | |||
Строка 2: | Строка 2: | ||
__TOC__ | __TOC__ | ||
== Описание == | == Описание == | ||
В контроллере Wiren Board | [[Image: Wiren Board EC LED1.jpg|200px|thumb|right|Индикатор Embedded Controller]] | ||
В контроллере Wiren Board есть специальная микросхема, которая управляет питанием — Embedded Controller, или EC. Перед стартом он включает в правильной последовательности рейки питания, а также проверяет нормальное ли напряжение на них, если с напряжениями всё хорошо то он даёт команду старта основного процессора. | |||
Кроме этого на нём реализованы: сторожевой таймер, часы реального времени, будильники, обработка нажатий на кнопку ON/OFF и другие системные функции. | Кроме этого на нём реализованы: сторожевой таймер, часы реального времени, будильники, обработка нажатий на кнопку ON/OFF и другие системные функции. | ||
== Индикация | == Индикация == | ||
У EC есть индикатор LED1, установленный на плате контролера: | |||
У EC есть индикатор | |||
* Рабочий режим — светодиод мигает 500 мс включен, 1000 мс выключен. | * Рабочий режим — светодиод мигает 500 мс включен, 1000 мс выключен. | ||
* Ожидание выключения Linux после нажатия кнопки — мигает 250 мс включен, 250 мс выключен. | |||
* Проверяет рейки питания и пробует запустить основной процессор — мигает очень часто 50 мс включен, 50 мс выключен. | * Проверяет рейки питания и пробует запустить основной процессор — мигает очень часто 50 мс включен, 50 мс выключен. | ||
* Спящий режим — очень короткие вспышки раз в 2 секунды. | * Спящий режим — очень короткие вспышки раз в 2 секунды. | ||
== Функции == | == Функции == | ||
Строка 32: | Строка 31: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
'''Выключение контроллера''' из Linux по команде <code>poweroff</code> возможно только при установленном будильнике, или вставленном модуле [[WBMZ4-BATTERY_Backup_Power_Module|WBMZ4-BATTERY]] / [[WBMZ4-SUPERCAP_Backup_Power_Module|WBMZ4-SUPERCAP]]. Будьте осторожны с выключением контроллера из Linux, если у вас нет физического доступа к контроллеру — включить его можно будет в таком случае дождавшись когда сработает будильник, либо когда появится питающее напряжение. | |||
'''Выключение контроллера''' из Linux по команде <code>poweroff</code> возможно только при установленном будильнике, или | |||
'''Обработка нажатия кнопки On/Off.''' При подаче напряжения питания на любой из возможных входов (Vin, PoE, USB-C), контроллер включается автоматически. Для выключения на месте в контроллере есть кнопка '''ON/OFF''', у которой есть два типа нажатий: | '''Обработка нажатия кнопки On/Off.''' При подаче напряжения питания на любой из возможных входов (Vin, PoE, USB-C), контроллер включается автоматически. Для выключения на месте в контроллере есть кнопка '''ON/OFF''', у которой есть два типа нажатий: | ||
Строка 43: | Строка 40: | ||
* Часы реального времени RTC. Питаются от собственного отдельного аккумулятора, периодическая замена батарейки не требуется. Ёмкости аккумулятора хватает на 2-3 месяца работы часов при отключенном питании контроллера. | * Часы реального времени RTC. Питаются от собственного отдельного аккумулятора, периодическая замена батарейки не требуется. Ёмкости аккумулятора хватает на 2-3 месяца работы часов при отключенном питании контроллера. | ||
* Измерение температуры внутри корпуса. | * Измерение температуры внутри корпуса. | ||
* Управление выходом Vout с защитой от превышения напряжения. Если напряжение питания контроллера больше 29 В, то EC отключит выход Vout т.к. напряжение с Vin на Vout идёт напрямую и может повредить устройства подключенные к контроллеру. Если напряжение снизится ниже 28 вольт — выход будет включён снова | * Управление выходом Vout с защитой от превышения напряжения. Если напряжение питания контроллера больше 29 В, то EC отключит выход Vout т.к. напряжение с Vin на Vout идёт напрямую и может повредить устройства подключенные к контроллеру. Если напряжение снизится ниже 28 вольт — выход будет включён снова. | ||
== Обновление прошивки EC == | == Обновление прошивки EC == | ||
{{Anchor|ec-update-fw}} | {{Anchor|ec-update-fw}} | ||
Этот раздел про обновление прошивки EC, если вам надо обновить ПО самого контроллера Wiren Board, вам сюда [[ | Этот раздел про обновление прошивки EC, если вам надо обновить ПО самого контроллера Wiren Board, вам сюда [[Wiren_Board_Firmware_Update|Обновление прошивки контроллера Wiren Board]]. | ||
Текущую версию прошивки можно узнать командой <code>cat /sys/bus/spi/drivers/wbec/spi0.0/fwrev</code>. | Текущую версию прошивки можно узнать командой <code>cat /sys/bus/spi/drivers/wbec/spi0.0/fwrev</code>. | ||
Строка 54: | Строка 51: | ||
Для обновления прошивки: | Для обновления прошивки: | ||
# Подключитесь к контроллеру по [[SSH]]. | # Подключитесь к контроллеру по [[SSH]]. | ||
# Выполните команду <code>wb-ec-firmware-update</code>, дождитесь завершения процедуры. | # Выполните команду <code>wb-ec-firmware-update</code>, дождитесь завершения процедуры. | ||
# Перезагрузите контроллер | # Перезагрузите контроллер — это важно. | ||
Версия 06:55, 1 августа 2023
Описание
В контроллере Wiren Board есть специальная микросхема, которая управляет питанием — Embedded Controller, или EC. Перед стартом он включает в правильной последовательности рейки питания, а также проверяет нормальное ли напряжение на них, если с напряжениями всё хорошо то он даёт команду старта основного процессора.
Кроме этого на нём реализованы: сторожевой таймер, часы реального времени, будильники, обработка нажатий на кнопку ON/OFF и другие системные функции.
Индикация
У EC есть индикатор LED1, установленный на плате контролера:
- Рабочий режим — светодиод мигает 500 мс включен, 1000 мс выключен.
- Ожидание выключения Linux после нажатия кнопки — мигает 250 мс включен, 250 мс выключен.
- Проверяет рейки питания и пробует запустить основной процессор — мигает очень часто 50 мс включен, 50 мс выключен.
- Спящий режим — очень короткие вспышки раз в 2 секунды.
Функции
Будильник. Вы можете включать контроллер по будильнику — это может быть полезным при работе от автономного источника питания. Будильник настраивается в консоли контроллера утилитой rtcwake, примеры:
- Выключить сейчас и включить через 60 секунд:
rtcwake -m off -s 60
- Выключить сейчас и включить 31.07.2023 в 07:15 локального времени:
- Переведите дату в unix-формат командой
date +%s -d "дата время"
:# date +%s -d "2023-07-31 07:15" 1690787700
- Выключите контроллер и установить дату и время включения:
rtcwake -m off -l -t 1690787700
- Переведите дату в unix-формат командой
Выключение контроллера из Linux по команде poweroff
возможно только при установленном будильнике, или вставленном модуле WBMZ4-BATTERY / WBMZ4-SUPERCAP. Будьте осторожны с выключением контроллера из Linux, если у вас нет физического доступа к контроллеру — включить его можно будет в таком случае дождавшись когда сработает будильник, либо когда появится питающее напряжение.
Обработка нажатия кнопки On/Off. При подаче напряжения питания на любой из возможных входов (Vin, PoE, USB-C), контроллер включается автоматически. Для выключения на месте в контроллере есть кнопка ON/OFF, у которой есть два типа нажатий:
- Короткое нажатие (0.5 сек) отправит операционной системе Linux команду poweroff, что приведёт к завершению работы и отключению питания.
- Длинное нажатие принудительно выключает питание контроллера — это полезно, если по каким-то причинам Linux не может завершить работу сам.
Кроме этого на нём сделаны:
- Аппаратный watchdog.
- Часы реального времени RTC. Питаются от собственного отдельного аккумулятора, периодическая замена батарейки не требуется. Ёмкости аккумулятора хватает на 2-3 месяца работы часов при отключенном питании контроллера.
- Измерение температуры внутри корпуса.
- Управление выходом Vout с защитой от превышения напряжения. Если напряжение питания контроллера больше 29 В, то EC отключит выход Vout т.к. напряжение с Vin на Vout идёт напрямую и может повредить устройства подключенные к контроллеру. Если напряжение снизится ниже 28 вольт — выход будет включён снова.
Обновление прошивки EC
Этот раздел про обновление прошивки EC, если вам надо обновить ПО самого контроллера Wiren Board, вам сюда Обновление прошивки контроллера Wiren Board.
Текущую версию прошивки можно узнать командой cat /sys/bus/spi/drivers/wbec/spi0.0/fwrev
.
Узнать, какая именно версия прошивки будет зашита так: wb-ec-firmware-update --help
, внизу вывода будет имя доступного файла прошивки.
Для обновления прошивки:
- Подключитесь к контроллеру по SSH.
- Выполните команду
wb-ec-firmware-update
, дождитесь завершения процедуры. - Перезагрузите контроллер — это важно.