Comments 10
пакеты не доходили с первого раза, CAN упорно продолжал их слать, а в это время новые управляющие данные нельзя было отдать в выходной буфер CAN, потому что тот был еще занят.
Я уже читал это в научно-фантастическом рассказе. http://www.serann.ru/text/ananke-8923
Космический корабль, который считался надежным, сошел с ума во время процедуры посадки. И только телеметрия помогла выяснить, что там произошло.
С языка снял!
Только наборот. Телеметрии было потребовано больше пропускной способности еанала, что привело к критическим запаздываниям и принятию парадоксального и гибельного решения.
Я бы сказал шире — человек может заразить ИИ психическим расстройством. Что мы и наблюдали недавно IRL на примере ИИ-матерщинника. Остаётся открытым вопрос — возможна ли передача в обратную сторону?
Конечно. Сейчас уже многие статьи, написанные живыми людьми, похожи на гугл-перевод. Человек обучается непрерывно и отлично учится плохому если оно постояно рядом.
(Это я не про данную статью, если что. Эта статья хорошая)
Хотелось получить сразуже байтовый интерфейс, который содержит в себе интерфейс управления, формат сохраняемых данных, телеметрию пригодную для анализа последовательности событий и непосредственную фиксацию событий.
Получилась очень простая конструкция:
Все источники данных и интерфейсы управления представлены как байт ориентированные каналы передающие или принимающие сообщения формата:
8'hFE: 8'h<тип сообщения>,<последовательность байт любой длинны>
Со следующими ограничениями
1.Тип сообщения не может быть равен FE
2.Если в данных появляется байт FE, то его необходимо повторить FE=>FEFE
Если необходимо в один канал передачи данных поместить несколько таких потоков, то ставим небольшие буфера (каждый для отдельного потока) и периодически передаем FE<буфера><данные хранящиеся в указанном буфере>.
Таким образом можно сложить любое число каналов почти в любой конфигурации.
Необходимо только следить за тем что бы производительности канала хватило для передачи.
Такой формат надежно разделяет данные (каналы) между собой.
Не требуется обязательно ждать «заголовка»
Практически не чувствителен к временным пропаданиям связи или ошибкам чтения\записи.
Позволяет исследовать взаимносвязь различных событий между собой без обязательной привязки ко времени.
Абсолютное время можно привязать простым добавлением канала с часами.
Такой подход очень хорошо работает для малых и средних приборов, но не подходит для больших систем.
Для создания телеметриии например самолета или металлургического комбината, где «все по взрослому» требуется система примерно такого вида: habr.com/ru/post/512652
(ССИ отвечает всем требованиям реального времени, надежности и резервирования для таких систем)
Хорошая статья, все по делу и все нужное, согласен с каждым пунктом.
Когда то давно была вот такая статья:
https://habr.com/ru/post/340882/
Сейчас в полку прибыло и в проекте есть библиотека для микроконтроллеров, все пункты из статьи в ней реализованы :)
Кодекс летописца или Ода к телеметрии