Научная статья на тему 'Аппаратно-программное интегрирование сигналов дифференциального частотного датчика'

Аппаратно-программное интегрирование сигналов дифференциального частотного датчика Текст научной статьи по специальности «Электротехника, электронная техника, информационные технологии»

CC BY
457
76
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЧАСТОТНЫЕ ДАТЧИКИ МЕХАНИЧЕСКИХ ВЕЛИЧИН / ИНТЕГРИРОВАНИЕ ПРИ ИЗМЕРЕНИИ МЕХАНИЧЕСКИХ ВЕЛИЧИН / ОБРАБОТКА СИГНАЛОВ ДАТЧИКОВ / FREQUENCY SENSORS OF MECHANICAL QUANTITIES / INTEGRATION OF THE MEASUREMENT OF MECHANICAL QUANTITIES / PROCESSING OF SENSOR SIGNALS

Аннотация научной статьи по электротехнике, электронной технике, информационным технологиям, автор научной работы — Шахмейстер Леонид Ефимович, Трофимов Вадим Юрьевич, Манин Сергей Михайлович

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

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

Текст научной работы на тему «Аппаратно-программное интегрирование сигналов дифференциального частотного датчика»

ИНФОРМАЦИОННЫЕТЕХНОЛОГИИ В ИЗМЕРЕНИЯХ

УДК 681.2.088

Л. Е. Шахмейстер, В. Ю. Трофимов, С. М. Манин

АППАРАТНО-ПРОГРАММНОЕ ИНТЕГРИРОВАНИЕ СИГНАЛОВ ДИФФЕРЕНЦИАЛЬНОГО ЧАСТОТНОГО ДАТЧИКА

L. E. Shakhmeyster, V. Yu. Trofimov, S. M. Manin

HARDWARE-BASED SIGNAL INTEGRATION OF DIFFERENTIAL FREQUENCY SENSOR

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

Abstract. The methods for integrating signal frequency sensors with integrated microcontrollers are developed. Methods can significantly reduce the computational cost of the integration of sensor signals through the implementation of digital frequency transformation operations.

Ключевые слова: частотные датчики механических величин, интегрирование при измерении механических величин, обработка сигналов датчиков.

Key words: frequency sensors of mechanical quantities, integration of the measurement of mechanical quantities, processing of sensor signals.

Выходной сигнал ряда частотных датчиков механических величин, в частности струнных, является функцией корня квадратного от измеряемого параметра [1]. В случае использования дифференциальной схемы выходной сигнал частоты /0) датчика представляется следующей зависимостью:

/к (t) = /l(t) - /2 (t) =

Уiij1 + ■

прІ

• a(t) - /ні

ні

/н241 -

пр2

a(t) - /н2

н2

где /1(0, /2(0 - частоты сигналов 1-го и 2-го каналов датчика; /н1, /н2 - начальные частоты 1-го и 2-го каналов датчика, соответствующие нулевому значению измеряемого параметра; Кпр1, Кпр2 - коэффициенты преобразования соответствующих каналов датчика; а(0 - измеряемый параметр.

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

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

I(t) = j/(t) - /2 (t) - /н ) ,

= const - предвари-

где tB - момент времени начала интегрирования; /н = /к (t)|a^) = 0 tt ]

тельно измеренная начальная частота, определяемая до момента времени t = tB при a(t) = const, или в частном случае при a(t) = 0.

Операция интегрирования может быть реализована следующим образом:

I(t) = j /і (t)dt - j /, (t)dt - /H / - tH).

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

Задача интегрирования частотных сигналов может быть решена с меньшими вычислительными затратами за счет использования цифрочастотных методов, реализуемых на базе специальных программ для микроконтроллеров [2]. При интегрировании цифрочастотными методами используется счетчик [2], выполняющий функции интегратора тернарных или бинарных единичных приращений, на входе которого может быть включена схема вычитания частот, выполняющая дополнительную функцию по фильтрации получаемого результата. Эта схема может быть названа дискриминатором. При цифрочастотной обработке сигналов частоты /() представляются в виде цифрочастотных потоков Ь;, принимающих в моменты времени значения 0 или 1 (при вычитании частоты -1). Число отличных от нуля значений в указанных потоках за промежуток времени измерения равно интегралу частоты соответствующего сигнала за этот промежуток времени.

