2014-12-07 6 views
1

Мне нужно вычислить контрольную сумму CRC-5, как указано в протоколе пассивного RFID-протокола EPC (UHF Class 1 Gen 2 Standard). Я намерен использовать optimized crc computer от Boost, для расчетов, но у меня трудное время отображения информации из спецификации EPC для Crc параметров шаблона компьютера:Вычислить CRC-5 с использованием boost

template < std::size_t Bits, impl_def TruncPoly, 
      impl_def InitRem, impl_def FinalXor, 
      bool ReflectIn, bool ReflectRem > 

Определение CRC 5 из стандарта EPC может можно найти в таблице 6.12: enter image description here

Приложение F содержит эту дополнительную информацию: enter image description here

первый параметр шаблона (биты), очевидно, 5, и я полагаю, что TruncPoly должен быть 0x09 (от wikipedia), но я мог бы использовать некоторые советы для остальных.

ответ

2

После немного больше поисков я нашел это: http://reveng.sourceforge.net/crc-catalogue/1-15.htm#crc.cat-bits.5

Он содержит следующую информацию (копии убедитесь, что он не исчезает): enter image description here

В случае, если это не ясно видно, соответствующая информация:

ширина = 5 поли = 0x09 = 0x09 INIT REFIN = ложь refout = ложь xorout = 0x00 проверка = 0x00 имя = "CRC-5/EPC"

Как вы можете видеть, они не просто предоставляют необходимую информацию, но и полностью ссылаются на свои источники, поэтому я могу порекомендовать следовать ссылке, если вы работаете с этим.

Чтобы ответить на мой собственный вопрос, прогрев определение ВРК-5-грс становится:

boost::crc_optimal<5, 0x09, 0x09, 0x00, false, false> crc_5_epc;