一种芯片、车用音源播放方法、车载设备及存储介质与流程



1.本技术的所公开实施例涉及车载技术领域,且更具体而言,涉及一种芯片、车用音源的播放方法、车载设备及存储介质。


背景技术:



2.随着车机系统发展,对于车机系统中的功能要求也随之越来越高,其中,对各类汽车提示音与传统多媒体系统音源进行混音播放是汽车上的一种重要功能,区别于传统多媒体系统音源,汽车提示音需要在短时间内快速进行播放,而传统多媒体系统音源则需要长时间持续播放,因此,如何高效实现短时间内快速播放汽车提示音的同时对两种音源进行混音播放是当前车机系统中需要解决的问题。
3.目前,实现汽车提示音的快速播放的同时对汽车提示音与多媒体系统音源进行混音播放的主要做法是通过外挂一颗dsp,由mcu驱动dsp发出汽车提示音,等待车机系统启动后,多媒体声音通过一路i2s输入给dsp,由dsp完成混音输出,但是,这种做法增加了外置芯片和硬件电路,增大了硬件成本。


技术实现要素:



4.根据本技术的实施例,本技术提出一种芯片、车用音源的播放方法、车载设备及存储介质。
5.根据本技术的第一方面,公开一种实例性的芯片,安装有第一核系统和第二核系统,其中所述第一核系统先于所述第二核系统启动,所述第一核系统用于第一音源,所述第二核系统用于第二音源;其中,第一音源为提示音源,第二音源为多媒体音源;所述第一核系统基于所述芯片的多个核中一个核运行,且所述第二核系统基于所述芯片的多个核中其他核运行;或者所述第一核系统基于所述芯片中的辅助微处理器,且所述第二核系统基于所述芯片中的单核或多核运行;所述第一核系统用于在启动后,响应于通知指令,控制第一音源输出,以使所述第一音源进行播放;所述第二核系统用于在启动后执行混音操作,以使得所述第二音源与所述第一音源进行混音输出。
6.根据本技术的第二方面,公开一种实例性的车载设备,包括如上述第一方面所述的芯片。
7.根据本技术的第三方面,公开一种实例性的车用音源的播放方法,应用于车载设备,所述车载设备包括如上述第一方面所述的芯片,包括:启动所述第一核系统,以使所述第一核系统响应于通知指令,控制第一音源输出,以使所述第一音源进行播放;和/或启动所述第二核系统,以使所述第二核系统执行混音操作,以使得所述第二音源与所述第一音源进行混音,从而使得混音后的所述第一音源与所述第二音源进行播放。
8.根据本技术的第四方面,公开一种实例性的车载设备,所述车载设备包括相互耦接的存储器和处理器,所述处理器用于执行所述存储器中存储的程序指令,以实现第三方面所述的车用音源的播放方法。
9.根据本技术的第五方面,公开一种实例性的非易失性计算机可读存储介质,其上存储有程序指令,所述程序指令被处理器执行时实现第三方面所述的车用音源的播放方法。
10.本技术的有益效果有:通过第一核系统先于第二核系统启动,第一核系统在启动后,响应于通知指令,控制第一音源输出,以使第一音源进行播放,第二核系统用于在启动后执行混音操作,以使得第二音源与第一音源进行混音,从而使得混音后的第一音源与第二音源进行混音输出,实现快速而安全稳定地输出第一音源,同时实现低延迟,稳定时延的混音输出,而均无需增加额外硬件,减少外置硬件电路,降低成本。
11.在阅读以下对各图及图式中所例示的优选实施例的详细说明之后,本技术的这些及其它目标无疑将对所属领域的技术人员显而易见。
附图说明
12.图1是例示本技术一实施例的芯片的结构示意图;
13.图2是例示本技术另一实施例的芯片的结构示意图;
14.图3是例示本技术又一实施例的芯片的结构示意图;
15.图4是例示本技术再一实施例的芯片的结构示意图;
16.图5是例示本技术一实施例的dmac的缓冲区的结构示意图;
17.图6是例示本技术一实施例的车载设备的结构示意图;
18.图7是例示本技术一实施例的车用音源的播放方法的流程示意图;
19.图8是例示本技术另一实施例的车载设备的结构示意图;
20.图9是例示本技术一实施例的非易失性计算机可读存储介质的结构示意图。
具体实施方式
21.下面结合说明书附图,对本技术实施例的方案进行详细说明。
22.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本技术。
23.本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。
24.请参阅图1,图1是本技术一实施例的芯片的结构示意图。该芯片100安装有第一核系统110和第二核系统120,其中第一核系统110先于第二核系统120启动,第一核系统110用于第一音源,第二核系统120用于第二音源。
25.第一核系统110与第二核系统120可以安装于芯片100中的两个独立区域,并且,第一核系统110与第二核系统120可以单独运行。
26.例如,芯片100可以为基于多核的片上系统,相应的,第一核系统110可以基于多核中的一个核运行,即多核中的一个核用于第一核系统110,第二核系统120可以基于多核中
的其它核运行,即多核中的其他核用于第二核系统120。
27.又例如,芯片100也可以为包括辅助微处理器的单核或多核片上系统,例如,包括r5f的单核或多核片上系统,相应的,第一核系统110可以基于辅助微处理器运行,即辅助微处理器用于第一核系统110,第二核系统120可以基于单核或多核运行,即单核或多核用于第二核系统120。
28.第一核系统110用于第一音源,第二核系统120用于第二音源。其中,第一核系统110可以为实时操作系统(freertos),执行仪表车身信息类功能,例如执行第一音源输出,第二核系统120可以为安卓系统(android),执行车载信息娱乐系统(ivi)功能,例如,执行第二音源输出。
29.第一音源为提示音源,提示音源是指芯片上电后需要快速出声的声音,例如:转向灯提示音、安全带提示音、大灯提示音、倒车雷达音及故障提示音等,可以根据实际情况,预先对第一音源的范围及种类进行设定,并且,可以预先将第一音源存储至第一核系统110中,例如,可以以wav(pcm)格式和48khz的采样率进行存储。第一核系统110通过预设的发声逻辑完成第一音源的输出,具体地,在一些示例中,如图2所示,在第一核系统110中,经过音频策略(audio policy)和音频驱动器(audio driver),将第一音源进行传输,例如,传输到芯片100的存储结构以进行输出。另外,除控制第一音源输出而使第一音源进行播放,第一核系统110还可以用于实现其它功能,例如:系统相关界面显示、实时倒车图像显示等,在此不作限定。
30.第二音源为多媒体音源,例如:车载音乐音源、车载视频音源、车载广播音源等。需要说明的是,根据实际情况,第二音源也可以为预先设定的第一音源的范围之外的音源。
31.第一核系统110用于在启动后,响应于通知指令,控制第一音源输出,以使第一音源进行播放;第二核系统120用于在启动后执行混音操作,以使得第二音源与第一音源进行混音,从而使得混音后的第一音源与第二音源进行播放。
32.通知指令可以是第一核系统110启动后即可接收到的指令,例如通过can总线或外部mcu发出的用于播放第一音源的指令。
33.芯片100上电后,第一核系统110先启动,接收通过can总线或外部mcu发出的通知指令,将第一音源输出并播放。具体地,在图2的示例中,在第一核系统110中,经过音频策略(audio policy)和音频驱动器(audio driver),将第一音源进行传输,例如,传输到芯片100的存储结构以进行输出。
34.在第一核系统110启动后,第二核系统120随之启动,且在启动后,获取第一音源,与第二音源进行混音输出,即将时间长度相同的第一音源与第二音源混合并输出,以使得混音后的第一音源与第二音源进行播放。具体地,在一些示例中,如图2所示,在第二核系统120中,经过音频策略(audio policy),将第一音源和第二音源传输到音频硬件抽象层(audio hal)中的混音器(mixer),经过混音器(mixer),将第一音源和第二音源进行混音,并传输到音频驱动器(audio driver),以将混音后的数据进行传输,例如,传输到芯片100的存储结构以进行输出。
35.需要说明的是,第二核系统120启动完成后,若无任何第二音源输出,而第一核系统110需要输出第一音源,此时,第一核系统110仍可以响应于通知指令,控制第一音源输出,以使第一音源进行播放。第二核系统120启动完成后,若需要输出第二音源,而第一核系
统110也需要输出第一音源,此时,第二核系统120获取第一核系统110输出的第一音源,与第二音源进行混音输出。
36.本实施例中,通过第一核系统110先于第二核系统120启动,第一核系统110在启动后,响应于通知指令,控制第一音源输出,以使第一音源进行播放,第二核系统120用于在启动后执行混音操作,以使得第二音源与第一音源进行混音,从而使得混音后的第一音源与第二音源进行播放,实现快速而安全稳定地输出第一音源,同时实现低延迟,稳定时延的混音输出,而均无需增加额外硬件,减少外置硬件电路,降低成本。
37.如上述,芯片100包括第一核系统110、第二核系统120。在一些实施例中,请参阅图3,图3是例示本技术另一实施例的芯片的结构示意图,基于上述实施例,芯片100还包括直接内存访问控制器(dmac)130。
38.第一核系统110确定第一起始写入位置,并自第一起始写入位置将第一音源写入到dmac130的缓冲区,以使得dmac130自dmac130的缓冲区从读取位置开始读取第一音源,从而实现控制第一音源输出,其中,第一起始写入位置在dmac130的缓冲区中距离读取位置第一预设距离。
39.其中,dmac130包括缓冲区,dmac130的缓冲区用于缓存第一核系统110输出的第一音源和/或第二系统输出的混合音源,混合音源即混音后的第一音源与第二音源。
40.第一起始写入位置是指dmac130的缓冲区的位置,即第一核系统110将第一音源写入到dmac130的缓冲区的位置。第一核系统110自第一起始写入位置将第一音源的数据写入到dmac130的缓冲区,即第一核系统110将第一音源自第一起始写入位置开始,写入dmac130的缓冲区的第一起始写入位置以及其后续位置的过程。具体地,在一些示例中,如图4所示,在第一核系统110中,经过音频策略(audio policy)和音频驱动器(audio driver),从第一起始写入位置开始,将第一音源进行传输到dmac130的缓冲区,以进行输出。
41.读取位置是指dmac130的缓冲区的位置,即dmac130开始读取其缓冲区的位置。dmac130自dmac130的缓冲区自读取位置开始读取第一音源的数据,从而实现控制第一音源输出。第一核系统110通过读取dmac130的寄存器即可知道dmac130的读取位置。
42.第一预设距离为第一起始写入位置与读取位置之间的距离,可以根据实际情况预先设定,换句话说,第一起始写入位置是根据第一预设距离与读取位置确定的。第一核系统110在将第一音源写入到dmac130的缓冲区前,可以通过读取dmac130的寄存器,获取dmac130的读取位置,随后,根据预先设定的第一预设距离,确定与读取位置相距第一预设距离的位置为第一起始写入位置,随后,自第一起始写入位置开始写入第一音源,直到写第一音源完成。其中,预先设定的第一预设距离,可以是固定距离,也可以是根据dmac130的缓冲区大小而变化的距离。
43.需要说明的是,dmac130自dmac130的缓冲区读取音频数据以输出,例如自读取位置开始读取第一音源,实现控制第一音源输出,通常还需要i2s模块,本技术对此并没有进行描述,而本领域技术人员可以理解的是,控制音频数据输出需要i2s模块,因此,关于i2s模块的通常知识,也属于本技术的一部分。
44.下面以图5为例进行描述,其中,图5是例示本技术一实施例的dmac130的缓冲区的结构示意图,该dmac130的缓冲区约为预设时长的音频所对应的数据长度,例如,42ms的音频所对应的数据长度。该dmac130的缓冲区可以被切分成n个节点,n为大于1的正整数。
45.假设dmac130的读取位置为节点1,第一预设距离为6个节点,第一核系统110通过读取dmac130的寄存器后,获取读取位置为节点1,随后,根据第一预设距离为6个节点,确定第一起始写入位置为节点7。
46.第一核系统110自第一起始写入位置(节点7)将第一音源写入到dmac130的缓冲区。例如,第一音源需占用3个节点,则第一核系统110自第一起始写入位置(节点7)开始写入,一直到节点9,从而,dmac130自dmac130的缓冲区自读取位置(节点1)开始读取第一音源,顺序读取第一预设距离(6个节点)以及第一音源所占用的大小,例如3个节点,即读取完第一音源,从而实现控制第一音源输出。另外,当无第一音源的数据输出时,第一核系统110将零数据写入到dmac130的缓冲区,如上述第一音源需占用3个节点的示例中,在第一核系统110写到节点9之后,无第一音源的数据需要写入,则第一核系统110自节点10开始写入零数据,但第一核系统110的当前写入的节点不超过dmac 130的读取位置(节点1)。
47.需要说明的是,dmac130边读取其缓冲区内的数据,边输出其缓冲区内的数据,在上述第一音源需占用3个节点的示例中,当读取到节点2时,节点2内无数据,则dmac130输出零数据,直到读取到节点7,即第一起始写入位置,开始输出第一音源。
48.需要注意的是,若第一音源较大,需要占用的节点数量大于(n-7)个,即写到节点n时,写第一音源并没有完成,此时,可以循环使用dmac130的缓冲区,即重新自节点1开始写入剩余的数据,但不会超过dmac130的当前读取位置(节点1),以防写穿。
49.如上述,dmac130自dmac130的缓冲区读取第一核系统110所写入的第一音源。在一些实施例中,dmac130自dmac130的缓冲区每进行一次读取,则dmac130更新读取位置一次,并产生一个中断;第二核系统120在中断期间确定第二起始写入位置,以自第二起始写入位置开始执行混音操作,其中第二起始写入位置在dmac130的缓冲区中距离读取位置第二预设距离,第二预设距离小于第一预设距离。
50.dmac130自dmac130的缓冲区每进行一次读取,则dmac130更新读取位置一次,并产生一个中断。
51.继续以上述图5为例进行说明,dmac130自dmac130的缓冲区自读取位置(节点1)开始读取第一音源,顺序读取第一预设距离(6个节点)以及第一音源所占用的大小,例如3个节点,每进行一次读取,即每读取一个节点,读取位置更新为下一个节点,例如,节点2,产生一个中断。
52.每个中断的时长可以为每次读取所用的时间,例如,读取一个节点的时间,即中断的时长为一个节点的长度。在中断期间,第二核系统120可以对dmac130进行相关操作,从而实现独占该中断。具体地,第二核系统120在中断期间确定第二起始写入位置,以自第二起始写入位置开始执行混音操作。
53.第二起始写入位置是指dmac130的缓冲区的位置,即第二核系统120将混音操作得到的混音数据写入到dmac130的缓冲区的位置。混音操作是将第一音源的数据与第二音源的相应数据进行混音。具体地,在一些示例中,如图4所示,在第二核系统120中,经过音频策略(audio policy),将第一音源和第二音源传输到音频硬件抽象层(audio hal)中的混音器(mixer),经过混音器(mixer),将第一音源和第二音源进行混音,并传输到音频驱动器(audio driver),以从第二起始写入位置开始,将混音后的数据进行传输到dmac130的缓冲区,以进行输出。
54.第二预设距离为第二起始写入位置与读取位置之间的距离,可以根据实际情况预先设定,换句话说,第二起始写入位置是根据第二预设距离与读取位置确定的。第二核系统120开始执行混音操作之前,可以通过读取dmac130的寄存器,获取dmac130的读取位置,随后,根据预先设定的第二预设距离,确定与读取位置相距第二预设距离的位置为第二起始写入位置,其中,预先设定的第一预设距离,可以是固定距离,也可以是根据dmac130的缓冲区大小而变化的距离。
55.继续以上述图5为例进行说明,假设第二预设距离为1个节点,小于第一预设距离(6个节点),在dmac130的读取位置为节点1的中断期间,第二核系统120通过读取dmac130的寄存器后,获取dmac130的读取位置为节点1,随后,根据第二预设距离为1个节点,确定第二起始写入位置为节点2。从而,第二核系统120自第二起始写入位置(节点2)开始执行混音操作,此时,第二核系统120在紧邻读取位置(节点1)的位置(节点2),开始执行混音操作。也就是说,第二核系统120执行混音操作的时长为一个节点的时长,也即一个中断的时长。
56.如上述,在中断期间,第二核系统120自第二起始写入位置开始执行混音操作。在一些实施例中,在中断期间,第二核系统120自dmac130的缓冲区读取第二起始写入位置处所写入的第一音源的数据,将第一音源的数据与第二音源的相应数据进行混音,并将混音后的数据写入到第二起始写入位置,从而实现混音操作。
57.继续以上述图5为例进行说明,如上述,在dmac130的读取位置为节点1的中断期间,第二核系统120确定第二起始写入位置为节点2,此时,第二核系统120先读取第二起始写入位置(节点2)处所写入的第一音源的数据,即读取一个节点的数据,随后,将第二起始写入位置处所写入的第一音源的数据与第二音源的相应数据进行混音,即将第一音源的一个节点的数据与第二音源的一个节点的数据进行加法混音,得到混音后的数据,随后,将混音后的数据写入到第二起始写入位置(节点2),即混音后的数据覆盖掉第二起始写入位置(节点2)处所写入的第一音源的数据。
58.接着,dmac130自dmac130的缓冲区还进行一次读取,此时,dmac130的读取位置更新为节点2,同时产生另一中断,即一个节点的时长。进而,在dmac130的读取位置为节点2的中断期间,第二核系统120先读取第二起始写入位置(节点2)的下一位置(节点3)处所写入的第一音源的数据,即读取一个节点的数据,随后,将第二起始写入位置处所写入的第一音源的数据与第二音源的相应数据进行混音,即将第一音源的一个节点的数据与第二音源的一个节点的数据进行混音和溢出处理,得到混音后的数据,随后,将混音后的数据写入到第二起始写入位置(节点2)的下一位置(节点3),即混音后的数据覆盖掉第二起始写入位置(节点2)的下一位置(节点3)处所写入的第一音源的数据,其中,溢出处理用于避免混音后出现混音溢出,即爆音的情况,在此不进行赘述。
59.依次类推,直到第一音源与第二音源的混音操作完成,从而实现混音操作。
60.需要说明的是,在图5示例中,由于第二预设距离小于第一预设距离,第一核系统110总是比第二核系统120先向dmac130的缓冲区写入第一音源数据,在第一核系统110向dmac130的缓冲区写入第一音源的数据后6个节点,第二核系统120才向dmac130的缓冲区写入混音后的数据。
61.如上述,可以循环使用dmac130的缓冲区。在上述实施例的基础上,dmac130的缓冲区包括环形缓存器,dmac130将环形缓存器均分成n个节点,其中n为大于1的正整数;
dmac130自dmac130的缓冲区读取和/或写入的数据为一个节点的数据,中断的时长为一个节点的时长。
62.dmac130的缓冲区包括环形缓存器,环形缓存器(ring buffer),也称作圆形队列,圆形缓冲区,是一种用于表示一个固定尺寸、头尾相连的缓冲区的结构,即图5中的环形缓存器中的节点1实际与节点n首尾相连,以构成环形结构。
63.其中,dmac130将环形缓存器均分成n个节点,其中n为大于1的正整数,n的数值大小可以根据实际情况进行设定,例如,n可以为16,在此不做限定。
64.在dmac130的缓冲区约为42ms的音频所对应的数据长度的情况下,即环形缓存器约为42ms的音频所对应的数据长度,n为16时,每个节点约为2.66ms。
65.如上述,将第一音源的一个节点的数据与第二音源的一个节点的数据进行加法混音和溢出处理,得到混音后的数据,在一些实施例中,混音后的数据为一个节点的数据。
66.混音后的数据为一个节点的数据,即每次进行混音操作都是对第一音源和第二音源中一个节点的长度的数据进行混音。若某个节点处,第一音源或第二音源的最后剩余数据长度不足一个节点,则用零数据补齐。例如,当dmac130的缓冲区约为42ms,n为16时,假设第一音源或第二音源为2ms的数据,即不是节点长度的整数倍,则混音后,剩余的部分用零补齐。
67.如上述,混音后的数据为一个节点的数据,在一些实施例中,混音后的数据还被输出,以用作参考音通路。
68.例如,可以将混音后得到的混音数据写回dmac130读取节点的下一节点,以作为参考音输出,其中,参考音可以用于通话ecnr,即通话前端语音处理模块中作为回声消除或降噪的参考音源。
69.如上述,通过dmac130的读取位置与第一预设距离确定第一起始写入位置,以及通过dmac130的读取位置与第二预设距离确定第二起始写入位置。在一些实施例中,第二预设距离为一个节点,第一预设距离至少为n/2个节点。
70.也就是说,第二起始写入位置距离dmac130的读取位置为一个节点的距离,第一起始写入位置距离dmac130的读取位置至少为n/2个节点的距离。
71.可以理解的是,n为偶数。例如,当n为16时,第一预设距离至少为8个节点。
72.请参阅图6,图6是例示本技术一实施例的车载设备的结构示意图。该车载设备600包括芯片610,其中芯片610可以为如图1或图2所示的芯片100,详见上述实施例的说明,在此不再赘述。
73.请参阅图7,图7是例示本技术一实施例的车用音源的播放方法的流程示意图,该方法应用于车载设备,车载设备包括如图1或图2所示的芯片100,具体而言,如图7所示,该方法可包括如下步骤:
74.s71:启动第一核系统110,以使第一核系统110响应于通知指令,控制第一音源输出,以使第一音源进行播放。
75.通知指令可以是第一核系统110启动后即可接收到的指令,例如通过can总线或外部mcu发出的用于播放第一音源的指令。
76.第一核系统110用于第一音源,可以为实时操作系统(freertos),执行仪表车身信息类功能,例如执行第一音源输出。
77.其中,第一音源是指芯片上电后需要快速出声的声音,例如:转向灯提示音、安全带提示音、大灯提示音、倒车雷达音及故障提示音等,可以根据实际情况,预先对第一音源的范围及种类进行设定,并且,可以预先将第一音源存储至第一核系统110中,例如,可以以wav(pcm)格式和48khz的采样率进行存储。第一核系统110通过预设的发声逻辑,即音频策略完成第一音源的输出,另外,除控制第一音源输出而使第一音源进行播放,第一核系统110还可以用于实现其它功能,例如:系统相关界面显示、实时倒车图像显示等,在此不作限定。
78.芯片100上电后,第一核系统110启动,接收通过can总线或外部mcu发出的通知指令,控制第一音源输出,以使第一音源进行播放。
79.s72:启动第二核系统120,以使第二核系统120执行混音操作,以使得第二音源与第一音源进行混音输出。
80.第二核系统120用于第二音源,可以为安卓系统(android),执行车载信息娱乐系统(ivi)功能,例如,执行第二音源输出,第二音源可以为多媒体系统音源和/或预先设定的第一音源的范围之外的音源。
81.在第一核系统110启动后,第二核系统120随之启动,且在启动后,获取第一音源,与第二音源进行混音输出,即将时间长度相同的第一音源与第二音源混合并输出,以使得混音后的第一音源与第二音源进行播放。
82.请参阅图8,图8是例示本技术另一实施例的车载设备的结构示意图。车载设备80包括相互耦接的存储器81和处理器82,处理器82用于执行存储器81中存储的程序指令,以实现上述车用音源的播放方法实施例的步骤。在一个具体的实施场景中,车载设备80可以包括但不限于:智能座舱、ivi(in-vehicle infotainment,车载信息娱乐系统)设备或行车记录仪设备。
83.具体而言,处理器82用于控制其自身以及存储器81以实现上述任一车用音源的播放方法实施例的步骤,或实现上述车用音源的播放方法实施例中的步骤。处理器82还可以称为cpu(central processing unit,中央处理单元)。处理器82可能是一种集成电路芯片,具有信号的处理能力。处理器82还可以是通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器82可以由集成电路芯片共同实现。
84.请参阅图9,图9是例示本技术一实施例的非易失性计算机可读存储介质的结构示意图。计算机可读存储介质90存储有能够被处理器运行的程序指令901,程序指令901用于实现上述任一车用音源的播放方法实施例的步骤。
85.上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
86.在本技术所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的
相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
87.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
88.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本技术各个实施方式方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
89.所属领域的技术人员易知,可在保持本技术的教示内容的同时对装置及方法作出诸多修改及变动。因此,以上公开内容应被视为仅受随附权利要求书的范围的限制。

