РадиоКот :: Функциональный генератор / частотомер на MAX038
Например TDA7294

РадиоКот >Схемы >Цифровые устройства >Измерительная техника >

Теги статьи: Добавить тег

Функциональный генератор / частотомер на MAX038

Автор: Pushok62
Опубликовано 29.10.2015
Создано при помощи КотоРед.

Функциональный генератор / частотомер на Maxim MAX038 и Atmel ATmega16

(на основе проекта «PIC-GEN Frequency Generator / Counter» by John Becker, EPE Online, July 2000 – www.epemag.com – 518)

 

Универсальный инструмент для мастерской

Исходный проект «PIC-GEN» [1] представляет весьма гибкий и недорогой рабочий инструмент, полученный путём комбинации широких возможностей микросхемы генератора импульсов MAX038 и микроконтроллера (МК) PIC16F877. В рассматриваемом ниже варианте (назовём его, к примеру, «ФГ/ЧМ») рассматривается адаптация этого проекта под МК ATmega16 [6] без ухудшения или с улучшением характеристик. Описание подготовлено на основе перевода оригинальной статьи, с внесением изменений, касающихся особенностей данной реализации, при этом нумерация элементов схемы для удобства сравнения оставлена прежней.

Микросхема MAX038 [7] представляет собой высокочастотный прецизионный функциональный генератор, формирующий на выходе треугольные, синусоидальные и прямоугольные импульсы в полосе частот от 0,1 Гц и примерно до 10 МГц, разделённом в рассматриваемой конструкции на 8 перекрывающихся частотных диапазонов. Выбор диапазона и формы сигнала осуществляется с помощью МК при нажатии кнопок управления. Частота плавно регулируется в пределах выбранного диапазона с помощью потенциометра, выведенного на переднюю панель.

Алфавитно-цифровой ЖК модуль отображает информацию о частоте, диапазоне и включении выходного делителя с коэффициентом ослабления 10.

Генератор имеет 4 выхода:

непосредственный выход с амплитудой сигнала 1V;

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

импульсный выход с логическими уровнями от 0V до 5V;

импульсный выход с фиксированной частотой 3,2768 МГц и логическими уровнями от 0V до 5V.

МК в сочетании с функциями выбора диапазона частоты и формы сигнала генератора используется также как частотомер, коммутируемый переключателем для контроля частоты сигнала, генерируемого MAX038, или сигнала от внешних источников. Предусмотрены два внешних входа: один – для импульсных сигналов с логическими уровнями от 0V до 5V, другой – универсальный для сигналов переменного тока, который благодаря использованию дополнительного усилителя-формирователя имеет чувствительность порядка 0,2V.

Функциональный генератор MAX038

Микросхема MAX038 обеспечивает генерацию сигналов с верхней частотой не менее 20 МГц, а в некоторых случаях и до 40 МГц. Верхний предел частоты микросхемы зависит не только от точности управления током через её выводы, используемые для установки частоты, но также от связанных с ними ёмкостей, в том числе, образуемых дорожками печатной платы. В описываемой конструкции удалось получить максимальную выходную частоту около 10 МГц.

В составе устройства микросхема MAX038 работает под управлением МК с 4 портами ввода-вывода, обеспечивающим автоматизированное переключение конденсаторов частотных диапазонов, выбор формы сигнала, коэффициента ослабления выходного делителя, а также выполняющим функции частотомера и вывода на ЖК-дисплей.

На принципиальной схеме видно, что половина выводов микросхемы MAX038, обозначенной как IC2, заземлены, и можно сделать правильный вывод о том, что используются не все её возможности. В данной разработке используются только те управляющие выводы, которые задают частоту и форму сигнала. Выбор одного из восьми частотных диапазонов осуществляется в соответствии со значением ёмкости, подключенной к выводу «С OSC». Плавная регулировка частоты осуществляется изменением тока, проходящего через потенциометр VR1, подключённый к выводу I IN. Резистор R2 ограничивает максимальный протекающий ток, в то время как резистор R1 устанавливает минимальный ток.