Интегрирование цифрочастотных потоков Ь, с использованием дискриминатора осуществляется за счет реализации алгоритма следующего вида:

D/0,0 ) = H,

D / І -1) + bi, ],

D/, І ) = P,

D/, І )= M,

BP/, І) = 0, BM/, І) = 0 при М < D/, І -1) + bi, і < P, BP/, І ) = 1, BM/, І ) = 0 при D/, І -1) + b;, і > P,

BP/, І ) = 0, BM/, І ) = -1 при D/, І -1) + bг. ] < M;

(1)

n к n к

Jm+ = P - H + ZZBP, і , Jm-= M - H + Y^BMUj ] = li = 1

= 1 i = 1

где D(i, j) - состояние дискриминатора после j-го опроса i-го цифрочастотного потока; D(0, 0) - исходное состояние дискриминатора; BP(i, j), BM(i, j) - элементы соответственно положительного и отрицательного выходов дискриминатора при j-м опросе i-го цифрочастотного потока; H = const, Р = const, М = const - исходное, предельные максимальное и минималь-

н

ное значения дискриминатора соответственно, выбираемые с учетом возможных уровней шумов, имеющих место в частотных потоках Ь— Jm+, Jm- - машинное положительное и отрицательное значения интеграла соответственно.

На рис. 1 приведена структурная схема интегрирования при использовании микроконтроллера семейства МК8-51 [3]. Частоты /1(0, /2(0 с выхода датчика поступают на входы внешнего прерывания микроконтроллера Г№Т0, Г№Т1 соответственно.

Регистр БСКОР используется в качестве дискриминатора ^(/,/). Положительное значение интеграла Jm+ суммы частот хранится в регистре (регистрах) 8ишБ^, а отрицательное Jm- -в регистре (регистрах) SumDf - . Первоначально в дискриминатор может быть записано число Н = ГЕН (255), максимально возможное [3] для 8-разрядного контроллера типа М^-51, при этом результат отрицательного значения интеграла Jm- (SumDf -) необходимо увеличить по абсолютной величине также на величину Н = 255.

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

Рис. 1. Структурная схема интегрирования частот

При использовании микроконтроллера воспроизведенная начальная разностная частота для этих целей может быть сформирована таймером-счетчиком Т/С1 по заранее запомненному значению кода начальной частоты /н, хранящемуся в данном случае в трех регистрах: 8ишБР0, 8ишБР01+, 8ишБР02+ (8ишБР0 - старший байт, 8ишБР02+ - младший байт). Изменение значения интеграла на единицу любого знака передается на один из выводов контроллера, условно названный ОИТБР, для телеметрирования.

При использовании приведенного алгоритма интегрирования контроллер должен успевать обработать частоты датчика и воспроизведенную его начальную частоту. При дифференциальном датчике и максимальных частотах каждого канала порядка /1, / ~ 20 кГц при начальной разностной частоте / до 500 Гц время Т, затрачиваемое на обработку, не должно

мейства М^-51 и тактовой частоте / = 12 МГц время выполнения одного цикла Тц = 12/ / = 1 мкс . Все прерывания должны быть обработаны в течение не более 25 циклов.

Вход и выход из каждого прерывания занимают четыре цикла, при этом на все операции остается 13 циклов. Такое малое количество машинных циклов приводит к необходимости отыскания путей по сокращению времени интегрирования. Результат интегрирования представляется 2-байтным числом, а интегрирование 1-разрядного приращения - его инкрементированием или декрементированием. В М^-51 имеется один 2-байтный регистр DPRT, и его декрементирование занимает один машинный цикл. Этот регистр может быть использован для хранения результата интегрирования одного знака, например положительного. В этом случае для хранения данных значения интеграла отрицательного знака приходится использовать два регистра или ячейки памяти. Инкрементирование или декрементирование данных двух регистров в М^-51 может осуществляться за семь машинных циклов:

% Инкрементирование 2-байтного числа, записанного в ячейках ОЗУ

Для уменьшения времени выполнения указанной операции разработан специальный код DJnzInverse, учитывающий специфику системы команд М^-51. Приведем алгоритм этого кода при хранении значения интеграла в регистрах текущего банка SumDF+, SumDF+1+. Начальное состояние SumDF+, SumDF+1+ = FF00h. Операция инкрементирования заменяется операцией декрементирования:

Для получения двоичного кода после окончания интегрирования используется преобразование DJnzInverse:

превышать Т <--------------~ 25 мкс . При использовании 8-разрядных микроконтроллеров се-

/ + /2 + /н

% БитБ¥+, БитБ¥+1 +

1 СЬЯ С

2 МОУА, БитБ¥+1 +

3 АББ А, #01Н

4 МОУ БитБ¥+1+, А

;1 маш. цикл 5 МОУ А, БитБ¥+ ;1 маш. цикл

;1 маш. цикл 6 АББС А, #00И ;1 маш. цикл

;1 маш. цикл 7 МОУ БитБ¥+, А ;1 маш. цикл

;1 маш. цикл 8 ...

^ишБР+, 8ишБР+1+) -1 = ^ишБР +, (8ишБР+1+) -1], при (8ишБР+ 1+) -1Ф 0;

