Метод логического анализа находит применение для отладки и поиска дефектов в устройствах с программным управлением, состоит в контроле текущей информации на системных шинах в процессе выполнения известных документированных программ. Информация, имеющаяся на шинах, на каждом шаге работы системы сравнивается с данными листинга программы. Это позволяет контролировать правильность выполнения программы микропроцессорной системой.
Логические анализаторы являются основными инструментальными средствами диагностирования ЦУ и МП. ЛА являются приборами, предназначенными для измерений потоков двоичных данных подобно тому, как осциллограф предназначается для измерения периодических электрических сигналов. В отличие от осциллографа с электронно-лучевой трубкой логический анализатор не отслеживает входные сигналы непрерывно, а воспринимает их значения в момент получения активного фронта тактового сигнала. Фиксируемая при этом информация не выводится сразу же на экран, а заносится в собственную память анализатора.
Логический анализатор имеет 8, 16 или 32 входных канала, с помощью которых можно записать поведение во времени любого из сигналов, имеющих место в микропроцессорной системе, например: на шине данных, на адресной шине, на шине управляющих сигналов, в портах ввода-вывода.
Логический анализатор (рис. 16.14) состоит из четырех основных блоков входных усилителей-компараторов, управления, регистрации и индикации и имеет три режима работы - настройки, индикации и регистрации.
В режиме настройки оператор согласно плану измерений подключает щупы прибора к контрольным точкам и устанавливает режим регистрации.
В режиме регистрации сигналы с контрольных точек поступают на входные усилители-компараторы, пороговый уровень которых определяется элементной базой МП. Основные характеристики ЛА определяют разрядность, объем и быстродействие ЗУ блока регистрации. В настоящее время число каналов ЛА достигает 50, длина логической последовательности составляет 2048 бит, максимальная тактовая частота регистрации - 500 МГц.
В режиме регистрации ЛА работает до момента появления события, вызывающего переход в режим индикации. Такими событиями могут являться, например, определенная комбинация логических состояний на входах или заданная последовательность таких комбинаций.
В качестве устройства воспроизведения в JIA используется индикатор на ЭЛТ. Объем информации, одновременно выводимой на экран, составляет 200 ...250 бит на канал. Анализ результатов в ЛА автоматизируется. При этом применяются режимы сравнения, поиска заданного слова, вычисление контрольных сумм массивов данных и др.
На экран индикатора ЛА выводится таблица, где в позициях совпадения исследуемой последовательности с эталонной воспроизводится 0, а при несовпадениях -1. На экран ЭЛТ можно выводить обе таблицы - эталонную и исследуемую, выделяя места несовпадений каким-либо знаком или повышенной яркостью.
Режим индикации в поиске характеризуется выводом электронного указателя на заданное слово, если таковое имеется в регистрируемой последовательности.
Наиболее информативным способом выведения данных является графическое отображение, по которому можно анализировать все содержание ЗУ ЛA. При изображении графа переходов все пространство экрана представляется в виде координатной плоскости. Каждой точке плоскости соответствует пара двоичных чисел, которые представляют старший и младший байты двоичных кодов, а яркость свечения точки пропорциональна числу кодов в отображаемой последовательности.
Управление режимами работы ЛA осуществляется с помощью МП. Микропроцессорное управление при условии применения в ЛA интерфейсов для подключения внешних устройств позволяет автоматизировать процесс диагностирования МП.
Примером использования логического анализа является тестирование матричной клавиатуры.
Применение логических анализаторов не обязательно должно ограничиваться прослеживанием изменений шинных сигналов ЭВМ. Рассматриваемый ниже пример иллюстрирует использование анализатора для наблюдения некоторых сигналов, которыми ЭВМ обменивается с одним из основных периферийных устройств, а именно - клавиатурой.
Большинство клавиатур состоит из набора клавиш, организованных в виде матрицы. Для сопряжения матрицы переключателей с ЭВМ обычно применяется один из двух методов.
(.А) Аппаратное кодирование. В этом случае используется специализированная ИС шифратора клавиатуры, выполняющая следующие функции:
- обнаружение нажатой клавиши и выработка стробирующего сигнала для ЭВМ;
- генерация ASCII-кода, соответствующего нажатой клавише, и выдача его в ЭВМ в параллельной форме;
- устранение дребезга контактов клавиатуры при их замыкании и размыкании;
- другие действия, возможность реализации которых предусмотрена во многих современных клавиатурах, например одновременное нажатие нескольких клавиш и автоматическое повторение посылаемых символов.
(Б) Программное кодирование. При данном подходе, который находит применение во многих недорогих микроЭВМ, функции специализированной кодирующей ИС реализуются микропроцессором системы в сочетании со стандартными программами.
Матрица переключателей сопрягается с процессором через комбинированное устройство, содержащее ЗУПВ, два порта ввода-вывода, таймер и некоторые другие узлы и оформленное конструктивно в виде ИС с 40 внешними выводами. Оба порта используются для обслуживания клавиатуры:
порт А выполняет роль порта вывода и связан со столбцами переключательной матрицы, а порт В является портом ввода и воспринимает информацию от строк матрицы. Набор сопротивлений смещения обеспечивает считывание портом В слова FFH, когда не нажата ни одна клавиша.
Чтобы обнаружить нажатую клавишу и определить ее положение, микропроцессор выполняет программу просмотра переключательной матрицы. Просмотр складывается из двух частей. Сначала процессор выдает набор битов через порт А на столбцы матрицы. Затем он выполняет чтение информационного слова из порта В и сравнивает его с FFH, чтобы обнаружить, нажата ли какая-либо клавиша. Если бы, например, процессор выводил через порт А слово ООП (при этом на контакты всех переключателей, показанные на схеме справа, т. е. соединенные со столбцами матрицы, подаются логические нули), нажатие любой клавиши приводило бы к изменению информации, поступающей в порт ввода В. Комбинация битов, устанавливаемая в порте В, зависит от того, в какой строке матрицы находится нажатая клавиша, и не зависит от того, в каком она находится столбце. Поэтому микропроцессор не выводит в порт А слово 0011, а осуществляет перебор выводимых слов с таким расчетом, чтобы на все столбцы поочередно подавались нули. В этом случае по положению логического 0 во входном слове, поступающем через порт В, процессор определяет строку, в которой находится нажатая клавиша, а анализируя положение 0 в слове, которое он вывел в ходе перебора, выясняет, к какому столбцу принадлежит эта клавиша. Программные средства обслуживания клавиатуры включают также программы для устранения дребезга переключателей, обработки ситуаций, когда одновременно нажимаются несколько клавишей, реализации функций клавишей сдвига и управления.