Основним елементом даного пристрою є мікроконтролер ATtiny861 виробництва компанії Atmel , Який має більш швидкий вбудований ШІМ, в порівнянні з ATtiny85 . Отже, мікроконтролер може генерувати більш чистий звук, в порівнянні з іншими пристроями сімейства AVR.
Для зберігання звукових файлів і конфігураційного файлу використовується карта пам'яті SD (microSD), але можливе використання і карт пам'яті MMC з відповідним слотом.
Додатково, 20-вивідних мікроконтролер має багато доступних ліній введення / виводу, що дозволяє ввести систему управління генератором від зовнішніх сигналів. Завдяки своїм компактним розмірам, простоті виготовлення та управління, цей звуковий генератор може використовуватися в якості звукового модуля для іграшок, музичного дзвінка, розважального пристрою тощо.
апаратна частина
Карта пам'яті (microSD) використовується в якості пристрою зберігання і підключена до мікроконтролеру через інтерфейс SPI з використанням вбудованого апаратного модуля USI (універсальний послідовний інтерфейс). Аудіосигнал генерує вбудований ШІМ, і тому динамік може підключатися безпосередньо до виходу ШІМ. Рівень гучності, звичайно, не дуже високий, але при використанні якісних динаміків його буде цілком достатньо.
Блок-схема мікроконтролера ATtiny861
Натисніть для збільшення
При підключенні звукового генератора до підсилювача, слід пам'ятати, що необхідно в цьому випадку використовувати фільтр низьких частот (Low Pass Filter). Підключати вихід ШІМ безпосередньо до підсилювача можна, тому що можна вивести з ладу підсилювач і динамік.
Для живлення генератора потрібно джерело напруги 3.3 В
Принципова схема генератора з різними варіантами конфігурації виходу.
Натисніть для збільшення
Як видно по схемі, є три різні варіанти конфігурації вихідного каскаду:
- режим монофонічного виходу (файл для прошивки sdsg_mo.hex);
- режим стереофонічного виходу (файл для прошивки sdsg_st.hex);
- режим монофонічного виходу з високою роздільною здатністю (файл для прошивки sdsg_hr.hex);
- режим монофонічного виходу з високою роздільною здатністю і підсилювачем (файл для прошивки sdsg_hr.hex).
Слід враховувати, що для кожного варіанта конфігурації виходу є і своє програмне забезпечення, яке необхідно запрограмувати в мікроконтролер (для режиму монофонічного виходу з високою роздільною здатністю і підсилювачем використовується той же ПО, що і для режиму з монофонічним виходом з високою роздільною здатністю).
Також, слід звернути увагу на установку Fuse-бітів при програмуванні мікроконтролера. Установки Fuse-бітів міститися в кожному .hex файлі (sdsg_mo.hex / sdsg_st.hex / sdsg_hr.hex, відповідають конфігурації виходу), однак не всі програматори підтримують такий формат файлів. Тому, в такій ситуації, користувачеві необхідно буде вручну встановити конфігурацію Fuse-бітів, а також необхідно видалити останні три рядки з .hex файлу. Про необхідної конфігурації Fuse-бітів зазначено в тексті вихідного коду в фалі main.c, скачати який можна за посиланням в кінці статті.
Світлодіод, за схемою підключений до порту PB2, є індикатором статусу при відтворенні звукового файлу і індикатором помилок:
- два спалахи світлодіода свідчать про помилку файлової системи або апаратної помилку;
- три спалахи світлодіода - звуковий файл не знайдений;
- чотири спалахи - невірний формат звукового файлу.
В наступній частині : Прошивка мікроконтролера, формати звукових файлів, команди управління і режими роботи.