Передовица » Hardware » МУАРМ » ЯАВМИ (акустический ввод и адаптер MIDI)

ЯАВМИ (акустический ввод и адаптер MIDI)

Представляет собой три отдельных блока: MIDI-интерфейс, предположительно синтезатор тона (аналогичный PC Speaker) и спектроанализатор. На последнем следует остановится подробнее: Агат не мог выполнять чисто цифровой анализ звука в реальном времени - из-за малой мощности ЦПУ. В данном устройстве была предпринята попытка реализовать аналогово-цифровой спектроанализатор.

Он устроен следующим образом: сигнал с линейного входа, миновав АРУ, пропускается через полосовой фильтр, центральную частоту которого можно изменять программно (примерно от 150 до 2900 Гц). После этого сигнал попадает на амплитудный детектор и счётчик, значения на выходах которых программно доступно для ЦПУ. Перестраивая фильтр на необходимую частоту (фиксированную или сканируя диапазон), программа следит за состоянием амплитудного детектора. Он срабатывает в тот момент, когда основная гармоника входного сигнала приближается к частоте фильтра. Затем, используя счётчик, программа может точно определить значение частоты входного сигнала.

Одно из применений этого контроллера - выполнение программы "Высота" (на страничке есть видеоролик).

Конструкция

Состоит из трёх БИС, выполняющих следующие функции:

  1. кр580вв55 - интерфейс управляемого фильтра;
  2. кр580вв51 - интерфейс MIDI;
  3. кр580ви53 - универсальный трехканальный таймер/счётчик.

Кроме того на плате расположен блок аналоговой обработки сигнала, состоящий из следующих участков:

  1. аналогового ввода сигнала с усилителем и автоматическим регулятором уровня;
  2. управляемый частотный фильтр;
  3. формирователь ТТЛ-совместимого сигнала (на выходе фильтра);
  4. детектор наличия сигнала (на выходе фильтра).

Возможности

Управляемый фильтр

Аналоговый сигнал с уровнем 0.2 в поступает на предварительный усилитель, автоматический регулятор уровня (впрочем, я не заметил его существенного влияния...) и затем на управляемый полосовой фильтр. Частоту пропускания фильтра можно задавать, программируя вв55. Пределы регулирования - примерно 150-2900 Гц.

Сигнал с фильтра поступает на формирователь ТТЛ-сигнала (усилитель-ограничитель), после которого идёт на счётчик ви53, канал 1. Управляя этим каналом, можно вычислить точное значение выделяемой фильтом частоты. Кроме того сигнал с формирователя поступает на вход вв55.C5 - с его помощью низкие частоты можно анализировать непосредственно центральным процессором. Также можно запрограммировать C5 на вывод и использовать канал 1 для подсчёта программно-формируемых событий.

Одновременно сигнал с фильтра поступает на детектор наличия сигнала - он формирует "1" на входе вв55.C4 при наличии переменного сигнала определённого (задаётся при регулировке схемы) уровня на выходе фильтра.

Таким образом управляемый фильтр позволяет оценить спектр входного сигнала: перестраивая фильтр вдоль всего диапазона частот нужно следить за детектором наличия сигнала. При его срабатывании, используя счётчик и формирователь ТТЛ-сигнала, можно определить точное значение частоты (примерное значение можно узнать сразу, исходя из настройки фильтра).

Теоретически, можно попробовать анализировать амплитуду узкополосного сигнала - расстраивая фильтр, следить за детектором сигнала. Момент его переключения будет связан с АЧХ фильтра (которая может быть измерена заранее) и амплитудой сигнала.

Таймер

Канал 0 имеет на входе тактовую частоту 1 МГц, а вход разрешения счёта - от канала 1. Его можно использовать как счётчик реального времени.

На вход канала 2 подаётся постоянная частота около 8 КГц. Через делитель уровня этот канал выводится на внешнее гнездо, таким образом плата может синтезировать однотонный звук без использования центрального процессора (a'la PC Speaker) либо использоваться как счётчик реального времени.

Со вторым каналом таймера, тем не менее, есть пара непонятных моментов. Во-первых, он всегда включен (вход разрешения счета подключен к +5 Вольт). Это значит, что звук будет генерироваться постоянно. Во-вторых, подаваемая на него частота слишком низкая, чтобы получать музыкальные ноты с достаточной точностью. Например, частота ноты "Фа-диез" - 370 Гц. Если взять делитель 22, то получится 362.7 Гц, а если 21 - то 380 Гц. Звук будет сильно "фальшивить".

MIDI интерфейс

MIDI интерфейс построен на вв51, тактируемой частотой 500 КГц и дополненной оптронной развязкой входа и буферным усилителем выхода. Управление каналом программное, за исключением вывода RxRDY - сигнал появления данных на входе может быть прочитан через вв55, вход C7, а также вызвать прерывание IRQ, если это будет разрешено програмно (для чего используется флажек на триггере тм2).

Адреса регистров

n - номер слота + 8, по умолчанию второй:

  • C0n0..C0n3 - регистры ви53.
  • C0n4..C0n7 - регистры вв51 (повторяются дважды).
  • C0n8..C0nB - регистры вв55.
  • C0nC..C0nF - флажек разрешения прерываний. Чтение невозможно, запись устанавливает флажек в соответствии со старшим битом данных.

Принципиальные схемы

 

 

Замеры АЧХ управляемого фильтра

Входное 0.2 в, контролируем выход DA4.9 и DA5.13, ищем пики амплитуды:

Частота		DA1	DA2

120		80	0
120 /слабо/	ff	00

160		0	ff

170-200		10	10

360		20	20

500		30	28
		50	18
		80	10
		b0	8

660		20	80
660 /слабо/	80	20
660		38	40
660		10	e0

1000		30	80-90
		50	50
		80	30-40
		b0	20-30
		20	ff
		ff	20

1400		80	80

2000		b0	e0
		80	ff
		50	--
		80	f0
		f0	80

2910		ff	ff

???		0	0	/ Не удалось найти пик/

Если DA1 > DA2 пик получается более размытый по частоте и заметно меньший по амплитуде.

Благодарности

Выражаем признательность участникам форума monitor.net.ru за помощь в исследовании контроллера.

* * *

Использование материалов проекта agatcomp без получения предварительного письменного разрешения agatcomp запрещено.


Почта для обратной связи: mail@agatcomp.ru


Живое общение по теме Агата: Telegram группа Agatcomp.


Накопленные знания и проекты: тематический ФОРУМ.


© 2004-2024 agatcomp.su / agatcomp.ru

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *