Режимы ввода-вывода в микропроцессорных системах управления технологическими процессами, страница 2

Сигнал ГОТОВО (ГТ) подается на один из выводов БИС центрального процессора и показывает последнему, что требуемые из памяти или из устройства ввода данные уже выставлены на шину данных. Этот сигнал используется для синхронизации центрального процессора с внешними устройствами , скорость работы которых значительно ниже. Если после посылки адреса центральный процессор  не получит сигнал уровня логической 1 на входе ГОТОВО, то он переходит в режим ОЖИДАНИЕ (ОЖД)  и остается в нем все время, пока сигнал ГТ имеет низкий уровень. Пока центральный процессор находится в режиме ожидания, на одном из выводов БИС поддерживается выходной сигнал высокого уровня ОЖД. В состоянии  ожидания содержимое счетчика команд не увеличивается, но состояния всех регистров сохраняются неизменными, поэтому после появления сигнала ГТ выполнение программы сразу же возобновляется.

Следующая группа приказов и сигналов управления также имеет парный характер типа запрос – ответ. На входы центрального процессора  поступают запросы  на прерывание (ЗПР) и на захват шин (ЗХВ). В ответ на эти запросы центральный процессор после завершения текущей команды и проверки ряда условий, но отнюдь не немедленно, выдает сигналы согласия (разрешения). Эти сигналы имеют значение  именно согласия , а не просто подтверждают получение запроса. Последнее представление сложилось в результате буквального перевода английского термина Acknowledge. В морском жаргоне часто применяется слово «добро». Его происхождение относится к временам парусного флота, когда на запрос какого-либо корабля эскадры разрешение флагмана давалось подъемом желто-синего флага «Д»( «добро» в старославянском алфавите ). В указанном смысле слово «добро» наиболее удачно соответствует ответным сигналам микропроцессора. Таким образом, получается : «добро» на прерывание ДБПР и «добро» на захват шин – ДБЗХВ, или же разрешение прерывания – РПР и разрешение захвата – РЗХВ.

С учетом приказов пульта и сигналов слова  состояния  функционирование  ЦП получается сложное. После такта T1 всегда следует такт T2, в течении которого проверяются уровни сигналов ГТ,ЗПР и ЗХВ. Если сигнал ГТ имеет уровень логической 1, то происходит  переход к такту T3. В другом случае ЦП переходит в состояние ожидания Tожд и остается в нем все время, пока сигнал ГТ имеет уровень логического 0. Из состояния ожидания ЦП выводится сигналом ГТ, который внешнее устройство памяти или ввода- вывода через соответствующий порт выставляет на линию управления. При обращении к устройствам,  имеющим большую скорость передачи, этот сигнал появляется практически сразу  же после завершения 2-го машинного цикла, поэтому задержки не возникает. Таким образом, сигнал ГТ синхронизирует центральный процессор  с устройствами памяти и ввода- вывода, скорость работы которых значительно меньше. Кроме того, задавая уровень сигнала ГТ  с пульта ручного управления системой, пользователь может организовать пошаговое выполнение  программы, необходимое для ее отладки.

В течении машинного такта T3 информация из памяти  поступает на шину данных и передается в регистр команд. Команда декодируется,  и устройство управления генерирует сигналы , открывающие управляемые вентили для передачи данных внутри ЦП, а также временные последовательности, необходимые для выполнения всех следующих машинных циклов данной команды. Переход в состояние захвата происходит только после завершения машинных тактовT3,T4 и T5.Таким образом получив сигнал ЗХВ, центральный процессор заканчивает текущий машинный цикл и только тогда переходит в новое состояние. Когда сигнал ЗХВ снимается, центральный процессор возобновляет выполнение программы начиная с такта T1следующего машинного цикла. Это можно делать потому, что аккумулятор и другие элементы ЦП  в состоянии ЗХВ не принимают участия в преобразовании информации и обмене ею.

Диаграмма функционирования ЦП с учетом дополнительных режимов обмена данными приведена на рис.1.


Рисунок 1.-Временная диаграмма работы ЦП в режиме захвата.

Система прерываний позволяет изменять ход выполнения программы на основании сигналов, поступающих в ЦП от периферийных устройств. Режим прерывания во многом похож на вызов подпрограммы. Однако вызов подпрограммы происходит по команде, записанной в программе, т.е. в определенные моменты, а прерывание  может произойти на любом, заранее не предсказуемом этапе работы микропроцессорной системы управления. После получения запроса на прерывание  ЦП завершает выполнение всех машинных циклов текущей команды, проверяет наличие ряда условий, в частности разрешения прерываний, задаваемого программно, и только затем выдается сигнал РПР. В отличии от режима захвата, при котором  ЦП не участвует в работе системы и потому может сохранять все текущие состояния в тех же регистрах, в режиме прерывания управление ходом программы и обработка данных производятся ЦП. Для того чтобы в этих условиях он мог возобновлять выполнение прерванной программы, все текущие значения должны быть сохранены в специальных регистрах или  в специально выделенной  для этого области основной памяти, называемой стеком. В большинстве микропроцессорных систем автоматически запоминается в стеке только содержимое программного счетчика, а содержимое всех остальных регистров должно сохраняться программно. Программно осуществляется и возвращение к прерванной программе после снятия сигнала ЗПР.

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