^ишБР+^ишБР+1+) -1 = [^ишБР +) -1,0], при (8ишБР+ 1+) -1 = 0.

(2)

При (8ишБР+ 1+) = 0

^ишБР+) ^ ^ишБР+)доп -1, ^ишБР +) ^ 0 - ^ишБР +) -1, [^ишБР+),(8ишБР+ 1+)]Преобр = {[^ишБР+)доП -1],0} =

{[0-^ишБР+) -1], 0}.

При (8ишБР+ 1+) Ф 0

[^ишБР+),(8ишБР+ 1+)]преобр = [^ишБР +),(8ишБР+ 1+)]доп = 0 - [^ишБР+), ^ишБР+1+)].

В табл. 1 приведен пример использования указанного кода.

Таблица 1

N1 SumDF+ SumDF+1+ (SumDF+, SumDF+Н)^ Условие (SumDF+, ^тОБ+Н^еобр N

0 FF 00 01 00 (SumDF+1+) = 0, ^(SumDF+) = (SumDF+)-1 00 00 0

1 FF FF 00 01 (SumDF+1+)ф0, ^(SumDF+) = (SumDF+) 00 01 1

2 FF FE 00 02 То же 00 02 2

254 FF 02 00 FE (SumDF+1+)^0, ^(SumDF+) = (SumDF+) 00 FE 254

255 FF 01 00 FF То же 00 FF 255

256 FE 00 02 00 (SumDF+1+) = 0, ^(SumDF+) = (SumDF+)-1 01 00 256

257 FE FF 01 01 (SumDF+1+)^0, ^(SumDF+) = (SumDF+) 01 01 257

258 FE FE 01 02 То же 01 02 258

При использовании преобразования DJnzInverse операция интегрирования, в данном случае заключающаяся в декрементировании 2-байтного числа, может выполняться следую-

щим образом:

1 DJNZ SumDF+1+, M1 ; 2 маш. цикла

2 DEC SumDF+ ; 1 маш. цикл

3 M1: end

Получили, что декрементирование 2-байтного числа осуществляется не за семь, а за три машинных цикла.

Время выполнения преобразования DJnzInverse, осуществляемого после окончания интегрирования, не играет роли.

1 DJnzInverse: CLR A 7 SJMP M4

2 CJNE SumDF+1+, M2 8 M3: SETB C

З SJMP M3 9 M4: CLR A

4 М2: CLR C 1G SUBB A, R4

5 SUBB A, 11 MOVR4, A

б MOVSumDF+1+, A 12 RET

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

Одновременного увеличения по абсолютной величине положительного и отрицательного результирующих значений интеграла произойти не может. Положительное значение интеграла увеличивается только при приходе импульсов /1(0 1-го канала датчика, а отрицательное значение интеграла по абсолютной величине может увеличиваться только при приходе импульсов частоты /2(0 и воспроизведенного значения начальной разностной частоты / В первом случае максимальное время интегрирования составит три, а во втором шесть машинных циклов.

Разумеется, задача обеспечения необходимого быстродействия может быть решена увеличением тактовой частоты микроконтроллера. Можно ожидать, что в ближайшее время допустимая тактовая частота отечественных микроконтроллеров семейства М^-51 увеличится с 12 до 24-50 МГц, как это имеет место в зарубежных аналогах.

Задача снижения требований по быстродействию используемого микроконтроллера может быть, кроме того, решена за счет предварительной аппаратной обработки сигналов дифференциального датчика. Указанная обработка представляет собой вычитание частот дифференциальных каналов датчика и может быть выполнена на микросхеме 512ПС8 [2] так, как это

показано на рис. 2,а. Для обеспечения обработки сигнала выходной разностной частоты /к(ї) схема дополнена элементами формирователя (конденсатор Сф и резистор Яф), обеспечивающими необходимую длительность сигнала на выходе схемы вычитания для обработки его на микроконтроллере.

Последующая программная обработка (интегрирование) суммы полученной разностной частоты каналов /к(ґ) и ее начального /н, воспроизводимого в процессе измерения (рис. 2,а) значения может быть осуществлена по рассмотренному выше алгоритму (1).

а)

Рис. 2. Схема вычитания частот (а) на микросхеме 512ПС8 и алгоритм программного метода интегрирования с использованием дискриминатора (б) сигналов дифференциального частотного датчика (Яф и Сф - элементы, отвечающие за длительность лог. «1» сигнала частоты /в^1х)

При этом за счет исключения из процесса обработки одного из трех цифрочастотных потоков и существенного снижения ранее высокочастотного выходного сигнала датчика с - 20 кГц до 3,0...3,5 кГц возможно уменьшить время, необходимое для обработки на микроконтроллере сигналов датчика, с 25 мкс до 250...280 мкс, что соответственно позволит применить менее быстродействующий микроконтроллер (с меньшей тактовой частотой) или использовать освободившиеся ресурсы для выполнения дополнительных функций.

Проведенный анализ позволяет сформулировать следующие обобщающие выводы по вопросам, связанным с интегрированием:

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

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

3) при интегрировании программными методами с использованием микроконтроллеров семейства МК8-51 уменьшение времени интегрирования дифференциальных частотных сигналов с представлением результата более чем 1-байтными числами может быть обеспечено использованием преобразования Б1п21пуег8е;

4) уменьшить время, необходимое для обработки на микроконтроллере сигналов датчика, возможно дополнительно до 10 раз за счет предварительного аппаратного вычитания частот дифференциальных каналов, что соответственно позволит применить менее быстродей-

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

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

