我的问题很基本,我需要知道蓝牙堆栈中装载的HID、HFP或HSP等蓝牙配置文件在哪里?它是在主机层,还是在蓝牙硬件芯片组,如USB /模块,还是主机和芯片组侧?
根据我的理解,我们可以使用像BlueZ这样的包在主机端实现蓝牙配置文件,但同时,连接到主机的蓝牙芯片组需要在其芯片组内安装某种固件和逻辑(如CSVD、A-law )。
在BlueZ安卓软件包文档中有一句名言:“宽带语音支持在HFP中被要求BT芯片采用mSBC编解码器。”这意味着,只有当BT芯片组提供像mSBC这样的低级别支持时,主机层才能实现该配置文件。
我的回答是这样的:“如果BT芯片组配备了支持Profile 'X‘的底层固件,我们可以在主机层构建任何蓝牙配置文件,比如’X‘。”.Please同意或不同意我的理解。
我理解profile的位置及其低级固件的PFA图
我需要选择一个与树莓Pi兼容的USB蓝牙软盘,并使用BlueZ定制HID和HFP。
感谢所有聪明的人!
发布于 2018-07-10 05:39:28
基于在控制器和主机中实现蓝牙功能的数量,在系统中实现蓝牙功能的方式有多种。
所以让我们假设你是在询问第三种类型。在这种情况下,您的假设是正确的。这里,所有配置文件都仅在主机上实现。但是支持它们所需的协议/编解码器将在控制器(固件或硬件块)中实现。例如,GAP(用于BR-EDR)在主机中实现,但加密和解密算法在控制器中以固件或硬件块的形式实现。对于A2DP配置文件,将在控制器中实现音频编解码器。然后,BT芯片将这些音频数据传输到带有I2S或其他协议的主机。对于BLE安全管理器配置文件,加密/解密算法是在主机本身实现的,而白名单、自动连接等将在控制器中实现。
我的回答是这样的:“如果BT芯片组配备了支持Profile 'X‘的底层固件,我们可以在主机层构建任何蓝牙配置文件,比如’X‘。”.Please同意或不同意我的理解。
对于BlueZ用例,这是正确的。您需要使用具有所需硬件功能(固件+硬件资源)的控制器。
对于场景1和2,配置文件和支持协议将在控制器中实现。
https://stackoverflow.com/questions/42626885
复制相似问题