Выбор частоты

Для установки частотных диапазонов используются восемь конденсаторов C11..C18. Общая точка соединения этих конденсаторов подключена к выводу микросхемы IC2 «С OSC» (5). Отдельные выводы конденсаторов С12..C18 подключены к порту PA микроконтроллера IC5. Конденсатор С11 постоянно подключен к земляной шине.

Изначально указанные выше семь выводов МК настраиваются как входы. В этом состоянии «Z» они эффективно держат разрыв цепи, имея очень высокий импеданс. В результате MAX038 игнорирует эти конденсаторы.

Чтобы включить в цепь один из семи управляемых портом конденсаторов, соответствующий вывод МК переводится в режим выхода с состоянием логического 0 (0V). С увеличением значения выбранной ёмкости выходная частота IC2 понижается.

Конденсатор С11 является управляющим компонентом для самого высокочастотного диапазона. Нужно иметь в виду, что его номинальная ёмкость 10пФ для микросхемы MAX038 будет восприниматься большей из-за (непредсказуемой) ёмкости цепи вблизи вывода «C OSC». Конденсатор С11 может быть опущен, если вы хотите попробовать увеличить максимальную достижимую частоту.

Верхняя граница частоты зависит не только от расположения конденсаторов C12..C18 на плате (чем ближе они размещены к выводам МК, тем лучше), но и от их размеров (лучше, если они меньше). На максимальную частоту влияют все указанные конденсаторы, даже если они отключены программно, что можно объяснить влиянием внутренних входных ёмкостей входов МК. Попытка подключения конденсаторов через дополнительные электронные ключи (проверялись полевые транзисторы BSS138 и аналоговые коммутаторы ADG702) показала, что входная ёмкость выводов МК оказывает всё же меньшее влияние.

Нажатие на кнопочные переключатели S1 и S2 заставляет МК сдвигать частотный диапазон соответственно вниз или вверх в 8-шаговом цикле.

Номинальные значения емкостей конденсаторов были выбраны для обеспечения 10-кратной разницы частот между соседними диапазонами и с учётом производственных допусков, которые могут быть особенно велики для электролитических конденсаторов.

Потенциометр VR1 обеспечивает регулировку с перекрытием по частоте от 1 до 50. Например, если минимальный ток через VR1 и R2 даёт частоту 1 кГц, максимальный ток приведёт к генерации 50 кГц. Ширина диапазона может быть сокращена путём увеличения значения R1, хотя это поднимет нижнюю частоту.

Выбор формы и уровня сигнала

Устройство обеспечивает выбор одной из трёх форм сигнала: синусоидальный, треугольный и прямоугольный. Выбор осуществляется в соответствии с двоичным кодом, подаваемым на входы A1 и A0 микросхемы MAX038. Код формируется МК через соответствующие выводы PA0, PB1 следующим образом:

A1 A0 Форма

0 0 Прямоугольный

0 1 Треугольный

1 x Синусоидальный

Нажатие на кнопку S4 вызывает циклический перебор МК трёх указанных кодов выбора формы сигнала.

Сигнал выбранной формы поступает на вывод «OUT» IC2 и имеет фиксированную амплитуду ±1V симметрично относительно 0V. Выход имеет очень низкий импеданс (обычно 0,1Ω) и может быть снят непосредственно с разъёма SK5.

Тот же самый сигнал усиливается операционным усилителем IC3a в неинвертированном включении. Коэффициент усиления устанавливается равным 2, в результате размах сигнала на выходе достигает ±2V.

Далее сигнал через делитель R17, R18 с коэффициентом ослабления 10, выключаемый программно путём закорачивания резистора R17 аналоговым коммутатором IC9 типа ADG702 [10], поступает на повторитель IC3b. Аналоговый коммутатор управляется логическими уровнями 0 и 5V, поступающими на его управляющий вход «IN». При низком уровне на управляющем входе «IN» вывод «D» соединяется с выходом «S», закорачивая тем самым резистор R17 и отключая делитель, при высоком – выводы «D» и «S» переводятся в высокоимпедансное состояние (размыкаются), что приводит к включению делителя, и в результате уровень выходного сигнала на разъёме SK3 уменьшается в 10 раз.