1. Новицкий, П. В. Цифровые приборы с частотными датчиками /П. В. Новицкий,

В. Г. Кнорринг, В. С. Гутников. - Л. : Энергия, 1970. - 424 с.

2. Шахмейстер, Л. Е. Цифрочастотные и время-импульсные преобразователи информации / Л. Е. Шахмейстер. - М. : Изд-во КДУ, 2008. - 252 с.

3. Схемотехника электронных систем. Микропроцессоры и микроконтроллеры /

В. И. Бойко [и др.]. - СПб. : БХВ-Петербург, 2004. - 464 с.

Шахмейстер Леонид Ефимович

доктор технических наук, профессор, заместитель генерального директора по НИОКР, Научно-исследовательский институт «Поиск» E-mail: lsh43@mail.ru

Shakhmeyster Leonid Efimovich

doctor of technical sciences, deputy director general for Research and Development, Research Institute «Poisk»

Трофимов Вадим Юрьевич

кандидат технических наук, начальник отделения 2,

Научно-исследовательский институт «Поиск» E-mail: tvmt@yandex.ru

Trofimov Vadim Yur'evich

candidate of technical sciences, head of department 2, Research Institute «Poisk»

Манин Сергей Михайлович

заведующий НИЛ,

Научно-исследовательский институт «Поиск» E-mail: se_@rambler.ru

Manin Sergey Mikhaylovich

head of research laboratory, Research Institute «Poisk»

УДК 681.2.088 Шахмейстер, Л. Е.

Аппаратно-программное интегрирование сигналов дифференциального частотного датчика / Л. Е. Шахмейстер, В. Ю. Трофимов, С. М. Манин // Измерение. Мониторинг. Управление. Контроль. - 2013. - № 2(4). - С. 10-16.

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