mtk8127 bt sco 路径

本文介绍了MTK8127芯片在作为蓝牙耳机使用时的系统架构,详细剖析了数据结构,包括自旋锁和等待队列,并详细阐述了SCO(声音连接)的接收和发送流程。
摘要由CSDN通过智能技术生成

1 mtk8127做蓝牙耳机时的系统框图

下面是bt sco的音频通道、音频codec、ap、modem等模块的连接框图。


下图是当mtk8127做handfree client时,bt sco的音频数据流走向(红色的中空箭头表示down link的语音数据流,紫色的中空箭头表示up link的语音数据流,)

\
bt sco音频设备在内核空间对应的设备节点为:/dev/ebc.通过misc_register系统函数来注册struct miscdevice设备。

代码路径:

2 数据结构

接收循环buffer对应的数据结构,其中蓝牙mcu子系统往这个循环buffer队列中写,对应的写下标为:iPacket_w;而驱动上层read接口,则是从这个循环buffer队列中读,对应的读下标为:iPacket_r,并且这个读写下标都不是反卷的,都是线性增长,当需要使用反卷的效果时,只需要执行如下操作即可:btsco.pRX->iPacket_w/iPacket_r & SCO_RX_PACKET_MASK
typedef struct
{
    kal_uin
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值