Содержание
Wav Player
Этот модуль можно использовать для чтения PCM/WAV-файлов из внешней Flash-памяти, подключенной к ADAU145x через SPI. Этот модуль также может выполнять изменение высоты тона (pitch shifting) во время воспроизведения файла.
В следующем списке показаны различные аудиофайлы, поддерживаемые этим модулем.
- Аудиосэмплы в формате с фиксированной точкой 8.24 (моно/стерео)
- Wav-файл без заголовка (PCM) (моно/стерео)
- 8 бит на сэмпл (знаковое целое)
- 16 бит на сэмпл (знаковое целое)
- 24 бита на сэмпл (знаковое целое)
- 32 бита на сэмпл (знаковое целое)
- Wav-файл с Wav-заголовком (моно/стерео)
- 16 бит на сэмпл (знаковое целое)
- 24 бита на сэмпл (знаковое целое)
- 32 бита на сэмпл (знаковое целое)
Примечание: 8 бит на сэмпл не поддерживается для Wav-файлов.
Примечание: Изменение высоты тона не поддерживается для стереофайлов.
Flash Programmer можно использовать для записи wav-файлов в SPI-флеш-память с ADAU145x.
Входные пины
| Name | Format [int/dec] - [control/audio] | Function Description |
|---|---|---|
| Pin 0: Trigger | int- control | Нарастающий фронт на входе запускает чтение Wav-файла из SPI-флеш-памяти. |
| Pin 1: Wav Select | int- control | Выбирает wav-файл из SPI-флеш-памяти. 0 → первый файл, 1 → второй файл и т. д. |
| Pin 2: Pitch factor | dec- control | Скорость Wav-плеера. Этот пин будет доступен только при включенном изменении высоты тона. |
Выходные пины
| Name | Format [int/dec] - [control/audio] | Function Description |
|---|---|---|
| Pin 0: Left Out | decimal - audio | Левый аудиосэмпл |
| Pin 0: Right Out | decimal - audio | Правый аудиосэмпл. Этот пин будет доступен только если количество аудиоканалов установлено на 2. |
Алгоритм Grow
Модуль в настоящее время не поддерживает функцию grow/add.
Конфигурации
Нажмите на изображение
для настройки SPI-интерфейса модуля.
| GUI Control Name | Default Value | Range | Function Description |
|---|---|---|---|
| Bit Rate | 100kHZ | 100 kHZ - 100000 kHZ | Скорость SPI |
| SPI Slave Select | 0 | 0-6 | Выбор Slave Select для SPI. Окно регистров должно быть настроено в соответствии с этим выбором. Пожалуйста, обратитесь к примечанию ниже. |
| Sub-Address Bytes | 2 | 1-4 | Количество байтов адреса, исключая команду чтения/записи |
| SPI Mode | Mode 3 | Mode0/Mode3 | Режим работы SPI |
| R/W (Chip Address) Bytes | 1 | 0-255 | Командные байты (количество байтов, необходимых для команды) |
| Read Instruction (SPI) | 0 | 0-255 | Значение инструкции для операции чтения (0x1 для аудиоустройств ADI, обычно 0x3 для eeprom/flash) |
| Audio File Format | Audio Sample in 8.24 | Wav without header (PCM)/ Wav with header/Audio Sample in 8.24 format | Выбор формата аудиофайла |
| Number of Channels | 2 | 1/2 | Количество каналов в аудиофайле, хранящемся в SPI-флеш-памяти. |
| Bits Per Sample | 16 | 8/16/24/32 | Количество бит на сэмпл в аудиофайле, хранящемся в SPI-флеш-памяти. |
| Number of Audio Files | 1 | 1-16 | Количество аудиофайлов, записанных в SPI-флеш-память. |
| Loopback | Disabled | Enabled/Disabled | Включение/отключение петли (loopback). |
| Pitch Shifting | Disabled | Enabled/Disabled | Включение/отключение изменения высоты тона. |
| Start Address1* | 0 | 0 - 16777216 (16 MBytes) | Начальный адрес аудиофайла 1 в SPI-флеш-памяти. (в байтах) |
| Length1* | 192000 | 1 - 16777216 (16 MBytes) | Длина аудиофайла 1 в SPI-флеш-памяти. (в байтах) |
Примечание: Элементы управления Length и Start Address будут повторяться столько раз, сколько указано в 'Number of Audio Files'. Любое изменение этих параметров конфигурации требует перекомпиляции.
Примечание: Пожалуйста, убедитесь, что длина указана точно в байтах. Если для записи файла в SPI EEPROM используется модуль Flash Programmer, проверьте размер wav-файла в свойствах Windows и введите его в поле длины.
Поддержка различных Slave Select
Если Slave Select равен 0 и MP0 используется как выбор кристалла, настройка в элементах управления регистрами не требуется. В противном случае конкретный многоцелевой пин должен быть настроен для работы в качестве slave select в окне регистров. (Hardware Configuration → ICx - ADAU145x Register Controls → MULTIPURPOSE/ AUXADC)
- Slave Select Channel → 'Slave Select Channel x'
- MPx pin mode → 'Slave Select for Master SPI port'
- MPx pin function → 'Multipurpose function'
В следующей таблице показано соответствие между параметром модуля и окном управления регистрами.
| 'Slave Select' в окне конфигурации | 'Slave Select Channel' в управлении регистрами |
|---|---|
| 1 | Slave Select Channel 0 |
| 2 | Slave Select Channel 1 |
| 3 | Slave Select Channel 2 |
| 4 | Slave Select Channel 3 |
| 5 | Slave Select Channel 4 |
| 6 | Slave Select Channel 5 |
Поддержка нескольких файлов
Количество wav-файлов можно настроить в окне 'Control Port Properties'. Начальный адрес и длина для каждого wav-файла должны быть настроены в окне 'Control Port Properties'.
Wav-файл можно динамически выбирать с внешнего пина.
Изменение высоты тона (Pitch Shifting)
Опцию изменения высоты тона можно включить для управления скоростью воспроизведения Wav-файла.
В приведенном выше примере коэффициент/скорость изменения высоты тона установлен на 1.5 (обратите внимание, что это должно быть в формате с фиксированной точкой 8.24). Таким образом, файл воспроизводится со скоростью 1.5. Предположим, что EEPROM/Flash содержит синусоидальный тон 500 Гц. Воспроизведение будет синусоидальным тоном 750 Гц (1.5 * 500).
Информация о DSP-параметрах
| GUI Control Name | Compiler Name | Function Description |
|---|---|---|
| StartAddress1 | WavPlayerAlg1sample1_start | Массив начальных адресов аудиофайлов в SPI-флеш-памяти |
| Length1 | WavPlayerAlg1sample1_end | Массив конечных адресов аудиофайлов в SPI-флеш-памяти (рассчитывается как StartAddress + Length) |
Здесь,
- Зеленый - Имя алгоритма
- Красный - Номер экземпляра (изменяется для каждого экземпляра)
- Синий - Имя параметра
- Коричневый - Номер файла (изменяется для каждого файла)
Поддерживаемые ИС
- ADAU145x