一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于I2S的音频采集芯片参数自动配置方法及系统与流程

2021-10-19 11:47:00 来源:中国专利 TAG:
一种基于I2S的音频采集芯片参数自动配置方法及系统与流程

本申请涉及一种音频采集芯片的参数配置方法。

背景技术

用户在使用音频采集芯片进行音频数据采集时需要配置很多参数,这些参数包括采样频率fs、采样位数(也称采样分辨率)r、ADC(模数转换器)的声道数n、ADC采样时钟clkadc、I2S(Inter-IC Sound,集成电路间声音,也写为I2S)时钟clki2s、I2S总线的SCLK(Continuous Serial Clock,连续串行时钟)信号、I2S总线的LRCLK(left-right clock,帧时钟)信号等。其中,I2S时钟clki2s 和I2S总线的SCLK信号本质上是一个s工程师需要研读音频采集芯片的手册,配置每一项参数,这增加了音频采集芯片开发的复杂度。在实际应用中,工程师自行配置的参数很容易出现错误的情况,导致音频采集芯片的输出错误且难以调试。



技术实现要素:

本申请所要解决的技术问题是提出一种音频采集芯片自动配置参数的方法,减少人工配置的参数,增加错误检查与处理,减小了音频采集芯片的开发难度及出错的概率。

为解决上述技术问题,本申请提出了一种基于I2S的音频采集芯片的参数自动配置方法,包括如下步骤。步骤S1:获取音频采集芯片的外部配置参数;所述外部配置参数包括ADC的声道数n、采样位数r、采样频率fs。步骤S2:检查音频采集芯片的外部配置参数,如发现错误,则提示配置出错;如未发现错误,则进入步骤S3。步骤S3:根据音频采集芯片的外部配置参数计算音频采集芯片的内部配置参数,所述内部配置参数包括ADC采样时钟clkadc的频率、I2S总线的SCLK信号的频率、I2S总线的LRCLK信号的频率。步骤S4:根据音频采集芯片的内部配置参数生成对应的时钟信号。步骤S5:根据ADC采样时钟clkadc,以ADC的声道数n、采样位数r和采样频率fs选择音频采集芯片中的n个ADC进行采样,得到n2个ADC声道的数据,n2=INT[(n+1)÷2]×2。步骤S6:将I2S总线配置成主模式,根据I2S总线的SCLK信号、I2S总线的LRCLK信号,将n2个ADC声道的数据分配在2个I2S声道上;分配方式为:将ADC的奇数声道以LRCLK信号的上升沿起始,按照ADC奇数声道顺序依次分配在LRCLK信号的高电平时间段内;将ADC的偶数声道以LRCLK信号的下降沿起始,按照ADC偶数声道顺序依次分配在LRCLK信号的低电平时间段内。

进一步地,音频采集芯片中的ADC的物理通道数为N,音频采集芯片中的ADC支持的最大采样位数为R,音频采集芯片中的ADC支持的最大采样频率为FS;所述步骤S2中,当发现n>N、或者r>R、或者fs>FS时,提示配置出错;其余情况下都认为未发现错误。

进一步地,所述步骤S3中,ADC采样时钟clkadc的频率为fs;I2S总线的SCLK信号的频率为fs×INT[(n+1)÷2]×2×r,其中INT()表示向下取整;I2S总线的LRCLK信号的频率为fs。

进一步地,所述步骤S4中,根据ADC采样时钟clkadc的频率生成ADC采样时钟clkadc;根据I2S总线的SCLK信号的频率生成I2S总线的SCLK信号;根据I2S总线的LRCLK信号的频率生成I2S总线的LRCLK信号。

进一步地,所述步骤S5中,从音频采集芯片中的N个ADC中选取前n个ADC即从ADC-1至ADC-n进行采样。

进一步地,所述步骤S5中,当n为偶数时,得到n个ADC声道的数据并输出。

进一步地,所述步骤S5中,当n为奇数时,将得到的n个ADC声道的数据加一路空数据得到n 1个ADC声道的数据后再输出,第n 1个ADC声道数据为空数据。

进一步地,所述步骤S5中,在选择音频采集芯片中的n个ADC进行采样之前,先检测音频采集芯片的N个ADC中是否存在故障;如果未发现ADC存在故障,则正常进行步骤S5;如发现ADC存在故障,则所述步骤S5中优先选取音频采集芯片中无故障的ADC,存在故障的ADC不分配ADC声道的数据,最后多出来的ADC声道的数据改为空数据,并分配在最后一个ADC通道位置。

进一步地,所述步骤S6中,LRCLK信号为高电平时为I2S声道1,对应ADC奇数声道;LRCLK信号为低电平时为I2S声道2,对应ADC偶数声道。

