Форум ForNext.ru
18 Ноября 2017, 18:33:44 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости: Авторегистрация выключена. Automatic Registration is disabled. Используйте форму обратной связи http://forum.fornext.ru/index.php?topic=35.0
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]
  Печать  
Автор Тема: PCM-плеер x-duino с выводом звука на пьезо-динамик (ШИМ) или внешний ЦАП  (Прочитано 3878 раз)
0 Пользователей и 1 Гость смотрят эту тему.
mentat-vvo
Администратор
Пользователь
*****

Карма: +32/-0
Офлайн Офлайн

Сообщений: 856


the grid


WWW
« : 07 Января 2011, 04:36:44 »

Заставил работать встроенный на плату x-duino с мегой88 (5v) пьезо "динамик" с помощью ШИМа. Звук слышно, шипения нет, но тихо ибо он очень уж мал и для таких вещей не подходит  Веселый Звуковые файлы читаются с MMC-карты, для которой был изготовлен переходник на плату x-duino в порт SPI+ (фото). Он со встроенным стабилизатором напряжения и делителями для согласования уровней 5В->3.3В.
Скорости Mega88 хватает с избытком, пришлось серьезно притормаживать и выставлять тайминги:
-Таймер0 - 100Гц
-Таймер1 - 100кГц
-Таймер2 - ШИМ (на максимуме - частоты ШИМ не слышно) на ноге PD3.
Первые два таймера используются исключительно для формирования задержек. Вероятно, можно использовать один вместо двух.
Для чтения MMС карты использую собственные процедуры чтения FAT16, написанные на ассемблере. Прошивку выкладываю.

Для меня стал почти открытием тот факт, что звук иногда щелкает - т.к. данные с MMC приходят с некоторым количеством ошибок.
В интернете ни у кого нет об этом ни слова Улыбка 3.3В версия, использующая аппаратный ЦАП тоже щелкает Грустный Подтягивающие резисторы проблему не убирают, контрольные суммы файлов в железе и на PC немного отличаются, как-будто проскакивают FFы вместо данных. Надо разбираться.

Управляется плеер через последовательный порт. Реализованы команды DIR, PLAY <файл.wav>, DUMP <файл>, SUM <файл>.
Две последних команды выводят 16-ичный дамп файлов и считают 32-битную сумму файла, соответственно.

Вероятно, будет задействована дополнительная кнопка на плате для циклического проигрывания wav-файлов в каталоге, для чего необходимо доработать процедуру FindFirst и FindNext для FAT16 Улыбка

Сейчас переделываю под x-duino88-5v проект с 16-битным ЦАП-ом TDA1311 (от CD-ROM). Готово. Тестируется.


* mmc-adapter.jpg (36.99 Кб, 700x486 - просмотрено 952 раз.)

* x-duino88-5v.jpg (50.32 Кб, 812x622 - просмотрено 857 раз.)

* x-duino88-5v-solder.jpg (51.42 Кб, 806x536 - просмотрено 883 раз.)
* mmcavr88.hex (12.51 Кб - загружено 547 раз.)
« Последнее редактирование: 02 Февраля 2011, 15:51:21 от mentat-vvo » Записан
Страниц: [1]
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.15 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!