Емулятор таксофонної картки (частина 5)
Ну отже, після довгого вашого очікування і моєї наполегливої праці на світ нарешті з'явилося це творіння, яке ви маєте задоволення читати. В основі побудови емуляторів різних карт лежить наступний принцип. Оскільки пам'ять смарт-карти складається з перезаписуваного блоку і неперезаписуваного, причому телефонний апарат пише лише в перезаписувану область, то що заважає нам читати інформацію з нової карти і зберігати її десь? Нехай алгоритм роботи телефону залежить від вмісту "неперезаписуваної" області пам'яті, і вона у кожного екземпляра картки індивідуальна, але ж ця область незмінна! Єдиним недоліком даного методу можна вважати досить велику трудомісткість реалізації, але це компенсується тим, що на основі цього принципу реалізуються емулятори практично всіх карт, включаючи навіть SIM-карти стільникових телефонів.
Реалізацію емулятора на цьому принципі можна здійснити двома шляхами. Перший полягає в тому, що збирається логічна схема, що реалізує всю логіку роботи схеми "апарат-карта". Прикладом може служити емулятор, описаний Molot'ом. Однак схема виходить досить громіздкою. Другий же спосіб, який і описується нижче, оснований на використанні мікроконтролерів. В основному, пропонують використовувати мікроконтролери з PIC-серії, однак запрограмувати такий контролер - це справжня морока. І чомусь всі забувають про наявність (во сказав-то!) контролерів інших серій, включаючи наші, вітчизняні. Але використовувати останні не рекомендую через їх великий і могутній розмір. Найбільш прийнятним на мій погляд є використання мото́ролівського контролера МС68НС705К1. По-перше, його досить легко знайти, по-друге, він дешевий, по-третє, купа функцій, ну і, по-четверте, софт для програматора я витягнув з Інтернету за 59 секунд. Отже, все дуже просто. Збираємо програматор за схемою, наведеною на рисунку progr.gif.
Програмуємо його прошивкою 705K1_S19.txt за допомогою програми prog05k.exe. Збираємо емулятор за схемою emulator.gif. Архів з усіма цими файлами ви можете скачати тут (. Все. Джин випущений з пляшки. Його Величність Емулятор готовий до роботи. Конструкцію емулятора я не описую, думаю, кожен знайде щось прийнятне для себе. У мене, наприклад, він вийшов цілком зібраним на таксофонній карті. Ось так. Користуйтеся на здоров'я. Якщо у когось виникнуть питання по прошивці, то єдине, що можу сказати, це те, що вона записана в спеціальному форматі фірми Моторола, формат цей називається S19 і досить добре описаний на сайті цієї фірми.
Там же описаний і сам мікроконтролер. Тому, якщо комусь потрібні подробиці - дорога тому на мото́ролівський сайт. Ну і, як зазвичай, якщо що - пишіть.
З.І. На цьому цикл статей, присвячених емулятору таксофонної картки, прошу вважати завершеним. Велике спасибі всім за відгуки та листи. Особливу подяку хочу висловити Ivan Osipov і Molot'у, а також усім, хто не полінувався написати мені листа або залишити повідомлення у відгуках.
З.З.І. Я так думаю, що ця тема не буде закрита. У моїх планах дослідження карток, що використовуються у всіх регіонах необ'ятного СНД і коригування викладеного мною матеріалу відповідно до оновлених даних, а також написання чогось на кшталт User Manual з цього питання з включенням у нього купи додаткової технічної інформації. Однак я думаю, що розповсюдження цього мануалу буде вже платним. Тому, бажаючі отримати екземпляр цього мануалу безкоштовно, можуть внести свій вклад у цю справу. Досить буде надіслати мені поштою зразки карток, що використовуються у твоєму регіоні, і, вважай, справа зроблена. Термін виходу мануалу в світ - січень-лютий наступного року. Сподіваюсь, мене не осудять за цю ідею, врешті-решт, моє діло запропонувати, а вже купувати потім цей мануал чи ні - справа кожного.