Статистика
Время:
Зарегистрированных: 88282
Последним зарегистрирован: corado
Рекорд посещаемости: 12585
Групп пользователей: 4
 Группы:
[Admin] [Cоучастник] [Автор] [Модератор]
 Сейчас на сайте
 Всего: 538
 Гостей: 532
 Анонимных: 1
 Пользователей: 5
 Зарегистрированные:
ALIxxx1975 VoxMSK sapog nick956 ua4fgj

> Радиомикрофоны с применениеи ИС -> «Цифровые эксперименты. Начало»
Freeman404
image
Цифровые эксперименты. Часть 2. Железо.
Цифровые эксперименты.

Начало…

На форуме периодически всплывает весьма интересная тема про цифровые радио микрофоны, однако ввиду сложности и обширности этот вопрос практически не затронут на сайте. А те крохи информации, что мелькали на форуме, очень быстро ныкались в заначки под ореолом секретности и коммерциализации, прям таки сложилось некоторое табу на эту тему… В принципе людей можно понять, т.к. по сложности это целый проект и вот так вот на шару его вряд ли кто выложит… Тем не менее считаю, что вопрос этот очень интересный и для собственного самообразования его просто необходимо рассмотреть. Как уже говорил, тема очень большая, поэтому будем разбираться по частям, в данной статье мы рассмотрим основополагающие вещи, возможно, кто-то пойдёт дальше и доведёт идеи до готовой конструкции (интересно было бы взглянуть и обсудить на нашем сайте). Сразу хочу предупредить, что тут потребуются знания и навыки работы с микроконтроллерами, некоторым это покажется просто неподъёмным, но что поделать, 21 цифровой век, 315 транзисторы пора пересыпать в баночку к МП42... И так приступим…

Цифровой микрофон состоит из следующих функциональных блоков:
image
цифровой радиожучек, цифровой радиомикрофон, цифровой радиомикрофон, цифровой радо жучек
1) Микрофон – обычный, знакомый всем электретный микрофон.
2) ФНЧ – фильтр низкой частоты, его наличие ОБЯЗАТЕЛЬНО, почему – рассмотрим далее.
3) Усилитель – назначение понятно, без этого блока некуда, он может стоять как до ФНЧ, так и быть вообще совмещенным с ним, это зависит от схемотехники.
4) АЦП – аналого-цифровой преобразователь, предназначен для преобразования аналогового значения напряжения в цифровой код.
5) CODER1 – это софтовый алгоритм сжатия звука. Как правило используется один из вариантов ADPCM, этот алгоритм обладает хорошим компромиссом между сжатием /сложностью /скоростью /потреблением тока. Применяется, потому что поток данных с АЦП получается достаточно большой, и передавать его как есть не рационально: падает чувствительность приемника, требуется более широкая полоса и т.д.
6) CODER2 – это алгоритмы кодирования цифрового потока для повышения помехоустойчивости при передаче по радиоканалу, например манчестерский код, NRZ и т.д. Дополнительно тут может осуществляться шифрование сигнала для предотвращения несанкционированного перехвата, однако на серьезные алгоритмы типа DES, AES рассчитывать не стоит, не хватит вычислительной мощности для кодирования в реальном масштабе времени, плюс потребление тока получалось бы запредельным. Здесь можно применить простые алгоритмы шифрования на базе подстановки, сдвигов, XOR и т.д.
7) Передатчик – радиочастотный передатчик, по сути аналоговый передатчик, но заточен под логические уровни и специфику цифры.

*Пунктиром обведены узлы, реализуемые в одном корпусе современного микроконтроллера популярной архитектуры типа PIC, AVR.

Рассмотрим приёмник:
image
цифровой радиожучек, цифровой радиомикрофон, цифровой радиомикрофон, цифровой радо жучек
1) Приемник – аналоговый приемник, так же заточен под цифру. В простых решениях есть большой соблазн сделать его по сверхрегенеративной схеме, т.к. некоторые недостатки СР при этом компенсируются.
2) Компаратор – применяется для преобразования аналогового сигнала с приемника в четкие логические уровни, он может входить уже в состав приемника.
3) CODER2, CODER1 – выполняют обратные преобразования относительно передатчика
4) ЦАП – Цифроаналоговый преобразователь, предназначен для преобразования цифрового кода в аналоговое значение напряжения. Есть большой соблазн сделать его с помощью модулей ШИМ, входящих в состав микроконтроллера, это будет рассмотрено ниже.
5) ФНЧ – отфильтровывает артефакты преобразования ЦАП.
6) УНЧ – усилитель низкой частоты, думаю вещь всем известная и понятная.
7) USB, 8) FLASH card – сервисные вещи, опционально.



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

