Перейти к блогу GetChip.net - блог        JilTE[1] - в разработке     Модификации устройств - модификации

 
Текущее время: 29 мар 2024, 03:33

Часовой пояс: UTC + 3 часа [ Летнее время ]



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: CRC16 в Algoitithm Builder
СообщениеДобавлено: 07 ноя 2016, 10:47 
Не в сети

Зарегистрирован: 03 окт 2011, 23:17
Сообщения: 9
Необходимо посчитать CRC16 посылки. Полином X16+X15+X2+1. Подсмотрел здесь в теме алгоритм побитовой CRC8. По аналогии сделал так.
sshot-2.png
sshot-2.png [ 4.36 КБ | Просмотров: 8033 ]

Но приёмник не пропускает посылку. Дело именно в CRC. Подскажите, правильно ли организован алгоритм подсчёта.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: CRC16 в Algoitithm Builder
СообщениеДобавлено: 07 ноя 2016, 11:55 
Не в сети
Аватара пользователя

Зарегистрирован: 29 май 2011, 17:59
Сообщения: 3769
Откуда: Россия
Я плохо разбираюсь в подсчёте CRC, но мне что-то подсказывает, что ошибка может быть здесь…
sshot-2.png
sshot-2.png [ 8.97 КБ | Просмотров: 8028 ]

Ну и биты засылаются начиная с младшего разряда принятого кода?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: CRC16 в Algoitithm Builder
СообщениеДобавлено: 07 ноя 2016, 13:52 
Не в сети

Зарегистрирован: 03 окт 2011, 23:17
Сообщения: 9
Вот откуда подсмотрел viewtopic.php?f=18&t=162

sshot-2.png
sshot-2.png [ 6.05 КБ | Просмотров: 8025 ]

Тут такая- же конструкция...и работает
Не совсем понимаю, почему
CRC_Value ! #b10000000
CRC_Value ^ #b00001100
нельзя заменить на
CRC_Value ^ #b10001100
ибо после команды CRC_Value>> в старшем бите все равно "0"
.....
Но это уже 2й вопрос
У меня тоже биты засылаются с младшего


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: CRC16 в Algoitithm Builder
СообщениеДобавлено: 07 ноя 2016, 22:57 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 15 май 2011, 23:00
Сообщения: 1904
Я для хеширования ИК-посылки использую CRC16 (полином 8005)
Зайдите в шаблоны http://www.getchip.net/templates/
модуль IR-Detect - по аналогии сделаете для своего полинома.


Вложения:
CRC16.pdf [97.81 КБ]
Скачиваний: 655
sshot-1.png
sshot-1.png [ 5.15 КБ | Просмотров: 8018 ]
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: CRC16 в Algoitithm Builder
СообщениеДобавлено: 08 ноя 2016, 00:09 
Не в сети

Зарегистрирован: 03 окт 2011, 23:17
Сообщения: 9
Спасибо.
"Конструкция" из первого поста тоже заработала. Дело было в том, что несколько туманно описан порядок передачи CRC в тело сообщения.
Но последний предложенный вариант весьма прост, надо попробовать


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: CRC16 в Algoitithm Builder
СообщениеДобавлено: 08 ноя 2016, 01:33 
Не в сети
Аватара пользователя

Зарегистрирован: 29 май 2011, 17:59
Сообщения: 3769
Откуда: Россия
Что изменил?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: CRC16 в Algoitithm Builder
СообщениеДобавлено: 08 ноя 2016, 09:33 
Не в сети

Зарегистрирован: 03 окт 2011, 23:17
Сообщения: 9
Да ничего не изменил (в плане алгоритма побитного вычисления ). Согласно http://www.owen.ru/forum/showthread.php?t=15588 (3й пост) для каждого полинома есть "обратный" , в зависимости от того, куда "двигаем". Основные мои изыскания были порождены тем, что
1. В литературе по моему проекту ( пакет AX.25) ,были разные сведения о полиноме . Были варианты x16+x15+X2+1 и x16+x12+x5+1. Верным оказался второй вариант, согласно ISO 3309-98
2. В конце подсчёта CRC16 я не делалX ^ $FFFF
3. В букваре по протоколу указывалось, что CRC16 вводится в тело сообщения старшим битом вперёд. Так и делал. Но оказалось, что в конце вычисления CRC в Xl лежит старший байт, а в Xh- младший.Причём если в конце расчёта получилось CRC=$0965, то передачу CRC надо начиать с младшего бита пятёрки. Разбираться где идёт "переворот" не стал, подкорректировал вывод , всё заработало.
Рабочий вариант
sshot-3.png
sshot-3.png [ 5.47 КБ | Просмотров: 8008 ]


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB