Статический аппаратный эмулятор
Ограничив поставленную задачу проверкой правильности функционирования логических схем, обрамляющих МП, используем тот факт, что в МП-системах на базе микросхемы КР580ИК80А передача информации осуществляется уровнями. Следовательно, если заменить МП устройством, вырабатывающим в статике такие же выходные сигналы, можно проверить работу всех зависящих от него узлов, т. е. правильность адресации микросхем, правильность ввода/вывода, работу микросхем в статике, правильность коммутации. Такой метод проверки называется тестированием статическими сигналами. Устройство тестирования представляет статический аппаратный эмулятор микропроцессора (САЭ). На рис. 8.1 приведена схема САЭ. В устройстве использовано пять микросхем трех типов. САЭ осуществляет управление МП-системой точно так же, как и микропроцессор. В его составе имеются переключатели А15-АО. Каждый из них одним концом соединяется с общим проводом, а другим — с согласующим резистором 4,7 кОм, подключенным к источнику питания + 5 В. В зависимости от положения переключателей через кабель на ножки коммутационной колодки, соответствующие адресным выходам микропроцессора А15 — АО, подаются логические уровни 0 или 1, имитируя сигналы адресной шины МП. В составе САЭ имеются также переключатели D7-DO. С их помощью логические уровни 0 или 1 подаются на входы микросхем D1 nD2 типа К589АП16, представляющих двунаправленные буферные усилители с высокой нагрузочной способностью. Логические уровни 0 или 1 через D1 и D2 подаются на ножки коммутационной колодки, соответствующие выводам D7-DO микропроцессора, имитируя выходные сигналы шины данных МП. К этим же ножкам подключены входы микросхем D3 и D4 типа К589АП26, представляющих инвертирующие двунаправленные буферные усилители. Выходы D3 и D4 нагружены на светодиодные индикаторы, постоянно отображающие состояние шины данных микропроцессора.
Особенностью микропроцессора КР580ИК80А является использование шины данных в начале каждого машинного цикла для выдачи управляющего слова, которое определяет один из десяти типов машинного цикла. По этой причине прежде чем с помощью САЭ осуществлять передачу информации по шине данных между САЭ, имитирующим МП, и памятью или между САЭ и УВВ, необходимо задать соответствующий тип машинного цикла путем выдачи кода управляющего слова по шине Данных и стробирования его сигналом SYNC. По сигналу SYNC тактовый генератор тестируемой системы вырабатывает импульс STSTB, стробирующий прием и фиксацию управляющего слова системным контроллером тестируемой системы. После снятия сигнала SYNC можно передавать информацию по шине данных в соответствии с заданным управляющим словом, так как но шине управления будут выдаваться соответствующие управляющие сигналы. Так, если задан машинный цикл выдачи информации из процессора в память, УВВ или стек, необходимо переключателями D7-DO набрать код управляющего слова, перевести переключатель SYNC из положения О в положение 1 и обратно, затем переключателями D7-DO набрать код передаваемой информации, переключателями А15-АО набрать адрес ячейки памяти или порта вывода и перевести переключатель WR из положения 0 в положение 1 и обратно. При этом по сигналу WR и на основании зафиксированного управляющего слова системный контроллер тести-руемой системы вырабатывает управляющий сигнал W или OUT соответственно, по которому информация, выданная САЭ по шине данных, запишется в заданную ячейку памяти или будет принята заданным портом вывода. Если задан машинный цикл приема информации из памяти, УВВ или стека, необходимо переключателями D7-DO набрать код управляющего слова, перевести переключатель SYNC из положения О в положение 1 и обратно, затем набрать переключателями Л15 — АО адрес ячейки памяти или порта ввода и перевести переключатель DBIN из положения 0 в положение 1 и обратно. При этом в положении 1 на светодиодных индикаторах САЭ будет отображаться принимаемая информация. Аналогично предыдущему системный контроллер тестируемой системы вырабатывает управляющий сигнал R или IN, по которому информация из заданной ячейки памяти или порта ввода передается по шине данных в САЭ.
Рис. 8.1. Схема САЭ
Заметим, что с целью гашения дребезга контактов к переключателям DBIN, WR и SYNC подключены триггеры, построенные на инверторах микросхемы D5 типа К155ЛЫ1. Поскольку остальные переключатели не оснащены схемами гашения дребезга, они должны переключаться только тогда, когда DBIN, WR и SYNC находятся в положении 0. Во избежание конфликтной ситуации на шине данных при непредусмотренном положении переключателей при положении переключателя DBIN в 1 блокируется выдача информации с переключателей D7-DO на шину данных путем подачи логической 1 на входы выборки кристалла микросхем D1 и D2, что переводит их выходы в третье состояние. Отладка шины адреса ПМ-ЭВМ. Определим, возможна ли передача логических 0 и 1 по адресным линиям АВ15 — АВ12 и АВ11-АВО. С этой целью введем САЭ в проверяемую ПМ-ЭВМ вместо МП путем установки коммутационной колодки САЭ в панельку МП и подадим питающие напряжения на ПМ-ЭВМ. Проверяем, что для всех адресных линий производится переключение сигнала с уровня 0 на уровень 1 под управлением МП. Если обнаружено, что для некоторых линий такое переключение отсутствует, потребуется дальнейшее исследование. С этой целью осуществляется проверка каждой цепи путем прослеживания уровня напряжения в выбранных точках на протяжении всего информационного канала. Отладка шины управления ПМ-ЭВМ. При отладке шины управления ПМ-ЭВМ будем использовать управляющие переключатели САЭ — DBIN, WR и SYNC. Отладка состоит из двух этапов: на первом проверяется правильность записи кода управляющего слова на микросхеме D29, на втором — правильность формирования системным контроллером ПМ-ЭВМ управляющих сигналов. При этом переключателями А15-А0 набран код 200Q 200Q.
Устанавливаем, что выходные управляющие сигналы ПМ-ЭВМ правильно отражают входные воздействия микропроцессора. Если на каком-то шаге процедуры будет обнаружено нарушение этого соответствия, можно легко осуществить статическую проверку логических сигналов и локализовать неисправность. Отладка шины данных ПМ-ЭВМ. При отладке шины данных будем проверять возможность двунаправленной передачи данных от МП к ОЗУ и УВВ и от ПЗУ, ОЗУ и УВВ к МП. Как и в предыдущем разделе, во избежание нежелательной выборки устройств и возникновения конфликта на и тане данных переключателями А15-А0 набран код 200Q 200Q. Если выходные сигналы на шине данных на некотором шаге процедуры не являются корректными, необходимо определить причины неисправности. Это достигается путем проверки статических сигналов на протяжении информационного канала. Успешное завершение процедуры означает, что шина данных ПМ-ЭВМ при выводе данных функционирует правильно, т. е. шина данных должна выводить информацию, соответствующую сигналам от МП. Отладка схем дешифрации адреса и выработки сигналов выборки устройств. При отладке будем проверять наличие сигналов выборки устройств в четырех режимах: чтения из памяти, записи в память, ввода из УВВ, вывода в УВВ. Ускоренная проверка ПМ-ЭВМ. Приведенная методика проверки позволяет полностью и последовательно проверить в статике работу всех устройств ПМ-ЭВМ. Однако часто можно ограничиться проверкой по разделу "Отладка схем дешифрации адреса и выработки сигналов выборки устройств", так как данная проверка является итоговой. Если обнаружены какие-либо неисправности, то необходимо провести полную проверку. Хотя вероятность нормальной работы при выбранных параметрах схемы весьма высока, проверка в статике не гарантирует работоспособность ПМ-ЭВМ в динамических условиях, так как не проверяются временные соотношения между сигналами в системе, не известны действительные задержки логических схем и не исключено, что к какой-нибудь сигнальной линии по ошибке подпаян конденсатор. Кроме того, нет гарантии, что все ячейки ОЗУ функционируют нормально. Поэтому после отладки ПМ-ЭВМ с помощью САЭ, когда нормально функционирует клавиатура, вводится и считывается информация, следует произвести программные проверки, описываемые в § 8.3.
ОТЛАДКА В РАБОЧЕМ РЕЖИМЕ
Итак, ПМ-ЭВМ собрана, реагирует на нажатия клавиш, индикация загорается и гаснет, по-видимому, так, как нужно. Но это еще не значит, что ПМ-ЭВМ полностью проверена и функционирует правильно. Гарантировать стопроцентную проверку вычислительной системы вообще невозможно, тем более с помощью имеющихся у читателя простейших средств. МП может неправильно выполнять некоторые операции и притом только для некоторых сочетаний кодов, микросхемы запоминающих устройств могут иметь неисправные или ненадежные ячейки, искажающие некоторые сочетания кодов. Отдельные элементы ЭВМ могут работать в предельных режимах по нагрузке, по временным допускам, по питанию, по уровню помех и выдавать сбои при изменении внешних условий. Рано или поздно это выявится в процессе эксплуатации. Однако надлежаще проведенные испытания в начале эксплуатации позволят выявить значительную часть дефектов и устранить их. Первое, что необходимо сделать, - это проверить работоспособность ОЗУ. Простейший способ - записывать в ячейки ОЗУ с помощью клавиатуры различные коды, а затем последовательно считывать их, проверяя совпадение. Такой метод очень трудоемок, так как ПМ-ЭВМ имеет 1024 ячейки ОЗУ, к тому же некоторые ячейки, надежные в статике, в динамике могут выдавать неверные коды. Приведенная ниже программа позволяет автоматически записать заданный код в произвольно заданную зону оперативной памяти. Программа записывается, начиная с ячейки ОЗУ с адресом 014Q OOOQ и занимает 24 ячейки. Зона памяти, в которую заносится код, может начинаться с ячейки 014Q 030Q. Этот адрес заносится в регистровую пару Н командой LXIH. Адрес конца зоны заносится в регистровую пару D командой LXID. Устанавливаемый код задается вторым байтом команды MVIM адреса 014Q 007Q и 014Q 024Q. Проверку правильности записи можно произвести вручную, последовательно просматривая память:
014000041 Ml: LXIH, 014Q 030Q 014001 030 014003021 LXI D, 017Q377Q 014 004 377 014006066 M2: MVIM, OOOQ 014 007 000 014010043 INXH 014011 174 MOV A, H 014012222 SUBD 014 013 302 JNZ M2 014014 006 014015 014 014016173 MOV A, E 014017225 SUBL 014 020 302 JNZ M2 014 021 006 014 023 066 MVI M, OOOQ 014 024 000 014025303 JMPM1 014 026 000
Путем незначительного усложнения программы можно автоматизировать проверку правильности записи:
014 000 006 MVI B, OOOQ 014 001 000 014002041 Ml: LXI H, 014Q 055Q 014 004 014 014 005 021 LXI D, 020Q OOOQ 014 006 000 014 007 020 014010160 M2: MOV M, В 014011 170 MOV А, В 014012226 SUBM 014013302 JNZM4 014014 035 014015 014 014016043 МЗ: INX H 014017174 MOV A, H 014 020 222 SUB D 014021302 JNZM2 014023 014 014024 173 MOV A, E 014025225 SUB L 014026302 JNZ M2 014031000 NOP 014032303 JMPM1 014033 002 014034 014 014035174 M4: MOV A. H 014036323 OUT 0010 014037 001 014040175 MOV A, L 014041323 OUT OOOQ 014 042 000 014043 176 MOV A, M 014044323 OUT002Q 014045 002 014046315 CALLSKL 014047 177 014051303 JMPM3 014053 014
В данной программе проверочный код заносится по адресу 014Q 001Q. Сверка кодов производится последовательно в порядке возрастания адресов. При обнаружении ошибки программа выводит адрес в порт 001 (старшие разряды) и в порт 000 (младшие разряды), содержимое ячейки — в порт 002 и переходит в режим опроса клавиатуры. Нажатие любой кнопки запускает программу на проверку следующих ячеек до новой ошибки, и так далее до конца проверяемой зоны. Для более полной проверки необходимо задавать различные проверочные коды, в предельном случае — от OOOQ до 377Q. Поставив на место команды NOP по адресу 014Q 031Q команду INRB (код 004Q), получим программу автоматической проверки памяти для всех кодов. Читатель" может сам оценить, какая программа удобнее в эксплуатации. Необходимо заметить, что ячейки ОЗУ, отведенные для программы проверки, должны быть заведомо исправными, и чем длиннее программа, тем труднее найти зону для ее размещения. В результате проверки выясняется, какой частью ОЗУ можно располагать для работы. Лучше всего, когда все ячейки ОЗУ исправны и, значит, программы могут последовательно размещаться в ячейках памяти. Однако и при наличии дефектных ячеек (если их не слишком много) можно использовать почти весь оставшийся объем памяти, обходя дефектные места с помощью команды JMP. С помощью простейших пробных программ необходимо также проверить исполнение всей системы команд МП. Например, программа MVI A, OPERA ADI, OPERB OUT PORT1 проверяет исполнение команд MVIA, ADI и OUT.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|