System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于SPI控制器播放音频的方法、设备及介质技术_技高网

一种基于SPI控制器播放音频的方法、设备及介质技术

技术编号:40789778 阅读:3 留言:0更新日期:2024-03-28 19:20
本发明专利技术公开了一种基于SPI控制器播放音频的方法,包括:按设定的采样频率采样音频数据;将所述音频数据的格式转换为PCM格式的音频文件;将所述音频文件的数值转换成PWM数据;根据所述音频文件的采样频率配置SPI控制器的传输速率;将所述PWM数据转换成SPI数据;采用多个缓冲存储器编写对应的SPI数据,并通过DMA控制器将SPI数据轮流发送给SPI控制器;所述SPI控制器按配置的传输速率将SPI数据进行连续发送,实现音频文件的播放。本发明专利技术还公开了一种电子设备和计算机存储介质,保证了音频播放的质量与速度。

【技术实现步骤摘要】

本专利技术涉及音频播放,尤其涉及一种基于spi控制器播放音频的方法、设备及介质。


技术介绍

1、支付云音箱是集收款、播报、营销、服务于一体的智能终端,通过链接互联网实现支付信息播报,具备声音洪亮、待机时间长、播报更快、操作简单等特点,广泛应用于便利店、快餐店、超市、菜市场等场景。

2、音频播放是支付云音箱产品的重要功能,现有的技术主要有两种方式:一种使用内置或者外置的音频模块(ad转换器和da转换器)进行播放,使用ad转换器以一定的采样频率将连续的音频模拟信号采样并量化为离散的音频数字信号,然后播放的时候就是按原来的采样频率使用da转换器将音频数字信号转换为音频模拟信号并输出。该方案依赖音频模块实现,成本较高,且有些芯片本身不带da转换器;另外一种是使用pwm(脉冲宽度调制)信号来播放音频,该方案需要高频率与高优先级中断,cpu无法响应其他任务。

3、音频文件通常通过a/d转换将连续的电压信号通过脉冲编码调制pcm(pulse codemodulation)将连续的电压信号转换为pcm,需要进行采样和量化,主要指标有以下两点:

4、采样频率(sampling rate):单位时间内采集的样本数,即:采样周期的倒数,指两个采样之间的时间间隔。采样频率越高,声音质量越好,但同时占用的带宽越大。

5、采样位数:表示一个样本的二进制位数,即:每个采样点用多少比特表示。计算机中音频的量化深度一般为4、8、16、32位(bit)等。例如:采样位数为8bit时,每个采样点可以表示256个不同的采样值。采样位数的大小影响声音的质量,采样位数越多,量化后的波形越接近原始波形,声音的质量越高,而需要的存储空间也越多。

6、支付云音箱播放的音频文件通常采用16位pcm文件,采样频率16khz,位深度16位,单声道,原始数据,编码16位pcm。

7、播放音频就是按原来采样的速率再用dac输出对应的数据,使用pwm方式播放16khz采样频率、16位的pcm音频文件,需要开启一个16khz的定时器和80khz的pwm,以16khz的频率在定时器中断中改变pwm的占空比,从而改变输出的电压值,实现以16khz采样速率播出音频,该方案广泛在低成本产品使用,但其存在两个问题:

8、1、改变pwm占空比的时候,需要重启pwm时钟,先关闭pwm的时钟再打开,会导致切换占空比的时候,会有一个间隔延迟,可能是芯片问题,这会导致会听到明显噪声。

9、2、占用资源多,在播放音频的过程中需要以16khz的频率进入中断修改占空比,为了确保播放质量,中断优先级需设置较高,cpu无法处理其他任务。


技术实现思路

1、有鉴于此,本专利技术的目的在于提出一种基于spi控制器播放音频的方法。

2、为了实现上述的技术目的,本专利技术所采用的技术方案为:

3、本专利技术提供了一种基于spi控制器播放音频的方法,包括如下步骤:

4、步骤1、按设定的采样频率采样音频数据;

5、步骤2、将所述音频数据的格式转换为pcm格式的音频文件;

6、步骤3、将所述音频文件的数值转换成pwm数据;

7、步骤4、根据所述音频文件的采样频率配置spi控制器的传输速率;

8、步骤5、将所述pwm数据转换成spi数据;

9、步骤6、采用多个缓冲存储器编写对应的spi数据,并通过dma控制器将spi数据轮流发送给spi控制器;

10、步骤7、所述spi控制器按配置的传输速率将spi数据进行连续发送,实现音频文件的播放。

11、进一步的,所述步骤1具体为:通过模数转换器按设定的采样频率fs将连续的音频模拟信号采样并量化为离散的音频数字信号,所述音频数字信号是原始的音频数据;所述设定的采样频率fs采用16khz。

12、进一步的,所述步骤2具体包括:

13、步骤21、分析所述音频数据的格式;