Так как микросхема IC9 рассчитана на работу с аналоговыми сигналами, действующими в пределах от 0 до 5 V, то для работы с сигналом обеих полярностей, поступающим с выхода IC3a, в схему введена цепь смещения питания микросхемы на резисторах R20..R22 и шунтирующем конденсаторе C35. В результате на микросхему подаются питающие напряжения –2,5V и +2,5V, симметричные относительно 0V, и она успешно коммутирует как положительные, так и отрицательные полуволны сигнала. Для управления микросхемой смещены и уровни на входе «IN»: низкому управляющему уровню соответствует –2,5V, высокому уровню – +2,5V, что обеспечивается элементами R23..R25, VT1. Когда на выходе МК PD4 действует высокий логический уровень 5V, ключ на транзисторе VT1 закрыт, на вход «IN» коммутатора через резистор R25 поступает напряжение –2,5V, и коммутатор включается. При низком логическом уровне на выходе МК PD4 транзистор VT1 открывается, подавая на вход «IN» коммутатора напряжение величиной +2,5V через делитель, образованный резисторами R24, R25, и выключая коммутатор.

Нажатие на кнопку S8 вызывает чередование логических уровней на указанном выходе МК, что приводит к включению или отключению делителя. В качестве аналогового коммутатора выходного делителя возможно применение ADG701, ADG801 (с инверсией сигнала управления «IN») или ADG802.

Конденсаторы C3, C34 обеспечивают развязку выхода IC3bпо постоянному току, а потенциометр VR2 даёт возможность плавной регулировки выходной амплитуды на разъёме SK3 от нуля до максимальной.

Применение в качестве IC3a,b высокочастотного (полоса до 300 МГц) операционного усилителя AD8056A [9] позволило обеспечить усиление всего частотного диапазона генератора. Неплохие результаты были получены также со сдвоенным операционным усилителем типаEL2244 (полоса до 120 МГц).

Частотомер

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

Роль такого счётчика выполняет 12-разрядная микросхема IC6 типа 74HC4040. Её выводы соединяются с выводами МК PB0, PD7, PC0..PC7.На принципиальной схеме видно, что порядок используемых выводов МК не совпадает с порядком выводов счётчика. Это сделано намеренно, чтобы упростить разводку печатной платы, и учитывается в программном обеспечении для правильной интерпретации входных двоичных значений.

По сравнению с оригинальной схемой три последних разряда Q11, Q10, Q9 счётчика IC6 не используются. В качестве последнего разряда применяется Q8, который изменяет своё состояние с частотой в 512 раз ниже входной. Сигнал с него поступает на вывод МК PB0 / T0, являющийся одновременно входом встроенного 8-разрядного счётчика/таймера 0. Значение счётчика/таймера 0 увеличивается каждый раз при изменении состояния указанного вывода с высокого уровня на низкий. Когда счётчик/таймер 0 переполняется, МК регистрирует это, вызывая соответствующую подпрограмму обработки прерывания, в свою очередь увеличивающую значение внутреннего программного счетчика. Таким образом, счётчик частоты составлен из 3-х: внешнего 9-разрядного счётчика IC6, 8-разрядного счётчика/таймера 0 и внутреннего программного счётчика.

Перед очередным циклом измерения внутренний программный счётчик, счётчик/таймер 0 и внешний счётчик IC6 обнуляются (последний - через вывод МК PC2).

С регулярно контролируемой периодичностью 1 или 10 секунд, выбираемой кнопкой S3 (время выборки), МК считывает полную 9-разрядную последовательность выходов IC6 и величину счётчика/таймера 0. Значение частоты рассчитывается на основе этих значений и состояния внутреннего программного счетчика. Для хранения всего полученного результата с учётом максимального интервала выборки 10 секунд используется переменная размером 4 байта. Верхний предел измеряемой частоты с использованием описанной схемы счёта определяется лишь частотными возможностями микросхем IC6, IC7. За счёт сокращения количества опрашиваемых выходов микросхемы IC6 удалось освободить два вывода МК (PB4, PD4), которые используются для управления выходным делителем. Вероятно, количество используемых выходов IC6 можно сократить ещё (на 1-3 разряда) без ухудшения характеристик прибора, но такая возможность не проверялась.