本申请还提出了一种基于I2S的音频采集芯片的参数自动配置装置,包括外部配置单元、参数检查单元、内部配置单元、时钟生成单元、ADC采样单元、I2S分配单元。所述外部配置单元用来获取音频采集芯片的外部配置参数,所述外部配置参数包括ADC的声道数n、采样位数r、采样频率fs。所述参数检查单元用来检查音频采集芯片的外部配置参数,如发现错误,则提示配置出错;如未发现错误,则将音频采集芯片的外部配置参数交给内部配置单元继续处理。所述内部配置单元用来根据音频采集芯片的外部配置参数计算音频采集芯片的内部配置参数,所述内部配置参数包括ADC采样时钟clkadc的频率、I2S总线的SCLK信号的频率、I2S总线的LRCLK信号的频率。所述时钟生成单元用来根据音频采集芯片的内部配置参数生成对应的时钟信号。所述ADC采样单元用来根据ADC采样时钟clkadc,以ADC的声道数n、采样位数r和采样频率fs选择音频采集芯片中的n个ADC进行采样,得到n2个ADC声道的数据,n2=INT[(n+1)÷2]×2。所述I2S分配单元用来将I2S总线配置成主模式,根据I2S总线的SCLK信号、I2S总线的LRCLK信号,将n2个ADC声道的数据分配在2个I2S声道上;分配方式为:将ADC的奇数声道以LRCLK信号的上升沿起始,按照ADC奇数声道顺序依次分配在LRCLK信号的高电平时间段内,将ADC的偶数声道以LRCLK信号的下降沿起始,按照ADC偶数声道顺序依次分配在LRCLK信号的低电平时间段内。

本申请取得的技术效果是减少了音频采集芯片的开发难度与学习成本,提高了音频采集芯片的研发效率。

附图说明

图1是本申请提出的基于I2S的音频采集芯片的参数自动配置方法的流程示意图。

图2是将n2个ADC声道的数据分配在I2S声道1和I2S声道2上的一个示例的示意图。

图3是本申请提出的基于I2S的音频采集芯片的参数自动配置装置的结构示意图。

图中附图标记说明:外部配置单元1、参数检查单元2、内部配置单元3、时钟生成单元4、ADC采样单元5、I2S分配单元6。

具体实施方式

请参阅图1,本申请提出的基于I2S的音频采集芯片的参数自动配置方法包括如下步骤。

步骤S1:获取音频采集芯片的外部配置参数,例如由用户进行配置。所述外部配置参数包括ADC的声道数n、采样位数r、采样频率fs。采样位数即采样点数,用来描述采样分辨率,是指每一个采样点用怎样的精度来表示,可以理解成每个采样时刻模拟转化成数字的精度,例如采样位数r为16表示用16位(bit)二进制数据表示每一个采样点。采样频率fs是指每秒采样了多少个数(也称多少个点),例如1秒采样了16000个数(点)则采样频率fs为16kHz。

步骤S2:检查音频采集芯片的外部配置参数,如发现错误,则提示配置出错;如未发现错误,则进入步骤S3。假设音频采集芯片中的ADC的物理通道数为N,音频采集芯片中的ADC支持的最大采样位数为R,音频采集芯片中的ADC支持的最大采样频率为FS。这一步中当发现n>N、或者r>R、或者fs>FS时,提示配置出错;其余情况下都认为未发现错误。

步骤S3:根据音频采集芯片的外部配置参数计算音频采集芯片的内部配置参数,所述内部配置参数包括ADC采样时钟clkadc的频率、I2S总线的SCLK信号的频率、I2S总线的LRCLK信号的频率。ADC采样时钟clkadc的频率为fs。I2S总线的SCLK信号的频率为fs×INT[(n+1)÷2]×2×r,其中INT()表示向下取整。I2S总线的LRCLK信号的频率为fs。

步骤S4:根据音频采集芯片的内部配置参数生成对应的时钟信号,具体包括:(1)根据ADC采样时钟clkadc的频率生成ADC采样时钟clkadc;(2)根据I2S总线的SCLK信号的频率生成I2S总线的SCLK信号;(3)根据I2S总线的LRCLK信号的频率生成I2S总线的LRCLK信号。

步骤S5:根据ADC采样时钟clkadc,以ADC的声道数n、采样位数r和采样频率fs选择音频采集芯片中的n个ADC进行采样。例如从音频采集芯片中的N个ADC中选取前n个ADC进行采样。当n为偶数时,得到n个ADC声道的数据并输出。当n为奇数时,将得到的n个ADC声道的数据加一路空数据得到n 1个ADC声道的数据后再输出。不论n为偶数或奇数,这一步得到n2个ADC声道的数据,n2=INT[(n+1)÷2]×2,n2为偶数。当用户配置的实际ADC声道数量n为奇数时,第n2个ADC声道数据为空数据。

