片上系统和多域音频管理方法与流程

摘要: 【】本发明涉及一种电子设备,特别是涉及一种片上系统(system-on-chip,简称soc)和一种多域音频管理方法。背景技术0、背景技术:1、目前,车载信息娱...
片上系统和多域音频管理方法与流程

【】本发明涉及一种电子设备,特别是涉及一种片上系统(system-on-chip,简称soc)和一种多域音频管理方法。

背景技术

0、 背景技术:

1、目前,车载信息娱乐系统正在迅速发展,它们在多域芯片管理方面极其复杂。例如,每个领域(如主驾驶、副驾驶、t-box和仪表盘)都需要自己的主控芯片。为了实现单芯片的多域功能,不可避免地涉及到虚拟化技术。

2、目前有两种类型的智能驾驶舱系统:单主控soc和多主控soc。两者的多域音频处理主要依赖于外部音频数字信号处理器(audio digita lsigna lprocessor,简称adsp)。多主控soc依赖于外部adsp拥有足够的音频输入/输出和通信接口能力,以满足日益庞大和多样化的音频场景需求。单主控soc类似,但它将额外要求主控soc本身具有足够的音频输入/输出和通信接口能力。

3、另一方面,每个域的音频应用场景实际上是重叠的,如媒体声音和按键声音。如果能在单个主控soc内完成多域音频处理,那么整个系统的设计复杂性可以大大降低。

技术实现思路

0、 技术实现要素:

1、本发明的一个实施例提供了一种片上系统(system-on-chip,简称soc)。该soc包括系统处理器和音频处理器。系统处理器执行虚拟机管理程序以虚拟化多个虚拟机(vm)。虚拟机从多个车载设备输出音频数据和控制数据。其中一个虚拟机是主机虚拟机(vm),其他虚拟机是客户虚拟机。音频处理器与系统处理器电连接。音频处理器接收来自系统处理器的音频数据和控制数据,基于来自虚拟机的音频数据和控制数据建立多个任务,对音频数据逐任务进行混合和音频处理以生成处理过的音频数据,并将处理过的音频数据输出到音频硬件。

2、根据上述soc,每个虚拟机包括用户空间和内核空间。

3、根据上述soc,虚拟机管理程序在每个客户虚拟机的内核空间中虚拟化音频输入/输出(i/o)端口和数字信号处理(dsp)i/o端口。

4、根据上述soc,虚拟机管理程序在主机虚拟机的用户空间中建立音频后端和音频数字信号处理(adsp)后端。

5、根据上述soc,每个客户虚拟机通过内核空间中的虚拟化音频i/o端口将音频数据发送到主机虚拟机。主机虚拟机通过用户空间中的音频后端接收来自每个客户虚拟机的音频数据。

6、根据上述soc,每个客户虚拟机通过内核空间中的虚拟化dsp i/o端口将控制数据发送到主机虚拟机。主机虚拟机通过用户空间中的adsp后端接收来自每个客户虚拟机的控制数据。

7、根据上述soc,虚拟机管理程序在主机虚拟机的内核空间中建立音频驱动和dsp驱动。音频驱动基于来自车载设备的音频数据驱动音频硬件。dsp驱动将来自车载设备的控制数据发送到音频处理器以控制音频硬件。

8、根据上述soc,虚拟机包括第一虚拟机、第二虚拟机和第三虚拟机。车载设备包括第一车载设备、第二车载设备和第三车载设备。第一虚拟机输出来自第一车载设备的音频数据和控制数据。第二虚拟机输出来自第二车载设备的音频数据和控制数据。第三虚拟机输出来自第三车载设备的音频数据和控制数据。

9、根据上述soc,音频处理器基于来自第一虚拟机的音频数据和控制数据建立第一任务组。音频处理器基于来自第二虚拟机的音频数据和控制数据建立第二任务组。音频处理器基于来自第三虚拟机的音频数据和控制数据建立第三任务组。

10、根据上述soc,第一任务组包括与第一虚拟机相对应的任务。第二任务组包括与第二虚拟机相对应的任务。第三任务组包括与第三虚拟机相对应的任务。

11、根据上述soc,来自车载设备的音频数据和控制数据对应于不同的音频应用场景。

12、根据上述soc,音频处理器基于每个任务中的应用需求对音频数据进行混合和音频处理。

13、本发明的一个实施例还提供了一种多域音频管理方法。该方法应用于系统处理器和音频处理器。该方法包括以下步骤:虚拟化多个虚拟机(vm)。虚拟机输出来自多个车载设备的音频数据和控制数据。其中一个虚拟机是主机虚拟机(vm),其他虚拟机是客户虚拟机。接收来自虚拟机的音频数据和控制数据。基于来自虚拟机的音频数据和控制数据建立多个任务。对音频数据逐任务进行混合和音频处理以生成处理过的音频数据。将处理过的音频数据输出到音频硬件。

