Научная статья на тему 'СИНХРОНИЗАЦИЯ ВЫЧИСЛИТЕЛЬНОГО ПРОЦЕССА ЦИФРОВОЙ СИСТЕМЫ УПРАВЛЕНИЯ'

СИНХРОНИЗАЦИЯ ВЫЧИСЛИТЕЛЬНОГО ПРОЦЕССА ЦИФРОВОЙ СИСТЕМЫ УПРАВЛЕНИЯ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
42
9
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СИНХРОНИЗАЦИЯ ВЫЧИСЛИТЕЛЬНОГО ПРОЦЕССА ЦИФРОВОЙ СИСТЕМЫ УПРАВЛЕНИЯ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Мельников Петр Николаевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Мельников Петр Николаевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

COMPUTATIONAL PROCESS SYNCHRONIZATION FOR THE DIGITAL CONTROL SYSTEM

The work is devoted to solving the problem of synchronization of input data processing coming to the computer system from independent external systems of the complex. The synchronization problem is solved for a computer system that implements an algorithm for estimating the parameters of the trajectory of a physical object.

Текст научной работы на тему «СИНХРОНИЗАЦИЯ ВЫЧИСЛИТЕЛЬНОГО ПРОЦЕССА ЦИФРОВОЙ СИСТЕМЫ УПРАВЛЕНИЯ»

Kuptsov Vladimir Romanovich, head of the engineering center, v. kuptsov@stankin. ru, Russia, Moscow, Moscow State University of Technology «STANKIN»,

Gribkov Andrey Armovich, doctor of technical sciences, analysis center director, andar-mo@yandex. ru, Russia, Moscow, Moscow State University of Technology «STANKIN»

УДК 623.55.025

DOI: 10.24412/2071-6168-2021-9-207-212

СИНХРОНИЗАЦИЯ ВЫЧИСЛИТЕЛЬНОГО ПРОЦЕССА ЦИФРОВОЙ СИСТЕМЫ УПРАВЛЕНИЯ

П.Н. Мельников

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

Ключевые слова: синхронизация вычислительного процесса цифровой системы управления.

Предметом рассмотрения настоящей работы является цифровая система управления, в которой центральное место занимает алгоритм, оценивающий параметры траектории движения физического объекта (координаты, скорости, ускорения). Данные от систем обнаружения, сопровождения объекта, систем позиционирования и ориентации комплекса поступают в центральную вычислительную систему (ВС) с различными частотами обновления информации. ВС решает задачу оценки параметров периодически, всякий раз, заново вычисляя координаты, скорости и ускорения объекта.

Рассмотрим вариант построения управляющего комплекса, когда моменты начала цикла решения задачи в ВС и моменты приема данных от внешних систем не связаны между собой. Вычислительные процессы отдельных систем в рассматриваемом комплексе являются асинхронными. Простейшим вариантом для анализа асинхронной работы ВС и системы, поставляющей входные данные, является работа на одинаковой частоте решения задач для каждой из них. При этом внешняя система управляет процессом передачи данных в ВС. Информационное взаимодействие систем характеризуется не только случайным изначальным временным сдвигом между циклами приема и обработки данных, но и медленным односторонним изменением этого сдвига (дрейфом) в процессе работы. Эффект дрейфа циклов обработки объясняется различной точностью представления временного интервала в асинхронных системах. Например, пусть длительность цикла решения задач составляет 10[мс], а расхождение в цифровом представлении этого временного интервала для систем - 50[нс], тогда периодичность процесса дрейфа составит 2000[с]=33.3[мин].

Для придания последующему анализу большей конкретики сделаем следующее допущение: временной интервал поступления данных в вычислительную систему равен заявленной величине Тв , а временной интервал выдачи результатов расчетов равен Тв ± АГ , где AT -погрешность представления заявленного временного интервала. Если изначально временные сетки приема данных и выдачи результатов расчетов совпадали, то с течением времени работы комплекса они будут расходиться. Смещение временной сетки выдачи результатов относительно сетки приема данных будет производиться вправо, если интервал приема ГВХ меньше интервала выдачи ГВС . Смещение временной сетки выдачи результатов относительно сетки приема данных будет производиться влево, если интервал приема ГВХ больше интервала выдачи ГВС . Закон изменения величины временного сдвига является периодическим и представляет собой линейно возрастающую (ГВХ < ГВС ) либо убывающую (ГВХ > ГВС ) функцию с разрывом первого рода. При этом величина разрыва равна длительности цикла приема входных данных.

Сигналы между системами комплекса и ВС распространяются по цифровым каналам связи за конечное время Тш. Например, для случая построения канала связи по ГОСТ Р52070-2003 время передачи данных может достигать до 650[мкс].

