WAV плеер на attiny85 от Elm Chan'a

Один не хороший человек заказал собрать устройство воспроизведения звука. Нужно было имитировать звук выстрела оружия(пулемета, пистолета и тд.тп)или проигрывать отрывки музыкальных файлов. Требования к качеству не приводились, то есть качество звука могло быть минимальным.

Из задачи я понял что нужен цифровой диктофон или устройство воспроизведения музыкальных файлов с цифрового носителя информации, в данном случаи использовалась SD карта памяти. Простота использования карты памяти в том, что она дешевая, вместительная, и сам звук можно быстро заменить (чего нельзя сделать если например звук записан на отдельной микросхеме памяти типа 24c64 или at45db161).
Варианты использования микросхем типа ISD1400 отпал сразу, по причине труднодоступности самих микросхем да и стоимость при условии наличия не порадовала. Из готовых решений в Интернете попались под руку следующие два варианта:
1. Устройство из инструкции по применению микроконтроллеров AVR от самого производителя Atmel под номером AVR335
Где в качестве носителя информации используется микросхема Data Flash памяти at45db161.
2. Схема проигрывателя WAV файлов от японца по имени Elm Chan. В качестве носителя информации SD карта памяти.

sd карта и микроконтроллер attiny85

Вариант 1:
Отпал практически сразу по причине того, что исходный код в документации был в синтаксисе 2007-го года, простое копирование кода в AVR Studio v4.16 не увенчалось успехом. Пришлось допиливать код напильником в прямом смысле.
Применение в проекте микросхемы Data Flash памяти at45db161 ставило определенные требования к корпусу микросхемы. А именно то, что вариант микросхемы at45db161 в корпусе, который применен в проекте имел очень маленький шаг между выводами. Корпус микросхемы использован tsop28, собрать проект на печатной плате не вышло, такой ширины дорожки оказались непосильной задачей для меня лично. Устройство было собрано в виде макета но проверить работоспособность так и не удалось из-за наличия довольно значительной схемы фильтров необходимой для воспроизведения звука. Аналогичный вариант для записи звука. По этим причинам проект был заморожен.

Вариант 2:
Схема устройства от Elm Chan сразу привлекла внимание, так как она требовала минимум деталей. Все что нужно было это микроконтроллер attiny85, которого просто не было в наличии под рукой. Купив в магазине два микроконтроллера attiny85 и найдя SD флеш карту пригодную для экспериментов я решил собрать устройство.
Паять особо не пришлось, применяю технологию соединения специальными соединителями.
Я использовал attiny85 в корпусе для поверхностного монтажа, для пайки такой вариант исполнения корпус не очень подходит так как появляются некоторые проблемы. На всякий случай я купил именно две attiny85, что в результате оправдалось.

Схема проигрывателя WAV файлов:
проигрыватель WAV файлов

Для начала даже перед сборкой я решил все-таки проверить можно ли прошить микроконтроллер attiny85 программатором для LPT порта, которым пользуюсь уже лет 5. Припаял все как надо, подключил к компьютеру, запустил программу Uniprof и решил сразу же прошить микроконтроллер.
Первое что сразу огорчило это, то что программа при попытке прошить микроконтроллер ругается что невозможно прошить биты в самом начале прошивки. Думал сначала что проблема в микроконтроллере, но как оказалось файл прошивки больше по объему чем памяти микроконтроллера и программа Uniprof именно по этой причине выдает ошибку при попытке прошить микроконтроллер.

Первый микроконтроллер attiny85 был приведен в неработоспособность при попытке прошить его все-таки программой проигрывателя. Восстановить работу микроконтроллера не вышло, он до сих пор не определяется программатором, хотя настроечные fuse биты не изменялись. Таким образом второй микроконтроллер пригодился очень кстати!
Хочу заметить что для правильной работы WAV проигрывателя необходимо правильно установить правильные fuse биты.
В программе Uniprof следующие фьюзы не нужно устанавливать:
SUT0 CKSEL3 CKSEL2 CKSEL1 EESAVE

В программе PonyProg2000 все с точностью до наоборот, эти фьюз биты нужно отметить галками, а все остальные снять.

Только после такой установки фьюз битов прошить микроконтроллер удалось успешно. Устройство заработало сразу же, без никаких настроек и дополнительных конфигураций. Питание микроконтроллера осуществлялось от батарейки CR 2023 с напряжением 3 Вольта. Питание выбрано не зря, так как карта памяти работает только при напряжении не выше 3,3 Вольта, иначе карточка сгорит.

К сожалению самом сгенерировать файл прошивки для микроконтроллера из файлов проекта доступных на сайте автора не получилось, так как возникли ошибки в коде на которые компилятор Win AVR очень ругался, таким образом возможности вносить изменения в код нет. Если у кого-то выйдет, просьба выложить на сайт проект.

Скачать HEX файл прошивки проигрывателя