Обсуждаем цифровые устройства...
Ответить

Re: Ковыряем RFID Mifare и MFRC522

Вт июл 11, 2017 21:56:56

Просто В7 попробуйте. Может этот ненужный 00 мешает.

Re: Ковыряем RFID Mifare и MFRC522

Ср июл 12, 2017 07:41:25

Вот что возвращает:
Изображение
т.е. получается команды на чтения есть и однобайтовые
если установить старший бит в 0x12, то получаем 0x92, хотя ни слова о старшем бите:
Изображение
Или у меня древняя версия?

Re: Ковыряем RFID Mifare и MFRC522

Ср июл 12, 2017 08:27:07

Ну они и есть однобайтовые. Вы отправляете адрес регистра, содержимое которого хотите получить.
Разумеется если речь идет о FIFO, то тут несколько иначе. Он 64-байтный, адрес у буфера один - 09h и в случае чтения из него после каждого запроса указатель внутри автоматически инкрементируется, так что при каждом новом запросе 09h вы читаете как бы 09h-1, 09h-2, 09h-3 и т.д. Количество этих и так далее (глубина заполненности буфера) содержится в следующем регистре - 0Аh, а точнее в его битах 6-0. Запись же единицы в его бит 7 очищает сам буфер, сбрасывает указатель на 0, ну и еще пару флагов обнуляет.

Что касается 0x12 | 0x80 = 0x92 ничего не могу сказать. В ДШ не говорится о том, что принятый байт для правильной интерпретации нужно преобразовывать. Может у вас какие-то настройки УСАРТа неправильные? Старт-стоп биты и прочее? Ну не знаю почему принимается так. Это вы из своей программы отправляете? Попробуйте из putty или чего-то в этом роде отправить.

Re: Ковыряем RFID Mifare и MFRC522

Чт июл 13, 2017 10:43:52

putty у меня что-то жутко тормозит в окне и не хочет посылать/принимать, но порт подключает - когда она работает другие проги к нему не подключаются
Изображение Изображение
Также пробовал все скорости, биты и четность: выдает либо 12, либо 0

Re: Ковыряем RFID Mifare и MFRC522

Чт июл 13, 2017 11:02:28

Для интереса попробуйте записать в таймер значение, а потом считать и сравнить с записанным.
Т.е. отправьте 0x2C 0x55 0x2D 0xAA, а потом отправьте 0xAC 0xAD.

Re: Ковыряем RFID Mifare и MFRC522

Чт июл 13, 2017 15:35:38

Изображение
Получается команды на чтение нужно отправлять по одному байту, иначе модуль теряет вторую команду чтения

Re: Ковыряем RFID Mifare и MFRC522

Чт июл 13, 2017 15:54:27

Может и так. Может эта особенность связана с тем, что комп какие-то управляющие команды дополнительно отправляет. Хотя если отправил запрос на чтение, то действительно нужно дождаться ответа прежде чем посылать следующий.

Вот и получается, что принимается то, что и отправляется, модифицировать не нужно. Почему тогда ответ на запрос версии не соответствует спецификации? Непонятно.

Re: Ковыряем RFID Mifare и MFRC522

Чт июл 13, 2017 16:35:18

Нее, 100% отправляет только то, что посылаешь: однажды пришлось разбираться почему одно устройство периодически ерунду по UART шлет - обмен анализатором смотрел. Единственное, так комп может не сразу принятое отдавать (из-за буфера)
Попробую у китайца спросить по поводу версии, но вряд ли он что-то скажет - скорей всего он обычный "купи-продай"...

А что можно еще считать с модуля, чтобы понять его работоспособность?

Re: Ковыряем RFID Mifare и MFRC522

Чт июл 13, 2017 19:09:49

А что у вас на чипе написано? На сайте была картинка, но что-то у вас сейчас с сайтом происходит, ссылки не работают.

Согласно ДШ,
‘9’ stands for MFRC522, ‘1’ stands for MFRC522 version 1.0 and ‘2’ stands for MFRC522 version 2.0.

поэтому и должно быть 0x91 или 0x92. Может ваш какой-то другой, поэтому вместо "9" дает "1"?
ТС не появляется, спросили бы у него, что его плата отвечает на запрос версии.

Добавлено after 5 minutes 45 seconds:
Другие регистры смотрел, нет другого подобного VersionReg, который бы выдавал предсказуемый ответ.
Да по-моему он и так доказал свою работоспособность, по крайней мере на запросы отвечает.

Re: Ковыряем RFID Mifare и MFRC522

Чт июл 13, 2017 19:37:33

А что у вас на чипе написано?

Изображение
На сайте была картинка, но что-то у вас сейчас с сайтом происходит, ссылки не работают.

