Переделка устройства чтения магнитных карт MSR206 RS232 на USB

Tomcat

Professional
Messages
2,656
Reputation
10
Reaction score
647
Points
113
img_0853.jpg


Как вы могли заметить, иногда я подрабатываю фрилансером в электронике =) Это касается не только ремонта компьютерной электроники и мобильных телефонов, но и ремонта, модификации и проектирования собственных решений в бытовой электронике. Один из проектов, над которым я работал вчера, — модификация устройства чтения магнитных карт MSR-206 для замены порта RS232 на USB. Позвольте мне рассказать вам об этом…

img_0830.jpg


Это было очень срочно, поэтому вчера мне пришлось прервать свою обычную работу и сконцентрироваться на этом проекте. MSR-206 — довольно впечатляющая технология, несравнимая с дешевыми считывателями магнитных карт eBay. Он даже включает в себя источник питания постоянного тока 24 В, 2,2 А, который довольно тяжелый и заставляет задуматься о дешевых USB-кардридерах мощностью 2,5 Вт: действительно ли они подходят для большинства приложений, когда кто-то выпустил такую мощную вещь только для выполнения той же задачи? Внутри он тоже какой-то современный… Ну, может, это я просто привык видеть много китайской всячины в разобранном виде =)
К сожалению, он тоже довольно старый – у него только порт RS232 в виде 8P8C (Ethernet-кабель)- фактор, не говоря уже о нестандартной проводке. Моему знакомому, работающему айтишником в одном отеле, пришлось заменить компьютер администратора на более новый. Однако он не думал о необходимости иметь COM-порт. Также был утерян оригинальный кабель COM-8P8C, и, естественно, дешевый кабель COM-8P8C для подключения к сетевому оборудованию не работал. Итак, есть отель, которому необходимо как можно скорее привести свое оборудование в рабочее состояние… Это означало замену RS232 на USB. RS232… Я сразу почувствовал внутри микросхему MAX232.

Итак – я разобрал этот картридер. Выглядит великолепно, не так ли?

img_0831.jpg


Хорошо, верхняя часть не имеет для нас большого значения. Вытащим печатную плату:

img_0833.jpg


С левой стороны вы можете увидеть что-то, связанное с источником питания. В любом случае логика работает от 5 В – так что мне не нужно присматриваться и проверять =)

img_0836.jpg


L293D? Ладно, возможно, внутри есть мотор или что-то вроде мотора =) Разбираться в этом не было моей задачей.. Хотя 3 штуки - это уже нечто. Я также не хотел видеть, что это за чип с наклейкой сверху — это должен быть MCU, и я знал, что для меня это не имеет значения, потому что я все равно этого не пойму =) Эти старые MCU — это PITA, когда вы придется как-то изменить содержимое ПЗУ или что-то в этом роде.

img_0837.jpg


Какие-то логические элементы… Ладно, это не то, что я ищу. Давайте посмотрим на нижнюю сторону печатной платы.

img_0838.jpg


Одинокий транзистор/регулятор… Не имеет большого значения.

img_0840.jpg


Еще несколько логических элементов, думаю, мне придется их изучить на случай, если кто-нибудь возьмет верх и реализует UART-RS232 с использованием буферизованных логических элементов.

img_0841.jpg


Уууу! Объект моего поиска. Как известно, MAX232 имеет внутри 2 элемента RS232->TTL(RT) и 2 элемента TTL->RS232(TR). Одна пара RT&T-R — это RX и TX. Другая пара обычно не используется… Обычно. Давайте отпаять микросхему и посмотреть, что на самом деле используется... Извини, наклейка, ты просто оказался не в том месте и не в то время. Ой. Используются все 4 элемента. Это означало бы метод проб и ошибок =( Именно в этот момент я понял, что надо попробовать Google. Что у меня есть? Руководство программиста! Распиновка, команды и так далее! Отлично!

img_0843.jpg


img_0844.jpg


Во-первых, в инструкции не упоминаются 2 из 4 линий, идущих от MAX232 к разъему 8P8C. Думаю, тогда они не столь значительны. Остальные две линии — это TX и RX, а подключение MAX232 точно такое же, как на этой принципиальной схеме:

circuit_232.jpg


Итак, я припаял 3 провода к GND, TTL RX и TTL TX. Зачем вам нужен чип, чтобы вы могли напрямую подключить USB к TTL? Вот тогда на сцене появляется преобразователь USB-UART. Он основан на чипе ARK3116, который работает в Linux и Windows. Думаю, пришло время сказать: какой позор, что драйверы Windows не имеют открытого исходного кода! Этот чип работает как с версиями Linux x32, так и с x64, но не работает с Windows x64 – именно той ОС, которую использует отель. Правда, на ресепшене установили ОС x32 – ПК еще не настраивался, и это было не так уж сложно. Эта плата такая маленькая, потому что она находилась внутри соединительного кабеля мобильного телефона.

img_0850.jpg


Итак, я припаял разъемы к кабелю, по которому передавались сигналы TTL (тот, который я припаял вместо MA232). Сначала я протестировал их на коммутационной плате FTDI – она гарантированно работала хорошо. Знаете, у меня раньше были проблемы с преобразователями USB-UART =) Я дал команду, которая включила все три светодиода-индикатора на плате… Не помогло. Я поменял местами TX и RX и – вуаля!

img_0848.jpg


Фото (извините, не скриншот) моего монитора – слева инструкция программатора, с другой терминал cutecom: Кстати, Cutecom - отличный последовательный терминал с графическим интерфейсом =) Теперь пришло время ARK3116 с припаянным к нему разъемом USB-B. . Именно тогда все пошло не так – у меня были проблемы с проводкой, проблемы с пайкой, проблемы с адаптером, проблемы с программным обеспечением и так далее. Примерно через час все наконец было в порядке:

img_0849.jpg


img_0851.jpg


img_0852.jpg


«[587.976696] USB 6-2: ark3116: не знаю, как выполнить программное управление потоком данных »
Извини, преобразователь, я тоже.
Это сработало… Единственная проблема заключалась в том, что дело не закрылось. Оказалось, что мне нужно переместить преобразователь в другое место. Вот так: Заклейте малярным скотчем: *надевает солнцезащитные очки* Чехол закрыт. Сейчас тестирую оригинальное программное обеспечение для чтения/записи карт только для Windows: Woohoo! Готов быть возвращен в отель.

img_0853.jpg


img_0854.jpg


img_0857.jpg


img_0858.jpg


img_0855.jpg


Еще одна вещь для моего портфолио в сфере внештатной электроники. Конечно, было весело это делать, и я надеюсь, что это кого-нибудь вдохновит. Теперь вернемся к написанию программного обеспечения для моего проекта таксофона на Arduino.
Кстати, моя подработка сейчас — тестирование программного обеспечения. Кажется, работа уже меня меняет — я нашел ошибку в тетрисе:

img_0859.jpg

тетрис-bsd из пакета bsdgames
 
Top