В оригинальной разработке сигнал изменения внутреннего программного счётчика, поступающий с выхода счётчика IC6, регистрировался исключительно программно. Испытание подобного метода на МК Atmega16, в том числе с использованием внешнего прерывания INT0, показало невысокие результаты. В частности, занижение показаний начинало проявляться при частоте на входе МК более 5 кГц. Пределом такого способа, видимо, можно считать входную частоту МК порядка 20 кГц, после которой погрешность, связанная с пропуском импульсов, увеличивается ещё больше (при частотах выше 50 кГц подсчёт импульсов вообще прекращается). Это согласуется с утверждением автора оригинальной разработки об успешном измерении частот порядка 40 МГц (при использовании всех 12 разрядов IC6 на входе МК в этом случае будет действовать сигнал с частотой порядка 10 кГц).

В процессе экспериментов был также выявлен недостаток, связанный с погрешностью программного формированием строба счёта, подаваемого на вход 5 шлюза IC7a. Во время отладки длительность выборки (1 или 10 секунд) формировалась с помощью таймера/счётчика 1 с использованием прерывания по переполнению счётчика. Из-за нестабильности моментов программного открытия и закрытия шлюза IC7a, связанного с ограниченностью тактовой частоты МК, при увеличении частоты входного сигнала возникал дребезг значения счётчика IC6.

Проблему удалось решить, применив для формирования сигнала счёта аппаратный выход OC1A (PD5) таймера/счётчика 1. Для реализации такой возможности таймер/счётчик 1, работающий с предделителем 1024 (длительность такта входного сигнала 0,3125 мкс), переводится в режим «ClearTimeronCompare (CTC)». Суть этого режима заключается в том, что процесс увеличения значения счётчика TCNT1 продолжается до совпадения cпредустановленным значением выходного регистра сравнения OCR1A, определяющего длительность импульса. После этого значение счётчика TCNT1 автоматически обнуляется, а выход МК OC1A переводится в указанное при запуске таймера/счётчика 1 состояние с автоматическим вызовом подпрограммы обработки прерывания по совпадению.

Перед началом измерения частоты таймером/счётчиком 1 формируется короткий подготовительный импульс, в течение которого происходит инициализация счётчиков частоты, а по окончании – автоматический перевод выхода OC1A в состояние логической единицы, разрешающей прохождение импульсов через шлюз IC7a на вход счётчика IC6. При этом подпрограмма обработки прерывания по совпадению перезапускает таймер/счётчик 1 с новым значением регистра OCR1A, определяющим длительность интервала счёта (для 1 секунды – значение 3199, для 10 секунд – 31999). Начинается собственно процесс измерения частоты, по завершении которого на выходе OC1A автоматически устанавливается состояние логического нуля, запирающее шлюз IC7a. Одновременно вызывается подпрограмма обработки прерывания по совпадению таймера/счётчика 1, которая останавливает его до очередного принудительного перезапуска, и производит вычисление полного значения счётчика частоты. После отображения полученного значения на индикаторе весь цикл повторяется.

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

Для точного формирования интервалов измерения 1 или 10 секунд необходимо, чтобы значение частоты кварцевого резонатора X1, выраженное в Гц, было кратно 1024. Верхний предел этого значения определяется максимальной величиной 16-разрядного таймера/счётчика 1, способной обеспечить формирование интервала измерения 10 секунд, и составляет (65536 / 10) * 1024 = 6 710 886,4 Гц (где 1024 – коэффициент предделителя счётчика/таймера 1). Например, подошли бы кварцевые резонаторы с частотами 6,144 МГц, 6,4 МГц, 6,5536 МГц. Так как при описанном выше методе точность измерения с ростом тактовой частоты не увеличивается, последняя оставлена равной 3,2768 МГц.