14、步骤22、判断所述音频数据的格式是否为pcm格式,若是,则直接进入步骤3;否则,使用音频编码工具将非pcm格式的音频数据转换为pcm格式的音频文件;所述音频编码工具采用adoube auditon软件。

15、进一步的,所述步骤3具体包括:

16、步骤31、设置所述音频文件的位数,并根据所述音频文件的位数确定取值范围;

17、步骤32、根据所述取值范围确定spi控制器需要使用的字节个数,确保每个字节的每一位正好对应取值范围中的每一个数;

18、步骤33、根据音频文件的大小判断是否需要对音频文件进行压缩,若是,根据压缩比例将所述音频数字信号的数值转换为模拟pwm的占空比所对应的pwm数据;否则,直接将所述音频数字信号的数值作为pwm数据。

19、进一步的,所述步骤31具体为:

20、所述音频文件的位数选用16,则所述音频数字信号的数值用16位的二进制来表示,所述音频数字信号的数值对应的取值范围是0~65535,共有65536个取值,所述音频数字信号在幅度上也分为65536层;

21、所述步骤32具体为:

22、发送一个周期的pwm数据需要65536位,即所述spi控制器需要使用8192个字节,确保每个字节的每一位正好对应取值范围中的每一位;

23、所述步骤33具体为:

24、步骤331、将16位的所述音频文件压缩至9位,则9位对应的取值范围是0~511,发送一个周期的pwm数据需要512位,即64个字节;

25、步骤332、定义所述音频数字信号的数值为x,转换后的数值为y,则得到转换公式为:y=x×(512/65536)=x/128;

26、步骤333、将转换后的数值y作为pwm数据。

27、进一步的,所述步骤4具体为:

28、当所述音频文件的位数为16位且采样频率fs为16khz时,设置spi控制器的传输速率为24mhz。

29、进一步的,所述步骤5具体包括:

30、步骤51、所述pwm数据的一个周期为512位,所述spi控制器根据pwm数据确定每个字节中每一位应发的数值,每一位应发的数值为0或1;若所述pwm数据的具体值为m,0≤m≤512,则一个周期512位中的前m位的应发数值为1,后512-m位的应发数值为0;

31、步骤52、将一个周期512位中的每一位根据应发的数值分别进行置0或置1处理,得到512位的spi数据。

32、进一步的,所述步骤6具体包括:

33、步骤61、采用至少两个缓冲存储器,初始化两个缓冲存储器,每个缓冲存储器用于存储一个周期的spi数据;

34、步骤62、配置所述缓冲存储器的大小为188字节*20,确保所述缓冲存储器的编写速度大于dma控制器的发送速度;

35、步骤63、当第一个缓冲存储器编写完对应的本文档来自技高网...

【技术保护点】

1.一种基于SPI控制器播放音频的方法,其特征在于,包括如下步骤:

2.如权利要求1所述的一种基于SPI控制器播放音频的方法,其特征在于,所述步骤1具体为:通过模数转换器按设定的采样频率fs将连续的音频模拟信号采样并量化为离散的音频数字信号,所述音频数字信号是原始的音频数据;所述设定的采样频率fs采用16kHz。

3.如权利要求1所述的一种基于SPI控制器播放音频的方法,其特征在于,所述步骤2具体包括:

4.如权利要求2所述的一种基于SPI控制器播放音频的方法,其特征在于,所述步骤3具体包括:

5.如权利要求4所述的一种基于SPI控制器播放音频的方法,其特征在于,所述步骤31具体为:

6.如权利要求5所述的一种基于SPI控制器播放音频的方法,其特征在于,所述步骤4具体为:

7.如权利要求6所述的一种基于SPI控制器播放音频的方法,其特征在于,所述步骤5具体包括:

8.如权利要求7所述的一种基于SPI控制器播放音频的方法,其特征在于,所述步骤6具体包括:

9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至8任一项所述的一种基于SPI控制器播放音频的方法。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至8任一项所述的一种基于SPI控制器播放音频的方法。

...

【技术特征摘要】

1.一种基于spi控制器播放音频的方法,其特征在于,包括如下步骤:

2.如权利要求1所述的一种基于spi控制器播放音频的方法,其特征在于,所述步骤1具体为:通过模数转换器按设定的采样频率fs将连续的音频模拟信号采样并量化为离散的音频数字信号,所述音频数字信号是原始的音频数据;所述设定的采样频率fs采用16khz。

3.如权利要求1所述的一种基于spi控制器播放音频的方法,其特征在于,所述步骤2具体包括:

4.如权利要求2所述的一种基于spi控制器播放音频的方法,其特征在于,所述步骤3具体包括:

5.如权利要求4所述的一种基于spi控制器播放音频的方法,其特征在于,所述步骤31具体为:

6.如...

【专利技术属性】
技术研发人员:郭忱严明
申请(专利权)人:福建新大陆支付技术有限公司
类型:发明
国别省市:

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

1