Процедура обновления файла конфигурации и прошивки контроллера

Обновление прошивки контроллера возможно только если он был первоначально прошит BOOT-прошивкой либо гибридной прошивкой, слитой из BOOT- и USER-версий.

Процедура обновления файлов конфигурации и прошивки контроллера производится в 2 этапа:

Загрузка файлов в контроллер возможна с использованием протоколов RTM64 и MODBUS RTU (включая MODBUS RTUoverTCP) через окна в адресном пространстве (размер окна 64 байта).

Загрузка файлов может быть выполнена как в режиме USER (прерывать исполнение конфигурации при этом необязательно – фоновый режим загрузки), так и в режиме BOOT. В обоих режимах можно выполнить операцию по применению конфигурации, но обновление прошивки возможно только с переходом в режим BOOT.

Примечание: при загрузке файлов по протоколу RTM64 не прерывая исполнения конфигурации (в фоновом режиме), время загрузки увеличивается. Это связано с тем, что контроллер будет каждый RTM-пакет отдавать на проверку интерфейсным функциональным блокам и только после исполнения цепочки ФБ пакет будет обработан разборщиком RTM64-команд. Т. о. время загрузки в фоновом режиме зависит от частоты исполнения конфигурации логики, т.е. чем чаще исполняется цепочка ФБ, тем меньше будет задержка перед обработкой очередной команды и тем меньше будет время загрузки файла.

Примечание: процедура обновления прошивки может длиться до 10 секунд. Контроллер при этом не реагирует на входящие пакеты, но опрашивает I2C-модули 4 раза в секунду для предотвращения перезагрузки БП во время процедуры обновления. Обновление производится страницами по 256 байт в обратном порядке (начиная с последней страницы). Это сделано для того чтобы минимизировать вероятность порчи программы контроллера и невозможности его включения ни в одном из режимов (BOOT/USER). Если процедура обновления ПО будет прервана (кроме случая когда обновление прервано в самом конце процедуры когда повреждается 0-я страница памяти программ), контроллер при следующем включении будет в режиме BOOT и можно будет повторить процедуру обновления ПО. Если процедура обновления не была начата, можно вернуться к прошлой версии ПО переключившись в режим «USER».

При обновлении конфигурации/прошивки понадобится давать контроллеру команды. Для этого необходимо записывать определённые значения-пароли в специализированные системные регистры, перечень которых и допустимые значения приведены ниже:

Регистр «Команда перезагрузки контроллера (RESET)»:

Регистр «Команда окончания загрузки файла конфигурации»:

Регистр «Команда окончания загрузки файла прошивки»:

Регистр «Команда включения/выключения исполнения конфигурации»:

Регистр «Команда расчёта CRC файлов в буферах контроллера»: