Современная электроника №2/2022

ИНЖЕНЕРНЫЕ РЕШЕНИЯ 32 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 2 2022 ное количеству импульсов, подсчитан- ному Т4, далее кнопка отжимается, и показания частотомера записывают- ся. По четвёртому нажатию выводит- ся содержимое PCA-таймера, которое также записывается. После завершения вывода кнопка отжимается, а програм- ма переходит на начало для следующе- го измерения. Зная частоту импульсов, поступающую на вход каждого из тай- меров, и содержимое таймеров, мож- но определить время между нажатием и отжатием кнопки и сравнить это вре- мя с показанием частотомера. Здесь следует заметить, что способ вывода количества импульсов, под- считанного каждым из таймеров, в виде количества импульсов, выводи- мых из МК на счётный вход частото- мера, который эти импульсы считает и выведет на свой цифровой индика- тор, не требует никаких аппаратных затрат, а программные затраты мини- мальны, поскольку программа вывода числа импульсов с какого-либо порта МК примитивна. Можно, конечно, при- менить какой-либо цифровой дисплей для индикации количества импульсов, сопряжённый с МК, скажем, по интер- фейсу SPI (см., например, [3]), либо использовать преобразователь интер- фейсов SPI-USB [4], вывести необхо- димую информацию в компьютер по интерфейсу USB и отразить на экране монитора. Однако эти способы требу- ют как аппаратных, так и не таких уж простых программных затрат. Теперь по функциональной схеме. Она состоит из двух частей. В первой (верхняя часть рис. 2) представлены три таймера: T3, T4 и PCA-таймер – а также используется CLU3. На таймер Т3 подаётся систем- ная тактовая частота 72 МГц, делён- ная на 12 (SYSCLK/12), что составляет, как нетрудно подсчитать, 6 МГц. Коэф- фициент деления Т3 выбран равным 1:60 000, в связи с чем Т3 переполня- ется с частотой 100 Гц. Этой частотой тактируется подключённый к Т3 таймер T4 с коэффициентом деления, равным 1:5. Т4 переполняется с частотой уже 20 Гц (100 Гц/5). Как было упомянуто выше, короткие импульсы с выхода Т4 непригодны для их восприятия входом ECI PCA-таймера. Для того чтобы вход PCA-таймера смог воспринять импуль- сы с выхода Т4, использована конструк- ция, состоящая из CLU3 и D-триггера. Как известно, D-триггер легко превра- щается в T-триггер, если его инверсный выход ( ) соединить со входом данных (D). Но поскольку выход D-триггера недоступен (доступен только прямой выход Q), с помощью CLU3 можно инвертировать выход Q и подать его на вход данных D (т.е. вход A CLU3). Если теперь тактировать получивший- ся Т-триггер от Т4 (частотой 20 Гц), то сигнал с выхода Т-триггера будет пред- ставлять собой прямоугольный меандр, но с частотой в 2 раза меньше, т.е. 10 Гц. Такой сигнал уже легко воспринима- ется PCA-таймером по входу ECI. Сое- динив перемычкой выход CLU3 (порт P2.5) со входом ECI PCA-таймера (порт P2.3), получим окончательную кон- струкцию, когда все три таймера будут аппаратно соединены и будут работать без участия процессора МК. Здесь необходимо добавить один нюанс, касающийся некоторой не- определённости, связанной с расчётом количества импульсов, поступающих с T4 на вход CLU3, и их связи с количе- ством импульсов, поступающих на вход ECI PCA-таймера. Пусть на вход CLU3 с Т4 поступило 20 импульсов, и на этом счёт закон- чен, т.е. все три таймера остановлены. В этом случае с выхода D-триггера (точ- нее, уже Т-триггера) на вход ECI PCA- таймера поступит ровно 10 импульсов, которые подсчитаются PCA-таймером, т.е. его содержимое будет равно 10. Умножив его на 2, получим 20, т.е. то же количество импульсов, которое при- шло на вход CLU3. Но что произойдёт, если на вход CLU3 придёт 21 импульс, после чего счёт будет остановлен? В этом случае содержимое PCA-таймера будет также равно 10, и, умножив его на 2, опять получим 20, хотя пришёл 21 импульс. Как узнать, сколько при- шло импульсов: 20 или 21? Для этого рассмотрим состояния выхода CLU3. Исходное состояние выхода D-триггера низкое (лог. 0). После поступления первого импульса состояние выхода CLU3 переключится с низкого (лог. 0) на высокое (лог. 1). Поскольку вход ECI PCA-таймера реагирует только на срез импульса, т.е. на его переход из высокого состояния (лог. 1) в низкое (лог. 0), первый импульс (и вообще все нечётные импульсы, включая 21-й) PCA-таймер не воспримет. При посту- плении второго импульса на вход CLU3 состояние его выхода переключится с высокого (лог. 1) в низкое (лог. 0), и PCA-таймер этот срез подсчитает, т.е. его содержимое будет равно 1. Так вот, зная содержимое PCA-таймера и состо- яние выхода CLU3, можно точно под- считать, сколько реально импульсов пришло с таймера Т4. Для этого вве- Рис. 2. Функциональная схема измерения временны ′ х интервалов T3 T4 PCA Timer CLU3 A_IN OUT (~A) A_IN B_IN A_IN B_IN OUT OUT Внешний генератор 72 МГц (SYS_CLK) P0.3 Вывод содержимого T3, T4 и PCA-Timer'а P1.2 P1.1 P1.0 P1.6 МК EFM8LB12 Длительность Б Сумма А Частотомер Ч3-57 Б А ~(A&B) ~(A&B) CLU3ALTCLK P2.5 PCA0_ECI (T4_Overflow) EXTCLK 72 МГц SYSCLK/12 (6 МГц) 100 Гц N T 20 Гц 10 Гц 1:60000 1:2 CLU2 C D T CLU1 Кнопка & & Q Q Q Q 1:5 P2.3

RkJQdWJsaXNoZXIy MTQ4NjUy