Пристрій відображення аудіо спектра
У цій статті показано оригінальне застосування невеликого графічного LCD-модуля. Минулого літа графічний LCD-модуль SG12232C продавався за 1500 єн, і я купив його. Але я не міг знайти хороше застосування ЖК-модулю і збирався відправити його в коробку з непотребом, тому я намагався знайти йому хоч якесь застосування.
Просто відображення будь-яких нерухомих зображень не круто, спочатку я намагався відображати форму звукової хвилі в режимі реального часу як цифровий осцилограф, а потім і спектральний аналіз за допомогою 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 Гц.
Також є бібліотеки 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 | |||
Прикреплені файли:
- Spectrum_Monitor.rar (29 Кб)