Проверка контроллера последовательного канала связи
(На примере платы МП с микросхемой типа К1801ВП033)
Контроллер последовательного канала связи (рис. 5.1) состоит из двух независимых секций - передающей и приемной, размещенных в одной и той же микросхеме.
Передающая секция, как и в контроллере АЦПУ, представлена на магистрали регистром состояния РгС1 и регистром данных РгД1. Этим регистрам присвоены адреса, так что программа, выполняемая процессором или стендовой микро ЭВМ, оперирует этими регистрами, как с обычными ячейками памяти. Адреса регистров РгС1 и РгД1 не совпадают с адресами других устройств платы центрального процессора.
Обмен информацией между процессором и передающей секцией контроллера последовательного канала связи протекает так же, как и
при взаимодействии процессора с контроллером АЦПУ. Иными словами, процессор "не знает" о том, как передаваемые байты будут обрабатываться контроллером: пойдут ли они на выход контроллера без изменения формата (как при работе с АЦПУ) или будут преобразованы в стандартные посылки для передачи в последовательный канал связи.
Если в разряде Готовность регистра РгС1 присутствует "лог. I", то процессор "знает", что регистр РгД1 готов принять из магистрали код для передачи в последовательный канал связи. Одновременно с засылкой кода в регистр РгД1 в разряде Готовность регистра РгС1 автоматически устанавливается сигнал "лог. О". После загрузки регистра РгД1 преобразователь F1 параллельного кода в последовательный анализирует состояние линии Готовность приемника. Если готовность имеется, то преобразователь F1 передает в информационную линию посылку, формат которой показан на рис. 9б.
Сначала передается "стартовый" бит, затем 7 или 8 бит данных, затем бит контрольного разряда, дополняющий число единиц в передаваемом коде данных до четного или до нечетного. После окончания передачи посылки, передающая секция контроллера выдерживает паузу определенной минимальной длительности (1; 1,5 или 2 битовых интервала), после чего может последовать новая посылка. Конкретные параметры передаваемой посылки задаются с помощью микропереключателей или перемычек на проверяемой плате центрального процессора. К таким параметрам относятся: число битов данных, наличие или отсутствие контрольного разряда, при наличии контрольного разряда - вид контроля (по четности или по нечетности), длительность минимальной паузы, длительность битового интервала (скорость передачи) и др. Скорость передачи информации по последовательному каналу связи обычно невелика и составляет, например, 9600 бит/с (учитываются не только "полезные" биты, но и служебные, см. рис. 5.1б, так что фактическая скорость передачи меньшая). При скорости 9600 бит/с длительность битового интервала равна 1/9600 с, или примерно 104 мкс. (Тем не менее стендовая микро ЭВМ неспособна с нужной точностью воспроизвести диаграмму, показанную на рис. 5.1б, при ее программном моделировании с помощью выходного порта.)
Приемная секция контроллера последовательного канала связи содержит преобразователь F2 последовательного кода в параллельный и, как обычно, два регистра: регистр данных РгД2 и регистр состояния РгС2.
Принятая из последовательного канала связи информационная посылка (8 бит) проверяется на отсутствие в ней ошибок (подсчетом общей четности или нечетности числа принятых единиц, без учета стартового бита) и записывается в регистр данных РгД2. При этом в регистре РгС2 устанавливается в единичное состояние бит готовности информации, а сигнал Готовность приемника снимается для того, чтобы передатчик не послал следующую байтовую посылку, пока не освободится регистр данных приемника.
В момент считывания информации из регистра РгД2 (во внутреннюю магистраль платы) автоматически устанавливается в нулевое состояние разряд готовности регистра РгС2. Одновременно с этим формируется сигнал Готовность приемника, который разрешает передатчику выдачу следующей байтовой посылки и т.д.
Контроллер последовательного канала связи, так же как и контроллер АЦПУ, может работать в режиме прерывания процессора.
Проверку контроллера последовательного канала связи с помощью стендовой микро ЭВМ можно осуществлять при выполнении следующих операций.
1. При наличии готовности передающей секции записать код OOO8 в регистр данных РгД1 как в ячейку памяти, при этом на каждом шаге программы имитации записи проверяют все доступные стенду входные точки с целью выявления различного рода ошибок.
2. Прочитать содержимое регистра РгС2, обратившись к нему как к ячейке памяти. Эта операция, как мы знаем, также состоит из целого ряда более мелких операций, каждая из которых должна контролироваться стендовой микро ЭВМ путем анализа содержимого входного порта.
3. Проанализировать биты Готовность и Ошибка в считанном содержимом регистра состояния РгС2. При правильной работе бит ошибки не должен быть установлен, а бит готовности должен присутствовать.
4. Прочитать содержимое регистра данных РгД2, обратившись к нему, как к ячейке памяти.
5. Сравнить принятый код с копией переданного и в дальнейшем повторить все указанные действия 256 раз, по числу комбинаций в 8-разрядном коде данных.
После выполнения этих операций имитируются режимы прерывания процессора по сигналам из передающей и приемной секций контроллера. Принцип проверки и здесь остается тем же - стенд выполняет все операции, которые должен был бы выполнить процессор. Для имитации сигнала «Разрешение прерывания», который вырабатывается процессором, необходимо иметь доступ к контактирующей колодке, в которую в дальнейшем вставляется микросхема процессора. Если процессор установлен на плате "жестко", то режим прерывания либо не проверяется на данном этапе, либо проверяется с использованием схем встроенного контроля, которые специально для таких случаев "закладываются" в плату на этапе ее проектирования.
Для контроля целостности линии Готовность приемника и связанных с ней схем на одном из этапов проверки нужно эту линию разомкнуть (информация по линии передается в виде тока, а не напряжения), например, с помощью кнопки по указанию стендовой микро ЭВМ. (Это еще один пример того, как микро ЭВМ, выдавая сообщения на экран дисплея, руководит действиями человека, а не наоборот.) Размыкание может быть выполнено и автоматически, с использованием, например, реле, управляемого от выходного порта микро ЭВМ.
Для проверки схем контроля необходим имитатор, вырабатывающий искаженные кодовые посылки с ошибками по четности (нечетности).
Для проверки правильности работы проверяемого устройства при различных положениях микропереключателей, установленных на плате, предусматривается соответствующий тест. При выполнении этого теста стендовая микро ЭВМ выводит на экран дисплея сообщения, которые предписывают оператору перевести тот или иной микропереключатель в нужное положение и подтвердить выполнение этого действия, например, нажатием клавиши «Пробел».
После успешного выполнения всех рассмотренных выше проверок открывается возможность запуска центрального процессора проверяемой платы.
Дата добавления: 2016-06-22; просмотров: 2402;