Цифровой микрофон PDM -> SHOUTcast MP3

Обсуждаем цифровые устройства...
Ответить
Друг Кота
Сообщения: 5590
Зарегистрирован: Ср июл 14, 2010 18:27:52

Сообщение Слесарь »

Здравствуйте!
У меня уже есть опыт изготовления аппаратных SHOUTcast MP3 радиоприемников, теперь мне хотелось бы изготовить беспроводной домофон с цифровым микрофоном TC100E (PDM, pulse density modulation), программным кодером MP3 на базе микроконтроллера и радио-трансивером со скоростью передачи данных до 200 кбит/сек.
То есть, на улице человек говорит в цифровой микрофон, данные поступают в микроконтроллер, перекодируются в MP3 (моно 32 кбит/сек), упаковываются в SHOUTcast протокол, передаются по радиоканалу в домашний модуль, там микроконтроллерам обрабатывается SHOUTcast, далее MP3 поток декодируется аппаратным MP3 декодером. Звуковой сигнал подается на динамик.
Подскажите, что можно почитать по кодированияю MP3 разговорного качества?
Реклама
Друг Кота
Сообщения: 5590
Зарегистрирован: Ср июл 14, 2010 18:27:52

Сообщение Слесарь »

MP3 декодер VS1011 на домашнем блоке поддерживает

Decodes MPEG 1.0 & 2.0 audio layer III
(MP3: CBR, VBR, ABR); layers I & II
(MP1, MP2) optional; WAV (PCM + IMA
ADPCM)

радио трансивер поддеривает до 200 кбит/сек
Можно использовать WAV но какое получится качество ? канал нельзя занимать постоянно, потребуется оставлять окна для коммуникаций с другой аппаратурой. В случае MP3 при музыкальном качестве, мне нравится что окна могут быть до нескольких секунд. Использую буферную память 64 КБайта.
Реклама
Друг Кота
Сообщения: 13796
Зарегистрирован: Чт сен 20, 2007 14:08:00

Сообщение kalobyte »

все уже придумано и куда проще
http://we.easyelectronics.ru/kalobyte-y ... darom.html
тематические ответы только в форуме, в приват не пишите
Друг Кота
Сообщения: 5590
Зарегистрирован: Ср июл 14, 2010 18:27:52

Сообщение Слесарь »

kalobyte писал(а):все уже придумано и куда проще
http://we.easyelectronics.ru/kalobyte-y ... darom.html
не проше...
nRF24Z1
offers a transparent audio channel with capacity of up to 1.54 Mbit/s,

У меня скорость передачи до 200 кбит/сек.

Вот новая информация по проекту:
Пробую использовать WAV формат для двунаправленной передачи голоса 8бит, 11000, моно, то есть, 90 кбит/сек на прием, так же 90 кбит/сек на передачу. Использую трансивер CC1101 (FSK-трансивер, до 1ГГц, SPI, 2.0 - 3.6V, RX 3...21mA -110dBm, TX 45mA +14dBm, до 200Кбит/с).
Как понимаю, скорость переключения трансивера прием/передача отражена этим параметром - RX/TX turnaround 40 μs. плюс некоторая погрешность совместной работы двух трансиверов. не будет ли звук прерывистым?
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Сообщения: 13796
Зарегистрирован: Чт сен 20, 2007 14:08:00

Сообщение kalobyte »

кто ж его знает
эти трансиверы не предназначены для звука
Слесарь писал(а):offers a transparent audio channel with capacity of up to 1.54 Mbit/s,

У меня скорость передачи до 200 кбит/сек.
никто не запрещает тебе передавать через него и 200кбит и никакой мр3 не нужен
тематические ответы только в форуме, в приват не пишите
Реклама
Друг Кота
Сообщения: 5590
Зарегистрирован: Ср июл 14, 2010 18:27:52

Сообщение Слесарь »

Такое решение:

Беру кварц на 2 МГц (спецификация тактового сигнала цифрового микрофона 1...3 МГц). С выхода кварцевого генератора тактирую цифровой микрофон.
Сигнал кварцевого генератора поступает на модуль PLL МК PIC18 и частота умножается на четыре для нормальной работы МК (тактовая частота 8 МГц).
Преобразовываю PDM -> PCM с помощью TMR3 работающего в роли счетчика (для данного случая 8-битного, использую 8-битную оцифровку звукового сигнала). TMR1 использую в роли таймера, отсчитывающего 256 тактов частоты задающего генератора и выдающий аппаратное прерывание.
По событию прерывания от TMR1 считывается значение TMR3 и заносится в ячейку последовательной буферной памяти. TMR3 сбрасывается. TMR1 активируется и все по новой.

TMR3 конфигурируется на инкремент по входу RC0 (данные цифрового микрофона).
TMR1 конфигурируется на инкремент по тактовой частоте делитель/4 (2 МГц) как и тактирующий сигнал цифрового микрофона.

Суть идеи, подсчитывать количество ответных импульсов микрофона за 256 тактов микрофона. 0 импульсов микрофона преобразуется в 0 значение кода PCM, то есть, минимум звуковой синусоиды в коде PCM. 128 импульсов микрофона преобразуется в 125 значение кода PCM, то есть, середина звуковой синусоиды в коде PCM.
256 импульсов микрофона преобразуется в 255 значение кода PCM, то есть, максимум звуковой синусоиды в коде PCM.
Каждое новое значение PCM запишется в новую ячейку SPI SRAM памяти на тактовой частоте FOSC/4 .

Правильный ли у меня ход мысли? Какая будет критика?

В SRAM желательно писать PCM код согласно спецификации WAV (Render 11 025 Hz; 8-bit; Mono PCM audio wave) с частотой 11025 Hz, но о таком преобразовании с частоты 2 МГц/256 = 7812,5 Гц пока еще думаю.

Выход из положения, необходимо взять кварц на 2.822400 МГц. Если конечно моя парадигма преобразования верна.
Реклама
Ответить

Вернуться в «Цифровая техника»