这篇文章描述了音频接收器应用软件,其包括在CSR音频开发套件的标准安装包中。
注意:对不熟悉CSR xIDE开发环境的读者来说,CSR建议在做任何其他事情之前先阅读xIDE用户手册。
这个章节是音频接收器应用的概观,其包含在CSR音频开发套件(ADK)的标准安装中。
音频接收器应用是可修改的参考软件包,其应用在支持蓝牙技术的音频渲染设备上。它是一个片上虚拟机应用,被明确地设计以在CSR硬件平台上运行。
章2.2.1到2.2.3列出了参考接收器应用实施的蓝牙情景模式。
音频接收器应用软件包被设计成运行在CSR的CSR8670和CSR8675蓝牙内核ICs上。可用的CSR硬件开发平台,请看章3.1和3.2。
H13179参考设计板与CSR8675的H13478模块配对使用。
有很多数量的CSR插件板,提供了参考硬件设计以支持额外的硬件特征,见章3.3.1到3.4.3。
这个插件板提供了一个功率放大器耳机输出,用的是模拟立体声耳机功率放大器。
这个插件板提供了一个功率放大器输出,用的是数字I2S功率放大器。
这个插件板提供了多通道的功率放大器输出,同时使用模拟和I2S功率放大器。它有两个TAS5715 I2S功率放大器。每个都有一个主输出,标记为I2S1/2,还有一个耳机输出,标记为I2S1/2 HEADPHONES。每个功率放大器能够输出给主输出或耳机输出。
CON4的SPKR输出通路给多通道功率放大器上的CODEC和CODEC HEADPHONES输出终端。CODEC耳机输出有一个JACK_DET线连接到CON4的AMP_MISO输入,连接到H13179v2板上的PIO[3]。当耳机已经插入插孔JACK_DET在是高电平,当耳机已经拔掉后是低电平。
这个插件板提供了一个SPDIF接口(输入和输出),还有红外接收器。
注意:在这个板子上不能既支持SPDIF又支持红外,只能使用其中之一。
这个插件板提供了一个额外的显示和FM收发功能。FM模块是Si4704/05-D50 FM无线接收器和Si4710-B30-GM FM无线发射器。显示器是TMG1C16265模块,提供16x2个字符。所有模块由CSR8670或CSR8675用I2S接口控制。同样提供SD卡槽。
显示和FM扩展板——连接开发板的快速开始指导说明。
注意:
接收器应用不支持CNS10010v1的FM发射或SD卡特征。
应用不能支持同时使用这块板的FM接收和显示,只能选其中之一。
这个章节描述了CSR支持的公用开发工具,帮助音频接收器应用的软件开发。
CSR xIDE软件开发环境能被用来:
注意:如果不熟悉xIDE环境,CSR建议阅读xIDE用户指导。
通用前端(UFE)工具用来配置DSP,UFE工具的许多元件都被各种用户手册覆盖了,作为ADK文件包的组成部分。
PSTool用来读取,设置或清除各个蓝牙内核设备的PS钥匙。见BlueLab PSTool用户手册。
BlueFlash是一个开发工具,提供了一个接口以管理目标硬件的内部存储。它提供了下列功能:
- 开始/停止目标处理器
- 擦除Flash(擦除整个芯片,擦除栈,擦除DFU/加载器,擦除不变存储,废止文件系统)
- 标识目标硬件的固件ID
- 在主设备上将文件的整个内容转存入目标硬件
- 将预编译映像烧录到目标硬件
接收器配置工具可用来配置音频接收器应用,见ADK配置工具用户手册以获取更多信息。
这个章节给出了音频接收器应用的系统结构的概览。
图5.1概述了关键的独立元件和其他内部层次,分成两个主要的部分,在固件之上的应用沙盒和底层上的固件层。
这个本机代码由硬件存储管理器单元保护,提供一个被保护的程序空间,在这里应用能被执行且不影响蓝牙射频性能。沙盒被分配了一个较低的优先级,而射频和蓝牙栈给定的是最高的优先级。当沙盒代码被执行,从固件来的消息或事件被触发,在调度完成之前需要2ms(除非在此之前发生了中断)。不管怎样,调入固件运行完成。
连接库包裹在蓝牙栈API周围,以管理遥控设备的蓝牙连接。它提供了一个简单的API以允许更高的层建立、升级和销毁蓝牙设备的连接。连接库支持基础速率,增强速率和蓝牙智能连接。
支持库提供了多种功能以使得一个外设库更容易使用。例如电池库。这些库也提供了简单的帮助功能,例如用数据结构管理蓝牙地址,正如在bdaddr库中。表5.1列出了音频接收器应用支持的库:
每个情景模式库实施了单个蓝牙情景模式的复杂功能,并管理远程设备情景模式的连接。
片上情景模式库使用的是更低协议影响的连接库,然而别忘了接收器应用本身的时间限制,绕过连接库的捷径并不少见,且有时的确是必要的。
情景模式库为应用层提供了简单的API以容许用简单的方法使用复杂的蓝牙情景模式。表5.2列出了音频接收器应用支持的情景模式库:
音频接收器应用使用事件作为用户接口,这些分为两个类型:
1. 控制事件,见章5.5.1
2. 指示事件,见章5.5.2
控制事件允许用户控制应用,例如:
可用的控制事件包含在这个文档的相关子章节中。
指示事件应用向用户指示活动。典型地当这些事件发生时,音频提示音或音频提示被启动,指示包括如下例子:
可用的指示事件包含在这个文档的相关子章节中。
音频接收器应用有一个中央状态机控制应用的主要状态,表5.3列出这些状态。
音频接收器应用支持三种独立的运行模式:
1. 头戴式耳机模式,见章6.1
2. soundbar模式,见章6.2
3. 同级设备模式,见章6.3
头戴式耳机模式允许基于优先级列表的音频源的自动切换。当一个音频源在索径时变得可用,他的优先级被检查以对比任何当前正在使用的源,如果它的优先级更高则变成当前正在使用源。否则,呼入的音频作静默处理。
Soundbar模式改变了音频寻径模式,这样音频源可以手动选择和路由,而不是基于优先级列表的自动选择和路由。
当音频接收器应用已经被配置以建立一个soundbar,低音炮链接可以被支持。低音炮链接用作soundbar到低音炮的低带宽音频信号的接替,这样低音炮能给出只包含低音频率的音频信号,且与soundbar之间的迟滞最小。
同级设备模式包含在ADK接收器应用同级设备模式用户手册中,这个文档中包含更详细的信息。
音频接收器应用支持一定数量的蓝牙情景模式和非蓝牙接口,见章2。开发配置选项被用来以简单地配置或关闭各个特征和接口。
由于限制它不能同时支持许多开发选项,因此,这些选项被明确以专门给特定的操作模式。
这个章节列出了所有可用的开发选项,这些选项被限制在一个特定的操作模式。
注意:许多开发选项在这个章节中被配置成样例产品的工程文件。为了得到更多信息,见音频接收器应用工程资源。
表7.1列出了在头戴式耳机模式下明确可用的开发选项。
表7.2列出了在soundbar模式下明确可用的开发选项。
表7.3列出了在同级设备模式下明确可用的开发选项。
这个章节描述了一般配置开发选项。一般选项不明且限定在一个操作模式之内。
表7.4列出了可用的音频接收器应用的呼叫特征开发选项。
表7.5列出了可用的音频接收器应用的音频编解码开发选项。
表7.6列出了音频接收器引用可用的蓝牙智能开发选项。
表7.7列出了音频接收器应用的可用AVRCP开发选项。
表7.8列出了音频接收器应用的可用USB开发选项
表7.9列出了音频接收器应用的可用GAIA开发选项
表7.10列出了音频接收器应用的可用FM开发选项
表7.11列出了音频接收器应用可用的开发选项,他们不能放入任何其他的逻辑分组
定义符号用来条件化编译确定的代码特征,这个章节描述了音频接收器应用的公用定义符号。
当在运行音频接收器应用时添加DEBUG_PRINT_ENABLED定义符号将使能调试输出。特定特征的调试可以被使能和禁止,靠的是修改sink_debug.h文件内的相关定义符号,或增加特定的定义符号。
注意:当在应用或库内的调试被使能,应用不能运行在没有调试器介入的情况。表8.1列出了可用的调试器定义。
在使用之前,目标硬件必须配置成有效配置。这个部分描述了在目标设备上运行音频接收器应用所需的配置。
音频接收器应用的默认配置文件能在ADK安装文件目录中找到:
\apps\sink\configurations
为了配置一个系统,需要两个配置文件
1. 系统配置,见章9.1.1
2. 应用配置,见章9.1.2
注意:当安装配置文件到设备中时,不管是谁命令配置文件的都不重要。
目标硬件命令了应答使用的系统配置。表9.1描述了音频接收器应用可用的系统配置文件。
音频接收器应用有能力用许多不同的和唯一的方法配置,以支持特定的终端产品的需求。因此,CSR已经定制了很多配置已经提供的样例和终端产品。每个产品和它的配置的详细信息,请看音频接收器应用工程资源。
音频接收器应用支持多种音频源,章10.1.1到10.1.7描述了支持的音频源。
有线音频输入提供了有线输入源,表10.1列出了音频接收器应用支持的有线音频源。
注意:当使用CSR8670平台时,PCM和I2S音频源不能在同一个工程中被支持。
当将USB连接到主机时支持USB音频输出,音频接收器应用有能力提供音频源,见章7.4.5以获取更多信息。
音频接收器应用能支持FM接收器,为了使用FM音频,FM接收器硬件的需要请看章3.4.3。从FM接收器来的音频能被用于输入源且路由到活动的音频输出接口,见章15。
表10.2列出了音频接收器应用支持的蓝牙SCO音频
SCO和ESCO包类型被支持
SCO和ESCO包类型被支持
表10.3列出了音频接收器应用可用的从A2DP编解码器而来的音频
音频接收器应用支持一个简单的语音识别算法,允许用户控制行为,见章12.6。
章10.1.7.1到10.1.7.3描述了音频接收器应用对SPDIF音频源提供的支持。章3.4.2展示了支持SPDIF音频源的硬件需求。
注意:SPDIF输入只在soundbar模式下可用。
默认情况下,音频接收器应用支持SPDIF上的由IEC61937标准定义的压缩数字音频,且支持标准SPDIF采样速率:
即将到来的数据包含了自动检测采样速率。任何采样速率的变化都是平滑的。
CSR提供coaxial(RCA连接器)的硬件参考设计和optical(TOSLINK) SPDIF连接器,如果需要这个硬件请联系CSR获取更多资料。
章节3.4.2展示了支持SPDIF音频源所需的硬件。
CSR能提供支持以解码dolby AC-3 SPDIF音频信号,这能用在DVD播放器或游戏控制台的输出。如果需要的话,联系CSR以支持获取dolby认证AC-3解码器和指令。
音频接收器应用支持的音频输出描述于章10.2.1到10.2.2
音频接收器应用的音频流能解码成PCM音频流和其他需求,这个流被连接到蓝牙内核DAC且作为模拟音频输出。
音频接收器应用的音频流解码能被解码成I2S音频流和其他需求,这个流连接到一个外部I2S数字功率放大器。
更多有关I2S音频接口的信息,请阅读ADK I2S用户手册。
注意:
1. 当音频接收器应用使能了低音炮链接,I2S输出速率总是设定为48kHz。这与在配置工具内的用户定制的输出速率完全无关,且总是有效的,与低音炮连接是否处在运行期间无关。
2. 如果无线低音炮正在被连接,I2S输出外设在连接到蓝牙内核时需要设为从模式
默认情况下,接收器应用支持SPDIF输出;当使用SPDIF输出时支持的音频数据格式是立体声PCM,下列采样速率被支持:
章3.4.2列出了SPDIF音频输出的硬件需求。
注意:SPDIF输出不支持IEC61937标准。
音频接收器应用能将正在输入的立体声音频源以频率带宽划分且有多个音频输出能被发送给被支持的输出源。
CSR8675有着对多通道输出的全部支持,除了CODEC输出还有两个I2S输出,能被同时用作SPDIF输入。
在CSR8670上有着受限的多通道输出的支持,除了CODEC输出还只有一个I2S输出,不能够被同时用来做SPDIF输入。
DSP提供了能被路由到任何CODEC或I2S输出的多个通道:
多通道输出使用多通道功率放大器,描述于章3.3.3
多通道支持在所有工程中默认被建立。开发选项只能在SPDIF输入被使用时被修改,由此spdif_sink工程必须使用multi_channel_soundbar配置建立。
这个章节描述了如何配置多通道输出的目标硬件
表10.4描述了ADK包含的配置文件,配置了音频接收器应用的多通道输出。
表10.5描述了ADK为DSP多通道输出配置的配置文件。
在用描述于章9中的目标硬件基础配置已经完成后,多通道配置能用下列过程应用:
1. 使用PSTool,见bluelab PSTool用户手册:
1.1 10.3.4.1章内描述的VM配置文件之一必须适配目标硬件
1.2 描述于10.3.4.2章内的DSP配置文件之一必须适配目标硬件,许多手动配置必须使用接收器配置工具手动配置。
2. 使用音频接收器应用配置工具,见音频接收器应用配置工具用户手册:
2.1 提示音强行重新采样的音频插件特征应被使能。这个路由提示音通过DSP回放以使得所有提示音在首要和混合输出都被播放。
2.2 如果使用soundbar工程,PIO控制的功率放大器的电源下降音频插件特征应被使能
2.3 SPDIF输出PIO必须被设置成N/A或I2S1输出无功能。
注意:
1. CVC不支持多通道输出,呼叫音频只能在首要输出内被听到,且当CVC在使用时提示音只能在首要输出上播放。
2. 如果配置运行4个或更多音频源,CSR建议不要超过4个本地DSP输出和一个无线DSP输出(例如同级设备模式,见章6.3或低音炮链接,见章14)被使能,见章10.1,为了连接和远程软件升级,见章17.2。
音频路由规则的不同取决于正在使用的操作模式。这个章节描述了各个被支持的操作模式的音频路由规则。
当头戴式耳机模式是活跃的,音频路由基于一个优先级系统,高优先级的源无论何时变得可用,总是被选为路径。
一旦源变得可用,其立即被选为路径,且当他们的优先级高于当前选为路径的源。
表1.6描述了在头戴式耳机模式被激活时的音频源的默认优先级
注意:这个优先级列表不能被改变,除非音频路由代码被修改。
当soundbar模式被激活,音频路由是手动的过程,用户必须明确选择一个音频源作为选定路径。没有可用的基于优先级的自动选择;任何源可以在任何时间用生成特定的接收器应用事件来选择。
表10.7描述了在soundbar模式激活时用来控制音频路由的事件。
同级设备模式的音频路由在ADK接收器应用同级设备模式用户手册内。
音频接收器应用支持多种方式的音量控制以控制当前音频源的输出等级,见章10.5.1到10.5.3。
注意:音量控制不能定制到特定的操作模式
音量控制的迟滞模式在使用蓝牙内核内部DACs时是可用的,且支持交叉语音和音乐应用。片上DACs用来控制音频输出信号的幅度,16个步进,范围是最小-45dB到最大0dB。
这个模式的音量控制只在DSP音乐应用中有效。
数字音量控制靠的是设定芯片的DAC到一个固定的等级,且DSP自己将数字处理应用到音频信号上。
这种音量控制方式提供了更高自由度的音量变化,同时增加了范围,且比仅使用DAC控制能覆盖更低的输出等级。
数字处理给出了一个可用的从0到-80dB的输出等级范围。
最好的信噪比的音量控制的获取靠的是使用混合音量控制机制,这是一个DAC和DSP音量控制和联合。
对数字音量控制的配置是相同的,除了将音量控制类型设为混合。
混合音量控制使用DAC控制以给出3dB的步进,联合数字DSP控制给出增强的0-3dB的分辨率。
有了数字音量控制,分辨率无论如何都能满足产品了,但注意需要给定步进尺度以平滑在USB和AVRCP操作下的音量控制改变。
音频接收器应用支持多种音频改善设计以允许使用者很好地调谐音频输出以获取他们想要的性能。章10.6.1和10.6.2描述了这些音频增强。
音频接收器应用支持低频提升改善设计以提升音频输出信号的低频部分。低频提升改善能由表10.8中列出的事件控制。
注意:低频提升改善使用的参数能通过UFE工具配置,见音乐管理音频效果E008用户手册以获取调谐低频提升改善的详细信息。
音频接收器应用支持3D改善。这是一个有着一个独立的立体声相位位移器的增强的洗牌者立体声扩展运算。
它被设计用来扩宽立体声输出以提供环绕音效的感觉。3D增强能通过表10.9中的用户事件来控制。
注意:3D改善使用的参数能使用UFE工具上配置,见音乐管理音频效果EOO0用户手册以获取调谐3D改善的详细信息。
音频接收器应用支持蓝牙headset profile v1.2。
音频接收器应用支持HSP头戴式耳机规则(HS)充当音频网关远程音频输入和输出机制:
音频接收器支持蓝牙handsfree profile v1.6。
音频接收器应用支持HFP头戴式耳机规则(HS)充当音频网关远程音频输入和输出机制,且:
呼叫管理提供了用户一个控制呼入和呼出的语音呼叫,它也管理三路呼叫(如果使能的话)。表11.1列出了可用的管理语音呼叫的事件。
AT命令作为HFP规范中使用的部分以允许HF设备与AG设备交换信息。
常用AT信息能被用来在设备之间的一个活跃HFP连接内发送额外的信息。音频连接器应用支持发送和接送常用的AT命令给被连接的AG设备,或从AG设备中接收。
为了获取常用AT命令额更多信息,请看常用AT命令在音频连接器应用注意。
音频连接器应用支持蓝牙advanced audio distribution profile v1.3。这个章节描述了音频连接器应用对A2DP的支持。
音频连接器应用有能力支持A2DP接收器和A2DP源规则:
音频接收器应用支持如下A2DP编解码:
A2DP编码支持的列表时可配置的,参考音频接收器应用配置用户手册以获取如何配置A2DP编解码支持的列表。
音频接收器应用支持蓝牙音频/视频远程控制情景模式v1.5。这个部分描述了音频接收器应用对AVRCP的支持。
默认情况下音频接收器应用支持种类-1控制器和种类-2目标。然而如果为了支持同级设备,它也可支持种类-2控制器和种类-1目标。
表11.2讲解了AVRCP支持的不同的用户事件
音频接收器应用支持蓝牙消息访问情景模式v1.5。这个章节描述了音频接收器应用对MAP提供的支持。
当一个AG支持的MAP被连接,音频接收器应用将尝试连接MAP。事件能被用来指出MAP连接是否成功或失败,见章11.1.5.1。
当一个AG支持MAP被连接,音频接收器应用将尝试连接MAP。事件能被用来指示MAP连接是否成功或失败,见章11.1.5.1。
音频接收器应用支持蓝牙手机簿访问情景模式v1.1.1。章11.1.6.1到章11.1.6.4描述了音频接收器应用提供的对PBAP的支持。
表11.4列出了为了控制与AG的PBAP连接提供的用户事件。
表11.5列出了被提供用来指示PBAP功能的系统事件
PBAP连接能被请求以生成EventSysEstablishPbap系统事件。PBAP能被连接到HFP设备,也支持PBAP情景模式。
当PBAP被连接,它能被用来提升电话号码拨打功能。提升拨打功能是:
注意:更多PBAP功能由PBAP库提供,所以额外的特征能被ADK用户开发出来。
音频接收器应用支持蓝牙低功耗(BLE),一个一般属性情景模式数组(GATT)服务,使用被支持的BLE传输。章11.2.1到11.2.3描述了默认支持的GATT服务。
注意:为了获取音频接收器应用内的有关GATT实施的更多信息,见音频接收器应用GATT用户手册。
GATT管理器被音频接收器应用用来作为GATT连接的支持库,它直接呼入GATT请求给当前的子任务(库),且直接呼出GATT请求给当前的客户端设备。
GATT服务(服务器规则)在GATT管理器层的顶部被通过独立VM库支持。这些库被设计用来寻找一个简单的本地GATT服务,且提供服务远程GATT客户端的功能。
这些库依赖本地GATT数据库,其必须被音频接收器应用注册,远程设备能通过GATT服务器访问服务。
表11.6列出GATT服务以支持GATT服务器规则。
GATT服务(客户端规则)被独立VM库支持,且处在GATT管理器层的顶端。
这些库被设计用来寻找远程设备上定义的一个简单GATT服务。音频接收器应用必须发现被连接的设备能支持哪些服务,之后,任何音频接收器应用已知的能被管理的服务必须向下传到合适的库,这样库才能管理服务。
表11.7列出了用来自持GATT客户端规则的GATT服务。
音频接收器应用能同时支持蓝牙智能和蓝牙BR/EDR。这个涉及到双模式支持。所有在这个章节内涉及到支持双模式的设备必须达标蓝牙核心规范v4.1。
这个章节描述了如何实施双模式,和当前的限制。
音频接收器应用运用两种一般访问情景模式(GAP)规则中的一种,中央或外设规则。
中央和外设模式是互斥的,音频接收器应用不能支持两者同时被使能。应用事件必须被翻转以在两个规则之间切换。
注意:音频接收器应用内有关切换GAP规则的更多信息,请看音频接收器应用GATT用户手册。
表11.8列出的使用事件指导原则描述于章11.3.3到11.3.4
当运行在外设模式内,音频接收器应用可以广播,和连接中央设备。依其身份,一旦连上它就变成了从设备。
注意:在外设规则内只有一个蓝牙智能链接被支持。
双模式支持还允许在中央和外设设备之间存在一个蓝牙BR/EDR连接。例如,一个常用的使用例子是移动电话作为蓝牙智能中央设备,在蓝牙移动手机和音频接收器应用之间有活跃的A2DP或HFP音频。
这个章节描述的使用例子已经被CSR测试以确保从BR/EDR链接来的音频流不会影响蓝牙智能链接。
当双模式被使用时,蓝牙BR/EDR音频必须被保护,这样音频差错就不会被发现。
下列指导原则应在音频接收器应用运行在有着蓝牙BR/EDR音频的外设规则时遵守:
当运行在中央模式,音频接收器应用能够找到和连接附近的外围设备。这样一来,一旦连接上,它就是主设备。
注意:在中央规则内音频接收器应用被设计成连接蓝牙智能远程控制。它不是被设计成如移动手机或类似的运行在外围GAP规则内的设备一般。
在这个章节内描述的使用实例已经被CSR测试以验证从BR/EDR链接来的音频流不被蓝牙智能链接影响。
蓝牙BR/EDR音频必须在双模式正在使用时被保护,这样音频差错就不会被观察到。
下列指导原则应在当音频接收器应用运行在中央规则内且有着蓝牙BR/EDR音频时被遵守:
如果100%占空比是需要的,100%是可尝试的。其决定于应用需要的灵敏度参数。
对一个较低占空比周期扫描来说,2.5%的扫描周期是合适的。例如,320个时隙间隔和8个时隙窗口。对更高占空比周期的扫描来说,10%的扫描周期是合适的。例如,80个时隙的间隔,8个时隙的窗口。
音频接收器应用支持两种RSSI询问扫描方式:
1. 接近配对,见章11.4.2
2. 接近连接,见章11.4.3
音频接收器应用能完成一个询问扫描以发现附近可发现的蓝牙设备。
当完成询问扫描时,可能是一个最大数量的设备被发现,也可能是超时了,被发现设备列表被分类,这样有着最强RSSI值的设备被放在首位。
注意:为了配置询问扫描进程,见音频接收器应用配置用户手册。
接近配对允许音频接收器应用设备产生一个配对请求给最靠近的可被发现的远程设备。接近配对操作有两种方式:
1. 尝试所有,见章11.4.2.2
2. 尝试单个,见章11.4.2.3
当接近配对过程开始,音频接收器应用设备开始变得可发现,且允许一个远程设备以用合适的方式发现并配对。
当开始一个接近配对过程,接近配对超时被关注;这是一个可配置的内部定时器,为了配置这个定时器,请看音频接收器应用配置用户指导。一旦这个定时器被使用了,它可以被视为接近配对进程是活跃的。
在尝试所有状态下,接近配对执行一个询问扫描。当这个完成时,尝试与列表内的第一个被发现的设备配对。如果这个配对尝试失败了,一个给列表内下一个设备的配对请求将被尝试。
这将持续直到产生一个成功的配对,或到达列表的最后。如果列表的最后已经到达,另一个询问扫描被执行且动作被重复。
在尝试一个状态下,接近配对执行一个询问扫描。当这个完成时,尝试与列表内的第一个被发现的设备配对。如果这个配对尝试失败了,一个新的询问扫描被执行,且相同的过程被重复,直到产生一个成功的配对。
有两个情节象征了接近配对过程的结束,这是:
一个成功的配对已经发生:
配对模式超时发生:
为了接近配对,远程设备必须在可发现模式。
这个特征被设计成当在音频接收器应用的PDL内有许多入口时加快重新连接时间。
在一个询问扫描被执行后,接近连接允许音频接收器应用设备产生一个连接请求给最接近的已发现远程设备。
注意:连接尝试只对在音频接收器应用的PDL内的被发现的设备有响应。
表11.9列出了能被用来控制RSSI询问的音频接收器应用事件。
这个章节涉及了输入管理器,其负责管理输入监视任务生成的输入事件。
一个输入监视任务定义了一个模块,其负责通知输入管理器任何基于其所正在监视的任何资源的输入事件。表12.1列出了所支持的输入监视任务。
每个输入监视器向输入管理器指出输入事件发生的时间,表12.2列出了输入管理器支持的输入事件列表。
- InputEventDown:输入已经被按下
- InputEventVShortRelease:输入已经在短定时器超时前释放
- InputEventShortTimer:短定时器超时时输入仍然被按下
- InputEventShortRelease:输入已经在短定时器超时后被释放,但在长定时器超时之前
- InputEventLongTimer:长定时器超时时输入仍在被按下
- InputEventLongRelease:输入已经在长定时器超时之前被释放,但在超长定时器超时之前
- InputEventVLongTimer:超长定时器超时时输入仍然被按下
- InputEventVLongRelease:输入已经在超长定时器超时后被释放,但在超超长定时器超时之前
- InputEventVVLongTimer:超超长定时器超时时输入仍在被按下
- InputEventVVLongRelease:输入已经在超超长定时器超时候被释放
- InputEventRepeatTimer:重复定时器已经超时时输入仍然被按下
表12.3列出了输入管理器支持的定时器。每个定时器的值都是可配置的,见ADK接收器应用配置用户指导。
注意:默认情况下,输入管理器超时被每个输入监视任务用来确保每个输入源基于相同的用户交互。
输入管理器使用虚拟按键的概念以翻译从输入监视任务接收的输入事件。在输入管理器上一个虚拟按键不是一个物理按键,它能像一个物理按键或是一个远程控制器上的按键一样被输入监视器管理。
输入管理器将输入事件转换成音频接收器应用事件。它使用一个转换表格。表格的每个输入给出了生成一个音频接收器应用事件必须匹配的规则的框架,见表12.4。
蓝牙智能输入监视器是一个音频接收器应用的特征,其支持与蓝牙智能HID远程控制器的连接以支持GATT情景模式之上的HID。
远程控制设备发送包含HID消费类码的通知给音频接收器应用设备以表明用户交互。
BLE输入监视器由音频接收器应用用户事件的设定所控制,见表12.5。
BLE输入监视器能管理多个HID设备的共同连接。为了配置被支持的多个共同连接,见ADK接收器配置用户手册。
收到的通知必须包含一个或多个用户HID码,这些码被转换成一个虚拟的按键,此时导航的输入事件被生成。
输入管理器有责任将虚拟按键上的输入事件转换给音频接收器用户事件。这个HID码所支持的列表是可配置的,见ADK接收器配置用户手册以获取配置BLE输入监视器的指导。
红外输入监视器负责管理从红外远程控制器接收的管理事件。
注意:红外输入监视不能支持多个红外按键被同时按下。
音频接收器应用支持两种红外协议:
1. NEC
2. RC5
注意:音频接收器应用不能同时支持两种协议。它不能与一个NEC和一个RC5远程同时连接。
红外学习模式是一个特征,其允许使用红外输入监视器以学习新的红外码。为了学习一个新的红外码:
1. 红外学习模式使用EventUsrStartIRLearningMode控制事件使能
2. 如果在红外控制上一个已知的按键被按下以产生一个音频接收器应用事件,事件不会被记录。
3. 如果在红外控制器上一个未知的按键被按下:
注意:
1. 红外学习模式能在任何时候使用EventUsrStopIRLearningMod控制事件以关闭。
2. 事件能从任何已经连接的输入上学习,这些发送输入事件给输入管理器的输入受到输入监视任务的监控。
红外输入监控器能用音频接收器应用用户事件控制,见表12.6。
红外输入监视器使用指示事件以表明与用户的交互,见表12.7
音频接收器应用将从一个红外远程控制器上接收到的红外码映射到一个虚拟按键上。输入管理器将虚拟按键上的输入事件转换成接收器应用用户事件。默认支持的红外码列表是可配置的,见ADK接收器配置用户手册。
音频接收器应用支持本地按键的按住作为用户接口。按键被按键管理器子任务管理且能被配置,为了配置按键,参考音频接收器应用配置用户手册。
注意:一个帮助应用——buttonparsepro提供了一个快速和简单的方式生成代码以绑定按键名到PIO事件,且定义当按键事件发生时发送给应用任务的消息,见buttonparsepro帮助应用的描述,其在蓝牙SDK命令行工具用户手册。
音频接收器应用依赖逻辑输入上的事件触发,而不是物理PIO来生成用户事件。
音频接收器应用有一个事件寻找列表,基于如下点以来生成用户事件:
这个表格被配置成使用接收器配置工具,请看ADK接收器配置工具用户手册。
连接到蓝牙内核设备的PIO上按键能被音频接收器应用监视,这些按键必须被转换成逻辑输入。
为了配置按键转换,请看ADK接收器配置工具用户手册。
音频接收器应用允许按键锁住或解锁,当按键被锁住时任何按键按下都被忽略,且当解锁后按键是正常的。表12.8列出了控制按键锁定事件。
音频接收器应用支持简单语音识别(SSR),其允许用户使用简单语音命令控制设备行为。
SSR能检测用户说“是”或“否”以控制设备的用户接口。
音频接收器应用允许用户控制或关闭SSR运算,见表12.9。
注意:SSR使能/禁止状态在音频接收器应用设备的电源周期内持续存在。
调谐模式提供允许在DSP内调谐SSR算法,重要的是调谐模式只能在调谐SSR算法时使用,且在最终的实施时是关闭的。
为了开始SSR调谐模式,用户事件EventUsrSSROn必须被生成。
在调谐模式内,如果“是”或“否”应答被接收,应用自动重新启动语音识别。当这个发生时,连接到通用前端DSP配置工具和SSR的设备能被很好地调谐。
音频接收器应用能指示用户关键事件的发生,或使用音频提示音提示。
提示音能用ADK音频配置工具以映射到事件上,见ADK接收器配置工具用户手册以获取更多信息。
音频接收器应用支持常用提示音,为了启动和配置常用提示音,请参考音频接收器应用配置用户工具。
音频接收器应用能指示用户关键事件或提示用户音频提示语音。这些提示语音是简短的音频文件,其能包含音乐,语音或复杂的铃声。
有关增加和配置音频提示的详细信息在音频接收器应用配置工具中,且描述于音频提示语音应用注意中。
音频提示语音能通过使用表12.10中的用户事件来控制。
音频接收器应用能用LED指示用户的状态信息。每个状态的LED模式能被配置,这样用户能在任何时间指示应用的活跃状态。
他们能使用接收器配置工具来配置,见ADK接收器配置工具用户手册。
添加了CNS10010v1显示模块后,音频接收器应用能使用简单的显示以提示用户信息,例如电池等级,音频源,当前播放音频轨迹(AVRCP),呼叫ID(HFP)和其他能被显示给用户的信息。
音频接收器应用能被配置以枚举成一个USB设备,且支持不同类型的规格。被支持的UB设备类型在章13.1到13.4内被描述。
音频接收器应用有能力支持USB电池充电。这个规格由音频接收器应用内的可用的USB充电配置设置来提供。
音频接收器应用能够支持USB音频麦克风和扬声器。这允许音频从一个USB主设备路由到接收器应用扬声器。或者它允许接收器应用的麦克风输入作为USB主设备的一个USB麦克风音源。
音频控制被作为扬声器和麦克风配置的一部分,这样USB主设备能控制音频等级且与接收器应用同步。麦克风可以被静音。扬声器能被静音且音量能被增大和减小。
音频接收器应用有能力支持HID消费使用呼叫控制。这允许音频接收器应用事件转换成HID消费控制事件。
表13.1列出了USB HID消费控制事件
音频接收器应用有能力支持可读型USB大容量存储器,这允许包含用户手册或其他文件作为文件系统的一部分。
当USB大容量存储器被使能,默认START.HTM文件被添加到文件系统中。usb_fat和usb_root文件也被添加到文件系统。这些描述FAT入口需要读取和显示默认START.HTM文件。
音频接收器应用管理与低音炮设备的蓝牙连接,其支持CSR专利的SWAT协议。
注意:低音炮连接在同级设备模式被激活时不被支持。
表14.1列出了控制低音炮可用的用户事件
表14.2列出了当低音炮支持被使能时系统自动生成的系统事件
音频接收器应用能发现、配对和连接到低音炮设备,为了完成这个,低音炮询问扫描必须被执行,这可以被配置以自动发生,或用户能初始化这个过程。
当配对完成,低音炮设备变得受保护,这意味着如果用户初始化一个清除配对设备列表的过程,正在配对的低音炮设备的信息不会移除。只有一个方式让用户能够移除正在配对的低音炮,就是明确地生成用户事件EventUsrSubwooferDeletePairing。
低音炮设备总是负责连接到音频接收器应用,这会确保音频流(如果存在的话)在音频接收器应用设备上被保护,且不被其他任何设备的呼叫扫描所打断。
低音炮音量自动与音频接收器应用同步以确保两个设备运行在相同的音量水平。然而,这并不总是适当的,这取决于硬件选择。因此音频接收器应用提供一个低音炮削减音量,其能被用来稍微调整低音炮设备的音量。
这可以通过生成列表14.2中的用户事件来方便地动作。
音频接收器应用使用两种传输媒体包给低音炮设备的方式:
1. 高带宽低迟滞传输(eSCO)。低迟滞传输被用在当音频接收器应用不需要管理其他远程设备上来的音频流。
2. 低带宽标准迟滞传输(L2CAP)。标准迟滞传输被用在当音频接收器应用不得不管理从远程设备发送的音频流,且同时传递这个音频给低音炮。
注意:如果低延迟传输被用来发送从蓝牙音频源过来的音频,音频接收器应用设备不能保证在需要时传输低音炮媒体。这会导致在低音炮设备上的缓冲器耗尽和音频pop音,且嘀嗒声会显现。使用标准迟滞传送能确保多媒体包总是被发送且重要的是减少低音炮设备上的缓冲器耗尽。
表14.3展示了音频接收器应用支持的各个音频源所使用的媒体传输。
音频接收器应用能控制FM接收器。FM接收器硬件所需的工作,见章3.4.3。
表15.1列出了控制和使用FM接收器的可用的用户事件
FM接收器的工作是调谐到一个特定的FM频率。因此,音频接收器应用允许用户调谐FM硬件以找到一个特定的FM无线位置。用户事件已经实施以提供这些支持。
音频接收器应用允许用户存储他们感兴趣的无线位置,最多3个无线位置能被存储。当前调谐频率必须设为已经存储的无线位置,然后一个EventUsrFmRxStore用户事件必须被生成。
注意:如果最大数量的位置已经被使用,用户必须在存储新的位置之前用EventUsrFmRxErase删除一个已经存在的位置。
音频接收器应用允许用户从存储位置列表中擦除一个之前存储的位置。为此FM接收器必须调谐到被擦除的位置。此时被调谐无线位置是激活的,擦除存储位置的用户事件EventUsrFmRxErase必须被生成。
注意:为了在删除一个位置之前简单地找到它,存储位置可以使用章15.2.3中的循环经过过程。
音频接收器应用允许用户遍历存储无线位置列表,而不是通过可用的FM频率来手动调节以找到一个被首选的位置。为此,需要生成EventUsrFmRxTuneToStore用户事件,以在增大次序上调谐FM接收器到存储频率。
这个章节描述了音频接收器应用能提供的对NFC(近场连接)的支持。
NFC硬件能被用来检测何时一个远程设备被放置在一个非常接近音频接收器应用设备的位置:
当NFC硬件检测到一个设备非常接近(从其他设备上找到一个NFC标签),它必须切换被连接的PIO,就像它是一个按键。音频接收器应用检测到PIO已经切换,并自动生成标记为一个NFC设备已经被检测的用户事件,见表16.1。
音频接收器应用依赖的当前状态应依赖已经执行的动作。
设备固件升级是由USB制定委员会标准化的作为设备的一个类型规格,音频接收器应用于这个标准兼容且包括加密检查:
DFU能被用来升级
表17.1描述了将设备进入DFU模式所使用的VM事件
这些事件处罚设备以在DFU模式内复位和枚举,这样合适的工具能连接到设备且执行升级。
生成设备升级用的被标记的DFU文件的详情在音频接收器应用DFU用户手册内。
音频接收器应用提供了一个远程软件升级特征。这个特征提供了在设备运行时下载和升级软件的能力。为了获取更多信息,见音频接收器应用软件升级用户手册。
音频接收器应用包括一个能耗管理系统以监视附加电池的充电和耗电。见音频接收器应用能耗管理用户手册。
音频接收器应用支持设备测试模式(DUT),其允许产品在设备上执行测试。
注意:当DUT模式被激活,普通模式不被支持。
表19.1描述了能被用来控制DUT模式的音频接收器应用事件
术语和定义:
A2DP:增强音频分配情景模式
AAC:增强音频编码
ACL:异步非连接
ADC:模拟数字转换
ADK:音频或应用开发套件
AG:音频入口设备
AVRCP:音频/视频远程控制情景模式
BSA:电池服务
BLE:蓝牙低功耗,现在是蓝牙智能
bluecore:CSR的蓝牙无线技术芯片系列的缩写
BR:基础数据速率
cVc:清晰语音捕捉
DIP:设备ID情景模式
DIS:设备说明服务
DSP:数字信号处理器
DUT:设备处在测试模式
EDR:增强数据速率
eSCO:扩展SCO
FM:频率调制
GAIA:一般应用接口结构
GAP:一般访问情景模式
GATT:一般类型情景模式
HF:免提设备
HFP:免提设备情景模式
HID:用户接口设备
HOGP:在GATT情景模式上的HID
HSP:头戴式耳机情景模式
IAS:立即警告服务
L2CAP:逻辑链接控制和适配协议
MAP:消息访问情景模式
MP3:MPEG-1到MPEG-2音频层III编码
OBEX:目标交换协议
PBAP:电话簿访问情景模式
PCM:脉冲编码调制
PDL:已配对设备列表(与确信设备列表相同)
PIO:可编程输入/输出
PS key:永久储存钥匙
RFCOMM:无线频率通信
RSSI:接收信号强度指示
SBC:子带编码
SCO:同步定向连接
SDP:服务发现协议;蓝牙的元素
SIG:特别兴趣组
SPDIF:索尼/飞利浦数字接口
SPP:串口情景模式
SWAT:低音炮音频传输情景模式
TDL:确信设备列表(与配对设备列表一致)
TPS:传输能量服务
UFE:通用前端
VM:虚拟机
参考文献:
CSR音频接收器应用用户手册