Форум: "Прочее";
Текущий архив: 2006.04.09;
Скачать: [xml.tar.bz2];
Внизустойчивость CRC Найти похожие ветки
← →
Defunct © (2006-03-14 21:03) [0]Здравствуйте.
Делаю нехитрое устройство и вот остановился на протоколе общения с ним. Думаю применить пакетный протокол длина сообщений без учета CRC до 16 байт. Хватит ли здесь CRC8 или нужно CRC16? Что является определяющим фактором при выборе длины CRC? Сколько ошибок (неправильных бит) для устойчивой защиты допускает соответстненно CRC8 и CRC16?
← →
Anatoly Podgoretsky © (2006-03-14 21:07) [1]Выбирай crc32
← →
TUser © (2006-03-14 21:21) [2]Имхо, 8 - выше крыши.
← →
Defunct © (2006-03-14 21:29) [3]> Anatoly Podgoretsky © (14.03.06 21:07) [1]
почему именно crc32?
crc32 даст большую избыточность как в канале так и в вычислениях..
если есть обоснование или таблица какая-то где есть зависимость ложных совпадений crc от количества ошибок, то не вопрос поставлю crc32, но я пока нашел только вот такую информацию:
Положительными свойствами циклических кодов являются малая вероятность необнаружения ошибки и сравнительно небольшое число избыточных разрядов.
"Телекоммуникационные технологии и сети" И.П. Норенков, В.А. Трудоношин
← →
tesseract © (2006-03-14 22:24) [4]
> Делаю нехитрое устройство и вот остановился на протоколе
> общения с ним. Думаю применить пакетный протокол длина сообщений
> без учета CRC до 16 байт. Хватит ли здесь CRC8 или нужно
> CRC16? Что является определяющим фактором при выборе длины
> CRC? Сколько ошибок (неправильных бит) для устойчивой защиты
> допускает соответстненно CRC8 и CRC16?
Большинству нехитрых устройств и чётности хватает. А уж даже LCR - за глаза.
Количество байт - не параметр при выборе контроля. Цифры в конце - это все-го лишь основание по которому считается CRC.
А на контроллере (которые большей частью 8 бит) CRC32 вычислять замудохаешься сам и замудохоешь контроллер.
← →
Defunct © (2006-03-14 23:17) [5]> А на контроллере (которые большей частью 8 бит) CRC32 вычислять замудохаешься сам и замудохоешь контроллер.
Выч. сложность crc32 менее чем в два раза больше чем crc16 (для 8-ми разрядных мк). Так что сложностью пугать не нужно ;>
Четности мне не хватит, 2 неверных бита и - ложное срабатывание.
> Большинству нехитрых устройств и чётности хватает. А уж даже LCR - за глаза.
Устройство хоть и нехитрое, но ложных срабатываний делать не должно...
LCR это что? В инете нашел такое определение LCR - Lifetime Clinical Record, сомнительно, что имелось в виду это..
← →
tesseract © (2006-03-14 23:26) [6]линейный контроль чётности.
А у тебя девайс так часто сбои даёт ?
← →
tesseract © (2006-03-14 23:27) [7]
> Выч. сложность crc32 менее чем в два раза больше чем crc16
> (для 8-ми разрядных мк).
я знаю 8-битники работающие с 16 разрядами. Но с 32-битными регистрами что-то не встречал.....
← →
Defunct © (2006-03-14 23:55) [8]> А у тебя девайс так часто сбои даёт ?
Да возможны сбои, т.к. интерфейс в нем - программный UART...
> Но с 32-битными регистрами что-то не встречал.....
дык, а зачем 32-битные регистры для расчета crc32?
← →
tesseract © (2006-03-15 09:32) [9]
> Да возможны сбои, т.к. интерфейс в нем - программный UART.
> ..
а AtmegaXXX чем не нравится? Там UART/USART встроенный.
CRC32 - вроде 32-битное число :-)
← →
Defunct © (2006-03-15 09:47) [10]> а AtmegaXXX чем не нравится? Там UART/USART встроенный.
> CRC32 - вроде 32-битное число :-)
зы, а по существу, ну всмысле по сабжевым вопросам можете чем-то помочь? ;>
пока сделал crc8, работает в тепличных условиях что-то уж больно хорошо, ни потер пакетов, ни ложных срабатываний. А как в реальных условиях будет - не знаю.
← →
ilya39 © (2006-03-15 10:11) [11]Не совсем в тему, но... из личного опыта:
Ситуация была следующая: некое программное обеспечение работало с контроллером по последовательному интерфейсу. В протоколе пременялась контрольная сумма по XOR (между всеми байтами пакета). Канал связи был сильно зашумленный, и XOR с выявлением ошибок не справлялась очень часто... А вот введение CRC16 сразу решило проблему...
← →
tesseract © (2006-03-15 10:20) [12]
> протоколе пременялась контрольная сумма по XOR (между всеми
> байтами пакета)
Последовательный XOR + дополнение до 0 = LCR :-)
Если слишком много битых пакетов - ставь RS485.
> зы, а по существу, ну всмысле по сабжевым вопросам можете
> чем-то помочь? ;>
Ссылки ? инфа ? atmel-ы подешевле ? софт ?
← →
ilya39 © (2006-03-15 10:23) [13]
> Если слишком много битых пакетов - ставь RS485.
Он и был...
← →
tesseract © (2006-03-15 10:27) [14]
> Он и был...
????????????
Таланты. Мы им весы подключали в холодильном цеху - 75 м. Никаких помех Только контроль UART.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2006.04.09;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.029 c