среда, 24 ноября 2010 г.

Аудиоплеер на микроконтроллере AT91SAM7S256

 

Аудиоплеер воспроизводит wav-аудиофайлы в формате стерео с частотой дискретизации22,5кГци разрешением8бит,записанные на карту памяти MMC (SD).

Основой устройства является микроконтроллерAT91SAM7S256компанииAtmel,построенный на базе ядра ARM7TDMI, к которому подключен символьный ЖК-дисплей на контроллере HD44780 и слот для карты памяти MMC. Дисплей работает в 4-битном режиме.

Аудиоплеер на микроконтроллере AT91SAM7S256

Основные характеристики микроконтроллера:

  • 32-битное ядро ARM7TDMI, RISC архитектура;
  • встроенная высокоскоростная Flash-память 256 КБайт, 1024 страницы по 256 Байт;
  • встроенная высокоскоростная SRAM 64 КБайт;
  • контроллер сброса;
  • расширенный контроллер прерываний;
  • модуль отладки, двухпроводный UART, два модуля USART;
  • 20-битный программируемый счетчик + 12-битный интервальный счетчик;
  • 32-битный циклический счетчик с сигнализацией;
  • 32программируемый линии ввода/вывода общего назначения;
  • интерфейс SPI;
  • трехканальный 16-битный счетчик;
  • четырехканальный 16-битный ШИМ контроллер;
  • 8-канальный 10-битный АЦП;
  • напряжение питания 3,3 В.

Блок-схема микроконтроллера

Основные характеристики устройства:

  • воспроизведение wav-файлов в стереоформате, частота дискретизации 22500 Гц, разрешение 8 бит;
  • индикация названия аудиофайла;
  • индикация времени звучания;
  • возможность остановки воспроизведения и выбора файла;
  • возможность изменять громкость звучания;
  • возможность установки произвольного выбора аудиофайлов;
  • чтение данных с карты памяти MMC;
  • индикация состояния на символьном ЖК-дисплее.

Принципиальная схема устройства

Подключение LCD-дисплея:

Вывод
микроконтроллера

Вывод
LCDмодуля

PA8

E

PA9

RS

PA4

D4

PA5

D5

PA6

D6

PA7

D7

Список компонентов:

Обозначение в схеме

Описание, номинал

U1

Микроконтроллер AT91SAM7S256

R1

1,5кОм

R2

1кОм

RN1, RN2

набор резисторов 10 кОм

C1, C2, C7

22пФ

C5

1нФ

C6

10нФ

C8

10мкФ

C9

1мкФ

10

470пФ

SW1, SW2

Кнопки

MMC_SLOT

Слот для карты памяти ММС

JTAG

Коннектор отладочного интерфейса JTAG

OUT

Выход аудиосигнала

Принцип работы устройства прост: микроконтроллер считывает данные с карты памяти по интерфейсу SPI, помещает их в два буфера и затем перенаправляет в модуль ШИМ.

Чтение данных с карты памяти осуществляется с помощью программного модуля FatFS. Данный блок необходим, т.к. карта использует файловую систему (FAT16 или FAT32). Для записифайлов на карту памяти используется персональный компьютер, прочитанные данные сохраняются в двух буферах.

Программный блок FatFS написан на ANSI C, поэтому он не зависит от аппаратного уровня и может быть просто адаптирован для других микроконтроллеров.

Поддержка карты памяти по интерфейсу SPI требует трех сигнальных линий от микроконтроллера: MOSI, MISO и CLK (тактовый сигнал). Для питания карты необходимо напряжение 3,3В, что соответствует питанию микроконтроллера.

В микроконтроллере таймер PIT (20-битный программируемый счетчик + 12-битный интервальный счетчик) настроен на периодические прерывания с частотой 22,5 кГц–частота дискретизации wav-файла. В обработчике прерывания проверяется, какой из буферов в текущий момент времени используется, и соответствующие значения индексовпередаются в буферные регистры ШИМ генератора.

Сами эти значения представляют собой 2 канала звука (левый и правый). Когда индекс буфера достигает максимальной длины массива, происходит смена буфера, устанавливается соответствующий флаг, разрешая запись следующей части данных в другой буфер.

Для воспроизведения звука используются два независимых канала ШИМ, которые сконфигурированы на работу с разрешением 8 бит, частота MCK/8. Заполнение ШИМ-генераторазависит от данных получаемых с буферов и, соответственно, пропорционально выходному напряжению на выводе микроконтроллера.


Источник

Комментариев нет:

Отправить комментарий