Вход измерения частоты

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

Внешние цифровые сигналы с логическими уровнями от 0V до 5Vподаются на частотомер через разъём SK1 (логический, или цифровой вход) и далее – на переключатели S5, S6. Для исключения случайного попадания на вход (4) триггера Шмитта IC7a сигналов выше или ниже пределов 0V/5V в схему введена ограничивающая цепь, состоящая из резистора R30 с параллельно включённым конденсатором C36 и защитных диодов VD2, VD3. Эти элементы вынесены непосредственно к входному разъёму SK1.

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

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

Вследствие того, что основной выходной сигнал от MAX038 является в общем случае аналоговым, имеющим размах амплитуды ±1V, для подсчёта его частоты он предварительно преобразуется в цифровую форму с помощью узла на триггере Шмитта IC7c. Потенциал одного его входов (13) смещён на половину напряжения питания (2,5V) через делитель напряжения, образованный резисторами R8 и R9; на другой вход (12) подаётся напряжение +5V. Сигнал от генератора соединяется со смещённым входом триггера через конденсаторы C10, C30, обеспечивающие развязку по постоянному току. Триггер способен реагировать на сигнал с амплитудой от 2 до 5 V.

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

Логический выход

Сигнал, снимаемый с переключателя S5 и поступающий на вход вентиля IC7a, подаётся также на буферный элемент IC7d, а с его выхода – на разъём SK7. Это позволяет использовать сигнал, генерируемый MAX038, в виде 5V меандра независимо от формы генерируемого сигнала, а также преобразовывать внешний аналоговый сигнал в импульсный с размахом 5V (ширина цифровых импульсов будет зависеть от характера сигнала).

Собственный прямоугольный сигнал на выводе SYNC микросхемы MAX038 не используется ввиду его нестабильности.

Выход 3,2768 МГц

МК работает на частоте 3,2768 МГц, определяемой кварцевым резонатором X1. Хотя эта частота может быть снята непосредственно с вывода МК OSC2, он выведен на внешний разъём SK4 через буфер IC7b. На выходе получается меандр 5V.

Дисплейный модуль

Жидкокристаллический дисплей (LCD) используется для отображения частоты и интервала выборки частотомера, а также выбранной формы сигнала и номера частотного диапазона в виде цифры от 0 до 7, где 0 соответствует нижнему диапазону частот. Отображаемая информация имеет форму:

Синус 25138 Гц

Диап5 ∆T=1с Дел10

где:

строка 1 слева: выбранная форма сигнала («Синус», «Треуг» или «Прямо»);

строка 1 посередине/справа: значение частоты в герцах;

строка 2 слева: выбранный частотный диапазон (8 вариантов);

строка 2 посередине: время (интервал) счёта (2 варианта);

строка 2 справа: коэффициент ослабления выходного делителя (2 варианта).

ЖК-дисплей обозначен на схеме как X2. Он управляется по стандартной 4-битной схеме через порты МК PB и PD. Контрастность LCD экрана регулируется с помощью VR3. Применён русифицированный индикатор MT-16S2H-2YLG [11] или MT-16S2D-3YLG с зелёной подсветкой (второй – несколько меньше по высоте, и его контакты расположены сбоку). Коды для формирования изображения символа «∆» загружаются в знакогенератор индикатора программно. Для отображения числа «10» используется встроенный в знакогенератор одноместный символ, что позволяет уместить во второй строке индикатора всю необходимую информацию.

При нажатии кнопки S3 и после включения питания на экране появляется надпись «Счёт…» до первого подсчёта частоты на выбранном интервале счёта.

Блок питания

Устройство запитывается от однополярного источника постоянного напряжения 8V. В оригинальной разработке предполагалась возможность питания устройства от батареи. Однако, в связи с тем, что потребляемый им ток оказался относительно большим (порядка 250 mA), было решено ограничиться вариантом питания устройства только через понижающий трансформатор с выпрямителем (DB102) и сглаживающим конденсатором (1000µ x 16V). В случае необходимости питания от аккумулятора целесообразно использовать отдельный узел DC-DC преобразователя с выходным напряжением +8V по схеме повышения («Step-up converter»), например, на микросхеме MC34063A.

