Цифровой линейный интерполятор
Иллюстрации
Показать всеРеферат
Изобретение относится к автоматике и вычислительной технике. Цель изобретения - повышение быстродействия и точности аппроксимации интерполятора. В предлагаемом цифровом линейном интерполяторе отрезок прямой задается значениями тразрядного большего приращения (БП) и тразрядного управляющего кода (УК). Аппроксимация заданного отрезка прямой осуществляется в общем случае за БП/2т п интерполяционных тактов 2т п-разрядными приращениями по ведущей и ведомой координатам , где Г - оператор выделения целой части числа с округлением до большего; п - разрядность регистра, в который записывается п разрядов УК; БП - значение тразрядного большего приращения. Значение п старших разрядов БП, определяющее число интерполяционных тактов, записывается в счетчик, Значение m-n младших разрядов БП определяет число элементарных шагов многоразрядных приращений в (п-Н)-м интерполяционном такте, который возникает в случае наличия остатка отделе БП 1 ния: JL . Указанное значение заост писывается в регистр. Значение m-n старших разрядов УК, определяющее значение - 1 разрядов многоразрядного приращения по ведомой координате, подается на адресные входы блока постоянной памяти (БПП). Значение п младших разрядов УК, определяющее значение -го разряда многоразрядного приращения по ведомой координате, записывается в регистре. В течение п интерполяционных тактов с выхода считываются группы единичных элементарных приращений, соответствующих ведущей координате. В (п+1)-м такте с выхода БПП 11 считывается группа элементарных приращений, в которой число единичных элементарных шагов равно остатку БП , а оставшееся число Ё БП ост элементарных прирэщенийост - нулевое. С выхода блока вентилей считывается группа шаговых приращений ведомой координаты, в которой разрядов формируются с помощью блока постоянной памяти и регистра 9, а значение разряда формируется с помощью двоичного умножителя и триггера. Сформированные на выходе многоразрядные приращения стробируются сигналом на выходе блока управления , 1 з.п. ф-лы, 6 ил., 3 табл. О Сл СЯ 00
Союз СОВЕТСких
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК (я)5 6 05 B 19/18
ГОСУДАРСТВЕННЫИ КОМИТЕТ
ПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯМ
ПРИ ГКНТ СССР
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ
6 (21) 4652824/24 (22) 17.02.89 (46) 28.02.91. Бюл. М 8 (71) Специальное конструкторско-технологическое бюро "Модуль" Винницкого политехнического института (72) А.Н. Романюк и Ю,В. Сандул (53) 621.503.55(088,8) (56) Авторское свидетельство СССР
N 991375, кл. G 05 В 19/18, 1983, Авторское свидетельство СССР
М 1434406, кл, G 05 В 19/18, 1987 (54) ЦИФРОВОЙ ЛИНЕЙНЫЙ ИНТЕРПОЛЯТОР (57) Изобретение относится к автоматике и вычислительной технике. Цель изобретения— повышение быстродействия и точности аппроксимации интерполятора. В предлагаемом цифровом линейном интерполяторе отрезок прямой задается значениями mразрядного большего приращения (БП) и mразрядного управляющего кода (УК).
Аппроксимация заданного отрезка прямой осуществляется в общем случае за БП/2 " интерполяционных тактов 2 "-разрядными приращениями по ведущей и ведомой координатам, где ) — оператор выделения целой части числа с округлением до большего:
u — разрядность регистра, в который записывается и разрядов УК; БП вЂ” значение mразрядного большего приращения.
Значение и старших разрядов БП, определяющее число интерполяционных тактов, записывается в счетчик. Значение m-u младших разрядов БП определяет число элементарных шагов многоразрядных приращений в (и+1)-м интерполяционном такте, который... Ы,«1631518 А1 возникает в случае наличия остатка от делеБП ния: . Укаэанное значение за2m и ост писывается в регистр. Значение m-u старших разрядов УК, определяющее значение 2 "-1 разрядов многоразрядного приращения по ведомой координате, подается на адресные входы блока постоянной памяти (БПП). Значение и младших разрядов УК, определяющее значение 2 " -го разряда многоразрядного приращения по ведомой координате, записывается в регистре. В течение и интерполяционных тактов с выхода считываются группы единичных элементарных приращений, соответствующих ведущей координате. В (u+1)-м такте с выхода
БПП 11 считывается группа элементарных приращений, в которой число единичных элементарных шагов равно остатку
БП, а оставшееся число 2 "—
2m п ост
Б элементарных приращений2 ост — нулевое. С выхода блока вентилей считывается группа шаговых приращений ведомой координаты, в Которой 2m "-1 разрядов формируются с помощью блока постоянной памяти и регистра 9, а значение 2m "-го разряда формируется с помощьюдвоичногоумножителя и триггера. Сформированные на выходе многоразрядные приращения стробируются сигналом на выходе блока управления, 1 з.п. ф-лы, 6 ил., 3 табл.
1631518
Изобретение относится к автоматике и вычислительной технике и может быть использовано в выводных графических устройствах и в системах числового программного управления, Цель изобретения — повышение быстродействия и точности работы интерполятора, На фиг. 1 представлена структурная схема цифрового линейного интерполятора; на фиг. 2 — функциональная схема блока управления; на фиг. 3 — распределение управляющих воздействий по отношению к уровням сигнала на стробирующем выходе; на фиг. 4 — функциональная схема счетчика: на фиг.5 — пример форми рова ния многоразрядных приращений; на фиг. 6 — пример аппроксимации заданного отрезка прямой, Разрядность управляющего кода, поступающего на информационный вход, равна разрядности т. Это следует из того, что веса разрядов управляющего кода получа-! от путем последовательного деления большего прираь!ения отрезка прямой (БП) на степени числа 2, В предлагаемом устройстве на выходе в каждом интерполяционном такте определяется 2г элементарных приращений, где ) =
m-n; m — максимальная разрядность БП; n— разрядность регистра.
Число интерполяционных тактов равно ! БПм к /2 1 где f оператор определяющий !
" а,в) =а при в=О; (а,aJ =а+ 1 прив О; где а, в — соответственно целая и дробная части числа;
) — оператор выделения целой части числа; — оператор выделения целочисленного значения остатка числа.
Цифровой линейный интерполятор содержит блок 1 управления (БУ), блок 2 постоянной памяти управляющего кода (БПП), и-разрядный регистр 3, счетчик 4, регистр 5 для приема и хранения остатка, двоичный умножитель 6. (ДУ), цифровой интегратор последовательного переноса, дешифратор
7 (С), первый элемент И 8, регистр 9 большего приращения, первый триггер 10, блок 11 постоянной памяти приращения ведущей координаты, блок 12 вентилей (БВ), элементы И 13, информационный вход
14, вход 15 записи большего приращения, вход 16 записи управляющего кода, вход 17 начальной установки, вход 18 пуска, вход
19 и выходы 20 и 21 блока 1, выход 22 конца интерполяции, стробирующий выход 23, 2m "-разрядный выход 24 ведомой координаты, 2" "-разрядный выход 25 ведущей ко- ординаты, вход 26 сброса.
Блок 1 управления содержит генератор
27 импульсов, второй 28, третий 29 элементы И, второй 30, третий 31 и четвертый 32
0-триггеры и четвертый элемент И 33.
На фиг. 4 позицией 34 обозначен элемент ИЛИ, позицией 35 — счетчик.
Блок 1 управления предназначен для синхронизации работы устройства, т.е. формирования управляющих воздействий, необходимых для функционирования устройства. В цикле интерполяции значение "1" на выходе конца интерполяции сигнализирует внешнему устройству о воспроизведении заданного отрезка прямой. После воспроизведения заданного отрезка прямой на указанном выходе формируется значение "О". На стробирующем выходе формируется импульсная посл едовател ьность, стробирующая многоразрядные приращения, поступающие на соответствующие выходы 24 и 25.
Выход 24 соответствует ведомой координате, а выход 25 — ведущей координате, Выход
20 блока 1 соединен с входом сброса двоичного умножителя 6 и предназначен для формирования сигнала отрицательной полярности, по которому двоичный умножитель устанавливается в нулевое состояние в подготовительном цикле и после окончания рабочего цикла интерполятора. Четвертый
21 выход БУ 1 соединен с управляющим входом двоичного умножителя 6, вычитающим входом счетчика 4 и С-входом первого
D-триггера 10, На указанном выходе формируется последовательность импульсов, обеспечивающая требуемые режимы работы перечисленных блоков, Блок 2 постоянной памяти управляющего кода служит для хранения (2 "— 1) разрядов 2 "-разрядного управляющего кода, формируемого за один интерполяционный такт. Причем m-n старших разрядов управляющего кода (УК) поступают на адресный вход блока 2 по информационному входу 14, выход блока соединен с информационным входом регистра 9, Регистр 3 служит для приема и хранения и младших разрядов УК, Значение и младших разрядов УК поступает по.информационному входу 14 интерполятора. Запись и младших разрядов управляющего кода в регистр 3 производится сигналом положительной полярности на входе 16 записи управляющего кода устройства.
Выход регистра подключен к информационному входу двоичного умножителя 6.
Счетчик 4 служит для выделения сигнала переноса P после отработки интерполятором (БП/2 ) интерполяционных тактов .
На информационный вход счетчика посту
l 631518 пает и старших разрядов. Вход записи счетчика соединен с входом 16 записи большего приращения, Сигналом положительной полярности на укаэанном входе осуществляется запись и старших разрядов в счетчик 4.
Вычитающий вход счетчика соединен с выходом 21 блока 1. Суммирующий вход счетчика соединен с выходом первого элемента
И. Выход переноса счетчика соединен с входом 19 блока 1 и входом выборки кристалла блока 11.
Регистр 5 для приема и хранения остатка служит для приема и хранения у младших разрядов БП, определяющих осГ БП таток а = 1 . Запись у младших
21 радрядов БП осуществляется сигналом положительной полярности на входе 15 устройства, Выход регистра соединен с информационным входом дешифратора 7 и
- адресными входами блока 1.
Двоичный умножитель 6 служит для выделения в каждом интерполяционном такте
2 г -го разряда многоразрядного приращения ведомой координаты. На информационный вход умножителя поступают значения и младших разрядов УК с выхода регистра 3, Вход сброса ДУ 6 соединен с третьим 20 выходом БУ 1, а тактирующий вход — с четвертым 21 выходом БУ 1, Выход ДУ 6 соединен с информационным D-входом первого триггера 10.
Дешифратор 7 служит для выделения единичного сигнала, в случае ненулевого значения на его информационном входе, Выход дешифратора 7 соединен с первым входом первого элемента И 8.
Первый элемент И 8 служит для выделения единичного сигнала, поступающего с его выхода на суммирующий вход счетчика
4, при наличии на первом и втором входах первого элемента И единичных логических уровней. Первый вход элемента И 8 соединен с выходом дешифратора 7, а второй вход элемента И 8 — с входом 16 записи УК.
Регистр 9 служит для приема и хранения (2 г -1) разрядов многоразрядного приращения по ведомой координате, которые поступают на информационный вход регистра с выхода БПП 2. Запись (2 г -1) разрядов в регистр 9 осуществляется сигналом положительной полярности на входе 16 устройства, Выходы регистра соединены с соответствующими информационными входами блока вентилей.
Первый триггер 10 служит для приема и хранения 2 -го разряда многоразрядного приращения ведомой координаты в каждом интерполяционном такте. Значение указан5
55 ного разряда поступает íà информационный вход триггера, Тактирующий С-вход триггера 10 соединен с четвертым 21 выходом БУ 1, Выход триггера 10 соединен с соответству.о щим ин форма цион н ым входом блока вентилей.
Блок 11 постоянной памяти служит:
1|
1) для выдачи единичных 2 } -разрядных приращений ведущей координаты в (БП/2 ) интерполяционных тактах. Для этого в (БП/2 г ) интерполяционных тактах на входе выборки кристалла БПП 11 формируется значение "1", следовательно, на выходах БПП11 во всех разрядах формируются значения " !";
2) для обнуления старших разрядов многоразрядного приращения по ведущей координате e (p БП/2 г ) +1)-м такте при нецелочисленном значении БП/2 г . Обнулению подлежат старшие разряды, число которых равно 2 — (БП/2 > } . Например, при обработке отрезка прямой с БП = 27 и
2 г = 8, в ;БП/2 i+ 1 = 4 такте на выходе блока 11 формируется код 11100000;
3) для управления схемой блока 12 вентилей. Выходы БП П 11 соединены с соответствующими управляющими входами блока вентилей. Таким образом, в (БП/2 «j интерполяционных тактах на управляющих входах блока 12 вентилей единичные уровни.
Следовательно, на выходы блока 12 выставляется информация, которая сформирована на его информационных входах, В (БП/251)-м интерполяционном такте, облучению подлежат 2 — (БП/2 г } старших разрядов многоразрядного приращения по ведомой координате, по аналогии с приведенным условием 2. Следовательно, на оставшихся (БП/2 г } младших разрядах выставляются значения, которые сформированы на соответствующих информационных входах.
Описанные функции 1 и 2 БПП 11 определяют "отсечение" (заполнение нулями) части многоразрядного приращения по ведущей и ведомой координатам в ((БП/2 } )+ 1)-м интерполяционном такте, когда интерполяция заданного отрезка прямой достигает конечной точки.
Генератор 27 импульсов предназначен для выработки последовательности импульсоа, тактирующих работу блока 1 управления. Прямой выход генератора соединен с первым входом второго элемента И 28 и
С-входом второго D-триггера 30, а инверс ный выход генератора 27 импульсов соединен с первым входом третьего элемента И
29.
Второй 30 и третий 31 0-триггеры служат для присинхронизации цикла интерполяции к переднему фронту импульса, формируемого генератором 21 импульсов, Управляющий С-вход третьего триггера 31 соединен с третьим входом 18 блока 1. Информационный 0-вход третьего триггера 31 подключен к сигналу "1". Прямой выход второго D-триггера 30 соединен с вторыми входами второго 28 и третьего 29 элементов И.
Четвертый D-триггер 32 служит для выделе ия "О" после поступления сигнала переноса на управляющий С-входтриггера 32, что соответствует завершению интерполяции заданного отрезка прямой. Информационный вход четвертого 32 триггера заземлен, установочный R-вход подключен к первому 16 входу BY 1 и служит для установки триггера в подготовительном цикле интерполятора. Прямой выход четвертого
D-триггера 32 соединен с вторым входом четвертого элемента И, первый вход которого соединен с вторым 17 входом БУ 1. Выход
«ervepToão 33 элемента И соединен с установочными I(-входами второго 30 и третьего
31 D-триггеров.
Выходы второго, третьего и четвертого элементов И и прямой выход второго 0григгера 30 являются соответственно четвертым 21, вторым 23, первым 22 и третьим
20 выходами БУ 1, Устройство работает следующим образом.
В основе изобретения лежит возможность одновременного формирования групп из 2) элементарных шаговых приращений в (БП/2) ) интерполяционных тактах следующим образом. Формируемые группы элементарных приращений на выходе 25, соответствующие ведущей координате, всегда единичны, за исключением последнего такта (в случае содержи ого регистра
5), а формирование групп элементарных приращений, соответствующих ведомой координате, происходиттаким образом, чтобы числу M элементарных приращений в группах ведущей координаты соответствовало ,испо К элементарных приращений в группах ведомой координаты, Для этого внеш им устройством рассчитывается упраляющий код, под воздействием которого происходит формирование группы элементарных приращений ведомой координаты с учетом указ-нной зависимости, Таким образом в предлагаемом линейном интерполяторе отрезок прямой зада..гся значением большего приращения и значением управляющего кода, Рассчитать УК можно следу1ощим обраЧисло импульсов В за счет i-го разряда управляющего кода за время БП вычисляется по формуле:
I — 1
В = (БП+
Указанная формула реализуется последовательным сдвигом БП (деление на 2 и прибавление 1 при нечетном значении сдвигового операнда). Для того, чтобы за число тактов, равных БП, на выходе иытегратора было сформировано МП импульсов, должно удовлетворяться соотношение и
alai = МП.
15 =1 где ai — значение цифры в1-м разряде управляющего кода.
Таким образом, задача определения УК сводится к определению а, аъ ..., а, по
20 известным значениям БП и МП с использованием приведенных соотношений.
Старшие j = m - n разряды управляющего кода, формируемого внешним устройством, определяют адрес соответствующего
25 информационного слова, которое формируется на выходе блока 2 постоянной памяти.
Единичные значения информационного слова определяются согласно выражению р = г " (2 -1)A;
30 где р — номер разряда информационного слова;
I — номер разряда входного управляющего слова, причем I = 1 соответствует старший M-й разряд управляющего слова. i =
35 2-(М-1)-й разряд управляющего слова и т,д. (т,е. индекс определяет порядковый номер рассматриваемого разряда управляющего слова по отношению к его старшему разряду);
40 А — "О" или "1", соответствует значению
I-ro разряда входного управляющего слова;
k — текущий параметр; к — 1,2,3,.„
Значение р выбирают в интервале
О «p m-п.
45 Информационная емкость блока 2 постоянной памяти рассчитывается по формуле
2(т-п) 2m-и 2m-и 2m-п(2т-n1 ) при организации 2m " х 2" " — 1 разрядных
50 слов, где m — разрядность управляющего кода; и — младшие разряды управляющего кода.
Полный интерполяционный цикл уст55 ройства состоит из подготовительного и рабочего циклов, Интерполятор в подготовительном цикле работает следующим образом, 1631518
Определение числа (1 интерполяциБП
2 онных тактов в полном интерполяционном цикле, которое фиксируется в счетчике 4, Число (БП/2у J или (БП/2у)+ 1 интерполяционных тактов определяется и старшими разрядами БП, записанными в дчетчик 4 и у младшими разрядами БП, записанными в регистр 5. Содержимое регистра 5 соответствует числу { БП/2У ) . Если
) БП/2У1 Ф О, то интерполятор отрабатывает
)БП/2у ) + 1 интерполяционных тактов. В случае (БП/2У ) = 0 отрабатывается
) БП/2 J интерполяционных тактов.
Определение значения 2 -1 разрядов
2у-разрядного приращения ведомой координаты за один интерполяционный такт.
3 начение (2 у-1) разрядов фиксируются у регистре 9. Формирование значений(2у-1) разрядов ведомой координаты осуществляется аналогично прототипу, Определение группы элементарных приращений ведущей и ведомой координат, формируемых в интерполяционном такте в случае ненулевого содержимого регистра 5.
В ((БП/2 J+ 1)-м интерполяционном такте формируется группа элементарных приращений по ведущей и ведомой координатам, в которой элементарные приращения имеют определенные значения, а
2У- (БП/2У) элементарных приращений— нулевые.
По включении питания внешнее устройство формирует сигнал отрицательной полярности, который поступает на вход 17 начальной установки интерполятора и устанавливает блок 1 управления в нулевое состояние, При этом на выходе 20 блока 1 формируется сигнал "0", устанавливающий двоичный умножитель 6 в нулевое состояние, В следующий момент времени BHBILl" нее устройство формирует значение БП на информационном входа 14, На вход 15 записи большего приращения поступает импульс положительной полярности, Укаэанным сигналом осуществляется запись и старших разрядов БП в счетчик 4 и у младших разрядов БП о регистр 5, Содержимое регистра 5 поступает на информационный вход дешифрвтора 7. Если содержимое регистра 5 ненулевое, то на выходе дешифратора формируется значение "1", которое поступает на первый вход элемента И 8, В следующий момент времени на информационном входе 14 внешнее устройство формирует значение УК. На вход 16 записи управляющего кода поступает импульс положительной полярности, под воз5
55 действием которого производится запись и младших разрядов в регистр 3, у старших разрядов УК поступают на адресные входы блока 2, С выхода блока 2 считывается 2г — 1 разрядов УК, которые укаэанным сигналом записываются в регистр 9, Если на первом входе элемента И 8 выставлен уровень "1", то с поступлением сигнала записи управляющего кода на второй вход элемента И 8 на
его выходе формируется единичный сигнал, под воздействием которого содержимое счетчика увеличивается на единицу, т.е. количество тактов, записанное в таком случае в счетчик 4, равняется (БП/2у + 1.
В рабочем цикле интерполятора происходит формирование многоразрядных приращений ведущей и ведомой координат соответственно на 25 и 24 информационных выходах интерполятора и выдача их внешнему устройству сигналом на стробирующем выходе 23 устройства, а также формирование сигнала на выходе 22 конца интерполяции после отработки устройства (БП/2У1 интерполяционных тактов, что соответствует окончанию интерполяции заданного отрезка прямой.
Начало рабочего цикла определяется сигналом "1" на входе 18 пуска интерполятора, На выходе 22 интерполятора при этом выставляется значение "1", которое свидетельствует об воспроизведении в данный момент заданного отрезка прямой. На четвертом 21 выходе блока 1 формируется последовательность импульсов, поступающая на управляющий вход двоичного умножителя 6 и на управляющий С-вход триггера 10.
Но информационные входы двоичного умножителя 6 поступают значения и младших разрядов УК. При переходе сигнала на управляющих входах двоичного умножителя 6 из состояния "1" в состояние "0" на выходе двоичного умножителя появляются значения сигнвлою, равные значению 2У-ro раэря да многоразрядного приращения, формируемого эа адин интерполяционный такт, которые фиксируются триггером 10. Значения 2У-1 разрядов и 2) -го разряда многоразрядного приращения соответственно на выхода регистра 9 триггера 10 о6радуют многоразрядное приращение, т,е. группу элемент;)рных приращений ведомой координаты. Указанная группа поступает на информационный вход блока 12 вентилей, I сосало щ и из 2у элементов И--Н Е; В (ГП/2) J wтерполяционных тактах на всех выходах блока
11 выставляются значения "1", определяющие
2у элементарных приращений в каждой группе ведущей координаты. Тогда на управляющих входах блока 12 вентилей тоже
1631518
12 выставляются значения "1". Следовательно, в (БП/2г J интерполяционных тактах на выходе блока вентилей 12 выставляется соответствующая группа из 2 элементарных приращений ведомой координаты. При появлении сигнала "1" на стробирующем выходе 23 интерполятора многоразрядные приращения в виде группы из 2 элементарных приращений ведущей и ведомой координат одновременно считываются с информационных выходов 24 и 25 интерполятора на внешнее устройство. Распределение управляющих воздействий по отношению к уровням сигнала на стробирующем выходе 23 представлена на фиг, 3. В случае наличия дробной части числа
БП
2У необходимо проделать еще один ((БП/21) +
1 -й интерполяционный такт, в котором по ведущей и ведомой координатам формируется группа из РУ элементарных приращений, чтс (БП/2г ) элементарных приращений заканчивают интерполяцию оставшегося отрезка прямой, э 2 — { БП/2) элемента рных приращений — нулевые.
С поступлением каждого импульса на вычитающий вход счетчика его содержимое уменьшается на единицу. Когда содержимое счетчика становится равным нулю, на его выходе формируется импульс отрицательной полярности сигнала переноса Р, который поступает на четвертый 19 вход блока
1 и на вход выборки кристалла БПП 11. При этом длительность импульса сигнала переноса достаточна, чтобы сформировать и и ростробировать многоразрядные приращения на информационных выходах 24 и 25.
Функциональная схема реализации счетчика 4 представлена на фиг. 4.
На выходе 25 блока 11 формируется группа элементарных приращений, в которой число единичных элементарных приращений равно числу $ БП /2 ), а оставшееся число 2; (БП/2 } элементарных приращений — нулевые, Гаким образом, в последнем интерполяционном такте считывается группа из 2г элементарных приращений ведущей и ведомой координат, в которой(БП/21 ) элементарных приращений заканчивают интерполяцию оставшегося такта прямой, а
2> — (БП/2 ) элементарных прирэщений— нулевые.
После стробирования последнего многоразрядного приращения, на выходе конца интерполяции 22 формируется сигнал логи-. ческого нуля, свидетельствующий о завершении интерполяции заданного отрезка прямой. Блок 1 управления и двоичный ум5
50 ножитель устанавливаются в исходное нулевое состояние.
Формирование многоразрядных приращений происходит за время отсутствия импульса на выходе 23, а стробирование многоразрядных приращений — во время наличия импульса на указанном выходе.
Блок 1 управления работает следующим образом.
По включении питания внешнее устройство формирует сигнал отрицательной полярности на входе 17 начальной установки, по когорому 0-триггеры 31 и 30устанавливаются в нулевые состояния, Следовательно, на выходах 20-23 блока 1 управления формируются уровни "0".
Сигналом положительной полярности на входе 16 БУ 1 в нулевое состояние устанавливается D-триггер 32. На выходе 20 при этом формируется уровень "0".
С поступлением сигнала положительной полярности на вход 18 пуска в единичное состояние взводится триггер 31, а вслед эа ним — триггер 30. На выходе 22 конца интерполяции формируется значение "1", следовательно, значение "1" формируетмся на вторых входах элементов И 28 и 29. Такая последовательность действий обеспечивает строгую присинхронизацию цикла интерполяции к переднему фронту импульса, формируемого генератором 27, после поступления сигнала "1" на вход 18 пуска интерполятора.
На выходах элементов И 28 и 29 в противофазе формируется последовательность импульсов. Причем импульсом положительной полярности из последовательности импульсов на выходе 21 производится формирование многоразрядных приращений, а импульсом положительной полярности из последовательности импульсов на выходе 23 производится выдача многоразрядных приращений внешнему устройству.
С поступлением сигнала отрицательной полярности переноса на вход 19 блока 1 триггер 32 устанавливается s нулевое состояние. Следовательно, в нулевое состояние устанавливаются триггеры 31 и 30, а на выходах 20, 22, 23 и 21 BY 1 выставляются уровни "0", Рассмотрим интерполирование отрезка прямой предлагаемым устройством на конкретном примере.
Пусть БП=27, МП=9, разрядность информационного входа 14 равна 5, а разрядность блока 12 вентилей равна 8.
В соответствии с приведенным описанием работы устройства разрядности осталь Lblx блоков интерполятора имеют следующие значения; регистр 3 — 2;.блок 2 с i 631518
5
40
55 постоянной памяти — 7; счетчик 4 — 2; регистр 5 — 3; блок 11 постоянной памяти — 8.
В соответствии с заданным БП и МП внешнее устройство рассчитывает управляющий код. Первоначально по БП = 27 определяются веса В;
27+1 14 В 27+2 7
 — »+4 — 3  — »+8 =г
Вз 3; В4
8 16
В 27+16
В5=
32
Очевидно, что Bl = 27, I=1
Весами В!уравновешивается значение меньшего приращения (в нашем случае МП = 9).
МП = Вр+ В4, следовательно, для приведенного примера управляющий код равен
01010.
Первый блок 2 постоянной памяти совместно с двоичным умножителем 6 также образуют двоичный умножитель с параллельной выдачей информации, Для определения содержимого блока 2 постоянной памяти используют диаграмму формирования выходных импульсов на выходах счетчика пятираэрядного двоичного умножителя с последовательной выдачей информации, приведенную (фиг. 5), активные фронты воздействий выделены утолщенной линией, Младшие 2 разряда управляющего кода поступают на двоичный умножитель 6, а старшие 3 — на блок 2 постоянной памяти. Для определения содержимого блока 2 постоянной памяти необходимо выделить первых 7 тактовых промежутков времени и записать для всех возможных значений управляющего кода группы в соответствии с диаграммой, В рассматриваемом примере на адресные входы блока 2 поступает код 010 (старшие разряды управляющего кода), В этом случае в группе из 7 разрядов единицы имеются в разрядах, где есть активные фронты в последовательности импульсов
"а" и "д" (фиг. 5), т.е. в разрядах 1, 3, 5, 7, в разряде 4 — последовательность "в" (фиг. 5).
Следовательно, по адресу 010 в блоке 2 постоянной памяти записан операнд 0100010.
Аналогично формируются группы и для других значений управляющего кода, которые сведены в табл. 1.
Первоначально на информационный вход 14 поступает значение меньшего приращения, равное в двоичном представлении 11011.
В счетчике 4 запоминаются старшие 2 разряда большего приращения 11, а в регистре 5 — младшие 3 разряда большего приращения 011.
После этого на информационный вход 14 поступает значение управляющего кода
01010. Старшие разряды управляющего кода
010 поступают на адресные входы блока 2 постоянной памяти, а младшие разряды 10 запоминаются в регистре 3. В соответствии с содержимым регистра 3 двоичный умножитель 6 в течение 4 интерполяционных тактов формирует следующую последовательность импульсов; 1-й такт — 1; 2-й такт — 0; 3-й такт—
1; 4-й такт-0.
Последовательности "r" и "д" на диаграмме фиг. 5 соответствуют работе счетчика двоичного умножителя 6, где утолщенной линией отмечены активные фронты, В соответствии с табл, 1 с блока 2 постоянной памяти выбирается операнд 0100010, который запоминается в регистре 9. Поскольку содержимое регистра 5 — ненулевое, то при поступлении сигнала на вход 16 устройства, к содержимому счетчика (равно
3) прибавляется единица, т.е. его содержимое становится равным 4, Таким образом, содержимое счетчика, равное 4, определяет число интерполяционных тактов, а содержимое регистра, равное 3, — число единиц в формируемой в последнем итерполяционном такте группе шаговых приращений ведущей координаты.
B первом интерполяционном такте на выходe 24 формируется многоразрядное приращение ведомой координаты, равное
0100010 1. Отмеченная единица в младшем разряде сформирована двоичным умножителем 6.
Поскольку до последнего (четвертого) интерполяционного такта отсутствует сигнал выборки кристалла блока 11 постоянной памяти, то на его выходе в течение трех интерполяционных тактов сформируется группа шаговых приращений ведущей координаты, равная 11111111.
В последнем интерполяционном такте в соответствии с содержимым регистра 5 равным 011 с блока 11 постоянной памяти на выход 25 считывается следующая группа шаговых приращений ведущей координаты
11100000, Карта прошивки блока 11 постоянной памяти приведена в табл. 2. Наличие пяти нулей в приведенной группе приводит к обнулению соответствующих пяти разрядов группы шаговых приращений ведомой координаты, формируемая на выходе 24.
Таким образом, в четвертом интерполяционном такте многоразрядное приращение ведомой координаты становится равным
01000000 .
1631518
5
30
Полученные данные за полный интерполяционный цикл сведены в табл. 3.
На фиг. 6 приведен пример аппроксимации отрезка прямой с 6П=27, МП=9, многоразрядными приращениями, приведенными в табл. 3.
В качестве элементной базы интерполятора используются серийно выпускаемые микросхемы серий 155, 555, 531, 589, 176 микросхемы.
Счетчик 4 может быть реализован различными способами, в частности в виде счетчика 35, который реализуется на микросхемах ИЕ7, и многовходового элемента
ИЛИ 34, который реализуется на микросхеме ЛЕ6, ЛП4, ЛЛ11. Информационный выход счетчика 35 соединен с входами элемента ИЛИ 34. Импульс отрицательной полярности сигнала переноса на входе элемента ИЛИ 34 возникает с появлением переднего фронта импульса на вычитающем входе счетчика, по которому содержимое счетчика становится равным нулю.
Регистры 3, 5 и 9 реализованы на микросхемах ТМ8, ИР2, ИР13.
В качестве дешифратора 7 может быть использован многовходовый элемент ИЛИ, который реализуется на микросхемах ЛЕ6, ЛП4, ЛП11.
В качестве блоков 2 и 11 постоянной памяти могут быть использованы микросхемы РЕ-3; в качестве блока вентилей — мик-. росхемы ЛИ1, ЛИ5; в качестве триггеров 10, 30-32 — микросхемы ТМ2, ТМ1 и т.д„в качестве элементов 8, 28, 29, ЗЗИ вЂ” микросхемы ЛИ1, ЛИ5, ЛАЗ и т.д.; в качестве генератора импульсов — микросхемы
531АГ1, в качестве двоичного умиажителя— микросхема К 155 ИЭ8.
Предлагаемый линейный и!!терполятар
Обеспечивает балов высаку!а точность аппроксимации па срввнони!а с устрайствампрототипом, В устройство-прототипе интерполятор вкл!Очват две двоичных умножителя, каждый иэ которых вносит свою погрешность аппроксимации. В предлагаемом устройстве используется
"!Олька Оди
<) fI!ö,IIf 0Tp03QI прямой задается I1ApBMo"r ни<в,ски: ВП К; МП" 3ф).
Следовательно, по б<0>
О <:!<О
В предлагаемом линейном интерполяторе импульсы по ведущей координате формируются в каждом такте, что приводит только к двум возможным сочетаниям шаговых приращений по ведомой и ведущей координатам. За счет этого сформированный отрезок прямой носит более сглаженный характер, при этом значительно улучшается точность аппроксимации.
Предлагаемый линейный интерполятор также обладает более высоким быстродействием в цикле интерполяции. В устройствепрототипе формируемые многоразрядные приращения по ведущей и ведомой координатам содержат нулевые разряды. Это не позволяет достичь максимального быстродействия. Цикл интерполяции таких интерполяторов для всех отрезков, независимо от их длины составляет 2Ф2 где 2 г - разрядность интерполятора, 2 — разрядность формируемых многоразрядных приращений. В предлагаемом устройстве цикл интерполяции состоит в общем случае из
БП/2г интерполяцианных тактов. Укаэанное позволяет значительно повысить быстродействие интерпалятора.
Формула изобретения
1, Цифровой линейный интерпалятор, содержащий блок управления, блок постоянной памяти управляющего када, первый триггер, регистр больше а приращения, двоичный умнажитель, выход катарага соединен с информационным 0-входом первого триггера, управля!ощий С-вход которого соединен с управляющим входам двоичного умножителя и с выходам задания режиме блока управления, вход пуска которого соединен с входом г>уска и<<торпалятора, стробиру<ощий выход которого соединен с страбирующим вь!ходом блока управленип, выход страба соединен с устаноооч!, <м входом двоичного ум!<О>кителя m-n стерв!их разрядов информационного m-разрядного входа устройстве соединены с адресными входами блока постоянной памяти, управляющего кода, где m — максимальная разрядность большего приращения, выходы блока постоянной памяти управляющего кода соединены с информационными входами ре1531510
Карт прошивки блока 2 по
Таблицаi стоянной памяти гистра большего приращения, выход конца интерполяции интерполятора соединен с первым выходом блока управления, о т л ич а ю шийся тем, что, с целью повышен. я быстродействия и точности аппроксимации интерполятора, в него введены и-разрядный регистр и регистр для приема и хранения остатка, счетчик. дешифратор, первый элемент И, блок постоянной памяти приращения ведущей координаты, блок вентилей, управляющие входы которого соединены с выходами блока постоянной памяти приращения ведущей координаты, выходы которого соединены с 2 "-оазоядным выходом ведущей координаты интерполятора, 2 разрядный выход ведомой координаты интерполятора соединен с выходами блока вентилей, 2 "-й разряд информационного входа блока вентилей соединен с выходом первого триггера, а 2 "-1 р-.çðÿäîâ информационного входа блока вентилей соединены с выходами регистра большего приращения, уп