|
Любые виды проектных, дизайнерских и строительных работ в Украине и Киеве |
|
http://kiev-security.org.ua
Для изготовления карточки из софта понадобиться AVR studio и программатор BASCOM-AVR.
AVR studio, абсолютно бесплатный и полный, можно найти на http://www.atmel.com
BASCOM-AVR демо-версия, но вполне её хватит. Смотри здесь http://www.mcselec.com
Для жителей Украины нужно просто откомпилировать файл main.asm при помощи AVR studio. Сам процесс компиляции описан в документации AVR studio. Для других регионов придется немножко подправить main.asm. Нужно поменять сам дамп эмуляции. В процедуре loaddata четко просматривается механизм загрузки первых 16-ти байт дампа карточки. Поменять на дамп карточки (твоего города, страны) не составит труда.
ldi YH,high(cardaddr)
ldi YL,low(cardaddr)
clr r1
dec r1
; db $E8,$31,$7f,$ef,$1D,$A8,$88,$db,$00,$0f,$fe,$e0,$00,$FF,$6a,$3e
; пример дампа карточки УКРТЕЛЕКОМА
ldi temp,$e8 ; меняй на 1-й байт дампа твоей карточки
st Y+,temp
ldi temp,$31 ; меняй на 2-й байт дампа твоей карточки
st Y+,temp
ldi temp,$7f ; меняй на 3-й байт дампа твоей карточки
st Y+,temp
...
В результате компиляции должен получиться файл main.hex, который необходимо прошить в саму микросхему.
Если у Вас есть программатор и железо к нему, то вы знаете, как это сделать. Если Вы впервые сталкиваетесь с программированием AVR серии можно воспользоваться BASCOM-AVR. Для этого нужно подключить чип к LPT порту при помощи 5-ти проводков.
LPT pin | CHIP pin |
2 | 5 (MOSI) |
4 | 1 (RESET) |
5 | 7 (SCK) |
11 | 6 (MISO) |
18-35 | 4 (GND) |
+5v | 8 (VCC) |
Незабудте запитать чип.
При программировании убедитесь, чтобы был выставлен фйюз отвечающий за On-chip RC-Oscillator.
Схема включения чипа на карточку (готовые платы с процом можно приобрести на киевском радиобазаре)
Несколько слов о AVR и прошивке. AT90S2343 - риск процессор, похож на PIC16F8x но помощнее. В отличие от PICа имеет на борту RC-Oscillator на 1 MHz, что позволяет затактовать чип без дополнительных устройств.
Программка реализована так, что при подаче питания на карточку в памяти AVRа создается стартовый образ дампа телефонной карточки. В дальнейшем прога эмулирует действия телефонной карточки, пока не пропадет питание. При следующем использовании карточки она опять будет полной.
В аттаче к письму я не нашёл упоминаемый в тексте main.asm. Прилагались только документ, текст которого приведен выше, схема включения и прошивка для проца. Так что для внесения исправлений в программу 90S2343 придётся пользоваться дизассемблером.
Декабрь,8 , 2001
На досуге дизассемблировал main.hex, загнал файл в AvrStudio. Убрал ошибку с попыткой записи в SPH (нет такого в 2343, но сама по себе команда допустима и ни к чему плохому не приведёт). Определил некоторые регистры, ноги проца, переименовал метки переходов... короче получил main.asm. У кого есть желание разобраться с принципом работы, чего-то подправить, пожалуйста. На мой взгляд - прошивка вполне рабочая (для чугунок :). А вот совать такой эмулятор в Телекард-101 можно и не пытаться. Ножка I/O постоянно направлена на выход, при авторизации со стороны 101го будет попытка передать по шине I/O байты и тут может возникнуть конфликт. По документации, мах ток ноги 2343 - 40мА. Ситуация, когда на I/O AVR выставит "1", а со стороны 101го будет "0", проверит нагрузочную способность 2343 (а заодно и токовое ограничение линии данных в "синем" :).
Для экспериментов с "синими" требуется линия с открытым коллектором (ОК). Есть такая в ATiny12. PB5, если не используется для внешнего сброса, при конфигурации на вывод является оpen-drain output.
Для обычных портов много решений. Навскидку -
можно ставить диод |
можно транзистор |
полевик...
В общем, начинается плавный переход к эмулятору для Телекард-101.
Но это уже другая история.
<a href="http://kiev-security.org.ua" title="Самый большой объем в сети онлайн инф-ции по безопасности на rus" target="_blank"><img src="http://kiev-security.org.ua/88x31.gif" width="88" height="31" border="0" alt="security,безопасность,библиотека"></a> |