Использование микроконтроллеров при преобразовании временного интервала в цифровой код

2016, № 2

УДК 681.518.3

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

ИСПОЛЬЗОВАНИЕ МИКРОКОНТРОЛЛЕРОВ ПРИ ПРЕОБРАЗОВАНИИ ВРЕМЕННОГО ИНТЕРВАЛА

USE OF MICROCONTROLLERS WHEN TRANSFORMING THE TIME INTERVAL TO THE DIGITAL CODE

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

Abstract. Background. The aim is the conversion coefficient of the differential frequency sensor using two possible methods and the analysis of the obtained errors associated with the use of these methods. Materials and Methods. Measurement of the transformation coefficient of the differential frequency sensor either both the differential frequency of sensor's channels and the second channel impulses delay in comparison with the first channel impulses are measured at the beginning and at the end of differential frequency measured period or each channel's frequency is measured separately. Results. The measurement of the difference frequency without delay has an error of discreteness determination of the conversion factor is about 20 times larger than the error of other options. The accuracy of determining the conversion factor due to the discreteness of the measurements, the measurement of the difference frequency, given measurements of the delays equals that of the error in the measurement frequency of each sensor channel. Conclusions. Errors arising when the transformation coefficient of the differential frequency sensor is measured with both methods differ a little.

Ключевые слова: микроконтроллер, погрешность времяимпульсного преобразования.

Key words: microcontroller, error of pulse-time transformation.

В ЦИФРОВОЙ КОД

V. Yu. Trofimov, L. E. Shakhmeyster

Применение времяимпульсных преобразователей связано с использованием операции измерения длительности временных интервалов и представления ее в виде цифрового кода [1-4]. Выполнение этой операции с помощью микроконтроллеров (МК) [5] осуществляется фикса-

цией моментов прихода сигналов начала и конца измеряемого временного интервала [1-3]. Указанная фиксация может осуществляться командами МК [6, 7], с временем их выполнения 1 или 2 машинных цикла Тц. Задержки фиксации начала и конца измеряемого временного интервала имеют две составляющие, одна из которых систематическая, а другая случайная [8, 9]. Систематическая составляющая задержки может быть учтена программой МК и погрешности измерения длительности временного интервала не вызывает.

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

ас =а„

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

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

Если временной интервал, подлежащий преобразованию в цифровой код, представлен в виде двух импульсов с активным уровнем, соответствующим логическому «0», то применительно к МК семейства МК-51 [7] при опросе вывода порта, например P1.0, на который подается входной сигнал, преобразование может осуществляться выполнением следующих команд:

$: JBP1.0, $ ; фиксация среза первого входного импульса ;

SETTR0 ; запуск таймера-счетчика

$: JNBP1.0, $ ; фиксация окончания первого входного импульса

JBP1.0, $ ; фиксация среза второго входного импульса

;

CLRTR0 ; остановка таймера-счетчика

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

Положим, что первый и второй входные импульсы представляют собой прямоугольные импульсы логической «1» длительностью ?1 ±а1 и ?2 ±а2соответственно, временной интервал между срезами которых подлежит преобразованию.

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

При подключении входного сигнала к выводу INT0 МК семейства МК-51 и использовании таймера - счетчика ТС0, сказанное может быть реализовано следующей программой МК, фиксация начала и конца преобразовываемого временного интервала в которой осуществляется за один машинный цикл:

CLRINTO

SETBEA

CLRFO

S: JNBINTO, S CALLZl SETBINTO NOP

NOP

S: JNBINTO, S

CALLZ2

SETBINTO

запрет прерываний по INT0

разрешение прерываний

флаг номера входного импульса, первоначально ; первого

фиксация фронта первого входного импульса

задержка 1

разрешение прерывания по INT0

N1h операций

фиксация фронта второго входного импульса задержка 2

разрешение прерывания по INT0

NOP NOP

INTO: JBF0, М1

SETBTRO

SETBFO

N1ic операций

Подпрограмма прерывания по INTO

переход, если флаг F0 = 1

пуск таймера - счетчика 0

подготовка к фиксации приема среза второго

импульса

запрет прерываний по INTO

CLRINT0 RETI

M1: CLRTR0 CLRINT0 RETI

Рассмотрим требуемые значения задержек Z1, Z2 и чисел NiH, NiK:

остановка таймера - счетчика 0 запрет прерываний по INTO

Z1 < *1 -Al - ¿опрь Z 2 < ¿2-А2 - ¿опр 2,

где ta

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

1опр1'1опр2

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

Применительно к рассматриваемому примеру с учетом времен опроса уровня сигнала

t t = 7Т

1опр1' 1опр 2 мц-

Числа N1, N2 операций NOP могут быть оценены выражениями

niH - N2Н

2A1 тц

n1K - n2K

