реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> BlueCore PCM-codec
b_a
сообщение Jan 29 2008, 07:02
Сообщение #1





Группа: Участник
Сообщений: 11
Регистрация: 28-01-08
Пользователь №: 34 521



соединяю модуль WT12 BlueGiga (BlueCore4) с bluethooth-гарнитурой
Проблема в следующем: кодек работает по mu- или a-low. а wt12 по умолчанию настроен на 13-bit linear
PSKEY_PCM_CONFIG32 я соответственно изменил, но звук всё равно отвратный
может кто сталкивался с такой проблемой?

у чипа есть PSKEY_PCM_FORMAT но нигде не описан


заранее спасибо ответившим
Go to the top of the page
 
+Quote Post
boroda1983
сообщение Jan 29 2008, 07:28
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 49
Регистрация: 3-04-06
Пользователь №: 15 753



Цитата(b_a @ Jan 29 2008, 10:02) *
соединяю модуль WT12 BlueGiga (BlueCore4) с bluethooth-гарнитурой
Проблема в следующем: кодек работает по mu- или a-low. а wt12 по умолчанию настроен на 13-bit linear
PSKEY_PCM_CONFIG32 я соответственно изменил, но звук всё равно отвратный
может кто сталкивался с такой проблемой?

у чипа есть PSKEY_PCM_FORMAT но нигде не описан
заранее спасибо ответившим


Вам нужен обычный линейный PCM-кодек, сжатие SCO данных производится аппаратно в BlueCore, для Handfree и Headset профилей, обязательным является формат сжатия CVSD. Подключал к PCM внешние кодеки, работают отлично. Например, как на ките Casira, MC145483DW.

Описание ключа PSKEY_PCM_FORMAT

The data format used to send SCO data over the PCM port. The format is
the same as for HCI_Write_Voice_Setting. The bottom two bits of this
key (air format) are always ignored and should be set to zero. The air
format specified with HCI_Write_Voice_Setting will be used instead.

The Bluetooth HCI spec mandates that devices boot up with 16 bit
linear data format, unfortunately many PCM codecs do not expect this
format so this key allows the HCI format to be overridden so that
manufacturers can set it correctly for the hardware and application
authors do not need to know the correct format.

If this key is set to the magic value 0xffff then the format specified
with HCI_Write_Voice_Settings will be used and hence the PCM format
can be changed dynamically (this is almost never what you want).

On BlueCore2 all PCM streams get the same format.

On devices with an internal codec, if SCO data is routed to the
internal codec then this key will be ignored and the correct value for
the internal codec will be used.
Go to the top of the page
 
+Quote Post
b_a
сообщение Jan 29 2008, 07:39
Сообщение #3





Группа: Участник
Сообщений: 11
Регистрация: 28-01-08
Пользователь №: 34 521



Цитата(boroda1983 @ Jan 29 2008, 10:28) *
Вам нужен обычный линейный PCM-кодек, сжатие SCO данных производится аппаратно в BlueCore, для Handfree и Headset профилей, обязательным является формат сжатия CVSD. Подключал к PCM внешние кодеки, работают отлично. Например, как на ките Casira, MC145483DW.

Описание ключа PSKEY_PCM_FORMAT

The data format used to send SCO data over the PCM port. The format is
the same as for HCI_Write_Voice_Setting. The bottom two bits of this
key (air format) are always ignored and should be set to zero. The air
format specified with HCI_Write_Voice_Setting will be used instead.

The Bluetooth HCI spec mandates that devices boot up with 16 bit
linear data format, unfortunately many PCM codecs do not expect this
format so this key allows the HCI format to be overridden so that
manufacturers can set it correctly for the hardware and application
authors do not need to know the correct format.

If this key is set to the magic value 0xffff then the format specified
with HCI_Write_Voice_Settings will be used and hence the PCM format
can be changed dynamically (this is almost never what you want).

On BlueCore2 all PCM streams get the same format.

On devices with an internal codec, if SCO data is routed to the
internal codec then this key will be ignored and the correct value for
the internal codec will be used.


