Работа с аудиоинтерфейсами на LTE-модеме MC7304
MC7304 (рис. 1) — популярный LTE-модем от компании Sierra Wireless, построенный на базе чипсета MDM9215 (Qualcomm). Модем выполнен в форм-факторе miniPCIe и работает в сетях LTE, 3G и GSM, поддерживает LTE Cat.3 и скорости передачи данных до 100 Мбит/с на скачивание и до 50 Мбит/с на загрузку. Также в MC7304 есть встроенный навигационный приемник для работы со спутниковыми системами GPS и ГЛОНАСС.
Для работы со звуком в МС7304 предусмотрены интерфейсы PCM, I2S и USB. При работе через PCM или I2S необходим внешний аудиокодек (рис. 2). Тестирование будем проводить с помощью отладочного набора с кодеком WM8994.
МС7304 реализует цифровой аудиоинтерфейс PCM/I2S (таблица), используя выделенный последовательный канал для цифровых аудиоданных.
Номер контакта |
Назначение |
45 |
PCM Clock/I2S Clock |
47 |
PCM Data Out/I2S Data Out |
49 |
PCM Data In/I2S Data In |
51 |
PCM SYNC/I2S WS |
Все остальные сигналы, такие как субкодирование и управление, передаются отдельно. Настройка аудиоинтерфейсов осуществляется с помощью АТ-команд AT!AVCFG и AT!AVSETPROFILE:
- AT!AVCFG — привязка профиля к аудиоинтерфейсу и настройка звука для каждого профиля;
- АТ!AVCFG =<profile>, <device>, <interface>, < mode>, <rate>, <format>, <padding>, <clock>;
- AT!AVSETPROFILE — выбор профиля.
Работа со звуком через PCM
На рис. 3 показано подключение двух отладочных плат (справа PCI Express Mini Card DevKit, слева — Audio development board WM8994) для работы через PCM-интерфейс.
РСM-интерфейс на модуле MC7304 имеет следующие характеристики:
- режим Slave, Master или auxiliary PCM;
- частота 8 или 16 кГц;
- формат аудиосжатия Linear, m-law, A-law;
- заполнение: On/Off;
- битов на фрейм — 8, 16, 32, 64, 128, 256.
Для тестирования использовались следующие настройки:
АТ!AVCFG=0,0,0,0,0,0,0,5 OK
То есть профиль «0» настроен на PCM-интерфейс в режиме Slave и работу с устройством hands-free.
<profile> = 0 - profile 0 <device> = 0 - Vehicle HF <interface> = 0 - PCM <mode> = 0 - Slave <rate> = 0 - 8K <format> = 0 - Linear <padding> = 0 – Disabled <clock> = 5 - 256 BPF
Теперь выберем этот профиль:
AT!AVSETPROFILE=0 OK
Настроим WM8994 на PCM-интерфейс:
AT!AVMFTCODECMODE=2 OK
Зададим громкость:
AT!AVSETVOL=0,0,5 OK
Делаем вызов:
ATD89319763ххх; OK
Теперь рассмотрим работу через I2S-интерфейс. Для этого переключим на соседний разъем шлейф с отладки МС7304 (рис. 4).
Интерфейс I2S на модуле MC7304 имеет следующие характеристики:
- режим Master;
- частота дискретизации 48 кГц;
- битов на фрейм — 16;
- частота шины 1536 кГц.
Настроим новый профиль на работу через I2S:
АТ!AVCFG=1,0,1 OK <profile> = 1 - profile 1 <device> = 0 - Vehicle HF <interface> = 1 - I2S
Теперь выберем этот профиль:
AT!AVSETPROFILE=1 OK
Настроим WM8994 на PCM-интерфейс:
AT!AVMFTCODECMODE=1 OK
Зададим громкость:
AT!AVSETVOL=1,0,5 OK
Смена аудиоинтерфейса осуществляется только после перезагрузки модема:
AT!GRESET OK
Делаем вызов:
ATD89319763ххх; OK
Работа со звуком через USB
Рассмотрим работу со звуком через USB. После установки драйверов на операционной системе Windows при подключении модуля в диспетчере устройств автоматически определяется новое аудиоустройство «МС7304» (рис. 5).
После этого можно переключить микрофон и динамики (рис. 6) на МС7304.
Настроим еще один профиль на МС7304 для работы со звуком через USB.
АТ!AVCFG=2,0,3 // profile 2, Vehicle HF, USB интерфейс OK
Выберем этот профиль:
AT!AVSETPROFILE=2 OK
Зададим громкость:
AT!AVSETVOL=2,0,5
Делаем вызов:
ATD89319763ххх; OK
Также можно осуществлять аудиозапись, сохранять эти файлы в память МС7304 и воспроизводить. Любой из интерфейсов может быть использован для воспроизведения (например, I2S).
Голосовые вызовы
Для записи голосового вызова необходимо настроить модем следующим образом.
АТ!AVCFG=1,0,1 // работаем через I2S OK AT!AVSETPROFILE=1 // выбрали профиль 1 OK ATD89319763ххх; // исходящий вызов OK CONNECT
Для начала и окончания записи используется команда AT!AVAUDIO. Обязательным параметром является указание места сохранения записи. Рекомендуется использовать папку «/usr», поскольку она имеет возможность чтения и записи (остальные — только чтения).
AT!AVAUDIO=2,1,/usr/test.wav // 2 - аудиозапись, 1 - старт, /usr/test.wav - куда сохранять ОК //имя сохраняемого файла AT!AVAUDIO=2,0 // остановка записи ОК AT!AVVIOCE=0 // для воспроизведения записи отключаем прием голосового потока OK AT!AVAUDIO=1,1,/usr/test.wav // 1 - воспроизведение, 1 - старт, имя файла OK AT!AVAUDIO=1,0 // остановка воспроизведения OK AT!AVVIOCE=1 // возвращаем настройки по умолчанию для голосового потока OK ATH // повесили трубку OK
При работе через ПК записывать и воспроизводить аудиофайлы можно с помощью стандартных средств Windows или бесплатных программ, например Audacity (рис. 7).
Для начала записи выбираем микрофон МС7304 и нажимаем Record. По окончании вызова сохраняем запись. Для воспроизведения записи в качестве динамиков выбираем МС7304 и нужную аудиозапись. При голосовом вызове нажимаем PLAY.
Эти возможности работы со аудио могут найти свое применение:
- в call-центрах для оптимизации работы операторов; в системах контроля качества связи;
- в IVR (Interactive Voice Response) — системах предварительно записанных голосовых сообщений;
- в системах предоставления рекламно-информационных услуг;
- в ЦОД;
- и проч.
- AirPrime EM73xx/MC73xx AT Command Reference Rev.2.
- AirPrime MC Series Dev Kit Quick Start Guide Rev.2.
- AirPrime MC7304 Product Technical Specification & Customer Design Guidelines Rev.12.
- AirPrime — MC7304 — Audio Management. Application Note
- http://source.sierrawireless.com/devices/mc-series/mc7304/