Чтение онлайн

на главную

Жанры

Искусство схемотехники. Том 3 (Изд.4-е)
Шрифт:

«Запоминание 1» для кнопки СТОП. При чтении состояния кнопки СТОП мы воспользовались полезным качеством микросхемы 8536, именно, наличием встроенного триггера «запоминания 1». При инициализации микросхемы 8536 можно придать свойство запоминания 1 любому биту входного порта; этот бит затем устанавливается при кратковременном нажатии на кнопку и удерживает это состояние до программного сброса при выполнении цикла записи в этот бит порта. Для нашего случая это очень удобно, потому что нам надо фиксировать нажатие кнопки СТОП только в конце развертки. Длительность развертки может составлять много секунд, и встроенная память позволяет избежать периодического считывания состояния кнопки СТОП; поэтому в нашей программе состояние бита СТОП анализируется только в конце развертки (см. рис. 11.21).

Большинство микросхем параллельных портов не содержит входной памяти, и вам может понадобиться запланировать в программе действия,

которых нам удалось избежать. Сделать надо следующее. Прежде всего определите внутренний программный флаг, который можно назвать stop__at__end (останов в конце); в программе это определение следует поставить после stop__flag. Не забудьте сбросить этот флаг перед входом в цикл приема данных; удобно это сделать после считывания состояния управляющей панели. Далее добавьте в цикл update__loop несколько команд, чтобы периодически проверять вход stop__bit и, если кнопка СТОП нажата, установить флаг stop__at__end. Наконец, измените строки обработчика прерывания так, чтобы в конце каждой развертки проверялась не кнопка СТОП, а этот программный флаг.

Упражнение 11.17. Впишите карандашом предлагаемые изменения в листинг программы.

Обработчик прерывания: несколько точек входа или флаги? В программе обработчика прерываний мы предусмотрели несколько входных точек, по одной на каждое возможное состояние прибора (бездействие, ожидание сигнала запуска, начало развертки, накопление данных). Поскольку обработчик прерываний не является вызываемой подпрограммой, и вход в него осуществляется по вектору, программа при каждом изменении состояния изменяет и точку входа, загружая ее адрес в ячейки вектора (в начале памяти). Очевидно, что вместо этого можно иметь в обработчике одну точку входа, а для передачи управления на требуемый программный блок предусмотреть строки анализа флага. В этом случае программа передает обработчику информацию о требуемых действиях путем изменения состояния программного флага (вместо того, чтобы настраивать вектор прерываний). Такой метод отличается простотой, однако программа выполняется медленнее, поскольку при каждом входе в обработчик осуществляются проверки и переходы. Разница, впрочем, не так уж велика, и вы вполне можете изменять функцию драйвера с помощью флагов, если этот способ вам нравится больше.

Последовательный порт: дамп данных и управление ведомым. Как уже отмечалось в разд. 11.06, наш усреднитель сигналов не обладает важным свойством пересылки усредненных данных на другой компьютер. Программа выполнения этой операции не сложна, однако громоздка, так как должна включать процедуры инициализации (как для микросхемы 8536), упаковки данных, а также квитирования, чтобы приемник данных мог инициировать передачу данных и подтверждать их прием.

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

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

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

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

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

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

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

Фиксаторы и D-регистры. Фиксаторы и регистры уже упоминались в разд. 8.24. Термин «фиксатор», строго говоря, относится к прозрачному фиксатору, у которого состояние выходов повторяет состояние соответствующих входов (на время действия сигнала разрешения). Так называемый фиксатор с фиксацией по фронту является, в действительности, регистром D-типа. Он состоит из D-триггеров с общим тактовым входом. Различие в функционировании этих схем приводит к важным последствиям, когда они используются для фиксации данных, поступающих с магистрали, что связано с особенностями относительной синхронизации во времени сигналов данных и строба записи. В частности, в соответствии с протоколом некоторых микропроцессорных магистралей (например, машин IBM PC), данные не обязательно будут достоверными на фронте строба записи, однако гарантируется их достоверность на срезе этого сигнала (и в течение некоторого минимального времени после него); см. рис. 10.6 и 11.22. При использовании прозрачного фиксатора с разрешением на все время стробирующего сигнала на его выходе почти наверняка появятся переходные состояния, как это показано на рис. 11.22.

Рис. 11.22. Синхронизация цикла записи, а — прозрачный фиксатор; б — регистр с фиксацией по перепаду.

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

Поделиться:
Популярные книги

Горькие ягодки

Вайз Мариэлла
Любовные романы:
современные любовные романы
7.44
рейтинг книги
Горькие ягодки

Сама себе хозяйка

Красовская Марианна
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Сама себе хозяйка

Черный Маг Императора 6

Герда Александр
6. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
7.00
рейтинг книги
Черный Маг Императора 6

Последний Паладин. Том 2

Саваровский Роман
2. Путь Паладина
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Последний Паладин. Том 2

Огни Аль-Тура. Завоеванная

Макушева Магда
4. Эйнар
Любовные романы:
любовно-фантастические романы
эро литература
5.00
рейтинг книги
Огни Аль-Тура. Завоеванная

Законы Рода. Том 7

Flow Ascold
7. Граф Берестьев
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Законы Рода. Том 7

Жандарм 2

Семин Никита
2. Жандарм
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Жандарм 2

Измена. Мой заклятый дракон

Марлин Юлия
Любовные романы:
любовно-фантастические романы
7.50
рейтинг книги
Измена. Мой заклятый дракон

Его темная целительница

Крааш Кира
2. Любовь среди туманов
Фантастика:
фэнтези
5.75
рейтинг книги
Его темная целительница

Кодекс Охотника. Книга V

Винокуров Юрий
5. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
4.50
рейтинг книги
Кодекс Охотника. Книга V

Неудержимый. Книга XVI

Боярский Андрей
16. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга XVI

Жена по ошибке

Ардова Алиса
Любовные романы:
любовно-фантастические романы
7.71
рейтинг книги
Жена по ошибке

Real-Rpg. Город гоблинов

Жгулёв Пётр Николаевич
1. Real-Rpg
Фантастика:
фэнтези
7.81
рейтинг книги
Real-Rpg. Город гоблинов

Венецианский купец

Распопов Дмитрий Викторович
1. Венецианский купец
Фантастика:
фэнтези
героическая фантастика
альтернативная история
7.31
рейтинг книги
Венецианский купец