Изобретение относится к автоматике и вычислительной технике и может быть использовано в качестве автономного устройства для преобразования координат либо в составе вачислителя при решении различного рода специальных задач.
Известен преобразователь координат, предназначенный для преобразования первого и второго двоичных чисел, соответствующих прямоугольным координатам, в полярные координаты. Преобразователь вырабатывает третье двоичное число, соответствующее углу .в полярных координатах, и содержит первый регистр для хранения первого числа, второй регистр для хранения второго, третий регистр для накопления разрядов, образующих третье число, схему установки положения второго разряда третьего гегнстра в заданное состояние память, запрограммированную на формирование значений синуса и косинуса, представленного двоичным числом - содержимым третьего регистра; умножитель, связанный с памятью, первым и вторым регистрами, и обеспечивающий перемножение содержимого второго регистра на косинус указанного угла с целью
формирования первого произведения и содержимого первого регистра на синус указанного угла с целью формирования второго произведения, схему, определяющую, что одно произведение больше другогб, и схему для изменения указанного логического состояния второго разряда третьего регистра, если одно из произведений больше 1,
К недостаткам известного преобразователя следует отнести его сложность, обусловленную программным способом формировсшия значений- синуса и косинуса, выполнением операции умножения с параллельными двоичными кодами, наличие итерационного процесса, на i-OM шаге которого определяются -Значения 1-го разряда угла, требующее повторения операций кгикдого цикла, что привод1Л к значительным затратам временя при преобразовании прямоугольных координат в полярные.
Наиболее близким по технической сущности к предлагаемому является преобразователь, содержащий первый и второй суммирующие счетчики, генератор импульсов, подключенный через ключ к первому счетчику аргумента (фазы), первый и второй блоки. умножения, цифровой генератор, первым выходом соединенный с блоком управ.чения, выходом подключенного ко второму входу ключа 2. Недостатками указанного преобразователя являются его сложность и низкое быстродействие, обусловленные принятым способом формирования синусо-косинусных зависимостей на основе шифратора-дешифратора, в котором каждое значение аргумента кодируется в соответствующее значение функции, что приводит к значительным затратам оборудования, а также многотактным способом определения значения аргумента вектора за счет итерационного процесса его уточнения. Следует отметить, что совмещение итерационного процесса с числоимпульсной обработкой переменных приводит к довольно длительному времени преобразования прямоугольных координат в полярные. Цель изобретения - повьпиение быстродействия. Поставленная цель достигается тем что в цифровой преобразователь коор динат, содержащий генератор импульсо ключ, первый аргумента, два блока умножения, два суммирующих счетчика, компаратор и блок управления, причем выход генератора импульсов соединен с входом ключа, перрый выход которого соединен с входом перйого счетчика аргумента, первый выход компаратора соединен с nepBHjvi входом блока управления, первый выход которого соединен с управляющим входом ключа, введены второй счетчик аргумента, схема сравнения, коммутатор, блок памяти и квадрантный переключатель, причем первый выход ключа соединен с первым входом первого блока умножения, второй вход которого соединен с первые входом второго блока умножения и через блок памяти - с выходом коммутатора управляющий вход которого соединен с вторым выходом блока у11равления, третий выход которого соединен с управляющим входом компаратора, первый и второй информационные входы которого соединены соответственно с выходами первого и рторого блоков умножения, второй вход второго блока умножения Л еди12Н с вторым выходом ктаоча и второго счетчика аргумента, выходы разрядов первого и ВТОРОГО счетчиков аргумента соединены соответственно с первым и вторым входом схемы сравнения, выход которой подключен к второму входу блока управления, выходы старших разрядов счетчиков аргумента соединены соответственно с первьач и вторым входалш коммутатора, .второй выход компаратора подключен к информа ционному эходу квадрантного переклю чателя-, два входа звана и два входа угла которого являются входами преобразователя, третий, четвертый и пятый информационные входы компаратора являются входами задания начальных коо |динат преобразователя, первый, второй и третий, а также четвертый управляющие входы квадрантного переключателя являются соответственно входами начального угла и знака начальных координат преобразователя. При этом квадрантный переключатель содержит восемь элементов И и четыре элемента ИЛИ, первые входы первого и второго элементов И соединены с первым и вторым информационными входами квадрантного переключателя, первый вход знака которого соединен с первыми входами третьего, четвертого, пятого и шестого элементов И и вторыми входами первого и второго элементов И, вторые входы третьего и четвертого элементов и соединены со вторым входом знака квадрантного переключателя, первый информационный вход которого соединен с вторыми входами пятого и шестого элементов И, выходы которых соединены с первыми входами первого и второго элементов ИЛИ,вторые входы которых соединены с выходами первого и второго элементов И соответственно, выходы первого и второго элементов ИЛИ являются выходами квадрантного переключателя, выхойы третьего и четвертого элементов И соединены с входами третьего элемента ИЛИ, выход которого и второй вход угла квадрантного переключателя соединены с выходами знака квадрантного переключателя, первый и второй входы знака которого соединены соответственно с первыми и вторыми входами седьмого и восьмого элементов И, выходы которых соединены с эходс ми четвертого элемента ИЛИ, выход которого и первый вход знака квадрантного переключателя соединены с выходами угла квадрантного переключателя, Кроме того, блок управления содержит три триггера, элемент НЕ и элемент И, причем первые входы первого и второго триггеров соединены с входами задания режима блока управления, вторые входы триггеров соединены соответственно с первым и вторым входами блока управления, выходы первого и второго триггеров соединены с первым и третьим выходами блока управления, выход первого триггера соединен с первьм входом третьего триггера, второй вход которого соединен с выходом элемента НЕ и первым входом элемента И,второй и третий входы которого соединены соответственно с инверсным выходом третьего триггера и входом тактовой частоты третьего триггера.
соединенного с тактовым входом блока управления, вход элемента НЕ и выход, элемента И соединены сдответ.ственно с вторым входом и четвертым выходом блока управления, -вторым выходом которого являются выходы первого и третьего триггеров.
На фиг,1 представлена блок-схема преобразователя координат; на фиг.2 - схема ключа; на фиг.3 схема квадрантного переключателя; на иг.4 - схемы блока управления и коммутатора; на фиг.5 - схема KCwmaратора;
Цифровой преобразователь координат содержит г.енератор -1 импульсов, ключ 2, счетчик 3 гфгумента, схему 4 сравнения, счетчик 5 аргумента, коммутатор 6, блок 7 управления, блок 8 памяти, блоки 9 и 10 умножения, компаратор 11, квадрантный переключатель 12 и суммирующие счетчики 13 и 14. Ключ 2 содержит элементы И15-18 и элемент .ИЛИ 19.Счетчики 3 и 5 аргумента содержат по два последовательно соединенных счетчика 20, 21 я 22, 23 соответственно. Блок 7 управления содержит триггер 24, элемент НЕ 25, триггеры 26 и 27 и элемент И 28. Коммутатор содержит элементы И 29-32 и элемент ИЛИ 33. Компаратор 11 содержит элемент ИЛИ 34, элементы И 35 и 36 регистр 37, сумматор 38, элемент ИЛИ 39, элементы И 40-45. Квадрантный переключатель 12 содержит элементы И 46-49, элементы ИЛИ 50-51, элементы И 52-55, элементы ИЛИ 56 и 57.
Изобретение позволяет рииить две задачи преобразования координат: определение составляющих X,Y вектора, заданного модулем f и аргументом Чд по выражениям
4o-lf
(1)
X po cos
Y P(, sin 5гг,
(2)
и построение вектора (|),Ч) по составляющим Х, YQ в соответствии с выражениями
(3)
+ YrtSin
ocos 2П+Т
О Ygcos | - , (4)
где Рр о исходные значения модуля и аргумента вектора, заданные двоичными кодами; XO,YQ - составляющие вектора, представленные также в виде двоичных кодов; X,Y,p,4 - искомые величины, .
В каждом из выражений (1), (2), (3) и (4) воспроизведение синусной и косинусной зависимостей осуществляется путем последовательного развер- тывания ломаных кривых
2 W a -s4n- l ,если ffi/o (5)
Z,(.S.)-l-COS- , ПРИ
(6)
f
где 1;
2 2j7/2;
- число-импульсный аргумент. При развертывании.функций формируются число-импульсные кода z («Aj и ), значения которых могут быть определены по аппроксимирующим
зависимостям как
U -if
0 к
1,(,)
г D
2,(.j.pA2.vЬО
,1,2... - номера узлов аппроксимации;2 Ч,-ц.-Ч,- - чиг равномерного
двоичного разбиения аргумента;
иZ - двоичные коды приращений функции, между узлами
k Ent
F
г Ent - (Ent - целая часть),
Развертывание аппроксимирующих кривых (5) и (6) происходит следуюим образом.
При поступлении на счетчик 3 аргумента частоты FQ в нем линейно разворачивается код аргумента 1 и сравнивается с дополнительным кодом ( )д кода Чд, занесенного предварительно во второй счетчик 5 аргумента.
Использование для сравнения дополнительного кода (ipfl ) обусловлено особенностью реализации (4) и
приводит к тому, что сначала формируется а затем Z(%.} .
Старшие разряды . развертываемого кода через коммутатор 6 управляют выбором из блока 8 памяти кодов
приращений Z , которые умножаются в блоке 9 умножения на Fg. В качестве блока умножения используется двоичный умножитель, на выходе которого формируется частота F.
1ft , пропорциональная наклону функции на i-OM участке. В момент равенства 4 которое фиксируется схемой 4 сравнения, развертывание Zo(f) заканчивается. Легко
показать, что число импульсов на .выходе блока умножения к этому моменту времени равно Z((4g).. Действительно, для развертывани аргумента Ч на казвдом участке, от i до Ч необходимо 2 импульсов, что соответствует времени 2 /PQ . Количество импуль сов на выходе блока умножения при этом равно , N-rF, .С ie а для г участков М Ь N. p.AZ . i-O 1:0 На последнем участке Г - --F:;- и поэтому p-f %-%) Таким Образом, общая сумма Г . , Формирование- 2(40) осуществляет ся после сравнения Ч и (Ч )д.ц. при дальнейшем развертывании (Ч ) . В это случае выбор приращений а2.из блок памяти осуществляется по обратным кодам ( )Q( , что соответствует на лонам функции 2(4). . Получение 2(4с,) и Zrj( %) в вид число-импульсных кодов позврляёт вы полнить необходимые в (1), (2), (3 и (4) операции умножения путем сло жения соответствующего сомножителя XQ, YP или PQ с приходом каждого импульса одного из число-импульсны кодов 2(Чо), 2(). Этот принцип умножения реализуется на цифровом компараторе 11, представляющем соб накапливающий сумматор параллельного действия, который при решении задачи прямого преобразования коор динат по (1) и (2), работает как накапливающий сумматор, а при обратном преобразовании выполняет функции цифрового компаратора, т.е устройства, в .котором осуществляет вычитание одного кода из другого и накопление получающейся при этом разности, знак которой определяет работу устройства в этом режиме. В этом случае в блоке 11 происходит как бы сравнение сумм поступающих кодов. При работе преобразователя коор динат в режиме определения ортогональных составляющих X и Y вектора (режим А) блок 7 управления обеспе чивает прохождение с генератора 1 через ключ 2 имп ульсов опорной час тоты FJJ на первый счетчик 3 аргумента и блок 9 умножения, слохсени прямых кодов вектора в цифровом компараторе 11, имеющем и разрядов До момента сравнения кодов и (Ч ) код РО заносится в него ZQ,(VO) раз. При этом количество импульсов переполнения на его выходе.равно N - (fo}-fc , JN-, - 2 где m - разрядность цифрового компаратора 12. Заменив ) в (9) вьфажением (8), получим W-o-Ji N . cos трг (10) В момент появления импульса со схемы 4 сравнения цифровой компаратор 11 блоком управления устанавливается в О и Ро снова суммируется в нем в процессе последующей развертки теперь уже 2(4) раз. Количество импульсов переполненияцифрового компаратора 11 в этом случае равно N. ,.. (11) 1 Заменив в (11) Z(4o) выражением (7) , получимin .jr N,2.p, (12) Знаки приближенного равенства в (10) и (12) обусловлены погрешностью кусочно-линейной аппроксимации функции sin Ч , величина которой определяется количеством участков аппроксимации. Распределение импульсов переполнения цифрового компаратора 11 в суммирующие счетчики 13 и 14, где накапливаются X и Y, а также формирование знаков sign X и sign Y осуществляется с помоцью квадрантного переключателя 12, управляемого кодом номера квадранта в соответствии с логическими выражениями X , ,. Q, Y Nrj. Q.VN , .sign X , sign У Q,j, где Q и Qo - состояние соответственно младшего и старшего разрядов кода Ъ.о Следует отметить, что время вычисления X и У определяется общим временем развертывания Ч в счетчике 3 аргумента, которое равно Г . При решении второй задачи (режим В) - построение вектора по составляющим Хд и Y,- сначала определяется его аргумент по соотношению (4), затем модуль f в соответствии с (3), В этом режиме осуществляется поочередное развертывание аргумента Ч в счетчике 3 и Чп в счетчике 5 и соответственно этому формирование число-импульсных Jcoдoв функций Z-I (Ч2) S выходе блока 9 умножения, Z(()9 , на выходе блока 10 умножения, а также сравнение прямого кода / с дополнительным кодом (f( по схеме 4 сравнения. Очередность развертыван Ч и VQ определяется знаком накапливающего; сумматора, работсшхцего теперь в режиме компаратора, к содержимому которого щ ибавляется код YQ импульсами Z(j(4q) и вычитается него код XQ импульс ами Z(%). В соответствии со знаком цифрового компаратора 11 блок 7 управления п ключает опорную частоту F через к 2 либо на входе счетчика 3 и блока умножения,, либо на входы счетчика 5 и блока 10 умножения, осуществля через коммутатор 6 коммутацию стар ших разрядов ()-, и (), кодов tf и 4fi для выбора соответствующих пр ращений л Z| из блока 8 памяти. В начале развертки точка, соот1 if.-s ветствующая значению -X(,sin определяет появление единицы (мину са) в знаковом разряде цифрового компаратора 11. в этот момент заканчивается развертывание f и нач нается развертывание fi и функции i. -Ti г n 1. j до точки, которая соответствует по явлению нуля (плюса) в знаковом ра ряде цифрового компаратора 11. Зат .снова продолжается развертка f , после чего.осуществляется переход к Ч , и т.д. Развертывание Ч и Vij заканчивается в момент равенства кодов () (14 по сигналу со схемы 4 сравнения. Этот момент соответствует равенств так как состояние цифрового компаратора 11 в процессе развертки под держивается равным нулю. Из условия (14) и соотношения (%)АК 2 1 видно, что Ч,Г-Ч, . Заменив в (15) выражением (16), получим /п -. . пи Таким образом, значение кода в счетчике 3 аргумента в момент ср нения Ч. с ()д| является искомым аргументом вектора. Время вычисления Ч определяется общим временем развертки и .-%/Рс,) номера квадранта V при вычислении Ч формируется квадрантным переключателем 12 по знакам X и Y в соответствии с логическими выра- |жениями . Q(sign Ко) Л (sign ) VTsIglTx (sign YO), Q« sign YO, где Q и Qq состояния младшего и старшего разрядов кода sign X 15; ° если Хд О, ГО, ейли Y sign У если YO 0. Процесс ..определения значения f по выражению (3) аналогичен преобразованию координат в первом режиме. Отличие лишь в том, что вместо кода f на входа цифрового компаратора 11 подаются коды Хд и YQ. Производится развертка кода Ч от О до.2 в счетчике 3 аргумента и сравнение его с вычисленным значением у , поступающим на схему сравнения из счетчика 5. При этом до момента сравнения С и Чо импульсами число-импульсного кода Z (Ч) осуществляется суммирование в цифровом компараторе 11 кода YO, а после сравнения импульсами Z(j(4) - суммирование кеда XQ. №«1ульсы переполнения цифрового компаратора, общее количество которых равно УрХИ ) .пл mifm - 4-jr/i +XoCOSf.)r/r p, подсчитываются в счетчике -14 результата. Рассмотрим работу устройства по режимам. Б режиме А (вычисление составляющих по модулю и аргументу) триггер 24 блока 7 управления устанавливается в единичное состояние и разрешает прохождение опорной частоты Fg с генератора 1 через схемы И 15 и ИЛИ 19 ключа 2 на счетчик 3 аргумента и блок 9 умножения. Единичный потенциал триггера 24 подается также на первые входы триггера 27, вторые его входы подключены через элемент НЕ 25 к выходу схемы 4 сравнения, которая при неравенстве сравниваемых кодов имеет на выходе единичный потенциал. Таким образом, триггер 27 не изменяет своего состояния (за счет нулевого потенциала на 3-х входах) несмотря на то, что на его счетный вход подае сй синхрочастота FO. Нулевым потенциалом с прямого выхода триггер 27 в режиме А подключает через коммутатор б кодов к блоку 8 памяти прямой код старших разрядов счетчика 3 аргумента, а. также управляет распределением число-импульсных кодов N.{,. в два канала через схемы И 42 и 43. в цифровом компараторе 11 tia вход накапливающего сумматора 38 и регистра 37 цифрового компаратора через группы схем И 44. Время/ необходимое для вьнислени If , определяется разрядностью исходных КОДОВ iNxo и. NYO количеством шагов в , тактовой частотой F0 и может быть найдено по выражению Ф .(NXO+ tJyo) г . Таким образом, при одинаковой тактовой частоте и разрядности исходных величин время при вычислении / с помощью прототипа 6 в раз больше, чем с помощыо предлагаемого устройства. Упрощение предлагаемого устройств по сравнению с прототипом достигается за счет уменьшения объема постоянной памяти, где хранятся только коды приращений Д Z . Дешифратор-шифратор прототипа предполагает в адачу кодов функции sin 1/, соответствующих каждому значению Ч , в диапазоне от О до 2. Затраты оборудования в этом случае значительно больше, чем в предлагаемом устройстве. Так, для п 13,16 узлов аппроксимации и Требуемой точности преобразования сЛ 0,1% в блоке 8 памяти, предлагаемого устройства необходимо хранить 16 значений приращений Л2 а в прототипе - около 2 . Таким образом, изобретение позволяет улучшить технико-экономические показатели преобразователя координат за счет сокращения оборудования примерно на 15-20% и увеличения быстродействия в несколько раз. Формула изобретения 1. Цифровой преобразователь координат, содержащий генератор импульсов, ключ, первый счетчик аргумента два блока умножения, два суммирующих счетчика, компаратор и блок управле ния, причем выход генератора импуль сов соединен с входсм ключа, первый вьисод которого соединен с входом первого счетчика , первый выход компаратора соединен с первым входом блок.а управления, первый выход которого соединен с управлякиим входом ключа, отличающийс я тем, что, с целью увеличения быстродействия, в него введены второй счетчик аргумента, схема сравнения, коммутатор, блок памяти и квадрантный переключатель, причем первый выход ключа соединен с первым входом первого блока умножения,второй вход которого соединен с первым .входом второго блока умножения и через блок памяти - с выходом, коммутатора, управляющий вход которого соединен с вторым выходом блока управления, третий выход которого соединен с управляющим входом компаратора, первый и второй информационные входы которого соединены соответственно с выходами первого и второго блоков умножения, второй вход второго блока умножения соединен с вторым выходом ключа и входом второго счетчика аргумента, выходы разрядов первого и второго счетчиков аргумента соединены соответственно с первым и вторым входом схемы сравнения, выход которой подключен к второму входу блока управления, выходы старших разрядов счетчиков аргумента соединены соответственно с первым и вторым входами коммутатора, второй компаратора подключен к информационному входу квадрантного переключателя, два входа знака и два входа угла которого являются входами преобразователя, третий, четвертый и пятый инфоря ационнье входы компаратора являются входами задания начальных координат преобразователя, первый, второй и третий, а также четвертый управляющие входы квадрантного переключателя являются соответственно входами начального угла и знака начальных координат преобразователя. 2, Преобразователь по п. 1, отличающийся тем, что квадрантный переключатель содержит восемь элементов И и четыре элемента ИЛИ, первЬое входы первого и второго элементов И соединены с первым и вторым информационными входами квадрантного переключателя, первый вход знака которого соединен с первыми входами третьего, четвертого, пятого и шестого элементов И и вторыми входами первого и второго элементов И, вторые входы третьего и четвертого элементов И соединены со вторым входом знака квадрантного переключателя, первый информационный вход которого соединен с вторыми входами пятого и шестого элементов И, выходы которых соединены с первьзми входами первого и второго элементов ИЛИ,вторые входы которых соединены с. выходами первого и второго элементов И соответственно,выходы первого и второго элементов:ИЛИ являются вы,ходб№4И квадрантного переключателя, 1ВЫХОДЫ третьего и четвертого элементрв И соединены с выходами третьего элемента ИЛИ, выход которого и второй вход угла квадрантного переключателя соединены с выходами знака квадрантного переключателя, первый и вгорой входы знака которого соеди наны соответственно с первыми и вто рыми входами седьмого и восьмого элементов И, выходы которых соединены с входами четвертого элемента ИЛИ, выход которого и первый вход .знака квадрантного переключателя соединены с выходами угла квадрантного переключателя. 3. Преобразователь по п. 1, о тличающийся тем, что блок управления содержит три триггера, элемент НЕ и элемент И, причем первые входы первого и второго триггеров соединены с входами задания режима блока управления, вторые входы триггеров соединены соответственно с первым и вторым входами блока управления, выходы первого и второго триггеров соединены с перлым и третьим выходами блока управления, выход первого триггера соединен с первым входом третьего триггера, второй вход которого соединен с выходом элемента НЕ и первым входом элемента И, второй и третий входы которого соединеньа соответственно с инверсным выходом третьего триггера и входом тактовой частоты третьего триггера, соединенного с тактовым входом блока управления, вход элемента НЕ и выход элемента И соединены соответственно с вторым входом и четвертым выходом блока управления, вторым выходом которого являются выходы первого и третьего триггеров. Источники информации, принятые во внимание при экспертизе 1. Патент США 3952187, кл. 235-152, опублик. 1976. 2. Авторское свидетельство СССР 453690, кл. G 06 F 7/38, 1974 (прототип).
название | год | авторы | номер документа |
---|---|---|---|
Устройство для преобразования полярных координат вектора в прямоугольные | 1978 |
|
SU771682A1 |
Устройство для преобразования координат | 1980 |
|
SU898426A1 |
Устройство для контурного управления промышленным роботом | 1984 |
|
SU1211691A1 |
Цифровой преобразователь координат | 1981 |
|
SU960834A1 |
Устройство для моделирования случайных блужданий | 1981 |
|
SU999063A1 |
Многофункциональный преобразователь | 1985 |
|
SU1267443A1 |
Устройство для определения модуля и аргумента вектора | 1981 |
|
SU972523A1 |
Обратимый преобразователь координат | 1982 |
|
SU1035617A1 |
Функциональный преобразователь | 1983 |
|
SU1166147A1 |
СПОСОБ ИЗМЕРЕНИЯ СКОРОСТИ ВРАЩЕНИЯ ВАЛА И УСТРОЙСТВО ДЛЯ ЕГО ОСУЩЕСТВЛЕНИЯ | 1991 |
|
RU2017156C1 |
А В (р I
Г
.X-
лЭ1
з1Ь
я
SlynYo SiifnXa
Авторы
Даты
1982-07-07—Публикация
1980-05-30—Подача