На рис.1 показана зависимость времени запаздывания между моментом выдачи данных входной системой и моментом начала использования принятых данных в вычислительной системе. Черным цветом представлена зависимость, не учитывающая времени передачи пакета данных по цифровому каналу связи. Для учета времени передачи данных по каналу связи в общем времени запаздывания необходимо сдвинуть изначальный график вправо (влево) и приподнять его над осью абсцисс на величину Ткн (линия красного цвета). Участки совпадения

графиков запаздывания (в нашем примере эти участки занимают значительные отрезки по времени), говорят о том, что процесс рассинхронизации приема и начала обработки данных протекает одинаково - учитывается или нет время распространения данных в канале связи. Совпадающие участки графиков характеризуют процесс в те моменты времени, когда текущие входные данные не могут использоваться в текущем цикле обработки вычислительной системой. Данные будут использоваться в следующем (будущем) цикле обработки, поэтому нет разницы -либо эти данные уже приняты ВС и хранятся во входном массиве, либо еще не приняты, а только передаются по каналу связи.

Рассмотрим особенности влияния эффекта «дрейфа» на конкретном примере (без учета времени передачи пакета данных по цифровому каналу связи рис.1 вариант А). Пусть текущая координата, скорость и ускорение объекта формируются следующим образом:

х() = Хо+Уо • Г+Ао • Г2 / 2; у(() = Уо+Ао • Г; а(() = Ао . (1)

Входная координата х(^) = х(?) = хр обрабатывается дискретным алгоритмом оценки параметров движения объекта [1]:

ех = хр - хо; хо = хо + Ьо • ех; еу = ех - уо; уо = уо + Ьо • еу; еа = еу - ао; ао = ао + Ьо • еа;

хг = хо+уо + ао; (2)

уг = (уо + 2 • ао - ао • Ьо /2)/ Т; аг = ао / Т / Т; Ьо = (То + ЛТ)/Т;

хр -дискретный отсчет входной координаты объекта; хг -оценка координаты; уг -оценка скорости; аг -оценка ускорения; Т -постоянная времени фильтра; То -длительность цикла обновления входных координат; То + ЛТ -длительность цикла решения задачи фильтрации. Расчеты выполнены при следующих значениях:

Хо = 5000[м]; Уо = -300[м/с]; Ао = 10[м/с/с];

То = 0.01[с]; ЛТ = 0.00001[с]; Т = 0.5, 1.0[с]; Даже при условии точной оценки параметров движения объекта имеют место погрешности, обусловленные смещением временной сетки выдачи результатов расчетов относительно временной сетки приема входных координат (рис.1). Наибольшее запаздывание момента выдачи результата относительно момента приема входных данных имеет место:

в случае варианта А (ТВХ < ТВС), когда в течение одного цикла расчетов в вычислительную систему поступает два пакета входных данных;

в случае варианта Б (ТВХ > ТВС), когда в течение одного цикла расчетов в вычислительную систему не поступает ни одного пакета входных данных.

„V м

Вариант А

Рис. 2. Изменение входной координаты

Рис. 3. Ошибки, вызванные смещением временных сеток

Наибольшее запаздывание в обработке входных данных имеет место, когда ВС выполняет алгоритм оценки параметров два раза подряд с одними и теми же входными значениями (вариант Б), либо пропускает обработку одного из входных значений (вариант А). И как следствие, нарушается принцип временной регулярности поступления данных на вход алгоритма (2) оценки (цифровой фильтрации). Нарушение временной регулярности обработки входных данных может привести к потере точности в оценках параметров траектории движения объекта (рис.4 для Т = 0.5[с]; Т = 1.0[с]). Длительность интервала несостоятельности в оценках зависит от частоты съема и интенсивности изменения координат объекта, а также свойств реализуемого алгоритма (например, величины постоянной времени цифрового фильтра

Т).

[и],[м/с],[м/с/с] Вариант А

Т=0.5[с]

А.

Ошибка в координате Ошибка в скорости Ошибка в ускорении

1

о.в о.в

0.4 0.2 О •0.2 -0.4 -0.6 -0.8 -1

1

Т=1.0[с]

X 1

1 |

Ошибка в координате

Ошибка в скорости

Ошибка в ускорении

!

10 15 20 25 30 35 40 45

^ 10 15 20 25 30 35 40 45 [с]

Рис. 4. Ошибки, вызванные нарушением временной регулярности

Входные данные, поступившие в вычислительную систему, могут использоваться ею в любой момент времени в соответствии с текущей потребностью алгоритма управления. Такое построение алгоритма не исключает использования в одном расчетном цикле входных данных, полученных в различных пакетах обмена. Чтобы избежать «расщепления» входных данных, реализуют временную привязку (синхронизацию) использования входных данных к началу цикла решения задачи внутри вычислительной системы. А именно, в начале каждого цикла решения задачи входные данные переписываются ВС из приемного пакета во внутренний пакет

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

Для высокоточных комплексов, в том случае, когда нарушение временной регулярности обработки входных данных является недопустимым, необходимо синхронизировать процессы приема и обработки входных данных (моменты конца приема и начала обработки связать программно). Вычислительная система выступает в роли контроллера обмена данными с внешней системой. Частота поступления данных на вход вычислительной системы должна быть стабильной и калиброванной. Если имеют место пропуски в приеме данных, то необходимо программными средствами такие факты выявлять и восстанавливать пропущенные данные. При этом алгоритм прогнозирования (восстановления) параметров траектории движения объекта строится на обработке ранее поступившей выборки входных координат.

На практике частота приема входных данных и частота решения алгоритма управления, как правило, не совпадают. Частота выработки входных данных внешними системами определяется скоростью протекания физических процессов, которые задействованы при фиксации координат объекта. Возможности увеличения частоты обновления входных данных весьма ограничены. Предельная частота обработки входных данных в цифровой вычислительной системе определяется быстродействием элементной базы, на которой предполагается построить вычислитель. Возможности, которые предоставляет современная элементная база вычислительной техники, достаточно широки. По этой причине, частота решения алгоритма в ВС, как правило, превышает частоту поступления входных данных и назначается (как правило) кратной частоте приема. Для некоторых внешних систем это превышение весьма существенно (например, для лазерного дальномера). Случай не обновления входных данных здесь распространяется не на один, а на несколько смежных циклов решения алгоритма управления. Нарушение принципа временной регулярности обработки вновь поступающих данных имеет место не только из-за временного дрейфа циклов обмена и обработки данных, но также и из-за несовпадения частот обмена (обновления) и обработки. Имеют место варианты построения вычислительного комплекса, когда в одном пакете входных величин присутствуют данные с различной частотой обновления значений.

Синхронизация выполнения отдельных задач в вычислительном процессе цифровой системы управления базируется на следующих решениях:

назначение наивысшего уровня приоритета прерывания от срабатывания цифрового

таймера;

назначение величины временного интервала циклического срабатывания таймера, которая наиболее точно (насколько позволяет микросхема процессора) соответствует расчетному значению;

назначение среднего (более низкого, чем у таймера) уровня приоритета для обменных операций с внешними системами;

назначение низкого (более низкого, чем обмен) уровня приоритета для задач расчета сигналов управления;

запуск на решение задач управления осуществляется из программы обработки тай-мерного прерывания (синхронизация по срабатыванию таймера).

Частота срабатывания таймерного прерывания назначается кратно большей, чем частота решения задач управления. Для определенности, например, при частоте решения задач управления 100 герц частота подключения программ обработки таймерного прерывания назначается равной 800 герц. Программа обработки таймерного прерывания реализует функции диспетчера (синхронизатора) всего вычислительного процесса по управлению системами комплекса. В течение одного цикла решения задач управления диспетчер реализует несколько циклов подключения (например, 8 / = 0,1,..., 7). На каждом цикле подключения диспетчер решает конкретные задачи синхронизации вычислительного процесса. На нулевом цикле диспетчер инициирует запуск на счет задач управления. На последующих циклах диспетчер инициирует об-

менные операции с системами комплекса, в которых является контроллером. Основное требование к программной реализации диспетчера - предельно сократить время пребывания вычислителя в наиболее приоритетном таймерном прерывании.

В качестве примера задач управления рассмотрим вариант построения вычислительного процесса, когда вычислительная система производит оценку параметров движения объекта (частота расчета 100 герц) по данным оптико-электронной системы и системы ориентации подвижной платформы (палубы корабля), на которой установлен комплекс. Для оптико-электронной системы сопровождения физического объекта характерны следующие параметры: частота передачи пакета данных равна 100 герц; частота обновления угловых координат объекта равна 50 герц (определяется частотой полукадровой развертки изображения); частота обновления дальности до объекта может изменяться от 10 до 20 герц (определяется техническими характеристиками лазерного дальномера). При этом наличие или отсутствие текущего значения дальности зависит от точности сопровождения объекта по углам. Отсутствие текущего значения дальности индицируется нулевым цифровым кодом. Система позиционирования и ориентации платформы (палубы) передает и обновляет пакет данных (углы и скорости качек и курса носителя, скорость корабля относительно грунта) с частотой 100 герц.

Параметры траектории движения объекта рассчитываются в земной прямоугольной системе координат (ХУ2). Начало координат совмещено с центром средств измерения оптико-электронной системы. Положение осей определяется следующим образом: ось X направлена на север и лежит в плоскости местного горизонта, ось У направлена по местной вертикали, ось 2 дополнятся до получения правой системы координат. Входная система сопровождения поставляет данные о положении объекта в сферической системе координат (П, Ч, е). Если система сопровождения объекта располагается на подвижной платформе, то в расчетах параметров движения объекта в земной прямоугольной системе координат необходимо учесть угловые координаты ориентации платформы относительно земной системы (к, у,в). Например для корабля, это будут : к - угол курса корабля, у - угол килевой качки, в - угол бортовой качки. Следовательно, каждая прямоугольная координата функционально зависит от нескольких сферических.

Х1 = cos(e) • сов(д)

У = яп(е) (3)

21 = cos(e) • эт(д) Поворот на угол бортовой качки в

23 = 21 • сов(в) + У1 • sin(в) (4)

У2 = у • сов(в) - 2 • sin(в) Поворот на угол килевой качки у

Х3 = Х1 • сов(у) - У2 • вт(у) (5)

У3 = У2 • сов(у) + Х1 • эт(у) Расчет сферических координат в земной системе координат

е3 = аг^\Уз, sgгt(Xl + 232)] (6)

Чз = аг^ (2з, Х3) + к

Координаты (ез, ), рассчитанные в земной системе координат, являются стабилизированными (свободными от качек и курса корабля).

Х = П • сов(ез) • сов(чз)

У = П • яп(ез) (7)

2 = П • сов(ез) • )

