Автор работы: Пользователь скрыл имя, 05 Июля 2013 в 10:16, реферат
В бытовой электронике для индикации уровня сигнала используют всевозможные индикаторы уровня. Десять лет назад они, в основном, были стрелочными, но на современном этапе развития микроэлектроники используют светодиодные или газоразрядные индикаторы совместно со специализированными микросхемами. Индикатор, предлагаемый автором, — светодиодный, 16-разрядный.
Индикатор уровня звукового сигнала.
В бытовой электронике для индикации уровня сигнала используют всевозможные индикаторы уровня. Десять лет назад они, в основном, были стрелочными, но на современном этапе развития микроэлектроники используют светодиодные или газоразрядные индикаторы совместно со специализированными микросхемами. Индикатор, предлагаемый автором, — светодиодный, 16-разрядный. Он выполнен на доступных элементах как автономное, функционально завершенное устройство и может использоваться в звуковых усилителях, эквалайзерах и магнитофонах для индикации заряда аккумулятора и т.п.
В основе схемы (рис. 6.1) заложен принцип преобразования аналогового сигнала в цифровой. Для этого используется дешевый микроконтроллер ATtinyl5 от компании Atmel [3], имеющий в своем составе 10- разрядный АЦП. Для микроконтроллерного моделирования этот пример является наглядным пособием по программированию.
Индикатор уровня собран на четырех микросхемах:
• IC1 — микроконтроллер для преобразования входного сигнала в цифровой код;
• IC2 — преобразование цифрового кода в сигналы управления индикатором [6];
• ICЗА — согласование уровня входного звукового сигнала и уровня АЦП;
• IC3B — фильтрация и интегрирование звукового сигнала;
• IC4 — стабилизация питающего напряжения и формирование 5 В для питания схемы управления.
Индикатор уровня имеет 16-разрядную шкалу, использует две линейки по 10 разрядов индикатора (при этом четыре разряда не используются) или три линейки по шесть разрядов индикатора.
Измерительный канал не имеет схемы выборки и хранения [8]. Интегратор и фильтр верхних частот, построены на IC3. Входной усилитель IC3A реализует регулировку коэффициента усиления входного сигнала от одно- до двукратного усиления.
Рис. 6.1. Схема индикатора уровня звукового сигнала
Поскольку питание операционного усилителя — однополярное, необходимо согласовать уровень входного звукового сигнала с уровнем АЦП. Эту функцию выполняет смещение IC3B до определенного напряжения на выходе с помощью делителя R20, R21. Одновременно IC3B интегрирует входной сигнал и фильтрует высокочастотную составляющую звука. Совмещение интегратора и фильтра не очень хорошо отражается на качестве интегрирования звукового сигнала — этот пробел можно заполнить программной оцифровкой и обработкой звукового сигнала. Однако в программе микроконтроллера отсутствует цифровая фильтрация и интеграция звукового сигнала, поскольку это требует мощных математических ресурсов. Для решения задачи индикации уровня это излишне, поэтому микроконтроллер работает в ненагружен- ном режиме.На выходе порта В микроконтроллера формируется шестнадцатеричный код с изменением в сторону роста. Дешифратор IC2 преобразует этот код в напряжение низкого логического нуля на одном из выводов [6]. В результате соответствующий светодиод начинает светиться. Засветка светодиодов происходит в динамическом режиме, что позволяет уменьшить ток потребления от источника питания до минимума.
Программа.
В начале программы настраивается конфигурация порта и АЦП. Алгоритм прост: опрашивается аналоговый вход микроконтроллера, и аналоговый сигнал преобразуется в цифровой код. В момент опроса и преобразования АЦП желательно остановить все процессы в микроконтроллере [9] (окончательно в рассматриваемой программе данная функция реализована в “спящем” режиме). Для этого организован цикл в 26 тактов. Согласно документации на микроконтроллер, для преобразования необходимо максимум 25 тактов [3]. Фактически, эта функция дублирует “спящий” режим процессора.
Как только АЦП закончил преобразование, генерируется прерывание от АЦП, и по вектору прерывания продолжается работа программы. После преобразования и паузы в 25 тактов организован цикл увеличения на единицу временного регистр tmp (R16). Поскольку разрядность АЦП составляет 10 разрядов, результат преобразования максимального аналогового уровня будет иметь 1024 отсчета. Для получения 16 отсчетов (потому что дешифратор и индикатор — 16 разрядные) необходимо согласовать преобразование с помощью коэффициента деления. Для данного случая коэффициент деления 1024/16 = 64. Однако, ввиду отсутствия 17-го разряда, автор выбрал коэффициент деления 63.
Дешифратор не может включить все выводы выходного логического сигнала одновременно, поэтому программа реализует пошаговое увеличение уровня с шагом в 63 отсчета и выводом соответствующего кода на дешифратор. Если значение набранного уровня больше, чем код преобразованного аналогового сигнала, то программа возвращается в начало. Соответственно, зажигаются только те светодиоды, которые имеют меньший уровень или совпадают с отсчетом уровня аналогового сигнала. Для детального визуального различия разрядов светодиодной матрицы организована временная задержка подпрограммой zader.
Сканирование аналогового входа происходит с частотой, равной тактовой частоте микроконтроллера, деленной на 16, чтобы аналого- цифровое преобразование происходило с частотой 50-200 кГц (согласно документации на микроконтроллер [3]). Деление тактовой частоты микроконтроллера реализовано в регистре ADCSR. На случай сбоя по питанию существует подпрограмма SleepReset.
Шестнадцатеричный код программы, который занимает в памяти всего лишь 100 байт, представлен в листинге 6.2.
Любители моделирования спецэффектов могут добавить в программу следующие эффекты:
• при включении питания эффект маяка — движение четырех засветок светодиодов от минимума к максимуму шкалы индикатора и обратно;
• при перегрузке на входе уровня звука — хаотическая засветка светодиодов индикатора;
• при окончании музыкального исполнения — эффект “Падающая капля”, когда уровень звука падает, и верхняя (“максимальная”) засветка медленно движется в направлении “минимума” индикатора.
В обычных светодиодных аудио-индикаторах
создать спецэффекты
Плата
Монтажная схема платы индикатора уровня представлена на рис. 6.2, а схема разводки — на рис. 6.3. Плата изготавливается из двухстороннего текстолита или на макетной плате (рис. 6.4). Размеры платы могут быть приспособлены для установки в бытовую аппаратуру. На плате присутствуют два разъема (при монтаже внутри аппарата можно обойтись без разъемов):
• XI — для подключения нестабилизированного напряжения 7-9 В;
• Х2 — для подключения одного из каналов звукового сигнала.
Другие компоненты платы:
• индикатор 10-разрядный Kingbright DC763HWA;
• 1C 1 — микроконтролдлер ATtiny 15L-1 PI в DIP корпусе;
• IC2 — 74LS154 или советский аналог К155ИДЗ;
• IC3 — любой операционный усилитель с питанием 5 В (автор использовал LM358);
• IC4 — стабилизатор 5 В 78L05.
Ток потребления схемы с К155ИДЗ составляет приблизительно 70 мА, а для варианта с микросхемой 74LS154 — приблизительно 30 мА. Максимальный выходной ток стабилизатора 78L05 — 140 мА. В наличии запас по току, что очень важно для миниатюризации устройства.
Настройка схемы
На схему подается нестабилизированное питание 7 В. Перед настройкой на панельку микроконтроллера в плате ничего не устанавли-
Любители моделирования спецэффектов могут добавить в программу следующие эффекты:
• при включении питания эффект маяка — движение четырех засветок светодиодов от минимума к максимуму шкалы индикатора и обратно;
• при перегрузке на входе уровня звука — хаотическая засветка светодиодов индикатора;
Рис. 6.2. Монтажная схема платы индикатора уровня
При подачи внешнего звукового сигнала на вход платы настраивается максимальный уровень 2,5 В с помощью подстраиваемого резистора R23. Начальный уровень на АЦП микроконтроллера подбирается резистором R21. В случае, если звуковой сигнал имеет большой уровень напряжения, необходимо установить делитель напряжения. Для этого от вывода 3 микросхемы IC3A к “земле” подключается резистор делителя(подбирается экспериментально). Если звуковой сигнал имеет маленький уровень напряжения, то необходимо поэтапно увеличить сопротивление R22 и R24 для изменения коэффициента усиления операционных усилителей. Эту операцию необходимо проводить очень осторожно во избежание насыщения ОУ при усилении сигнала.Как только микроконтроллер установлен на панельку платы, и включено питание, должен засветиться первый светодиод (необходимый начальный уровень) индикаторной линейки. При подаче звукового сигнала индикатор отображает уровень засветкой светодиодов в такт музыкального сопровождения. Поскольку сканирование сигнала происходит с частотой около 50 кГц, то, возможно, понадобится большее интегрирование уровня сигнала, уменьшение эффекта “раздражающего мерцания” в результате резонанса некоторых звуковых гармоник и частоты преобразования АЦП. Для этого к С5 добавляется дополнительно емкость 0,1-100 мкФ. Необходимый результат достигается экспериментально в зависимости от применяемого микроконтроллера (внутренняя настройка тактовой частоты процессора может отличаться).
В заключение автор хотел бы отметить, что себестоимость индикатора уровня составляет около $10, однако возможности для моделирования спецэффектов в бытовой аппаратуре неограниченны, учитывая огромное неиспользуемое пространство памяти микроконтроллера.