技术特征:


1.一种芯片,其特征在于,安装有第一核系统和第二核系统,其中所述第一核系统先于所述第二核系统启动,所述第一核系统用于第一音源,所述第二核系统用于第二音源;其中,第一音源为提示音源,第二音源为多媒体音源;所述第一核系统基于所述芯片的多个核中一个核运行,且所述第二核系统基于所述芯片的多个核中其他核运行;或者所述第一核系统基于所述芯片中的辅助微处理器,且所述第二核系统基于所述芯片中的单核或多核运行;所述第一核系统用于在启动后,响应于通知指令,控制第一音源输出,以使所述第一音源进行播放;所述第二核系统用于在启动后执行混音操作,以使得所述第二音源与所述第一音源进行混音输出。2.如权利要求1所述的芯片,其特征在于,所述片上系统包括直接内存访问控制器(dmac);其中,所述第一核系统确定第一起始写入位置,并自所述第一起始写入位置将所述第一音源写入到所述dmac的缓冲区,以使得所述dmac自所述dmac的缓冲区从读取位置开始读取所述第一音源,从而实现控制所述第一音源输出,其中,所述第一起始写入位置在所述dmac的缓冲区中距离所述读取位置第一预设距离。3.如权利要求2所述的芯片,其特征在于,所述dmac自所述dmac的缓冲区每进行一次读取,则所述dmac更新所述读取位置一次,并产生一个中断;所述第二核系统在所述中断期间确定第二起始写入位置,以自所述第二起始写入位置开始执行所述混音操作,其中所述第二起始写入位置在所述dmac的缓冲区中距离所述读取位置第二预设距离,所述第二预设距离小于所述第一预设距离。4.如权利要求3所述的芯片,其特征在于,在所述中断期间,所述第二核系统自所述dmac的缓冲区读取所述第二起始写入位置处所写入的所述第一音源的数据,将所述第一音源的数据与所述第二音源的相应数据进行混音,并将混音后的数据写入到所述第二起始写入位置,从而实现所述混音操作。5.如权利要求3或4所述的芯片,其特征在于,所述dmac的缓冲区包括环形缓存器,所述dmac将所述环形缓存器均分成n个节点,其中所述n为大于1的正整数;所述dmac自所述dmac的缓冲区读取和/或写入的数据为一个所述节点的数据,所述中断的时长为所述一个所述节点的时长。6.如权利要求5所述的芯片,其特征在于,所述混音后的数据还被输出,以用作参考音通路。7.如权利要求5所述的芯片,其特征在于,所述第二预设距离为一个所述节点,所述第一预设距离至少为n/2个所述节点。8.一种车载设备,其特征在于,包括如权利要求1-7中任一项所述的芯片。9.一种车用音源的播放方法,其特征在于,应用于车载设备,所述车载设备包括如权利要求1-7中任一项所述的芯片,包括:启动所述第一核系统,以使所述第一核系统响应于通知指令,控制第一音源输出,以使所述第一音源进行播放;和/或启动所述第二核系统,以使所述第二核系统执行混音操作,以使得所述第二音源与所
述第一音源进行混音输出。10.一种车载设备,其特征在于,所述车载设备包括相互耦接的存储器和处理器,所述处理器用于执行所述存储器中存储的程序指令,以实现权利要求9所述的车用音源的播放方法。11.一种非易失性计算机可读存储介质,其上存储有程序指令,其特征在于,所述程序指令被处理器执行时实现权利要求9所述的车用音源的播放方法。

技术总结


本申请提供一种芯片,安装有第一核系统和第二核系统,其中所述第一核系统先于所述第二核系统启动,所述第一核系统用于第一音源,所述第二核系统用于第二音源;其中,第一音源为提示音源,第二音源为多媒体音源;所述第一核系统用于在启动后,响应于通知指令,控制第一音源输出,以使所述第一音源进行播放;所述第二核系统用于在启动后执行混音操作,以使得所述第二音源与所述第一音源进行混音输出。本申请还提供了相应的车用音源播放方法、车载设备及存储介质。本申请的上述方案,可以实现快速而安全稳定地输出第一音源,同时实现低延迟,稳定时延的混音输出,而均无需增加额外硬件,减少外置硬件电路,降低成本。降低成本。降低成本。


技术研发人员:

苏仲杰 杨威

受保护的技术使用者:

合肥杰发科技有限公司

技术研发日:

2022.09.14

技术公布日:

2023/2/3

本文发布于:2024-09-23 04:22:18,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/55598.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:音源   所述   系统   节点
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议