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:
Exchange of experience - on how to operate in the assembly with the long numbers of type Long.
Zoom - news: the makers of newspapers Paragraph make the game, Phantom Family cvalili on pc, new members of the group 4D, Vyacheslav Mednonogov lost for Spectrum finally, Davos scored at the Spectrum, Lynx is working on a HTML viewer, the Group Sage "full of negativism", Kvazar ceases publication of the newspaper "Polesie", etc.

В этот день...   13 February