первого триггера и через одновибратор - с первым входом первого элемента ИЛИ, второй вход которого соединен с входом первого счетчика и через элемент задержки - с выходом второго элемента И и четвертым выходом блока управления, третий выход которого соединен с выходом первого элемента ИЛИ и установочным входом второго счетчика, вход которого через делитель частоты соединен с выходом первого элемента И, выход второго счетчика соединен с входом первого дешифратора, выход которого соединен с -первым выходом блока управления, выход первого счетчика через второй дешифратор соединен с вторым выходом блока и первыми входами второго и третьего элементов И, вторые входы которых соединены с выходами соответственно второго элемента ИЛИ и первого дешифратора, подключенного также к первым входам четвертого и пятого элементов И и счетному входу третьего счетчика, второй вход и выход пятого элемента И соединены соответственно с инверсным выходом второго триггера и первым входом третьего элемента ИЛИ, выход и второй вход которого соединены соответственно с первым входом первого триггера и выходом третьего элемента И, четвертьй вход блока управления соединен с входом второго тригера, прямой выход которого соединен с вторым входом четвертого элемента И, выход которого соединен с первым входом второго элемента ИЛИ, второй вход блока управления соединен с первым входом третьего триггера, прямой выход которого соединен с первыми входами анализатора знака и шестого элемента И, инверсньй выход третьего триггера соединен с первым входом седьмого элемента И, выход которого совместно с выходом шестого элемента И является пятым выходом блока управления, третий вход которого соединен с вторым входом анализатора знаков, входы логических условий узла микропропрограммного управления с первого по
седьмой соединены соответственно с первым входом блока управления, прямым выходом второго триггера, выходом третьего сч-етчика, выходом первого дешифратора, выходом третьего элемента И, выходом второго дешифратора и выходом анализатора знаков, выходы стробирования узла микропрограммного управления с первого по седьмой соединены соответственно с вторым входом первого триггера, установочным входом третьего счетчика, вторым входом второго элемента ИЛИ, вторыми входами шестого и седьмого элементов И , вторым входом третьего триггера , седьмым выходом блока управления и шестым выходом блока управления.
название | год | авторы | номер документа |
---|---|---|---|
Устройство для обработки приращений вектора | 1984 |
|
SU1203510A1 |
Устройство для преобразования координат | 1985 |
|
SU1254475A1 |
Вычислительное устройство | 1986 |
|
SU1361546A1 |
Генератор векторов | 1981 |
|
SU1010646A1 |
Устройство для преобразования координат вектора в трехмерном пространстве | 1986 |
|
SU1403062A1 |
Цифровой преобразователь координат | 1980 |
|
SU943715A1 |
Устройство для преобразования координат | 1980 |
|
SU898426A1 |
Устройство для цифрового преобразования координат | 1982 |
|
SU1019445A1 |
Цифровое устройство для преобразования координат | 1981 |
|
SU960808A1 |
Обратимый преобразователь координат | 1982 |
|
SU1035617A1 |
УСТРОЙСТВО ДЛЯ ПРЕОБРАЗОВАНИЯ КООРДИНАТ, содержащее три регистра, два коммутатора, блок управления, блок памяти,дешифратор ,два сдвигателя, группу дешифраторов и два сумматора, выходы которых соединены с входами устройства и первыми информационными входами соответственно первого и второго регистров, ко- . довые выходы которых соединены соответственно с информационными входами первого и второго коммутаторов, а входы дешифратора - с знаковыми выходами первого и второго регистров и выходами коммутаторов, выходы дешифратора и дешифраторов группы соединены с адресным входом блока памяти, первьш и второй выходы которого соединены с информационными входами соответственно первого и второго сдвигателей, управляющие входы которых соединены с первым выходом блока управления и управляющими входами коммутаторов, входы дешифраторов группы соединены с вторым выходом блокауправления, знаковым выходохМ третьего регистра и выходом соответствующих разрядов третьего регистра, выходы сдвигате, лей соединены с информационными входами соответствующих сумматоров, управляющие входы которых соединены с третьим выходом блока управления, четвертьй выход которого соединен с входами записи первого и второго регистров, вторые информационные входы первого, второго и третьего регистров и первьй вход блока управления являются соответственно входами первой координаты, второй координаты, угла и запуска устройства, отличающееся тем, что, с целью расширения класса решаемых задач путем преобразования прямоугольных координат в полярные, в S него введен распределитель импуль(Л сов, выходы которого подключены к входам соответствующих разрядов третьего регистра, вход записи которого соединен с пятым выходом блока управления, шестой и седьмой выходы которого соединены соответственно с информационным и управляющим входами распределителя импульсов, второй и третий входы блока управ со ления соединены соответственно с выходами знаковых разрядов второго регистра и второго сумматора, чет- вертьй вход блока управления является входом установки режима преобразования устройства, причем блок управления .содержит три триггера, генератор импульсов, семь элементов И, делитель частоты, три счетчика, два дешифратора, три элемента ИЖ, одновибратор, элемент задержки, .анализатор знаков и узел микропрограммного управления, выход генератора импульсов соединен с первым входом первого элемента И, второй вход которого соединен с выходом
Изобретение относится к цифровой вычислительной технике и предназначено для преобразования прямоугольных координат в полярные и наоборот а также для поворота осей пр.тмоугольных координат.
Цель изобретения - расширение класса решаемых задач путем преобразования прямоугольных координат в полярные.
На фиг. 1 представлена структурная схема устройства для преобразования координат} на фиг. 2 - диаграмма, поясняющая процесс поворота вектора при преобразовании прямоугольных координат в полярные; на фиг. 3 - схема блока управления на фиг. 4 - граф-схема алгоритма работы узла микропрограммного управления.
Устройство состоит из регистров 1-3, коммутаторов 4 и 5, дешифратора 6, группы дешифраторов 7, сдвигателей 8 и 9, сумматоров 10 и 11,
блока памяти 12, распределителя импульсов 13,блока управления 14, входных шин устройства 15-17, выходных шин 18 и 19, шин установки режима преобразования 20 и пуска
устройства. 21.
3
Блок управления (фиг. 3) состоит из триггеров 22-24, генератора импульсов 25, элементов И 26-32, делителя частоты 33, счетчиков 34-36, дешифраторов 37 и 38, элементов ИЛИ 39-41, одновибратора 42, элемента задержки 43, анализатора знаков 44, узла микропрограммного управления 45, входных и выходных шин 46-55 и шин микропрограммного автомата 56-67.
Устройство работает следующим образом
Определение результата поворота осей прямоугольных координат осуществляется по известному выражению
fjti rS -cosW-Ixf.eq-sinrcfjiij.aP
Д540
.Co.M.xf.2qxe;.c i V2Ps
Д1+0 ,(....PH i 0,1,...MM, отрезки соответств i J J i -С НО КОДОВ у являющихся вход ными данными -го цикла; P-(ri-i)/Pj разрядность отрез ков соответствующих кодов. Постоянная память, необходимая для работы устройства, содержит функциональную таблицу вида (Х-,(Х.Ч;), (3) X-X;CosCpj -Y einCfj , - X;coscfj Xj 5in Cfj , что означает: по адресу, определяе мому совокупностью величин , и Срj J из постоянной памяти считыва ются результирующие величины Х| и Yi , ранее вычисленные для всевозможных комбинаций значений Х у; и ср по выражению (3) и записанные впамять. Присутствие множителей 2 Т и 2. Р в выражении (2) указывает на использование свойства линейности (пропорциональности) между значениями Xf , ) и X(M,PV со гласно вьфажекию (3), при постоянном значении У , что позволяет
793244
ix sXcosqi-Ysinq , . V со5 tp + Xsin q , Представим теперь коды координат 5 X , Y и коды угла q в виде сумм
,tX-,Xtp.,,.,V
,0 (м.,),
где Р и М - количество кодовых отрезков соответственно в кодах координат и угла. Поставляя эти слммы в уравнения 15 (1), после ряда преобразований можно прийти к рекуррентным соотношениям, по которым функционирует предлагаемое устройство
(2) для всех кодовых отрезков координат использовать одну и ту же таблицу, составленную только для старших uuu 1 aBjitiJiHyjo IDJibKU длл (ларших о) отрезков . При подаче на вхдд постоянной памяти i -е отрезков Х . иЛ- их величины ув личивают о Р ся в 2 раз, соответственно и считанные константы больше по величине во столько же раз. Для получения истинных значений и . считан 1 1 ные константы необходимо сдвинуть на р разрядов вправо,.что соответствует умножению на . Процесс функционирования устрой- ства состоит из М циклов, каждый из которых содержит г тактов. В течение такта осуществляется подача на вход блока памяти 12 одной пары отрезков кодов координат, счи- тьтание констант, их сдвиг и суммирование. При вьтолнении цикла обрабатьюаются все отрезки кодов координат в совокупности с одним из отрезков кода угла, в результате чего исходная система координат поворачивается на угол Cfj . Затем содержимое сумматоров 10 и 11 переписывается в регистры 1 и 2 и сумматоры обнуляются. Начинается следующий цикл. Так как в преобразовании участвует (+1)-й отрезок кода угла то вектор в этом цикле поворачивается еще на угол су (i + 1) и т.д.
После завершения ()-ro цикла значения, сформированные в сумматорах 10 и 11, соответствуют искомым резул татам , .
Рассмотрим работу устройства совместно с блоком 14 управления.
как блок 14 управления помимо стандартных элементов содержит узел 45, то для полного раскрытия выполняемых им функций приведем граф-схему алгоритма его функционирования (фиг. 4). По сигналу на входе 20 триггер 22 режима устанавливается, например, в единичное состояние, при котором устройство осуществляет поворот осей системы прямоугольных координат.
По сигналу Пуск со входа 21 узел 45 начинает свою работу. Первой выполняемой операцией является сброс счетчика 35 циклов, после чего осуществляется анализ состояния триггера 22 режима. В данном случае выполняется правая ветвь графсхемы алгоритма, соответствующая повороту осей пряпоугольных координат Процесс поворота начинается подачей сигнал Запуск преобразования на единичньй вход триггера 24, устанавливая его в единичное состояние. Сигнал перепада с выхода триггера 24 выделяется одновибратором 42 и через элемент ИЛИ 39 сбрасывает счетчик 34 тактов и сумматоры 10 и 11. Дешифраторы 37 и 38 осуществляют си гхронное управление коммутаторами 4 и 5 сдвигателей 8 и 9 и включение первого дешифратора из группы дешифраторов 7. При этом нулевые отрезки исходных кодов координат Х° ,YO /находящиеся в регистрах 1 и 2, через коммутаторы 4 и 5 -поступают на входы дешифратора 6 и совместно с нулевым отрезком кода угла Yg , поступающим на первый дешифратор 7, в совокупности образуют .адрес, по которому из блока 12 памяти считываются константы. Константы через сдвигатели 8 и 9 (в нулевом такте без сдвига) поступают в сумматоры 10 и 11 и фиксируются в них.
Одновременно импульсы с генератора 25 через открытый единичны- сигналом свыхода триггера 24 элемент И 26 поступают на делитель частоты 33, коэффициент пересчета которого выбирается такой величины, чтобы в
паузах, между следующими с выхода импульсами успели бы выполняться все операции вычислительного такта. Импульс с выхода делителя частоты 33 поступает на вход счетчика 34 тактов, увеличивая его на единицу, т.е. устройство переходит к выполнению следующего такта и т.д. После завершения -го такта сигнал с Р-го выхода дешифратора 37 (триггер 22 режима находится в единичном со-, стоянии) через открытый элемент И 27, элемент ИЛИ 41, а также открытый отсутствием сигнала на /И -м выходе дешифратора 38 элемент И 28 и шину 48 осуществляет перепись содержимьк сумматоров 10 и 11 соответственно в регистры 1 и 2. Затем с задержкой, определяемой элементом задержки 43 и необходимой для полного завершения процесса перезаписи, этот же сигнал через элемент ИЛИ 39 осуществляет сброс сумматоров 10 и 11 и счетчика 34 тактов, а также увеличивает значение счетчика 35 циклов, на единицу. Таким образом, устройство переходит к выполнению следующего вычислительного цикла и т.д.
При завершении М -го цикла на выходе дешифраторов 38 появляется сигнал, который открывает элемент И 29 и закрывает элемент И 28, в связи с чем сигнал с выхода дешифратора 37 проходит через элементы И 29 и ИЛИ 40, сбрасывая один из триггеров и не производя перезаписи сумматоров 10 и 11 в регистры 1 и 2, так вычислительный процесс завершен и результаты остаются в сумматорах 10 и 11 для вывода их на выходные шины 19 и 20.
На граф-схеме (фиг. 4) видно, чт.о при значении счетчика 35 циклов равного узел 45 также заканчивает свою работу.
Для преобразования прямоугольных координат в полярные триггер 22 режима устанавливается в нулевое положение, а выходные данные записываются в регистры 1 и 2. Процесс преобразования в данном режиме сводится к определению такой величины угла, при повороте на которую исходный вектор совмещается с положительным направлением оси абсцисс. Значение координаты при этом оказывается равным модулю вектора
(фиг. 3). Формирование кода угла осуществляется методом поразрядного кодирования, при котором разрядам регистра угла, начиная со старшего, придают определенные значения. Посл очередного установления разряда проводится поворот вектора на угол, соответствующий разряду. Если координата Y сохраняет свой знак, т.е. вектор не переходит ось абсцисс, то значение разряда сохраняется, в противном случае разряд возвращаетс в исходное положение и процесс формирования продолжается со следующим разрядом. Данную методику формирования кода угла реализует узел 45.
Функционирование в данном режиме также начинается по сигналу. Пуск, при этом в соответствии с граф-схемой (фиг. 4) вначале выполняется операция обнуления счетчика 35 циклов -по шине 62, затем узел 45 переходит к анализу состояния триггера 22 режима, и так как он находится в нулевом состоянии, то реализуется левая ветвь графсхемы (фиг. 4), начинающаяся сбросо счетчика 36 разрядности по шине 59.
Учитывая, что исходный вектор может находиться как в положительной, так и в отрицательной полуплоскости относительно оси X (фиг.2) и процесс поворота должен проходить только в исходной полуплоскости, а знак координаты соответствует знаку полуплоскости, то узел 45 сигналом по шине 67 записывает в триггере 23 знак координаты Y , поступающий из знакового разряда регистра 2 по шине 52. Далее, в зависимости от исходного положения вектора, в той или иной полуплоскости первоначально необходимо определить знак угла . . Из диаграммы (фиг. 2 видно, что в положительной полуплоскости направление поворота отрицательно и наоборот в отрицательной положительно. В соответствии с этим сигналом по шине 66 через элементы И 31 и 32 и по одной из шин 54 в зависимости от исходного знака координаты Y устанавливается регист 3 угла qi в состояние 0.00... О или 1.11...1 .
По следующему сигналу из y3jia 45 по одной из шин 53 распределитель 13 импульсов устанавливается в исходное состояние, при котором информационный вход распределителя 13 получает доступ к первому разряду регистра 3 угла.
По шине 54 вьщается сигнал на счетньм вход триггера первого разряда регистра 3 угла, устанавливая тем самым значащее значение разряда. После этого начинается процесс преобразования установлением по шине 58 триггера 24 в единичное состояние. Ход преобразования протекает как в первом режиме.
Через Р тактов на Р -м выходе дешифратора 37 появляется сигнал, которьй, однако, не проходит через элементы И 27 и 29, запрещенные соответствующгоп сигналами, но проходит через открытьм единичным уровнем триггера 22 режима элемент . И 30 и элемент ИЛИ 40, сбрасывая триггер 24. Процесс преобразования заканчивается. Одновременно сигнал с Р -го выхода дешифратора 37 увеличивает на единицу счетчик 36 разрядности Гц и поступает в узел 45.
В результате преобразования в сумматорах 10 и 11 находятся координаты вектора, повернутого на угол, соответствующий установленному -разряду в регистре 3 угла. По знаку сумматора 11, в котором хранится координата Y , можно определить не вышел ли вектор за пределы исходной полуплоскости. Сигнал, поступивший от дешифратора 37, побуждает узел 45 перейти к анализу знака координаты Y после поворота. Анализатор 44 знака сравнивает исходное (триггер 23) и текущее (сумматор 11) значения знаков координаты Y и при их несовпадении на его выходе появляется сигнал, поступающий по шине 65 на вход узла 45. Сигнал на выходе анализатора 44 знака указывает, что вектор вышел за пределы исходной полуплоскости и в соответствии с реализуемой граф-схемой (фиг. 4) вырабатывается сигнал, которьй поступает по шине 54 через распределитель 13, возвращая разряд триггера регистра 3 в исходное состояние, после чего выполняется следующая команда. При отсутствии сигнала (сигнал нулевой) на выходе анализатора 44 знака происходит переход к следующей команде, т.е. сформированный в регистре 3разряд сохраняется.
Следующая команда по одной из шип 53 осуществляет сдвиг распределителя 13 на одну позицию вправо, подготавливая условия формирования второго разряда .кода угла. Далее осуществляется анализ значения счетчика 36 разрядности и при неравенстве его содержимого m происходит переход к формированию следующего разряда кода угла. Равенство содержимого счетчика 36 in указывает на завершение формирования, например, нулевого отрезка кода угла. В этом случае необходимо значения координат, сформированные в сумматорах 10 и 11, переписать во входные регистры 1 и 2, что осуществляется (фиг. 4) и позволяет в общем случае при формирований разрядов j -го отрезка кода угла вьшолнять только j-й цикл преобразования, т.е. только один цикл. Процесс перезаписи содержимых сумматоров 10 и 11 в регистры 1 и 2 выполняется при подаче
по шине 63 сигнала на вход элемента ИЛИ 41 и далее как описывалось. Этот сигнал увеличивает также счетчик 35 циклов на единицу, что и отражено в граф-схеме (фиг. 4). Далее по шине 59 осуществляется сброс счетчика 36 разрядности.
Процедура формирования кода угла продолжается до п -го разряда, после чего содержимое счетчика 35
циклов становится равным М и узел 45 заканчивает свою работу.
Предлагаемое устройство способно выполнять преобразования прямоугольных координат в полярные и обратно, а также осуществлять поворот осей системы прямоугольных координат.
20 21
CDuz.f
Цифровой преобразователь координат | 1977 |
|
SU742944A1 |
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Авторское свидетельство СССР № 951965, кл | |||
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Авторы
Даты
1985-09-15—Публикация
1984-01-09—Подача