Национальный исследовательский ядерный университет «МИФИ»
Опубликован: 16.10.2006 | Доступ: свободный | Студентов: 10300 / 3617 | Оценка: 4.50 / 4.16 | Длительность: 23:53:00
ISBN: 978-5-9556-0054-3
Специальности: Разработчик аппаратуры
Лекция 15:

Разработка более сложных цифровых устройств

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

Схема управления для генератора аналоговых сигналов

Рис. 15.15. Схема управления для генератора аналоговых сигналов

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

Второй (правый по рисунку) триггер служит для организации режима разового запуска генератора. При запрете генерации этот триггер сброшен в нуль сигналом "Ген." (единица на инверсном выходе). При разрешении генерации этот триггер срабатывает по отрицательному фронту на старшем разряде накапливающего сумматора (сигнал "Ст.Р." со схемы на рис. 15.16), то есть по переполнению накапливающего сумматора, возникающему после окончания одного периода аналогового сигнала. Если внешний управляющий сигнал "Раз./-Авт." установлен в нуль (автоматический запуск), то ничего не происходит, триггер остается сброшенным. Если же внешний сигнал "Раз./-Авт." установлен в единицу (разовый запуск), то после окончания одного периода выходного аналогового сигнала генератора второй триггер перебросится в единицу (нуль на инверсном выходе) и сбросит тем самым первый триггер, запретив генерацию. Узнать об этом можно, анализируя флаг генерации —сигнал "Ген.". Для нового разрешения генерации надо снова записать единицу в первый триггер.

Наконец, последний узел генератора аналоговых сигналов — это память с ЦАП.

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

Опорное напряжение ЦАП удобно выбирать равным 10 В, что обеспечит размах выходного сигнала от –10 В до +10 В. При этом шаг изменения выходного сигнала (минимально возможная высота ступеньки) составит 20В/256, то есть около 80 мВ. Но это только для сигнала максимальной амплитуды 10 В. Если же требуется генерация сигнала с амплитудой 1 В (ослабление выходным аттенюатором в 10 раз), то шаг изменения выходного сигнала будет около 8 мВ.

Входной код ЦАП (то есть выходной код буферной памяти) должен фиксироваться в параллельном регистре, чтобы все разряды этого кода подавались на входы ЦАП одновременно. В момент отсутствия генерации на выходе ЦАП должно быть нулевое напряжение, поэтому данный регистр должен иметь вход сброса, на который подается сигнал "Ген.". Однако надо учитывать, что при биполярном выходе ЦАП нулевому уровню выходного сигнала соответствует не нулевой код 00000000, а код 10000000 (с единицей в старшем разряде). Поэтому регистр должен сбрасываться не в нуль, а именно в состояние 10000000. При этом просто поставить дополнительный инвертор на старший разряд кода нельзя, так как он внесет задержку и старший разряд кода будет устанавливаться позже остальных разрядов, что может вызвать недопустимо большие выбросы выходного напряжения. Поэтому этот входной регистр ЦАП должен иметь как прямые, так и инверсные выходы (например, ТМ8), причем все разряды, кроме старшего, надо брать с прямых выходов регистра, а старший разряд — с и нверсного выхода. Это обеспечит одновременное изменение всех разрядов кода. Для компенсации инверсии старшего разряда надо дополнительно проинвертировать сигнал старшего разряда на входе регистра.

Память выборок сигнала целесообразно использовать многоразрядную с совмещенной входной и выходной шинами данных, что позволит упростить схему. Микросхемы с организацией 32Кх8 выпускаются многими фирмами. Память лучше брать нетактируемую, чтобы в режиме чтения (при генерации) можно было постоянно подавать на вход –CS сигнал логического нуля. Быстродействие памяти не слишком критично, так как перебор адресов происходит довольно медленно. За период тактового сигнала (1 мкс) в режиме чтения должен успеть сработать регистр накапливающего сумматора, и память должна успеть выдать читаемый код (с задержкой выборки адреса).

