a33-支持8723bu的蓝牙mic

1. 之前8723bu的蓝牙,蓝牙放音都是能用的,但是蓝牙record不能用,厂家回复如下

MIC数据走的是硬件PCM接口, 您需要将蓝牙的PCM接口与Codec的PCM接口相连,这样MIC数据直接通过硬件到达Codec.对上层程序来说,就像一个真实的MIC一样.
     这部分需要将PCM参数设置正确, 另外将Codec的audio input path切换到蓝牙的PCM接口.

2. 那么需要复用,发现默认config里面认为是i2s1,看来需要used设置为i2s1_used

[i2s1]
i2s1_used            = 0
i2s1_channel         = 2
i2s1_master         = 4
i2s1_select         = 1
audio_format        = 1
signal_inversion    = 1
over_sample_rate    = 512
sample_resolution   = 16
word_select_size    = 32
pcm_sync_period     = 64
msb_lsb_first       = 0
sign_extend         = 0
slot_index          = 0
slot_width          = 16
frame_width         = 1
tx_data_mode        = 0
rx_data_mode        = 0
i2s1_mclk            =
i2s1_bclk            = port:PG11<2><1><default><default>
i2s1_lrclk           = port:PG10<2><1><default><default>
i2s1_dout            = port:PG12<2><1><default><default>
i2s1_din             = port:PG13<2><1><default><default>

设置完了之后,非常好asound设备里面多了card1。

3. 使用网上的andorid 蓝牙录音的BluetoothRecord 来测试,看看这次录制的是否是蓝牙mic的声音

1.结果不行,后来问厂家说PCM在8723里面是纯硬件的,也没有状态寄存器,数据也得不到,测量智能通过PCM 4个pin来测量。

但是从主机角度讲是标准的HFP协议。
HFP(Hands-free Profile),让蓝牙设备可以控制电话,如接听、挂断、拒接、语音拨号等,拒接、语音拨号要视蓝牙耳机及电话是否支持,是让蓝牙耳机进入高保真通话的一种可设置模式。所以android上面的sco实际上是建立HFP通道,如果建立成功那么其实就通知到8723bu把硬件链路建立起来,测试PCM接口就知道了。

2. 8723bu原厂会提供一个设置寄存器看开是否好用。

阅读更多
个人分类: linux驱动-audio
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