0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

博文 | Biu~笔记:高通蓝牙ADK(36)--第三类mic

大大通 2022-09-07 10:09 次阅读

Bui~ LE audio完整协议公布了,可喜可贺,可喜可贺。那么这篇我们就,还是没什么可聊的→_→。目前ADK相关完整版本还没发布,source也没有可用的,所以,先放着吧。

这篇我们来聊聊第三者,从前我们的mic基本上都是用模拟的或是数字的。有些厂商不满足当前mic的功能(说人话就是不满足cvc的功能),因此他们会叫外卖——加外置的DSP,去新增自己想要的音频处理。外置DSP输出方式大部分都是用i2s接口,而代码并没有接纳这第三种接口,基本上都要自己修改代码去实现。_(:з)∠)_ 随着时间的推进,现实总得要接受的。在新的芯片系列中,引进了骨传导的cvc,而对应的骨传导音频接口的实现代码也被加入到ADK中,另外这部分代码也被同步到304x系列的ADK中了⁄(⁄⁄•⁄ω⁄•⁄⁄)⁄。虽然默认代码是用PCM接口,但是稍微修改下就可以适配其他类型的音频接口。下面就带大家怎么去使用起来。

首先,默认的接口是用INCLUDE_LIS25BA_ACCELEROMETER这个宏定义,搜索这个宏定义就知道他使用了什么东西了。其中我们先看这里面mic的配置

56a4bf84-2d63-11ed-9ade-dac502259ad0.png

这里面框出来的mic type相对于以前的analog和digital,只是多加了个pcm。如果你不是pcm接口的话,可以自己添加一个定义,然后修改对应的处理,这里小编比较懒,直接用这个pcm,然后修改他的处理(建议大家勤奋点,多加一个定义)。后面两个参数instance和channel我就不多说了,懂的都懂。

接着就是要修改对应配置的处理代码,在获取source的时候,pcm的类型是获取pcm的source的,如果是别的音频接口就需要修改getAudioSource这里

56bd4c84-2d63-11ed-9ade-dac502259ad0.png

我是用i2s接口,就换成AUDIO_HARDWARE_I2S,后面的instance和channel就是沿用上面的配置。获取到source之后,对source的配置也需要跟着修改。因为不同类型的source,对应的配置key是不一样的,这个要在AudioPcmCommonConfigureSource中修改

56bd4c84-2d63-11ed-9ade-dac502259ad0.png

