WB-M1W2: Errata

Материал из Wiren Board
Это утверждённая версия страницы. Она же — наиболее свежая версия.

Описание страницы

На этой странице вы найдёте описание найденных ошибок для WB-M1W2 с прошивками 4.32.0 и новее. Для более ранних версий прошивок смотрите страницу WB-M1W2: Errata для устройств с прошивкой 4.31.0 и старее.

ERRM1W2001: Возможная остановка опроса датчиков DS18B20

Подверженные устройства

Все WB-M1W2 с прошивками от 4.32.0 до 4.32.2.

Описание

В процессе работы устройства, датчики DS18B20 на всех каналах устройства, могли перестать опрашиваться независимо друг от друга.

Причины и подробное описание

В процессе работы датчик мог перестать опрашиваться, если на момент начала транзакции по шине 1wire, линия оставалась в состоянии низкого уровня (0 вольт). Это происходит из-за недоработки прошивки, при которой после транзакции по шине 1wire, шина остаётся в низком состоянии и вследствие этого не может начаться следующая.

Запланированное исправление

Исправлено в прошивке 4.32.3. Добавлены регистры со счётчиками ошибок занятости линии и возврат линии в исходное состояние (5 вольт) при возникновении данной ситуации.

Пути обхода

Перезагрузка через Modbus регистр или аппаратная перезагрузка устройства.

ERRM1W2002: Не включается сильная подтяжка для датчиков DS18B20

Подверженные устройства

Все WB-M1W2 с прошивками от 4.32.0 до 4.32.3.

Описание

Не включается фунцкция "сильная подтяжка", необходимая для работы с датчиком DS18B20 в режиме паразитного питания.

Причины и подробное описание

После передачи команды старта конверсии (0x44), в течение 10 мкс должна быть включена сильная подтяжка линии. Из-за ошибке в программном коде прошивки, этого не происходило. Во время конверсии, напряжение на линии падает до 2.9 В, этого недостаточно для стабильной работы датчика.

Запланированное исправление

Будет исправлено в прошивке 4.33.1.

Пути обхода

Использовать трёхпроводное подключение датчика.

ERRM1W2003: Ошибки чтения каналов

Подверженные устройства

WB-M1W2 ревизий от 2.2 до 2.5 включительно.

Описание

В некоторых условиях возникают периодические ошибки чтения каналов из-за срабатывания защиты внутреннего источника питания WB-M1W2 (в web-интерфейсе значения части или всех каналов периодически или постоянно подсвечиваются красным цветом).

Причины и подробное описание

WB-M1W2 имеет в своём составе источник питания напряжением 5В, от которого, помимо прочего, питается драйвер шины Modbus. В некоторых случаях большой потребляемый ток приводит к перегрузке и кратковременным (несколько миллисекунд) отключениям этого источника, что влечёт искажения данных, передаваемых по шине Modbus от WB-M1W2 к контроллеру. Со стороны последнего это выглядит как ошибки чтения каналов. Факторы, увеличивающие вероятность появления данной ошибки:

  • на шине установлено более одного терминатора;
  • напряжение питания WB-M1W2 больше 12В;
  • низкая скорость обмена данными (9600 бит/с);
  • малое количество устройств на шине;
  • настроен опрос большого количества каналов WB-M1W2 (особенно "вреден" опрос каналов "Серийный номер" и "Версия прошивки").

При работе в условиях высоких температур ситуация ухудшается.

Запланированное исправление

Планируется аппаратное исправление в следующей ревизии WB-M1W2. Для облегчения диагностики данной ошибки в прошивке планируется добавление регистра Modbus, содержащего минимальное напряжение питания микроконтроллера за определённый период.

Пути обхода

На самом деле, сочетание неблагоприятных факторов, которое приводит к такой ошибке, встречается достаточно редко.

Сначала необходимо определить, что имеет место именно данная ошибка. Это можно сделать следующим образом. Настройте опрос канала "Напряжение питания МК" ("MCU Voltage") для проблемного WB-M1W2 и посмотрите, какие значения выдаются. Показания должны быть стабильные (не изменяться или меняться на несколько тысячных долей вольта). Если напряжение часто меняется на несколько сотых или даже десятые доли вольта, попробуйте отключить один из терминаторов на шине Modbus. Если отключение терминатора стабилизирует значение напряжения питания МК и пропадают ошибки чтения каналов, то ошибка именно эта.

Для устранения ошибки можно выполнить одно или несколько следующих действий:

  • если длина шины и скорость позволяют, отключить один или оба терминатора на шине (обратите внимание, что в контроллере Wirenboard, если он присутствует на шине, может быть программно включен терминатор шины RS-485);
  • увеличить скорость шины, если позволяют условия (скорость 9600 рекомендуется использовать только в том случае, если на более высокой скорости работа по каким-то причинам невозможна);
  • отключить для проблемного WB-M1W2 опрос неиспользуемых каналов, особенно "Серийный номер" ("Serial") и "Версия прошивки" ("FW Version");
  • установить в настройках устройства значение параметра Frame timeout 100 мс;
  • подключить WB-M1W2 к источнику питания с меньшим напряжением, например, 12В.

ERRMODBUS001: Ответ устройства на адрес 0xFD

Подверженные устройства

Все WB-M1W2 с прошивками от 4.32.0 до 4.32.2.

Описание

Устройства Wirenboard с расширением "Быстрый модбас" мешают работать сторонним устройствам на одной шине, если они используют специальные команды, начинающиеся с 0xFD.

Причины и подробное описание

В нашем расширении протокола "Быстрый модбас" зарезервированный адрес 0xFD используется для специальных широковещательных команд. Если на шине мастер отправит какомуто стороннему устройству осмысленный пакет, начинающийся с 0xFD и командами не использующимися в расширении протокола "Быстрый модбас", то устройство Wirenboard отвечает MODBUS_ERR_ILLEGAL_FUNCTION, тем самым мешает обмену с другим устройством. Это происходит изза ошибки в драйвере шины, при которой пакет с адресом 0xFD, начинает обрабатываться как обычный стандартный модбас пакет.

Запланированное исправление

Исправлено в прошивке 4.32.3. Пакеты с адресом 0xFD теперь проверяются только на специальные команды расширения протокола "Быстрый модбас".

Пути обхода

Не использовать одну шину для устройств Wirenboard и сторонних устройств.