Главная  Журналы 

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 [ 49 ] 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

основных вопросов является вопрос о выборе системы команд. Желание увеличить число команд вступает в противоречие с желанием и необходимостью а;есации нужного числа слов и с требованиями к быстродействию. Действи-теаьно, наиболее просто использовать прямую адресацию, при которой адрес операнда нлн перехода указан в команде. Если, например, МП оперирует с 16-разрядными словами, то можно для кода операции отвести 5 разрядов и оспальные 11 для указания адреса. Тогда общее возможное число команд не более 32, а число ячеек памяти - не более 2К. Еслн число команд уменьшить до 16, то число адресуемых ячеек возрастет до 4К; однако следует сказать, что при малом числе команд возрастает длина программы, так что получаемая выгода будет невелика.

Опыт применения МП-систем для прямого цифрового управления тиристор-ными электроприводами показывает, что объем памяти 2К оказывается достаточным, если часть этой памяти не используется для вычисления функциональ-них зависимостей табличным методом, В противном случае требуется расширение памяти и изменение системы адресации. После определения числа команд согтавляется их перечень. Обычно этот перечень состоит нз универсальных команд, присущих всем ЭВМ, и специализированных команд, связанных с назиа-че«нем данной МП-системы. Именно возможность использования таких команд и является основным преимуществом применения .МП-систем, программируемых пользователем. Обычно нз универсальных команд используются сложение и вычитание, логические операции И, ИЛИ, исключающее ИЛИ, НЕ, сдвиги логические и (нлн) арифметические, условные и безусловные переходы, переход на подпрограмму и возврат нз нее, запись в память и чтение из памяти. Операции умножения и деления можно выполнять по подпрограммам, однако это требует мтого времени, поэтому в тех случаях, когда эти операции необходимо выполнять достаточно часто, онн включаются в состав команд МП-системы. В некоторых случаях используется специальное устройство умножения-деления, например, на основе микросхемы KPI802BP2, общение с которым осуществляется командами записи и чтения, так что специальных команд не требуется.

Как указывалось, специализированные команды определяются назначением МП-системы. Для МП-системы, предназначенной для прямого цифрового управления тиристорным электроприводом, полезными оказываются следующие команды:

«сравнение бита», при которой происходит ветвление программы в зависн-мйсти от значения определенного разряда содержимого аккумулятора; номер ршряда указан в адресуемой ячейке памяти;

«формирование знака», при которой содержимому аккумулятора присваивается знак числа, содержащегося в адресуемой ячейке памяти;

«сравнение на модуль», при которой ветвление происходит в зависимости otr соотношения модулей чисел, содержащихся в аккумуляторе и ячейке памяти;

«ограничение», прн которой содержимое аккумулятора ограничивается числам, указанным в ячейке памяти;

«сложение или вычитание с ограничением», при которой после выполнения у*азаниой операции результат ограничивается некоторым числом, содержащимся а определенной ячейке памяти нлн в определенном регистре;

«функциональное преобразование», при которой содержимое аккумулятора функционально преобразуется с помощью таблиц, причем вид функциоиаль-наго преобразования кодируется его номером.



Из приведенного перечня видно, что все эти специализированные команды можно реализовать с помощью универсальных команд, однако выполнение необходимой последовательности иа микропрограммном уровне уменьшает длину программы и сокращает время её выполнения.

После определения набора команд необходимо каждую из иих реализовать в виде последовательности микрокоманд. Эта работа достаточно сложная, и для ее упрощения разработана система микропрограммирования [40]. В качестве примера иа рис. 5.3 изображена микропрограмма сложения для МП, изображенного иа рис. 5.2 (с совмещенными шинами адреса и данных). Предполагается сложение содержимого регистра R0 с содержимым ячейки ОЗУ, адрес которой дан в команде. При выполнении сложения необходимо контролировать могущее возникнуть переполнение. Оно может появиться, если оба слагаемые одинаковых знаков. Если складываются положительные числа, то при переполнении образуется знак минус, а переноса нет. Если складываются отрицательные числа, то при переполнении образуется знак плюс.

В блоке / на шине данных выставляется адрес команды, который фиксируется внешним адресным регистром. Блок 2 осуществляет считывание команды с шины данных; КОП помещается в регистр Г, адресная часть - в регистр РА. Блок 3 иа шине данных выставляет адрес ячейки ОЗУ, где хранится операнд. В блоке 4 операнд помещается в регистр АС. В блоке 5 ои временно запоминается в R2. В блоках 6 а 7 устанавливается Со, причем при сложении чисел разных знаков Со=1, одинаковых - Со = 0. Блок 8 собственно выполняет суммирование. Если Со=1, то в R0 - окончательный результат, знак результата записывается в Rl, в блоке 10 счетчик команд, получивший приращение иа /, выводится в РА, подготавливая выполнение следующей команды. Если Со=0, то возможно переполнение. Если знак результата (АС) и знак слагаемых (R2) одинаковы (устанавливаются в блоках , 12), то переполнения нет (Со=0), если же разные (Со=1). то это указывает на переЕЮЛнение.

5.2. ПЕРИФЕРИЙНЫЕ УСТРОЙСТВА МП-СИСТЕМ

Периферийные устройства МП-систем предназначены для осуществления связи с управляемым объектом. С их помощью осуществляется ввод и вывод дискретной и аналоговой информации, отсчет выдержек времени и формирование временных меток и др. Рассмотрим возможные схемы и характеристики таких устройств.

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

Структурная схема устройства ввода четыре слов дискретных сигналов изображена на рис. 5.4. Каждое слово через входное устройство преобразователя уровня ПУ поступает на вход селектора СЕ, пропускающего на выход только один из входных кодов



1-е слово

г-е слово

3-е слово

Ч-е слово

-зпг

ЗП1

К шине

данных

ДШ С

. Чтение -Адрес

Вход

1-\s)

I CSpocll

К СЕ

Рис. 5.4. Устройства ввода потенциальных (а) и и.мпульсных (б) сигналов

В зависимости от кода на входах А н В. Дешифрация адреса осуществляется деи;ифратором ДШ, который, кроме кода АВ, формирует сигнал выбора схемы С. Если выбран один из каналов данного устройства, то при действии сигнала «Чтение» (активный уровень - нуль) код выбранного входного слова через шинный формирователь ШФ появляется на шине данных и считывается МП.

При большой длине входных трасс в ПУ осуществляется преобразование уровня и гальваническое разделение с помощью оптронов или герконных реле. Входные сигналы в этом случае передаются напряжением 24-48 В. При меньшей длине входных цепей ПУ может осуществлять только преобразование уровня (например, представлять собой микросхемы типа К511ПУ1), если передача входных сигналов осуществляется на уровне 15 В. Иногда на устройство ввода дискретных сигналов возлагаются функции формирования запросов прерывания в процессор. Обычно запрос должен формироваться в том случае, если хотя бы один из разрядов в определенно.м слове изменил свое состояние.

На рис. 5.4, а показано, что соответствующие схемы, выделяющие изменения состояния {С31, С32), присоединены к первому и второму каналам. Они формируют сигналы запросов прерывания ЗП1 и ЗП2.

Отметим, что при большом объеме вводимой информации целесообразна двухступенчатая селекция; внешние селекторы, например, могут быть выполнены па ячейках СЕ-1ДИ или 2Я402, входящих в серию УБСР-ДИ.





0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 [ 49 ] 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100