Искусство схемотехники. Том 3 (Изд.4-е)
Шрифт:
Хороший усреднитель сигналов постоянно показывает на экране дисплея накопленную форму сигнала (хранящуюся в 1000 или около того каналов) и предоставляет вам широкий выбор ширины каналов («задержки на ячейку»), режимов запуска, масштаба изображения и т. д. Многие из этих возможностей мы реализуем в нашей разработке, однако далеко не все, иначе описание прибора выйдет за рамки главы. Из всего многообразия возможностей мы отобрали набор функций, который позволит продемонстрировать весь диапазон программных приемов и компромиссных решений, но и не даст нам унестись на крыльях мечты в царство идеальных усреднителей сигналов.
Характеристики. По причинам, которые будут описаны позже, мы решили снабдить прибор обычной управляющей (передней) панелью с надписанными переключателями вместо того, чтобы использовать современную методику с клавиатурой и экранными меню. В результате
Мы решили ограничиться фиксированным числом каналов (256) с широким диапазоном их ширин. Поскольку усреднитель сигналов используется для исследования периодических явлений двух видов - с собственным внутренним периодом (например, океанские приливы) и запускаемых периодически нами (например, нервные импульсы или резонансные явления), мы предусмотрели два режима развертки: с внешним запуском, когда прибор ждет внешнего сигнала, чтобы начать цикл развертки, и с автозапуском, когда циклы развертки следуют друг за другом непрерывно. Далее, мы предусмотрели два способа завершения процедуры усреднения сигнала: по определенному заранее числу разверток и по нажатию на кнопку «стоп». В последнем случае усреднение завершается после окончания очередной развертки. Для наблюдения усредненного сигнала на экране ЭЛТ (с непрерывным обновлением изображения) мы формируем аналоговые X и Y сигналы (вместе с сигналом подсветки Z). При этом масштаб изображения можно изменять в широких пределах умножением на 2n; имеется также режим «автомасштабирования», в котором данные непрерывно пересчитываются (нормализуются) в соответствии с числом выполненных разверток. Наконец, на управляющую панель выведены ЭЛД, индицирующие состояние (ожидание, развертка) и логические выходные сигналы, характеризующие наличие развертки и конец развертки. Ниже приведены характеристики нашего усреднителя сигналов.
Диапазон аналогового входного сигнала: ±5В
Число каналов: 256
Внутреннее представление: 32-разрядные целые со знаком
Ширина канала: от 100 мкс до 1 с, с интервалами 1-2-5
Накопление: конечное суммирование (сумма 100 мкс-выборок)
Определяемое заранее число разверток: от 1 до 20000, с интервалами 1-2-5
Режимы развертки: внешний запуск; периодический (автозапуск)
Режимы наблюдения: с выбором масштаба (изображение, выходящее за верхнюю границу экрана, переносится вниз); с автомасштабированием
Масштаб изображения: от 1 до 16К входного диапазона, ступенями с умножением на 2
Входы: аналоговый сигнал, внешний запуск развертки
Выходы: X, Y, Z (на ЭЛТ), РАЗВЕРТКА, КОНЕЦ
Дополнительное управление: ПУСК, СТОП, СБРОС (перезагрузка)
На рис. 11.15 показаны входные и выходные сигналы микропроцессорной платы.
Рис. 11.15. Входные, выходные и управляющие сигналы усреднителя сигналов. «ЭЛД» обозначает порт индикации (см. рис. 11.10); «А», «В» и «С» относятся к битам параллельного порта 8536.
Для всех цифровых сигналов мы использовали параллельный порт 8536, причем направление и полярность сигналов соответствующим образом программируются; все цифровые входы, на которые поступают сигналы от органов управления, должны быть подключены через резисторы к уровню +5 В и заземляться при замыкании ключа. В схемах устранения дребезга нет необходимости, поскольку дребезг мы устраним программно.
Аналоговый фильтр имеет особое значение и заслуживает некоторых пояснений. Если вы получаете короткие периодические выборки значений непрерывного аналогового сигнала с частотным спектром конечной ширины (при максимальной частоте, присутствующей в сигнале, f, вы сохраняете входную информацию лишь если выборки следуют с частотой 2fмакс и более. Если же этот критерий Найквиста не удовлетворяется, происходят странные вещи; конкретно, на рис. 11.16 показано
Рис. 11.16. Возникновение побочной низкочастотной составляющей в результате субдискретизации.
Это вроде бы просто, но как быть с тем обстоятельством, что ширина канала и, следовательно, частота дискретизации в нашем усреднителе перестраивается? Можно установить на входе регулируемый фильтр низких частот (например, фильтр с коммутируемыми конденсаторами и программно управляемой тактовой частотой) и настраивать его согласно ширине канала; это допустимо, так как если вы выбираете большую ширину канала, высокие частоты вас все равно не интересуют. Однако можно поступить проще. Заметьте, что при интегрировании (усреднении) сигнала в течение ширины канала вы получаете низкочастотный фильтр с автоматической регулировкой. По этой причине на входе усреднителя сигналов иногда устанавливают преобразователь напряжения в частоту (микросхема высокой степени интеграции). Мы используем, в сущности, тот же подход: дискретизация аналогового входного сигнала всегда осуществляется на частоте 10 кГц (при этом для устранения наложения спектров входной сигнал фильтруется низкочастотным фильтром с граничной частотой 5 кГц, соответствующей частоте дискретизации); при больших периодах дискретизации осуществляется эффективное интегрирование сигнала за счет сложения соответствующего числа последовательных отсчетов. На рис. 11.17 показано, как могла бы выглядеть передняя панель прибора.
Рис. 11.17. Передняя панель усреднителя сигналов.
Отсутствующие возможности. Полезно пояснить, что именно мы не включили в нашу разработку, и почему. Мы не поддались повальному увлечению экранными меню по следующим причинам. Во-первых, приборы с управлением от клавиатуры нас часто раздражают, так как все они работают по-разному, и вам приходится постоянно переучиваться. Во-вторых, они замедляют вашу работу — для того лишь, чтобы переключать шкалу, вам надо набирать команду на клавиатуре. Наконец, управление от клавиатуры с помощью экранных меню требует разработки программ анализа введенных строк и формирования на экране изображения меню — программ, не представляющих интереса с педагогической точки зрения. Поэтому мы решили считывать состояния органов управления на передней панели с помощью параллельного порта; это быстрая и простая операция, хотя она ограничивает возможности выбора режимов и уменьшает универсальность прибора.
Можно перечислить еще целый ряд дополнений, которые улучшили бы наш прибор, но мы от них отказались, чтобы не усложнять описываемую здесь программу. Можно было предусмотреть второй аналоговый вход (микросхема 670 содержит два АЦП), переменное число ячеек, несколько «банков» памяти для хранения данных, цифровые выходы для индикации номера текущей ячейки, а также аналоговые сигналы, пропорциональные номеру ячейки (для контроля аналоговых величин). Это все довольно очевидные, но не принципиальные усовершенствования; более важной является возможность пересылать накопленные данные в микроЭВМ, для чего лучше всего использовать один из последовательных портов.
Даже в рамках выбранной нами конструкции можно было ввести дополнительные режимы. В частности, микропроцессорная система с аналого-цифровыми и цифро-аналоговыми преобразователями значительно выиграет при включении в нее аналоговых мультиплексоров, позволяющих связать выходы ЦАП со входами АЦП. В этом случае вы сможете выполнять программное тестирование всех преобразователей в качестве элемента общей процедуры тестирования при включении питания (куда также входит проверка памяти, портов и т. д.). Можно даже проверять, с помощью АЦП, напряжение (я) источника питания.