Немного о кварцевом генераторе или почему "умная мышь" не читает карту

oscillator KSS /ECS   Частота частота кварцевого генератора очень важна для установки скорости обмена с картой. Как я уже писал, скорость обмена информацией с картой сразу после сброса определяется по формуле 1/ETU , где ETU=372/частота_генератора_в_гц, т.е. скорость выдачи ATR составит (частота_генератора_в_гц/372) бит/сек.
   Если обмен информацией осуществляется через стандартный порт RS232 компьютера, то последний имеет только фиксированые значения скорости приема-передачи. Скорость для микросхемы UART 16550A определяется из соотношения   xtal_frequency_in_Hz / 16 / divisor , где divisor может принимать значения 1-65535 , а xtal_frequency = 1.8432 MHz. Это дает нам ряд значений {115200 , 57600, 38400, 28800, 23040, 19200, 14400, 12800, 11520, 9600, 7200, 5760, 4800, 3600, 3200, 2880 и т.д.}, причем многие из этих значений стандартным драйвером не поддерживаются.
   Это означает, что если карта в ATR запросит специфическую скорость передачи - стандартный RS232 может с этим не справиться.

Рассмотрим ATR карты Nargavision (карта выдает ATR на при установках 9600, 8, N, 2):

TS T0 TA1 TB1 TC1 TD1 TA2 TD2 TA3 TB3 TC3  H  i  s  t  o  r  i  c  a  l  bytes                          TCK
-----------------------------------------------------------------------------------------------------------------
3F  FF 95    00   FF   91    81   71   64   47   00   44 4E 41 53 50 30 30 33 20 52 65 76 33 36 39  F1
TS  = 3F => Тип передачи ИНВЕРСНАЯ. (помним, что при этом четностость вместо обычной 'even parity' должна быть 'odd parity')
T0  = FF => TA1, TB1, TC1, TD1 переданы. 15 ($F) исторических байт. 
TA1 = 95 => FI = 9, F=512, Fs Max= 5 MHz; DI = 5,  D=16 ; рабочее ETU = (1/16)*(512/Fs) = 32/Fs sec, где Fs - частота внешнего генератора
TB1 = 00 => II1 = 0, PI1=0. Programming Current = 25ma, Programming Voltage - No Vpp
TC1 = FF => N=255. Это означает что размер слова сокращен с 12 ETU до 11 ETU, т.е. нужно установить только 1 стоп-бит 
                               (1start bit + 8data bits + 1parity + 1stop = 11 ETU)
TD1 = 91 => TA2, TD2 передан. TB2, TC2 - нет. Субпротоколl: T=1
TA2 = 81 => Изменение режима запрещено, протокол : "async half duplex block format"
TB2 = 00
TC2 = 00
TD2 = 71 => TA3, TB3, TC3 is передан. TD3 - нет. Субпротокол: T=1
TA3 = 64 => Размер блока (Т1) 0x64 байт (100 десятичное)
TB3 = 47  =>Мах. время ожидания символа 25 bit ETU, мах. время ожидания блока 634.9 mSec + 11 ETU 
TC3 = 00 => Используется контрольная система LRC (XOR-type)
Исторические байты: 44 4E 41 53 50 30 30 33 20 52 65 76 33 36 39 
                   D  N  A  S  P  0  0  3     R  e  v  3  6  9 

Итак, если Fs=3.579545 MHz, то ETU = 8.939  uSec и скорость получится 118 600 бит/сек. При использовании генератора на 4.61 Mhz (такой установлен в тюнере) скорость составит 144 063 . Обозначился тупик. Единственный выход - подбирать частоту кварца.

Весьма подходящей кажется частота 3.6864 MHz. Почему  весьма - да  потому что такой резонатор серийно не выпускается (во всяком случае- в США). Однако, фирмами  EXO и ECS выпускается интегрированый генератор в обычном DIP копрусе со встроенным делителем 1-256 и есть подходящая частота 14.7456 MHz ( 3.6864  х 4 ).

С таким генератором все заработало великолепно. К тому же - если генератор установить в панельку и иметь набор генераторов : 14.318 MHz, 14.7456 MHz и 24.00 MHz то таким набором покрываются почти все известные карты. Именно такое решение применено в известных интерфейсах типа MK.

 

Карта страничек | Новости |Американский блок |Изменения на Транспондерах | Гостевая Книга


Редакция и оформление -
©Александр Борзов

СПб-Washington D.C..
SAT XPRESS
e-mail: aborzov@hotmail.com
Информация только для
частного использования!
Коммерческое использование
запрещено!

(Вся информацияа только в образовательных целях и не является пособием по несанкционированому просмотру телеканалов. Авторы не несут ответственности за использование приведенной информации)