Изобретение относится к автоматике и вычислительной технике и может быть использовано в выводных графических устройствах и в системах числового программного управления,
Цель изобретения - повышение быстродействия и точности работы интерполятора.
На фиг. 1 представлена структурная схема цифрового линейного интерполятора; на фиг. 2 - функциональная схема блока управления; на фиг. 3 - распределение управляющих воздействий по отношению к уровням сигнала на стробирующем выходе; на Фиг. 4 - функциональная схема счетчика: на фиг.5- пример формирования многоразрядных приращений; на фиг. 6 - пример апп- роксимации заданного отрезка прямой.
Разрядность управляющего кода, поступающего на информационный вход, равна разрядности т. Эго следует из того, что веса разрядов управляющего кода получают путем последовательного деления большею приращения отрезка прямой (БП) на степени числа 2.
В предлагаемом устройство на выходе в каждом интерполяционном такте определяется ТУ элементарных приращений, где у m-n; m - максимальная разрядность БП; п - разрядность регистра.
Число интерполяционных тактов равно ГБПмакс/2м, где f оператор определяющий
Г а, в 1 а при в 0;
1 а, в J а + 1 при в г 0; где а, в - соответственно целая и дробная части числа;
j - оператор выделения целой части числа;
{ }- оператор выделения целочисленного значения остатка числа.
Цифровой линейный интерполятор содержит блок 1 управления (БУ), блок 2 постоянной памяти управляющего кода (БПП), n-разрядный регистр 3, счетчик 4, регистр 5 для приема и хранения остатка, двоичный умножитель 6 (ДУ), цифровой интегратор последовательного переноса, дешифратор 7 (С), первый элемент И 8, регистр 9 большего приращения, первый триггер 10, блок 11 постоянной памяти приращения ведущей координаты, блок 12 вентилей (БВ), элементы И 13, информационный вход 14, вход 15 записи большего приращения, вход 16 записи управляющего кода, вход 17 начальной установки, вход 18 пуска, вход 19 и выходы 2Q и 21 блока 1, выход 22 конца интерполяции, стробирующий выход 23, 2т п-разрядный выход 24 ведомой координаты. 2 п-разрядный выход 25 ведущей координаты, вход 26 сброса.
Блок 1 управления содержит генератор 27 импульсов, второй 28, третий 29 элементы И, второй 30, третий 31 и четвертый 32 D-триггеры и четвертый элемент И 33.
На фиг. 4 позицией 34 обозначен элемент ИЛИ, позицией 35 - счетчик.
Блок 1 управления предназначен для синхронизации работы устройства, т.е. формирования управляющих воздействий, не0 обходимых для функционирования устройства. В цикле интерполяции значение 1 на выходе конца интерполяции сигнализирует внешнему устройству о воспроизведении заданного отрезка пря5 мой. После воспроизведения заданного отрезка прямой на указанном выходе формируется значение О. На стробирующем выходе формируется импульсная последовательность, стробируюицая
0 многоразрядные приращения, поступающие на соответствующие выходы 24 и 25. Выход 24 соответствует ведомой координате, а выход 25 - ведущей координате. Выход
20блока 1 соединен с входом сброса двоич- 5 ного умножителя 6 и предназначен для формирования сигнала отрицательной полярности, по которому двоичный умножитель устанавливается в нулевое состояние в подготовительном цикле и после окончания 0 рабочего цикла интерполятора. Четвертый
21выход БУ 1 соединен с управляющим входом двоичного умножителя 6, вычитающим входом счетчика 4 и С-входом первого D-триггера 10. На указанном выходе форми5 руется последовательность импульсов, обеспечивающая требуемые режимы работы перечисленных блоков.
Блок 2 постоянной памяти управляющего кода служит для хранения () разря- -разрядного управляющего кода, формируемого за один интерполяционный такт. Причем m-n старших разрядов управляющего кода (УК) поступают на адресный вход блока 2 по информационному входу 14,
5 выход блока соединен с информационным входом регистра 9.
Регистр 3 служит для приема и хранения п младших разрядов УК. Значение п младших разрядов УК поступает по информаци0 онному входу 14 интерполятора. Запись п младших разрядов управляющего кода в регистр 3 производится сигналом положительной полярности на входе 16 записи управляющего кода устройства.
5Выход регистра подключен к информационному входу двоичного умножителя 6.
Счетчик 4 служит для выделения сигнала переноса Р после отработки интерполятором БП/2 интерполяционных тактов . На информационный вход счетчика посту
0 дов 2m-n
пает п старших разрядов. Вход записи счетчика соединен с входом 16 записи большего приращения. Сигналом положительной полярности на указанном входе осуществляется запись п старших разрядов в счетчик 4. Вычитающий вход счетчика соединен с выходом 21 блока 1. Суммирующий вход счетчика соединен с выходом первого элемента И. Выход переноса счетчика соединен с входом 19 блока 1 и входом выборки кристалла блока 11.
Регистр 5 для приема и хранения остатка служит для приема и хранения у младших разрядов БП, определяющих остаток а I -у . Запись у младших
радрядов БП осуществляется сигналом положительной полярности на входе 15 устройства. Выход регистра соединен с информационным входом дешифратора 7 и адресными входами блока 1.
Двоичный умножитель 6 служит для выделения в каждом интерполяционном такте 2 У -го разряда многоразрядного приращения ведомой координаты. На информационный вход умножителя поступают значения п младших разрядов УК с выхода регистра 3. Вход сброса ДУ 6 соединен с третьим 20 выходом БУ 1. а тактирующий вход - с четвертым 21 выходом БУ 1. Выход ДУ б соединен с информационным D-входом первого триггера 10.
Дешифратор 7 служит для выделения единичного сигнала, в случае ненулевого значения на его информационном входе. Выход дешифратора 7 соединен с первым входом первого элемента И 8.
Первый элемент И 8 служит для выделения единичного сигнала, поступающего с его выхода на суммирующий вход счетчика 4, при наличии на первом и втором входах первого элемента И единичных логических уровней. Первый вход элемента И 8 соединен с выходом дешифратора 7, а второй вход элемента И 8 - с входом 16 записи УК. Регистр 9 служит для приема и хранения () разрядов многоразрядного приращения по ведомой координате, которые поступают на информационный вход регистра с выхода БПП 2. Запись (2 У -1) разрядов в регистр 9 осуществляется сигналом положительной полярности на входе 16 устройства. Выходы регистра соединены с соответствующими информационными входами блока вентилей.
Первый триггер 10 служит для приема и хранения 2 У -го разряда многоразрядного приращения ведомой координаты в каждом интерполяционном такте. Значение указанного разряда поступает на информационный вход триггера. Тактирующий С-вход триггера 10 соединен с четвертым 21 выходом БУ 1. Выход триггера 10 соединен с соответствующим информационным входом блока вентилей.
Блок 11 постоянной памяти служит:
1)для выдачи единичных 2 -разрядных приращений ведущей координаты в
БП/2 У интерполяционных тактах. Для этого в L БП/2 У j интерполяционныхтактах на входе выборки кристалла БПП 11 формируется значение 1, следовательно, на выходах БПП 11 во всех разрядах формируются
значения
2)для обнуления старших разрядов многоразрядного приращения по ведущей координате в ( БП/2 j + 1 )-м такте при нецелочисленном значении БП/2 У. Обнулению подлежат старшие разряды, число которых равно 2 - { БП/2 У} . Например, при обработке отрезка прямой с БП 27 и 2 У 8, в 1БП/2 такте на выходе блока 11 формируется код 11100000;
3) для управления схемой блока 12 вентилей. Выходы БПП 11 соединены с соответствующими управляющими входами блока вентилей. Таким образом, в| БП/2 J интерполяционных тактах на управляющих входах блока 12 вентилей единичные уровни. Следовательно, на выходы блока 12 выставляется информация, которая сформирована на его информационных входах. В (|БП/2 - 1)-м интерполяционном такте, облучению
подлежат 2- {БП/2 } старших разрядов многоразрядного приращения по ведомой координате, по аналогии с приведенным условием 2. Следовательно, на оставшихся { БП/2 У} младших разрядах выставляются значения, которые сформированы на соответствующих информационных входах.
Описанные функции 1 и 2 БПП 11 определяют отсечение (заполнение нулями) части многоразрядного приращения по ведущей
и ведомой координатам в ( БП/2 1)-м интерполяционном такте, когда интерполяция заданного отрезка прямой достигает конечной точки.
Генератор 27 импульсов предназначен
для выработки последовательности импуль- CQB, тактирующих работу блока 1 управления. Прямой выход генератора соединен с первым входом второго элемента И 28 и С-входом второго D-триггера 30, а инверс ный выход генератора 27 импульсов соединен с первым входом третьего элемента И 29.
. Второй 30 и третий 31 D-триггеры служат для присинхронизации цикла интерполяции к переднему фронту импульса, формируемого генератором 21 импульсов. Управляющий С-вход третьего триггера 31 соединен с третьим входом 18 блока 1. Информационный D-вход третьего триггера 31 подключен к сигналу 1. Прямой выход второго D-триггера 30 соединен с вторыми входами зторого 28 и третьего 29 элементов И.
Четвертый D-триггер 32 служит для выделения О после поступления сигнала переноса на управляющий С-вход триггера 32, что соответствует завершению интерполяции заданного отрезка прямой. Информационный вход четвертого 32 триггера заземлен, установочный R-вход подключен к первому 16 входу БУ 1 и служит для установки триггера в подготовительном цикле интерполятора. Прямой выход четвертого D-триггера 32 соединен с вторым входом четвертого элемента И, первый вход которого соединен с вторым 17 входом БУ 1. Выход четвертого 33 элемента И соединен с установочными k-входами второго 30 и третьего 31 D-триггеров.
Выходы второго, третьего и четвертого элементов 1/1 и прямой выход второго D- грипера 30 являются соответственно четвертым 21, вторым 23, первым 22 и третьим 20 выходами БУ 1.
Устройство работает следующим образом.
В основе изобретения лежит возможность одновременного формирования групп из У элементарных шаговых приращений в ( БП/2 | интерполяционных тактах следующим образом. Формируемые группы элементарных приращений на выходе 25, соответствующие ведущей кооодинате, всегда единичны, за исключением последнего такта (в случае содержимого регистра 5), а формирование групп элементарных приращений, соответствукадих ведомой координате, происходит таким образом,чтобы числу М элементарных приращений в группах ведущей координаты соответствовало число N элементарных приращений в группах ведомой координаты, Для этого внеш- мим устройством рассчитывается упраляющий код, под воздействием которого происходит формирование группы эле- мен гарных приращений ведомой координаты с учетом указанной зависимости, Таким образом в предлагаемом линейном интерполяторе отрезок прямой задя юл значением большего приращения и значением управляющего кода,
Рассчитать УК можно следу ощим образом.
Число импульсов В| за счет 1-го разряда управляющего кода за время БП вычисляется по формуле:
1
в,
Указанная формула реализуется последовательным сдвигом БП (деление на 2 и прибавление 1 при нечетном значении сдвигового операнда). Для того, чтобы за число тактов, равных БП, на выходе иытегратора было сформировано МП импульсов, должно удовлетворяться соотношение
§ aiBi МП. 5 1 1
где а - значение цифры в i-м разряде управляющего кода.
Таким образом, задача определения УК
сводится к определению ai, 32 ап по
0 известным значениям БП и МП с использованием приведенных соотношений.
Старшие j m - n разряды управляющего кода, формируемого внешним устройством, определяют адрес соответствующего 5 информационного слова, которое формируется на выходе блока 2 постоянной памяти. Единичные значения информационного слова определяются согласно выражению
p 2(M)(2k-1)A;
0 где р - номер разряда информационного слова;
I - номер разряда входного управляющего слова, причем I 1 соответствует старший М-й разряд управляющего слова. I 5 2-(М-1)-й разряд управляющего слова и т.д. (т.е. индекс определяет порядковый номер рассматриваемого разряда управляющего слова по отношению к его старшему разряду):
0 AI - О или 1, соответствует значению 1-го разряда входного управляющего слова; k - текущий параметр; к - 1,2,3,.,, Значение р выбирают в интервале О р m-n.
5Информационная емкость блока 2 постоянной памяти рассчитывается по формуле
g ) - - () бит при организации x разрядных 0 слов,
где m - разрядность управляющего кода;
n - младшие разряды управляющего кода.
Полный интерполяционный цикл уст- 5 ройства состоит из подготовительного и рабочего циклов.
Интерполятор в подготовительном цикле работает следующим образом.
Определение числа Г -у-1 интерполяционных тактов в полном интерполяционном цикле, которое фиксируется в счетчике 4.
Число БП/2 j или I БП/2 J + 1 интерполяционных тактов определяется п старшими разрядами БП, записанными в учетчик 4 и у младшими разрядами БП, записанными в регистр 5. Содержимое реги- ртра 5 соответствует числу { . Если | т4 0 , то интерполятор отрабатывает БП/2 J + 1 интерполяционных тактов. В елучае { БП/2 } 0 отрабатывается БП/2 интерполяционных тактов.
Определение значения разрядов
2 -разрядного приращения ведомой координаты за один интерполяционный такт.
Значение() разрядов фиксируются V регистре 9. Формирование значений () разрядов ведомой координаты осуществляется аналогично прототипу.
Определение группы элементарных приращений ведущей и ведомой координат, формируемых в интерполяционном такте в случае ненулевого содержимого регистра 5.
В ( 1)-м интерполяционном такте формируется группа элементарных приращений по ведущей и ведомой координатам, в которой элементарные приращения имеют определенные значения, а 2 - { БП/2 } элементарных прирэиизний - нулевые.
По включении питания внешнее устройство формирует сигнал отрицательной полярности, который поступает на вход 17 начальной установки интерполятора и устанавливает блок 1 управления в нулевое состояние, При этом на выходе 20 блока 1 формируется сигнал О, устанавливающий двоичный умножитель 6 в нулевое состояние, В следующий момент времени внешнее устройство формирует значение БП на информационном входе 14, На вход 15 записи большего приращения поступает импульс положительной полярности, Указанным сигналом осуществляется запись п старших разрядов БП р счетчик 4 и у младших разрядов БП в регистр 5, Содержимое регистра 5 поступает на информаци- онный оход дешифратора 7. Если содержимое регистра 5 ненулевое, то на выходе дешифратора формируется значение 1, которое поступает на первый пход элемента И 8,
В следующий момент времени на информационном входе 14 внешнее устройство формирует значение УК. На вход 16 записи управляющего кода поступает импульс положительной полярности, под воздействием которого производится запись п младших разрядов в регистр 3, у старших разрядов УК поступают на адресные входы блока 2. С выхода блока 2 считывается
разрядов УК, которые указанным сигналом записываются в регистр 9. Если на первом входе элемента И 8 выставлен уровень 1, то с поступлением сигнала записи управляющего кода на второй вход элемента И 8 на
его выходе формируется единичный сигнал, под воздействием которого содержимое счетчика увеличивается на единицу, т.е. количество тактов, записанное в таком случае в счетчик 4, равняется 1.
В рабочем цикле интерполятора происходит формирование многоразрядных приращений ведущей и ведомой координат соответственно на 25 и 24 информационных выходах интерполятора и выдача их внешнему устройству сигналом на стробирую- щем выходе 23 устройства, а также формирование сигнала на выходе 22 конца интерполяции после отработки устройства ГБП/2 1 интерполяционных тактов, что соответствует окончанию интерполяции заданного отрезка прямой.
Начало рабочего цикла определяется сигналом 1 на входе 18 пуска интерполятора. На выходе 22 интерполятора при этом
выставляется значение 1, которое свидетельствует об воспроизведении в данный момент заданного отрезка прямой. На четвертом 21 выходе блока 1 формируется последовательность импульсов, поступающая
на управляющий вход двоичного умножителя 6 и на управляющий С-вход триггера 10, На информационные входы двоичного умножителя 6 поступают значения п младших разрядов УК. При переходе сигнала на упранляющих входах двоичного умножителя б из состояния 1 в состояние О на выходе двоичного умножителя появляются значения сигналов, равные значению 2 -го разряда многоразрядного приращения,
формируемого за один интерполяционный такт, которые фиксируются триггером 10.
Значения разрядов и 2 -го разряда многоразрядного приращения соответственно на выходо регистра 9 триггера 10 образуют многоразрядное приращение, т.е. группу элементарных приращений ведомой координаты.Указанная группа поступает на информационный вход блока 12 вентилей, состоящий из 2 элементов И-НЕ; & БП/2 ,|интерполяционных тактах на всех выходах блока 11 выставляются значения 1, определяющие 2 элементарных приращений а каждой группе ведущей координаты. Тогда на управляющих входах блока 12 вентилей тоже
выставляются значения 1. Следовательно, в интерполяционных тактах на выходе блока вентилей 12 выставляется соответствующая группа из 2 элементарных приращений ведомой координаты. При появлении сигнала 1 на стробирующем выходе 23 интерполятора многоразрядные приращения в виде группы из 2 элементар- ных приращений ведущей и ведомой координат одновременно считываются с информационных выходов 24 и 25 интерполятора на внешнее устройство. Распределение управляющих воздействий по отношению к уровням сигнала на стробирующем выходе 23 представлена на фиг. 3. В
случае наличия дробной части числа -
необходимо проделать еще один ( + 1)-й интерполяционный такт, в котором по ведущей v. ведомой координатам формируется группа из 9.У элементарных прираще- ний, что { БП/2 } элементарных приращений заканчивают интерполяцию оставшегося отрезка прямой, а 2 - { элементарных приращений - нулевые.
С поступлением каждого импульса на вычитающий вход счетчика его содержимое уменьшается на единицу. Когда содержимое счетчика становится равным нулю, на его выходе формируется импульс отрицательной полярности сигнала переноса Р, который поступает на четвертый 19 вход блока 1 и на вход выборки кристалла БПП 11. При этом длительность импульса сигнала переноса достаточна, чтобы сформировать и простробировать многоразрядные приращения на информационных выходах 2-4 и.25. Функциональная схема реализации счетчика 4 представлена на фиг. 4.
На выходе 25 блока 11 формируется группа элементарных приращений, в которой число единичных элементарных приращений равно числу { БП /2 }, а оставшееся число 2,- { БП/2 } элементарных приращений - нулевые.
Таким образом, в последнем интерполяционном такте считывается группа из 2/ элементарных приращений ведущей и ведомой координат, в которой{ элементарных приращений заканчивают интерполяцию оставшегося такта прямой, а БП/2 } элементарных приращений - нулевые.
После стробирования последнего многоразрядного приращения, на выходе конца интерполяции 22 формируется сигнал логического нуля, свидетельствующий о завер; шении интерполяции заданного отрезка прямой. Блок 1 управления и двоичный умножитель устанавливаются в исходное нулевое состояние.
Формирование многоразрядных приращений происходит за время отсутствия импульса на выходе 23, а стробирование многоразрядных приращений-во время наличия импульса на указанном выходе.
Блок 1 управления работает следующим образом.
0По включении питания внешнее устройство формирует сигнал отрицательной полярности на входе 17 начальной установки, по которому D-триггеры 31 и 30 устанавливаются в нулевые состояния. Следователь5 но, на выходах 20-23 блока 1 управления формируются уровни О.
Сигналом положительной полярности на входе 16 БУ 1 в нулевое состояние устанавливается D-триггер 32. На выходе 20 при
0 этом формируется уровень О.
С поступлением сигнала положительной полярности на вход 18 пуска в единичное состояние взводится триггер 31, а вслед за ним - триггер 30. На выходе 22 конца
5 интерполяции формируется значение 1, следовательно, значение 1 формируетмся на вторых входах элементов И 28 и 29. Такая последовательность действий обеспечивает строгую присинхронизацию цикла интерпо0 ляции к переднему фронту импульса, формируемого генератором 27, после поступления сигнала 1 на вход 18 пуска интерполятора.
На выходах элементов И 28 и 29 в про5 тивофазе формируется последовательность импульсов. Причем импульсом положительной полярности из последовательности импульсов на выходе 21 производится формирование многоразрядных прираще0 ний, а импульсом положительной полярности из последовательности импульсов на выходе 23 производится выдача многоразрядных приращений внешнему устройству. С поступлением сигнала отрицательной
5 полярности переноса на вход 19 блока 1 триггер 32 устанавливается в нулевое состояние. Следовательно, в нулевое состояние устанавливаются триггеры 31 и 30, а на выходах 20, 22, 23 и 21 БУ 1 выставляются
0 уровни О.
Рассмотрим интерполирование отрезка прямой предлагаемым устройством на конкретном примере.
Пусть , , разрядность инфор5 мационного входа 14 равна 5, а разрядность блока 12 вентилей равна 8.
В соответствии с приведенным описанием работы устройства разрядности остальных блоков интерполятора имеют следующие значения: регистр 3-2; блок 2
постоянной памяти - 7; счетчик 4-2; регистр 5-3; блок 11 постоянной памяти - 8. В соответствии с заданным БП и МП внешнее устройство рассчитывает управляющий код. Первоначально по БП 27 определяются веса В:
Bl 27±Ul4: В2
D27 +4 -1. И Вз -g- 3; 84
Р 27+16 5 32
4
27+8 16
- О .
27.
Очевидно,что Ј В i 1
Весами BI уравновешивается значение меньшего приращения (в нашем случае МП 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.
Последовательности г и д на диаграмме фиг. 5 соответствуют работе счетчика двоичного умножителя 6, где утолщенной линией отмечены активные фронты,
В соответствии с табл. 1 с блока 2 постоянной памяти выбирается операнд 0100010,
который запоминается в регистре 9. Поскольку содержимое регистра 5 - ненулевое, то при поступлении сигнала на вход 16 устройства, к содержимому счетчика (равно 3) прибавляется единица, т.е. его содержимое становится равным 4. Таким образом, содержимое счетчика, равное 4, определяет число интерполяционных тактов, а содержимое регистра, равное 3, - число единиц в формируемой в последнем итерполяционном такте группе шаговых приращений ведущей координаты.
В первом интерполяционном такте на выходе 24 формируется многоразрядное приращение ведомой координаты, равное
0100010 1. Отмеченная единица в младшем разряде сформирована двоичным умножителем 6.
Поскольку до последнего (четвертого) интерполяционного такта отсутствует сигнал выборки кристалла блока 11 постоянной памяти, то на его выходе в течение трех интерполяционных тактов сформируется группа шаговых приращений ведущей координаты, равная 11111111.
В последнем интерполяционном такте в
соответствии с содержимым регистра 5 равным 011 с блока 11 постоянной памяти на выход 25 считывается следующая группа шаговых приращений ведущей координаты
11100000, Карта прошивки блока 11 постоянной памяти приведена в табл. 2. Наличие пяти нулей в приведенной группе приводит к обнулению соответствующих пяти разрядов группы шаговых приращений ведомой
координаты, формируемая на выходе 24.
Таким образом, в четвертом интерполяционном такте многоразрядное приращение ведомой координаты становится равным
оюооооо:
Полученные данные за полный интерполяционный цикл сведены в табл. 3.
На фиг. 6 приведен пример аппроксимации отрезка прямой с , , многоразряднымиприращениями, приведенными в табл. 3.
В качестве элементной базы интерполятора используются серийно выпускаемые микросхемы серий 155, 555, 531, 589, 176 микросхемы.
Счетчик 4 может быть реализован различными способами, в частности в виде счетчика 35, который реализуется на микросхемах ИЕ7, и многовходового элемента ИЛИ 34, который реализуется на микросхеме ЛЕ6, ЛП4, ЛЛ11. Информационный выход счетчика 35 соединен с входами элемента ИЛИ 34. Импульс отрицательной полярности сигнала переноса на входе элемента ИЛИ 34 возникает с появлением переднего фронта импульса на вычитающем входе счетчика, по которому содержимое счетчика становится равным нулю.
Регистры 3, 5 и 9 реализованы на микросхемах ТМ8, ИР2, ИР13.
В качестве дешифратора 7 может быть использован многовходовый элемент ИЛИ, который реализуется на микросхемах ЛЕб, ЛП4, ЛП11.
В качестве блоков 2 и 11 постоянной памяти могут быть использованы микросхемы РЕ-3; в качестве блока вентилей - микросхемы ЛИ1, ЛИ5; в качестве триггеров 10 , 30-32 - микросхемы ТМ2, ТМ1 и т.д.;в качестве элементов 8, 28. 29, ЗЗИ - микросхемы ЛИ1, ЛИ5, ЛАЗ и т.д.; о качестве генератора импульсов - микросхемы 531АГ1, и качестве двоичного умножителя - микросхема К 155 ИЭ8.
Предлагаемый линейный интерполятор обеспечивает более высокую точность аппроксимации по сравнению с устройством- прототипом. 8 устройстве-прототипе интерполятор включает два двоичных умножителя, -каждый из которых вносит с0ою по- грешность аппроксимации, В предлагаемом устройств используется только один дпомчнмй умножитель, образо- плиний отрезок прямой задается параметрически: ПП - К; МЛ - K(t).
Следовательно, по большой координате mpafmrunjiotcji функциональная зависимости с погрешностью равной 0, э погрешность аппроксимации вносит только двоичный умножитель, формируюа ий импульсы по ведомой координате. Кроме того, в устройстве-прототипе импульсы по ведущей и ведомой координатам формируются, не в каждом интерполяционном такте, что приводит к наличию 4 возможных сочетаний
шаговых приращений: наличие шаговых приращений по ведущей и ведомой координате; отсутствие шаговых приращений по ведущей и ведомой координатам; наличие
шагового приращения по ведущей координате и отсутствие шагового приращения по ведомой координате; наличие шагового приращения по ведомой координате и Отсутствие шагового приращения по ведущей
координате.
В предлагаемом линейном интерполяторе импульсы по ведущей координате формируются в каждом такте, что приводит только к двум возможным сочетаниям шаговых приращений по ведомой и ведущей координатам. За счет этого сформированный отрезок прямой носит более сглаженный характер, при этом значительно улучшается точность аппроксимации.
Предлагаемый линейный интерполятор также обладает более высоким быстродействием в цикле интерполяции. В устройстве- прототипе формируемые многоразрядные приращения по ведущей и ведомой координатам содержат нулевые разряды. Это не позволяет достичь максимального быстро-- действия. Цикл интерполяции таких интерполяторов для всех отрезков, независимо от их длины составляет 2 У- разрядность интерполятора, 2 - разрядность формируемых многоразрядных приращений. В предлагаемом устройстве цикл интерполяции состоит в общем случае из БП/2 интерполяционных тактов. Указанное позволяет значительно повысить быстродействие интерполятора.
Формула изобретения 1, Цифровой линейный интерполятор, содержащий блок управления, блок постоянной памяти управляющего кода, первый триггер, регистр большего приращений, двоичный умножитель, выход которого соединен с информационным D-входом первого триггера, управляющий С-вход которого
соединен с управляющим входом двоичного умножителя и с выходом задания режима блока управления, вход пуске которого соединен с входом пуска интерполятора, стро- Оирующий выход которого соединен с
сгробирующим выходом 0/юкп управления, выход с i роба соединен с установочным уходом двоичного умножителя m-n старших разрядов информационного т-разрядиого входа устройства соединены с адресными
входами блока постоянной памяти, управляющего кода, где m - максимальная разрядность большего приращения, выходы блока постоянной памяти управляющего кода соединены с информационными входами регистра большего приращения, выход конца интерполяции интерполятора соединен с первым выходом блока управления, отличающийся тем, что, с целью повышения быстродействия и точности аппроксимации интерполятора, з него введены п-разряд- ный регистр и регистр для приема и хранения остатка, счетчик, дешифратор, первый элемент И, блок постоянной памяти приращения ведущей координаты, блок век гилей, управляющие входы которого соединены с выходами блока постоянной памяти приращения ведущей координаты, выходы которого соединены с 2т п-оазоядным выходом ведущей координаты интерполятора , 2 - разрядный выход ведомой координаты интерполятора соединен с выходами блока вентилей, разряд информационного входа блока вентилей соединен с выходом первого триггера, a разрядов инфор- мационного входа блока вентилей соедине- ны с выходами регистра большего приращения , управляющий вход которого соединен с входом записи управляющего кода интерполятора, вторым входом перво- го элемента И, входом записи управляющего кода блока управления и управляющим входом n-разрядного регистра, выходы которого соединены с информационными входами двоичного умножителя, а информационные входы соединены с n-младшими разрядами информационного m-разрядного входа интерполятора, вход записи большего приращения которого соединен с входом записи счетчика и управля- ющим входом регистра для приема и хранения остатка, информационные входы которого соединены с n-старшими разрядами информационного m-разрядного входа интерполятора, информационные входы счетчика соединены с n-младшими разрядами информационного m-разрядного входа интерполятора, выходы регистра для приема и хранения остатка соединены с адрес
Карт
ными входами блока постоянной памяи приращения ведущей координаты и с информационными входами дешифратора, выход которого соединен с первым входом первого элемента И, выход которого соединен с суммрующим входом счетчика, вычитающий вход которого соединен с четвертым выходом блока управления, второй вход которого соединен с входом начальной установки интерполятора, выход переноса счетчиков соединен q четверым входом блока управления и входом выборки кристалла блока постоянной памяти приращения ведущей координаты.
2. Интерполятор по п. 1, отличающийся тем, что блок управления содержит второй, третий и четвертый элемент И, второй, третий и четвертый D-триггеры, генератор импульсов, прямой выход которого соединен с управляющим С-входом второго D-триггера и первым входом второго элемента И, второй вход которого соединен с вторым входом второго элемента И и выходом второго D-триггера, информационный D-вход которого соединен с выходом третьего D-триггера, управляющий С-вход которого соединен с третьим входом блока управления, первый выход которого соединен с выходом второго триггера, установочный R-вход которого соединен с установочным R-входом третьего О-триггера и выходом четвертого элемента И, первый вход которого соединен с вторым входом блока управления, третий выход которого соединен с выходом четвертого элемента И. второй вход которого соединен с выходом четвертого D-триггера, установочный R-вход которого соединен с первым входом блока управления, четвертый вход которого соединен с управляющим С-входом четвертого D-триггера, информационный D-вход которого заземлен, инверсный выход генератора импульсов соединен с первым входом третьего элемента И, выход которого соединен с вторым выходом блока управления, четвертый выход которого соединен с выходом второго элемента И.
Т а б л и ц а 1
название | год | авторы | номер документа |
---|---|---|---|
Цифровой линейный интерполятор | 1989 |
|
SU1675849A1 |
Цифровой линейный интерполятор | 1987 |
|
SU1434406A1 |
Цифровой линейный интерполятор | 1989 |
|
SU1693592A1 |
Линейный интерполятор | 1986 |
|
SU1423984A1 |
Цифровой линейный интерполятор | 1989 |
|
SU1674061A1 |
Линейный интерполятор | 1989 |
|
SU1659986A1 |
Цифровой линейный интерполятор | 1989 |
|
SU1615744A2 |
Цифровой линейный интерполятор | 1991 |
|
SU1807450A1 |
Линейный интерполятор | 1991 |
|
SU1809421A1 |
Цифровой линейный интерполятор | 1986 |
|
SU1310779A1 |
Изобретение относится к автоматике и вычислительной технике. Цель изобретения - повышение быстродействия и точности аппроксимации интерполятора. В предлагаемом цифровом линейном интерполяторе отрезок прямой задается значениями т- разрядного большего приращения (БП) и т- разрядного управляющего кода (УК). Аппроксимация заданного отрезка прямой осуществляется в общем случае за БП/2т п интерполяционных тактов 2т п-разрядными приращениями по ведущей и ведомой координатам, где Г - оператор выделения целой части числа с округлением до большего; п - разрядность регистра, в который записывается п разрядов УК; БП - значение т- разрядного большего приращения. Значение п старших разрядов БП, определяющее число интерполяционных тактов, записывается в счетчик, Значение m-n младших разрядов БП определяет число элементарных шагов многоразрядных приращений в (п-Н)-м интерполяционном такте, который возникает в случае наличия остатка отделе БП 1 ния: JL . Указанное значение заост писывается в регистр. Значение m-n старших разрядов УК, определяющее значение - 1 разрядов многоразрядного приращения по ведомой координате, подается на адресные входы блока постоянной памяти (БПП). Значение п младших разрядов УК, определяющее значение -го разряда многоразрядного приращения по ведомой координате, записывается в регистре. В течение п интерполяционных тактов с выхода считываются группы единичных элементарных приращений, соответствующих ведущей координате. В (п+1)-м такте с выхода БПП 11 считывается группа элементарных приращений, в которой число единичных элементарных шагов равно остатку БП , а оставшееся число Ё БП ост элементарных прирэщенийост - нулевое. С выхода блока вентилей считывается группа шаговых приращений ведомой координаты, в которой разрядов формируются с помощью блока постоянной памяти и регистра 9, а значение разряда формируется с помощью двоичного умножителя и триггера. Сформированные на выходе многоразрядные приращения стро- бируются сигналом на выходе блока управления, 1 з.п. ф-лы, 6 ил., 3 табл. О Сл СЯ 00
прошивки блоца 2 постоянной памяти
Карта прошивки блока 11 постоянной памяти
Содержимое выходов 24 и 25 за полный интерполяционный цикл
2tf
Таблица2
ТаблицаЗ
25
Фиг.1
. 23
ВгчЗача c поиоащ. .,
формирование g ryxsoam,enetu
Фиг. 2
23ч/-6789Юии 1 Н К Ј i Я 9
На вход ffbffiopЈЈ %&Ј&&& К &&3D &
Цифровой линейный интерполятор с оценочной функцией | 1981 |
|
SU991375A1 |
Кипятильник для воды | 1921 |
|
SU5A1 |
Цифровой линейный интерполятор | 1987 |
|
SU1434406A1 |
Кипятильник для воды | 1921 |
|
SU5A1 |
Авторы
Даты
1991-02-28—Публикация
1989-02-17—Подача