Написал в техподдержку. Что-то с сервером нахимичили - остальные сайты хостинга работают.
ТС не появляется, спросили бы у него, что его плата отвечает на запрос версии.

Подождем, может объявится...
Да по-моему он и так доказал свою работоспособность, по крайней мере на запросы отвечает.

Будем надеяться.
Сейчас вожусь с переделкой скетча на побайтный вопрос-ответ и везде добавляю контроль наличия ответа от модуля...

Re: Ковыряем RFID Mifare и MFRC522

Вс июл 16, 2017 10:27:22

Vovka, можете как-нибудь прислать свою программу rs232 или выложить на файлообменник? Сайт на обновлении, а мне надо проверить работу модуля.
Что-то с дисплеем у меня ни черта не вышло, решил пока общаться через rs232. Отправляю команды с терминала, в F103 они транслируются на SPI. Ответ идет по тому же маршруту. Что-то я получаю, но мне нужно отправлять хекс байты и получать их же без перевода в ASCII. Как это сделать стандартными программами (SecureCRT, Putty) - не знаю. Писать свое - долго будет, давно этим не занимался.

И, кстати, ответ на запрос версии вы получаете сразу без каких-либо предварительных инициализирующих команд?

Re: Ковыряем RFID Mifare и MFRC522

Вс июл 16, 2017 10:46:45

Не весь сайт восстановил, но скачать rs232 можно

Ответ версии дает сразу

Re: Ковыряем RFID Mifare и MFRC522

Вс июл 16, 2017 10:52:08

Странно, через гугл вышел на ссылку, при нажатии выкидывало на главную.
Сейчас попробую, спасибо :)

Добавлено after 2 minutes 49 seconds:
Ура!


Почему же у вас ответ был 12?!
:?

Re: Ковыряем RFID Mifare и MFRC522

Вс июл 16, 2017 10:55:44

Не знаю, но всегда дает 12. Может такая версия чипа...
Реанимирую весь сайт - продолжу...

Re: Ковыряем RFID Mifare и MFRC522

Вс июл 16, 2017 11:08:43

Если бы у вас было на SPI, сбросил бы свои функции, чтобы вы у себя испытали.
Мне сейчас нужно добавить пару функций по работе с 64-байтным FIFO, только уточнить надо как правильно с ним общаться.

В конце ДШ (16 раздел) есть тестовая последовательность. Можете попробовать ее осуществить.

Re: Ковыряем RFID Mifare и MFRC522

Вт июл 18, 2017 10:53:49

Переписал движок сайта...

Zhuk72, как успехи?

Re: Ковыряем RFID Mifare и MFRC522

Вт июл 18, 2017 12:01:45

Пока никак, не продвинулся ни на шаг.
На работе заниматься этим не получается, отрывают на основную работу ))
Дома уже два дня не могу сосредоточиться.

Чем больше читаю ДШ, тем больше злюсь. Это ж надо было так накрутить, чтобы было настолько непонятно. Вот почему нигде нет описания работы MFRC522. Крутится в сети только одна библиотека на Ардуино, которую какой-то приближенный к NXP, очевидно, написал, и больше ничего нет.
Взять, например, такое:
Mem <это команда такая>
Transfers 25 bytes from the FIFO buffer to the internal buffer.
To read out the 25 bytes from the internal buffer the Mem command must be started with
an empty FIFO buffer. In this case, the 25 bytes are transferred from the internal buffer to
the FIFO.


Уже который раз читаю выделенное курсивом, но никак не могу понять, кто кого очищает, чтобы быть очищенным: буфер FIFO или наоборот :shock:

Это из 10-го раздела, описание командного регистра (адрес 01h). Все основные операции производятся им, а точнее - его младшим ниблом. Отправляются команды им (прием-передача), но предварительно нужно отстроить другими регистрами эти самые приемник с передатчиком.

Re: Ковыряем RFID Mifare и MFRC522

Ср июл 19, 2017 13:20:25

Вот тут нашелся файлик с функциями. Может поможет разобраться.
Вложения
rc522.c
(15.76 KiB) Скачиваний: 777

Re: Ковыряем RFID Mifare и MFRC522

Ср июл 19, 2017 15:07:09

Опять SPI :cry:
Очередная интерпретация скетча для ардуины, правда менее раздутая...

Re: Ковыряем RFID Mifare и MFRC522

Ср июл 19, 2017 15:41:03

Да, он так и написал, что это с АВР взято. Но SPI только к отправке-приему отношение имеет. А так там самое важное - что отправлять, чтобы работало, достаточный минимум, так сказать.
Вчера расписал немного "туда-сюда" функции через DMA, пока не знаю как это заработает. Надо будет сегодня постараться привязать все это к UART (наверное тоже через DMA), чтобы видеть происходящее.
Надо еще почитать ДШ на этот чип.
Ответить