Звуковые сигналы с входного разъема JK2004 через делители R2401, R2402, R2403, R2404 и разделительные конденсаторы С2401. С2402 проходят на входы предварительных усилителей (выводы 1С2402Л,22).
Микросхема IC2402 содержит два идентичных усилителя. Схемотехника микросхемы CXA1279AS обеспечивает одновременную регулировку громкости, тембра и баланса в обоих каналах.
Регулировка усиления осуществляется управляющем напряжением VOLUME, поступающем на вывод 1С2402Л6 с вывода IC751/7.
Для регулировки громкости и выключения звука служат клавиши SW905 - SW907 (DOWN, UP и MUTE), выходные сигналы с которых подаются на выводы IC901/31,32,33 процессора управления.
При включении режима MUTE (выключение звука) загорается светодиод D941, на который поступает потенциал высокого логического уровня через ключевой транзистор Q904, управляемый сигналом с вывода IC901/26 процессора управления.
Регулировки тембра фиксированы. На вывод 1С2402ЛЗ подается напряжение с делителя R2407, R2408, определяющее частотную характеристику усилителей в области верхних звуковых частот, а на вывод IC2402/7 поступает напряжение с делителя R2405, R2406, определяющее частотную характеристику усилителей в области нижних частот.
На вход схемы регулировки баланса (вывод 1С2402Л5) подается постоянное напряжение с делителя R2411, R2412, при этом баланс усиления обоих каналов не регулируется.
Устойчивость работы предварительных усилителей определяется внутренними фильтрами верхних и нижних звуковых частот. Внешние элементы указанных фильтров (конденсаторы С2403, С2404, С2407, С2408) подключены соответственно к выводам IC2402/5.6.18.17.
Усиленные звуковые сигналы поступают с выводов 1С2402Й.14 через разделительные конденсаторы С2306, С2304 и ФНЧ (R2302, С2302 и R2301, С2301) на соответствующее входы двухканального усилителя мощности НЧ (выводы IC2401/2.5).
Через разделительные конденсаторы С2308, С2311 и систему фильтров к выходам усилителей мощности (выводы 1С2401/7. Ю) подключена нагрузка - малогабаритные звуковые колонки сопротивлением 8 Ом.
RC-цепочки С2309, R2303 и С2310, R2304 предотвращают возбуждение усилителей мощности на высоких частотах.
Через разъем JK2002 к выходам усилителей мощности могут быть подключены головные телефоны. При этом звуковые колонки автоматически отключаются. Выходная мощность на головных телефонах ограничивается включенными последовательно резисторами R2305, R2306.
Отдельные каскады блока обработки аудиосигналов обеспечивают также питание входящего в его состав электретного микрофона, которое осуществляется через ограничительный резистор R2416.
Через разъем JK2001 к блоку обработки аудиосигналов может быть подключен внешний микрофон, при этом внутренний автоматически отключается.
Выходной сигнал микрофонов выводится из блока обработки аудиосигналов через разъем JK2003.
Питание каскадов блока обработки аудиосигналов осуществляется от цепи AUDIO_B.
Рис. 22. Функциональная схема блока обработки аудиосигналов.
Рис.23. Принципиальная схема блока обработки аудиосигналов.
Рассмотрим логический анализатор, имеющий в своем составе многоразрядное буферное ОЗУ с узлами управления и синхронизации.
Логический анализатор по своему назначению близок к осциллографу, так как он позволяет наблюдать на экране временные диаграммы сигналов. Но в отличие от обычного (не цифрового) осциллографа логический анализатор работает только с цифровыми двухуровневыми (реже трехуровневыми) сигналами, имеет большое количество входных линий (обычно от 16 до 64), работает в режиме однократного запоминания временных диаграмм (как запоминающий осциллограф) и имеет возможность предпусковой регистрации. Последнее требует некоторых пояснений (рис.1).
В отличие от обычных осциллографов, в которых развертывание формы входного сигнала начинается в момент запуска (то есть прихода внешнего сигнала запуска или превышения входным сигналом заданного уровня напряжения), здесь точка запуска может быть и в начале, и в середине, и в конце окна регистрации. Под запуском здесь понимается временная привязка процесса регистрации к исследуемому процессу. Запуском может служить, например, появление в потоке данных заданного кода или переход (фронт) на одной из входных линий. В этом случае оператор может видеть не только то, что происходило после запуска (как в случае с обычным осциллографом), но и то, что происходило до него.
Логические анализаторы делятся на синхронные (или анализаторы логических состояний) и асинхронные (или анализаторы временных диаграмм). Синхронные анализаторы работают от тактового генератора исследуемой схемы и фиксируют только временные сдвиги, кратные его периоду, а следовательно, выявляют только нарушения в логике работы схемы. Асинхронные анализаторы работают от собственного внутреннего тактового генератора, поэтому они измеряют абсолютные значения временных сдвигов и могут выявлять ошибки из-за неправильно рассчитанных задержек, из-за емкостных эффектов и т.д.
Рис.1. Предпусковая регистрация.
Они обычно делаются гораздо более быстрыми, чем синхронные анализаторы (рассчитываются на предельно возможную частоту регистрации).
Мы в качестве примера будем разрабатывать схему логического анализатора, не отличающуюся рекордными характеристиками ни в плане быстродействия, ни в плане количества разрядов, ни в плане развитости системы запуска. Достоинство ее в другом: она выполняется в виде платы расширения персонального компьютера, и, следовательно, при ее использовании оператор получает в свое распоряжение всю мощь этого компьютера: интеллект, средства ввода и отображения информации, дисковую память и т.д. В результате ценой незначительных дополнительных затрат (цена платы) мы можем превратить компьютер (на время или навсегда) в эффективный и очень удобный логический анализатор.
Исходные данные для проектирования примем следующие: количество входных линий (каналов регистрации) - 32, количество регистрируемых состояний - 4096, максимальная тактовая частота - 10 МГц, тактовый генератор - внутренний с изменяемой частотой или внешний, запуск - по положительному или отрицательному переходу на одной из 8 входных линий, глубина предпусковой регистрации - задается программно.
Первый этап проектирования в соответствии с описанным алгоритмом - предварительная оценка интерфейсной части. Прежде всего посмотрим, какие режимы обмена с магистралью нужны в данном случае. Для обеспечения нужного темпа приема данных (до 10 МГц) совершенно необходимо буферное ОЗУ, обмен с которым должен быть периодическим: при регистрации оно заполняется в темпе тактового генератора, по окончании регистрации его содержимое считывается компьютером. Нужно ли максимально ускорять этот процесс считывания? Зарегистрированная информация должна обрабатываться и отображаться на экране с целью анализа ее оператором. Этот процесс неизмеримо более длительный, чем перекачка информации из буферного ОЗУ в системное ОЗУ компьютера. Поэтому в данном случае особой скорости обмена, по-видимому, не требуется. Конечно же, можно организовать 16-разрядный обмен с нашим УС, дающий большой выигрыш во времени по сравнению с 8-разрядным обменом, но зато он требует дополнительных аппаратурных затрат (вдвое больше буферов данных, формирование сигнала - I/O CS 16). К тому же в этом случае усложняется проектирование печатной платы (нужен второй магистральный разъем). Исходя из всех этих соображений, имеет смысл остановиться на 8-разрядном обмене и отказаться от использования ПДП.
Что касается прерываний, то для логического анализатора их использование очень желательно, если не необходимо. Ведь между началом регистрации и ее окончанием, связанным исключительно с приходом запуска, может пройти довольно большое время. Целесообразно предусмотреть возможность выполнения в этот период компьютером других задач. Поэтому прерывание по окончании регистрации мы будем формировать, что, впрочем, не исключает необходимости чтения флага готовности.
Таким образом, интерфейсная часть нашего одноплатного анализатора должна обеспечивать следующие параметры. Количество адресов УС в адресном пространстве устройств ввода/вывода - 5, из которых четыре используются для чтения зарегистрированных данных, а один - для чтения флага готовности. Для записи управляющего слова будем использовать два из этих пяти адресов (надо записать глубину предпусковой регистрации, код выбора тактовой частоты, код выбора запуска). Используем одно прерывание по окончании регистрации. Как видим, ничего сложного здесь нет, поэтому к интерфейсной части мы не возвращаемся.
Переходим к операционной части. Основные ее узлы: буферное ОЗУ объемом 128 Кбит с организацией 4К х 32, счетчик для перебора адресов, внутренний тактовый генератор с программно изменяемой частотой, схема запуска и входные буфера для регистрируемых сигналов.
ОЗУ целесообразно выполнить на многоразрядных микросхемах (для снижения количества корпусов). Требования к его быстродействию в данном случае невысоки (при максимальной тактовой частоте 10 МГц в течение 100 не необходимо переключить счетчик адресов и записать входную информацию в ОЗУ). Таких микросхем, особенно зарубежного производства, достаточно много.
От счетчика требуется максимальное быстродействие (можно взять, например, микросхемы КР531ИЕ17, которые достаточно легко каскадируются без потери быстродействия). Кроме простого перебора адресов счетчик должен также обеспечивать предпусковую регистрацию. Остановимся на этом несколько подробнее. Для того чтобы реализовать предпусковую регистрацию, необходимо до прихода запуска непрерывно переписывать содержимое буферного ОЗУ по кругу (рис.2). Если мы выбираем глубину предпусковой регистрации N тактов, то надо остановить регистрацию через (4096 - N) тактов после прихода запуска. Затем надо считывать содержимое ОЗУ, начиная с точки остановки с перебором адресов в том же направлении, что и при регистрации. Проведя 4096 операций чтения содержимого ОЗУ, мы получим N тактов до запуска и (4096 - N) тактов после запуска, то есть моменту прихода запуска будет соответствовать адрес ОЗУ, считанный N-ым.