一种缩短带辅助听力耳机延迟的方法技术

技术编号:36858290 阅读:14 留言:0更新日期:2023-03-15 18:07
本发明专利技术公开了一种缩短带辅助听力耳机延迟的方法,涉及蓝牙耳机技术领域,包括依次连接的模拟麦克风、模拟放大器、模数转换器、下采样转换器、第一异步采样转换器、DMA1、存储器和MCU/DSP,依次连接的播放装置、幅度功率放大器、数模转换器、上采样转换器、第二异步采样转换器、DMA2和MCU/DSP,开启DMA1,从第一异步采样转换器的FIFO搬移数据至存储器的指定起始地址,当MCU/DSP获取、处理并搬移数据到存储器的指定目的地址后,再开启DMA2,从指定目的地址搬移数据至第二异步采样转换器的FIFO。本发明专利技术缩短了传统软件实现辅听方法的延迟,且实现方法简单,不增加任何硬件成本。不增加任何硬件成本。不增加任何硬件成本。

【技术实现步骤摘要】
buffer1,然后再是Pang buffer1,这样一直反复循环
……
声音信号的播放处理过程如图4所示,MCU/DSP会给播放装置如喇叭播放通路的DMA设置两个源地址,这两个地址就是缓冲区Ping buffer2的起始地址和缓冲区Pang buffer2的起始地址,同样Ping buffer2的大小和Pang buffer2的大小是一样的,这两块buffer也位于存储器中,也会设置一个一次搬移的数据量的大小,这里叫做fragment size2,fragment size2和Pingbuffer、Pang buffer2的大小是一样的。Fragment size2的大小可以和Fragment size1的大小一样,也可以不一样。通常没有什么特殊的原因,会把这两个size设置为一样的。同时还会设置一个目的地址,这地址就是第二异步采样转换器的输入FIFO地址。当DMA启动后,DMA首先会把Ping buffer2的数据搬移到第二异步采样转换器的输入FIFO,当搬完一个fragment size2的数据后,DMA会产生一个中断给MCU/DSP来告知Ping buffer2的数据已经搬完,并开始去搬移Pang buffer2的数据,MCU/DSP收到中断后去memory中取出一个fragment size2大小的采集的音频数据送到Ping buffer2,同样当搬完一个fragment后,DMA会产生一个中断给MCU/DSP来告诉Pang buffer2的数据已经搬完,然后去搬Ping buffer2的数据。MCU/DSP收到中断后去存储器中取出一个fragment size2大小的MIC数据送到Pang buffer2, 这样一直反复循环
……
通常软件实现辅听的步骤如下:1、先配置好个硬件模块的参数;2、同时启动第一直接存储器访问控制器DMA1和第二直接存储器访问控制器DMA2;3、DMA1、DMA2搬完一个fragment size(fragment size=fragment size1=fragment size2,通常一个fragment size大小的数据叫做一帧数据)的数据后产生中断4、MCU/DSP在DMA1、DMA2的中断函数处理中处理各自的事务。DMA1中断处理函数处理收到的信号,DMA2中断处理主要是把处理完后的数据送到Ping buffer2或者是Pang buffer2;5、重复3,4步。
[0004]现有技术的延迟分析:一样来说,硬件固定后,所有的硬件处理模块,这里指模拟麦克风,模拟放大器,模数转换器,下采样转换器,第一异步采样转换器,第二异步采样转换器,上采样转换器,数模转换器,幅度功率放大器,喇叭产生的延迟都是固定的,一般为微秒(us)级别,大概为几十微秒到一两百微秒之间,延迟主要产生在DMA的数据搬移之间。如下图5所示,可以看出采集到的第一帧数据要到第三帧才能播放出来,喇叭播放的前两帧都是无效的空数据,通常为0,所以:总延迟=硬件延迟(固定)+2*fragment size;现有技术中减小延迟的方法通常来说都是尽量缩短fragment size的大小。举例来说,如果采样率是16K的话,fragment size是240个采样点的话,那一个fragment size对应的延迟就是15ms。

技术实现思路