Шаг квантования определяет динамический диапазон оцифровываемого сигнала, т.е. сколько значений от минимального до максимального изменения сигнала мы можем зафиксировать. В АЦП это выражено разрядностью, например 10 битное АЦП способно зафиксировать 1024 отсчёта (от 0 до 1023), его динамический диапазон составит 20*LOG( 2^10) = 60,2 дБ.
image
цифровой радиожучек, цифровой радиомикрофон, цифровой радиомикрофон, цифровой радо жучек
Дополнительно, очень важным моментом является то, что на входе АЦП обязательно должен присутствовать фильтр низкой частоты (ФНЧ). В идеале частота его среза должна быть равна максимальной частоте оцифровываемого сигнала, а затухание на этой частоте – меньше шага квантования. Однако идеальных фильтров не существует, поэтому приходится частоту среза брать ниже, что в итоге сокращает полезный спектр. Частично улучшить положение помогает применение активных фильтров высокого порядка, но перекрытие все равно необходимо.
Если фильтр не использовать, то возникает стробоскопический эффект. Он заключается в том, что частота считываний входного напряжения взаимодействует с ВЧ составляющей входного сигнала, в результате чего возникает низкочастотный побочный сигнал

ЦАП – Цифроаналоговый преобразователь, выполняет обратное преобразование из цифрового кода в аналоговое значение напряжения. Классический ЦАП построен на так называемой R-2R резисторной матрице. Что это такое, и как она работает, вы можете прочитать в соответствующей литературе. Мы отметим, что ЦАПу так же требуется фильтр для фильтрации переходных процессов, которые возникают в моменты переключения с одной ступеньки напряжения на другую. Требования к этому фильтру несколько проще, чем к фильтру АЦП.
В популярных микроконтроллерах семейства PIC, AVR как такового ЦАПа нет, но есть модули широтно-импульсной модуляции (ШИМ), с помощью которых можно выполнить цифро-аналоговое преобразование, поэтому рассмотрим этот момент подробнее. Модуль ШИМ генерирует прямоугольный сигнал, скважность которого мы можем изменять. Если сигнал на выходе усреднить (проинтегрировать), то получим итоговое значение выходного напряжения при данной скважности. Изменяя скважность, мы изменяем выходное значение напряжения. Более наглядно процесс показан на рисунке:
image
цифровой радиожучек, цифровой радиомикрофон, цифровой радиомикрофон, цифровой радо жучек
Недостатком этого способа цифро-аналогового преобразования является наличие большого числа паразитных составляющих в спектре выходного сигнала. Это, прежде всего, сама несущая ШИМ, частота, с которой происходит изменение скважности ШИМ. Это требует применения ФНЧ высокого порядка, кроме того, несущая частота ШИМ должна быть максимально высокой. В подавляющем большинстве конструкций она составляет 50…200КГц, что не слишком много, и по неизвестной причине совершенно не используется приём, который будет рассмотрен ниже.
Приведённой выше информации достаточно для понимания основных принципов преобразования сигналов, более подробную информацию рекомендую поискать в поисковой системе Google.

А теперь перейдём к практической реализации. Сразу оговорю, что схемы передающей и приёмной стороны сделаны с запасом на будущее для проверки и реализации дальнейших идей и возможностей. Так же на текущий момент не рассматриваются передающие и приемные цифровые радиочастотные части по причине большого объема этой темы. В рамках данной статьи ограничимся рассмотрением практической реализации аудио тракта.

