蓝牙耳机及其放大电路实用设计汇总
vInitializeSdp(); //SDP初始化完成
vInitializeRf(); //RFCOMM初始化完成
vInitializeHA(); //HeadsetApplication初始化完成
exit(); //退出
(2)系统初始化函数(以L2CAP为例)
typedet
{MSG_IDSdpToL2cap;
MSG_ID L2capToSdp;
MSG_ID RfToL2cap;
MSG_ID L2capToRf;
MSG_lD HAToSdp;
MSG_ID SdpToHA;
MSG_ID HAToRf;
MSG_ID RfToHA;
}MSG_QUEUE_ID//定义消息队列1D结构体类型
MSG_QUEUE_ID MsgQueueld; //定义全局消息队列ID结构体,用于存放每个消息队列的ID
vInitlalizeL2caD();//L2CAP初始化,包括初始化全局变量、创建定时器、创建消息
//队列、创建并启动任务
(3)LMP软件设计
基带程序运行在蓝牙芯片的信号处理单元中,而LMP程序运行在蓝牙芯片的微处理器中,它们通过邮箱来交换信息。只要任何一方向邮箱发送了信息,邮箱就会产生中断信号,另外一方可以在中断服务程序中进行信息读取和处理。其处理函数为;
vLmpDealFromBB()
//处理来自BaseBand层的消息以建立连接,对来自BaseBand层
//的操作码
决定接受与否,并进行鉴权、加密、处理或断开等操作
(4)L2CAP软件的设计
tL2capDealMsgFromSdp()
//处理来自SDP层的消息SdpToL2eap,生成L2CAP数据包,把数据传BaseBand层
tL2capDealMsgFromRf()
//处理来自RFCOMM层的消息RfToL2cap,生成L2CAP数据包,把数据传BaseBand层
vL2capDealMsgFromBB()
//处理来自BaseBand层的消息,在处理器邮箱中断程序被调用
(5)SDP软件的设计
tSdpDealMsgFromL2cap()
//处理来自L2CAP的消息L2capToSdp,并上报搜索到的服务的属性
tSdpDealMsgFromHA()
//处理来自HeadsetApplieation的消息HAToSdp,对上报信息进行应答
(6)RFOOMM软件的设计
tRfDealMsgFromHA()
//处理来自HeadsetApplication的消息HAToRf,生成RFCOMM数据包,传送给L2CAP
tRfDealMsgFromL2cap()
//处理来自L2CAP的消息L2capToRf,对不同的帧进行处理
(7)HeadsetApplication软件的设计
tHADealMsgFronaSdp()
//处理来自SDP的消息SdpToHA,判断是否正常并处理
tHADeaIMsgFromRf()
//处理来自RFCMM的消息RfToHA,对AT命令及其应答作出处理
5 语音传输建立过程
蓝牙耳机系统工作时总是蓝牙语音网关(AG)和蓝牙耳机(HS)成对出现的。其通信所用到的协议栈及实体如图4所示。
蓝牙设备连结的建立遵循底层到高层的原则,即搜索蓝牙设备、建立链路、服务搜索、建立信道、建立连接和数据传输。
以下是音频连接建立的全过程。(以AG主动发起连接请求为例。)
①AG首先发起查询,通过查询AG获得HS的蓝牙地址。
②AG在应用层的驱动下向查询到的HS发起一个page进程。当接收到HS返回的应答信号时,AG与HS之间的ACL链接已经成功建立。
③一旦ACL链接建立,即可以被用来传送振铃信号。振铃信号的发送是通过AT命令RING来完成的。
④ACL链接好后,接着建立L2CAP链路。AG首先在信令信道上发送一个链接请求信令L2CAP_req,要求建立信道标号为0x0040的 L2CAP。当HS返回链接响应信号时,表明0x0040信道已经建立好。然后对此信道进行配置,配置完信道后,就可以利用此CID(信道标识符)为 0x0040的L2CAP信道进行SDP查询。
⑤AG在L2CAP信道上发送一个SDP查询包。SDP查询包将查询SDP服务器端HS 是否具有所需要的服务。若查询成功,在ACL链路上,AG再建立一条标号为0x0041的l.2CAP链路,用来传输RFCOMM数据;同时,断开用作 SDP查询的标号为0x0040的L2CAP链路。
⑥当CID为0x004l的L2CAP信道建立好之后,首先建立控制信道 DICIO,AG在信道上发送一个SABM帧,即要求建立RFCOMM层上的 Channel O。如果响应方HS希望建立链接,返回一个VA帧,表明已经建立好了Channel 0这条RFCOMM信道。此信道为控制信道,用来传送携带控制信息和命令的UIM帧。如果响应方HS不希望建立链接,返回一个DM帧。其次建立数据信道, 先是对数据传送信道的参数进行协商,协商命令PN参数包括对将要建立的信道Channel 1的优先级,最大帧长等,当双方协商好后建立传输数据的信道Channell。
⑦通过RFooMM信道传输HS控制层的AT命令,即在RFCOMM数据传送信道Channe1上利用UIH帧传送AT+CKPD命令。当接收到对方的响应后,就可以开始建立SCO链接。
⑧HCI(主机控制接口)发一个WRITE_VOICE_SETTING命令,对音频状态进行一些设置。当接收到AG的建立SC0链接
- 通信距离超100米,智能手机APP控制蓝牙智能电子烟方案(07-07)
- 智能蓝牙技术原理及设计方案集锦(11-05)
- 蓝牙5.0:吹响人工智能的集结号(03-20)
- 采用MBM02模块的蓝牙耳机的设计(06-25)
- 基于MBM02模块的蓝牙耳机的设计(09-20)
- Iqua SUN引领蓝牙耳机跻身“绿色”阵营(01-13)