(可以看到,直接修改看起来比较乱也不好管理(#^.^#),所以大家选择添加的方式)

另外这里面用到两个callback的函数,一个是获取配置的,一个是初始化的。接下来我们就要说说这些callback函数怎么弄。

在EarbudInit_StartInitialisation函数中有个AudioPcmCommonRegisterUser(&Peripherals_Lis25baRegistry),这个语句就是用来注册callback函数的,参数Peripherals_Lis25baRegistry中,我们只关注其中的callback有哪些。

570d3cd0-2d63-11ed-9ade-dac502259ad0.png

AudioPcmCommonGetPcmInterfaceSetting:这个是用来获取config的函数,这里是pcm参数的配置。如果不是pcm,可以不用,直接在代码中固定,或者修改,或者添加别的参数格式。

AudioPcmCommonInitializeI2cInterface:这是控制接口的初始化,有些ic需要额外控制接口去写指令,这里就需要事先把这接口初始化,还可以把外部ic也初始化。虽然变量名写的是i2c,但是实际使用时,根据情况可以换成spi,uart等别的控制接口,或者不用也可以。

AudioPcmCommonEnableDevice和AudioPcmCommonDisableDevice:这两个函数就是用来打开和关闭外部ic的,通过上面初始化的接口,给ic发送控制指令。注册完这些函数之后,系统就会在通话建立时,自动初始化、配置、使能外部ic,在通话结束时,关闭外部ic。

除此之外,当外部ic的输入采样率和系统通话时用的不一样的时候,例如,输入是48k,而通话只需要16k。还可以对其进行重采样,这个在默认代码kymera_ConnectUserWithMic函数中也有实现的,这里输入采样率固定为16k,如果系统不是用16k就进行重采样。

572f9e06-2d63-11ed-9ade-dac502259ad0.png

好了,以上是本期博文的全部内容,如有疑问就别在博文下方评论留言了,有什么疑问或想了解的当面和我说(如果你知道我是谁的话ヽ( ̄▽ ̄)و),我会尽量安排上(o´ω`o)و。谢谢大家浏览,我们下期再见。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 蓝牙
    +关注

    关注

    114

    文章

    5803

    浏览量

    170148
收藏 人收藏

    评论

    相关推荐

    专业的第三类医疗器械经营企业计算机系统,确保合规无忧

    第三类医疗器械经营企业计算机系统因其简单明了的特性而受到了众多用户的欢迎。与其他第三类医疗器械经营企业计算机系统相比,盘谷医疗的快速上手为用户提供了极大的便利。该系统还支持远程操作,用户可以随时随地对医疗器械进行进销存管理。
    的头像 发表于 12-12 16:05 103次阅读
    专业的<b class='flag-5'>第三类</b>医疗器械经营企业计算机系统,确保合规无忧

    三类防雷建筑防雷工程及浪涌保护器需求方案

    根据国家标准《建筑物防雷设计规范》GB 50057,建筑物防雷等级划分为三类,不同防雷等级对浪涌保护器(SPD)的需求如下: 一防雷建筑 一防雷建筑指易燃易爆场所、重要通信设施及特定危险建筑物
    的头像 发表于 12-12 11:49 72次阅读
    <b class='flag-5'>三类</b>防雷建筑防雷工程及浪涌保护器需求方案

    硬件设计技巧:三类GPIO接口的实用指南

    今天教大家一些关于硬件设计的的技巧,只要掌握好三类GPIO,轻松玩好硬件设计。
    的头像 发表于 11-05 12:22 238次阅读
    硬件设计技巧:<b class='flag-5'>三类</b>GPIO接口的实用指南

    不可错过的三类GPIO硬件设计指南!

    今天我们学习三类GPIO硬件设计,这三类绝对是不可错过的,本文将把三类设计的重要性展示出来:
    的头像 发表于 11-04 09:45 851次阅读
    不可错过的<b class='flag-5'>三类</b>GPIO硬件设计指南!

    30s高能速递 | 第三届 OpenHarmony技术大会精彩抢鲜看

    技术引领筑生态 万物智联创未来 第三届 OpenHarmony技术大会 如约而至 燃登场 10月12-13日,上海世中心 重磅嘉宾,前沿议题 看亿万代码如何改变未来,与卓越伙伴共绘闪耀繁星 亮点
    发表于 10-08 17:36

    无源电路元件分为哪三类

    无源电路元件是电子电路中不包含电源的元件,它们通过电阻、电容和电感来控制电流和电压。这些元件在电子电路设计中扮演着至关重要的角色,因为它们决定了电路的性能和功能。无源电路元件主要分为三类:电阻器
    的头像 发表于 09-30 15:14 416次阅读

    常见的压电材料分为哪三类

    压电材料是一种能够将机械能转化为电能或将电能转化为机械能的材料。它们在许多领域都有广泛的应用,如传感器、执行器、能量收集器和医疗设备等。压电材料可以分为三类:单晶压电材料、多晶压电材料和有机压电材料
    的头像 发表于 08-29 14:14 1885次阅读

    架空导线的结构可以分为哪三类

    架空导线是电力系统的重要组成部分,它负责将电能从发电站输送到用户端。架空导线的结构设计对于电力系统的安全、经济和可靠性具有重要意义。 一、架空导线的分类 架空导线的结构可以分为三类:单导线、分裂导线
    的头像 发表于 08-16 09:21 824次阅读

    功率放大电路的工作状态有哪三类

    功率放大电路是电子技术中非常重要的一部分,它的作用是将电信号的功率放大,以满足各种应用场合的需求。功率放大电路的工作状态可以分为三类:A、B和AB。 一、A
    的头像 发表于 07-16 09:33 699次阅读

    云安全服务可以分为哪三类服务

    云安全服务是随着云计算技术的发展而产生的,主要目的是保障云计算环境中的数据安全、系统安全和网络安全。云安全服务可以分为三类:基础设施安全服务、数据安全服务和网络安全服务。 一、基础设施安全服务
    的头像 发表于 07-02 09:22 758次阅读

    数控系统分为哪三类类型

    数控系统是数控机床的核心部分,它负责接收加工程序,进行数据处理和运算,控制机床各轴的运动,实现对工件的加工。根据数控系统的结构和功能,我们可以将其分为三类类型:开环控制系统、闭环控制系统和半闭环控制
    的头像 发表于 07-01 11:06 1399次阅读

    连接器的三类失效模式

    连接器作为重要的电子元器件,担负着系统内部以及系统之间信号连接和电能传输的重任,因此在长期使用的过程中不免会存在不同程度失效的情况。其失效模式大致可分为接触失效、绝缘失效和机械连接失效三类形式
    的头像 发表于 04-23 16:18 688次阅读

    油冷电机方案解析

    该定子铁芯共采用3种类型硅钢片,第一硅钢片T1、第二硅钢片T2、第三类硅钢片(端板)T3。其中端板第三结构体T3包括内结构体T31和外结构体T32。
    发表于 03-05 10:42 1049次阅读
    油冷电机方案解析

    变压器按用途分哪三类

    变压器是一种常见的电气设备,主要用于改变交流电压或电流的大小。根据用途的不同,变压器可以分为以下三类:电力变压器、仪用变压器和特殊用途变压器。本文将对这三类变压器进行详细的介绍。 一、电力变压器
    的头像 发表于 01-04 16:29 3310次阅读

    稳压电源一三类区别

    稳压电源一、二三类是指按照供电设备的直流输出偏差范围和抗干扰能力对稳压电源进行分类的方法。下面将详细介绍稳压电源一、二
    的头像 发表于 12-28 17:54 9192次阅读