2a2 тц

Если ¿1, ¿2 = 50 ± 20 мкс и Тц = 1 мкс, то

2 • 20

21,22 = 50 - 20 - 7 -1 = 23 мкс, ^, ^ = ^, Н2к = — = 40.

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

Тогда, в общем случае, возможны четыре варианта (события) фиксации начала и конца измеряемого временного интервала. Эти варианты представлены в табл. 1.

Таблица 1

Варианты пределов значений случайных величин ан , а к и плотности их распределения /1

Вариант

1. Начало - 1 цикл, Ан < 0, Ан > 1 0 А к <-1, А к > 0 0

конец - 1 цикл 0 <Ан <1 1 -1 <Ак < 0 1

2. Начало - 1 цикл, Ан < 0, Ан > 1 0 Ак <-2, Ак > 0 0

конец - 2 цикла 0 <Ан <1 1 -2 < Ак < 0 0,5

3. Начало - 2 цикла, Ан <-2, Ан >0 0 А к <-1, А к > 0 0

конец - 1 цикл -2 < Ан < 0 0,5 -1 <АК < 0 1

4. Начало - 2 цикла, Ан <-2, Ан >0 0 Ак <-2, Ак >0 0

конец - 2 цикла -2 < Ан < 0 0,5 -2 < А к < 0 0,5

Случайные величины (дн, дк) независимы и распределены по законам равномерной плотности /1(дн), /2(дк) соответственно. Рассмотрим их алгебраическую сумму дс (1). Функция распределения этой суммы определяется выражением [10]:

Р

где Р (дс) - функция распределения д с , -го варианта табл. 1; ^ - область значений , -го варианта; Р(дн, дк ) - вероятность нахождения дн, дк в области ^ .

Функция распределения Р (дс), определенная по выражению (4) для различных вариантов фиксации начала и конца измеряемого временного интервала, приведена в табл. 2.

Таблица 2

Функция распределения Р (дс) погрешности дс различных вариантов фиксации начала и конца измеряемого временного интервала

Диапазон Дс Вариант

1 2 3 4