спасибо, но это описание из PSTools я прочитал
может есть более подробное описание битов ключа чтобы изменить этот "16 bit linear data format"
а кодек MC145483 не выпускается с 2005 года и вообще линейных кодеков я не нашел, всё что продаётся a- или mu-law
Go to the top of the page
 
+Quote Post
boroda1983
сообщение Jan 29 2008, 08:18
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 49
Регистрация: 3-04-06
Пользователь №: 15 753



Цитата(b_a @ Jan 29 2008, 10:39) *
спасибо, но это описание из PSTools я прочитал
может есть более подробное описание битов ключа чтобы изменить этот "16 bit linear data format"
а кодек MC145483 не выпускается с 2005 года и вообще линейных кодеков я не нашел, всё что продаётся a- или mu-law

Ну там же четко написано, что формат совпадает с компандой HCI_Write_Voice_Setting, открываете спецификацию Bluetooth, и читаете. Кодеки линейные есть у wolfson, под них много примеров у CSR. А кодек MC145483 мне очень понравился, единственный недостаток размер, жаль, что его сняли с производства

Сообщение отредактировал boroda1983 - Jan 29 2008, 08:19
Go to the top of the page
 
+Quote Post
b_a
сообщение Jan 29 2008, 08:50
Сообщение #5





Группа: Участник
Сообщений: 11
Регистрация: 28-01-08
Пользователь №: 34 521



Цитата(boroda1983 @ Jan 29 2008, 11:18) *
Ну там же четко написано, что формат совпадает с компандой HCI_Write_Voice_Setting, открываете спецификацию Bluetooth, и читаете. Кодеки линейные есть у wolfson, под них много примеров у CSR. А кодек MC145483 мне очень понравился, единственный недостаток размер, жаль, что его сняли с производства

не хотелось изучать спецификацию Bluetooth, специально взял готовый модуль с готовыми профилями, но видимо придётся. а кодек поменять тоже не просто, платы уже готовы
Go to the top of the page
 
+Quote Post
boroda1983
сообщение Jan 29 2008, 09:02
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 49
Регистрация: 3-04-06
Пользователь №: 15 753



Цитата(b_a @ Jan 29 2008, 11:50) *
не хотелось изучать спецификацию Bluetooth, специально взял готовый модуль с готовыми профилями, но видимо придётся. а кодек поменять тоже не просто, платы уже готовы

да ее не нужно изучать, там формат команды описан, и все биты указаны
Go to the top of the page
 
+Quote Post
b_a
сообщение Jan 29 2008, 09:11
Сообщение #7





Группа: Участник
Сообщений: 11
Регистрация: 28-01-08
Пользователь №: 34 521



Цитата(boroda1983 @ Jan 29 2008, 12:02) *
да ее не нужно изучать, там формат команды описан, и все биты указаны

да нашел таблица 4-41
но там расписаны 9 бит, причём для liner все 0, а в модуле 006с
Go to the top of the page
 
+Quote Post
boroda1983
сообщение Jan 29 2008, 09:41
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 49
Регистрация: 3-04-06
Пользователь №: 15 753



Цитата(b_a @ Jan 29 2008, 12:11) *
да нашел таблица 4-41
но там расписаны 9 бит, причём для liner все 0, а в модуле 006с

Не знаю как Вы смотрите, спецификация Bluetooth 2.0, 6.12 Voice settings. 0x6c = 0b01101100.
Далее формат с младшего бита
00 - Air coding
011 - Linear_PCM_Bit_Pos: # bit positions that MSB of sample is away from starting at MSB (only for Linear PCM). 13 бит PCM
1 - Input Sample Size: 16-bit (only for linear PCM)
01 - Input Data Format: 2’s complement
00 - Linear
Go to the top of the page
 
+Quote Post
b_a
сообщение Jan 29 2008, 12:11
Сообщение #9





Группа: Участник
Сообщений: 11
Регистрация: 28-01-08
Пользователь №: 34 521



нашел, спасибо, сейчас буду пробовать


всё работает
ещё раз большое спасибо
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 22:03
Рейтинг@Mail.ru


Страница сгенерированна за 0.01413 секунд с 7
ELECTRONIX ©2004-2016