У меня есть некоторые разработки для последовательного протокола, и я сталкиваюсь с некоторыми вопросами, которые, как я полагаю, должны были рассматриваться в другом месте.обнаружение ошибок/исправление/восстановление в последовательных протоколах
Так что мне интересно, есть ли рекомендации по наилучшим методам проектирования последовательных протоколов. (Пожалуйста, укажите факт, который легко поддается проверке, или укажите авторитетный источник, если вы предъявите иск.). Общие рекомендации для веб-сайтов и книг также приветствуются.
В частности, мне приходится иметь дело с проблемами, как
- разбора потока байт в пакеты
- проверочных пакет является правильным (легко с CRC, например)
- определение разумных типов ошибки, которые могут возникнуть (например, в потоке последовательного потока «точка-точка», спорадические однобитовые ошибки и опустившаяся серия байтов, возможны, но дополнительные фантомные байты маловероятны, тогда как с записью, хранящейся во флэш-памяти или на диске диск преобладающих типов ошибок)
- исправление ошибок или восстановление (если я обнаружил ошибку в пакете, могу ли я ее исправить? Если нет, могу ли я пересинхронизировать с границей следующего пакета?)
- как сделать пакеты переменной длины надежными для исправления ошибок/восстановления.
Любые предложения?
+1 для ссылки COBS, звучит очень интересно. –
whee! Я просто попробовал это сегодня, и он работает действительно красиво. Спасибо большое! –