Полная схема передающей части:
image
цифровой радиожучек, цифровой радиомикрофон, цифровой радиомикрофон, цифровой радо жучек
Полная схема приемной части:
image
цифровой радиожучек, цифровой радиомикрофон, цифровой радиомикрофон, цифровой радо жучек
Схема, к рассмотрению практической реализации которой мы приступаем:
image
цифровой радиожучек, цифровой радиомикрофон, цифровой радиомикрофон, цифровой радо жучек
Обратим внимание на то, что в разделенном варианте используется АЦП, находящееся в ATtiny, а PIC выполняет цифро-аналоговое преобразование посредством ШИМ. В объеденном варианте PIC выполняет как аналого-цифровое, так и цифро-аналоговое преобразование. Поскольку характеристики АЦП в PIC и ATtiny сравнимы, то такая временная замена не должна оказывать существенного влияния на качество работы схемы.
Несмотря на то, что после объединения схема по своей сути превратилась в «аналоговую – цифровую - аналоговую» локальную петлю, она позволяет оценить и настроить следующие функциональные узлы:
1) Микрофонный усилитель,
2) Фильтры,
3) АЦП,
4) ЦАП,
5) Поэкспериментировать с различными алгоритмами сжатия звука,
6) Поэкспериментировать с различными алгоритмами кодирования цифрового потока, а так же
7) услышать качество всего звукового тракта. Затем схема может быть разделена и эксперименты продолжены далее.

Рассмотрим схему подробнее. Сигнал с микрофона поступает на фильтр–усилитель. Причём на обоих ОУ ОДНОВРЕМЕННО собран как усилитель, так и фильтр 4-го порядка. На первом ОУ собран фильтр второго порядка с коэффициентом усиления около 80, затем идёт пассивный RC фильтр 1-го порядка выполненный на элементах R8, C7. На втором ОУ реализован фильтр первого порядка плюс не инвертирующий усилитель, который обеспечивает основное усиление. Заметим, что напряжение средней точки (смещение) с делителя R3, R4 так же поступает на вход АЦП, что позволяет получать код преобразования в знаковой форме. Опорным напряжением АЦП выбрано напряжения питания. Это позволяет при изменениях напряжения питания удерживать напряжение средней точки относительно опорного напряжения АЦП. Отметим, что при опорном напряжении равному напряжению питания, для использования полной разрядной сетки АЦП необходимо усиливать сигнал с микрофона до уровня напряжения питания. Т.е. ОУ очень желательно применять с технологией Rail-to-Rail Output, которые обеспечивают выходной размах сигнала от 0 вплоть до напряжения питания, либо ОУ с близкими параметрами. В противном случае потребуется уменьшение коэффициента усиления, что в свою очередь отразится на сужении динамического диапазона.

АЦП в микроконтроллере 10-битное, обеспечивает диапазон в 60,2 дБ, частота дискретизации выбрана 10КГц, а полоса фильтра и соответственно полезного сигнала составляет примерно 200….4400 Гц. Отсутствие частот до 200 Гц исключает бубнения, а несколько завышенная верхняя граница 4400 Гц относительно стандартного связевого канала в 3400 Гц обеспечивает лучшую разборчивость речи. Назначение разницы в перекрытие 5000-4400=600Гц пояснялось выше.

Как уже было сказано, ЦАП реализован на ШИМ, и в отличие от классических конструкций, здесь используются одновременно 2 канала ШИМ. PWM1 формирует напряжение соответствующее старшим 5-и битам, а PWM2 младшим 5-и битам. На элементах R12, R13, R14, R18 собраны два масштабирующих делителя напряжения. Первый R13, R14, R18 формирует напряжение старших 5-и бит, которое при скважности Q стремящейся к 1 должно быть ниже максимально допустимого напряжения подаваемого на вход ОУ, иначе возникнут искажения, при применение ОУ другого типа обязательно следует учитывать этот момент. Второй делитель R12, R18 формирует напряжения в 32 раза меньше первого, а резистор R14 предназначен для точной настройки делителей напряжений относительно друг друга. Применение 2-х каналов ШИМ позволяет поднять несущую частоту с 30…40 кГц до 1…1,5 МГц!!!, что очень благоприятно сказывается на качестве формируемого сигнала.
К сожалению, при использовании в качестве ЦАП ШИМ дополнительно возникают артефакты на частоте обновления значений скважности (дискретизации преобразуемого сигнала), т.е. в нашем случае 10 кГц. Они находятся в слышимом участке спектра и имеют достаточно высокий уровень, чтоб быть подавленными фильтрами приемлемой сложности. Поэтому применён программный трюк по искусственному увеличении частоты дискретизации в 2 раза. Он основан на использовании просто арифметического среднего от соседних 2х отсчетов, однако при своей простоте он дает очень хорошие результаты, артефакты уходят в диапазон частот 20 кГц, где неслышны и легко отфильтровываются. После делителей напряжения идет фильтр 4-го порядка собранный на ОУ по классической схеме МFB (многопетлевой ОС) с частотой среза 4400 Гц, каких то особенных моментов здесь нет. После фильтра идет резистор регулировки уровня, т.к. размах выходного напряжения может быть около 4-х вольт, а далее плата подключалась на линейный вход компьютера.

