CN117707466A - 音频播放方法及多核异构系统 - Google Patents
音频播放方法及多核异构系统 Download PDFInfo
- Publication number
- CN117707466A CN117707466A CN202311716101.4A CN202311716101A CN117707466A CN 117707466 A CN117707466 A CN 117707466A CN 202311716101 A CN202311716101 A CN 202311716101A CN 117707466 A CN117707466 A CN 117707466A
- Authority
- CN
- China
- Prior art keywords
- audio
- core
- audio data
- memory
- controller
- 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
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000013507 mapping Methods 0.000 claims abstract description 77
- 238000004891 communication Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 2
- 238000004904 shortening Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 8
- 230000009471 action Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000005236 sound signal Effects 0.000 description 3
- 102100036044 Conserved oligomeric Golgi complex subunit 4 Human genes 0.000 description 2
- 101000876012 Homo sapiens Conserved oligomeric Golgi complex subunit 4 Proteins 0.000 description 2
- 101001104102 Homo sapiens X-linked retinitis pigmentosa GTPase regulator Proteins 0.000 description 2
- 208000036448 RPGR-related retinopathy Diseases 0.000 description 2
- 201000000467 X-linked cone-rod dystrophy 1 Diseases 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Landscapes
- Reverberation, Karaoke And Other Acoustics (AREA)
Abstract
本申请提供一种音频播放方法及多核异构系统,应用于计算机技术领域。该音频播放方法,应用于多核异构系统,多核异构系统包括第一核和第二核,第一核具有访问音频控制器的能力,第二核不具有访问音频控制器的能力。将音频控制器的驱动内存作为映射内存,在第二核检测到第一音频播放信号时,第二核将第一音频播放信号对应的第一音频数据写入映射内存,由于映射内存的地址与音频控制器的驱动内存的地址相同,第一核控制音频控制器可直接在映射内存中读取第一音频数据,使得音频控制器控制音频组件播放第一音频数据,从而缩短了多核异构系统中音频播放的链路,减少音频播放的时延,进而提升用户体验。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种音频播放方法及多核异构系统。
背景技术
异构多核系统可以实现在一个系统芯片中运行多个操作系统,不同的操作系统可以实现不同的功能。例如,在系统芯片中可以运行有安卓(Android)操作系统和Linux操作系统等。
目前,在异构多核系统包括的多个核,仅一个核,例如核1,具有访问音频控制器的能力,当其他核想要播放音频时,需要将待播放音频数据传输至共享内存,再从共享内存传输至核1对应的内核空间,由内核空间再回传至核1的用户空间,最后由核1将该音频数据传输给音频控制器,以播放音频数据。
然而,上述音频播放方式中,不具有访问音频硬件能力的核需要播放音频数据时,均需要先将音频数据传输给具有访问音频硬件能力的核,使得音频播放的链路变长,进而易导致音频播放时延较长,影响用户体验。
发明内容
本申请提供一种音频播放方法及多核异构系统,用以解决音频播放的链路长导致音频播放时延较长,从而影响用户体验的问题。
第一方面,本申请提供一种音频播放方法,应用于多核异构系统,多核异构系统包括第一核和第二核,第一核具有访问音频控制器的能力,第二核不具有访问音频控制器的能力;
音频播放方法包括:
在第二核检测到第一音频播放信号时,第二核将第一音频播放信号对应的第一音频数据写入映射内存,映射内存的地址与音频控制器的驱动内存的地址相同;
第一核控制音频控制器在映射内存中读取第一音频数据,使得音频控制器控制音频组件播放第一音频数据。
在一种可能的实施方式中,上述第二核将音频播放信号对应的第一音频数据写入映射内存之后,还包括:
第二核向第一核发送已在映射内存写入第一音频数据的消息;
对应地,上述第一核在映射内存中读取第一音频数据,包括:第一核响应获取到消息,在映射内存中读取第一音频数据。
在一种可能的实施方式中,第一核和第二核基于核间通讯协议进行通信。
在一种可能的实施方式中,上述第一核控制所述音频控制器在所述映射内存中读取所述第一音频数据,包括:
第一核控制音频控制器根据第二核对应的音频通道,在映射内存中读取第一音频数据。
在一种可能的实施方式中,音频播放方法还包括:
在第一核检测到第二音频播放信号时,第一核将第二音频播放信号对应的第二音频数据写入驱动内存;
第一核控制音频控制器根据第一核对应的音频通道在驱动内存中读取第二音频数据,使得音频控制器将第二音频数据传输给音频组件,并控制音频组件播放第二音频数据。
第二方面,本申请提供一种多核异构系统,包括第一核和第二核,第一核具有访问音频控制器的能力,第二核不具有访问音频控制器的能力;
第二核,用于在检测到第一音频播放信号时,将第一音频播放信号对应的第一音频数据写入映射内存,映射内存的地址与音频控制器的驱动内存的地址相同;
第一核,用于控制音频控制器在映射内存中读取第一音频数据,使得音频控制器控制音频组件播放第一音频数据。
在一种可能的实施方式中,上述第二核还用于:在将音频播放信号对应的第一音频数据写入映射内存之后,向第一核发送已在映射内存写入第一音频数据的消息;对应地,第一核,用于响应获取到消息,在映射内存中读取第一音频数据。
在一种可能的实施方式中,第一核和第二核基于核间通讯协议进行通信。
第三方面,本申请提供一种电子设备,包括:处理器,以及与处理器通信连接的存储器;
存储器用于存储计算机执行指令;
处理器执行存储器存储的计算机执行指令,使得处理器执行第一方面任一项所述的音频播放方法。
第四方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被执行时用于实现如第一方面任一项所述的音频播放方法。
第五方面,本申请提供一种计算机程序产品,包括计算机程序,该计算机程序被执行时实现如第一方面任一项所述的音频播放方法。
本申请提供的音频播放方法及多核异构系统,应用于多核异构系统,多核异构系统包括具有访问音频控制器的能力的第一核和不具有访问音频控制器的能力的第二核,将音频控制器的驱动内存作为映射内存,在第二核检测到第一音频播放信号时,第二核将第一音频播放信号对应的第一音频数据写入映射内存,由于映射内存的地址与音频控制器的驱动内存的地址相同,则第一核控制音频控制器可直接从映射内存中读取第一音频数据,使得音频控制器控制音频组件播放第一音频数据,从而缩短了多核异构系统中音频播放的链路,减少音频播放的时延,进而提升用户体验。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为音频路由架构图;
图2为本申请一实施例提供的音频播放方法的应用场景图;
图3为本申请一实施例提供的音频播放方法的流程示意图;
图4为本申请一实施例提供的音频播放的链路架构图;
图5为本申请一实施例提供的多核异构系统的结构图示意图;
图6为本申请一实施例提供的电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
需要说明的是,本申请的音频播放方法及多核异构系统可用于计算机技术领域,也可用于除计算机技术之外的任意领域,本申请音频播放方法及多核异构系统的应用领域不做限定。
在相关技术中,提出一种芯片设计,该芯片的集成电路内置音频总线(Inter-ICSound,I2S)的直接内存访问(Direct Memory Access,DMA)是临界资源,对于芯片例如AP/CP这种多异核的架构,无法同时管理/访问I2S,所有音频控制器(Audio Controller)共用一个DMA控制器,意味着DMA驱动只能存在于一个CPU集群(cluster)里,对于多个CPU集群里的音频流必须要汇总到一个CPU集群里再进行输出,最终会导致其他的CPU集群访问I2S的路由有所增加,对应的延时就会增加很多。
具体地,相关技术中提出一种音频路由架构。如图1所示音频路由架构图,芯片系统上包括AP和CP两种CPU核,分别运行安卓(Android)操作系统和Linux操作系统,仅一个核,例如核CP,具有访问音频控制器的能力,若从CP端下发播放音频,音频数据需经过CP端的应用进行读取并且下发到CP端用户空间(User Space)中的高级Linux音频框架-应用开发库(Advanced Linux Sound Architecture-lib,ALSA-lib),再到CP端内核空间(KernelSpace)中的ALSA对应的声卡C0D0,再到CP端控制的I2S总线的驱动层(Board SupportPackage,BSP)部分,最后通过I2S总线时分复用(Time Division Multiplexing,TDM)协议将音频数据发给数字音频处理器(Digital Signal Processing,DSP)部分进行后续的播放动作。若从AP端下发播放音频,音频数据需要从AP端的应用进行读取并且下发,经过AP端的AUDIO Framework/Hal,再到AP端内核空间的ALSA对应声卡C0D1,再经过异构核的通信机制共享内存(share memory),再到CP端内核空间中的ALSA对应的声卡C0D1,再回传到CP端的应用,再从CP端的应用下发到CP端内核空间中的ALSA对应的声卡C0D0,再到CP端控制的I2SBSP的部分,最后通过I2S TDM协议将音频数据发给DSP部分进行后续的播放动作,播放数据流方向所经过的关键节点为:
AP端:APP(AP)->C0D1(AP)->共享内存->COD1(CP)->用户空间(CP)->C0D0(CP)->I2S(TDM)->DSP
CP端:APP(CP)->C0D0(CP)->I2S(TDM)->DSP
由此可见,从AP端播放音频,数据的链路会更长。
由上述分析可知,对于异构核来说,音频控制器是属于临界资源,在一个芯片系统上面只有一个核能对其直接控制,而多个异构核之间是通过共享内存(share memory)来实现核间通信(Inter-Process Communication,IPC),传统的这种IPC通信会加大音频播放数据的链路成本,进而易导致音频播放时延较长,影响用户体验。
针对上述技术问题,本申请提供一种音频播放方法及多核异构系统,将音频控制器的驱动内存进行映射作为映射内存,确保映射内存的地址与音频控制器的驱动内存的地址相同,不具有访问音频控制器的能力的第二核将第一音频播放信号对应的第一音频数据写入映射内存,第一核控制音频控制器可直接从映射内存中读取第一音频数据,也相当于是从音频控制器的驱动内存中读取第一音频数据,然后音频控制器控制音频组件播放第一音频数据,从而缩短了多核异构系统中音频播放的链路,减少音频播放的时延,进而提升用户体验。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图2为本申请一实施例提供的音频播放方法的应用场景图。参见图2所示,多核异构系统应用于在车辆控制台,例如,该多核异构系统包括AP核和CP核,AP核上控制运行车载导航应用,CP核上控制运行媒体音频,媒体音频通过例如RADIO和MUSIC两个按钮触发,约定CP核具有访问音频控制器的能力,其中多核异构系统部署音频播放方法,当用户触发车载导航应用进行语音导航时,经过多核异构系统的处理优化了导航音频信息播放的链路,减小了音频播放的时延,用户可以快速接收到语音导航信息,体验良好。
需说明的是,多核异构系统可以是以芯片的形式集成在车辆的控制系统中,也可以是以装置的形式安装在车辆以供其他控制系统调用,本申请实施例对多核异构系统的具体存在形式不做限制;另外,多核异构系统上不局限于包括两个CPU核,本申请对核个数不做限制,满足第一核具有访问音频控制器的能力,其他核即第二核不具有访问音频控制器的能力即可。
需要说明的是,本申请不局限于车载的应用场景,可适用于任何涉及多核异构系统音频播放的使用场景中。
下面结合图2的应用场景,参考图3来说明本申请一实施例提供的音频播放方法,音频播放方法由图2中的车辆控制台上部署的多核异构系统执行。需要注意的是,上述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式不受图2所示应用场景的限制。
图3为本申请一实施例提供的音频播放方法的流程示意图,该音频播放方法应用于多核异构系统,多核异构系统包括第一核和第二核,第一核具有访问音频控制器的能力,第二核不具有访问音频控制器的能力。如图3所示,音频播放方法包括以下步骤:
S301、在第二核检测到第一音频播放信号时,第二核将第一音频播放信号对应的第一音频数据写入映射内存,映射内存的地址与音频控制器的驱动内存的地址相同。
多核异构可理解为芯片系统上所有的核或CPU的架构不同,每个核针对不同的需求设定,这些核之间具有明显的差异性,可以根据不同的应用场景,通过合理地分配和协调计算资源,从而提高应用的计算性能或实时性能。
对于多核异构系统,音频控制器属于临界资源,只有一个核能直接控制音频控制器,其他核不具有访问音频控制器的能力,多核之间需要共享临界资源。在本申请实施例中,将音频控制器的驱动内存映射为共享内存,形成映射内存,即音频控制器的驱动内存的地址与映射内存的地址一样,将第一音频数据写入映射内存相当于写入音频控制器的驱动内存中。可选地,音频控制器的驱动内存的地址可以是物理地址,映射内存的地址可以是虚拟地址,该物理地址与虚拟地址间存在对应关系,该对应关系可以是通过软件定义后存储至系统中,由系统统一进行管理。例如对于AP端不同的应用,映射内存的虚拟地址可以是不同的,但是可以均指向同一个音频控制器的驱动内存的物理地址。
示例地,结合图2所示,当用户作用于车载显示屏,打开显示屏上的导航应用时,AP核即第二核检测到导航音频信息的播放信号,AP核从导航应用读取导航音频数据并下发写入至映射内存,可以理解,写入映射内存也就是写入至CP端对应的音频控制器的驱动内存中。
在一种实现方式中,从第一核下发音频播放信号和从第二核下发音频信号,在将音频数据存储至映射内存时,映射内存的地址是有区别的,区别可以表现为例如地址的长度、格式等不一样,音频控制器可以通过映射内存的地址识别出该音频信号来自于第一核或第二核。可以理解为,将映射内存分为两部分,一部分用于存储第一核下发的音频数据,一部分用于存储第二核下发的音频数据。
在另一种实现方式中,将音频数据还可以按照预先约定的规则存储至映射内存,例如,约定使用16个音频通道来存储音频数据,其中,音频通道0至7存储第一核下发的音频数据,音频通道8至15存储第二核下发的音频数据。
可选地,还可以将内核空间(Kernel Space)中的ALSA对应的声卡与音频通道进行绑定,例如,约定音频通道0至7绑定声卡C0D0,音频通道8至15绑定声卡C0D1。
S302、第一核控制音频控制器在映射内存中读取第一音频数据,使得音频控制器控制音频组件播放第一音频数据。
其中,音频组件包括DSP、功率放大器、扬声器、蓝牙设备等外挂设备。
示例地,在第一核检测到映射内存中写入了第一音频数据时,由于第一核具有直接访问音频控制器的能力,因此第一核会控制音频控制器从映射内存中读取第一音频数据,然后通过I2S总线TDM协议将第一音频数据发给DSP部分,DSP对第一音频数据进行数据处理,例如通过声场定位、音频均衡和噪音消除等功能,提升音响系统的音频表现和用户体验,经过DSP处理后的第一音频数据可以通过功率放大器、扬声器等设备进行播放。
本申请实施例,将音频控制器的驱动内存作为映射内存,在第二核检测到第一音频播放信号时,第二核将第一音频播放信号对应的第一音频数据写入映射内存,由于映射内存的地址与音频控制器的驱动内存的地址相同,则第一核控制音频控制器可直接从映射内存中读取第一音频数据,使得音频控制器控制音频组件播放第一音频数据,从而缩短了多核异构系统中音频播放的链路,减少音频播放的时延,进而提升用户体验。
在一些实施例中,上述第二核将音频播放信号对应的第一音频数据写入映射内存之后,还可以包括:第二核向第一核发送已在映射内存写入第一音频数据的消息。
示例地,从AP端下发第一音频播放信号,AP核将第一音频数据写入映射内存后,向CP核发送通知消息,该通知消息用于提示CP核映射内存中已写入了第一音频数据,利用该通知消息作为核间通信的桥梁,可选地,该通知消息中可以包括第一音频数据的数据类型、数据标识、音频通道、声卡等信息。
对应地,上述第一核在映射内存中读取第一音频数据,可进一步包括:第一核响应获取到消息,在映射内存中读取第一音频数据。
示例地,当CP核接收到AP核发送的消息后,CP核控制音频控制器根据上述通知信息中携带的信息从映射内存中读取第一音频数据。
本申请实施例,在第一核和第二核间通过消息的形式进行核间交互,以确保第一核及时且准确地从映射内存中读取第一音频数据。
可选地,在另一些实施例中,第一核和第二核可以是基于核间通讯协议进行通信。
核间通讯协议IPC实现在多核处理器中核与核之间的通信,例如,每个核上都运行了IPC软件模块,来实现不同核间的核间通信。
在上述实施例的基础上,一种可能的实现方式中,上述第一核控制音频控制器在映射内存中读取第一音频数据,可以包括:第一核控制音频控制器根据第二核对应的音频通道,在映射内存中读取第一音频数据。
上述实施例中,将音频数据可以按照预先约定的规则存储至映射内存,即核与音频通道间存在对应关系,相应地,第一核控制音频控制器根据第二核对应的音频通道从映射内存中读取第一音频数据,例如,音频通道8至15存储第二核下发的第一音频数据,则从映射内存中读取第一音频数据时,只读取音频通道8至15对应的音频数据即可,然后在I2S总线处将读取的音频数据进行组装成完整的TDM数据流传给DSP进行处理。
进一步地,在一些实施例中,音频播放方法还可以包括:
步骤1-1、在第一核检测到第二音频播放信号时,第一核将第二音频播放信号对应的第二音频数据写入驱动内存。
示例地,结合图2所示,用户在车辆控制台上点击MUSIC或RADIO按钮,触发第二音频播放信号下发,此时CP核检测到第二音频播放信号,将第二音频播放信号对应的第二音频数据写入音频控制器的驱动内存中CP核对应的音频通道。
步骤1-2、第一核控制音频控制器根据第一核对应的音频通道在驱动内存中读取第二音频数据,使得音频控制器将第二音频数据传输给音频组件,并控制音频组件播放第二音频数据。
示例地,CP核控制音频控制器在驱动内存中读取CP核对应的音频通道所存储的第二音频数据,然后将第二音频数据在I2S总线处进行组装成完整的TDM数据流传给DSP进行处理,经过DSP处理后的第二音频数据可以通过功率放大器、扬声器等设备进行播放。
可选地,在音频播放时,还可以按照预先设定的策略,使用与音频类型相匹配的音频播放通道进行音频播放,示例地,音频类型可以包括导航音频、通话音频、媒体音频等,音频播放通道包括扬声器、蓝牙模块等。例如约定导航音频通过第一音频播放通道进行播放,通话音频通过第二音频播放通道进行播放,媒体音频通过第三音频播放通道进行播放,音频控制器从映射内存(或驱动内存)中读取各音频类型相应的音频数据后,将音频数据发送至各音频类型对应的音频播放通道,以进行后续播放。
接下来,通过图4对本申请的音频播放方法进行进一步说明,图4为本申请一实施例提供的音频播放的链路架构图。如图4所示,将图1中的“共享内存”替换成“D共享内存”,“D共享内存”实际上是CP端I2S(TDM)的BSP BUF映射而成,BSP为硬件提供驱动,将BSP BUF可以视为音频控制器的驱动内存,即音频控制器的驱动内存的地址与映射内存的地址相同。故,从AP端写第一音频数据到BUF中的时候其实就直接写到了CP端I2S(TDM)中的BSPBUF中。
具体地,从AP端播放第一音频,第一音频数据需要从AP端的应用,例如导航应用,进行读取并且下发,经过AP端的AUDIO Framework/Hal,再到AP端内核空间中ALSA对应声卡C0D0/C0D1,再经过异构核的通信机制“D共享内存”(D share memory),实际上,第一音频数据这个时候已经到达CP端控制的I2S BSP的部分,最后通过I2S(TDM)协议将第一音频数据发给DSP部分进行后续的播放动作;从CP端播放第二音频,第二音频数据经过CP端的应用,例如MUSIC或RADIO应用,进行读取并且下发到CP端用户空间(User Space)中的ALSA-lib,再到CP端内核空间(Kernel Space)中的ALSA对应的声卡C0D0/C0D1,再到CP端控制的I2SBSP,最后通过I2S(TDM)协议将第二音频数据发给DSP部分进行后续的播放动作。
综上,播放数据流方向所经过的关键节点为:
AP端:APP(AP)->C0D0/C0D1(AP)->I2S(TDM)->DSP
CP端:APP(CP)->C0D0/C0D1(CP)->I2S(TDM)->DSP
通过比对图1和图4中播放数据流方向所经过的关键节点,如表1所示。
表1
由表1分析可知,从CP端播放音频,本申请与相关技术方案没有区别,改进点体现在对于AP端播放音频时,关键节点(路由节点)从八个缩减至四个,具体表现为:
1.减少了至少2次内存数据的搬运:ALSA->ALSA_LIB,ALSA_LIB->ALSA,即COD1(CP)->用户空间(CP)->C0D0(CP)。
2.减少了共享内存往C0D1(CP)搬数据。
3.减少C0D0(CP)往I2S(TDM)搬数据。
4.减少了指令的数量,即每条播放链路均对应一条指令,播放链路减少时指令相应的减少。
也就是说,至少减少了4次内存数据的搬运动作,对于系统的播放性能与用户体验方面的改善是客观的。
图5为本申请一实施例提供的多核异构系统的结构图示意图。如图5所示,本申请提供的多核异构系统50,包括第一核51和第二核52,第一核51具有访问音频控制器的能力,第二核52不具有访问音频控制器的能力。其中:
第二核52,用于在检测到第一音频播放信号时,将第一音频播放信号对应的第一音频数据写入映射内存,映射内存的地址与音频控制器的驱动内存的地址相同;
第一核51,用于控制音频控制器在映射内存中读取第一音频数据,使得音频控制器控制音频组件播放第一音频数据。
在一种可能的实施方式中,上述第二核52还用于:在将音频播放信号对应的第一音频数据写入映射内存之后,向第一核发送已在映射内存写入第一音频数据的消息;对应地,第一核51,用于响应获取到消息,在映射内存中读取第一音频数据。
在一种可能的实施方式中,第一核51和第二核52可以基于核间通讯协议进行通信。
本实施例中的多核异构系统可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此次不再进行赘述。
图6为本申请一实施例提供的电子设备的结构示意图。如图6所示,该电子设备60,本实施例的电子设备60可以包括:至少一个处理器61和存储器62。其中,存储器62用于存储指令,处理器61用于调用存储器中的指令以执行如上述实施例提供的方法步骤,具体实现方式和技术效果类似,这里不再赘述。
存储器62可能包含高速随机存取存储器(Random Access Memory,RAM),也可能还包括非易失性存储(Non-Volatile Memory,NVM),例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
处理器61可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
可选地,存储器62既可以是独立的,也可以跟处理器61集成在一起。
可选地,该电子设备60还可以包括通信接口63。当存储器62是独立于处理器61之外的器件时,电子设备60还可以包括总线64。该总线64用于连接通信接口63、存储器62和处理器61。该总线64可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component Interconnect,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果通信接口63、存储器62和处理器61集成在一块芯片上实现,则通信接口63、存储器62和处理器61可以通过内部接口完成通信。
本实施例提供的电子设备可用于执行上述的音频播放方法,其实现方式和技术效果类似,本实施例此处不再赘述。
本申请还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时用于实现上述的各种实施方式提供的方法。
其中,计算机可读存储介质可以是计算机存储介质,也可以是通信介质。通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。计算机存储介质可以是通用或专用计算机能够存取的任何可用介质。例如,计算机可读存储介质耦合至处理器,从而使处理器能够从该计算机可读存储介质读取信息,且可向该计算机可读存储介质写入信息。当然,计算机可读存储介质也可以是处理器的组成部分。处理器和计算机可读存储介质可以位于专用集成电路(Application Specific Integrated Circuits,ASIC)中。另外,该ASIC可以位于用户设备中。当然,处理器和计算机可读存储介质也可以作为分立组件存在于通信设备中。
具体地,该计算机可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random-Access Memory,SRAM),电可擦除可编程只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM),可编程只读存储器(Programmable read-only memory,PROM),只读存储器(Read-OnlyMemory,ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
本申请还提供一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。设备的至少一个处理器可以从计算机可读存储介质中读取该计算机程序,至少一个处理器执行该计算机程序使得设备实施上述的各种实施方式提供的方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
其中,各个模块可以是物理上分开的,例如安装于一个的设备的不同位置,或者安装于不同的设备上,或者分布到多个网络单元上,或者分布到多个处理器上。各个模块也可以是集成在一起的,例如,安装于同一个设备中,或者,集成在一套代码中。各个模块可以以硬件的形式存在,或者也可以以软件的形式存在,或者也可以采用软件加硬件的形式实现。本申请可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
当各个模块以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例方法的部分步骤。
应该理解的是,虽然上述实施例中的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (10)
1.一种音频播放方法,其特征在于,应用于多核异构系统,所述多核异构系统包括第一核和第二核,所述第一核具有访问音频控制器的能力,所述第二核不具有访问音频控制器的能力;
所述音频播放方法包括:
在所述第二核检测到第一音频播放信号时,所述第二核将所述第一音频播放信号对应的第一音频数据写入映射内存,所述映射内存的地址与所述音频控制器的驱动内存的地址相同;
所述第一核控制所述音频控制器在所述映射内存中读取所述第一音频数据,使得所述音频控制器控制音频组件播放所述第一音频数据。
2.根据权利要求1所述的方法,其特征在于,所述第二核将所述音频播放信号对应的第一音频数据写入映射内存之后,还包括:
所述第二核向所述第一核发送已在所述映射内存写入所述第一音频数据的消息;
对应地,所述第一核在所述映射内存中读取所述第一音频数据,包括:所述第一核响应获取到所述消息,在所述映射内存中读取所述第一音频数据。
3.根据权利要求1所述的方法,其特征在于,所述第一核和所述第二核基于核间通讯协议进行通信。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述第一核控制所述音频控制器在所述映射内存中读取所述第一音频数据,包括:
所述第一核控制所述音频控制器根据所述第二核对应的音频通道,在所述映射内存中读取所述第一音频数据。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在所述第一核检测到第二音频播放信号时,所述第一核将所述第二音频播放信号对应的第二音频数据写入所述驱动内存;
所述第一核控制所述音频控制器根据所述第一核对应的音频通道在所述驱动内存中读取所述第二音频数据,使得所述音频控制器将所述第二音频数据传输给所述音频组件,并控制所述音频组件播放所述第二音频数据。
6.一种多核异构系统,其特征在于,包括第一核和第二核,所述第一核具有访问音频控制器的能力,所述第二核不具有访问音频控制器的能力;
所述第二核,用于在检测到第一音频播放信号时,将所述第一音频播放信号对应的第一音频数据写入映射内存,所述映射内存的地址与所述音频控制器的驱动内存的地址相同;
所述第一核,用于控制所述音频控制器在所述映射内存中读取所述第一音频数据,使得所述音频控制器控制音频组件播放所述第一音频数据。
7.根据权利要求6所述的多核异构系统,其特征在于,所述第二核还用于:
在将所述音频播放信号对应的第一音频数据写入映射内存之后,向所述第一核发送已在所述映射内存写入所述第一音频数据的消息;
对应地,所述第一核,用于响应获取到所述消息,在所述映射内存中读取所述第一音频数据。
8.根据权利要求6所述的多核异构系统,其特征在于,所述第一核和所述第二核基于核间通讯协议进行通信。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被执行时实现如权利要求1至5中任一项所述的音频播放方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序执行时实现如权利要求1至5中任一项所述的音频播放方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311716101.4A CN117707466A (zh) | 2023-12-13 | 2023-12-13 | 音频播放方法及多核异构系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311716101.4A CN117707466A (zh) | 2023-12-13 | 2023-12-13 | 音频播放方法及多核异构系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117707466A true CN117707466A (zh) | 2024-03-15 |
Family
ID=90160065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311716101.4A Pending CN117707466A (zh) | 2023-12-13 | 2023-12-13 | 音频播放方法及多核异构系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117707466A (zh) |
-
2023
- 2023-12-13 CN CN202311716101.4A patent/CN117707466A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4472868B2 (ja) | オーディオ娯楽システムを備えた車両コンピュータ・システム | |
US11301300B2 (en) | Method for resource allocation and terminal device | |
EP3438827A1 (en) | Resource configuration method, mobile terminal and storage medium | |
US10936371B2 (en) | Method for resource allocation and related products | |
CN110673964A (zh) | 一种车载系统的音频播放控制方法和装置 | |
CN113918101B (zh) | 一种写数据高速缓存的方法、系统、设备和存储介质 | |
US20200021772A1 (en) | Multimedia recording data obtaining method and terminal device | |
CN114302040B (zh) | 多应用共享单一摄像头的方法及相关产品 | |
WO2022199284A1 (zh) | 调用栈回溯方法、装置、设备和介质 | |
CN112055251A (zh) | 一种媒体数据播放方法、装置、设备及存储介质 | |
CN117707466A (zh) | 音频播放方法及多核异构系统 | |
WO2023168913A1 (zh) | Sdk与接入应用的兼容方法、装置、设备及介质 | |
CN107528977B (zh) | 资源配置方法及相关产品 | |
CN115794317A (zh) | 一种基于虚拟机的处理方法、装置、设备及介质 | |
CN116032498A (zh) | 一种内存区域注册方法、装置及设备 | |
CN102789795A (zh) | 基于Android操作系统的车载光盘播放方法及其系统 | |
CN110096355B (zh) | 一种共享资源分配方法、装置和设备 | |
CN113709710B (zh) | 接口管理方法及设备 | |
CN116074622B (zh) | 多协议控制usb相机的实现方法、装置、设备及介质 | |
CN118233493A (zh) | 系统控制方法、装置和车载终端 | |
CN115550811A (zh) | 音频传输方法、装置、电子设备及计算机可读存储介质 | |
CN118193229A (zh) | 数据共享方法、装置、设备及存储介质 | |
EP1652096A1 (en) | Integrated circuit with dynamic communication service selection | |
CN113691624A (zh) | 基于容器的数据传输方法及设备 | |
CN117979266A (zh) | 一种车载影音蓝牙多路传输方法、系统、存储介质及设备 |
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 |