步骤S6:将I2S总线配置成主(master)模式,根据I2S总线的SCLK信号、I2S总线的LRCLK信号,将n2个ADC声道的数据分配在2个I2S声道上。分配方式为:将ADC的奇数声道以LRCLK信号的上升沿起始,按照ADC奇数声道顺序依次分配在LRCLK信号的高电平时间段内;将ADC的偶数声道以LRCLK信号的下降沿起始,按照ADC偶数声道顺序依次分配在LRCLK信号的低电平时间段内。

请参阅图2,这是I2S总线的SCLK信号、I2S总线的LRCLK信号、I2S总线的SD(serial data,串行数据,有时也称SDATA)信号。LRCLK信号为高电平时为I2S声道1,对应ADC奇数声道;LRCLK信号为低电平时为I2S声道2,对应ADC偶数声道。所述步骤S6中,将n2个ADC声道的数据分配在I2S声道1和I2S声道2上,是将ADC声道1、ADC声道3、…ADC声道n2-1分配在LRCLK信号的高电平时间段内,将ADC声道2、ADC声道4、…ADC声道n2分配在LRCLK信号的低电平时间段内。

优选地,所述步骤S5中,在选择音频采集芯片中的n个ADC进行采样之前,先检测音频采集芯片的N个ADC中是否存在故障,例如被烧坏等。如果未发现ADC存在故障,则正常进行步骤S5。如发现ADC存在故障,则所述步骤S5中优先选取音频采集芯片中无故障的ADC,存在故障的ADC不分配ADC声道的数据,最后多出来的ADC声道的数据改为空数据,并分配在最后一个ADC通道位置。

例如,n=6,N=10。当音频采集芯片中的ADC三损坏时,将ADC三调整为最后一个外部引脚,原先外部引脚依次向前进1。此时I2S传输的ADC通道共6组,分别对应音频采集芯片中的ADC一、ADC二、ADC四、ADC五、ADC六、ADC七共6组。此时,虽然有ADC三损坏,但实际对用户不产生影响。

又如,n=10,N=10。当音频采集芯片中的10个ADC都未损坏时,ADC一至ADC十分别对应于引脚一至引脚十的10个ADC声道的数据。当音频采集芯片中的ADC三损坏时,ADC一至ADC二分别对应引脚一至引脚二的2个ADC声道的数据,ADC四至ADC十分别对应引脚三至引脚九的7个ADC声道的数据。存在故障的ADC三不分配ADC声道的数据,最后多出来的1个ADC声道的数据改为空数据,并分配在引脚十。

请参阅图3,本申请提出的基于I2S的音频采集芯片的参数自动配置装置包括外部配置单元1、参数检查单元2、内部配置单元3、时钟生成单元4、ADC采样单元5、I2S分配单元6。图3所示装置对应于图1所示方法。

所述外部配置单元1用来获取音频采集芯片的外部配置参数,所述外部配置参数包括ADC的声道数n、采样位数r、采样频率fs。

所述参数检查单元2用来检查音频采集芯片的外部配置参数,如发现错误,则提示配置出错;如未发现错误,则将音频采集芯片的外部配置参数交给内部配置单元3继续处理。

所述内部配置单元3用来根据音频采集芯片的外部配置参数计算音频采集芯片的内部配置参数,所述内部配置参数包括ADC采样时钟clkadc的频率、I2S总线的SCLK信号的频率、I2S总线的LRCLK信号的频率。

所述时钟生成单元4用来根据音频采集芯片的内部配置参数生成对应的时钟信号。

所述ADC采样单元5用来根据ADC采样时钟clkadc,以ADC的声道数n、采样位数r和采样频率fs选择音频采集芯片中的n个ADC进行采样,得到n2个ADC声道的数据,n2=INT[(n+1)÷2]×2。当n为奇数时,第n2个ADC声道数据为空数据,此时n2=n+1。

所述I2S分配单元6用来将I2S总线配置成主模式,根据I2S总线的SCLK信号、I2S总线的LRCLK信号,将n2个ADC声道的数据分配在2个I2S声道上。分配方式为:将ADC的奇数声道以LRCLK信号的上升沿起始,按照ADC奇数声道顺序依次分配在LRCLK信号的高电平时间段内,将ADC的偶数声道以LRCLK信号的下降沿起始,按照ADC偶数声道顺序依次分配在LRCLK信号的低电平时间段内。

本申请具有如下有益的技术效果。

第一,现有的音频采集芯片的参数配置完全依赖人工,本申请仅由人工配置音频采集芯片的部分参数,剩余参数通过计算得到,减少了出错的概率。

第二,本申请增加了参数配置过程中的错误检查环节,进一步减少了出错的概率。

第三,本申请增加了对音频采集芯片中的ADC的检测,在ADC出现故障时给出了一种处理机制,减小了音频采集芯片的开发难度与学习成本,提高了音频采集芯片的研发效率。

以上仅为本申请的优选实施例,并不用于限定本申请。对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