ПособиеМПЭВС_ч2
.pdf
4.1 Типовая структура устройств цифрового управления |
101 |
Рис. 4.5 – Функциональные схемы синхронных портов МК
регистр). Сообщение от источника ввода в порт должно передаваться в сопровождении синхронизирующего сигнала SYN, по которому будет выполнена запись сообщения в порт. Приём сообщения с порта в процессор после сохранения выполняется открытием выхода DO регистра RG порта сигналом OE (Output Enable). Синхронный порт вывода исполняется на элементе с функцией сохранения выводимого сообщения на регистре RG, так как длительность сигнала сопровождения сообщения к порту вывода не превышает длительности такта частоты внешней синхронизации процессора (доли микросекунды), а задержка реакции приёмника сообщения (узлы электромеханики, органы чувств оператора) превышает десятки миллисекунд. Запись сообщения с магистрали данных МПУ в порт вывода выполняется по совпадению с активным состоянием адреса выбора порта по линии AW от селектора и сигнала IOW сопровождения выводимых на порт данных. Темп вывода сообщений через порт устанавливается программно с учётом темпа отработки сообщений принимающей стороной.
Выбор пары портов ввода и вывода может осуществляться раздельными линиями AR и AW с селектора адресов либо одной линией AR, AW по выбору. Несогласованность действий процессора с темпом обновления данных источником или приёмником окружения определила создание асинхронных портов ввода/вывода, где этот недостаток преодолевается.
4.1.7 Асинхронные порты ввода-вывода
На рисунке 4.6 показаны порты параллельного асинхронного ввода и вывода. В отличие от рисунка 4.5 асинхронные порты представляются композицией двух портов, один из которых является носителемданных для ввода в МПУ (или вывода из МПУ), а другой является носителем состояния готовности (уведомления) сторон к операции ввода/вывода. Деление процесса ввода/вывода на два этапа определили потребность применения элементов портов исключительно с функциями хранения. Порт асинхронного ввода состоит из регистра данных RGDPI
сразрядностью m1 и одноразрядного регистра состояния RGSPI. Перед началом асинхронного ввода в регистре RGSPI внутренний разряд Di одним из доступных приёмов должен быть установлен в неактивное состояние высокого уровня (например, для схемы на рисунке 4.6 обращением IOR по адресу AdiR регистра данных,
споследующим игнорированием принятых данных). При этом на потенциальном выходе Rqd (Request Data) регистра RGSPI выставляется низкий уровень сигнала,
102 |
Глава 4. Микроконтроллеры и микропроцессорные системы |
который можно использовать в качестве сигнала требования данных от источника (порт ввода свободен для приема). В регистр RGDPI по срезу импульса синхронизации /SYN загружаются данные от источника. По фронту этого же импульса после записи данных выполняется установка низкого уровня бита состояния Di в регистре RGSPI.
Рис. 4.6 – Функциональные схемы асинхронных портов МК
На потенциальном выходе Rqd регистра RGSPI выставляется высокий уровень сигнала, который сигнализирует источнику о занятости порта ввода. Выполняя алгоритм программного обслуживания в соответствии со схемой рисунка 4.3, a, МПУ выставляет адрес AsiR и считывает слово состояния с регистра RGSPI. Программно в МПУ анализируется состояние бита Di и, если он активен, т. е. соответствует низкому уровню, МПУ выставляет адрес AdiR и выполняет операцию IOR приёма данных с порта RGDPI. По завершению операции считывания данных с регистра RGDPI нарастающим задним фронтом сигнала с выхода элемента &2 выполняется сброс состояния регистра RGSPI, в результате чего на потенциальном выходе Rqd установится низкий уровень, как признак готовности порта ввода к приёму следующей посылки от источника.
Порт асинхронного вывода состоит из регистра данных RGDPO и регистра состояния RGSPO. Перед выводом приёмник выводимых данных должен выставить импульсный сигнал RR (ReceiverReady — приемник готов) низкого уровня, что должно привести к установке низкого уровня на внутренней разрядной линии Dj регистра RGSPO. Взаимодействие МПУ с портом вывода выполняется по схеме алгоритма, показанной на рисунке 4.3, б. Подготовив посылку, МПУ вводит состояние регистра RGSPO, выставляя адрес AsoR и активизируя операцию IOR. Микропрограммное устройство программно анализирует состояние бита Dj и, если он активен, выставляет адрес AdoW и выполняет операцию выдачи IOW
4.1 Типовая структура устройств цифрового управления |
103 |
данных в порт RGDPO. Срезом сигнала с элемента &4 выполняется запись данных в регистр RGDPO, а положительным фронтом этого сигнала в регистре состояния RGSPO устанавливается высокий уровень разрядной линии Dj, как признак занятости порта. На выходе DR (Data Receiver) регистра RGSPO выставляется потенциальный сигнал низкого уровня, который для приёмника выводимых данных может использоваться как сигнал сопровождения (синхронизации). По получению и отработке выведенных данных приёмник должен выставить на порт вывода импульсный сигнал подтверждения приёма (приёмник готов) низкого уровня вместо общей готовности на начале вывода, подтверждая принятые данные. Далее этот процесс взаимодействия с рассмотренной логикой продолжается.
На каждую пару асинхронных портов требуется по три адреса для приёма и один адрес для выдачи. Рассматривая пару асинхронных портов как содержимое «чёрного ящика», связи этого ящика с источником данных ввода, с приёмником данных вывода и магистралями МПУ специфицируются в следующем составе:
•шина данных к источнику ввода разрядности m1;
•линии сопровождения и запроса данных источника ввода SYN, Rqd (Request Data);
•шина данных к приёмнику вывода разрядности m2;
•линии запроса и сопровождения данных RR (ReceiverReady), DR (Data Receiver) приёмника вывода;
•шина магистрали данных МПУ разрядности m;
•сигналы управления чтением, записью в порты от МПУ IOR, IOW;
•линии адреса от селектора адресов регистров асинхронных портов ввода и вывода AdoW, AdiR, AsiR, AsoR.
Для работы с двумя восьмиразрядными асинхронными портами требуется 24 контакта под данные, от двух до четырёх контактов под линии адресации и шесть контактов под линии передачи управляющих сигналов (всего 32–34, не считая контактов линий питания). Ценой согласованности взаимодействия МПУ с внешними источниками и приемниками через асинхронные порты является завышение числа контактов и связей до 20%, удвоение аппаратных затрат на элементный состав и, более чем вдвое, повышение времени доступа к источнику и приёмнику диалога в сравнении с синхронным взаимодействием.
Источники данных для ввода и приёмники данных для вывода через порты по объективным причинам размещаются на удалении от МПУ. Порты могут быть приближены либо к МПУ, либо к объектам источников или приёмников данных ввода (вывода). Даже с принятием мер подавления влияния помех в соединениях удаление параллельных портов от МПУ нежелательно на расстояния более (5–15) см, которые, однако, могут корректироваться в меньшую сторону в зависимости от частот синхронизации потоков сигналов на линиях магистралей МПУ. Ограничением на удаление источников и приёмников окружения от параллельных портов МПУ являются конструктивные ограничения исполнения соединителей с числом проводов более (5–10) и интенсивный рост уровня помех в соединителях в зависимости от их длины. Снижением частот передачи сообщений и соответственно
104 |
Глава 4. Микроконтроллеры и микропроцессорные системы |
увеличением длительности фронтов достигается длина параллельных соединений к приемникам и источникам до (1–2) м.
4.1.8 Варианты селекции портов
Для внешней селекции портов распространение получили следующие варианты исполнения селекторов:
•с применением двоичного дешифратора кода адреса с магистрали;
•с применением модуля сравнения с кодом адреса на магистрали;
•выбором одиночными линиями магистрали адреса;
•с применением расширителей кода адреса магистрали.
По первому варианту выходы магистрали адреса подключаются к входам двоичного дешифратора, выходы которого, в свою очередь, являются одиночными линиями выбора адресуемого порта или пары портов (под одним адресом используется порт ввода и вывода). Схема такого селектора показана на рисунке 4.7, a. Количество выходов дешифратора быстро повышается при увеличении размера адресного кода, что порождает ограничения по допустимому количеству контактов в модуле селекции. На рисунке 4.7, б показан пример дешифратора для выбора восьми портов при восьмиразрядной адресной магистрали. Сигнальный вход OE (Ouput Enable) дешифратора DC состояний на линиях 0–3 на рисунке 4.7, б предназначен для разрешения выдачи сигнала Q на линии выбора портов адреса по совпадению состояний на линиях 4–7-адресной магистрали. Расширение числа выходов дешифрации достигается построением дешифраторов по пирамидальным схемам. Вариант селектора с применением модуля сравнения кода номера (адреса) порта с кодом адреса на магистрали МПУ показан на рисунке 4.8. Источником заданного кода порта могут быть переключатели, перемычки или код из приданного портам ПЗУ или регистра. При совпадении кода номера порта с установленным на магистрали адресом от МПУ по выходной линии Z (Zero) сумматора SM активизируется выбор адресуемого порта. Этот вариант является затратным по аппаратному обеспечению выбора портов и потому применяется в случае необходимости перенастройки адресов оборудования в процессе работы.
Рис. 4.7 – Селекторы адреса на дешифраторах
Выбор портов одиночными линиями магистрали адреса называется линейным
и основывается на возможности программного назначения таких состояний линий, когда при обращении к портам только линия, связанная с адресуемым портом активизируется, а остальные линии принимают противоположное пассивное состояние.
4.1 Типовая структура устройств цифрового управления |
105 |
Рис. 4.8 – Селектор порта по заданному коду
На рисунке 4.9 этот вариант селекции портов показан для восьмиразрядной магистрали адреса с допущением состояния U0 на линии, активизирующей выбор порта, и состояния U1 на неактивных линиях. Количество адресуемых портов для этого варианта адресации не превышает количества линий шины адресов портов. Адреса портов в адресном пространстве этого варианта распределены неравномерно. Однако если иные особые ограничения отсутствуют, он применяется, как не требующий дополнительного оборудования селекции адресов.
Рис. 4.9 – Выбор портов линиями магистрали адреса
Вариант с применением расширителей кода адреса магистрали предполагает установку дополнительных портов, выходные разрядные линии которых используются для адресного доступа к портам. Один из адресов по записи используется для загрузки синхронного порта расширения, а оставшиеся в резерве адресные линии могут быть использованы для доступа к количеству портов повышенному кратно разрядности порта расширения адреса. На рисунке 4.10 приведен пример реализации этого варианта с использованием для первичного выбора порта расширения RGW по записи IOW линией A0. Доступ к портам в соответствии с рисунком 4.10 осуществляется в два этапа. На первом этапе в регистр RGW выбором линией адреса A0 загружается с магистрали данных слово с активным состоянием определённой разрядной линии (например, активное единичное состояние линии D0 и нулевые пассивные состояния для всех других разрядных линий — слово 000000012). На втором этапе выполняется обращение к портам, адресуемым линией A1 либо по записи, либо по чтению. Выбраны при этом будут порты, разрешённые битом разрядной линии D0 на схемах пропуска с функцией совпадения «&». Изменяя код загрузки регистра RGW, вместо одного порта линией A1 можно выбирать количество портов, кратное разрядности регистра. С применением регистра расширения
106 |
Глава 4. Микроконтроллеры и микропроцессорные системы |
усложняется процесс доступа, увеличивается время доступа, повышаются расходы аппаратных средств. Поэтому последний вариант имеет ограниченное применение.
Рис. 4.10 – Выбор портов линиями магистрали адреса с регистром расширения
4.1.9 Программные модели портов
Для подготовки программ управления вводом/выводом следует дополнить программную модель МПУ программными моделями портов МПК. Каждый из портов в составе МПК характеризуется набором атрибутов, необходимых для программирования задач управления:
•спецификацией направления передачи через порт относительно МПК;
•адресом в адресном пространстве портов;
•содержимым порта;
•назначением и состоянием разрядных линий порта.
Для определённости в качестве примера для составления программной модели взят микроконтроллер, оснащённый асинхронными портами, представленными на рисунке 4.6. Атрибутами модели МПК являются значения адресов AsiR, AdiR, AsoR, AdoW, состояний разрядных линий Di, Dj. портов ввода (IOR) и вывода (IOW).
Пример модели.
Пусть приняты начальные значения в адресном пространстве:
AsiR = 00h, AdiR = 01h, AsoR = 02h, AdoW = 01h.
По назначению в программной модели выделяются регистры данных и состояния. Слова, загружаемые в регистры данных, по размеру равны одному байту со старшим разрядом D7 и младшим — D0. Для слова состояния порта ввода принято состояние бита D1 = 0, как указатель готовности данных в регистре данных PI. Для слова состояния порта вывода состояние D2 = 0 бита Dj = D2 принято в качестве указателя на готовность данных в регистре PO. С учётом этих назначений программная модель портов МПК представлена на рисунке 4.11. Эта модель портов ввода (вывода) может быть модифицирована, если операцию считывания регистров состояния RGSPI RGSPO выполнять через общий формирователь FS и через элемент &1 либо через элемент &3. Выбором этого решения при общем шинном формирователе FS с адресом состояния AsiR = 00h (вместо двух встроенных шинных формирователей регистров RGSPI, RGSPO на рисунке 4.11) модель
4.1 Типовая структура устройств цифрового управления |
107 |
преобразуется к виду, представленному на рисунке 4.12. В программной модели, показанной на рисунке 4.12, применяются две адресные линии: одна линия для считывания двух состояний (D1, D2) и одна для данных, отличающихся направлением передачи. На рисунках 4.11, 4.12 символом «*» отмечены безразличные для анализа состояния разрядов принимаемых в МПК слов с регистров RGSPI, RGSPO в модели на рисунке 4.11 и слова с формирователя FS для модели на рисунке 4.12.
Рис. 4.11 – Программная модель асинхронных портов ввода/вывода
Рис. 4.12 – Программная модель модификации асинхронного адаптера
108 |
Глава 4. Микроконтроллеры и микропроцессорные системы |
4.1.10 Программирование параллельного асинхронного обмена
Для МПК с внешними магистралями адресации, данных, управления приемлемой формой демонстрации могут служить программы на системе команд процессора i85, которая обсуждалась в разделе 3. Фрагмент на рисунке 4.13 соответствует программе асинхронного ввода одного слова с размещением в памяти данных МПК с начального адреса mas1 с установкой указателя адреса данных на следующую позицию.
Рис. 4.13 – Фрагмент программы асинхронного ввода слова в МПК
Фрагмент на рисунке 4.14 соответствует программе асинхронного вывода одного слова из области памяти данных МПК с начального адреса mas2 с установкой указателя адреса на следующую позицию.
Рис. 4.14 – Фрагмент программы асинхронного вывода слова из МПК
В построении устройств синхронного и асинхронного программного обмена МПК и МПС широко распространены решения, отраженные в программируемом параллельном адаптере i8255 (ППА). Сведения по адаптеру для ознакомления и применения приведены в приложении Е папки электронных материалов к пособию. Удобство параллельных передач данных при удалении источников и приёмников от МПК теряется, перерастая в проблему неискажённой доставки данных,
4.2 Последовательный программный обмен |
109 |
с одной стороны, и проблему физической реализации по повышению массогабаритных показателей и снижения, как следствие, надёжности — с другой. Решением этих проблем, с приобретением новых, но в иной сфере, является переход на последовательную передачу данных (бит за битом).
4.2 Последовательный программный обмен
4.2.1 Структура комплекса ввода-вывода данных
Прием и передача информации бит за битом основывается на структуре комплекса, показанной на рисунке 4.15. Комплекс состоит из устройств ввода Увв1
иввода Увв2 с раздельным управлением каждого от МПК. В составе Увв1 и Увв2 МПК в параллельном формате взаимодействуют с функциональными модулями М1
иМ2. На программном уровне через однобитовый порт из Увв1 может быть реализована последовательная передача данных и их приём через однобитовый порт в подобном устройстве Увв2. Однобитовые порты и соответствующие контакты для такого решения предусмотрены в архитектуре МП 1821ВМ85. Программная реализация последовательной передачи через однобитовые порты двух МПК требует затрат времени, что ограничивает возможность их использования на задачах иных приложений. Распространена аппаратная реализация преобразования данных параллельного формата в поток последовательных битов для передачи в линию связи, с последующим преобразованием в параллельный формат при приёме. Эту задачу выполняют модули преобразователей формата (Пф1, Пф2) в модулях М1, М2, которые выполняют преобразование Пак/Пск (параллельный код/последовательный код) и Пск/Пак (последовательный код/параллельный код). Роль МПК1, МПК2 во взаимодействии с модулями М1, М2 сводится к согласованному по времени выводу данных, слов настройки и управляющих сигналов активизации процессов в модуль М1, вводу его состояний в параллельном формате, выводу слов настройки, управляющих сигналов в модуль М2 и ввода с него данных, состояний в параллельном формате. Для поддержки этого взаимодействия модули М1 и М2 представляются набором параллельных портов ввода/вывода и соответствующими программными моделями. Во время передачи/приёма битовой последовательности модулями Пф1, ПФ2 модули МПК1, МПК2 могут быть заняты иными задачами. Освобождаемое для этого время пропорционально снижению скорости передачи.
Рис. 4.15 – Структура комплекса последовательной передачи данных
110 |
Глава 4. Микроконтроллеры и микропроцессорные системы |
Структура, показанная на рисунке 4.15, реализует последовательную передачу данных от источника и размещенного в непосредственной близости с ним Увв1 через одноразрядную линию длиной L в Увв2. Устройство Увв2 не имеет выходов к удалённым приводам исполнительных органов и может рассматриваться, как устройство удалённого сбора данных. Дополнением этой структуры линией передачи встречного направления от Увв2 к Увв1 с дополнительными модулями Пф1
иПф2, включёнными в состав Увв2 и Увв1 соответственно обеспечивается двухстороннее взаимодействие двух МПК между собой по каналу последовательной связи. При последовательной передаче данных для исключения недостоверности передачи актуальным является определение границ начала, окончания и состава последовательности принимаемых битов, определяемых понятием «формат пакета». С целью решения этой проблемы предложены асинхронный и синхронный форматы и соответственно протоколы физической передачи данных. На рисунках 4.16, a, 4.16, б показаны асинхронный и синхронный форматы данных побитовой передачи соответственно. В асинхронном формате каждой посылке соответствует один символ, который при передаче дополняется разделителями: стартовой посылкой низкого уровня перед битами символа, необязательным битом паритета (чётности)
иодной, полутора, двумя стоповыми посылками.
Рис. 4.16 – Форматы посылок последовательной передачи
Синхронная передача — это блочная форма передачи данных (символов), при которой применение символов синхронизации позволяет снизить общее время передачи за счёт исключения стартового, стоповых битов (по два–три бита на посылку). Потери времени на передачу двух байт синхронизации компенсируются в массивах размером более (8–10) символов, тогда как массивы превышают 128 символов. Один массив от другого в этом формате отделяется словами синхронизации в начале пакета. Массив передаваемых данных контролируется либо программой МПУ, либо специализированными аппаратными средствами. Окончание массива (блока) отмечается специальным символом, контрольной суммой членов массива. При удалённом транспорте данных по последовательному каналу объективно необходимо предусматривать и контролировать не только атрибуты доступа и содержания данных, но и ряд дополнительных атрибутов передаваемых пакетов. Эти атрибуты должны поддерживать идентификацию:
1)адреса удалённых объектов;
2)формата кода сообщения до преобразования;