Каждая из прямоугольных координат ( ХУ2 ) подвергается обработке алгоритмом (2) для окончательной оценки параметров траектории движения объекта ( Хо, Хо, Хо, Уо, Уо, Уо, 2о, 2о, 2о).

Принципиально важно для работы алгоритма расчета параметров движения объекта, чтобы все сферические координаты обновлялись с одинаковой частотой, равной частоте решения задачи управления 100 герц. Достижение этой цели требует введения предварительной фильтрации входных данных с низкой частотой обновления. Для входных данных, у которых

частота обновления незначительно отличается от частоты обработки (в 2 раза), а также процесс обновления данных является стабильным (отсутствуют пропуски, связанные с физикой), предлагается алгоритм восстановления (8). К таким данным относятся данные об угловом положении объекта (q, e), которые обновляются через такт обработки.

Д = ОД - Q[i -1]; Q[i -1] = ОД;

if (Д) = 0 goto PRG;

Дг = Д; Ф = 1; exit; (8)

PRG: if (Ф) = 0 exit;

ОД]=ОД+Дг/2; Ф=0; exit; где Q[i ] - текущая входная/выходная координата.

Для входных данных, для которых частота обновления значительно отличается от частоты обработки (в 4-8 раз), а также процесс обновления данных является не стабильным (имеют место кратковременные пропуски, связанные с физикой), предлагается алгоритм восстановления (9). К таким данным относятся данные о дальности до объекта (D), которые вырабатываются аппаратурой лазерного дальномера.

