Мне нужно реализовать протокол связи, который работает через I 2 C и используется для связи между платой и платой двух распределенных микроконтроллеров.
Чтобы обеспечить целостность данных, я хочу добавить к протоколу связи контрольную сумму и подумать, что что-то вроде CRC-8 или CRC-16 должно соответствовать, но, к сожалению, у меня нет клея, какие критерии я должен использовать, чтобы определить лучший алгоритм и в следующий шаг, лучшая настройка (например, значение многочлена в случае CRC).
Мой протокол довольно прост, определены только одна 32-битная команда чтения и одна 32-битная команда записи:
Я прочитал в сообщении на форуме, что длина CRC зависит от размера данных, которые должны быть проверены, поэтому CRC-8 может в достаточной степени проверять 2 8 % 8 (= 32 бита) и 2 16 % 8 (= 8 КБ) данных для CRC-16.
Если это правда, CRC-8 должно быть достаточно, но я не знаю, правильно ли это утверждение ...
Может кто-нибудь помочь мне, как я могу определить лучший алгоритм контрольной суммы для моего протокола?