Пристрій відображення аудіо спектра

У цій статті показано оригінальне застосування невеликого графічного LCD-модуля. Минулого літа графічний LCD-модуль SG12232C продавався за 1500 єн, і я купив його. Але я не міг знайти хороше застосування ЖК-модулю і збирався відправити його в коробку з непотребом, тому я намагався знайти йому хоч якесь застосування.

Спектроаналізатор на AVR

Просто відображення будь-яких нерухомих зображень не круто, спочатку я намагався відображати форму звукової хвилі в режимі реального часу як цифровий осцилограф, а потім і спектральний аналіз за допомогою FFT. Пристрій контролю спектра, здається, зроблено добре, з урахуванням реалізації на дешевому мікроконтролері.

Апаратна частина

SG12232C є повноцінним графічним ЖК-модулем з роздільною здатністю 122(H)х32(V) точок. На платі є два LCD контролера Epson S1D15200. S1D15200 може відображати до 61(H)х32(V) точок, і кожен управляє половиною ЖК-дисплея. SG12232C вимагає меандр 2 кГц в якості тактового сигналу для ЖК-дисплея, і він має подаватися, поки живлення включено, інакше ЖК-дисплей може бути пошкоджений. Можна вибрати інтерфейс шини на основі 8080 або 6800. 4-бітного режиму, як у HD44780, немає, доступний тільки 8-бітний режим, і це вимагає як мінімум 14 ліній вводу/виводу.

Плата спектроаналізатора

На зображенні показана зібрана плата і її схема. Використаний мікроконтролер Atmel ATmega8, який оцифровує вхідний звуковий сигнал і відображає форми хвиль на ЖК-модулі. Це не складно для виготовлення. Я використав MAX293, еліптичний фільтр 8-го порядку в якості згладжуючого фільтра. SCF дуже корисний і дешевий порівняно з дискретним LPF.

Схема спектроаналізатора

Програма

Зображення нижче показує процес внутрішнього проходження сигналу. Оцифровані блоки даних перетворюються за допомогою FFT і відображаються як смуги в лівій половині (64 точки) ЖК-дисплея. Форма хвилі відображається в правій половині (58 точок) з циклічним зсувом сигналу.

Процес внутрішнього проходження сигналу

Операції виконуються з 16-бітною фіксованою точкою. Ці 128 точкові процеси FFT, що застосовують інтервали, операції метелика і скалярний вихід, можуть бути виконані в режимі реального часу (протягом 7,3 мс). Це досить швидко, враховуючи обробку дешевим мікроконтролером. Спектр поділів відображається в порядку основної частоти х0 (постійна складова), основної частоти x1, x2, x3, ... зліва направо. Частота дискретизації складає 9,6 кГц, і основна частота (частотне розділення) виглядатиме так: 9.6k/128=75 Гц.

audio_spectrum5.jpg

Також є бібліотеки FFT з фіксованою точкою для AVR-GCC. Вони написані на асемблері і оптимізовані для megaAVR.

Ось деякі форми хвиль, меандр, пилообразна хвиля і sin(х)/х. Ви можете виявити, що вони відображаються так само, як у підручнику.

Відео роботи: відео 1, відео 2, відео 3, відео 4

Список радіоелементів

Обозначення Тип Номінал Кількість Примітка
U1 МК AVR 8-біт
ATmega8
1 ATmega8-16AC
U2 Мікросхема MAX293CPA 1
C? Конденсатор електролітичний 10 мкФ 1
C Конденсатор 1 мкФ 2 неполярний
Конденсатор 100 нФ 5
Конденсатор 22 пФ 2
R1 Резистор
150 кОм
1
R2 Резистор
51 кОм
1
Резистор
100 кОм
1
Резистор
20 кОм
1
Резистор
10 кОм
2
Резистор
4.7 кОм
1
VR1 Потенціометр 2 кОм 1
VR2 Потенціометр 5 кОм 1
VR3 Потенціометр 10 кОм 1
Y1 Кварц 16 МГц 1
LCD LCD-дисплей SG12232C 1 122х32, два контролера S1D15200
P1 Роз'єм 2 контакта 1 роз'єм живлення
P2 Роз'єм PLD-20 1 роз'єм LCD
P3 Роз'єм PLD-6R 1 роз'єм ISP
Роз'єм 2 контакта 1 вхід аудіосигналу
SW Кнопка замикальна 1
Додати всі

Оригінал статті

Прикреплені файли:

Top