ex = Q[i] - xo; xo = xo + bo • ex;

ev = ex - vo; vo = vo + bo • ev; (9)

Q[i] = xo + vo;

Значение выходной координаты алгоритма подается на его же вход (алгоритм рассчитывает параметры траектории на такт вперед). Необходимая точность восстановления данных обеспечивается назначением величины T постоянной времени фильтра.

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

Список литературы

1. Вернер В.Д., Мельников П.Н., Сазонов А.А. Восстановление полиномиального сигнала способом апериодической фильтрации. МИЭТ. М., 2008. С. 27 - 31.

Мельников Петр Николаевич, канд. техн. наук, ведущий научный сотрудник, pe-ter@olvs.miee.ru, Россия, Москва, Национальный исследовательский университет электронной техники

COMPUTATIONAL PROCESS SYNCHRONIZATION FOR THE DIGITAL CONTROL SYSTEM

P.N. Melnikov

The work is devoted to solving the problem of synchronization of input data processing coming to the computer system from independent external systems of the complex. The synchronization problem is solved for a computer system that implements an algorithm for estimating the parameters of the trajectory of a physical object.

Key words: synchronization of computational process of digital control system.

Melnikov Peter Nikolaevich, candidate of technical science, researcher, peter@olvs.miee.ru, Russia, Moscow, National Research University of Electronic Technology

i Надоели баннеры? Вы всегда можете отключить рекламу.