Память и ЦАП генератора аналоговых сигналов

Рис. 15.16. Память и ЦАП генератора аналоговых сигналов

Совмещенная шина входных/выходных данных памяти требует применения однонаправленного входного буфера (например, АП5), через который в режиме записи на память будут подаваться записываемые в память коды выборок генерируемого сигнала. Буфер должен открываться тем же сигналом, который подается на вход –WR памяти. Во время генерации буфер должен быть закрыт.

В результате схема буферной памяти с ЦАП для генератора аналоговых сигналов будет выглядеть так, как показано на рис. 15.16.

Перед началом работы в память должны быть записаны коды выборок (8-разрядная шина "Зап. Дан".) по стробу "–Зап.". Данные должны выставляться до начала строба и сниматься после его окончания. Во время строба записи "-Зап." память переходит в режим записи (сигнал –WR), а буфер открывается (сигналы -EZ1 и -EZ2). За счет задержки буфера записываемые данные снимаются со входов данных памяти позже, чем заканчивается сигнал "-Зап.". Поэтому данные записываются в память. По окончании сигнала "-Зап." происходит смена адреса памяти (см. рис. 15.14). Всего должно быть проведено 32К циклов записи для полного заполнения памяти.

Когда начинается генерация (сигнал "Ген."), адреса памяти перебираются накапливающим сумматором, а читаемая из них информация записывается по сигналу "Такт" (см. рис. 15.14) в 8-разрядный регистр (две микросхемы ТМ8), а затем поступает на входы ЦАП. В результате выдача выборок выходного сигнала (UЦАП) задерживается на один такт относительно момента чтения из памяти, но эта задержка, как правило, не имеет никакого значения. После окончания генерации регистр сбрасывается в состояние 10000000, соответствующее нулю выходного сигнала UЦАП. Так как по сигналу начального сброса "–Сброс" (см. рис. 15.15) генерация запрещается, на выходе генератора в этот момент также будет нулевое напряжение.

Таким образом, схема генератора аналоговых сигналов полностью спроектирована.

Сформулируем теперь последовательность действий, которые надо предпринимать для управления работой генератора.

После включения питания надо подать сигнал начального сброса "–Сброс" (см. рис. 15.15), который запретит генерацию и обеспечит нулевой уровень выходного напряжения генератора.

Затем необходимо записать в память массив кодов выборок сигнала требуемой формы. Для этого код частоты надо задать равным 32 и сбросить накапливающий сумматор в нуль сигналом "–СбросНС". После этого надо производить последовательную запись всех 32К кодов по шине записываемых данных Зап.дан., сопровождая их стробами записи "-Зап.".

После окончания записи в память можно запускать генерацию, но перед началом генерации надо сбросить накапливающий сумматор сигналом "–СбросНС", задать режим запуска генерации (разовый или автоматический), а также установить код нужной выходной частоты (см. рис. 15.14 и 15.15). Кроме того, надо задать код амплитуды выходного сигнал (см. рис. 15.10). После этого надо подать положительный сигнал "Разр./-Запр." и сопроводить его стробом (см. рис. 15.15). Если требуется остановить автоматическую генерацию, то нужно установить нулевой сигнал "Разр./-Запр." и сопроводить его стробом. Если же генерация разовая, то узнать о том, продолжается ли она или уже закончилась, можно на основании анализа сигнала "Ген." (см. рис. 15.15).

В заключение отметим, что управление разработанным генератором аналоговых сигналов лучше возложить на компьютер или управляющий интеллектуальный контроллер, что существенно упростит работу с ним.

Али Анарбек
Али Анарбек
Илья Леонтьев
Илья Леонтьев

по заданию преподавателя, надо после каждого теста делать скриншот, но я решил вначале сделать все тесты, а потом делать скрин и теперь не могу вообще зайти в эти тесты