ВходНаше всё Теги codebook PARTS Поиск Опросы Закон Понедельник
23 мая
1157869 Топик полностью
Argon (23.12.2021 21:43, просмотров: 147) ответил Argon на Кто-нибудь реализовывал протокол CAN Kingdom? Из тех, что ложатся поверх CAN, менее всех пугает сложностью.
Черкну тут для истории: осилить CAN Kingdom не сумел, вернее бросил это занятие. Несмотря на то, что сама идея неплохая, ее описание плохо ложится на мозги. Началось это при попытке освоить эфемерные сущности: "каталоги", "формы", "списки форм", "списки документов". И уж совсем добила тема сжатых сообщений. 

Однако все это навело на дельные мысли по самописному протоколу. Общие идеи пока такие:
На шине имеем хост и модули.
Назначение хоста - сбор всех данных в структуру, синхронизация модулей, хранение прошивок для апдейта модулей.
Могут происходить как запросы данных хостом у модулей, так и модулем у хоста.
Каждый модуль внутри себя имеет несколько виртуальных адресуемых файлов с признаками read-only/write-only/rw и определенного объема (часто большего, чем 1 CAN сообщение). Это т.н. профайл модуля (что отличается от идеи CAN Kingdom, где профайлов у модулей нет, а файлы-папки модулям назначает хост-король)

Файл ro - это данные датчиков
Файл wo - это прошивка, которую хост сливает. Имеет объем порядка 1 записываемой страницы.
Файл rw - это какие-либо настройки/калибровки модуля.



Так вот, сливать прошивку в модуль с хоста не так сложно:
Хост дает задание заткнуться всем модулям, а какому-то задание прошиваться.
Этот модуль запрашивает у хоста постраничные фрагменты прошивки, которые в хосте также могут быть представлены виртуальными ro файлами.


Ну т.е. какая-то прозрачность таки начинает возникать.