Статья:

Оценка быстродействия электронных устройств в цепях формирования сигналов возбуждения с целью обеспечения требуемой синхронности их воздействия

Конференция: VI Студенческая международная научно-практическая конференция «Технические и математические науки. Студенческий научный форум»

Секция: Технические науки

Выходные данные
Наумов И.А. Оценка быстродействия электронных устройств в цепях формирования сигналов возбуждения с целью обеспечения требуемой синхронности их воздействия // Технические и математические науки. Студенческий научный форум: электр. сб. ст. по мат. VI междунар. студ. науч.-практ. конф. № 6(6). URL: https://nauchforum.ru/archive/SNF_tech/6(6).pdf (дата обращения: 23.04.2024)
Лауреаты определены. Конференция завершена
Эта статья набрала 0 голосов
Мне нравится
Дипломы
лауреатов
Сертификаты
участников
Дипломы
лауреатов
Сертификаты
участников
на печатьскачать .pdfподелиться

Оценка быстродействия электронных устройств в цепях формирования сигналов возбуждения с целью обеспечения требуемой синхронности их воздействия

Наумов Иван Алексеевич
студент СПбГЭТУ «ЛЭТИ», Россия,г. Санкт-Петербург

 

Оценка временной дискретизации формирователя сигналов

В соответствии с теоремой Котельникова, если аналоговый сигнал  имеет конечный (ограниченный по ширине) спектр, то он может быть восстановлен однозначно и без потерь по своим отсчётам, взятым с частотой, строго большей удвоенной верхней частоты . В работе требуется обеспечить работу с сигналами до 200 кГц. Следовательно, частота дискретизации должна превышать 400 кГц. В работе было решено использовать большее значение частоты дискретизации – 1 МГц, что соответствует периоду следования цифровых отсчетов формируемых сигналов – 1 мкс. Это обеспечивается временем опроса памяти каждого канала и вывода соответствующего значения отсчета сигнала через ЦАП на выход БФС. Несмотря на высокое быстродействие процессора, определяемое частотой тактового генератора, вывод единичного временного отсчета не может быть обеспечен за один такт. Помимо команды, непосредственно вызывающей данные из внешней памяти процессора – MOVX, между выводом последовательных отсчетов необходимо подготовить новое значение адреса данных и организовать цикл опроса. Ниже приводится фрагмент программы на языке ассемблер, обеспечивающей вывод 1024 значений временных отсчетов, записанных во внешней памяти сигналов, сформированных ПЭВМ.

Перед каждой командой в скобках проставлено время выполнения в машинных тактах. В ячейках r3 и r4 организован счетчик выводимых отсчетов, работающий на вычитание. Стрелками показаны циклы вывода, причем «внешний» цикл выполняется после каждых 256 точек, когда «внутренний» счетчик по r4 досчитывает до нуля. Таким образом, каждая 256-я точка выводится с дополнительной задержкой на выполнение команд, выделенных зеленым цветом, т.е. к интервалу временной дискретизации импульса добавляется 6 машинных тактов, что нарушает равномерность следования временных отсчетов и требует дальнейшей корректировки. Период дискретизации определяется суммированием времени выполнения команд внутреннего цикла (синий цвет), который выражается в машинных тактах: 2 + 4 + Х + 1 + 4 = 11 + Х тактов.

Время Х выполнения команды MOVX A,@DPTR зависит от настройки системы. Обеспечение возможности регулировки времени в процессоре DS89C420 связано с необходимостью обеспечения возможности работы процессора с медленной памятью. Оно может меняться от 2 до 12 машинных тактов и определяется значениями битов MD0, MD1, MD2 служебного регистра CKCON в соответствии с рисунком 4.1. По умолчанию это время равно 3 машинным тактам.

Строка 4 представленного фрагмента программы обеспечивает дополнительную задержку между моментами вывода точек импульса — 2 + 4*ТТ, обеспечивая возможность регулировки частоты дискретизации, где ТТ – некоторое численное значение, обеспечивающее возможность изменения тактового времени. Такая организация и результаты экспериментальной проверки работы схемы выявили две проблемы:

· время на выполнение команды MOVX необходимо определять в процессе инициализации системы;

· временные интервалы между отсчетами — период дискретизации импульсов, необходимо выровнить по всем отсчетам.

 

Рисунок 1. Таблица определения времени выполнения команды MOVX (datasheet процессора)

 

Время выполнения команды MOVX зависит от установленных значений битов служебных регистров. Указанные в таблице на рисунке 1 значения времени удлинения команды будут давать разные величины в зависимости от установленной длительности машинного цикла, определяемого регистром PMR. На рисунке 2 показана структура (а) и начальные значения (б) служебных регистров CKCON и PMR.

a)

CKCON

8Eh

WD1

WD0

T2M

T1M

T0M

MD2

MD1

MD0

 

PMR

C4h

CD1

CD0

SWB

CTM

4X/2X

ALEON

DME1

D

 

б)

CKCON

8Eh

0

0

0

0

0

0

0

1

PMR

C4h

1

0

0

0

0

0

0

0

Рисунок 2. Служебные регистры, определяющие время выполнения команды MOVX, и их значения по умолчанию

 

Путем настроек в режиме инициализации было установлено время выполнения команды, равное 9-ти машинным тактам. Тогда в соответствии с формулой для количества требуемых машинных тактов, минимальное время вывода дискретных отсчетов сигналов составляет 20 машинных тактов. Тогда для обеспечения выбранной частоты дискретизации частота тактового генератора процессора не должна быть ниже 20 МГц.

Для выравнивания периода вывода дискретных отсчетов формируемого импульса при работе программы только с «внутренним» счетчиком (регистр r4) и при включении в цикл программы «внешнего» счетчика (регистр r3) был модифицирован программный блок вывода данных формируемого сигнала. Было решено сделать величину (длительность) внутреннего цикла зависящей от использования «внешнего» счетчика. Для этого во внутренний цикл включаем задержку (например, с помощью команд NOP), которая не выполняется при заходе во «внутренний» цикл счета из «внешнего». Модифицированный программный блок выглядит следующим образом:

При прохождении счетчиком внешнего цикла оказываются задействованными команды выделенные зеленым цветом, что добавляет в период следования отсчетов 4 + 2 + 2 = 8 тактов. Однако при этом пропускается блок из команд NOP («нет операции» – команда требует на свою обработку 1 такт, но не выполняет никаких действий). При работе только с «внутренним» счетчиком блок из NOP выполняться будет, что дает возможность выровнить время работы. Очевидно, следует добавить 8 тактов — 8 команд NOP. При ТТ =1 и с учетом определенного Х = 9 длительность периода дискретизации составит 28 машинных тактов.

Принятое значение периода — 1 мкс при частоте внешнего генератора 32 МГц получится при 32-х тактном цикле счета. Добавка в ТТ (ТТ = 2) единицы увеличит период дискретизации на 4, т.е. тогда получим 32 машинных такта.

Таким образом, заданный режим дискретизации удается обеспечить чисто программным путем. Это упрощает возможную модификацию в случае возникновения такой необходимости по результатам дальнейших испытаний.