多核soc芯片及其核间时间同步方法、系统、汽车
技术领域
1.本发明涉及通信技术领域,特别涉及一种多核soc芯片及其核间时间同步方法、系统、汽车。
背景技术:2.随着汽车智能化发展,当前一辆汽车拥有的ecu(电子控制单元)往往达几十上百个,ecu的数量激增,复杂的分布式电子电气架构下,ecu的算力不能协同,并相互冗余,产生极大浪费,同时也难以承载汽车的复杂功能,因此,从分布式走向域控制器,再走向跨域融合,最终抵达中央集成,是电子电气架构(eea,electrical/electronic architecture)的演变趋势。
3.其中,目前的跨域融合通常基于多核soc(system on chip,片上系统)的方案实现,在该方案中,soc外部的主时钟设备(clock master)通过以太网通信协议(如802.1as)与soc内部的一个有ethernet(以太网)能力的核心(从时钟,clock slave)同步时间之后,另一个没有ethernet能力的核心需要同步到该时间,并将时间信息同步至其下挂的can节点。
4.因为通常的多核soc芯片是通过基于共享内存(或其他方案)的核间通讯方式进行交互的,所以容易存在较长的时间延迟(如100us以上),对于要求较高的时间精度的系统,会产生显著的时间同步误差,因此需要解决多核soc芯片的跨核时间同步带来的同步精度问题。
5.另外,多核soc芯片这种基于共享内存(或其他方案)的核间通讯方案,其没有类似时间敏感网络交换机(time sensitive network switch,tsn switch)的硬件时间戳,当使用非实时操作系统(如linux系统等)时,因为系统调度的不确定性,会难以相对准确地获得时间同步数据发出和接收的时间戳,所以,即使采用通用的时间同步协议作为跨核时间同步方案,也不能保证能够满足系统的时间同步精度需求。
技术实现要素:6.本发明的目的在于提供一种多核soc芯片及其核间时间同步方法、系统、汽车,能够提高多核soc芯片的核间时间同步的精度,降低难度。
7.为实现上述目的,本发明提供一种多核soc芯片,其包括集成在同一片内的第一核、全局寄存器及至少一个第二核;其中,
8.所述第一核用于通过以太网通信协议与片外的主时钟设备同步时间,并在同步到时间信息后,将时间信息设置到所述全局寄存器中;
9.所述第二核用于与片外下挂的相应的从时钟设备通过不同于以太网通信协议的其他通信协议通信,并周期性地获取所述全局寄存器中的时间信息,且进一步将所获取的时间信息同步至片外下挂的相应的从时钟设备。
10.可选地,所述的多核soc芯片,还包括晶振,所述第一核、各个所述第二核以及所述
全局寄存器均基于所述晶振提供时钟。
11.可选地,所述第一核用于通过以太网通信协议周期性同步到片外的所述主时钟设备的时间信息并对所述全局寄存器进行写入操作。
12.可选地,所述第一核具有从时钟模块,所述从时钟模块内置有时间敏感网络交换单元,所述时间敏感网络交换单元用于在检测时间同步报文时产生中断处理程序,并利用所述中断处理程序完成与片外的所述主时钟设备的时钟同步,同时所述从时钟模块将同步到的所述主时钟设备的时间信息写入所述全局寄存器。
13.可选地,所述第一核写入所述全局寄存器的位置部署在系统底层代码内。
14.可选地,所述第二核具有主时钟模块,所述主时钟模块内置有时间修正单元,所述时间修正单元用于在所述主时钟模块周期性地读取所述全局寄存器的时间信息后,对所述时间信息进行静态延迟补偿,并将补偿后的时间信息通过所述其他通信协议同步到片外的所述从时钟设备中。
15.可选地,所述从时钟设备为can节点设备,所述其他通信协议为can通信协议。
16.可选地,所述全局寄存器为全局时基计数器;所述第一核还用于在所述第一核与所述主时钟设备同步时间后,将同步到的时间信息设置到所述全局时基计数器中;所述全局时基计数器用于在相应的时基下持续计数,产生相应的全局时基计数值,以使得所述第二核周期性地获取所述全局时基计数值,以获得时间信息。
17.基于同一发明构思,本发明还提供一种多核soc芯片的核间时间同步方法,所述多核soc芯片包括集成在同一片内的第一核、全局寄存器及至少一个第二核,所述核间时间同步方法包括:
18.所述第一核与所述多核soc芯片外的主时钟设备通过以太网通信协议建立通信连接,所述第二核与所述多核soc芯片外的从时钟设备通过不同于以太网通信协议的其他通信协议建立通信连接;
19.所述第一核与所述主时钟设备进行同步时间,并在所述第一核同步到所述主时钟设备的时间信息后,对所述全局寄存器进行写入操作;
20.所述第二核周期性地读取所述全局寄存器中的时间信息,并通过所述其他通信协议同步到所述从时钟设备中。
21.可选地,所述第一核与所述主时钟设备进行同步时间的步骤包括:所述第一核基于内置的时间敏感网络交换单元检测时间同步报文,并在检测到时间同步报文时产生相应的中断处理程序,进一步利用所述中断处理程序完成与所述主时钟设备的时钟同步。
22.可选地,所述全局寄存器为全局时基计数器;
23.所述第一核对所述全局寄存器进行写入操作的步骤包括:在所述第一核与所述主时钟设备同步时间后,所述第一核将同步到的时间信息设置到所述全局时基计数器中;所述全局时基计数器在相应的时基下持续计数,产生相应的全局时基计数值;
24.所述第二核周期性地读取所述全局寄存器中的时间信息的步骤包括:所述第二核周期性地获取所述全局时基计数值,以获得相应的时间信息。
25.可选地,在所述第二核周期性地读取到所述全局寄存器中的时间信息后,先对读取到的所述时间信息进行静态延迟补偿,然后将补偿后的时间信息通过所述其他通信协议同步到所述从时钟设备中。
26.基于同一发明构思,本发明还提供一种多核soc芯片系统,其包括本发明所述的多核soc芯片、主时钟设备以及至少一个从时钟设备,所述主时钟设备与所述多核soc芯片的第一核通过以太网通信协议通信连接,所述从时钟设备与所述多核soc芯片中的相应的第二核通过不同于以太网通信协议的其他通信协议通信连接。
27.基于同一发明构思,本发明还提供一种汽车,其包括本发明所述的多核soc芯片系统。
28.与现有技术相比,本发明的技术方案至少具有以下有益效果:
29.1、在多核soc芯片内部设置一个能够被第一核和各个第二核都可以访问的全局寄存器(例如是全局时基计数器),第一核可以在通过以太网通信协议与多核soc芯片外的主时钟设备同步时间后,将时间信息设置到该全局寄存器中,第二核可以周期性地读取全局寄存器中的时间信息,进而通过不同于以太网通信协议的其他通信协议(例如can通信协议)同步至多核soc芯片外下挂的从时钟设备中。由此,仅通过简单的周期性地寄存器的读写操作即可实现多核soc芯片的核间时间同步,可以无需考虑多核soc芯片的核间时间同步的时钟偏差问题,提高多核soc芯片的核间时间同步的精度,同时可以避免通过其它协议方式实现多核soc芯片的核间时间同步的难度和开发工作量。
30.2、第二核对读取的时间信息进行静态补偿,能够进一步提高多核soc芯片的核间时间同步的精度。
31.3、第二核对读取的时间信息所进行的静态补偿(即对全局寄存器的读写操作的时间补偿),可以通过相对容易的软件或程序标定来实现,由此可简化系统开发过程并提高同步精度。
附图说明
32.图1是本发明一实施例的多核soc芯片的系统架构设计示意图。
33.图2是本发明一实施例的多核soc芯片的核间时间同步方法的时序示意图。
具体实施方式
34.在下文的描述中,给出了大量具体的细节以便提供对本发明更为彻底的理解。然而,对于本领域技术人员而言显而易见的是,本发明可以无需一个或多个这些细节而得以实施。在其他的例子中,为了避免与本发明发生混淆,对于本领域公知的一些技术特征未进行描述。应当理解的是,本发明能够以不同形式实施,而不应当解释为局限于这里提出的实施例。相反地,提供这些实施例将使公开彻底和完全,并且将本发明的范围完全地传递给本领域技术人员。自始至终相同附图标记表示相同的元件。在此使用时,单数形式的"一"、"一个"和"所述/该"也意图包括复数形式,除非上下文清楚的指出另外的方式。还应明白术语“包括”用于确定可以特征、步骤、操作、元件和/或部件的存在,但不排除一个或更多其它的特征、步骤、操作、元件、部件和/或组的存在或添加。在此使用时,术语"和/或"包括相关所列项目的任何及所有组合。术语“核”、“核心”的含义可以单指内核器件,也可以指内核器件及其外围器件。
35.以下结合附图和具体实施例对本发明提出的技术方案作进一步详细说明。根据下面说明,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用
非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
36.请参考图1,本发明一实施例提供一种多核soc芯片1,其包括集成在同一片内的第一核11、至少一个第二核12、全局时基计数器13及晶振(oscillator)14。
37.其中,第一核11和各个第二核12均可以访问全局时基计数器13,且第一核11、各个第二核12和全局时基计数器13都是基于相同的晶振14提供时钟的,所以无需考虑多核soc芯片1的核间时间同步的时钟偏差问题。
38.本实施例中,第一核11是多核soc芯片1仅有的一个可以通过以太网(ethernet)与外部通讯的核心,而各个第二核12仅能通过多核soc芯片1的内部机制(即读取全局时基计数器13的方式)从第一核12获取时间信息。各个第二核12可以一一对应地下挂和控制多核soc芯片1外部(简称片外)的从时钟设备(clock slave)3,第二核12与从时钟设备3之间通过不同于以太网通信协议的其他通信协议(例如can通信协议等,can通信协议也可以称为can时间同步协议)通信。
39.因此,本实施例中,第一核11用于通过以太网通信协议(也可以称为以太网时间同步协议)与多核soc芯片1外部(简称片外)的主时钟设备(clock grand master,例如是汽车的tbox等)2同步时间,并在同步到时间信息后,将时间信息设置到全局时基计数器13中。作为一种示例,第一核11可以是汽车的mpu(microprocessor unit,微处理器)核,其除了支持基本算术运算、逻辑运算的指令之外,还支持dsp(数字信号处理器)指令和浮动少数点指令等。
40.第二核12用于与片外下挂的相应的从时钟设备3通过以太网以外的通信协议通信,并周期性地获取全局时基计数器13中的时间信息,且进一步将所获取的时间信息同步至片外下挂的相应的从时钟设备3中。作为一种示例,第二核12可以是汽车的mcu(microcontrol unit,微控制器)核,其可以仅支持基本算术运算、逻辑运算的指令。当然,也可以不仅支持基本算术运算、逻辑运算的指令,还可以支持浮点运算、dsp运算等指令。
41.可选地,第一核11具有从时钟模块(clock slave)110,从时钟模块110可以通过802.1as协议(即一种以太网精准时间同步协议)周期性地同步到主时钟设备2的时间,并在周期性同步到主时钟设备2的时间信息(即获得绝对时间)后,通过对全局时基计数器13进行写入操作,将所同步到的时间信息设置到全局时基计数器13中。
42.进一步可选地,该从时钟模块110内置有tsn(时间敏感网络)交换单元(tsn switch)111。该tsn交换单元111可以检测时间同步报文,且在检测到时间同步报文的同时产生中断处理程序,进而根据中断处理程序来周期性地完成与主时钟设备2的时钟同步,同时将同步到的时间信息写入全局时基计数器13中。
43.可选地,第一核写入全局时基计数器13的位置部署在系统底层代码(如linux系统的kernel内)。
44.在整个同步链路中,在第一核11侧子系统写入全局时基计数器13时以及在第二核12侧读取全局时基计数器13时都会产生一些时间误差(即延迟),进而影响时间同步精度。因此可选地,可第二核12具有主时钟模块(clock master)120,主时钟模块120能够周期性地读取全局时基计数器13中的全局时基计数值,并通过该全局时基计数值确定对应的时间信息,且主时钟模块120内置有时间修正单元(未图示),该时间修正单元用于在主时钟模块120周期性地读取到全局时基计数器13的时间信息后,对所读取到的时间信息进行静态延
迟补偿,并将补偿后的时间信息同步到片外的从时钟设备3中。其中,该静态延迟补偿可以通过预设的程序来标定,以满足时间精度要求,补偿后的时间信息t
mcu
=t
mpu
+t
静态延迟补偿
,t
静态延迟补偿
=t
写入延迟补偿
+t
读取延迟补偿
,t
mpu
为第一核11同步到的时间信息,t
写入延迟补偿
为对第一核11将同步到的时间信息t
mpu
写入到全局时基计数器13的过程中产生的延迟所做的时间补偿,t
读取延迟补偿
为对第二核12从全局时基计数器13读取时间信息时产生的延迟所做的时间补偿。
45.全局时基计数器13是指具有可软件设置时基并具有持续计数能力的硬件模块,其能够在第一核11同步到主时钟设备2的时间信息后触发,以在相应的时基下持续计数,产生相应的全局时基计数值,由使得第二核12通过周期性地获取该全局时基计数值来获得相应的时间信息。
46.请参考图1和图2,本实施例还提供一种多核soc芯片1的核间时间同步方法,包括以下步骤:
47.首先,多核soc芯片1的第一核(例如mpu)11与多核soc芯片1外的主时钟设备(grand master)2通过以太网协议建立通信连接,多核soc芯片1的第二核(例如mcu)12与多核soc芯片1外的从时钟设备3通过不同于以太网通信协议的其他通信协议建立通信连接;
48.接着,第一核11内部的tsn交互单元(即tsnswitch)111通过以太网通信协议(例如802.1as同步协议)与主时钟设备(grand master)2进行同步时间,期间,tsn交互单元检测时间同步报文,且在检测到时间同步报文的同时产生中断处理程序,进而根据中断处理程序来周期性地完成与主时钟设备2的时钟同步,且在同步到主时钟设备(tbox grand master)2的时间信息后,从时钟模块(clock slave)110对全局时基计数器13进行写入操作(即全局时基计数器13开始基于相应的时基进行持续计数,得到相应的全局时基计数值);
49.然后,第二核12的主时钟模块(clock master)120周期性地读取全局时基计数器13中的全局时基计数值,即获得了相应的时间信息,并对所获得的时间信息进行静态延迟补偿(即时间修正),进而将补偿后的时间信息通过相应的其他通信协议同步到其下挂的从时钟设备3中。
50.上述同步时序中,多核soc芯片1的核间时间同步仅对应在第一核11(mpu)至第二核12(mcu)这一范围,第一核11(mpu)和第二核12(mcu)仅通过简单的周期性寄存器操作(即周期性对全局时基计数器13进行读写的操作)即可实现时间同步,加上程序(或者说软件、算法)的后期静态延迟补偿标定,可以调整和确定全局时基计数器13的读写操作产生的静态延迟,即可得到满意的时间同步精度。
51.本实施例的多核soc芯片1及其核间时间同步方法,通过利用多核soc芯片1中既有的全局时基计数器13,避免通过其它协议方式实现核间时间同步的难度和开发工作量。并且内部对全局时基计数器13的读写操作的时间补偿可以通过相对容易的程序(或者说软件、算法)标定,获得较为理想的时间同步误差补偿,可简化核间时间同步系统的开发过程并提高同步精度。
52.请参考图1,本实施例还提供一种多核soc芯片系统,其包括本实施例所述的多核soc芯片1、主时钟设备2以及至少一个从时钟设备3,主时钟设备2与多核soc芯片1的第一核11通过以太网通信协议通信连接,从时钟设备3与多核soc芯片1中的相应的第二核12通过不同于以太网通信协议的其他通信协议通信连接。
53.其中,主时钟设备2例如是汽车的tbox等,tbox是汽车上的一个盒子,其是一个
android操作系统的带以太网通讯功能的盒子,内含一张sim卡以及gps天线,4g天线等配套硬件,是实现车机联网必须有的设备。
54.从时钟设备3例如是相应的汽车的can节点设备,汽车的can节点设备例如是车门、车灯、空调、座椅、发动机、变速箱、转向系统、安全防抱死系统等。
55.请参考图1,本实施例还提供一种汽车,其包括本实施例所述的多核soc芯片系统。
56.应当理解的是,目前的汽车跨域融合的方案,其电子电气架构(eea,electrical/electronic architecture)可以将整体电子电器架构分为车辆控制域、智能驾驶域和智能座舱域,而多核soc芯片1的第一核11和各个第二核12可以同一个域控制器中的不同核,也可以是不同域的控制器的核。其中,电子电气架构是汽车电子电器系统的总体布置方案,它把汽车里的各类传感器、中央处理器、线束拓扑、电子电气分配系统和软硬件整合在一起,实现整车的配置与功能,以及运算、动力和能量的分配。电子电气架构就是汽车的大脑和神经,是汽车智能化的基础和关键,几乎连接、驱动和控制汽车的所有功能。而且随着汽车智能化发展,当前一辆汽车拥有的ecu(电子控制单元)往往达几十上百个,ecu的数量激增,跨域融合的电子电气架构下,一个域控制器可以集成多个ecu。
57.而且,第一核11和第二核12可以是任意合适的处理器内核,例如r系列处理器内核、a系列处理器内核或m系列处理器内核等,本发明的技术方案对此不做具体限定。
58.此外,需要说明的是,上述实施例仅仅是对本发明的技术方案的举例说明,并不限定本发明的技术方案的保护范围,本领域技术人员可以对其进行适当变形得到本发明的其他实施例中。例如,上文提及的“全局时基计数器”是指具有可软件设置时基并持续计数能力的硬件模块,其能够通过计数值来表示时间信息,在本发明的其他一实施例中,全局时基计数器可以被替换为具有能够寄存时间信息且允许第一核和第二核都访问的全局寄存器或者其它任意合适的硬件模块。再例如,图1所示的“tsn(时间敏感网络)交换单元111”内嵌在第一核11的从时钟模块(clock slave)110中,但是在本发明的其他实施例中,“tsn(时间敏感网络)交换单元111”也可以从时钟模块110中独立出来,如图2所示。
59.上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于本发明技术方案的范围。