System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数字音频信号处理领域,特别是涉及一种应用于音频数据搬运的dma控制器、控制方法及i2s系统。
技术介绍
1、微控制器(mcu)通常配备i2s(inter-ic sound bus)外设,这是一种专为数字音频设备之间的音频数据传输而设计的同步串行通信协议。在音频播放过程中,音频数据需从内存写入i2s内部的发送数据寄存器,i2s依据相关传输协议标准(如philips标准、左对齐(msb)标准、右对齐(lsb)标准或pcm标准)通过i2s总线将数据传输至音频编解码芯片(codec),以驱动扬声器播放解码后的音频。针对单声道或双声道的16位或32位音频数据,内存与i2s外设的数据交互可通过cpu或通用dma完成。采用dma进行数据传输显著提升了系统的性能:在数据搬运过程中,cpu无需参与,释放了其资源以处理其他复杂计算任务,从而实现更高效的cpu资源利用。
2、通用dma的特性包括支持8位(字节)、16位(半字)和32位(字)宽度的数据搬运,以及自增、自减或固定的地址模式。例如,在播放双声道32位音频数据时,可以将源地址设为存放音频数据的内存地址并选择自增模式,而目的地址则指定为i2s发送寄存器的地址并设置为固定模式,此时源地址和目的地址的数据宽度均为32位。通过这种方式,dma能够自增遍历内存中的音频数据,将其搬运至i2s发送寄存器,从而实现音频播放。
3、然而,对于四声道、六声道、八声道等多声道音频数据,在非tdm模式(timedivision multiplexed,时分复用模式)下,所需的i2s
技术实现思路
1、鉴于以上所述现有技术的缺点,本申请的目的在于提供一种应用于音频数据搬运的dma控制器、控制方法及i2s系统,用于解决现有技术中存在通用dma在处理多声道和24位音频数据时的应用限制的问题。
2、为实现上述目的及其他相关目的,本申请的第一方面提供一种方法应用于音频数据搬运的dma控制器,包括:参数配置单元:所述参数配置单元与所述控制接口通信相连;所述参数配置单元用于通过所述控制接口接收源地址、目标地址以及配置参数,基于所述配置参数对数据处理单元执行参数配置操作,并将所述源地址、所述目标地址以及所述配置参数发送至数据处理单元;数据处理单元:所述数据处理单元包括数据获取模块、格式匹配模块以及数据搬运模块;所述数据获取模块与所述参数配置单元和所述格式匹配模块通信相连,以用于根据所述源地址从主内存或音频输入设备获取音频数据;所述格式匹配模块与所述数据获取模块和所述数据搬运模块通信相连,以用于根据所述配置参数对所述音频数据执行格式匹配操作;所述数据搬运模块与所述格式匹配模块通信相连,以根据目标地址对格式匹配后的音频数据执行数据搬运操作,将格式匹配后的音频数据搬运至主内存或音频输出设备。
3、于本申请的第一方面的一些实施例中,所述dma控制器还包括:第一通道,所述第一通道通过数据获取模块从所述主内存中读取所述音频数据,并将所述音频数据存储在多路输出寄存器中,所述数据获取模块将所述音频数据发送至所述音频输出设备中;第二通道,所述第二通道通过数据获取模块接收所述音频输入设备发送的音频数据,并将所述音频数据存储在多路输入寄存器中,所述数据搬运模块将所述音频数据搬运至所述主内存中。
4、于本申请的第一方面的一些实施例中,包括:所述多路输入寄存器与所述数据搬运模块相连,每路输入寄存器包含16字深和32位宽的接收fifo缓存区,对应一个音频输入设备的两个声道音频数据;每帧音频数据的输入过程包括,从每个输入寄存器中分别取走2个字的音频数据;所述多路输出寄存器与所述数据搬运模块相连,每路输出寄存器包含16字深和32位宽的发送fifo缓存区,对应一个音频输出设备的两个声道音频数据;每帧音频数据的输出过程包括,向每个输出寄存器中分别填充2个字的音频数据。
5、于本申请的第一方面的一些实施例中,对格式匹配后的音频数据执行数据搬运操作的过程包括:当启动所述第一通道传输后,响应于各路输出寄存器中存储的音频数据的数据量小于等于输出门阈值时触发dma事件,并将所述主内存中的音频数据搬运至各路输出寄存器中,直至各路输出寄存器被填满;当启动所述第二通道传输后,响应于各路输入寄存器中存储的音频数据的数据量大于等于输入门阈值时触发dma事件,并将各路输入寄存器中的音频数据搬运至所述主内存中,直至各路输入寄存器清空。
6、于本申请的第一方面的一些实施例中,对格式匹配后的音频数据执行数据搬运操作的过程还包括索引自增操作,所述索引自增操作包括:响应于成功执行从源地址读取一帧数据的操作,源地址索引增加预设读字节量,以令源地址索引指向下一帧数据的起始位置;以及/或者,响应于成功执行向目标地址写入一帧数据的操作,目标地址索引增加预设写字节量,以令目标地址索引指向下一次需要写入的数据存储位置。
7、于本申请的第一方面的一些实施例中,对格式匹配后的音频数据执行数据搬运操作还包括索引重置操作,所述索引重置操作包括:响应于所有输出寄存器填充完成一帧数据后,将目标地址索引重置回多个输出寄存器的首个地址,以待下一帧数据的填充;以及/或者,响应于所有输入寄存器填满一帧数据后,将源地址索引重置回多个输入寄存器的首个地址,以待下一帧数据的读取。
8、于本申请的第一方面的一些实施例中,对接收到的所述音频数据进行格式配置操作的过程包括:响应于所述音频数据的数据宽度小于目标地址的槽宽度,对所述音频数据进行预设位数的数据移位操作。
9、于本申请的第一方面的一些实施例中,所述配置参数包括:音频声道数、数据宽度、数据槽宽度、音频数据帧数量的一种或多种。
10、为实现上述目的及其他相关目的,本申请的第二方面提供一种应用于音频数据搬运的dma控制方法,所述方法应用于dma控制器,所述方法包括:接收源地址、目标地址以及配置参数,基于所述配置参数执行参数配置操作;根据所述源地址从主内存或音频输入设备获取音频数据;根据所述配置参数对所述音频数据执行格式匹配操作;根据目标地址对格式匹配后的音频数据执行数据搬运操作,将格式匹配后的音频数据搬运至主内存或音频输出设备。
11、为实现上述目的及其他相关目的,本申请的第三方面提供一种i2s系统,所述系统包括:如权利要求1至8中任一项所述的应用于音频数据搬运的dma控制器。
12、如上所述,本申请的应用于音频数据搬运的dma控制器、控制方法及i2s系统,具有以下有益效果:解决了多声道音频数据和24位音频数据无法通过通用dm本文档来自技高网...
【技术保护点】
1.一种应用于音频数据搬运的DMA控制器,其特征在于,包括:
2.根据权利要求1所述的应用于音频数据搬运的DMA控制器,其特征在于,所述DMA控制器还包括:
3.根据权利要求2所述的应用于音频数据搬运的DMA控制器,其特征在于,包括:
4.根据权利要求2所述的应用于音频数据搬运的DMA控制器,其特征在于,对格式匹配后的音频数据执行数据搬运操作的过程包括:
5.根据权利要求4所述的应用于音频数据搬运的DMA控制器,其特征在于,对格式匹配后的音频数据执行数据搬运操作的过程还包括索引自增操作,所述索引自增操作包括:
6.根据权利要求4所述的应用于音频数据搬运的DMA控制器,其特征在于,对格式匹配后的音频数据执行数据搬运操作还包括索引重置操作,所述索引重置操作包括:
7.根据权利要求2所述的应用于音频数据搬运的DMA控制器,其特征在于,对接收到的所述音频数据进行格式配置操作的过程包括:响应于所述音频数据的数据宽度小于目标地址的槽宽度,对所述音频数据进行预设位数的数据移位操作。
8.根据权利要求1所述的应用
9.一种应用于音频数据搬运的DMA控制方法,其特征在于,所述方法应用于DMA控制器,所述方法包括:
10.一种I2S系统,其特征在于,所述系统包括:如权利要求1至8中任一项所述的应用于音频数据搬运的DMA控制器。
...【技术特征摘要】
1.一种应用于音频数据搬运的dma控制器,其特征在于,包括:
2.根据权利要求1所述的应用于音频数据搬运的dma控制器,其特征在于,所述dma控制器还包括:
3.根据权利要求2所述的应用于音频数据搬运的dma控制器,其特征在于,包括:
4.根据权利要求2所述的应用于音频数据搬运的dma控制器,其特征在于,对格式匹配后的音频数据执行数据搬运操作的过程包括:
5.根据权利要求4所述的应用于音频数据搬运的dma控制器,其特征在于,对格式匹配后的音频数据执行数据搬运操作的过程还包括索引自增操作,所述索引自增操作包括:
6.根据权利要求4所述的应用于音频数据搬运的dma控制器,其特征在于,对格式匹配后的音频数据执行数据搬...
【专利技术属性】
技术研发人员:陈志宏,赵建斌,钱江浩,
申请(专利权)人:上海先楫半导体科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。