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

 
 
 
Reply to this topicStart new topic
> PN544 HSU, Проблема с протоколом/форматом пакетов
Vitaly_N
сообщение Feb 6 2016, 03:16
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 30-11-07
Пользователь №: 32 839



Добыл наконец User Manual на NXP PN544, пытаюсь посчитать CRC для общения с чипом через HSU (High Speed UART) - и у меня ничего не получается!

Пакеты LLC состоят из байта длины, N-2 байта данных и 2 байт CRC. Сказано, что CRC считается по полиному CCITT x^16+x^12+x^5+1, начальное значение 0xFFFF, но неясно, откуда и до куда считать.

В мануале приведены четыре пакета с уже посчитанными CRC.

06 F9 04 00 05 94 B1
06 F9 04 00 00 39 E6
05 F9 04 00 3C 1A
03 E6 E8 58

Интересно, что в любом случае, хоть с этими CRC, хоть с вычисленными мною, чип отвечает 13 00 00 - ответ нифига не соответствует протоколу LLC!

Хрень какая-то! То ли лыжи не едут...
Go to the top of the page
 
+Quote Post
evgeny_boger
сообщение Feb 7 2016, 12:36
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 49
Регистрация: 12-05-13
Пользователь №: 76 805



В линуксовом ядре есть работа с чипом через i2c, может поможет: http://lxr.free-electrons.com/source/drive...c/pn544/pn544.c
Если там как в PN532, то протокол по всем интерфейсам должен быть одинаковый.
Go to the top of the page
 
+Quote Post
Vitaly_N
сообщение Feb 8 2016, 06:13
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 30-11-07
Пользователь №: 32 839



Цитата(evgeny_boger @ Feb 7 2016, 18:36) *
В линуксовом ядре есть работа с чипом через i2c, может поможет: http://lxr.free-electrons.com/source/drive...c/pn544/pn544.c
Если там как в PN532, то протокол по всем интерфейсам должен быть одинаковый.


Протокол PN544 отличается от PN532, но у PN544 протоколы по SPI, I2C и HSU должны быть примерно одинаковыми (хотя там есть мелкие нюансы). Я уже смотрел. Уж очень замысловато. В Linux расчёт CRC пакета делается через стандартный объект SKBUF, а верхний уровень протокола - HCI вообще отдельно реализован. С алгоритмом CRC разобрался, действительно, CCITT, но reversed. Однако это никак не помогает мне понять, почему реальный чип ругается, причём, ругается не по мануалу, соответственно, у меня не только никаких идей нет вообще, как сделать, чтобы хоть что-то зашевелилось, но и я вообще уже начинаю сомневаться в своих способностях сделать общение с чипом по UART...

Сообщение отредактировал Vitaly_N - Feb 8 2016, 16:14
Go to the top of the page
 
+Quote Post

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

 


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


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