JQ6500 - модуль воспроизведения аудио. Предназначен для реализации голосового оповещения с управлением при помощи микроконтроллера. Благодаря встроенному усилителю низкой частоты мощностью 2 Ватта возможно подключение 8-омного звукоизлучателя непосредственно к модулю (выводы SPK+ и SPK-). Так же предусмотрены выходы для подключения внешнего усилителя (ADC_L, ADC_R), благодаря которому можно получить стереофоническое звучание и значительно повысить громкость воспроизведения.
Характеристики:
- напряжение питания: 3,5...5 вольт
- формат аудио: MP3 стандарта 11172-3 и ISO13813-3 layer3, с допустимыми частотами дискретизации 8/11.025/12/16/22.05/24/32/44.1/48 кГц
- тип памяти: NOR-flash, GD25Q32C
- объем памяти: 32 Мбит
- встроенный усилитель: HXJ8002, моно
- мощность звукового усилителя: 2 Ватта при использовании звукоизлучателя сопротивлением 8 Ом
- возможно подключение внешнего стереофонического усилителя
- уровни громкости: 30 уровней
- управление:
- прямое управление при помощи 5 кнопок
- управление при помощи резисторной клавиатуры
- управление при помощи микроконтроллера по интерфейсу UART
Подготовка файлов.
Модуль JQ6500 в качестве хранилища файлов может использовать TF-карты памяти или флеш-память в виде микросхем. В данном модуле установлена флеш-память GD25Q32C объемом 32 мегабита, что в привычных нам единицах измерения составляет всего 4 мегабайта. В этот объем памяти поместится всего около 4 минут аудио с битрейтом 128 kbps и частотой дискретизации 48 кГц. Поэтому подготовке аудиофайлов необходимо уделить особое внимание, при помощи конвертеров аудио понизить битрейт и частоту дискретизации, конечно же в разумных пределах. Если же вам необходим аналогичный модуль с бОльшим объемом памяти, то рекомендуем обратить внимание на DFplayer. Также необходимо переименовать файлы по следующему алгоритму - 01.mp3, 02.mp3 и т.д.
Загрузка файлов в память модуля.
Загрузка файлов в память модуля осуществляется через разъем USB при помощи специально разработанного ПО MusicDownload, которое находится в памяти модуля. Программа очень проста, имеет две вкладки. Во второй вкладке "select Sound" необходимо выбрать файлы из памяти ПК, затем в первой нажать кнопку "Update". Загрузка файлов занимает значительное время, 1 мегабайт загружается около 90 секунд.
Расположение выводов. |
Подключение кнопок управления, питания и звукоизлучателя. |
Подключение кнопок при помощи резисторов. |
|
|
|
Управление модулем может осуществляться тремя способами:
- при помощи пяти кнопок, которыми можно выбрать один из 5 файлов.
- при помощи кнопок, подключенных при помощи резисторов. Этим способом также можно выбрать один из пять файлов, и кроме этого управлять громкостью, переключать треки по порядку, использовать функцию паузы.
- при помощи интерфейса UART. Этот способ дает наиболее широкие возможности управления, требует подключения микроконтроллера (или переходника USB-UART для управления с ПК). Протокол управления рассмотрен ниже.
Протокол управления реализован следующим образом.
- первый байт - стартовый, всегда имеет значение 0x7E
- второй байт - количество байт до конца команды, начиная со следующего байта
- третий байт - команда (см. список команд далее)
- последующие байты - аргументы команды, если команда имеет аргументы
- последний байт - замыкающий, всегда имеет значение 0xEF
Например, команда ”PLAY” (0x0D) будет состоять из 4 байт, так-как команда не имеет аргументов
- 0x7E – стартовый
- 0x02 – 2 байта будет передано после этого байта
- 0x0D – команда
- 0xEF – замыкающий
Команда выбора файла в папке будет выглядеть так
- 0x7E – стартовый
- 0x04 – 4 байта будет передано после этого байта
- 0x12 – команда, имеет 2 аргумента
- 0x02 – первый аргумент (“папка номер 02”)
- 0x03 – второй аргумент (“файл 003”, который содержится в папке 02)
- 0xEF – замыкающий
Таким образом строятся все команды.
Список основных команд управления.
- 0x0D – Play/воспроизведение, нет аргументов
- 0x0E – Pause/пауза, нет аргументов
- 0x01 – Next/следующий трек, нет аргументов
- 0x02 – Prev/предыдущий трек, нет аргументов
- 0x03 – Play file by index number/воспроизвести файл с номером, 2 аргумента. Номер, являющийся индексом в таблице FAT, часто совпадает с номером загрузки файла. Аргумент1 = старшие 8 бит числа, аргумент 2 = младшие 8 бит числа.
- 0x0F – Change folder/переключение папки. 1 аргумент = 0x01 следующая папка, 0x00 предыдущая папка.
- 0x12 – Play file by folder and name/выбор файла и папки, 2 аргумента. Используется только совместно с SD картой в качестве накопителя. Если у вас в памяти есть папки пронумерованные числами (01, 02...) и в этих папках лежат файлы, так же пронумерованные числами (01.mp3, 02.mp3...), то вы можете выбирать конкретный файл в конкретной папке. Поскольку в качестве аргументов используются значения длиной в один байт, то можно выбрать до 255 папок и 255 файлов в них. Поскольку данный модуль содержит встроенную память, то эта команда не поддерживается, рекомендуется использовать команду 0x03.
- 0x04 – Vol Up/громкость выше, нет аргументов
- 0x05 – Vol Dn/громкость ниже, нет аргументов
- 0x06 – Set Volume/установить громкость звука, 1 аргумент = значение от 0 до 30
- 0x07 – Set Equalizer Mode/установка эквалайзера, 1 аргумент = 0/1/2/3/4/5 для режимов Normal/Pop/Rock/Jazz/Classic/Bass
- 0x11 – Set Loop Mode/режим повтора, 1 аргумент = 0/1/2/3/4 для режимов All/Folder/One/Ram/One_Stop
- 0x09 – Set the source/выбрать источник файлов, 1 аргумент = 0x01 SD карта, 0x04 flash-память.
- 0x0A – Sleep mode/режим сна, нет аргументов.
- 0x0C – Reset/программный сброс, нет аргументов. После сброса рекомендуется подождать 0,5 секунды перед отправкой новых команд.
Список основных команд запроса (ни одна команда запроса не имеет аргументов, все команды возвращают шестнадцатиричные значения).
- 0x42 – Get Status/запрос статуса. Возвращает число 0/1/2 для режимов Stopped/Playing/Paused.
- 0x43 – Get Volume/запрос установленной громкости звука. Возвращает число в диапазоне 0...30.
- 0x44 – Get Equalizer/запросить значение эквалайзера. Возвращает число в диапазоне 0...5 (согласно ранее установленному аргументу команды 0x07).
- 0x45 – Get Loop/запрос режима повторного воспроизведения. Возвращает число в диапазоне 0....4 (согласно ранее установленному аргументу команды 0x11).
- 0x46 – Get Version/запрос версии ПО. Возвращает число.
- 0x47 – Count files on SD Card/количество файлов на SD карте. Возвращает число файлов.
- 0x49 – Count files in on board flash memory/количество файлов во встроенной памяти. Возвращает число.
- 0x53 – Count folders on SD Card/количество папок на SD карте. Возвращает число.
- 0x4B – Get the index number (FAT table) of the current file on the SD Card/запрос номера воспроизводимого файла в таблице FAT, при воспроизведении с SD карты. Возвращает число.
- 0x4D – Get the index number MINUS ONE (!!) of the current file on the on board memory/запрос порядкового номера воспроизводимого файла минус 1 (потому что массив начинается с 0) во встроенной памяти. Возвращает число.
- 0x50 – Get the position in seconds of the current playing file/запрос позиции в секундах воспроизведения текущего файла. Возвращает число.
- 0x51 – Get the total length in seconds of the current playing file/запрос продолжительности текущего файла в секундах. Возвращает число.
Datasheet JQ6500 (PDF, ENG)
Datasheet HXJ8002 (PDF, ENG)
Datasheet GD25Q32 (PDF, ENG)