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

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

Адреса памяти начинают перебираться с началом регистрации. В течение N тактов после начала регистрации реакция на запуск запрещается, а затем разрешается. Через (4096–N) тактов после прихода запуска регистрация прекращается.

Отметим, что точно так же может быть реализована предпусковая регистрация в цифровом осциллографе. По сравнению с логическим анализатором, в схему надо будет добавить только один или несколько АЦП и некоторые другие цифро-аналоговые узлы.

Спроектируем схему счетчиков, реализующую приведенную временную диаграмму.

Счетчик, перебирающий адреса памяти, должен быть 12-разрядным, так как 212=4096. Во время регистрации он должен работать в непрерывном режиме, реализуя постоянную перезапись по кругу всей буферной памяти. На этот же счетчик можно возложить функцию отсчета "мертвого" времени (N тактов). Но этот счетчик не может отсчитывать еще и (4096–N) тактов после прихода запуска, так как запуск может прийти в любой момент после окончания "мертвого" времени. Для этого понадобится уже другой счетчик, причем также 12-разрядный.

Этот второй счетчик должен начинать работу только после прихода запуска (по сигналу "Разрешение запуска") и должен отсчитывать всего (4096–N) тактов, после чего завершать регистрацию. То есть получается, что логический анализатор начинает регистрацию по внешнему управляющему сигналу, а заканчивает автоматически через (4096–N) тактов после запуска, о чем должен сообщать вовне сигнал флага окончания регистрации.

Схема счетчиков логического анализатора

Рис. 15.5. Схема счетчиков логического анализатора

Таким образом, один 12-разрядный счетчик должен отсчитывать N тактов, а другой 12-разрядный счетчик должен отсчитывать (4096–N) тактов. Проще всего организовать такой режим, если в оба счетчика записать до начала работы код N и задать первому счетчику инверсный режим счета, а второму — прямой режим счета. Перебор адресов памяти первым счетчиком начнется с адреса N и будет происходить на уменьшение (а не на увеличение, как на рис. 15.3), однако для работы буферной памяти это не имеет никакого значения.

Сигнал переноса первого счетчика появится через N тактов после начала регистрации. Этот сигнал должен разрешать ожидание запуска (сигнал РЗ на рис. 15.4). Когда же приходит запуск, то разрешается работа второго счетчика, начинающего считать с кода N на увеличение. В результате сигнал переноса второго счетчика появится через (4096–N) тактов после начала его работы. Этот сигнал должен остановить процесс регистрации.

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

Схема счетчиков логического анализатора, реализующая описанный алгоритм, приведена на рис. 15.5.

Два 12-разрядных счетчика реализованы на шести микросхемах ИЕ17. Первый счетчик (на рисунке вверху) работает в режиме инверсного счета, второй (на рисунке внизу) — в режиме прямого счета. Перед началом работы в оба счетчика по внешнему сигналу "–Зап." записывается код N. Причем четыре младших разряда 12-разрядного кода N равны нулю, а записываются только 8 старших разрядов. Это приводит к тому, что глубина предпусковой регистрации может задаваться с точностью до 16 тактов и принимать значения из ряда: 0, 16, 32, 48, 64,..., 4080. При записи на входы счетчиков –EWR и С поступают отрицательные сигналы, причем сигнал –EWR задержан относительно сигнала С на двух инверторах и (при необходимости) на конденсаторе. В результате положительный фронт сигнала С приходит тогда, когда сигнал –EWR равен нулю, что и требуется для записи.

На вход С обоих счетчиков могут приходить еще два сигнала: строб чтения из памяти "–Чт." и тактовый сигнал "Такт". Сигнал "Такт" приходит при регистрации (в режиме записи в память), а сигнал "–Чт." поступает при чтении из памяти зарегистрированной информации.

После того как в оба счетчика записан код N, необходимо начать регистрацию по внешнему сигналу "–Старт". Этот сигнал сбрасывает в нуль триггеры 1 и 2 и устанавливает в единицу триггер 3. Выходной сигнал триггера 3 разрешает регистрацию (сигнал "Рег." на рис. 15.4), то есть разрешает прохождение тактовых импульсов на входы счетчиков С. Это приводит к тому, что начинает работу первый счетчик, а второму счетчику работа запрещается по входу -ECT выходным сигналом триггера 2.

Первый счетчик, выходной код которого используется как адрес памяти, отсчитывает N тактов в инверсном режиме и вырабатывает сигнал переноса -CR. Этим сигналом перебрасывается в единицу триггер 1. Затем первый счетчик продолжает перебирать адреса памяти по кругу, а запись нулей в триггер 1 запрещается элементом 2И-НЕ на входе триггера. Выходной сигнал триггера 1 (сигнал РЗ на рис. 15.4) разрешает работу триггера 2 и тем самым разрешает реакцию схемы на сигнал запуска "Запуск" (положительный фронт).

После прихода сигнал "Запуск" перебрасывается в единицу триггер 2, разрешая работу второго счетчика. Первый счетчик в это время продолжает считать. Второй счетчик начинает свой счет с кода N, досчитывает в режиме прямого счета до 4096 и своим сигналом переноса –CR перебрасывает в нуль триггер 3. Это приводит к запрету поступления тактовых импульсов на вход С счетчиков и к остановке регистрации.

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

Перейдем теперь к проектированию других узлов логического анализатора.

Как уже отмечалось, тактовый сигнал анализатора может быть как внутренним (от внутреннего тактового генератора), так и внешним (от исследуемой схемы). Для повышения универсальности анализатора целесообразно обеспечить его работу на нескольких тактовых частотах. Большие частоты будут использоваться для анализа быстрых процессов, а малые частоты — для анализа длительных процессов. Тактовая частота не должна при этом принимать слишком много значений. Вполне достаточно ряда нескольких частот, различающихся вдвое.

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

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