Привет. Сразу вторая тема. На шине есть до 30 полностью одинаковых устройств с одинаковым ПО. Естественно все они будут вначале генерить сообщения с одинаковыми идентификаторами и это приведет к коллизии на шине. Плюс если попытаться их конфигурировать то все устройства будут реагировать на один и тот же идентификатор, то есть пообщаться с каждым устройством индивидуально невозможно. Как это разрешить без программирования каждого устройства вручную?
Пока я вижу только один выход - это забить в программаторе цикл, чтобы он в каждой следующей прошивке увеличивал какие-то байты, которые отвечали бы за идентификатор. Таким образом получится 2^10 вариантов ПО и вероятность того что 2 устройства с одинаковым идентификатором попадут в одну шину - низкая. Если перейти на 2.0B то вероятность будет еще меньше. Недостаток в том, что при запуске системы или замене такого устройства придется обучать контроллеры на шине, чтобы они понимали чему соответствует новый идентификатор или перепрошивали его. Но хорошо то что это можно сделать по CANу, потому что простым перебором идентификаторов обнаружить присутствие устройства и определить его идентификатор возможно.
|