Выбрать главу

Если предположить, что связь с другим компьютером осуществляется через последовательный порт, имеет смысл использовать этот порт и в качестве альтернативной управляющей панели, чтобы внешний компьютер мог настраивать параметры и запускать накопление данных. Для этого специальная программа анализа должна «отлавливать» определенные байты, которые компьютер посылает в усреднитель, чтобы получить управление. С помощью дополнительных байтов определяются сами параметры (ширина канала, число разверток и др.), причем диапазоны изменения параметров не ограничиваются количеством фиксированных положений переключателей, как это имеет место в нашем приборе с управляющей панелью. Разумеется, надо предусмотреть программное обеспечение, переключающее прибор на управление от управляющей панели, если из компьютера не поступает запрос на управление. Это позволит нам и на земле погулять, и в рай попасть: простота настройки с помощью ручек на передней панели будет сочетаться с гибкостью компьютерного управления.

Чтение органов управления с плавной регулировкой. В описываемом микропроцессорном приборе нам удалось избежать сложностей, присущих органам управления с плавной регулировкой, так как мы использовали более простые устройства - переключатели, каждый из которых связан с одним из битов параллельного порта. Нежелание разработчиков усложнять себе жизнь привело к появлению неоправданной тенденции полного отказа от органов плавной регулировки, которые заменяются (например, в генераторе с микропроцессорным управлением) парами кнопок «вверх» и «вниз». Возможно, вы, как и мы, испытываете ностальгическое желание плавно покрутить ручки. Наш усреднитель сильно выиграл бы при наличии ручки, позволяющей выбрать определенный канал и вывести на экран его адрес и число отсчетов в нем.

Простейший способ организации плавного управления в микропроцессорном приборе заключается в использовании АЦП, преобразующего напряжение от переменного резистора, укрепленного на передней панели и подключенного между напряжением +5 вольт (или другим, более удобным) и землей. В продаже имеются небольшие дешевые микросхемы 8-битных АЦП, скомпонованных с 8-битными мультиплексорами и дискретизаторами с памятью; обычно у вас остается несколько свободных входов, которые можно использовать для чтения нескольких органов управления на передней панели. Можно даже с помощью АЦП прочитать состояние «-позиционного поворотного переключателя — достаточно подключить его выводы к цепочке из n — 1 резистора равной величины и подать на АЦП выходное напряжение!

Если вам нужно иметь лучшее разрешение, чем обеспечивает простой 8-битный АЦП, подумайте о многооборотном кодировщике. Он укрепляется на передней панели и имеет размер не больше обычного переменного резистора. Кодировщик содержит пару оптических прерывателей, формирующих, по мере вращения ручки, импульсы, сдвинутые по фазе на 90°. Сдвиг импульсов по фазе дает возможность определить, в каком направлении поворачивается ручка (см. рис. 8.97). В отличие от обычного переменного резистора, многооборотный кодировщик не имеет фиксатора, что и позволяет поворачивать его ось на много оборотов. Типичный узел такого рода серии Bourns EN формирует 256 импульсов на один оборот.

Микросхемы аппаратной поддержки микропроцессора

В нашем микропроцессорном приборе использованы 22 интегральные схемы, из которых 10 представляют собой мощные функциональные БИС (ЦП, память, параллельные и последовательные порты, календарь-часы, АЦП и ЦАП), а остальные 12, составляющие очевидное большинство, являются низменными вентилями, триггерами, буферами и фиксаторами. Эти микросхемы низкой и средней степени интеграции нужны для сочленения между собой больших микросхем и иногда называются «склеивающей логикой». Количество этого клея можно существенно уменьшить, если прибегнуть к помощи ПЛМ или даже (в условиях массового выпуска) заказных или полузаказных микросхем, специально разработанных под конкретную задачу. Тем не менее, фиксаторы и, особенно, тристабильные буферы используются весьма интенсивно во всех микропроцессорных системах, так что краткий обзор имеющихся возможностей вполне уместен. После этого мы коснемся некоторых распространенных поддерживающих БИС (последовательные и параллельные порты и преобразователи) и завершим главу обсуждением запоминающих устройств.