реклама на сайте
подробности

 
 
> вычисление crc14 при помощи железа в stm32
Огурцов
сообщение Aug 16 2013, 07:37
Сообщение #1


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



возможно ?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Flexz
сообщение Aug 16 2013, 08:24
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 252
Регистрация: 9-10-08
Из: Московская обл.
Пользователь №: 40 797



Нет, блок вычисления CRC есть, но полином там Ethernet-овский фиксирован. В линейке F3 можно задать размерность полинома (8-16-32).
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Aug 16 2013, 10:46
Сообщение #3


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



т.е. основная идея какбы заключается в том, чтобы скармливать контроллеру по 14 бит данных, и результат взять те же 14 бит
если контроллер сдвигает влево, то скармливать данные как младшие биты слова, если вправо - как старшие
полином какой есть - не важно
Go to the top of the page
 
+Quote Post
jcxz
сообщение Aug 17 2013, 07:24
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Огурцов @ Aug 16 2013, 16:46) *
т.е. основная идея какбы заключается в том, чтобы скармливать контроллеру по 14 бит данных, и результат взять те же 14 бит
если контроллер сдвигает влево, то скармливать данные как младшие биты слова, если вправо - как старшие
полином какой есть - не важно

Между разрядностью полинома и разрядностью данных нет никакой связи.
Go to the top of the page
 
+Quote Post
adnega
сообщение Aug 17 2013, 07:32
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(jcxz @ Aug 17 2013, 11:24) *
Между разрядностью полинома и разрядностью данных нет никакой связи.

CRC тем хорош, что если рассчитать вместе буфер с данными и значением CRC этих данных, то получим 0.
По сути это остаток от деления длинного числа полученного последовательной записью всех байтов на
полином. Если полином 16-бит (реально 16+1), то остаток 16 бит. И получается, что 16 битную CRC нельзя добавить
в конец массива 14 битных данных для получения CRC всего блока (данные + CRC) равной 0.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Aug 17 2013, 13:10
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Цитата(adnega @ Aug 17 2013, 11:32) *
CRC тем хорош, что если рассчитать вместе буфер с данными и значением CRC этих данных, то получим 0.
По сути это остаток от деления длинного числа полученного последовательной записью всех байтов на
полином. Если полином 16-бит (реально 16+1), то остаток 16 бит. И получается, что 16 битную CRC нельзя добавить
в конец массива 14 битных данных для получения CRC всего блока (данные + CRC) равной 0.


это для меня всегда было маленьким чудом, и что-то мне подсказывает что в общем случае это не так. Это для определенного вида полиномов вроде бы верно. Или я где то заблуждаюсь?
Go to the top of the page
 
+Quote Post
adnega
сообщение Aug 17 2013, 13:23
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(Golikov A. @ Aug 17 2013, 17:10) *
это для меня всегда было маленьким чудом, и что-то мне подсказывает что в общем случае это не так. Это для определенного вида полиномов вроде бы верно. Или я где то заблуждаюсь?

В общем случае верно всегда, но при неудачном выборе полинома CRC слабо зависит от данных, т.е. не реагирует на изменение битов.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Огурцов   вычисление crc14 при помощи железа в stm32   Aug 16 2013, 07:37
|- - scifi   Это уже не CRC14. Зачем это надо?   Aug 16 2013, 12:21
||- - Огурцов   как зачем, аппаратная реализация должна побыстрее ...   Aug 16 2013, 15:04
||- - scifi   Цитата(Огурцов @ Aug 16 2013, 19:04) как ...   Aug 16 2013, 16:04
||- - Огурцов   Цитата(scifi @ Aug 16 2013, 17:04) Вы уже...   Aug 16 2013, 17:33
|- - Сергей Борщ   QUOTE (adnega @ Aug 17 2013, 09:32) И пол...   Aug 17 2013, 08:24
- - Golikov A.   посчитайте CRC16 и возьмите от него 14 любых бит. ...   Aug 16 2013, 18:16
- - Golikov A.   почему у меня интересно не получилось для модбаса....   Aug 17 2013, 13:47
|- - scifi   Цитата(Golikov A. @ Aug 17 2013, 17:47) п...   Aug 17 2013, 17:34
|- - Сергей Борщ   QUOTE (scifi @ Aug 17 2013, 19:34) Должен...   Aug 17 2013, 18:38
- - Golikov A.   A/B - Остаток С (А-С)/B остаток ноль это понятно ...   Aug 18 2013, 05:07
- - SSerge   Дописывание остатка это умножение сообщения на xn ...   Aug 18 2013, 06:02
- - Golikov A.   Цитата(SSerge @ Aug 18 2013, 10:02) Допис...   Aug 18 2013, 17:27


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th June 2025 - 15:15
Рейтинг@Mail.ru


Страница сгенерированна за 0.01463 секунд с 7
ELECTRONIX ©2004-2016