[0005]本专利技术的目的在于提供一种缩短带辅助听力耳机延迟的方法,进一步缩短了现有技术中软件实现辅听的延迟时间。
[0006]本专利技术通过下述技术方案解决上述问题:一种缩短带辅助听力耳机延迟的方法,包括依次通信连接的模拟麦克风、模拟放大器、模数转换器、下采样转换器、第一异步采样转换器、第一直接存储器访问控制器DMA1、存储器和微处理器单元/数字信号处理器MCU/DSP,还包括依次通信连接的播放装置、幅度功率放大器、数模转换器、上采样转换器、第二异步采样转换器、第二直接存储器访问控制器DMA2、所述存储器和所述微处理器单元/数字信号处理器MCU/DSP,音频处理方法为:首先开启第一直接存储器访问控制器DMA1,DMA1从第一异步采样转换器的输出先进先出队列FIFO搬移数据至存储器的指定起始地址,当微处理器单元/数字信号处理器MCU/DSP从所述存储器的指定起始地址获取并处理完一帧数据搬移到存储器的指定目的地址后,再开启第二直接存储器访问控制器DMA2,DMA2从所述存储器的指定目的地址搬移数据至第二异步采样转换器的输入先进先出队列FIFO。
[0007]由于先启动第一直接存储器访问控制器DMA1,当一个DMA1中断来到之后,MCU/DSP获取第一帧数据,然后MCU/DSP进行信号处理,处理时间为Δ;当信号处理完成后,将处理完的一帧数据拷贝到Ping buffer2,然后启动第二直接存储器访问控制器DMA2,DMA2启动开始搬运Ping buffer2的数据;当第二个DMA1中断来后,MCU/DSP获取第二帧数据,处理完后把第二帧数据送到Pang buffer2(由于DMA2启动时间比DMA1晚一帧+Δ,所以模拟麦克风在送Pang buffer2的数据的时候,DMA2还在搬运Ping buffer2的数据。本方法的总延迟=硬件延迟(固定)+fragment size+Δ,其中,fragment size搬运一帧数据的时间,Δ的时间取决于算法复杂度,MCU/DSP运算性能以及运算主频。通常来说Δ肯定是小于fragment size时间的(如果Δ>fragment size,通常会认为是CPU/DSP性能不够或者是主频不够高)。相比传统的同时启动DMA1和DMA2的延迟(硬件延迟(固定)+2*fragment size),本方法缩短的延迟时间ST:ST= fragment size

Δ。
[0008]所述音频处理方法具体包括:当模拟麦克风采集的音频信号经过模拟放大器放大、模数转换器转换、下采样转换器采样率整数倍转换后,再由第一异步采样转换器转换成设定采样频率的信号时,启动第一直接存储器访问控制器DMA1,DMA1启动后从第一异步采样转换器的输出先进先出队列FIFO交替搬移数据至存储器中的缓冲区Ping buffer1、缓冲区Pang buffer1,每一次搬移完成后DMA1产生中断信号给微处理器单元/数字信号处理器MCU/DSP;MCU/DSP收到第一个中断信号后,从缓冲区Ping buffer1读取数据并处理后搬移到存储器中的缓冲区Ping buffer2,MCU/DSP再次收到中断信号后,从缓冲区Pang buffer1读取数据并处理后搬移到存储器中的缓冲区Pang buffer2,如此交替搬移数据;当MCU/DSP搬移第一帧数据完成后,启动第二直接存储器访问控制器DMA2,DMA2开始交替搬运缓冲区Ping buffer2、缓冲区Pang buffer2的数据至第二异步采样转换器的输入先进先出队列FIFO;数据通过第二异步采样转换器采样率逆转换、上采样转换器采样率整数倍逆转换、数模转换器转换、功率和幅度放大器放大后,由播放装置进行播放。
[00本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种缩短带辅助听力耳机延迟的方法,包括依次通信连接的模拟麦克风、模拟放大器、模数转换器、下采样转换器、第一异步采样转换器、第一直接存储器访问控制器DMA1、存储器和微处理器单元/数字信号处理器MCU/DSP,还包括依次通信连接的播放装置、幅度功率放大器、数模转换器、上采样转换器、第二异步采样转换器、第二直接存储器访问控制器DMA2、所述存储器和所述微处理器单元/数字信号处理器MCU/DSP,其特征在于,音频处理方法为:首先开启第一直接存储器访问控制器DMA1,DMA1从第一异步采样转换器的输出先进先出队列FIFO搬移数据至存储器的指定起始地址,当微处理器单元/数字信号处理器MCU/DSP从所述存储器的指定起始地址获取并处理完一帧数据搬移到存储器的指定目的地址后,再开启第二直接存储器访问控制器DMA2,DMA2从所述存储器的指定目的地址搬移数据至第二异步采样转换器的输入先进先出队列FIFO。2.根据权利要求1所述的一种缩短带辅助听力耳机延迟的方法,其特征在于,所述音频处理方法具体包括:当模拟麦克风采集的音频信号经过模拟放大器放大、模数转换器转换、下采样转换器采样率整数倍转换...

【专利技术属性】
技术研发人员:李波
申请(专利权)人:重庆市安比科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1