CN115134031A - 获取音频数据的方法、装置和处理器和存储介质 - Google Patents
获取音频数据的方法、装置和处理器和存储介质 Download PDFInfo
- Publication number
- CN115134031A CN115134031A CN202210538611.6A CN202210538611A CN115134031A CN 115134031 A CN115134031 A CN 115134031A CN 202210538611 A CN202210538611 A CN 202210538611A CN 115134031 A CN115134031 A CN 115134031A
- Authority
- CN
- China
- Prior art keywords
- interface
- clock signal
- spi
- processor
- audio data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0602—Systems characterised by the synchronising information used
- H04J3/0617—Systems characterised by the synchronising information used the synchronising signal being characterised by the frequency or phase
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/162—Interface to dedicated audio devices, e.g. audio drivers, interface to CODECs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Systems (AREA)
Abstract
本申请涉及一种获取音频数据的方法、装置、处理器、存储介质和计算机程序产品。该方法应用于处理器,处理器设置有分频接口和SPI接口,所述SPI接口与外部音频设备的I2S接口连接;处理器上电启动,根据预设配置参数,配置SPI接口,通过SPI接口生成初始时钟信号,并发送同步消息至I2S接口,同步消息用于控制I2S接口根据预设配置参数进行时钟同步;通过分频接口对初始时钟信号进行分频,得到分频时钟信号;将分频时钟信号以及初始时钟信号传输至I2S接口;接收外部音频设备通过I2S接口发送的音频数据,相比目前的通过模拟信号进行音频数据读取的方法,减少了数据错位的情况,能够同时接受两个声道的数据,保证了音频数据的准确性,减少了噪音的产生,适用性强。
Description
技术领域
本申请涉及智能家居技术领域,特别是涉及一种获取音频数据的方法、装置、处理器、存储介质和计算机程序产品。
背景技术
随着人工智能技术的发展,语音采集需求的场景越来越多,因此对MCU(Microcontroller Unit,单片微型计算机)的语音采集能力提出了要求,通常情况下音频采集的需求通过具备音频接口的MCU完成,很多不具备音频接口的MCU厂家也希望能通过匹配音频接口的特性来进行音频数据的获取,从而拓展自己芯片的应用领域。
目前不具备音频接口的芯片厂家和行业开发者提出了一些解决方案,但是这些方法有的依赖于芯片本身的脉冲计数器,定时器等特定资源而不具备通用扩展性。有的运用GPIO模拟时序消耗很多MCU的资源,获取的语音失真或者噪音较多。
发明内容
基于此,有必要针对上述技术问题,提供一种适用性强且音频数据传输准确的获取音频数据的方法、装置、处理器、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种获取音频数据的方法,应用于处理器,处理器设置有分频接口和SPI接口,SPI接口与外部音频设备的I2S接口连接。该方法包括:
上电启动,根据预设配置参数,配置SPI接口,通过SPI接口生成初始时钟信号,并发送同步消息至I2S接口,同步消息携带预设配置参数,同步消息用于控制I2S接口根据预设配置参数进行时钟同步;
通过分频接口对初始时钟信号进行分频,得到分频时钟信号;
将分频时钟信号以及初始时钟信号传输至I2S接口;
接收外部音频设备通过I2S接口发送的音频数据。
在其中一个实施例中,预设配置参数为左对齐模式下的配置参数,处理器的工作模式为Master模式,外部音频设备的工作模式为Slave模式。
在其中一个实施例中,SPI接口包括MOSI接口;通过SPI接口生成初始时钟信号包括:通过MOSI接口生成初始时钟信号;通过SPI接口生成初始时钟信号之后,还包括:将初始时钟信号传输至分频接口。
在其中一个实施例中,通过MOSI接口生成初始时钟信号包括:通过SPI接口的写队列将初始时钟信号写入MOSI接口。
在其中一个实施例中,接收外部音频设备通过I2S接口发送的音频数据包括:通过SPI接口的读队列接收外部音频设备通过I2S接口发送的音频数据。
在其中一个实施例中,处理器设置有DMA控制器以及音频缓存区,DMA控制器与音频缓存区以及SPI接口连接;通过SPI接口的读队列接收外部音频设备通过I2S接口发送的音频数据包括:控制DMA控制器触发读中断线程;执行读中断线程,以对外部音频设备发送的音频数据进行读取,并将音频数据写入音频缓存区。
第二方面,本申请还提供了一种获取音频数据的装置,应用于处理器,处理器设置有分频接口和SPI接口,SPI接口与外部音频设备的I2S接口连接。该装置包括:
配置模块,用于上电启动,根据预设配置参数,配置SPI接口,通过SPI接口生成初始时钟信号,并发送同步消息至I2S接口,同步消息携带预设配置参数,同步消息用于控制I2S接口根据预设配置参数进行时钟同步;
分频模块,用于通过分频接口对初始时钟信号进行分频,得到分频时钟信号;
传输模块,用于将分频时钟信号以及初始时钟信号传输至I2S接口;
接收模块,用于接收外部音频设备通过I2S接口发送的音频数据。
第三方面,本申请还提供了一种处理器。该处理器包括存储器、分频接口和SPI接口,SPI接口与外部音频设备的I2S接口连接。该存储器存储有计算机程序,该处理器执行该计算机程序时实现以下步骤:
上电启动,根据预设配置参数,配置SPI接口,通过SPI接口生成初始时钟信号,并发送同步消息至I2S接口,同步消息携带预设配置参数,同步消息用于控制I2S接口根据预设配置参数进行时钟同步;
通过分频接口对初始时钟信号进行分频,得到分频时钟信号;
将分频时钟信号以及初始时钟信号传输至I2S接口;
接收外部音频设备通过I2S接口发送的音频数据。
第四方面,本申请还提供了一种计算机可读存储介质。该计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以下步骤:
上电启动,根据预设配置参数,配置SPI接口,通过SPI接口生成初始时钟信号,并发送同步消息至I2S接口,同步消息携带预设配置参数,同步消息用于控制I2S接口根据预设配置参数进行时钟同步;
通过分频接口对初始时钟信号进行分频,得到分频时钟信号;
将分频时钟信号以及初始时钟信号传输至I2S接口;
接收外部音频设备通过I2S接口发送的音频数据。
第五方面,本申请还提供了一种计算机程序产品。该计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
上电启动,根据预设配置参数,配置SPI接口,通过SPI接口生成初始时钟信号,并发送同步消息至I2S接口,同步消息携带预设配置参数,同步消息用于控制I2S接口根据预设配置参数进行时钟同步;
通过分频接口对初始时钟信号进行分频,得到分频时钟信号;
将分频时钟信号以及初始时钟信号传输至I2S接口;
接收外部音频设备通过I2S接口发送的音频数据。
上述获取音频数据的方法、装置、处理器、存储介质和计算机程序产品,应用于处理器,处理器设置有分频接口和SPI接口,所述SPI接口与外部音频设备的I2S接口连接;处理器上电启动,根据预设配置参数,配置SPI接口,通过SPI接口生成初始时钟信号,并发送同步消息至I2S接口,同步消息携带预设配置参数,同步消息用于控制I2S接口根据预设配置参数进行时钟同步;通过分频接口对初始时钟信号进行分频,得到分频时钟信号;将分频时钟信号以及初始时钟信号传输至I2S接口;接收外部音频设备通过I2S接口发送的音频数据。整个方案通过处理器的分频接口和SPI接口产生时钟信号并发送至I2S接口,处理器与外部音频设备在时序上同步,通过处理器中SPI接口获取外部音频设备产生的音频数据,能够同时接受两个声道的数据,保证了音频数据的准确性,减少了噪音的产生,且简单高效,适用性强。
附图说明
图1为一个实施例中获取音频数据的方法的应用环境图;
图2为一个实施例中获取音频数据的方法的流程示意图;
图3为一个实施例中初始时钟信号生成步骤的流程示意图;
图4为一个实施例中获取音频数据的方法的信号时序图;
图5为另一个实施例中获取音频数据的方法的流程示意图;
图6为又一个实施例中获取音频数据的方法的流程示意图;
图7为一个实施例中获取音频数据的装置的结构框图;
图8为一个实施例中处理器的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的获取音频数据的方法,可以应用于如图1所示的应用环境中。其中,处理器102通过数据线与外部音频设备104进行通信。处理器102设置有分频接口(即分频电路)和SPI(Serial Peripheral Interface,串行外设接口)接口,SPI接口与外部音频设备的I2S(Inter—IC Sound,集成电路内置音频总线)接口连接,处理器的SPI接口的MOSI(Master Output/Slave Input,主机输出从机输入)引脚外接分频接口,分频接口的输出与I2S接口的LRCK(Left and right channel clock,左右通道时钟)连接,SPI接口的MOSI引脚还与I2S接口的BCLK(Bit clock,位时钟)连接,SPI接口的MISO(Master Input/Slave Output,主机输入从机输出)引脚与I2S接口的ASDOUT(Serial Data OUT,串行数据输出)引脚连接。其中,处理器102可以为设置有SPI接口但不具备I2S接口的处理器,如处理器可以为MCU(Microcontroller Unit,微控制单元)、SOC(System on Chip,片上芯片)等,本申请在此不作限定。
在一个实施例中,如图2所示,提供了一种获取音频数据的方法,以该方法应用于图1中的处理器102为例进行说明,包括以下步骤:
步骤202,上电启动,根据预设配置参数,配置SPI接口,通过SPI接口生成初始时钟信号,并发送同步消息至I2S接口,同步消息携带预设配置参数。
其中,同步消息用于控制I2S接口根据预设配置参数进行时钟同步。预设配置参数为时钟极性和相位极性,对于SPI接口,它的工作模式是Master模式,对于I2S接口,它的为Slave模式,并且为左对齐模式,SPI接口和I2S接口的配置都通过处理器来完成。
具体地,处理器上电启动,获取SPI接口与I2S接口共有的预设配置参数,根据预设配置参数中的时钟极性和相位极性的数值对SPI接口进行配置。通过SPI接口生成初始时钟信号以及同步消息,将同步消息发送至I2S接口,同步消息携带预设配置参数,同步消息用于控制I2S接口根据预设配置参数进行时钟同步。音频设备中I2S接口可以基于与SPI接口相同的时钟极性和相位极性进行配置,以使SPI接口与I2S接口基于相同的时钟信号、相位信号进行同步。
步骤204,通过分频接口对初始时钟信号进行分频,得到分频时钟信号。
其中,分频接口具体可以为16/20/32分频电路。对应的数据采样精度配置为16/20/32bit左对齐模式。分频电路的分频系数与配置参数的采样精度一致。如,16分频电路对应的配置参数的采样数据精度为16位,20分频电路对应的配置参数的采样数据精度为20位。
具体地,处理器将SPI接口生成的初始时钟信号传输至分频接口(分频电路),通过分频电路对初始时钟信号进行分频,得到分频时钟信号。
步骤206,将分频时钟信号以及初始时钟信号传输至I2S接口。
具体地,处理器将分频时钟信号传输至外部音频设备的I2S接口。将初始时钟信号传输至外部音频设备的I2S接口。
步骤208,接收外部音频设备通过I2S接口发送的音频数据。
具体地,当I2S接口的LRCK引脚接收到SPI接口传输的分频时钟信号并且I2S接口的BCLK引脚接收到SPI接口传输的初始时钟信号后,基于与SPI接口相同的时序开始工作,将外部音频设备的音频数据通过I2S接口的ASDOUT引脚传输至SPI接口的MISO引脚。
上述获取音频数据的方法中,处理器设置有分频接口和SPI接口,所述SPI接口与外部音频设备的I2S接口连接;处理器上电启动,根据预设配置参数,配置SPI接口,通过SPI接口生成初始时钟信号,并发送同步消息至I2S接口,同步消息携带预设配置参数,同步消息用于控制I2S接口根据预设配置参数进行时钟同步;通过分频接口对初始时钟信号进行分频,得到分频时钟信号;将分频时钟信号传输以及初始时钟信号至I2S接口;接收外部音频设备通过I2S接口发送的音频数据。整个方案通过处理器的分频接口和SPI接口产生时钟信号并发送至I2S接口,处理器与外部音频设备在时序上同步,通过处理器中SPI接口获取外部音频设备产生的音频数据,能够同时接受两个声道的数据,减少了数据错位的情况,保证了音频数据的准确性,减少了噪音的产生,且简单高效,适用性强。
在一个可选的实施例中,预设配置参数为左对齐模式下的配置参数,处理器的工作模式为Master模式,外部音频设备的工作模式为Slave模式。
具体地,处理器的工作模式为Master模式,外部音频设备的工作模式为Slave模式,预设配置参数为时钟极性和相位极性都为0。
由于两个设备通信时,负责提供时钟(即BCLK信号)和左右声道信号(即LRCK信号)的一方称为Master,而接受时钟信号和左右声道信号的一方称为Slave。这里Master的时钟和左右声道信号是通过芯片内部的逻辑电路来按照SPI接口的时序来实现的,利用处理器的SPI接口在Master模式的时钟并结合自身的定时器、脉冲计数器生成I2S接口的时序。
通过于I2S接口按照数据在时钟的极性和相位有多种工作模式,当I2S接口的时钟极性为0时且相位为0时,它作为Slave设备需要的信号与SPI接口在时序上完全一致,因此I2S上输出的数据能够被SPI接口准确接收。
本实施例中,外部音频设备的I2S接口与处理器的SPI接口在时序上完全一致,因此数据传输时各管脚信号之间没有任何的延时,数据也不会产生移位,提高了音频数据传输的准确性。
在一个可选的实施例中,如图3所示,SPI接口包括MOSI接口;通过SPI接口生成初始时钟信号包括:
步骤302,通过MOSI接口生成初始时钟信号。
具体地,处理器的SPI接口的输出引脚MOSI生成传输初始时钟信号。初始时钟信号的波形与I2S接口的BCLK引脚的位时钟信号的波形一致,可以作为I2S接口的位时钟。
如图4所示,以采样精度为16bit为例,处理器的初始时钟信号经过分频电路进行分频后,得到的分频时钟信号与I2S接口的标准LRCK信号一致,因此在时序上能够与I2S接口的ASDOUT、BCLK信号一起保证I2S接口正常工作。
通过SPI接口生成初始时钟信号之后,还包括:步骤304,将初始时钟信号传输至分频接口。
具体地,处理器将初始时钟信号传输至分频接口,通过分频电路进行分频,得到分频时钟信号,将分频时钟信号传输至外部音频设备的I2S接口的LRCK引脚,作为I2S接口的帧时钟。将初始时钟信号传输至外部音频设备的I2S接口的BCLK引脚,作为I2S接口的位时钟。
在一个可选的实施例中,通过MOSI接口生成初始时钟信号包括:通过SPI接口的写队列将初始时钟信号写入MOSI接口。
具体地,处理器向SPI接口的写队列持续写入0x55(01010101b),触发SPI写中断线程,SPI写中断线程将写队列中的0x55(01010101b)写入MOSI接口,此时SPI接口的MOSI引脚的输出的波形与I2S接口的BCLK引脚的位时钟信号的波形一致,可以作为I2S接口的位时钟。而且处理器的0x55(01010101b)经过分频电路进行分频后,得到的分频时钟信号与I2S接口的标准LRCK信号一致,因此在时序上能够与I2S接口的ASDOUT、BCLK信号一起保证I2S接口正常工作。
在一个可选的实施例中,接收外部音频设备通过I2S接口发送的音频数据包括:通过SPI接口的读队列接收外部音频设备通过I2S接口发送的音频数据。
具体地,处理器设置有音频缓存区,处理器触发SPI读中断线程,通过SPI接口的FIFO读队列接收外部音频设备的音频数据,音频数据通过I2S接口的ASDOUT引脚输出至SPI接口的MISO引脚,SPI读队列从MISO引脚上读取音频数据,将读取到的音频数据写入音频缓存区。
如图5所示,处理器在上电后,配置SPI接口的工作模式为Master模式,SPI接口的时钟极性与相位极性为0,同时,SPI接口的数据写缓存区的初始值全部为0x55。通过同步消息以配置I2S接口I2S接口为Slave模式,工作模式为左对齐模式,音频数据采样精度与分频电路分频系数相同,I2S接口的时钟极性与相位极性为0。SPI接口的写中断线程将写队列中的初始时钟信号0x55(01010101b)写入MOSI接口,经过分频电路分频后,得到分频时钟信号,将分频时钟信号以及初始时钟信号传输至I2S接口。SPI读中断线程的读队列获取外部音频设备发送的左右声道音频数据,并将音频数据写入音频缓存区,因此采集的音频数据更加完整。
在一个可选的实施例中,处理器设置有DMA控制器以及音频缓存区,DMA控制器与音频缓存区以及SPI接口连接;通过SPI接口的读队列接收外部音频设备通过I2S接口发送的音频数据包括:控制DMA控制器触发读中断线程;执行读中断线程,以对外部音频设备发送的音频数据进行读取,并将音频数据写入音频缓存区。
其中,音频缓存区包括音频读缓存区和音频写缓存区,DMA控制器在初始化时与音频缓存区以及SPI接口进行连接。
具体地,如图6所示,处理器可以设置有DMA控制器,初始化时将DMA控制器与处理器设置为内存-外设关联模式,SPI接口设置为DMA控制器的外设,DMA工作模式配置为LLI(Link List Item,链表项)模式,并且在LLI模式下降接收数据的缓存设置为ping_r、pong_r,将接收数据的缓存设置为ping_w、pong_w。ping_w、pong_w的写缓存区值全部初始化为0x55。
配置SPI接口的工作模式为Master模式,SPI接口的时钟极性与相位极性为0。通过同步消息以配置I2S接口I2S接口为Slave模式,工作模式为左对齐模式,音频数据采样精度与分频电路分频系数相同,I2S接口的时钟极性与相位极性为0。
若处理器将初始时钟信号数据写入音频写缓存区,DMA控制器触发写中断线程,DMA的ping_w、pong_w缓存从音频写缓存区读取初始时钟信号,并将初始时钟信号传输至分频电路进行分频,得到分频时钟信号,将分频时钟信号传输至I2S接口的LRCK引脚,作为I2S接口的帧时钟,将初始时钟信号传输至外部音频设备的I2S接口的BCLK引脚,作为I2S接口的位时钟。控制DMA控制器触发读中断线程;处理器执行读中断线程,DMA的ping_r、pong_r缓存上外部音频设备发送的音频数据进行读取,处理器将DMA的ping_r、pong_r缓存上音频数据写入音频读缓存区。
本实施例中,DMA的LLI模式能够保证数据不间断地传输,可以提高音频数据传输的完整性。此外,DMA工作原理是利用硬件进行数据传输,因此能够节省处理器的资源,省去处理器对SPI接口的FIFO队列在中断发生时的数据操作,大大地提高音频数据的传输效率。
为了易于理解本申请实施例提供的技术方案,以完整的获取音频数据的过程对本申请实施例提供的获取音频数据的方法进行简要说明:
(1)上电启动,根据预设配置参数,配置SPI接口,通过SPI接口生成初始时钟信号,并发送同步消息至I2S接口,同步消息携带预设配置参数,同步消息用于控制I2S接口根据预设配置参数进行时钟同步。
(2)通过SPI接口的写队列将初始时钟信号写入MOSI接口,通过MOSI接口生成初始时钟信号;将初始时钟信号传输至分频接口。
(3)通过分频接口对初始时钟信号进行分频,得到分频时钟信号。
(4)将分频时钟信号以及初始时钟信号传输至I2S接口。
(5)控制DMA控制器触发读中断线程;执行读中断线程,以对外部音频设备发送的音频数据进行读取,并将音频数据写入音频缓存区。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的获取音频数据的方法的获取音频数据的装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个获取音频数据的装置实施例中的具体限定可以参见上文中对于获取音频数据的方法的限定,在此不再赘述。
在一个实施例中,如图7所示,提供了一种获取音频数据的装置,应用于处理器,处理器设置有分频接口和SPI接口,SPI接口与外部音频设备的I2S接口连接,该装置包括:配置模块702、分频模块704、传输模块706和接收模块708,其中:
配置模块702,用于上电启动,根据预设配置参数,配置SPI接口,通过SPI接口生成初始时钟信号,并发送同步消息至I2S接口,同步消息携带预设配置参数,同步消息用于控制I2S接口根据预设配置参数进行时钟同步。
分频模块704,用于通过分频接口对初始时钟信号进行分频,得到分频时钟信号。
传输模块706,用于将分频时钟信号以及初始时钟信号传输至I2S接口。
接收模块708,用于接收外部音频设备通过I2S接口发送的音频数据。
在一个可选的实施例中,预设配置参数为左对齐模式下的配置参数,处理器的工作模式为Master模式,外部音频设备的工作模式为Slave模式。
在一个可选的实施例中,SPI接口包括MOSI接口;配置模块602还用于通过MOSI接口生成初始时钟信号;将初始时钟信号传输至分频接口。
在一个可选的实施例中,配置模块702还用于通过SPI接口的写队列将初始时钟信号写入MOSI接口。
在一个可选的实施例中,接收模块708还用于通过SPI接口的读队列接收外部音频设备通过I2S接口发送的音频数据。
在一个可选的实施例中,处理器设置有DMA控制器以及音频缓存区,DMA控制器与音频缓存区以及SPI接口连接;接收模块708还用于控制DMA控制器触发读中断线程;执行读中断线程,以对外部音频设备发送的音频数据进行读取,并将音频数据写入音频缓存区。
上述获取音频数据的装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种处理器,该计算机设备可以是终端,其内部结构图可以如图8所示。处理器设置有分频接口和SPI接口,SPI接口与外部音频设备的I2S接口连接。处理器用于提供计算和控制能力。该处理器的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该处理器的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种利用SPI接口传输音频数据的方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种处理器,处理器设置有分频接口、SPI接口以及存储器,SPI接口与外部音频设备的I2S接口连接,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
上电启动,根据预设配置参数,配置SPI接口,通过SPI接口生成初始时钟信号,并发送同步消息至I2S接口,同步消息携带预设配置参数,同步消息用于控制I2S接口根据预设配置参数进行时钟同步;
通过分频接口对初始时钟信号进行分频,得到分频时钟信号;
将分频时钟信号以及初始时钟信号传输至I2S接口;
接收外部音频设备通过I2S接口发送的音频数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:预设配置参数为左对齐模式下的配置参数,处理器的工作模式为Master模式,外部音频设备的工作模式为Slave模式。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:SPI接口包括MOSI接口;通过SPI接口生成初始时钟信号包括:通过MOSI接口生成初始时钟信号;通过SPI接口生成初始时钟信号之后,还包括:将初始时钟信号传输至分频接口。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过MOSI接口生成初始时钟信号包括:通过SPI接口的写队列将初始时钟信号写入MOSI接口。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:接收外部音频设备通过I2S接口发送的音频数据包括:通过SPI接口的读队列接收外部音频设备通过I2S接口发送的音频数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:处理器设置有DMA控制器以及音频缓存区,DMA控制器与音频缓存区以及SPI接口连接;通过SPI接口的读队列接收外部音频设备通过I2S接口发送的音频数据包括:控制DMA控制器触发读中断线程;执行读中断线程,以对外部音频设备发送的音频数据进行读取,并将音频数据写入音频缓存区。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
上电启动,根据预设配置参数,配置SPI接口,通过SPI接口生成初始时钟信号,并发送同步消息至I2S接口,同步消息携带预设配置参数,同步消息用于控制I2S接口根据预设配置参数进行时钟同步;
通过分频接口对初始时钟信号进行分频,得到分频时钟信号;
将分频时钟信号以及初始时钟信号传输至I2S接口;
接收外部音频设备通过I2S接口发送的音频数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:预设配置参数为左对齐模式下的配置参数,处理器的工作模式为Master模式,外部音频设备的工作模式为Slave模式。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:SPI接口包括MOSI接口;通过SPI接口生成初始时钟信号包括:通过MOSI接口生成初始时钟信号;通过SPI接口生成初始时钟信号之后,还包括:将初始时钟信号传输至分频接口。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:通过MOSI接口生成初始时钟信号包括:通过SPI接口的写队列将初始时钟信号写入MOSI接口。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:接收外部音频设备通过I2S接口发送的音频数据包括:通过SPI接口的读队列接收外部音频设备通过I2S接口发送的音频数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:处理器设置有DMA控制器以及音频缓存区,DMA控制器与音频缓存区以及SPI接口连接;通过SPI接口的读队列接收外部音频设备通过I2S接口发送的音频数据包括:控制DMA控制器触发读中断线程;执行读中断线程,以对外部音频设备发送的音频数据进行读取,并将音频数据写入音频缓存区。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
上电启动,根据预设配置参数,配置SPI接口,通过SPI接口生成初始时钟信号,并发送同步消息至I2S接口,同步消息携带预设配置参数,同步消息用于控制I2S接口根据预设配置参数进行时钟同步;
通过分频接口对初始时钟信号进行分频,得到分频时钟信号;
将分频时钟信号以及初始时钟信号传输至I2S接口;
接收外部音频设备通过I2S接口发送的音频数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:预设配置参数为左对齐模式下的配置参数,处理器的工作模式为Master模式,外部音频设备的工作模式为Slave模式。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:SPI接口包括MOSI接口;通过SPI接口生成初始时钟信号包括:通过MOSI接口生成初始时钟信号;通过SPI接口生成初始时钟信号之后,还包括:将初始时钟信号传输至分频接口。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:通过MOSI接口生成初始时钟信号包括:通过SPI接口的写队列将初始时钟信号写入MOSI接口。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:接收外部音频设备通过I2S接口发送的音频数据包括:通过SPI接口的读队列接收外部音频设备通过I2S接口发送的音频数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:处理器设置有DMA控制器以及音频缓存区,DMA控制器与音频缓存区以及SPI接口连接;通过SPI接口的读队列接收外部音频设备通过I2S接口发送的音频数据包括:控制DMA控制器触发读中断线程;执行读中断线程,以对外部音频设备发送的音频数据进行读取,并将音频数据写入音频缓存区。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种获取音频数据的方法,其特征在于,应用于处理器,所述处理器设置有分频接口和SPI接口,所述SPI接口与外部音频设备的I2S接口连接;
所述获取音频数据的方法包括:
上电启动,根据预设配置参数,配置所述SPI接口,通过所述SPI接口生成初始时钟信号,并发送同步消息至所述I2S接口,所述同步消息携带预设配置参数,所述同步消息用于控制所述I2S接口根据所述预设配置参数进行时钟同步;
通过所述分频接口对所述初始时钟信号进行分频,得到分频时钟信号;
将所述分频时钟信号以及所述初始时钟信号传输至所述I2S接口;
接收所述外部音频设备通过所述I2S接口发送的音频数据。
2.根据权利要求1所述的方法,其特征在于,所述预设配置参数为左对齐模式下的配置参数,所述处理器的工作模式为Master模式,所述外部音频设备的工作模式为Slave模式。
3.根据权利要求1所述的方法,其特征在于,所述SPI接口包括MOSI接口;
通过所述SPI接口生成初始时钟信号包括:
通过MOSI接口生成初始时钟信号;
所述通过所述SPI接口生成初始时钟信号之后,还包括:
将所述初始时钟信号传输至所述分频接口。
4.根据权利要求3所述的方法,其特征在于,所述通过MOSI接口生成初始时钟信号包括:
通过所述SPI接口的写队列将初始时钟信号写入MOSI接口。
5.根据权利要求1所述的方法,其特征在于,所述接收所述外部音频设备通过所述I2S接口发送的音频数据包括:
通过所述SPI接口的读队列接收所述外部音频设备通过所述I2S接口发送的音频数据。
6.根据权利要求5所述的方法,其特征在于,所述处理器设置有DMA控制器以及音频缓存区,所述DMA控制器与所述音频缓存区以及所述SPI接口连接;
所述通过所述SPI接口的读队列接收所述外部音频设备通过所述I2S接口发送的音频数据包括:
控制所述DMA控制器触发读中断线程;
执行所述读中断线程,以对所述外部音频设备发送的音频数据进行读取,并将所述音频数据写入所述音频缓存区。
7.一种获取音频数据的装置,其特征在于,应用于处理器,所述处理器设置有分频接口和SPI接口,所述SPI接口与外部音频设备的I2S接口连接;所述装置包括:
配置模块,用于上电启动,根据预设配置参数,配置所述SPI接口,通过所述SPI接口生成初始时钟信号,并发送同步消息至所述I2S接口,所述同步消息携带预设配置参数,所述同步消息用于控制所述I2S接口根据所述预设配置参数进行时钟同步;
分频模块,用于通过所述分频接口对所述初始时钟信号进行分频,得到分频时钟信号;
传输模块,用于将所述分频时钟信号以及所述初始时钟信号传输至所述I2S接口;
接收模块,用于接收所述外部音频设备通过所述I2S接口发送的音频数据。
8.一种处理器,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述处理器设置有分频接口和SPI接口,所述SPI接口与外部音频设备的I2S接口连接;所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210538611.6A CN115134031A (zh) | 2022-05-18 | 2022-05-18 | 获取音频数据的方法、装置和处理器和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210538611.6A CN115134031A (zh) | 2022-05-18 | 2022-05-18 | 获取音频数据的方法、装置和处理器和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115134031A true CN115134031A (zh) | 2022-09-30 |
Family
ID=83375967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210538611.6A Pending CN115134031A (zh) | 2022-05-18 | 2022-05-18 | 获取音频数据的方法、装置和处理器和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115134031A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116032733A (zh) * | 2022-11-29 | 2023-04-28 | 合众新能源汽车股份有限公司 | 基于智能中控系统车控通信的方法、装置、设备及介质 |
-
2022
- 2022-05-18 CN CN202210538611.6A patent/CN115134031A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116032733A (zh) * | 2022-11-29 | 2023-04-28 | 合众新能源汽车股份有限公司 | 基于智能中控系统车控通信的方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW201706990A (zh) | 用於高速記憶體介面之低功率時脈 | |
CN112540952B (zh) | 具有片内并行接口的片上系统 | |
KR19990006743A (ko) | 데이타처리장치 및 이동체통신단말장치 | |
CN110727637B (zh) | Fpga芯片及电子设备 | |
JP2000252968A (ja) | マルチモード装置においてシステム内同期を実現するための方法及び回路構成 | |
CN109800192B (zh) | 电子设备、fpga芯片及其接口电路 | |
CN115134031A (zh) | 获取音频数据的方法、装置和处理器和存储介质 | |
WO2017148221A1 (zh) | 串行外设接口的传输控制方法、装置及系统 | |
CN106951521A (zh) | 日志文件的读写方法、装置及系统 | |
CN109902056A (zh) | 一种串行传输的方法、装置、设备及计算机可读存储介质 | |
TWI715245B (zh) | 具骨牌賦能選擇之低功率整合時脈閘控單元胞 | |
CN104049995B (zh) | 在mcu芯片中配置fpga的方法和装置 | |
CN116401186A (zh) | 基于axi总线的opi psram控制系统、方法 | |
US20220179446A1 (en) | Heterogeneous Computing Systems and Methods for Clock Synchronization | |
CN106776467B (zh) | 用于命令接收系统的spi flash控制芯片 | |
US9747246B2 (en) | Electronic device for communicating between a microcontroller unit (MCU) and a host processor and related methods | |
JPH10116187A (ja) | マイクロコンピュータ | |
US20200281039A1 (en) | Information processing method, high-layer functional entity and computer storage medium | |
CN114647610B (zh) | 语音芯片实现方法、语音芯片及相关设备 | |
WO2022001317A1 (zh) | 芯片仿真方法、装置、设备、系统及存储介质 | |
CN114900261A (zh) | 利用spi接口传输音频数据的方法、装置和处理器 | |
EP3739443A1 (en) | Method and device for configuring controller in master control chip | |
US10014072B2 (en) | Diagnosis method for diagnosing memory, transmission apparatus, and computer-readable recording medium | |
WO2024214169A1 (ja) | 通信機器、時刻同期システム、時刻同期方法及びプログラム | |
KR20190078479A (ko) | 힙 정렬 기반의 타이밍 컨트롤러, 이를 구비하는 모뎀 칩, 및 집적 회로 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |