音频接口电路及其控制方法、音频设备转让专利
申请号 : CN202110179586.2
文献号 : CN112637102B
文献日 : 2021-06-25
发明人 : 陈千里 , 姚猛 , 梁小江 , 蒲莉娟
申请人 : 深圳市创成微电子有限公司
摘要 :
权利要求 :
1.一种音频接口电路的控制方法,其特征在于,所述音频接口电路包括仲裁逻辑电路、缓存电路、第一音频接口和多个第二音频接口,所述第一音频接口用于发送所述第二音频接口接收的音频数据,所述缓存电路用作所述第一音频接口和多个所述第二音频接口的缓存,所述方法包括:
步骤S100:所述仲裁逻辑电路分别测量工作在从模式下的各所述第二音频接口与工作在主模式下的所述第一音频接口之间的时钟频偏;
步骤S200:对于各所述第二音频接口,所述仲裁逻辑电路根据其与所述第一音频接口之间的时钟频偏在预存储的信息中获取其缓存深度的参考值和时钟调整参数的第一当前值,所述时钟调整参数包括单次时钟频率调整任务中需要调整的时钟数量和对第一音频接口的时钟分频计数器的初始值进行调整的调整量;
步骤S300:所述仲裁逻辑电路根据所述第一音频接口的缓存深度的初始预设值、各所述第二音频接口的缓存深度的参考值对所述缓存电路进行缓存资源划分,以对所述第一音频接口、多个所述第二音频接口中的各音频接口配置缓存,并向所述第一音频接口发送时钟调整触发信号,使所述第一音频接口按照一第二音频接口的第一当前值开始执行一次时钟频率调整任务;
步骤S400:在所述第一音频接口、多个所述第二音频接口分别采用各自被配置的缓存进行音频传输时,所述仲裁逻辑电路检测所述第一音频接口、各所述第二音频接口的缓存状态,若检测到其中任一音频接口发生缓存变化趋势为减少的第一缓存标志事件,则执行步骤S500,若检测到缓存变化趋势为增加的第二缓存标志事件,则执行步骤S600;
步骤S500:所述仲裁逻辑电路确定与所述第一缓存标志事件相关的第二音频接口,并增大其第一当前值中的所述调整量和增大其第一当前值中的所述时钟数量,得到时钟调整参数的第二当前值,然后向所述第一音频接口发送时钟调整触发信号,使所述第一音频接口按照所述第二当前值开始执行一次时钟频率调整任务;
步骤S600:所述仲裁逻辑电路确定与所述第二缓存标志事件相关的第二音频接口,并减小其第一当前值中的所述调整量和增大其第一当前值中的所述时钟数量,得到时钟调整参数的第三当前值,然后向所述第一音频接口发送时钟调整触发信号,使所述第一音频接口按照所述第三当前值开始执行一次时钟频率调整任务。
2.根据权利要求1所述的方法,其特征在于,所述第一缓存标志事件为1/2空标志事件,所述第二缓存标志事件为1/2满标志事件。
3.根据权利要求1所述的方法,其特征在于,所述步骤S500还包括:若所述仲裁逻辑电路检测到第三缓存标志事件,则所述仲裁逻辑电路增大第二当前值中的所述调整量和增大第二当前值中的所述时钟数量,得到时钟调整参数的第四当前值,然后向所述第一音频接口发送时钟调整触发信号,使所述第一音频接口按照所述第四当前值开始执行一次时钟频率调整任务,所述第一缓存标志事件和所述第三缓存标志事件由同一音频接口发生,所述第三缓存标志事件为将空标志事件或空标志事件;
所述步骤S600还包括:若所述仲裁逻辑电路检测到第四缓存标志事件,则所述仲裁逻辑电路减小第三当前值中的所述调整量和增大第三当前值中的所述时钟数量,得到时钟调整参数的第五当前值,然后向所述第一音频接口发送时 钟调整触发信号,使所述第一音频接口按照所述第五当前值开始执行一次时钟频率调整任务,所述第二缓存标志事件和所述第四缓存标志事件由同一音频接口发生,所述第四缓存标志事件为将满标志事件或满标志事件。
4.根据权利要求1所述的方法,其特征在于,所述步骤S500还包括:在所述第一音频接口按照所述第二当前值执行一次时钟频率调整任务时,若检测到缓存变化趋势为增加的第五缓存标志事件,则所述仲裁逻辑电路对所述缓存电路进行缓存资源重新划分,增大发生所述第五缓存标志事件的音频接口的缓存深度和减小发生所述第一缓存标志事件的音频接口的缓存深度,以及确定与所述第五缓存标志事件相关的第二音频接口,并减小其第一当前值中的所述调整量和增大其第一当前值中的所述时钟数量,得到时钟调整参数的第六当前值,然后向所述第一音频接口发送时钟调整触发信号,使所述第一音频接口按照所述第六当前值开始执行一次时钟频率调整任务,其中,所述第一缓存标志事件和所述第五缓存标志事件由不同音频接口发生;
所述步骤S600还包括:在所述第一音频接口按照所述第三当前值执行一次时钟频率调整任务时,若检测到缓存变化趋势为减少的第六缓存标志事件,则所述仲裁逻辑电路对所述缓存电路进行缓存资源重新划分,减小发生所述第六缓存标志事件的音频接口的缓存深度和增大发生所述第二缓存标志事件的音频接口的缓存深度,以及确定与所述第六缓存标志事件相关的第二音频接口,并增大其第一当前值中的所述调整量和增大其第一当前值中的所述时钟数量,得到时钟调整参数的第七当前值,然后向所述第一音频接口发送时钟调整触发信号,使所述第一音频接口按照所述第七当前值开始执行一次时钟频率调整任务,其中,所述第二缓存标志事件和所述第六缓存标志事件由不同音频接口发生。
5.根据权利要求4所述的方法,其特征在于,所述第五缓存标志事件为1/2满标志事件、将满标志事件、满标志事件中的任意一种,所述第六缓存标志事件为1/2空标志事件、将空标志事件、空标志事件中的任意一种。
6.根据权利要求1所述的方法,其特征在于,所述步骤S500还包括:在所述第一音频接口按照所述第二当前值执行一次时钟频率调整任务时,若检测到缓存变化趋势为减少的第七缓存标志事件,则所述仲裁逻辑电路确定与所述第七缓存标志事件相关的第二音频接口,并增大其第一当前值中的所述调整量和增大其第一当前值中的所述时钟数量,得到时钟调整参数的第八当前值,然后向所述第一音频接口发送时钟调整触发信号,使所述第一音频接口按照所述第八当前值开始执行一次时钟频率调整任务,其中,所述第一缓存标志事件和所述第七缓存标志事件由不同音频接口发生;
所述步骤S600还包括:在所述第一音频接口按照所述第三当前值执行一次时钟频率调整任务时,若检测到缓存变化趋势为增加的第八缓存标志事件,则所述仲裁逻辑电路确定与所述第八缓存标志事件相关的第二音频接口,并减小其第一当前值中的所述调整量和增大其第一当前值中的所述时钟数量,得到时钟调整参数的第九当前值,然后向所述第一音频接口发送时钟调整触发信号,使所述第一音频接口按照所述第九当前值开始执行一次时钟频率调整任务,其中,所述第二缓存标志事件和所述第八缓存标志事件由不同音频接口发生。
7.根据权利要求6所述的方法,其特征在于,所述第七缓存标志事件为1/2空标志事件、将空标志事件、空标志事件中的任意一种,所述第八缓存标志事件为1/2满标志事件、将满标志事件、满标志事件中的任意一种。
8.根据权利要求1‑7任一项所述的方法,其特征在于,在步骤S100中,对于各所述第二音频接口,所述仲裁逻辑电路通过以下方式测量其与所述第一音频接口之间的时钟频偏:在所述仲裁逻辑电路按照所述第一音频接口和各所述第二音频接口的缓存深度的初始预设值对所述缓存电路进行缓存资源划分后,当一待测量的第二音频接口接收的音频数据由所述第一音频接口发出时,所述仲裁逻辑电路检测所述第一音频接口的缓存状态,若检测到将空标志事件,则控制所述第一音频接口的时钟分频计数器的值为 ,若检测到将满标志事件,则控制所述第一音频接口的时钟分频计数器的值为 ,并测量所述第一音频接口的缓存状态从将满到将空的时间 ,其中, 为一预设值且为正;
所述仲裁逻辑电路通过以下方式计算所述待测量的第二音频接口与所述第一音频接口之间的时钟频偏;
;
其中, 为所述待测量的第二音频接口与所述第一音频接口之间的时钟频偏, 为所述第一音频接口的缓存深度的初始预设值, 为系统时钟频率, 为所述第一音频接口的时钟分频计数器的初始预设值。
9.一种音频接口电路,其特征在于,所述音频接口电路包括仲裁逻辑电路、一可工作在主模式下的第一音频接口、多个可工作在从模式下的第二音频接口以及一缓存电路,所述第一音频接口用于发送所述第二音频接口接收的音频数据,所述缓存电路用作所述第一音频接口和多个所述第二音频接口的缓存,所述仲裁逻辑电路可实现权利要求1‑8任一项所述的控制方法。
10.根据权利要求9所述的音频接口电路,其特征在于,所述缓存电路的缓存空间为一片RAM。
11.根据权利要求9所述的音频接口电路,其特征在于,所述音频接口电路中的第一音频接口包括I2S接口、USB接口、SPDIF接口中的一种,所述音频接口电路中的第二音频接口包括I2S接口、USB接口、SPDIF接口中的一种或多种。
12.一种音频设备,其特征在于,包括权利要求9至11任一项所述的音频接口电路。
13.根据权利要求12所述的音频设备,其特征在于,所述音频设备为声卡、PC、手机、平板电脑或音箱。
说明书 :
音频接口电路及其控制方法、音频设备
技术领域
背景技术
由于音频是连续数据,当出现上溢或下溢时,很可能出现丢帧情况,进而产生音频噪声。例
如,对于两个不同的音频设备,虽然理论上都是12M晶振,I2S频率都是48KHz,但两个音频设
备的时钟源相对独立,由于时钟的天然偏差 (一般不大于±100PPM),两音频设备之间的时
钟偏差会造成数据传输不同步问题,数据在接收和发送过程中必然会出现上溢或者下溢,
从而容易导致声音丢失或失真等现象。
发明内容
导致音频噪声问题的发生,并且相比现有技术更为简单高效。
音频接口用于发送所述第二音频接口接收的音频数据,所述缓存电路用作所述第一音频接
口和多个所述第二音频接口的缓存,所述方法包括:
当前值,所述时钟调整参数包括单次时钟频率调整任务中需要调整的时钟数量和对第一音
频接口的时钟分频计数器的初始值进行调整的调整量;
一音频接口、多个所述第二音频接口中的各音频接口配置缓存,并向所述第一音频接口发
送时钟调整触发信号,使所述第一音频接口按照一第二音频接口的第一当前值开始执行一
次时钟频率调整任务;
缓存状态,若检测到其中任一音频接口发生缓存变化趋势为减少的第一缓存标志事件,则
执行步骤S500,若检测到缓存变化趋势为增加的第二缓存标志事件,则执行步骤S600;
钟调整参数的第二当前值,然后向所述第一音频接口发送时钟调整触发信号,使所述第一
音频接口按照所述第二当前值开始执行一次时钟频率调整任务;
钟调整参数的第三当前值,然后向所述第一音频接口发送时钟调整触发信号,使所述第一
音频接口按照所述第三当前值开始执行一次时钟频率调整任务。
量,得到时钟调整参数的第四当前值,然后向所述第一音频接口发送时钟调整触发信号,使
所述第一音频接口按照所述第四当前值开始执行一次时钟频率调整任务,所述第一缓存标
志事件和所述第三缓存标志事件由同一音频接口发生,所述第三缓存标志事件为将空标志
事件或空标志事件;
钟调整参数的第五当前值,然后向所述第一音频接口发送钟调整触发信号,使所述第一音
频接口按照所述第五当前值开始执行一次时钟频率调整任务,所述第二缓存标志事件和所
述第四缓存标志事件由同一音频接口发生,所述第四缓存标志事件为将满标志事件或满标
志事件。
裁逻辑电路对所述缓存电路进行缓存资源重新划分,增大发生所述第五缓存标志事件的音
频接口的缓存深度和减小发生所述第一缓存标志事件的音频接口的缓存深度,以及确定与
所述第五缓存标志事件相关的第二音频接口,并减小其第一当前值中的所述调整量和增大
其第一当前值中的所述时钟数量,得到时钟调整参数的第六当前值,然后向所述第一音频
接口发送时钟调整触发信号,使所述第一音频接口按照所述第六当前值开始执行一次时钟
频率调整任务,其中,所述第一缓存标志事件和所述第五缓存标志事件由不同音频接口发
生;
对所述缓存电路进行缓存资源重新划分,减小发生所述第六缓存标志事件的音频接口的缓
存深度和增大发生所述第二缓存标志事件的音频接口的缓存深度,以及确定与所述第六缓
存标志事件相关的第二音频接口,并增大其第一当前值中的所述调整量和增大其第一当前
值中的所述时钟数量,得到时钟调整参数的第七当前值,然后向所述第一音频接口发送时
钟调整触发信号,使所述第一音频接口按照所述第七当前值开始执行一次时钟频率调整任
务,其中,所述第二缓存标志事件和所述第六缓存标志事件由不同音频接口发生。
任意一种。
裁逻辑电路确定与所述第七缓存标志事件相关的第二音频接口,并增大其第一当前值中的
所述调整量和增大其第一当前值中的所述时钟数量,得到时钟调整参数的第八当前值,然
后向所述第一音频接口发送时钟调整触发信号,使所述第一音频接口按照所述第八当前值
开始执行一次时钟频率调整任务,其中,所述第一缓存标志事件和所述第七缓存标志事件
由不同音频接口发生;
确定与所述第八缓存标志事件相关的第二音频接口,并减小其第一当前值中的所述调整量
和增大其第一当前值中的所述时钟数量,得到时钟调整参数的第九当前值,然后向所述第
一音频接口发送时钟调整触发信号,使所述第一音频接口按照所述第九当前值开始执行一
次时钟频率调整任务,其中,所述第二缓存标志事件和所述第八缓存标志事件由不同音频
接口发生。
任意一种。
频数据由所述第一音频接口发出时,所述仲裁逻辑电路检测所述第一音频接口的缓存状
态,若检测到将空标志事件,则控制所述第一音频接口的时钟分频计数器的值为
,若检测到将满标志事件,则控制所述第一音频接口的时钟分频计数器的值为
,并测量所述第一音频接口的缓存状态从将满到将空的时间 ,其中, 为一预
设值且为正;
音频接口的时钟分频计数器的初始预设值。
第二音频接口以及一缓存电路,所述第一音频接口用于发送所述第二音频接口接收的音频
数据,所述缓存电路用作所述第一音频接口和多个所述第二音频接口的缓存,所述仲裁逻
辑电路可实现上述的控制方法。
一种或多种。
间的时钟频偏,然后根据该时钟频偏对缓存电路进行缓存资源划分,并获取对应的时钟调
整参数的第一当前值,在之后的音频传输时,仲裁逻辑电路检测各音频接口的缓存状态,利
用缓存标志和相应的时钟调整参数的第一当前值对第一音频接口的时钟频率进行调整,以
减少出现上溢或者下溢的问题,能够有效缓解由于时钟偏差导致音频噪声的问题的发生,
并且相比现有技术更为简单高效,避免了采用复杂同步算法带来的成本增加,另外,还能够
合理的设置各音频接口的缓存深度,有利于避免音频接口的缓存深度设置过大可能造成的
音频播放延时较大的问题,以及缓存深度设置过小可能造成的容易上溢或下溢的问题。
附图说明
具体实施方式
公知的方法、过程、流程、元件并没有详细叙述。
义。
是两个或两个以上。
顺序。本领域的技术人员能够明了,相关方法步骤的顺序,应由技术本身决定,不应因步骤
编号的存在而被不适当地限制。
从模式下的第二音频接口以及一缓存电路,所述第一音频接口用于发送各所述第二音频接
口接收的音频数据,所述缓存电路用作所述第一音频接口和多个所述第二音频接口的缓
存,即第一音频接口和多个所述第二音频接口共用该缓存电路,所述方法包括:
当前值,所述时钟调整参数包括单次时钟频率调整任务中需要调整的时钟数量B和对第一
音频接口的时钟分频计数器的初始值进行调整的调整量a,其中,所述调整量为正表示增加
所述时钟分频计数器的值,所述调整量为负表示减小所述时钟分频计数器的值;
以在该配置表中进行查询,得到对应的第一当前值和缓存深度的参考值;
要调整的时钟数量B和对第一音频接口的时钟分频计数器的初始值进行调整的调整量a,即
对第一音频接口执行一次时钟频率调整任务时,需要对第一音频接口的B个时钟进行调整,
需要调整的每一个时钟的周期增加或减小|a|个系统时钟的周期;
在时钟频偏为负(为负表示第一音频接口的时钟偏慢)的情况下,时钟频偏越小(绝对值越
大),则时钟数量B增大,调整量a减小(绝对值增大),缓存深度的参考值增大;
一音频接口、多个所述第二音频接口中的各音频接口配置缓存,并向所述第一音频接口发
送时钟调整触发信号,使所述第一音频接口按照一第二音频接口的第一当前值开始执行一
次时钟频率调整任务,其中,该一第二音频接口的第一当前值可以是时钟频偏的绝对值最
大的第二音频接口的第一当前值,即在该步骤中,第一音频接口可以仅按照上述时钟频偏
的绝对值最大的第二音频接口的第一当前值执行一次时钟频率调整任务;
划分得到的缓存越大;
的参考值之间的比例为13:12:11,则缓存资源划分后,第一音频接口的缓存深度占缓存电
路的缓存大小的13/36,第二音频接口120的缓存深度占缓存电路的缓存大小的12/36,第二
音频接口130的缓存深度占缓存电路的缓存大小的11/36;
缓存状态,若检测到其中任一音频接口发生缓存变化趋势为减少的第一缓存标志事件,则
执行步骤S500,若检测到缓存变化趋势为增加的第二缓存标志事件,则执行步骤S600;
S500对第一音频接口的时钟进行调整,以避免出现由于下溢产生的音频噪声;
S600对第一音频接口的时钟进行调整,以避免出现由于上溢产生的音频噪声;
钟调整参数的第二当前值,然后向所述第一音频接口发送时钟调整触发信号,使所述第一
音频接口按照所述第二当前值开始执行一次时钟频率调整任务;
发生第一缓存标志事件的音频接口为第一音频接口,则与该第一缓存标志事件相关的第二
音频接口即为该第一缓存标志事件发生时,与第一音频接口进行音频传输的第二音频接
口;
写,进而根据对应接口的第一当前值进行调整;
钟调整参数的第三当前值,然后向所述第一音频接口发送时钟调整触发信号,使所述第一
音频接口按照所述第三当前值开始执行一次时钟频率调整任务;
发生第二缓存标志事件的音频接口为第一音频接口,则与该第二缓存标志事件相关的第二
音频接口即为该第二缓存标志事件发生时,与第一音频接口进行音频传输的第二音频接
口。
接口之间的时钟频偏,然后根据该时钟频偏对缓存电路进行缓存资源划分,并获取对应的
时钟调整参数的第一当前值,在之后的音频传输时,仲裁逻辑电路检测各音频接口的缓存
状态,利用缓存标志和相应的时钟调整参数的第一当前值对第一音频接口的时钟频率进行
调整,以减少出现上溢或者下溢的问题,能够有效缓解由于时钟偏差导致音频噪声的问题
的发生,并且相比现有技术更为简单高效,避免了采用复杂同步算法带来的成本增加,另
外,还能够合理的设置各音频接口的缓存深度,有利于避免音频接口的缓存深度设置过大
可能造成的音频播放延时较大的问题,以及缓存深度设置过小可能造成的容易上溢或下溢
的问题。
的所述时钟数量,得到时钟调整参数的第四当前值,然后向所述第一音频接口发送时钟调
整触发信号,使所述第一音频接口按照所述第四当前值开始执行一次时钟频率调整任务,
所述第一缓存标志事件和所述第三缓存标志事件由同一音频接口发生,所述第三缓存标志
事件为将空标志事件或空标志事件;
次时钟频率调整任务中,需要进一步的调整时钟调整参数,即增大时钟频率的调整速度,以
避免下溢造成的音频噪声,其中,仲裁逻辑电路可以按照预设值增大第二当前值中的所述
调整量a和增大第二当前值中的所述时钟数量B。
所述时钟数量,得到时钟调整参数的第五当前值,然后向所述第一音频接口发送钟调整触
发信号,使所述第一音频接口按照所述第五当前值开始执行一次时钟频率调整任务,所述
第二缓存标志事件和所述第四缓存标志事件由同一音频接口发生,所述第四缓存标志事件
为将满标志事件或满标志事件。
次时钟频率调整任务中,需要进一步的调整时钟调整参数,即增大时钟频率的调整速度,以
避免下溢造成的音频噪声。
件,则所述仲裁逻辑电路对所述缓存电路进行缓存资源重新划分,增大发生所述第五缓存
标志事件的音频接口的缓存深度和减小发生所述第一缓存标志事件的音频接口的缓存深
度,以及确定与所述第五缓存标志事件相关的第二音频接口,并减小其第一当前值中的所
述调整量和增大其第一当前值中的所述时钟数量,得到时钟调整参数的第六当前值,然后
向所述第一音频接口发送时钟调整触发信号,使所述第一音频接口按照所述第六当前值开
始执行一次时钟频率调整任务,其中,所述第一缓存标志事件和所述第五缓存标志事件由
不同音频接口发生;
说明调整后的第一音频接口的时钟频率偏慢,需要利用与该缓存标志事件相关的第二音频
接口的第一当前值增大第一音频接口的时钟频率,同时,还要对缓存电路进行缓存资源重
新划分,增大缓存变化趋势为增加的音频接口的缓存深度和减小缓存变化趋势为减小的音
频接口的缓存深度;
够实现更合理的使用缓存电路,有利于减少缓存电路的缓存资源浪费。
发生第五缓存标志事件的音频接口为第一音频接口,则与该第五缓存标志事件相关的第二
音频接口即为该第五缓存标志事件发生时,与第一音频接口进行音频传输的第二音频接
口。
件,则所述仲裁逻辑电路对所述缓存电路进行缓存资源重新划分,减小发生所述第六缓存
标志事件的音频接口的缓存深度和增大发生所述第二缓存标志事件的音频接口的缓存深
度,以及确定与所述第六缓存标志事件相关的第二音频接口,并增大其第一当前值中的所
述调整量和增大其第一当前值中的所述时钟数量,得到时钟调整参数的第七当前值,然后
向所述第一音频接口发送时钟调整触发信号,使所述第一音频接口按照所述第七当前值开
始执行一次时钟频率调整任务,其中,所述第二缓存标志事件和所述第六缓存标志事件由
不同音频接口发生。
说明调整后的第一音频接口的时钟频率偏快,需要利用与该缓存标志事件相关的第二音频
接口的第一当前值减小第一音频接口的时钟频率,同时,还要对缓存电路进行缓存资源重
新划分,增大缓存变化趋势为增加的音频接口的缓存深度和减小缓存变化趋势为减小的音
频接口的缓存深度;
够实现更合理的使用缓存电路,有利于减少缓存电路的缓存资源浪费。
发生第五缓存标志事件的音频接口为第一音频接口,则该第五缓存标志事件相关的第二音
频接口即为该第五缓存标志事件发生时,与第一音频接口进行音频传输的第二音频接口。
件,则所述仲裁逻辑电路确定与所述第七缓存标志事件相关的第二音频接口,并增大其第
一当前值中的所述调整量和增大其第一当前值中的所述时钟数量,得到时钟调整参数的第
八当前值,然后向所述第一音频接口发送时钟调整触发信号,使所述第一音频接口按照所
述第八当前值开始执行一次时钟频率调整任务,其中,所述第一缓存标志事件和所述第七
缓存标志事件由不同音频接口发生;
说明调整后的第一音频接口的时钟频率偏快,仲裁逻辑电路可利用与该缓存标志事件相关
的第二音频接口的第一当前值减小第一音频接口的时钟频率,以进一步增大时钟的调整速
度,在此情况下,仲裁逻辑电路可以不对缓存电路进行缓存资源重新划分;
件,则所述仲裁逻辑电路确定与所述第八缓存标志事件相关的第二音频接口,并减小其第
一当前值中的所述调整量和增大其第一当前值中的所述时钟数量,得到时钟调整参数的第
九当前值,然后向所述第一音频接口发送时钟调整触发信号,使所述第一音频接口按照所
述第九当前值开始执行一次时钟频率调整任务,其中,所述第二缓存标志事件和所述第八
缓存标志事件由不同音频接口发生。
说明调整后的第一音频接口的时钟频率偏慢,仲裁逻辑电路可利用与该缓存标志事件相关
的第二音频接口的第一当前值增加第一音频接口的时钟频率,以进一步增大时钟的调整速
度,在此情况下,仲裁逻辑电路可以不对缓存电路进行缓存资源重新划分。
频数据由所述第一音频接口发出时,所述仲裁逻辑电路检测所述第一音频接口的缓存状
态,若检测到将空标志事件,则控制所述第一音频接口的时钟分频计数器的值为
,若检测到将满标志事件,则控制所述第一音频接口的时钟分频计数器的值为
,并测量所述第一音频接口的缓存状态从将满到将空的时间 ,其中, 为一预
设值且为正;
音频接口的时钟分频计数器的初始预设值。
工作在从模式下的第二音频接口120和130以及一缓存电路300,第一音频接口110、两个可
工作在从模式下的第二音频接口120和130共用缓存电路300,该缓存电路300可以是一FIFO
存储电路,其包括第一音频接口110的缓存FIFO_0、第二音频接口120的缓存FIFO_1和第二
音频接口130的缓存FIFO_2,仲裁逻辑电路200可以通过缓存深度配置信号改变缓存FIFO_
0、缓存FIFO_1和缓存FIFO_2的大小;
120的时钟为Clk1,第二音频接口130的时钟为Clk2,第二音频接口120接收的音频数据先存
储至FIFO_1中,然后经过MCU(微控制单元)的处理后输出至缓存FIFO_0,再通过第一音频接
口110发送出去,第二音频接口130接收的音频数据先存储至FIFO_2中,然后经过MCU(微控
制单元)的处理后输出至缓存FIFO_0,再通过第一音频接口110发送出去,仲裁逻辑电路可
以通过时钟调整触发信号改变第一音频接口110的时钟Clk3的频率;
的初始预设值CNT、时钟数量B的预设初始值B0和调整量a的预设初始值a0,例如,a0为8,B0
为64;
时钟调整的情况下缓存FIFO_0必将会出现下溢,所以首先,在缓存FIFO_0即将下溢时,将第
一音频接口的时钟分频计数器的值由初始值CNT调整为CNT+a0,以用来对第一音频接口的
时钟频率进行粗调,从Fs/CNT调整为Fs/(CNT+a0),由于粗调并不能让第一音频接口110和
第二音频接口120变成严格的时钟同步,所以缓存FIFO_0将在一段时间后会到达即将上溢
状态,此时将时钟分频计数器的值由CNT+a0调整为CNT‑a0,以保证音频连续输出。如此循环
一次就可以测量第一音频接口的缓存FIFO_0从即将上溢(将满)到即将下溢(将空)的时间
T1。
间的频偏Fq2。
调整参数的第一当前值(包括a的值a2和B的值B2)和缓存深度的参考值(K2);
配置表导入到上述音频接口电路所在的音频设备中;
后可能还会溢出,本发明实施例将每个音频接口的将空(aempty)、将满(afull)、上溢(满,
full)、下溢(空,empty)、1/2上溢(1/2满,1/2 full)和1/2下溢(1/2空,1/2empty)标志位送
入到仲裁逻辑电路中,当上述三个音频接口(共18个标志位)的任一标志位有效,仲裁逻辑
电路将给出第一音频接口的时钟调整方案,即通过合理的设置a和B值,以让音频设备1的第
一音频接口的传输延时最小,且动态功耗最小。需要说明的是,a和B值设置越合适,那么时
钟调整的间隔时间就越长,效果也就越好。
值(例如,可在a1、B1的基础上增大25%),之后向第一音频接口电路发送相应的时钟调整触
发信号;同样的,当收到缓存FIFO_1的将空标志位时,再增大a和B值(例如,可在上述增大
25%后的a1、B1的基础上增大50%),之后向第一音频接口电路发送相应的时钟调整触发信
号;当收到缓存 FIFO_1的空标志位时,再增大a和B值(例如,可在上述增大50%后的a1、B1的
基础上增大75%),之后向第一音频接口电路发送相应的时钟调整触发信号。
值和增大B值(例如,可在a2的基础上减小25%,在B2的基础上增大25%),之后向第一音频接
口电路发送相应的时钟调整触发信号,同时增大缓存FIFO_2的深度(例如,FIFO_2的深度+
1),同时减小缓存 FIFO_1的深度(例如,FIFO_1的深度‑1),同样的,若检测到缓存FIFO_2的
将满标志位,需要继续减小a值和增大B值(例如,可以在上述减小25%后的a2基础上减小
50%,在上述增大25%后的B2基础上增大50%),之后向第一音频接口电路发送相应的时钟调
整触发信号,同时增大缓存FIFO_2的深度(例如,FIFO_2的深度+2),减小FIFO_1的深度(例
如,FIFO_1的深度‑2);若检测到FIFO_2的满标志位,需要继续减小a值和增大B的值(例如,
可在上述减小50%后的a2基础上减小75%,在上述增大50%后的B2基础上增大75%),之后向第
一音频接口电路发送相应的时钟调整触发信号,同时增大FIFO_2的深度(例如,FIFO_2的深
度+4),减小FIFO_1的深度(例如,FIFO_1的深度‑4)。
深度可不进行调整。
130的3种满标志位(1/2满,将满,满)任一有效,则减小a的值和增大B的值,同时增大缓存
FIFO_1和缓存FIFO_2深度,减小缓存FIFO_0的深度。
130的3种空标志位(1/2空,将空,空)任一有效,则增大a的值和B的值,各音频接口的缓存深
度不做调整。
130的3种满标志位(1/2满,将满,满)任一有效,则减小a的值和增大B的值,各音频接口的缓
存深度不做调整。
130的3种空标志位(1/2空、将空、空)任一有效,则增大a的值和B的值,同时减小缓存FIFO_1
和缓存FIFO_2的深度,增大缓存FIFO_0的深度。
出主模式的音频接口的初始时钟调整信息和所有数据流接口的FIFO深度的初始调整值。在
之后的数据交互过程中,每个音频接口的各个缓存标志位都会被送入到仲裁逻辑电路中,
一旦标志位触发,仲裁逻辑电路将给出主模式的音频接口的速率调整方案和各音频接口的
缓存深度调整方案。时钟频率和缓存深度的调整伴随着整个数据交互过程,这种简单高效
的频率跟随机制,可以有效杜绝音频数据由于上溢或下溢导致的音频噪声。
缓存电路,所述第一音频接口用于发送所述第二音频接口接收的音频数据,所述缓存电路
用作所述第一音频接口和多个所述第二音频接口的缓存,所述仲裁逻辑电路可实现上述的
控制方法。
能够动态调整各音频接口的缓存深度,从而更加合理的使用缓存电路,在多个音频接口联
动时,可以避免缓存深度固定造成某一音频接口永远达不到将空或将满造成的资源浪费。
声,有利于避免音频接口的缓存深度设置过大可能造成的音频播放延时较大的问题,也避
免了音频接口的缓存深度太小同时调整范围太大造成的FIFO频繁上溢或下溢,进而导致功
耗增加的问题。
SPDIF接口中的一种或多种。
模式下的第一音频接口发出。
接口将处理后的数据发送给耳机、功放或其他监听设备等。
换,都将包含于本发明的权利要求范围内。