Емулятор таксофонної картки (частина 3)
Крок другий (продовження). Стандарт ISO7816.
Вітаю всіх, хто ще залишився вірним нашій справі - ФРІКІНГУ. Каюсь, посипаю голову попелом і знову каюсь, що не подавав ознак діяльності більше місяця. Але, як кажуть французькі хакери - се ля Віндовс. Так, так, все так і було: спочатку впала ось, потім кілька тижнів йшли рятувальні роботи, потім злий начальник :( відправив у далеку відрядження, потім я вирішив змінити роботу, і поки я розбирався з усіма цими питаннями, пройшов вказаний період часу. Дякую всім, хто підтримував рубрику в період моєї відсутності, як своїми коментарями, повідомленнями, так і статтями. Особлива подяка MoloT'у, адже він ледь не знищив весь мій освітньо-пізнавально-практичний цикл статей про таксофонні карти своєю статтею про емулятор. Так, річ у нього описана крута, звісно, але ... факт є факт: схему зажав? - зажав, детальне опис роботи навів? - не навів, а сам девайс у тебе фунциклірує? Так?! Чудово, але що ти будеш з ним робити, коли знову змінять розкладку контактів або тип чипа? Не працює? А чому? І я не знаю. Тож, давай розберемося з цим до кінця, зрозуміємо, як воно працює і зберемо свій девайс, не гірше Молотовського. Отже, наскільки я пам'ятаю, ми розглянули основні етапи спільної роботи карти та якогось інтерфейсного пристрою (таксофона, тобто). Продовжуємо: Встановлення карти в початковий стан (Reset):
- усі лінії встановлюються в стан низького рівня;
- подається напруга живлення VCC;
- сигнал I/O на інтерфейсному пристрої встановлюється в режим вводу;
- на відповідний контакт (RST) подається високий рівень протягом 50 мкс, після чого сигнал встановлюється в низький рівень.
Початкова установка карти в даний час використовується не у всіх чипах, раніше це було продиктовано особливістю внутрішньої архітектури чипа, що не дозволяла визначити його поточний стан без повного скидання. Чипи нового типу позбавлені цього недоліку, що й призвело до виключення цього контакту з карт.
Очікування стану готовності карти. По суті, це останній штрих попереднього етапу, оскільки інтерфейсний пристрій визначає готовність карти за появою сигналу високого рівня на виході I/O після закінчення сигналу RST.
Обмін інформацією між картою та інтерфейсним пристроєм. Тут, якщо не вдаватися в технічні подробиці, не лізти в дебрі діаграм і не морочити собі та іншим голову, то вся суть стандарту зводиться до стандартного: карта може працювати в двох режимах: асинхронному та синхронному. У першому з них дані передаються на лінію I/O в асинхронному напівдуплексному режимі. У другому режимі все те ж саме, але лише передача даних синхронізується сигналом CLK. І в тому, і в іншому випадку, обмін даними здійснюється пакетами по 8 біт, тобто по 1 байту. За винятком маленьких технічних нюансів, весь режим передачі даних повністю аналогічний передачі даних по паралельному (LPT) порту в першому режимі і по послідовному (COM) - у другому. Деталі щодо порядку слідування та призначення окремих бітів опускаю, оскільки це суто технічні деталі, які кожен бажаючий може знайти в оригіналі стандарту ISO-7816. Хоча, якщо більшість виразить своє бажання, я можу і описати все це. Відключення контактів. Ну тут все елементарно: вириваємо карту і все. Але це у нас так, а за стандартом відключення карти відбувається так:
- на всі контакти подається низький рівень;
- відключається напруга програмування (Vpp);
- відключається напруга живлення (VCC).
Саме ці дії і виконує таксофон, коли ти натискаєш кнопку скидання. Ось такий він, цей стандарт ISO7816. Як бачиш, нічого складного. На цьому ми нарешті завершуємо другий крок, і наступним нашим кроком буде зчитування інформації з карти, тобто збірка простішого апаратного забезпечення та написання простішого програмного забезпечення. Не лякайся слів "простіший" - це не фуфло, все дійсно просто.
При всій повазі до вас, Андрій Вікторович, йшли б ви зі своїм мненням кудись подалі (ще раз прошу вибачення). Мій безсонний червень дав мені відчутний результат. Емулятор на 16F84A. Так, - щось не віриться, що ви брали участь у якійсь там розробці. Закупили таксофони за кордоном і під них картки. Не соромно !!! Знаєте прислів'я? - "Все, що було придумано одним чоловіком, може бути повторено іншим".
так НЕ БУДУТ працювати ніякі емулятори на реальних таксофонах (принаймні МГТС) це я вам кажу як людина, яка брала участь у розробці всієї системи ;)
Навіщо збирати емулятори, коли можна перезаписати заводську карту.
до речі, ці телефони дуже легко відкриваються монтажкою, сам пробував
Тут переказана третя частина стандарту ISO7816. Увесь прикол полягає в тому, що таксофонні карти третьої частини стандарту ISO7816 НЕ ВІДПОВІДАЮТЬ! Вони відповідають лише першим двом. Що стосується скидання, то, для найбільш популярних в Росії таксофонних чипів, він виробляється подачею позитивного імпульсу Clk при піднятому в одиницю Rst.
Я підтримую Molota, вважаю, що у нього найдоступніший варіант емулятора, і про принцип дії там написано. Не зрозуміють його тільки ті, хто в руках паяльника не тримав.