Изобретение относится к импульсной технике и может быть использовано для управления импульсным спектрометром ядерного магнитного резонанса.
Цель изобретения - расширение функциональных возможностей,
На фиг. 1 представлена функциональная схема программируемого генератора импульсов; на фиг. 2 - функциональная схема блока пуска; на фиг. 3 - временные диаграммы сигналов на -входе пуска и выходах блока управт ления.
Программируемый генератор импульсов содержит блок 1 памяти, интер- фейс;ньгй блок 2, шины 3 адреса и ши- ны 4 данных устройства, элемент ИЛИ 5, первый, второй и третий буферные регистры 6-8, блок 9 управления, блок 10 формирования импульсов, дополнительный блок 11 памяти, адресный счетчик 12, таймер 13, программный счетчик 14, счетчик 15 циклов, элемент 11 16, дополнительный элемент ИЛИ 17, блок 18 пуска и генератор 19 импульсов.
Вход 20 пуска устройства соединен с вторым входом блока 18 пуска и входом блокировки программного счетчика 14. Группа 21 входов-выходов устрой - ства соединена с тинами управления интерфейсного блока 2. Группа 22 выходов устройства соединена с выходами блока 10 импульсов.
Блок 18 пуска образуют (фиг, 2) регистр 23 сдвига, триггер 24, делитель 25 частоты, элемент И 26 к дешифратор 27. Информационный вход регистра 23 сдвига соединен с шиной 28 единичного уровня напряжения. Тактовый вход 29 блока 18 пуска соединен
сл
СП 1C
со Јл
со входом делителя 25 частоты, первый вход 30 - со стробирующим входом дешифратора 27, второй вход 31 - с единичным входом триггера 24, группа 32 информационных входов - с информационными входами дешифратора 27. Выход элемента И 26 блока 18 пуска является первым выходом 33 блока 18 пуска, а инверсный выход регистра 23 сдвига - вторым выходом 34 блока 18 пуска.
Программируемый генератор импульсов работает следующим образом.
В блок 1 памяти через группу 21 входов-выходов устройства, интерфейсный блок 2 и его первый и второй управляющие входы и шины 4 данных устройства загружается программа формирования заданной импульсной последовательности. Загрузка может производиться от ЭВМ или с пульта ручного управления, подключаемого вместо ЭВМ.
Команды, используемые в устройстве, имеют следующий формат:
в поле I, которое считывается в первый буферный регистр 6, кодируется признак типа команды;
в поле II, которое считывается во второй буферный регистр 7, кодируются состояния выходов блока 10 формирования импульсов;
в поле III, которое считывается в третий буферньй регистр 8, кодируется в зависимости от типа команды длительность временного интервала (импульса), число циклов или адрес перехода при зацикливании программы.
В программируемом генераторе импульсов используется четыре типа команд:
операционная команда (ОК), в которой в поле TII кодируется длительность временного интервала (импульса) , а в поле II - состояния выходов блока 10 формирования импульсов;
управляющая команда Начало цикла (НЦ)э в которой в поле III заносится код числа циклов;
управляющая команда Конец цикла (КЦ), в которой в поле III заносится адрес перехода к началу цикла;
команда СТОП.
Генератор начинает работать по сигналу Пуск, поступающему на вход 20 пуска устройства. По этому сигналу происходит блокировка (обнуление) программного счетчика 4 и запуск
0
5
0
5
0
5
0
5
0
5
блока 18 пуска. При этом по сигналу Пуск триггер 24 блока 18 пуска переходит в единичное состояние и снимает блокировку с элемента И 26 и регистра 23 сдвига блока 18 пуска. Тактовые импульсы с выхода блока 18, поделенные до необходимой частоты делителем 25 частоты блока 18 пуска, через элемент И 26 поступают на вход сдвига регистра 23 сдвига блока Т8 пуска. Благодаря наличию на информационном входе единичного уровня напряжения регистр 23 сдвига блока 18 пуска при поступлении импульсов на вход сдвига начинает заполняться единицами. После второго импульса сдвига на инверсном выходе регистра 23 сдвига появляется нулевой уровень напряжения, который заблокирует Дальнейшее прохождение импульсов сдвига через элемент И 26 на первый выход блока 18 пуска и вход сдвига регистра 23 сдвига.
Таким образом, блок 18 пуска вырабатывает на своем первом выходе два импульса с интервалом, заданным делителем 25 частоты. Практически это интервал длительностью несколько микросекунд. Низкий уровень напряжения на инверсном выходе регистра 23 сдвига и втором выходе блока 18 пуска является вторым выходным сигналом блока 18 пуска.
Импульсы с первого выхода блока 18 пуска поступают на вход пуска блока 9 управления, инициируя цикл работы всего устройства.
Блок 9 управления представляет собой управляющий автомат с программируемой логикой и может быть реализован, например, на микросхеме К588ВУ1 (К588ИК1), программируемой изготовителем.
Цикл работы блока 9 управления начинается с появления сигналов на его первом и втором выходах (фиг. 3). Сигнал с первого выхода возбуждает цикл чтения в блоке 1 памяти. Для задания адреса блоку 1 памяти к шине 3 адреса устройства этим же сигналом, поданным на вход выборки программного счетчика 14, подключаются трехстабильные выходы программного счетчика 14, который предварительно обнулен по входу блокировки сигналом пуска с входа 20 пуска устройства.
Код первой команды из блока 1 памяти считывается на шину 4 данных
устройства и по заднему Фронту импульса чтения заносится в первый буферный регистр 6 и одновременно по заднему фронту импульса с второго выхода блока 9 управления во второй и третий буферные регистры 7 и 8. После окончания цикла чтения по заднему фронту импульса чтения в программный счетчик 14 добавляется единица и блок 1 памяти готов к считыванию следующей команды.
Одновременно с запуском блока 9 управления импульс с первого выхода блока 18 пуска через элемент ИЛИ 17 поступает на входы записи таймера 13 и блока 10 формирования импульсов и переписывает в них содержимое соответственно третьего и второго буферных регистров 8 и 7 до того, как в цикле чтения в них будет записана новая информация. Поскольку перед пуском устройства в первом, втором и третьем буферных регистрах 6-8 находилась случайная информация, то для того, чтобы исключить их попадание в таймер 13 и на выходы блока 10 формирования импульсов, во время первог пускового импульса блокировка с таймера 13 и блока 10 формирования импульсов не снимается благодаря наличию высокого уровпя напряжения на втром выходе блока 18 пуска. Далее через небольшой поомежуток времени блоком 18 пуска вырабатывается второй пусковой импульс и перед его появлением снимается блокировка с таймера 13 и блока 10 формирования импульсов.
Таким образом, коды первой команды программы, которые по первому пусковому импульсу были записаны во второй и третий буферные регистры 7 и 8 загружаются в таймер 13 и блок 10 формирования импульсов. На выходах блока 10 формирования импульсов, а следовательно, и на выходах группы 22 выходов устройства появляются сигналы в соот-ветстзии с кодировкой поля II команды, которые и являются выходными сигналами программируемого генератора импульсов, а таймер 13 начинает формирование заданного в поле III команды временного интервала.
Одновременно во втором цикле работа блока 9 управления из блока 1 памяти в первый, второй и третий буферные регистры 6-8 считывается очередная команда. Сразу жа после
o
5
0
5
0
5
0
5
0
5
записи очередной команды в первый, второй и третий буферные регистры 6-8 блок 9 управления по коду, записанному в первый буферный регистр 6, определяет ее тип (логические условия) и дальнейшая работа блока 9 управления зависит от типа принятой команды.
Если это ОК, то к блоке 9 управления вырабатывается команда останова и он переходит в режим ожидания следующего запуска, который теперь производится импульсом, вырабатываемым на выходе таймера 13 по окончании формирования заданного временного интервала. Этот импульс, пройдя через элемент ИЛИ 17, производит загрузку кодов очередной команды из буферных регистров в таймер 13 и бпек 10 формирования импульсов.
С этого момента начинается формирование нового временного интервала таймером 13, а на выходах блока 10 формирования импульсов появляется комбинация выходных сигналов. Одновременно происходит запуск блока 9 управления и очередной цикл чтения информации из блока 1 памяти.
Если программа состоит из- последовательности операционных команд, то описанный цикл продолжается до считы- команды Стоп, которая расшифровывается дешифратором 27 блока 18 пуска.
Однако вследствие того, что в момент считывания команды Стоп из блока 1 памяти программируемый генератор импульсов отрабатывает последний временной интервал программы,, то остановку устройства необходимо задержать до окончания этого интервала, для чего дешифратор 27 блоке 18 пуска стробируется сигналом с выхода таймера 13. i
При этом импульс, появляющийся
на выходе дешифратора 27 блока 18 пуска, переводит триггер 24 блока -18 пуска в нулевое состояние и последний блокирует элемент И 26 и сбрасывает регистр 23 сдвкгя блока 18 пуска.
Сигнал с второго выхода блока 18 пуска блокирует таймер 13 и блок 10 формирования импульсов, и устройство прекращает работу. ,
Формирование импульсных последовательностей с циклическим повторением групп импульсов при наличии вложенных циклсз
Т ((А - В)п - (С - Ют Стоп
осуществляется следующим образом.
В этом случае в программе должны присутствовать управляющие команды, которые обозначаются следующим образом:
(- команда НЦ, в ней кодируется число повторений цикла, записываемое после закрывающейся скобки;
) - .команда КЦ, в ней кодируется адрес перехода к началу цикла, т.е. к ОК, следующей за открывающейся скобкой.
При считывании из блока J памяти команды НЦ и занесения ее в буферные регистры 6-8 блок 9 управления по коду в первом буферном регистре 6 (логические условия) пере- ходит к ее выполнению. На третьем выходе блока 9 управления вырабатывается импульс приращения адресного счетчика 12, после этого на четвертом выходе вырабатывается импульс записи в дополнительный блок 11 памяти, в который из третьего буферного регистра 8 заносится код числа повторений цикла.
После этого блок 9 управления пе- реходит к начальной фазе своей работы - чтению из блока 1 памяти.
Согласно формуле формируемой последовательности в этом цикле вновь считывается команда НЦ для цикла (А - В)и, вложенного в первый, при этом в дополнительном блоке 11 памяти записывается код числа Повторений этого цикла, но уже по следующему адресу, так как содержимое адресного счетчика 12 увеличивается на единицу в каждой команде НЦ„
Работа блока 9 управления продолжается до тех пор, пока не будет считана ОК и во втором и третьем буфер- ных регистрах 7 и 8 не будет подготовлена информация для формирования следующего временного интервала и выходных импульсов.
В рассматриваемом случае за второй командой НЦ следует операционная команда Л, после считывания которой устройство переходит в режим ожидания окончания интервала Т, котррый был считан перед управляющими командами. Далее после окончания интервал Т считывается команда В, а по кодам команды А. формируется временной интервал. После окончания интервала А
Q
0 5
0
0
§
5
0
5
в таймер 13 передается код интервала В, а из блока 1 памяти считывается команда КЦ. В ней закодирован переход к команде Л. По команде КЦ блок 9 управления выполняет следующие операции.
Во время считывания команды сигналом с второго выхода блока 9 управления в счетчик 15 циклов переписывается код числа циклов из блока 1 памяти. Если этот код не равен нулю, то импульсом с пятого выхода блока 9 управления через элемент И 16 в программный счетчик 14 загружается адрес перехода к началу цикла. По заднему фронту этого же импульса производится вычитание единицы в счетчике 15 циклов, и новое значение числа циклов переписывается в дополнительный блок 11 памяти, для чего выходы счетчика 15 циклов сигналом с шестого выхода блока 9 управления подключаются к шине 4 данных устройства, а сигналом с второго выхода блока 9 управления новое значение числа циклов заносится в третий буферный регистр 8, а далее сигналом с четвертого выхода блока 9 управления - в блок 1 памяти по тому же адресу. Так как выполнялась управляющая команда, блок 9 управления производит считывание очередной команды. В данном случае это операционная команда А, Группа импульсов А - В повторяется п раз, пока по данному адресу в дополни- тельном блоке 11 памяти и после считывания в счетчике 15 циклов код числа циклов не окажется равным нулю. При этом сигнал с выхода счетчика 15 циклов блокирует элемент И 16, адрес перехода в программный счетчик 14 не записывается и программа переходит к считыванию следующей по порядку команды. Одновременно при обнулении счетчика 15 циклов производится вычитание единицы из адресного счетчика 12. Следующей командой, которая будет считана, является управляющая команда НЦ (С - D)m. По этой команде в адресный счетчик 12 добавляется единица и в дополнительный блок 11 памяти записывается код числа циклов. Поскольку уровень вложения циклов (А - В)„ и (С - D)m одинаков, коды числа циклов пит оказываются записанными в дополнительный блок 11 памяти по одному адресу, но в разное время. В конце формирования цикла
(С - D)
m3
когда в счетчике 15 циклоп находится код m 0, содержимое адресного счетчика 12 уменьшается на единицу, программа переходит к считьс ванию следующей по порядку команды. В рассматриваемом примере эта коман- да КЦ для цикла (...)L с уровнем вложения, на единицу меньшим.
Если L 4- 0, то из счетчика 15 циклов вычитается единица и в дополни-, тельный блок 11 памяти переписывает- ся код (L - 1), а программа переходит к началу цикла, т.е. к считыванию команды, следующей за командой НЦ. В рассматриваемом случае это команда НЦ для цикла (А - В)п, вложенного в цикл (...),, поэтому в адресный счетчик 12 добавляется единица и код п записывается в дополнительный блок 11 памяти. Далее происходит формирование в описанном порядке последовательности (А - В ) п - (С - D)(n.
Когда (L - 1) сохраняется в дополнительном блоке 11 памяти по адресу, на единицу меньшему, до считывания команды КЦ для цикла (...), во время выполнения которой в дополнительный блок 11 памяти заносится код (L - 2) и так далее до тех пор, пока не будет L - 0, и программа перейдет к команде Стоп.
Таким образом, для каждого уровня вложения для хранения кода числа циклов, которые осталось отработать, имеется своя ячейка памдти в дополнительном блоке 11 памяти, а адрес вложения цикла при переходе с одного уровня на другой изменяется на ± 1 . Число уровней вложения ограничивается лишь емкостью дополнительного блока 11 памяти. Число циклических групп типа (А - В) с одинаковым уровнем вложения также не ограничено и лимитируется лишь емкостью блока 1 памяти.
Форму-ла изобретения
1. Программируемый генератор им- пульсов, содержащий интерфейсный блок, шины управления которого являются группой входов-выходов устройства, шкны адресных входов-выходов интерфейсного блока соединены с шинами адреса устройства, шины данных - с шинами данных устройства, первый управляющий выход - с.входом записи блока памяти, второй управляющий
0
5
0
выход - с первым входом элемента ИЛИ, выход .которого соединен с входом чтения блока памяти, причем шины адресных входов-выходов и шины данных блока памяти соединены соответственно с шинами адреса и шинами данных устройства, программный счетчик, группа выходов которого соединена с шинами адреса устройства, генератор импульсов, выход которого подключен к счетному входу таймера, счетчик циклов, выход которого соединен с первым входом элемента И, и блок формирования им .гульсов, выходы которого .являются группой выходов устройства, отличающийся тем, что, с целью расширения функциональных возможностей, в его состав введены первый, второй и третий буферные регистры, блок управления, адресный счетчик, дополнительный блок памяти, блок пуска и дополнительный элемент ИЛИ, выход которого соединен с входами
5 записи блока формирования импульсов и таймера и входом пуска блока управления, первый вход - с выходом таймера и первым входом блока пуска, а второй вход - с первым выходом блока пуска,.второй выход которого соединен с входами блокировки таймера и блока формирования импульсов, тактовый вход - с тактовым входом блока управления и выходом генератора импульсов, второй вход - с входом блокировки программного счетчика и шиной пуска устройства, а группа информационных входов блока пуска соединена с группой выходов первого буферного регистра и группой логических входов блока управления , первый выход которого соединен с вторым входом элемента ИЛИ, входом записи первого буферного регистра, входом сложения и входом выборки программно- ного счетчика, второй выход блока управления соединен с входами записи счетчика циклов и второго и третьего буферных регистров, третий выход - с входом сложения адресного счетчика, четвертый выход блока управления подключен к входу записи дополнительного блока памяти, пятый выход - к входу вычитания счетчика циклов и второму входу элемента И, а шестой
$ .выход блока управления соединен с входом выборки счетчика циклов, группа информационных выходов счетчика циклов соединена с шинами данных уст0
5
0
5
0
ройства, группа информационных входов - с группой информационных выходов дополнительного блока памяти, а выход счетчика циклов соединен с входом вычитания адресного счетчика, группа выходов которого соединена с группой адресных входов дополнительного блока памяти, информационные входы которого соединены с инфор мационными выходами третьего буферного регистра и информационными входами таймера и программного счетчика, вход записи которого соединен с выходом элемента И, группа инфор- мационных входов блока формирования импульсов соединена с группой информационных выходов второго буферного регистра., а информаиконные входы первого, второго и третьего буферных регистров соединены с шинами данных устройства.
2. Генератор по п. 1, отличающийся тем, что блок пуска
содержит делитель частоты, регистр сдвига, дешифратор, триггер и элемент И, выход которого соединен с первым выходом блока пуска- и с входом сдвига регистра сдвига, информационный вход которого соединен с шиной . единичного уровня напряжения, вход сброса - с единичным выходом триггера и первым входом элемента И, а инверсный выход регистра сдвига соединен с вторым выходом блока пуска и с вторым входом элемента И, третий вход которого через делитель частоты соединен с тактовым входом блока пуска, второй вход которого соединен с единичным входом триггера, нулевой вход которого соединен с выходом дешифратора, стробирующий вход которого соединен с первым входом блока пуска, а информационные входы дешифратора - с группой информационных входов блока пуска.
название | год | авторы | номер документа |
---|---|---|---|
Автоматизированная система контроля радиоэлектронных устройств | 1989 |
|
SU1683038A1 |
Многоканальная система сбора и регистрации измерительной информации | 1989 |
|
SU1783547A1 |
Устройство для отображения информации на экране телевизионного индикатора | 1987 |
|
SU1474635A1 |
Многоканальный программируемый генератор импульсов | 1988 |
|
SU1638793A1 |
Устройство для сопряжения цифровой вычислительной машины (ЦВМ) с абонентами | 1984 |
|
SU1234843A1 |
Многоканальный программируемый преобразователь код-фаза | 1990 |
|
SU1742998A1 |
Устройство для отладки микроЭВМ | 1985 |
|
SU1410708A1 |
Микропрограммное устройство для ввода-вывода информации | 1983 |
|
SU1144099A1 |
Многоразрядный генератор испытательных последовательностей | 1983 |
|
SU1133589A1 |
Процессор программируемого контроллера | 1988 |
|
SU1550515A2 |
Изобретение относится к импульсной технике и может быть использовано для управления импульсным спектрометром ядерного магнитного резонанса. Целью изобретения является расширение функциональных возможностей. Программируемый генератор импульсов содержит основной и дополнительный блоки памяти, интерфейсный блок, шины адреса и шины данных, буферные регистры, блок управления, блок формирования импульсов, адресный счетчик, таймер, программный счетчик, счетчик циклов, блок пуска, генератор импульсов и элементы И и ИЛИ. 1 з.п. ф-лы, 3 ил.
Фиг.1
3s 3s
Фиг. г
КЦ
П
Программируемый генератор импульсов | 1980 |
|
SU869000A1 |
Переносная печь для варки пищи и отопления в окопах, походных помещениях и т.п. | 1921 |
|
SU3A1 |
Авторы
Даты
1990-06-30—Публикация
1985-12-17—Подача