Блок задержки импульсов

Полезная модель относится к измерительной технике, а именно к устройствам многоканальной программируемой цифровой задержки пускового импульса, которые служат для синхронизации по пусковому импульсу регистрирующих приборов в физическом эксперименте. Пусковой импульс задерживается на разные времена в каналах задержки многоканального устройства, благодаря этому запуск регистрирующих приборов, например осциллографов и АЦП, производится в необходимые моменты времени.
Наиболее близким к заявленному блоку (прототипом) является блок задержки импульсов, содержащий канал пускового импульса, генератор, микроконтроллер, канал выходного импульса, контроллер Ethernet, канал связи с компьютером, программируемую логическую интегральную схему (ПЛИС), содержащую умножитель частоты, первый, второй, третий и четвертый триггеры, первый элемент И, первый счетчик задержки, первый счетчик длительности, регистр кода задержки, регистр кода длительности, при этом первый счетчик задержки и первый счетчик длительности являются двоичными счетчиками с входом синхронной загрузки, первый и четвертый триггеры являются синхронными RS триггерами, второй и третий триггеры являются синхронными D триггерами; при этом генератор соединен с тактовым вводом ПЛИС, тактовый ввод ПЛИС соединен внутри ПЛИС с тактовым входом умножителя частоты, первый выход которого соединен с тактовым входом первого, второго, третьего, четвертого триггеров, с тактовым входом первого счетчика задержки и первого счетчика длительности; канал пускового импульса соединен с первым вводом ПЛИС, первый ввод ПЛИС соединен внутри ПЛИС с D-входом второго триггера, выход которого соединен с D-входом третьего триггера и с первым входом первого элемента И, второй вход первого элемента И соединен с инверсным выходом третьего триггера, а выход первого элемента И соединен с S-входом синхронной установки в лог. «1» четвертого триггера и с входом синхронной загрузки первого счетчика задержки, выход переполнения первого счетчика задержки соединен с входом синхронной загрузки первого счетчика длительности, с S-входом синхронной установки в лог. «1» первого триггера и с R-входом синхронной установки в лог. «0» четвертого триггера, выход четвертого триггера соединен с входом разрешения счета первого счетчика задержки, вход данных первого счетчика задержки соединен с выходом данных регистра кода задержки; выход первого триггера соединен с входом разрешения счета первого счетчика длительности, выход переполнения первого счетчика длительности соединен с R-входом синхронной установки в лог. «0» первого триггера; вход данных первого счетчика длительности соединен с выходом данных регистра кода длительности; канал выходного импульса соединен со вторым вводом ПЛИС, шина данных микроконтроллера соединена с шиной данных контроллера Ethernet и с группой третьих вводов ПЛИС, группа третьих вводов ПЛИС соединена внутри ПЛИС с входом данных регистра кода задержки; контроллер Ethernet соединен с каналом связи с компьютером, канал связи с компьютером является каналом интерфейса Ethernet; ПЛИС дополнительно содержит пятый, шестой, седьмой и восьмой триггеры, второй элемент И, второй счетчик задержки, второй счетчик длительности, элемент ИЛИ, при этом второй счетчик задержки и второй счетчик длительности являются двоичными счетчиками с входом синхронной загрузки, пятый и восьмой триггеры являются синхронными RS триггерами, шестой и седьмой триггеры являются синхронными D триггерами; при этом второй выход умножителя частоты соединен с тактовым входом пятого, шестого, седьмого, восьмого триггеров, с тактовым входом второго счетчика задержки и второго счетчика длительности, первый ввод ПЛИС соединен внутри ПЛИС с D-входом шестого триггера, выход которого соединен с D-входом седьмого триггера и с первым входом второго элемента И, второй вход второго элемента И соединен с инверсным выходом седьмого триггера, а выход второго элемента И соединен с S-входом синхронной установки в лог. «1» восьмого триггера и с входом синхронной загрузки второго счетчика задержки, выход переполнения второго счетчика задержки соединен с входом синхронной загрузки второго счетчика длительности, с S-входом синхронной установки в лог. «1» пятого триггера и с R-входом синхронной установки в лог. «0» восьмого триггера, выход восьмого триггера соединен с входом разрешения счета второго счетчика задержки, вход данных второго счетчика задержки соединен с выходом данных регистра кода задержки; выход первого триггера соединен с первым входом элемента ИЛИ, выход пятого триггера соединен со вторым входом элемента ИЛИ и с входом разрешения счета второго счетчика длительности, выход переполнения второго счетчика длительности соединен с R-входом синхронной установки в лог. «0» пятого триггера; вход данных второго счетчика длительности соединен с выходом данных регистра кода длительности, второй ввод ПЛИС соединен внутри ПЛИС с выходом элемента ИЛИ( Патент РФ № 199570, МПК H03K 5/13, 08.09.2020). Данное техническое решение принято в качестве прототипа.
Недостатком прототипа является большая погрешность времени задержки пускового импульса при заданной тактовой частоте в ПЛИС.
Погрешность времени задержки пускового импульса в прототипе зависит от тактовой частоты в ПЛИС. Для уменьшения погрешности в прототипе нужно увеличивать тактовую частоту в ПЛИС, но тактовая частота в ПЛИС ограничена максимальной частотой срабатывания триггеров в ПЛИС.
Техническим результатом полезной модели является уменьшение погрешности времени задержки пускового импульса при заданной тактовой частоте в ПЛИС.
Технический результат достигается тем, что блок задержки импульсов, содержащий канал пускового импульса, генератор, микроконтроллер, канал выходного импульса, контроллер Ethernet, канал связи с компьютером, программируемую логическую интегральную схему (ПЛИС), содержащую умножитель тактовой частоты, четыре D-триггера с первого по четвертый, первый и второй элементы И, четыре S-триггера с первого по четвертый, первый и второй счетчик задержки, первый и второй счетчик длительности, элемент ИЛИ, регистр кода задержки, регистр кода длительности; при этом D-триггеры, синхронные, имеют тактовый вход, информационный вход; S-триггеры, синхронные, имеют тактовый вход, вход установки в логическую «1» и вход установки в логический «0»; счетчики задержки и счетчики длительности, синхронные, многоразрядные, имеют тактовый вход, вход синхронной загрузки, вход разрешения счета, выход переполнения; элементы И имеют два входа; при этом генератор соединен с тактовым вводом ПЛИС, канал пускового импульса соединен с первым вводом ПЛИС, канал выходного импульса соединен со вторым вводом ПЛИС, шина данных микроконтроллера соединена с шиной данных контроллера Ethernet и с группой третьих вводов ПЛИС, контроллер Ethernet соединен с каналом связи с компьютером, канал связи с компьютером является каналом интерфейса Ethernet; тактовый ввод ПЛИС соединен внутри ПЛИС с тактовым входом умножителя тактовой частоты, первый выход которого соединен с тактовыми входами первого и второго D-триггера, с тактовыми входами первого и второго S-триггера, с тактовыми входами первого счетчика задержки и первого счетчика длительности; второй выход умножителя тактовой частоты соединен с тактовыми входами третьего и четвертого D-триггера, с тактовыми входами третьего и четвертого S-триггера, с тактовыми входами второго счетчика задержки и второго счетчика длительности; информационные входы первого и третьего D-триггера соединены с первым вводом ПЛИС внутри ПЛИС; выход первого D-триггера соединен с информационным входом второго D-триггера и с первым входом первого элемента И; выход третьего D-триггера соединен с информационным входом четвертого D-триггера и с первым входом второго элемента И; инверсный выход второго D-триггера соединен со вторым входом первого элемента И; инверсный выход четвертого D-триггера соединен со вторым входом второго элемента И; выход первого элемента И соединен с входом установки в логическую «1» первого S-триггера и с входом синхронной загрузки первого счетчика задержки; выход второго элемента И соединен с входом установки в логическую «1» третьего S-триггера и с входом синхронной загрузки второго счетчика задержки; выход первого S-триггера соединен с входом разрешения счета первого счетчика задержки; выход третьего S-триггера соединен с входом разрешения счета второго счетчика задержки; выход переполнения первого счетчика задержки соединен с входом синхронной загрузки первого счетчика длительности, с входом установки в логическую «1» второго S-триггера и с входом установки в логический «0» первого S-триггера; выход переполнения второго счетчика задержки соединен с входом синхронной загрузки второго счетчика длительности, с входом установки в логическую «1» четвертого S-триггера и с входом установки в логический «0» третьего S-триггера; выход второго S-триггера соединен с входом разрешения счета первого счетчика длительности и с первым входом элемента ИЛИ; выход четвертого S-триггера соединен с входом разрешения счета второго счетчика длительности и со вторым входом элемента ИЛИ; выход переполнения первого счетчика длительности соединен с входом установки в логический «0» второго S-триггера; выход переполнения второго счетчика длительности соединен с входом установки в логический «0» четвертого S-триггера; выход данных регистра кода длительности соединен с входом данных первого счетчика длительности поразрядно, с входом данных второго счетчика длительности поразрядно; выход данных регистра кода задержки соединен с входом данных первого счетчика задержки поразрядно, с входом данных второго счетчика задержки поразрядно; выход элемента ИЛИ соединен со вторым вводом ПЛИС внутри ПЛИС; группа третьих вводов ПЛИС соединена внутри ПЛИС с входом данных регистра кода задержки; в ПЛИС умножитель тактовой частоты дополнительно имеет ещё два выхода, элемент ИЛИ дополнительно имеет ещё два входа, при этом на четырех выходах умножителя тактовой частоты с первого по четвертый тактовая частота последовательно сдвинута по фазе на 90 градусов; ПЛИС дополнительно содержит четыре D-триггера с пятого по восьмой, третий и четвертый элемент И, четыре S-триггера с пятого по восьмой, третий и четвертый счетчик задержки, третий и четвертый счетчик длительности; при этом D-триггеры, синхронные, имеют тактовый вход, информационный вход; S-триггеры, синхронные, имеют тактовый вход, вход установки в логическую «1» и вход установки в логический «0»; счетчики задержки и счетчики длительности, синхронные, многоразрядные, имеют тактовый вход, вход синхронной загрузки, вход разрешения счета, выход переполнения; элемент ИЛИ имеет четыре входа; при этом третий выход умножителя тактовой частоты соединен с тактовыми входами пятого и шестого D-триггера, с тактовыми входами пятого и шестого S-триггера, с тактовыми входами третьего счетчика задержки и третьего счетчика длительности; четвертый выход умножителя тактовой частоты соединен с тактовыми входами седьмого и восьмого D-триггера, с тактовыми входами седьмого и восьмого S-триггера, с тактовыми входами четвертого счетчика задержки и четвертого счетчика длительности; информационные входы пятого и седьмого D-триггеров соединены с первым вводом ПЛИС внутри ПЛИС; выход пятого D-триггера соединен с информационным входом шестого D-триггера и с первым входом третьего элемента И; выход седьмого D-триггера соединен с информационным входом восьмого D-триггера и с первым входом четвертого элемента И; инверсный выход шестого D-триггера соединен со вторым входом третьего элемента И; инверсный выход восьмого D-триггера соединен со вторым входом четвертого элемента И; выход третьего элемента И соединен с входом установки в логическую «1» пятого S-триггера и с входом синхронной загрузки третьего счетчика задержки; выход четвертого элемента И соединен с входом установки в логическую «1» седьмого S-триггера и с входом синхронной загрузки четвертого счетчика задержки; выход пятого S-триггера соединен с входом разрешения счета третьего счетчика задержки; выход седьмого S-триггера соединен с входом разрешения счета четвертого счетчика задержки; выход переполнения третьего счетчика задержки соединен с входом синхронной загрузки третьего счетчика длительности, с входом установки в логическую «1» шестого S-триггера и с входом установки в логический «0» пятого S-триггера; выход переполнения четвертого счетчика задержки соединен с входом синхронной загрузки четвертого счетчика длительности, с входом установки в логическую «1» восьмого S-триггера и с входом установки в логический «0» седьмого S-триггера; выход шестого S-триггера соединен с входом разрешения счета третьего счетчика длительности и с третьим входом элемента ИЛИ; выход восьмого S-триггера соединен с входом разрешения счета четвертого счетчика длительности и с четвертым входом элемента ИЛИ; выход переполнения третьего счетчика длительности соединен с входом установки в логический «0» шестого S-триггера; выход переполнения четвертого счетчика длительности соединен с входом установки в логический «0» восьмого S-триггера; выход данных регистра кода длительности соединен с входом данных третьего счетчика длительности поразрядно и с входом данных четвертого счетчика длительности поразрядно; выход данных регистра кода задержки соединен с входом данных третьего счетчика задержки поразрядно и с входом данных четвертого счетчика задержки поразрядно.
Сущность полезной модели поясняется чертежом, на котором представлена структурная схема блока задержки импульсов, где
тактовый ввод ПЛИС и тактовые входы триггеров и счетчиков обозначены знаком    ;
1 - генератор;
2 - канал пускового импульса;
3 - ПЛИС - программируемая логическая интегральная схема;
4 - канал выходного импульса;
5 - микроконтроллер;
6 - контроллер Ethernet;
7 - шина данных микроконтроллера;
8 - канал связи с компьютером - канал интерфейса Ethernet;
9 - умножитель тактовой частоты, на четырех выходах умножителя тактовой частоты с первого по четвертый тактовая частота последовательно сдвинута по фазе на 90 градусов, последовательные тактовые частоты обозначены С0, С1, С2, С3 соответственно;
10 , 11 , 12 , 13 , 14 , 15 , 16 , 17 - первый, второй, третий, четвертый, пятый, шестой, седьмой, восьмой D-триггеры соответственно, каждый D-триггер, синхронный, имеет тактовый вход, информационный вход «D»;
18 , 19 , 20 , 21 - первый, второй, третий, четвертый элементы И соответственно, каждый элемент И имеет два входа;
22 , 23 , 24 , 25 , 26 , 27 , 28 , 29 - первый, второй, третий, четвертый, пятый, шестой, седьмой, восьмой S-триггеры соответственно, каждый S-триггер, синхронный, имеет тактовый вход, вход «S» установки в лог. «1» (S-вход), вход «R» установки в лог. «0» (R-вход);
30 , 31 , 32 , 33 - первый, второй, третий, четвертый счетчики задержки соответственно;
34 , 35 , 36 , 37 - первый, второй, третий, четвертый счетчики длительности соответственно; каждый счетчик задержки и каждый счетчик длительности, многоразрядный, синхронный, имеет тактовый вход, вход «Sload» синхронной загрузки, вход «En» разрешения счета, вход «Data» данных, выход «Cout» переполнения. Загрузка кода задержки в счетчики задержки и кода длительности в счетчики длительности происходит по тактовому импульсу при условии присутствия уровня лог. «1» на входе синхронной загрузки; двоичный счет тактовых импульсов происходит при условии присутствия уровня лог. «1» на входе разрешения счета;
38 - регистр кода длительности;
39 - регистр кода задержки;
40 - элемент ИЛИ, имеет четыре входа.
Блок задержки импульсов (см. чертеж) содержит канал 2 пускового импульса, генератор 1, микроконтроллер 5, канал выходного импульса 4, контроллер Ethernet 6, канал 8 связи с компьютером, программируемую логическую интегральную схему (ПЛИС) 3, содержащую умножитель 9 тактовой частоты, четыре D-триггера 10, 11, 12, 13, первый 18 и второй 19 элементы И, четыре S-триггера 22, 23, 24, 25, первый 30 и второй 31 счетчик задержки, первый 34 и второй 35 счетчик длительности, элемент ИЛИ 40, регистр 39 кода задержки, регистр 38 кода длительности; при этом генератор 1 соединен с тактовым вводом ПЛИС 3, канал 2 пускового импульса соединен с первым вводом ПЛИС 3, канал 4 выходного импульса соединен со вторым вводом ПЛИС 3, шина данных 7 микроконтроллера 5 соединена с шиной данных контроллера Ethernet 6 и с группой третьих вводов ПЛИС 3, контроллер Ethernet 6 соединен с каналом 8 связи с компьютером, канал 8 связи с компьютером является каналом интерфейса Ethernet; тактовый ввод ПЛИС 3 соединен внутри ПЛИС 3 с тактовым входом умножителя 9 тактовой частоты, первый выход которого соединен с тактовыми входами первого 10 и второго 11 D-триггера, с тактовыми входами первого 22 и второго 23 S-триггера, с тактовыми входами первого 30 счетчика задержки и первого 34 счетчика длительности; второй выход умножителя 9 тактовой частоты соединен с тактовыми входами третьего 12 и четвертого 13 D-триггера, с тактовыми входами третьего 24 и четвертого 25 S-триггера, с тактовыми входами второго 31 счетчика задержки и второго 35 счетчика длительности; информационные входы первого 10 и третьего 12 D-триггера соединены с первым вводом ПЛИС 3 внутри ПЛИС 3; выход первого D-триггера 10 соединен с информационным входом второго D-триггера 11 и с первым входом первого элемента И 18; выход третьего D-триггера 12 соединен с информационным входом четвертого D-триггера 13 и с первым входом второго элемента И 19; инверсный выход второго D-триггера 11 соединен со вторым входом первого элемента И 18; инверсный выход четвертого D-триггера 13 соединен со вторым входом второго элемента И 19; выход первого элемента И 18 соединен с входом установки в логическую «1» первого S-триггера 22 и с входом синхронной загрузки первого счетчика 30 задержки; выход второго элемента И 19 соединен с входом установки в логическую «1» третьего S-триггера 24 и с входом синхронной загрузки второго счетчика 31 задержки; выход первого S-триггера 22 соединен с входом разрешения счета первого счетчика 30 задержки; выход третьего S-триггера 24 соединен с входом разрешения счета второго счетчика 31 задержки; выход переполнения первого счетчика 30 задержки соединен с входом синхронной загрузки первого счетчика 34 длительности, с входом установки в логическую «1» второго S-триггера 23 и с входом установки в логический «0» первого S-триггера 22; выход переполнения второго счетчика 31 задержки соединен с входом синхронной загрузки второго счетчика 35 длительности, с входом установки в логическую «1» четвертого S-триггера 25 и с входом установки в логический «0» третьего S-триггера 24; выход второго S-триггера 23 соединен с входом разрешения счета первого счетчика 34 длительности и с первым входом элемента ИЛИ 40; выход четвертого S-триггера 25 соединен с входом разрешения счета второго счетчика 35 длительности и со вторым входом элемента ИЛИ 40; выход переполнения первого счетчика 34 длительности соединен с входом установки в логический «0» второго S-триггера 23; выход переполнения второго счетчика 35 длительности соединен с входом установки в логический «0» четвертого S-триггера 25; выход данных регистра 38 кода длительности соединен с входом данных первого счетчика 34 длительности поразрядно, с входом данных второго счетчика 35 длительности поразрядно; выход данных регистра 39 кода задержки соединен с входом данных первого счетчика 30 задержки поразрядно, с входом данных второго счетчика 31 задержки поразрядно; выход элемента ИЛИ 40 соединен со вторым вводом ПЛИС 3 внутри ПЛИС 3; группа третьих вводов ПЛИС 3 соединена внутри ПЛИС 3 с входом данных регистра 39 кода задержки; в ПЛИС 3 умножитель 9 тактовой частоты дополнительно имеет два выхода, элемент ИЛИ 40 дополнительно имеет два входа; ПЛИС дополнительно содержит четыре D-триггера с пятого по восьмой 14, 15, 16, 17, третий 20 и четвертый 21 элемент И, четыре S-триггера с пятого по восьмой 26, 27, 28, 29, третий 32 и четвертый 33 счетчик задержки, третий 36 и четвертый 37 счетчик длительности; при этом третий выход умножителя 9 тактовой частоты соединен с тактовыми входами пятого 14 и шестого 15 D-триггера, с тактовыми входами пятого 26 и шестого 27 S-триггера, с тактовыми входами третьего счетчика 32 задержки и третьего счетчика 36 длительности; четвертый выход умножителя 9 тактовой частоты соединен с тактовыми входами седьмого 16 и восьмого 17 D-триггера, с тактовыми входами седьмого 28 и восьмого 29 S-триггера, с тактовыми входами четвертого счетчика 33 задержки и четвертого счетчика 37 длительности; информационные входы пятого 14 и седьмого 16 D-триггеров соединены с первым вводом ПЛИС 3 внутри ПЛИС 3; выход пятого D-триггера 14 соединен с информационным входом шестого D-триггера  15 и с первым входом третьего элемента И 20; выход седьмого D-триггера 16 соединен с информационным входом восьмого D-триггера 17 и с первым входом четвертого элемента И 21; инверсный выход шестого D-триггера 15 соединен со вторым входом третьего элемента И 20; инверсный выход восьмого D-триггера 17 соединен со вторым входом четвертого элемента И 21; выход третьего элемента И 20 соединен с входом установки в логическую «1» пятого S-триггера 26 и с входом синхронной загрузки третьего счетчика 32 задержки; выход четвертого элемента И 21 соединен с входом установки в логическую «1» седьмого S-триггера 28 и с входом синхронной загрузки четвертого счетчика 33 задержки; выход пятого S-триггера 26 соединен с входом разрешения счета третьего счетчика 32 задержки; выход седьмого S-триггера 28 соединен с входом разрешения счета четвертого счетчика 33 задержки; выход переполнения третьего счетчика 32 задержки соединен с входом синхронной загрузки третьего счетчика 36 длительности, с входом установки в логическую «1» шестого S-триггера 27 и с входом установки в логический «0» пятого S-триггера 26; выход переполнения четвертого счетчика 33 задержки соединен с входом синхронной загрузки четвертого счетчика 37 длительности, с входом установки в логическую «1» восьмого S-триггера 29 и с входом установки в логический «0» седьмого S-триггера 28; выход шестого S-триггера 27 соединен с входом разрешения счета третьего счетчика 36 длительности и с третьим входом элемента ИЛИ 40; выход восьмого S-триггера 29 соединен с входом разрешения счета четвертого счетчика 37 длительности и с четвертым входом элемента ИЛИ 40; выход переполнения третьего счетчика 36 длительности соединен с входом установки в логический «0» шестого S-триггера 27  выход переполнения четвертого счетчика 37 длительности соединен с входом установки в логический «0» восьмого S-триггера 29; выход данных регистра 38 кода длительности соединен с входом данных третьего счетчика 36 длительности поразрядно и с входом данных четвертого счетчика 37 длительности поразрядно; выход данных регистра 39 кода задержки соединен с входом данных третьего счетчика 32 задержки поразрядно и с входом данных четвертого счетчика 33 задержки поразрядно.
Контроллер Ethernet 6 обеспечивает подключение блока к компьютеру с целью управления блоком (компьютер на чертеже не показан). Питание генератора 1, канала 2 пускового импульса, ПЛИС 3, канала 4 выходного импульса, микроконтроллера 5, контроллера Ethernet 6 осуществляется от внешнего источника питания (на чертеже внешний источник питания не показан).
-6
Генератор 1 служит для генерации высокочастотных импульсов синхронизации, которые подаются на тактовый ввод ПЛИС 3. Генератор 1 может быть выполнен, например, на микросхеме B525CEM3 100.000MHZ фирмы BFC (Brookdale Frequency Controls), которая генерирует прямоугольные импульсы частотой 100МГц с относительной стабильностью 5×10 .
Канал 2 пускового импульса служит для приема пускового импульса. В канале 2 производится дискриминация пускового импульса по уровню порогового напряжения и формирование прямоугольного пускового импульса лог. «1», который подается на первый ввод ПЛИС 3. Канал 2 может содержать, например, компаратор MAX9013 фирмы MAXIM, который не пропускает в ПЛИС 3 пусковой импульс ниже положительного порога напряжения и формирует на выходе прямоугольный импульс. Уровень порогового напряжения может формировать, например, микросхема опорного напряжения MAX6126 (на чертеже эти микросхемы не показаны).
В ПЛИС 3 спроектированы с помощью программных средств умножитель 9, D-триггеры 10, 11, 12, 13, 14, 15, 16, 17, элементы И 18, 19, 20, 21, S-триггеры 22, 23, 24, 25, 26, 27, 28, 29, счетчики 30, 31, 32, 33 задержки, счетчики 34, 35, 36, 37 длительности, регистр 38 кода длительности, регистр 39 кода задержки, элемент ИЛИ 40. В качестве ПЛИС 3 может быть использована, например, микросхема EP3C16F484C6 - программируемая логическая интегральная схема семейства Cyclone III фирмы ALTERA, имеющая следующие ресурсы: 15,5 тыс. логических элементов, 20 выделенных тактовых линий синхронизации, четыре умножителя тактовой частоты с фазовыми сдвигами на четырех выходах, четыре тактовых ввода, общее количество вводов 484. Максимальная частота переключения триггеров и счетчиков в ПЛИС 3 - 330 МГЦ. Программа конфигурирования ПЛИС 3 хранится в микросхеме Flash памяти EPCS16SI8 фирмы ALTERA, содержащей 16 Кбит памяти (Flash память на чертеже не показана).
Умножитель 9 тактовой частоты внутри ПЛИС 3 служит для умножения частота генератора 1 на программируемый коэффициент вплоть до максимальной внутренней частоты, и последовательного фазового сдвига тактовых импульсов на четырех выходах на программируемую величину фазы 90 градусов или времени 1 нс. Тактовые импульсы с четырех выходов умножителя 9 распространяются внутри ПЛИС 3 по выделенным тактовым линиям синхронизации на тактовые входы триггеров и счетчиков.
D-триггер 10, элемент И 18, D-триггер 11 служат для привязки пускового импульса к тактовым импульсам С0 на первом выходе умножителя 9. На выходе элемента И 18 формируется импульс длительностью, равной периоду тактовых импульсов, фронт которого немного задержан относительно фронта тактового импульса С0, поступившего первым после фронта пускового импульса. Импульс на выходе элемента И 18 разрешает тактовому импульсу С0, второму после фронта пускового импульса, произвести загрузку кода задержки в счетчик 30. Импульс на выходе элемента И 18 также разрешает второму тактовому импульсу С0 произвести запись лог. «1» в S-триггер 22 (с небольшой задержкой), который дает разрешение счетчику 30 считать тактовые импульсы С0 начиная с третьего тактового импульса С0. Счетчик 30 производит счет тактовых импульсов С0 в количестве, равном коду задержки. При достижении в счетчике 30 кода задержки на выходе переполнения счетчика 30 формируется синхронно с тактовым импульсом С0 импульс переполнения, который разрешает следующему тактовому импульсу С0 записать лог. «0» в S-триггер 22 и лог. «1» в S-триггер 23. S-триггер 23 передает лог. «1» в канал 4 выходного импульса через элемент ИЛИ 40. S-триггер 22 блокирует счет тактовых импульсов С0 в счетчике 30.
D-триггер 12, элемент И 19, D-триггер 13 служат для привязки пускового импульса к тактовым импульсам С1 на втором выходе умножителя 9. На выходе элемента И 19 формируется импульс длительностью, равной периоду тактовых импульсов, фронт которого немного задержан относительно фронта тактового импульса С1, поступившего первым после фронта пускового импульса. Импульс на выходе элемента И 19 разрешает тактовому импульсу С1, второму после фронта пускового импульса, произвести загрузку кода задержки в счетчик 31. Импульс на выходе элемента И 19 также разрешает второму тактовому импульсу С1 произвести запись лог. «1» в S-триггер 24 (с небольшой задержкой), который дает разрешение счетчику 31 считать тактовые импульсы С1 начиная с третьего тактового импульса С1. Счетчик 31 производит счет тактовых импульсов С1 в количестве, равном коду задержки. При достижении в счетчике 31 кода задержки на выходе переполнения счетчика 31 формируется синхронно с тактовым импульсом С1 импульс переполнения, который разрешает следующему тактовому импульсу С1 записать лог. «0» в S-триггер 24 и лог. «1» в S-триггер 25. S-триггер 25 передает лог. «1» в канал 4 выходного импульса через элемент ИЛИ 40. S-триггер 24 блокирует счет тактовых импульсов С1 в счетчике 31.
D-триггер 14, элемент И 20, D-триггер 15 служат для привязки пускового импульса к тактовым импульсам С2 на третьем выходе умножителя 9. На выходе элемента И 20 формируется импульс длительностью, равной периоду тактовых импульсов, фронт которого немного задержан относительно фронта тактового импульса С2, поступившего первым после фронта пускового импульса. Импульс на выходе элемента И 20 разрешает тактовому импульсу С2, второму после фронта пускового импульса, произвести загрузку кода задержки в счетчик 32. Импульс на выходе элемента И 20 также разрешает второму тактовому импульсу С2 произвести запись лог. «1» в S-триггер 26 (с небольшой задержкой), который дает разрешение счетчику 32 считать тактовые импульсы С2 начиная с третьего тактового импульса С2. Счетчик 32 производит счет тактовых импульсов С2 в количестве, равном коду задержки. При достижении в счетчике 32 кода задержки на выходе переполнения счетчика 32 формируется синхронно с тактовым импульсом С2 импульс переполнения, который разрешает следующему тактовому импульсу С2 записать лог. «0» в S-триггер 26 и лог. «1» в S-триггер 27. S-триггер 27 передает лог. «1» в канал 4 выходного импульса через элемент ИЛИ 40. S-триггер 26 блокирует счет тактовых импульсов С2 в счетчике 32.
D-триггер 16, элемент И 21, D-триггер 17 служат для привязки пускового импульса к тактовым импульсам С3 на четвертом выходе умножителя 9. На выходе элемента И 21 формируется импульс длительностью, равной периоду тактовых импульсов, фронт которого немного задержан относительно фронта тактового импульса С3, поступившего первым после фронта пускового импульса. Импульс на выходе элемента И 21 разрешает тактовому импульсу С3, второму после фронта пускового импульса, произвести загрузку кода задержки в счетчик 33. Импульс на выходе элемента И 21 также разрешает второму тактовому импульсу С3 произвести запись лог. «1» в S-триггер 28 (с небольшой задержкой), который дает разрешение счетчику 33 считать тактовые импульсы С3 начиная с третьего тактового импульса С3. Счетчик 33 производит счет тактовых импульсов С3 в количестве, равном коду задержки. При достижении в счетчике 33 кода задержки на выходе переполнения счетчика 33 формируется синхронно с тактовым импульсом С3 импульс переполнения, который разрешает следующему тактовому импульсу С3 записать лог. «0» в S-триггер 28 и лог. «1» в S-триггер 29. S-триггер 29 передает лог. «1» в канал 4 выходного импульса через элемент ИЛИ 40. S-триггер 28 блокирует счет тактовых импульсов С3 в счетчике 33.
Через элемент ИЛИ 40 в канал 4 выходного импульса первым проходит фронт импульса лог. «1» , счет задержки которого произвел тот тактовый импульс из последовательно сдвинутых тактовых импульсов С0, С1, С2, С3, который ближе других по времени оказался к пусковому импульсу. Поскольку тактовые импульсы С0, С1, С2, С3 последовательно сдвинуты на четверть периода тактовой частоты, то погрешность привязки пускового импульса к тактовой частоте уменьшена в четыре раза. Погрешность времени задержки пускового импульса определяется погрешностью привязки пускового импульса к тактовой частоте и она уменьшена в четыре раза.
Регистр 39 кода задержки внутри ПЛИС 3 служит для оперативного хранения двоичного кода программируемой задержки.
Регистр 38 кода длительности внутри ПЛИС 3 служит для оперативного хранения двоичного кода длительности выходного импульса.
Микроконтроллер 5 хранит в постоянной памяти код задержки. При подаче напряжения питания микроконтроллер 5 записывает код задержки в регистр 39. В качестве микроконтроллера 5 может быть использована, например, микросхема LPC2294 фирмы NXP Semiconductors. Микросхема LPC2294 содержит 32-бит ARM ядро, 16 Кбайт ОЗУ, 256 Кбайт Flash памяти программ, работает на частотах до 60 МГц. Микроконтроллер 5 имеет 32-бит шину данных.
Контроллер Ethernet 6 служит для поддержки интерфейса Ethernet и может содержать, например, микросхему DM9000 фирмы Davicom. Контроллер 6 Ethernet имеет 32-бит шину данных.
Канал 4 выходного импульса служит для формирования выходного импульса. Канал 4 может быть реализован, например, на транзисторах КТ3172А9.
Шина 7 данных служит для передачи команд и данных между микроконтроллером 5, ПЛИС 3 и контроллером Ethernet 6.
Канал 8 связи с компьютером служит для физической связи блока с компьютером по интерфейсу Ethernet. Канал 8 может содержать, например, трансформатор J00-0065NL фирмы Pulse.
В блоке с помощью микроконтроллера 5 и контроллера Ethernet 6 посредством шины 7 данных и канала 8 связи с компьютером осуществляется программное управление блоком благодаря виртуальной панели управления на экране компьютера: запись кода задержки и др.
Микросхемы генератора 1, канала 2, ПЛИС 3, микроконтроллера 5 и контроллера Ethernet 6 установлены на общей печатной плате поверхностным или объемным монтажом. Связи между элементами выполнены печатным способом на общей печатной плате. Печатная плата на чертеже не показана.
Блок задержки импульсов работает следующим образом.
После включения питания происходит инициализация микроконтроллера 5 и загрузка программы конфигурации в ПЛИС 3 из микросхемы Flash памяти (микросхема Flash памяти на чертеже не показана). При загрузке программы конфигурации в ПЛИС 3 записывается двоичный код длительности выходного импульса в регистр 38. Микроконтроллер 5 приступает к выполнению программы, хранящейся в его постоянной памяти.
Под управлением микроконтроллера 5 по шине 7 через группу третьих вводов ПЛИС 3 проходит команда установки в лог. «0» триггеров и счетчиков внутри ПЛИС 3. Микроконтроллер 5 записывает в ПЛИС 3 двоичный код задержки (запись кода задержки производится через ПЛИС 3 по цепям, которые на чертеже не показаны). Код задержки поступает по шине 7 на группу третьих вводов ПЛИС 3, группа третьих вводов ПЛИС 3 соединена внутри ПЛИС 3 с входом данных регистра 39. Код задержки первоначально был загружен в постоянную память микроконтроллера 5 по шине 7 под управлением контроллера Ethernet 6 из компьютера по каналу 8 пользователем с помощью виртуальной панели управления блоком (компьютер на чертеже не показан).
Импульсы генератора 1 поступают на тактовый ввод ПЛИС 3, далее внутри ПЛИС 3 они проходят на тактовый вход умножителя 9. Частота тактовых импульсов в умножителе 9 умножается на программируемый коэффициент. Тактовые импульсы С0, С1, С2, С3 на четырех выходах умножителя 9 с первого по четвертый последовательно сдвинуты по фазе на 90 градусов, например, на 1 нс. Тактовые импульсы С0 на первом выходе умножителя 9 с нулевым сдвигом распространяются внутри ПЛИС 3 на тактовые входы D-триггеров 10, 11, S-триггеров 22, 23 и счетчиков 30, 34. Тактовые импульсы С1 на втором выходе умножителя 9 со сдвигом, например, на 1 нс, распространяются внутри ПЛИС 3 на тактовые входы D-триггеров 12, 13, S-триггеров 24, 25 и счетчиков 31, 35. Тактовые импульсы С2 на третьем выходе умножителя 9 со сдвигом, например, на 2 нс, распространяются внутри ПЛИС 3 на тактовые входы D-триггеров 14, 15, S-триггеров 26, 27 и счетчиков 32, 36. Тактовые импульсы С3 на четвертом выходе умножителя 9 со сдвигом, например, на 3 нс, распространяются внутри ПЛИС 3 на тактовые входы D-триггеров 16, 17, S-триггеров 28, 29 и счетчиков 33, 37
В произвольный момент времени в канал 2 поступает пусковой импульс. Пусковой импульс, превысивший порог срабатывания, преобразуется на выходе канала 2 в прямоугольный логический импульс лог. «1», который поступает на первый ввод ПЛИС 3 и далее внутри ПЛИС 3 поступает одновременно на информационные входы D-триггеров 10, 12, 14, 16. Тактовый импульс С0, С1, С2, С3 соответственно, поступивший после фронта пускового импульса первым (то есть после фронта импульса лог. «1» на выходе канала 2), записывает лог. «1» в D-триггер 10, 12, 14, 16 соответственно. На выходе D-триггера 10, 12, 14, 16 происходит переход лог. «0» на лог. «1» с небольшой задержкой относительно фронта первого тактового импульса С0, С1, С2, С3 соответственно. Уровень лог. «1» с выхода D-триггера 10, 12, 14, 16 поступает на информационный вход D-триггера 11, 13, 15, 17 соответственно и на первый вход элемента И 18, И 19, И 20, И 21 соответственно. Второй тактовый импульс С0, С1, С2, С3 после фронта пускового импульса записывает лог. «1» в D-триггер 11, 13, 15, 17 соответственно. На инверсном выхода D-триггера 11, 13, 15, 17 происходит переход лог. «1» на лог. «0» с небольшой задержкой относительно фронта второго тактового импульса С0, С1, С2, С3 соответственно. Уровень лог. «0» с инверсного выхода D-триггера 11, 13, 15, 17 поступает на второй вход элемента И 18, И 19, И 20, И 21 соответственно. Элемент И 18, И 19, И 20, И 21 сравнивает по логике И логические уровни на первом и втором входах. Совпадение уровней лог. «1» происходит в интервале времени между фронтами первого и второго тактовых импульсов. На выходе элемента И 18, И 19, И 20, И 21 формируется импульс лог. «1» длительности, равной периоду тактовых импульсов, немного задержанный относительно фронтов первого и второго тактовых импульсов С0, С1, С2, С3 соответственно. Импульс с выхода элемента И 18, И 19, И 20, И 21 поступает на вход синхронной загрузки счетчика 30, 31, 32, 33 соответственно и на S-вход S-триггера 22, 24, 26, 28 соответственно. Уровень лог. «1» на входе синхронной загрузки и на S-входе разрешает загрузку кода задержки в счетчик 30, 31, 32, 33 и установку S-триггера 22, 24, 26, 28 в лог. «1». Второй тактовый импульс С0, С1, С2, С3 загружает код задержки в счетчик 30, 31, 32, 33 соответственно и устанавливает S-триггер 22, 24, 26, 28 в лог. «1» соответственно, поскольку фронт только второго тактового импульса находится в пределах длительности импульса лог. «1» на входе синхронной загрузки и на S-входе из-за небольшой задержки импульса на выходе элемента И 18, И 19, И 20, И 21 соответственно. Уровень лог. «1» с небольшой задержкой относительно фронта второго тактового импульса С0, С1, С2, С3 устанавливается на выходе S-триггера 22, 24, 26, 28 соответственно и передается на вход разрешения счета счетчика 30, 31, 32, 33 соответственно. Уровень лог. «1» на входе разрешения счета разрешает счет импульсов С0, С1, С2, С3 в счетчике 30, 31, 32, 33 соответственно. Счетчик 30, 31, 32, 33 на каждом тактовом импульсе С0, С1, С2, С3 соответственно прибавляет единицу на разрядных выходах, начиная с третьего тактового импульса С0, С1, С2, С3 соответственно из-за задержки установки лог. «1» на выходе S-триггера 22, 24, 26, 28 соответственно. Отмеченные небольшие задержки обусловлены задержками срабатывания триггеров в ПЛИС 3 и составляют порядка 0,5 нс. Счетчик 30, 31, 32, 33 производит счет тактовых импульсов С0, С1, С2, С3 соответственно в количестве, равном коду задержки. При достижении в счетчике 30, 31, 32, 33 кода задержки на выходе переполнения счетчика 30, 31, 32, 33 формируется импульс переполнения длительности, равной периоду тактовой частоты. Импульс переполнения синхронно с тактовым импульсом С0, С1, С2, С3 с небольшой задержкой поступает на S-вход S-триггера 23, 25, 27, 29 соответственно, на R-вход S-триггера 22, 24, 26, 28 соответственно и на вход синхронной загрузки счетчика 34, 35, 36, 37 соответственно. Следующий тактовый импульс С0, С1, С2, С3 производит запись лог. «1» в S-триггер 23, 25, 27, 29 соответственно, запись лог. «0» в S-триггер 22, 24, 26, 28 соответственно и загрузку кода длительности в счетчик 34, 35, 36, 37 соответственно. Фронт импульса лог. «1» с выхода S-триггера 23, 25, 27, 29 поступает на первый, второй, третий, четвертый вход элемента ИЛИ 40 соответственно, проходит с выхода элемента ИЛИ 40 на второй ввод ПЛИС 3 внутри ПЛИС 3. В канале 4, который соединен со вторым вводом ПЛИС 3 снаружи ПЛИС 3, появляется фронт выходного импульса, задержанный относительно пускового импульса на время, равное коду задержки, умноженному на период тактовых импульсов, или коду задержки, умноженному на период импульсов генератора 1 и умноженному на коэффициент умножения частоты в умножителе 9. Уровень лог. «0» на выходе S-триггера 22, 24, 26, 28 поступает на вход разрешения счета счетчика 30, 31, 32, 33 соответственно, и блокирует счет тактовых импульсов С0, С1, С2, С3 в счетчике 30, 31, 32, 33 соответственно. Уровень лог. «1» на выходе S-триггера 23, 25, 27, 29 поступает на вход разрешения счета счетчика 34, 35, 36, 37 соответственно и разрешает счет тактовых импульсов С0, С1, С2, С3 в счетчике 34, 35, 36, 37 соответственно. Счетчик 34, 35, 36, 37 производит счет тактовых импульсов С0, С1, С2, С3 соответственно в количестве, равном коду длительности. При достижении в счетчике 34, 35, 36, 37 кода длительности на выходе переполнения счетчика 34, 35, 36, 37 формируется импульс переполнения длительности, равной периоду тактовой частоты. Импульс переполнения синхронно с тактовым импульсом С0, С1, С2, С3 с небольшой задержкой поступает на R-вход S-триггера 23, 25, 27, 29 соответственно. Следующий тактовый импульс С0, С1, С2, С3 устанавливает S-триггер 23, 25, 27, 29 в лог. «0» соответственно. Сброс лог. «1» в лог. «0» на выходе S-триггера 23, 25, 27, 29 поступает на первый, второй, третий, четвертый вход элемента ИЛИ 40 соответственно, проходит с выхода элемента ИЛИ 40 на второй ввод ПЛИС 3 внутри ПЛИС 3 и далее в канал 4. В канале 4 заканчивается формирование выходного импульса длительности, равной коду длительности, умноженному на период тактовых импульсов. Уровень лог. «0» на выходе S-триггера 23, 25, 27, 29 поступает на вход разрешения счета счетчика 34, 35, 36, 37 соответственно, и блокирует счет тактовых импульсов С0, С1, С2, С3 в счетчике 34, 35, 36, 37 соответственно.
В блоке задержки импульсов погрешность времени задержки определяется случайной погрешностью привязки пускового импульса к тактовой частоте в ПЛИС 3. Привязка пускового импульса в ПЛИС 3 производится к четырем тактовым частотам, последовательно сдвинутым по фазе на 90 градусов или на четверть периода тактовой частота. Формирование задержки пускового импульса путем счета тактовых импульсов в счетчике задержки начинается от тактового импульса из четырех возможных, ближе всех по времени находящемуся к фронту пускового импульса. Следовательно, привязка пускового импульса в ПЛИС 3 происходит с погрешностью в четверть периода тактовой частота.
Таким образом, достигается заявленный технический результат, а именно уменьшение погрешности времени задержки пускового импульса при заданной тактовой частоте в ПЛИС.
Полезная модель может быть использована в многоканальном блоке задержки импульсов, поскольку большие ресурсы ПЛИС 3 по количеству триггеров, счетчиков и логических элементов позволяют многократно повторить предложенный блок задержки импульсов в одной ПЛИС 3.