ZX Hard #02
28 октября 1999
  Железо  

 ────────────────────────────────────────
       ЦАП: метод динамического
          разделения каналов
 ────────────────────────────────────────

(c)VTS'98-99

    Не знаю, как ЭТО называется по-научно-
му,  и  называется  ли вообще ;). А я буду
называть  сей способ Методом Динамического
Разделения  Каналов (МДРК), благо придумал
я его самостоятельно.

    Итак,  сейчас  я расскажу как с одного
ЦАП'а вытащить побольше каналов.

    ┌────┐    ┌────┐      ┌────┐
    │RG >│    │ЦАП>│ │   │ │ ─┼──── A
 D ═╡    ╞════╡    ├─┤ >─┐│ │ ─┼──── B
0-7═╡8bit╞════╡8bit│ │/  ││ │ ─┼──── C
    │    │    │    │     ││ ┼ ─┼──── D
 A  ├────┤    └────┘     └┼─┘  │
0-1═╡2bit╞═══╗            ├────┤
    └─┬──┘   ╚════════════╡ADR │
WR    │        2-5M       └────┘
ЦАП───┘       ┌─══─┐
              │    │         ──┐
         2-5M ││  │           ┤ и так
A(BCD)──┬─══──┴o >─┴──>A(BCD)  ┤
        ╪     ┌┤/ высокооммый  ┤ 4 раза
        ┴     ┴   усилитель    ┤
    запоминающий               ┤(A,B,C,D)
    конденсатор              ──┘


    Итак,  обычно  на  каждом канале стоит
свой  запоминающий цифровой регистр, далее
ЦАП и выход канала. Но можно сделать иначе
-  перенести запоминающий элемент в анало-
говую  часть,  где он представляет из себя
простой  конденсатор. При этом понадобится
только  один регистр, один ЦАП, аналоговый
ключ  (аналог  вывода  стробирования у ре-
гистра)  на  каждом канале и сам конденса-
тор. Но тут есть свои проблемы. Во-первых,
за  счет утечки будет происходить разрядка
конденсатора.  Поэтому он должен иметь ка-
чественный диэлектрик и подключаться к вы-
сокоомному  усилителю.  Кроме  того, нужна
регенерация. Во-вторых, инерционность кон-
денсатора  проявлятся не только при разря-
де, но и при заряде. Т.е. нужно обеспечить
min  сопротивление  цепи заряда - в первую
очередь  это касается аналоговых ключей. А
чтобы  увеличить  время  заряда, будем ис-
пользовать не длительность строба записи в
порт  (iorq,wr), как для цифрового регист-
ра,  а весь промежуток между командами OUT
в канал. Для этих целей необходимо на вхо-
де  защелкивать данные для ЦАП и адрес ка-
нала, которому эти данные предназначаются.

    А  теперь опустимся на грешную землю и
немного посчитаем.

    Итак,  сопротивление цепи заряда - по-
рядка  250 Ом (питание ключей 10-15v), min
время заряда t1. Сопротивление утечки при-
мем  5 МОм, время разряда t2. Емкость кон-
денсатора  C. Погрешность установки напря-
жений  -  3%  (фактически  - max возможный
уровень шума от метода ДМРК).

    Формула заряда конденсатора:

    U = E*(1-e^(-t/т))              (1)

    Формула разряда:

    U = Uo*e^(-t/т)                 (2)

    где U - напряжение на конденсаторе,
    E - ЭДС источника тока,
    Uo - начальное напряжение на конденса-
торе,
    e=2.718... - основание натуральных ло-
гарифмов,
    т=RC - постоянная времени,
    t  - время заряда (разряда) - аргумент
функциии.

    Отсюда имеем следующее:

    Для заряда:

    т = t/(-ln Q)                   (3)

    Для разряда:

    т = t/(-ln(1-Q))                (4)

    где t - время заряда (разряда),
    Q - погрешность установки (сохранения)
напряжения.

    имеем:

    т1 = R1*C = 250*C    ;заряд
    т2 = R2*C = 5e+6 *C  ;разряд
    т2/т1 = R2*C/R1*C = R2/R1 = 20000

    Q=0.03

    -ln Q = -lnO.03 = 3.5
    -ln(1-Q) = -lnO.97 = 0.03

    можно также записать:

    т2/т1 = (t2/0.03)/(t1/3.5) =
          = (t2/t1)*117

    но т2/т1 = 20000:

    t2/t1 = 20000/117 = 171

    т.е. для нормальной работы с указанной
погрешностью  и указанными сопротивлениями
заряда/разряда,  время разряда должно быть
в 171 раза больше времени заряда.

    Зададимся    конкретными   значениями.
Итак, min время заряда равно времени между
двумя  подряд  идущими командами OUT, т.е.
11  тактов  CPU.  В  турбе 7 МГц, в худшем
случае,  с  коротким IORQ, это время равно
11*0.14  = 1.5Чмкс. Тогда max время разря-
да,  т.е.  период  регенерации будет равен
1.54*171 = 263 мкс, отсюда min частота ре-
генерации  3.8кГц.  В случае digital sound
это и есть min частота дискретизации.
    Реально время заряда будет больше (за-
чем  ставить подряд OUT'ы ?), а период ре-
генерации  - меньше (для сэмплов на 8кГц -
12Smkc).  Это  позволяет уменьшить Q, т.е.
улучшить качество.

    Для расчета емкости нужно посчитать т1
либо т2.

    Например, из формулы (3):

    т1 = t1/(-ln Q) = 1.54/3.5 = 0.ЧЧмкс,

т.е. 4.4e-7 сек. Отсюда:

    C = т1/R1 = 4.4e-7/250 = 1.76e-9 Ф,

т.е. 1760 пФ...

    p.s.: Есть, онако, способ свести шу-
мы  этого  метода  практически на нет. Я
пока не буду рассказывать, может кто сам
догадается  ;)  Схемка  будет,  конечно,
сложнее,  однако все равно проще класси-
ческой.







Other articles:


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Similar articles:
Entry - the contents of rooms.
Events - The Compo 2: The results of the vote.
News - Closing the Gate SPbZXNet <=> Internet. The new dial-up newspaper SPbZXWeek.
From the Editor - The plans of the publisher.

В этот день...   21 November