14、根据上述多域音频管理方法,每个虚拟机包括用户空间和内核空间。

15、多域音频管理方法还包括在每个客户虚拟机的内核空间中虚拟化音频输入/输出(i/o)端口和数字信号处理(dsp)i/o端口。

16、多域音频管理方法还包括在主机虚拟机的用户空间中建立音频后端和音频数字信号处理(adsp)后端。

17、多域音频管理方法还包括以下步骤:每个客户虚拟机通过内核空间中的虚拟化音频i/o端口将音频数据发送到主机虚拟机。主机虚拟机通过用户空间中的音频后端接收来自每个客户虚拟机的音频数据。

18、多域音频管理方法还包括以下步骤:每个客户虚拟机通过内核空间中的虚拟化dsp i/o端口将控制数据发送到主机虚拟机。主机虚拟机通过用户空间中的adsp后端接收来自每个客户虚拟机的控制数据。

19、多域音频管理方法还包括在主机虚拟机的内核空间中建立音频驱动和dsp驱动。音频驱动基于来自车载设备的音频数据驱动音频硬件。dsp驱动将来自车载设备的控制数据发送到音频处理器以控制音频硬件。

20、根据上述多域音频管理方法,来自车载设备的音频数据和控制数据对应于不同的音频应用场景。

21、根据上述多域音频管理方法,逐任务对音频数据进行混合和音频处理的步骤包括基于每个任务中的应用需求对音频数据进行混合和音频处理。

1.一种片上系统(soc),包括:

2.如权利要求1所述的片上系统,其中每个虚拟机包括用户空间和内核空间。

3.如权利要求2所述的片上系统,其中所述虚拟机管理程序在每个客户虚拟机的所述内核空间中虚拟化音频输入/输出(i/o)端口和数字信号处理(dsp)输入/输出端口。

4.如权利要求3所述的片上系统,其中所述虚拟机管理程序在所述宿主机虚拟机的所述用户空间中建立音频后端和音频数字信号处理(adsp)后端。

5.如权利要求3所述的片上系统,其中每个客户虚拟机通过所述内核空间中的所述虚拟化音频i/o端口将所述音频数据发送到所述宿主机虚拟机;并且所述宿主机虚拟机通过所述用户空间中的所述音频后端接收来自每个客户虚拟机的所述音频数据。

6.如权利要求3所述的片上系统,其中每个客户虚拟机通过所述内核空间中的所述虚拟化dsp i/o端口将所述控制数据发送到所述宿主机虚拟机;并且所述宿主机虚拟机通过所述用户空间中的所述adsp后端接收来自每个客户虚拟机的所述控制数据。

7.如权利要求3所述的片上系统,其中所述虚拟机管理程序在所述宿主机虚拟机的所述内核空间中建立音频驱动和dsp驱动;所述音频驱动基于来自所述车载设备的所述音频数据驱动所述音频硬件;并且所述dsp驱动将来自所述车载设备的所述控制数据发送到所述音频处理器以控制所述音频硬件。

8.如权利要求1所述的片上系统,其中所述虚拟机包括第一虚拟机、第二虚拟机和第三虚拟机;所述车载设备包括第一车载设备、第二车载设备和第三车载设备;所述第一虚拟机输出音频数据和控制数据来自所述第一车载设备,所述第二虚拟机输出音频数据和控制数据来自所述第二车载设备,以及所述第三虚拟机输出音频数据和控制数据来自所述第三车载设备。

9.如权利要求8所述的片上系统,其中所述音频处理器配置为:

10.如权利要求9所述的片上系统,其中所述第一任务组包括与所述第一虚拟机相对应的任务;所述第二任务组包括与所述第二虚拟机相对应的任务;以及所述第三任务组包括与所述第三虚拟机相对应的任务。

11.如权利要求1所述的片上系统,其中来自车载设备的所述音频数据和所述控制数据对应于不同的音频应用场景。

12.如权利要求1所述的片上系统,其中所述音频处理器基于每个所述任务中的应用需求对所述音频数据进行混合和音频处理。

13.一种多域音频管理方法,应用于系统处理器和音频处理器,包括::

14.如权利要求13所述的多域音频管理方法,其中每个虚拟机包括用户空间和内核空间。

15.如权利要求14所述的多域音频管理方法,进一步包括:

16.如权利要求15所述的多域音频管理方法,进一步包括:

17.如权利要求15所述的多域音频管理方法,进一步包括:

18.如权利要求15所述的多域音频管理方法,进一步包括:

19.如权利要求15所述的多域音频管理方法,进一步包括:

20.如权利要求13所述的多域音频管理方法,其中来自车载设备的音频数据和控制数据对应于不同的音频应用场景。

21.如权利要求13所述的多域音频管理方法,其中执行对音频数据逐任务进行混音和音频处理的步骤包括: