Разработка логического анализатора

Автор: Пользователь скрыл имя, 13 Февраля 2012 в 14:25, реферат

Краткое описание

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

Файлы: 1 файл

Разработка логического анализатора.doc

— 271.50 Кб (Скачать)

Сигнал переноса первого счетчика появится через 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 циклов чтения вся информация из памяти будет прочитана, и схема будет готова к новой регистрации.

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

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

Пример схемы тактового  генератора для логического анализатора  приведен на рис. 15.6.

 
Рис. 15.6.  Тактовый генератор логического анализатора

Тактовый генератор анализатора выполнен на кварцевом генераторе, 6-разрядном счетчике (ИЕ19) и 8-канальном мультиплексоре (КП7). Он может выдавать на выход ряд тактовых частот, различающихся в 2 раза (период 100, 200, 400, 800, 1600, 3200, 6400 нс) или внешний тактовый сигнал ВТС. То есть он позволяет реализовать как синхронный, так и асинхронный режим работы логического анализатора. Счетчик может быть применен асинхронный (ИЕ19), так как каждый его выход используется самостоятельно, независимо от других. Выбор канала мультиплексора (вида тактового сигнала) осуществляется 3-разрядным кодом выбора такта, причем код 111 будет соответствовать внешнему тактовому сигналу.

Схема запуска анализатора должна обеспечивать выбор положительного или отрицательного фронта (синхроперехода) на одной из 8 входных линий анализатора. Выходным сигналом запуска является положительный фронт (см. рис. 15.5). Для выбора одного из восьми входных сигналов удобно использовать 8-канальный мультиплексор (КП7), а для выбора полярности перехода можно применить элемент Исключающее ИЛИ, включенный в режиме управляемого инвертора. Схема запуска получается очень простой (рис. 15.7). Выбор входного сигнала, по которому будет производиться запуск, осуществляется 3-разрядным управляющим кодом выбора синхролинии. Выбор полярности перехода производится внешним сигналом выбора полярности, причем единица на этом входе соответствует отрицательному фронту, а нуль — положительному фронту.

 
Рис. 15.7.  Схема запуска логического анализатора

Наконец, последний  узел логического анализатора —  это память с буферами данных. Память должна иметь организацию 4Кх32, для чего придется использовать 4 микросхемы, так как обычно микросхемы оперативной памяти бывают 8-разрядные. Шина данных таких микросхем двунаправленная, поэтому требуется применение буферов для данных. Память должна работать в режиме записи при регистрации и в режиме чтения при чтении информации, зарегистрированной логическим анализатором. Для упрощения схемы целесообразно использовать нетактируемые микросхемы памяти.

В режиме записи сигнал –CS памяти должен представлять собой  отрицательные импульсы на каждый адрес памяти, а сигнал –WR должен быть постоянно активным (нулевым). Отметим, что некоторые микросхемы памяти (например, КР541РУ2) могут записывать информацию и при постоянных нулевых уровнях обоих сигналов -CS и -WR при изменении только адресов памяти. Использование таких микросхем еще более упрощает схему.

В режиме чтения сигнал –CS должен быть постоянно активным (нулевым), а сигнал –WR должен быть постоянно  равен единице. Смена читаемой информации будет производиться только сменой адресов памяти.

Для чтения информации из памяти порциями по 8 разрядов надо применить четыре 8-разрядных однонаправленных буфера (типа АП5). Каждый из них будет  открываться своим стробом чтения и выдавать на общую 8-разрядную шину данных по 8 разрядов читаемой из памяти информации. Таким образом, чтение 32 разрядов из одного адреса памяти потребует четырех циклов чтения из логического анализатора. Смена адреса памяти должна происходить после последнего из этих четырех циклов чтения. То есть для чтения всего объема памяти потребуется 16384 циклов чтения по 8 разрядов из логического анализатора.

Помимо буфера чтения необходимо применить также входной 32-разрядный буфер, который будет  пропускать входные (регистрируемые) сигналы  на память в режиме регистрации и будет закрываться после окончания регистрации. Назначение этого буфера состоит в том, чтобы не выдавать на входные линии логического анализатора читаемую из памяти по двунаправленной шине данных информацию. Этот буфер также можно построить на микросхемах однонаправленных буферов типа АП5.

 
Рис. 15.8.  Схема памяти логического анализатора

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

Объединение четырех  микросхем памяти производится стандартным  образом: объединяются одноименные  разряды адреса, сигналы –CS и  –WR всех микросхем. На входы –CS подается сигнал, равный нулю при отсутствии регистрации (нулевой сигнал "Рег.") и равный инверсному тактовому сигналу при регистрации (отрицательному импульсу на каждый адрес памяти). Минимальная длительность импульса -WR равна в режиме записи половине периода тактового сигнала с частотой 10 МГц, то есть 50 нс, поэтому память должна успевать за это время записать информацию. На входы –WR подается сигнал "-Рег.", равный нулю при регистрации и единице при отсутствии регистрации. Если память может записывать информацию при постоянных нулевых сигналах -CS и -WR, то на вход –CS можно постоянно подать нулевой уровень.

Четыре микросхемы АП5 входного буфера (справа по рисунку) управляются сигналом "-Рег.": они  открываются на все время регистрации  и закрываются, когда регистрации  нет.

Четыре микросхемы АП5 буфера чтения открываются на чтение (выдают 8-разрядные читаемые данные) каждая свои стробом чтения: "–Чт.1" ... "–Чт.4". При этом сигнал "–Чт.4" (его задний фронт) используется для переключения счетчиков адреса памяти при чтении (см. сигнал "–Чт." на рис. 15.6). Для чтения информации из одного адреса памяти нужно последовательно подать сигналы "–Чт.1" ... "-Чт.4", после чего адрес переключится на следующий.

В качестве синхролиний  для запуска анализатора (см. рис. 15.7) используются восемь разрядов данных памяти. В режиме регистрации на них приходят 8 входных сигналов логического анализатора.

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

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

Перед началом регистрации  необходимо записать в счетчики анализатора  код N (количество тактов предпусковой регистрации) по сигналу записи "-Зап." (см. рис. 15.5). Необходимо также установить 7-разрядный управляющий код, который определит режим работы анализатора. Три разряда этого кода задают тип тактового сигнала анализатора (см. рис. 15.6). Три разряда выбирают номер входного сигнала (из восьми возможных), на котором фронт будет служить запуском, а последний седьмой разряд определит полярность этого фронта, синхроперехода (см. рис. 15.7). После этого можно начинать регистрацию по сигналу "–Старт" (см. рис. 15.5). Анализатор отсчитает "мертвое" время, зафиксирует приход синхроперехода (запуск) и остановит регистрацию через нужное количество тактов после запуска. Узнать о том, что регистрация завершилась, можно, исходя из анализа сигнала "Рег." (см. рис. 15.5). Затем можно начинать чтение из буферной памяти анализатора по стробам "–Чт.1" ... "–Чт.4" (см. рис. 15.8). Когда информация из всех 4096 адресов памяти будет прочитана, анализатор снова будет готов к регистрации.

Информация о работе Разработка логического анализатора