-
- Так, считаем пример и офигеваем. Evgeny_CD(1430 знак., 20.12.2021 03:20)
- STM32MP1 на хост был бы самое то! Естественно, в варианте RTOS, без всяких долбаных линухов. - Evgeny_CD(20.12.2021 03:41)
- В марте 2017 я занырнул в мир промавтоматики. Без малого 5 лет неспешных размышлений и изучения темы - и вот оно выкристаллизовалось. Решение, которое даже китайцам не побить. - Evgeny_CD(20.12.2021 03:27)
- Конечно, просится на FPGA сделать кастомный контроллер кастомной шины. Но! В варианте UART УСО получаются предельно дешевые. Дешевле некуда. И универсальные. Набираешь УСО сколько надо и каких надо. И это всегда разумно стоит - от 16 портов. Для 16 портов и мозги соответствующие. - Evgeny_CD(20.12.2021 03:23)
- Если сильно понизить вероятность frame error, то с битовыми
ошибками можно бороться через ECC на уровне пакета. И даже через
простейший XOR восстанавливать один байт из трех при полном сбое
такого байта (RAID-5) - Evgeny_CD(20.12.2021 02:19)
- Обычный UART имеет эффективность 8 бит из 10, 80%. При 6 битном
кодировании, и каждый третий байт ECC, имеем эффективность 40%,
т.е. в 2 раза ниже стандартного UART, но для hard RT, где время
бесценно, и времени на перезапрос нет, это очень эффективное
решение. - Evgeny_CD(20.12.2021 02:36)
- Если ввести аппаратное дублирование, т.е. по два потока на прием и
на передачу, с некоторой задержкой по времени, то вероятность сбоя
будет очень маленькой, и такой дублированный RS-485/422 станет
последовательной шиной данных, а не протоколом связи. Это очень
крутая идея! - Evgeny_CD(20.12.2021 02:48)
- Приемная сторона знает сдвиг по времени между каналами, и пытается
выбрать валидные байты из двух потоков одновременно. + физическое
дублирование позволяет парировать подохший трансивер. Для полной
паранойи можно ввести четверирование - сообщения по двум каналам
параллельно (со сдвигом!) и по два раза. Отказ одного канала
оставит вероятность в пределах допустимой. Офигеть, и все это
поверх штатного UART! Драйвер такой шины придется писать на асме
8051, что мрачно, но зато Evgeny_CD(143 знак., 20.12.2021 02:54)
- А можно сделать по стандарту MIl_STD-1553, будет и настоящий
RealTime и резервмрование и контроль ошибок и развязка\изоляция.
Дорого. - Costic(20.12.2021 11:40)
- В том-то и суть, чтобы УСО было дешевым. Их много. Хост может быть подороже - Evgeny_CD(20.12.2021 11:43)
- Можно молодость вспомнить, на асм AVR написать :) - Evgeny_CD(20.12.2021 02:55)
- А можно сделать по стандарту MIl_STD-1553, будет и настоящий
RealTime и резервмрование и контроль ошибок и развязка\изоляция.
Дорого. - Costic(20.12.2021 11:40)
- Приемная сторона знает сдвиг по времени между каналами, и пытается
выбрать валидные байты из двух потоков одновременно. + физическое
дублирование позволяет парировать подохший трансивер. Для полной
паранойи можно ввести четверирование - сообщения по двум каналам
параллельно (со сдвигом!) и по два раза. Отказ одного канала
оставит вероятность в пределах допустимой. Офигеть, и все это
поверх штатного UART! Драйвер такой шины придется писать на асме
8051, что мрачно, но зато Evgeny_CD(143 знак., 20.12.2021 02:54)
- Если ввести аппаратное дублирование, т.е. по два потока на прием и
на передачу, с некоторой задержкой по времени, то вероятность сбоя
будет очень маленькой, и такой дублированный RS-485/422 станет
последовательной шиной данных, а не протоколом связи. Это очень
крутая идея! - Evgeny_CD(20.12.2021 02:48)
- Обычный UART имеет эффективность 8 бит из 10, 80%. При 6 битном
кодировании, и каждый третий байт ECC, имеем эффективность 40%,
т.е. в 2 раза ниже стандартного UART, но для hard RT, где время
бесценно, и времени на перезапрос нет, это очень эффективное
решение. - Evgeny_CD(20.12.2021 02:36)
- Так, считаем пример и офигеваем. Evgeny_CD(1430 знак., 20.12.2021 03:20)