Микросхемы стабилизаторов IC4 и IC8 использованы в корпусе TO220 (для них не помешают и небольшие радиаторы).

Вместо микросхемы преобразователя напряжения MAX660 (IC1), обладающей по паспортным данным максимальным входным и выходным напряжением всего 6V (в оригинале она использовалась при напряжении 9V) применена микросхема MC34063A [8] (можно использовать также MC33063A или NJM2406AD) по инвертирующей схеме включения. Выходное напряжение данного узла определяется по формуле:

В качестве L1 может быть использован готовый дроссель типа RLB0912-101KL или RLB0914-101KL, имеющий малое сопротивление постоянному току. В помехоподавляющем фильтре плеча отрицательного питания микросхемы IC2 вместо исключённого из схемы резистора R3 с номинальным сопротивлением 10 Ом можно использовать дроссель L2 типа EC24-330K.

Подключение к программатору

МК программируется прямо на печатной плате. Для этого на разъём TB2, предназначенный для подключения программатора (использовался программатор «Master Kit NM9211» [5]), выведено 6 сигналов по стандарту IDC6 (Atmel): Выход данных MISO (1), Плюс питания VCC (2), Тактовый сигнал SCK (3), Вход данных MOSI (4), Линия сброса RES (5), Минус питания GND (6).

Разное

Резисторы R10..R14 являются заземляющими для создания надлежащего смещения на соответствующих выводах МК, когда кнопки управления не нажаты.

В качестве IC6 и IC7 должны быть использованы только НС версии микросхем (74HC4040 и 74HC132). Обычно они способны выполнять обработку сигналов свыше 40 МГц.

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

Номиналы сопротивлений резисторов VR3 и R29 должны быть одинаковыми и могут находиться в пределах 10..50 кОм.

Параллельно выводам разъёма питания снизу платы припаян силовой (SMD) диод, защищающий установленные радиоэлементы от случайной переполюсовки при подключении внешнего источника напряжения.

Ссылки

Оригинальная разработка: https://www.epemag.com/lib/free_projects/picmicro/0700%20-%20PIC-Gen%20Frequency%20Generator.pdf

С.Бирюков. Цифровой частотомер. «Радио», № 10, 1981, с.44: ftp://ftp.radio.ru/pub/arhiv/1981/10.djvu

Усилитель-формирователь для частотомера: https://www.s-led.ru/998-usilitel-formirova...astotomera.html

Программа AVR Studio 4.19 (build 730) https://www.atmel.com/ru/ru/tools/studioarchive.aspx

NM9211 - Программатор микроконтроллеров фирмы ATMEL https://masterkit.ru/shop/removed/28032

Описание ATmega16: https://www.atmel.com/Images/doc2466.pdf

Описание MAX038: https://datasheets.maximintegrated.com/en/ds/MAX038.pdf

Описание MC3x063A: https://www.ti.com/lit/ds/symlink/mc34063a.pdf

Описание AD8056A: https://www.analog.com/media/en/technical-documentation/data-sheets/AD8055_8056.pdf

Описание ADG702: https://www.analog.com/media/en/technical-documentation/data-sheets/ADG701_702.pdf

Описание ЖКИ: https://www.melt.com.ru/docs/MT-16S2H.pdf

Преобразование 32-разрядного двоичного числа в буфер BCD: https://we.easyelectronics.ru/Soft/preobrazuem-v-stroku-chast-1-celye-chisla.html

 


Файлы:
Доработанная основная печатная плата (добавлена перемычка)
Печатные платы в формате Sprint Layout 5
Принципиальная схема
Принципиальная схема входного блока
Текст программы на C++
Вид на монтаж
Внешний вид


Все вопросы в Форум.




Как вам эта статья?

Заработало ли это устройство у вас?

15 7 21