("2, -1) 0 0 0,25(2 + Ас )2 0,125(2 + Ас )2

("1, 0) 0,5(1 + Ас )2 0,25(1 + Ас )2 0,75 + 0,5 Ас 0,125(2 + Ас )2

(0, 1) 1 - 0,5(1 -Ас )2 0,25 + 0,5 Ас 1 - 0,25(1 -Ас )2 1 - 0,125(2 - Ас )2

(1, 2) 1 1 - 0,25(2 - Ас )2 1 1 - 0,125(2 - Ас )2

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

В этом случае вероятность вариантов (событий), указанных в таблице 1, определяется выражениями:

Pl =

N

1н

N

1к

ßKн

Nlн + 2N2н

^к + 2N2к

P2 =

P3 =

P4 =

2 N

2н

NlK

Nlн + 2 N2н

Nlк + 2 N2 к

N

1н

2 N

2к

( Kн + 2) (ßK + 2)' . 2 ß Kн

( Kн + 2)(ß Kн + 2)'

2 K,

Nlн + 2N2н Nlк + 2N2к (Kн + 2)(ßK + 2)'

2 N.

2н

2 N

2к

Nlн + 2N2н

Nlк + 2N2к

( Kн + 2)(ß Ks + 2)'

K = Nm K = Nk

N2/ - N2k

ß = ^,

где Р1, Р2, Р3, Р4 - вероятность соответственно вариантов (событий) 1-4 табл. 1.

С учетом вероятности наступления того или иного варианта фиксации начала и конца измеряемого временного интервала функция распределения Р(дс) погрешности д с определяется выражением

Р

г=1

2016,№2

где Р (ас) - функция распределения, приведенная в табл. 2 для г -го варианта (г = 1—4) фиксации начала и конца измеряемого временного интервала; Р - приведенная в выражениях (2) вероятность г -го варианта фиксации начала и конца измеряемого временного интервала.

Вычисленная в соответствии с выражением (5) функция распределения Р(ас) погрешности ас приведена в табл. 3.

Таблица 3

Функция распределения Р(ас) погрешности а с

17

Диапазон Ас Р

На рис. 1 приведена функция распределения Р( ас) для всего диапазона погрешностей ас при Кн = 25; 100; 500 и в = 0,1; 1; 100.

при Кн = 25; 100; 500 и |3 = 0,1; 1; 100

Выясним функцию распределения Р (|ас |) абсолютного значения |ас| погрешности. Вероятность Р(0<|ас| < 1) непревышения абсолютного значения погрешности К| < 1

равна

Р

Вероятность Р(1 <|дс| < 2) нахождения абсолютного значения погрешности 1 <|дс| <2

равна

'Р

Р (д с| е1,2 ) = Р (д „| = 1) + Р (1 <|д„| < 2). В табл. 4 приведены выражения для функции распределения

полученные по

формулам (6)-(8) с использованием формул табл. 3.

На рис. 2 приведены построенные по формулам табл. 4 функции распределения Р (дс |) для всего диапазона погрешностей дс при Кн = 25; 100; 500 и в = 0,1; 1; 100.

Таблица 4

Функция распределения Р(| дс |) абсолютной погрешности |дс|

Диапазон |Ac P

р

0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1

fl-0 i л ---------

P=KÏJ

ß=l W

--Ml -------- ........

=25

J_L

1 1.5

Р

1

0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1

-1 о

2\АС I 0 0.5

ß=0,

!\ // =100

---------

--------

=100

1

0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0

2 14.1 »

Р

ß=0,l\Tp ' ß=10L I

---------

/ K'-rí=500

0.5 1 1.5 2 \Л„ I 0 0.5 1 1.5 2 \АЛ\ 0 0.5 1 1.5 Рис. 2. Функции распределения Р (Д |) при Кн = 25; 100; 500 и Р = 0,1; 1; 100

На рис. 3 приведены графики функции распределения Р (Дс| > 1) для диапазона, соответствующего превышению абсолютной величины погрешности |дс| > 1 при Кн = 25;100;500 и Р = 0,1; 0,25; 0,5; 1; 10 .

2016,№2

Р

Р

Р

1

0.98 0.96 0.94 0.92 0.9 0.88 0.86

¡3=10 3=1

3=0,5

¡=0,25

3=0,1

К н =25

0.99

0.98

0.97

к н =100 ! 3=0,1

1

1.5 2

ЛС

0.95

1.5

1

0.998 0.996

Р=0,5 0.994

0.992 0.99 0.988

¡=10

3=1

3=0,5

¡=0,25

К н =500 3=0,1

ДС

1

1.5

ДС

Рис. 3. Функции распределения Р(|ДС| > 1) для |АС| > 1 при Кн = 25; 100; 500 и ¡ = 0,1;0,25; 0,5; 1; 10

Вероятность Р(|дс| < 1) непревышения по абсолютной величине погрешности м < 1 может быть определена по одному из выражений табл. 4 при |дс| = 1:

р

3 Кн 2 + 1,5рКН + 1,5 Кн + 3

На рис. 4 приведены графики зависимости Р(|дс| < 1) от Кн для различных значений коэффициента 3.

Р

1

0.98 0.96 0.94 0.92 0.9 0.88 0.86 0.84 0.82

0.8

1

0.995 0.99 0.985 0.98 0.975 0.97 0.965 0.96 0.955

Р

10

10 К,

0.95 10

1 у

\|^^^ 1 1 1

\ 'X 1 1

/ \ 1 \ / V Х/1 1 1 1

/ 1 /\ \ 1 / \ \ \/ \ 3=10 1

/ \ / 1 \ 3=1 1 1

/Ж 1 \ / \ 1 N 3=0,5

/ 1 / 1 \ / 1 \ 3=0,25

/ 1 / 1 / 1 1 1 1

1 1 1 3=0,1 1

3

10 К

Рис. 4. Зависимость вероятности Р(|Ас| < 1) от коэффициента Кн для различных значений коэффициента 3

1

2

2

Возможны следующие частные случаи фиксации начала и конца измеряемого временного интервала.

Частный случай 1

Фиксация начала и конца измеряемого временного интервала осуществляются МК при выполнении им команд длительностью 1 цикл.

При этом Ы2н = 0, Ы2к = 0, Кн Кк = рКИ ^ ~ .

Частный случай 2

Фиксация начала измеряемого временного интервала МК при выполнении им команд длительностью 1 машинный цикл, а конца выполняемыми за 1 или 2 машинных цикла.

При этом Ы2н = 0, Ы2к ф 0, Кн Кк = рКИ .

Частный случай 3

Фиксация начала измеряемого временного интервала МК при выполнении им команд длительностью 1 или 2 машинных цикла, а конца выполняемыми за 1 машинный цикл.

При этом N2Н ф 0, N2к = 0, (Кн + 2)(Кк +2) = Кк (Кн + 2) .

Частные случаи выражения для функции распределения Р( ас) погрешности дискретности а с сведены в табл. 5.

Таблица 5

Функции распределения Р(ас) погрешности дискретности для частных случаев

Частный случай

1 2 3

Щн , Щк = О, K, Kк Щн = О, Щк ФО, Kн N2к ФО, Щн = О, K

(-2, -1) О О,5 (2 + Ac)2 К к + 2 О

(-1, О) О,5(1 + Aс ) О,5 KK (1 + Ac)2 +Aс +1,5 О,5(K +1) (1 + Ac)2

KK + 2 Kn + 2

(О, 1) 1 - О,5(1 -Aс ) , О,5(Гк +1)(1 -Ac)2 -О,5 K н (1-Ac)2 +AC + K + О,5

K + 2 K + 2

(1, 2) 1 1 J О,5(2 - Ac)2 K + 2

Р

Функция распределения Р(ас) для частных случаев определена с учетом формулы (4) по формулам табл. 3 раскрытием неопределенностей получаемых выражений.

Функции распределения Р(|ас|) для указанных частных случаев приведены в табл. 6. Выражения для них получены по формулам табл. 4.

Таблица 6

Функции распределения Р(| а с |) погрешности дискретности для частных случаев

Ac Частный случай

1 2 3

(О, 1) 1-(1-Kl )2 Ad + KK + О,5-( K к + О,5)(1 - A с |)2 Aс + KB + О,5-(*н + О,5)(1 - Aс )2

K к + 2 K + 2

(1, 2) 1 K + 2 -О,5 (2 - \AC )2 KB + 2-О,5 (2- Aс |)2

K + 2 K + 2

2016, № 2

21

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

Выводы

1. Фиксация начала и конца измеряемого МК временного интервала может осуществляться за 1 или 2 его машинных цикла.

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

2. Функции распределения случайной составляющей погрешности определяются в общем случае выражениями табл. 3, 4, а для частных случаев выражениями табл. 5, 6.

3. Наиболее целесообразно для фиксации начала и конца измеряемого временного интервала использование прерывания МК с выполнением в процессе его ожидания цепочки команд, выполняемых за 1 машинный цикл с включением одной команды, выполняемой за 2 машинных цикла. При этом вероятностные значения случайной составляющей погрешности могут быть определены по представленным формулам и данным рисунков.

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

1. Беркаев, Д. Е. Измеритель временных интервалов / Д. Е. Беркаев, Е. В. Быков, В. Р. Ко-зак, С. В. Тарарышкин. - Новосибирск : ИЯФ СО РАН, 2011. - С. 17.

2. Хоровиц, П. Искусство схемотехники : в 3 т. : пер. с англ. / П. Хоровиц, У. Хилл. -4-е изд. перераб. и доп. - М. : Мир, 1993. - Т. 3. - 367 с.

3. Шонфелдер, Г. Измерительные устройства на базе микропроцессора ATmega : пер. с нем. / Герт Шонфелденр, Корнелиус Шнайдер. - СПб. : БХВ-Петербург, 2012. - 288 с.

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

5. Катцен, С. PIC-микроконтроллеры : пер. с англ. / С. Катцен. - М. : Додэка ; ДМК Пресс, 2014. - 652 с.

6. Бич, М. Микроконтроллеры семейства ХС166. : пер. с англ. / М. Бич, Д. Гринхилд. - М. : ДМК Пресс, Додэка XXI, 2016. - 200 с.

7. Гладштейн, М. А. Микроконтроллеры смешанного сигнала C8051Fxxx фирмы Silicon Laboratories и их применение / М. А. Гладштейн. - М. : Додэка XXI, 2008. - 336 с.

8. Алешечкин, А. М. Методы измерения частотно-временных параметров сигналов / А. М. Алешечкин, В. И. Кокорин. - Красноярск : Изд-во КГТУ, 2001. - 96 с.

9. Волегов, А. С. Электронные средства измерений электрических величин / А. С. Воле-гов, Д. С. Незнахин, Е. А. Степанова ; М-во образования и науки РФ, Урал. Федер. ун-т. -Екатеринбург : Изд-во Урал. ун-та, 2014. - 104 с.

10. Вентцель, Е. С. Теория вероятностей : учеб. для вузов. / Е. С. Вентцель. - 6-е изд. стер. -М. : Высш. шк., 1999. - 576 с.

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

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

Научно-производственное объединение «Поиск» (Россия, Ленинградская область, Мурино, ул. Лесная, 3) E-mail: Trovadji@ya.ru

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

доктор технических наук,

заместитель генерального директора по НИОКР, Научно-производственное объединение «Поиск» (Россия, Ленинградская область, Мурино, ул. Лесная, 3) E-mail: lsh43@mail.ru

Trofimov Vadim Yur'evich

candidate of technical sciences, head of department 2,

Scientific and Production Association «Poisk»

Shakhmeyster Leonid Efimovich

doctor of technical sciences, deputy director general

for research and development,

Scientific and Production Association «Poisk»

УДК 681.518.3 Трофимов, В. Ю.

Использование микроконтроллеров при преобразовании временного интервала в цифровой код / В. Ю. Трофимов, Л. Е. Шахмейстер // Измерение. Мониторинг. Управление. Контроль. -2016. - № 3 (17). - С. 13-22.