Тут небольшое лирическое отступление …
Изучив прилагаемые примеры, написав немного своего кода – проникся и разобрался в архитектуре и принципах работы БСК. Правда до своего проекта так дело и не дошло. В общем то по этой причине и публикаций до сир пор про сей программатор не было. Огорчала также нестабильная работа программатора с некоторыми картами, например с «метрошными» ультралайтами. Причем логика «нестабильности» мне не ясна до сих пор. Понятно, что в зависимости от мощности (конфигурации антенны) интерфейс может стабильно работать с картами на большем или меньшем расстоянии (чем мощнее – тем больше радиус действия). Тут же получается, что на расстоянии в пару сантиметров от антенны карточка читается, в вплотную нет! Положительного результата удавалось добиться, расположив карту поперек или на угол (т.е. минимизируя площадь расположения над поверхностью антенны) – странно. В общем, ограничившись парой самописных демок забросил я этот MiReader-50. Хотя не однократно были мысли позаниматься им еще, да руки не доходили. А тут в свете ардуин и микроконтроллеров, достал MiReader-50 в очередной раз – и взглянул на него и его архитектуру уже чуть более «продвинутым» взглядом.
И так: MiReader-50 в некоторой степени можно назвать «ардуино-подобной» системой: построен на базе контроллера ATmega64; подключается к компу через преобразователь (USB<->COM) FT232; радиочастотная часть (читай щит – в терминах ардуины) построена на микросхеме FM1702NL (клон филипсовской MF RC530). А вот антенна действительно выполнена в конструктиве «щита», ввиду чего была еще сразу мысль ее заменить - дабы улучшить работу ридера (вот только на что? – экспериментировать? – в общем, руки не дошли).
На плате имеется 10-ти контактный разъем ISP для меги (код защищен от считывания). Также присутствует преобразователь уровней (TTL<->RS232 – для варианта подключения на COM-порт) - перемычками можно выбрать к какому интерфейсу подключаем ридер - USB или COM-порт (требуется распаять). Из особенностей еще могу отметить, что радиочастотная микросхема (FM1702) достаточно сильно греется (настораживает, однако, но работает).
Так как в описании данного ридера есть информация как с ним общаться через COM-порт, была мысль подключить его к ардуине (правда зачем? – если с ним и так можно работать например из программы на Delphi) – разве что для мобильности финального приложения. Как подключить? Ридер уже имеет COM-порт – поэтому вроде вопрос должен быть снят. Но, во-первых корпус ридера не предусматривает изящного вывода лишних проводов и разъемов из него (городить кустарщину не хотелось), во-вторых – занимать единственный COM-порт ардуины и терять возможность консольной отладки скетча – тоже не есть гуд. С появлением USBHost-щита появилась возможность (вроде как) подключить его через USB-преобразователь – правда скетч для работы с ридером обрастал бы кодом работы с микросхемой хоста и конвертора … Но до этого руки тоже не дошли. А я решился купить специализированный RFID-щит, о котором я уже как-то упоминал.
Чем заинтересовал меня именно этот щит. Конечно, удобно иметь нужный тебе для экспериментов функционал полностью расположенный на щите (как в данном случае), чем городить огород (эскизы которого я набросал чуть выше).
Однако в значительно большей степени меня заинтересовала возможность подержать в руках и потестировать именно ту радиочастотную микросхему, на которой собран данный RFID-щит – NFC PN532. Согласно документации эта микросхема может работать в двух направлениях. Т.е. не только как интерфейс для взаимодействия с RFID-картой, но и эмулировать карту – а это уже более интересный спектр для исследований.
Тема открыта. Надеюсь, найдется время на ее продолжение.
А пока (еще раз) некоторые ссылки:
MiGeRA (март 2012)