Рассмотрим программное обеспечение микроконтроллера. Прежде всего сообщу отличную новость! Кроме файла прошивки hex вы можете скачать полный исходный проект в среде MPLAB7.5, написанный на ассемблере. В данный момент программа не сложна и обеспечивает 4 режима работы. Первые 3 тестовые, для калибровки делителя ШИМ, а четвертый непосредственно рабочий. В первом тестовом режиме устанавливается скважность Q=1 на старших битах, во втором на младших. Третий тестовый режим это непрерывная генерация сигнала треугольной формы. В рабочем режиме по нечетному прерыванию таймера сохраняется предыдущее значение отсчёта с АЦП, запускается новое преобразование, а так же выполняется загрузка старого отсчета АЦП в ШИМ. По четному прерыванию происходит расчет несуществующего отсчета через среднее арифметическое и он загружается в ШИМ.

Конструкция и настройка.
Фотографии конструкции представлены ниже:
image
А это скриншоты печатных плат из среды PCAD2002:
image

Оригинальный файл платы pcb вы так же можете скачать с Поскольку это не готовая конструкция, а рабочие материалы, то время на подпись элементов потрачено не было, оно было потрачено на эту статью. Плата на передающей стороне вообще выполнена на элементах с проволочными выводами, поскольку очень вероятно, что потребуются корректировки, в частности под меньшее напряжения питания, плюс корректировка коэффициента усиления. Сейчас он выбран для расстояния между спокойно разговаривающим человеком и микрофоном в пределах 1-го…3-х метров, иначе возникают проблемы с ПОС при отладке. Дополнительно добавим сюда эксперименты с изменяемым режимом усиления, это что-то вроде простейшего АРУ на 3 уровня усиления «мало, средне, много». Об этой идее я рассказывал на страницах форума в разделе «теория».

Настройка схемы заключается в делителе напряжения ШИМ, она предельно проста. Подстрочный резистор R14 переводится в любое крайнее положение, затем включается третий тестовый режим, при котором генерируются треугольные импульсы. Вращая движок резистора, примерно в середине будет слышен явный минимум сигнала, нужно настроиться на него. Если минимума нет, значит необходимо воспользоваться тестовыми режимами 1 и 2 и измерить значения напряжения. Для номиналов резисторов и типа ОУ, указанных на схеме, при тестовом режиме номер 1 напряжение на выходе делителей должно быть примерно 3,6 вольта, а при режиме 2 в 32 раза меньше, примерно 0,113 В. Если измеренные значения напряжения очень сильно отличаются от рекомендованных, номиналы делителей необходимо скорректировать. Также не забываем, что вольтметр тоже обладает некоторым внутренним сопротивлением, которое может вносить искажение в измеряемый результат. Для перехода в тестовые режимы нужно нажать и удерживать кнопку S4 (режим 1) или S3 (режим 2) или S4 и S3 одновременно (режим 3) и подать напряжение питания, затем кнопки можно отпустить. Выход из тестовых режимов осуществляется отключением питания.

Если вы повторите и настроите эту конструкцию верно, то получите качество звука представленное в образцовом файле, запись осуществлялась компьютером через вход Line In, фоновый низкочастотный гул, это фон от системного блока, который находился в метре от микрофона. До говорящего человека расстояние было порядка 1,5 метров.

Фотография устройства 1

Фотография устройства 2

"Саунд" цифрового микрофона.

Программа цифровой микрофон.


Надеюсь, данная статья послужила интересным вводным экскурсом в цифровые технологии и станет основой для различного рода творческих идей. Обсуждение статьи проводится в ветке форума «микроконтроллеры» по адресу: http://vrtp.ru/index.php?showtopic=7497&hl=


Выражаю благодарность AntonSmr за помощь в корректировке статьи.

Freeman404








  banner DIPTRACE - САМЫЙ ЛУЧШИЙ ТАКСИРОВЩИК ПЕЧАТНЫХ ПЛАТ
Portal-X