CN116830689A - 一种时间同步方法、装置及存储介质 - Google Patents
一种时间同步方法、装置及存储介质 Download PDFInfo
- Publication number
- CN116830689A CN116830689A CN202280006266.XA CN202280006266A CN116830689A CN 116830689 A CN116830689 A CN 116830689A CN 202280006266 A CN202280006266 A CN 202280006266A CN 116830689 A CN116830689 A CN 116830689A
- Authority
- CN
- China
- Prior art keywords
- clock
- time
- gnss
- data plane
- period
- 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 112
- 238000003860 storage Methods 0.000 title claims abstract description 28
- 239000013078 crystal Substances 0.000 claims description 172
- 230000001360 synchronised effect Effects 0.000 claims description 96
- 230000005540 biological transmission Effects 0.000 claims description 24
- 230000002159 abnormal effect Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 29
- 238000012545 processing Methods 0.000 description 23
- 230000006870 function Effects 0.000 description 17
- 230000008569 process Effects 0.000 description 16
- 238000004458 analytical method Methods 0.000 description 14
- 238000004422 calculation algorithm Methods 0.000 description 14
- 238000004364 calculation method Methods 0.000 description 13
- 101100137463 Bacillus subtilis (strain 168) ppsA gene Proteins 0.000 description 10
- 101100342406 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) PRS1 gene Proteins 0.000 description 10
- 238000004891 communication Methods 0.000 description 10
- 101150056693 pps1 gene Proteins 0.000 description 10
- 230000007704 transition Effects 0.000 description 8
- SPBWHPXCWJLQRU-FITJORAGSA-N 4-amino-8-[(2r,3r,4s,5r)-3,4-dihydroxy-5-(hydroxymethyl)oxolan-2-yl]-5-oxopyrido[2,3-d]pyrimidine-6-carboxamide Chemical compound C12=NC=NC(N)=C2C(=O)C(C(=O)N)=CN1[C@@H]1O[C@H](CO)[C@@H](O)[C@H]1O SPBWHPXCWJLQRU-FITJORAGSA-N 0.000 description 7
- 102100021677 Baculoviral IAP repeat-containing protein 2 Human genes 0.000 description 7
- 101000896157 Homo sapiens Baculoviral IAP repeat-containing protein 2 Proteins 0.000 description 7
- 101100464927 Bacillus subtilis (strain 168) ppsB gene Proteins 0.000 description 6
- 102100021662 Baculoviral IAP repeat-containing protein 3 Human genes 0.000 description 6
- 101000896224 Homo sapiens Baculoviral IAP repeat-containing protein 3 Proteins 0.000 description 6
- 230000009977 dual effect Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 230000000737 periodic effect Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 102100034112 Alkyldihydroxyacetonephosphate synthase, peroxisomal Human genes 0.000 description 1
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 101000799143 Homo sapiens Alkyldihydroxyacetonephosphate synthase, peroxisomal Proteins 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000000848 angular dependent Auger electron spectroscopy Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W56/00—Synchronisation arrangements
Abstract
本申请涉及一种时间同步方法、装置及存储介质,其中,该方法可以包括:获取当前周期数据面时钟所指示的时间与管理面时钟所指示的时间的第一偏差值;在所述第一偏差值大于第一阈值时,根据周期内调整幅度对所述当前周期内所述数据面时钟进行调整,所述周期内调整幅度小于或等于所述第一阈值。通过本申请,在保证自动驾驶系统中时间的稳定的基础上,实现了自动驾驶系统中时间与现实时间协调世界时间(coordinated universal time,UTC)保持相同或者接近。
Description
本申请涉及自动驾驶技术领域,尤其涉及一种时间同步方法、装置及存储介质。
精确的时钟(clock,CLK)是车辆中自动驾驶系统(Automated Driving System,ADS)高可靠运行的关键因素之一。
自动驾驶系统中时钟需要满足所指示时间精度高、稳定不出现大的跳变,又能准确跟随现实时间协调世界时间(coordinated universal time,UTC)。UTC时间是从全球导航卫星系统(global navigation satellite system,GNSS)提供的GNSS信息中获取的。但在很多场景中(如地库、矿井、隧道等),由于GNSS信号不稳定,导致UTC时间源不稳定,影响智能驾驶算法的可靠性。因此,如何保持自动驾驶系统中时间的稳定跟随UTC时间,是自动驾驶领域的难题。
发明内容
有鉴于此,本申请提出了一种时间同步方法、装置、系统、车辆、存储介质及计算机程序产品。
第一方面,本申请的实施例提供了一种时间同步方法,所述方法包括:获取当前周期数据面时钟所指示的时间与管理面时钟所指示的时间的第一偏差值;在所述第一偏差值大于第一阈值时,根据周期内调整幅度对所述当前周期内所述数据面时钟进行调整,所述周期内调整幅度小于或等于所述第一阈值。
基于上述技术方案,第一阈值可以表示周期内所允许数据面时钟跳变的最大值,在第一偏差值大于第一阈值时,根据周期内调整幅度对所述当前周期内所述数据面时钟进行调整,这样,采用“小步快跑”的方式,通过多个周期的调整,使得数据面时钟与管理面时钟的偏差逐渐减小直到同步,且每一周期对应的调整幅度均不超过第一阈值,从而在保证自动驾驶系统中时间稳定的基础上,实现了数据面时钟与管理面时钟同步。由于管理面时钟可以跟随GNSS时钟,即管理面时钟所指示时间可以与UTC时间保持相同或者接近,因此,通过周期性调整,数据面时钟所指示时间可以与UTC时间保持相同或接近,从而在保证自动驾驶系统中时间的稳定的基础上,实现了自动驾驶系统中时间与UTC时间保持相同或者接近,这样,车辆行驶过程中管理面时钟提供的时间戳与数据面时钟提供的时间戳均与UTC时间保持相同或者接近,进而保证了自动驾驶系统在车与外界的信息交换(vehicle to everything,V2X)等场景中可靠运行,并且提高了事件分析的效率及准确性。
根据第一方面,在所述第一方面的第一种可能的实现方式中,所述方法还包括:在所述第一偏差值小于或等于所述第一阈值时,在所述当前周期内将所述数据面时钟 调整为与所述管理面时钟同步。
基于上述技术方案,第一阈值可以表示周期内所允许数据面时钟跳变的最大值,在第一偏差值小于或等于第一阈值时,采用“一步调整到位”的方式,在当前周期内将数据面时钟调整为与管理面时钟同步,实现了数据面时钟与管理面时钟的时间偏差自动补偿,从而在保证自动驾驶系统中时间稳定的基础上,更加快捷地实现数据面时钟与管理面时钟同步。
根据第一方面或第一方面的第一种可能的实现方式,在所述第一方面的第二种可能的实现方式中,所述方法还包括:根据所述第一偏差值和/或所述周期内调整幅度,对由所述数据面时钟提供的时间戳进行修正。
基于上述技术方案,在调整数据面时钟期间产生的时间戳,可能与UTC时间存在较小偏差,通过对数据面时钟提供的时间戳进行修正,以使修正后的时间戳与UTC时间同步,从而进一步提高了事件分析的效率及准确性。
根据第一方面或上述第一方面的各种可能的实现方式,在所述第一方面的第三种可能的实现方式中,所述第一阈值为预配置的;或所述第一阈值由应用软件变更操作模式时通知,所述应用软件使用所述数据面时钟。
根据第一方面或上述第一方面的各种可能的实现方式,在所述第一方面的第四种可能的实现方式中,所述管理面时钟和所述数据面时钟在系统上电时根据所述系统存储的前一次下电时所述管理面时钟所指示的时间进行初始化;或者,根据实时时钟(Real-time clock,RTC)所指示时间进行初始化。
基于上述技术方案,利用前一次下电时的管理面时钟所指示的时间,对管理面时钟及数据面时钟进行初始化处理,从而保证每次上电工作时,管理面时钟和数据面时钟的初始时间的一致性,从而有利于上电工作后更加快速的实现管理面时钟及数据面时钟均与UTC时间同步;或者,利用RTC所指示时间,对管理面时钟及数据面时钟进行初始化处理,由于RTC所指示时间与UTC时间的偏差较小,从而在保证每次上电工作时管理面时钟和数据面时钟的初始时间的一致性的同时,保证管理面时钟和数据面时钟的初始时间与UTC时间的偏差尽量小,从而有利于上电工作后在避免管理面时钟及数据面时钟出现大的跳变的基础上,更加快速的实现管理面时钟及数据面时钟均与UTC时间同步。
根据第一方面或上述第一方面的各种可能的实现方式,在所述第一方面的第五种可能的实现方式中,所述方法还包括:在所述当前周期接收第一GNSS时钟信息,所述第一GNSS时钟信息包括以下至少一种:秒脉冲(Pulse Per Second,PPS)和/或推荐定位信息(Recommended Minimum Specific GPS,GPRMC);确认所述第一GNSS时钟信息满足卫星时间有效条件时,根据所述第一GNSS时钟信息,将所述管理面时钟调整为与所述GNSS时钟同步。
基于上述技术方案,在确保当前周期所接收的GNSS时钟信息满足卫星时间有效条件时,将管理面时钟调整为与GNSS时钟同步,从而避免了因采用无效的GNSS时钟信息所带来的时间同步误差,提高了时间同步的准确性。
根据上述第一方面的第五种可能的实现方式,在所述第一方面的第六种可能的实现方式中,所述方法还包括:确认所述第一GNSS时钟信息满足卫星时间有效条件时, 根据所述第一GNSS时钟信息,将RTC调整为与所述GNSS时钟同步。
基于上述技术方案,在确保当前周期所接收的GNSS时钟信息满足卫星时间有效条件时,将RTC调整为与GNSS时钟同步,从而避免了因采用无效的GNSS时钟信息所带来的时间同步误差,提高了时间同步的准确性。
根据第一方面或上述第一方面的各种可能的实现方式,在所述第一方面的第七种可能的实现方式中,所述方法还包括:根据所述管理面时钟,将从属于所述管理面时钟的至少一个管理面子时钟调整为与所述管理面时钟同步;根据所述数据面时钟,将从属于所述数据面时钟的至少一个数据面子时钟调整为与所述数据面时钟同步。
基于上述技术方案,管理面子时钟跟随管理面时钟,数据面子时钟跟随数据面时钟,通过调整,各数据面子时钟及管理面子时钟均可以与UTC时间保持相同或者接近,从而保证数据面子时钟及管理面子时钟所在功能节点的稳定运行。
根据第一方面或上述第一方面的各种可能的实现方式,在所述第一方面的第八种可能的实现方式中,所述方法还包括:确定第一晶振相对于GNSS时钟的计时偏差率;根据所述计时偏差率,对所述管理面时钟和所述数据面时钟进行修正,所述管理面时钟和所述数据面时钟是由所述第一晶振计数维持走时的。
基于上述技术方案,确定第一晶振相对于GNSS时钟的计时偏差率,并根据该计时偏差率,对管理面时钟及数据面时钟进行修正,从而实现晶振计时偏差自动补偿;同时避免了管理面时钟所指示时间及数据面时钟所指示时间与UTC时间持续出现较大偏差,保证了自动驾驶系统的稳定可靠运行。
根据上述第一方面的第八种可能的实现方式,在所述第一方面的第九种可能的实现方式中,所述确定第一晶振相对于GNSS时钟的计时偏差率,包括:获取连续N个周期的GNSS时钟信息,及接收所述N个周期中各周期的GNSS时钟信息时所述第一晶振计时;其中,N为大于1的整数;确认所述N个周期的GNSS时钟信息满足卫星时间有效条件时,和/或,确认接收所述N个周期中各周期的GNSS时钟信息时所述第一晶振计时满足稳定条件时,确定所述计时偏差率。
基于上述技术方案,对N个周期的GNSS时钟信息进行判别,在获取到有效和/或稳定的GNSS时钟信息的情况下,确定计时偏差率,从而保证了所确定的计时偏差率的准确性。
根据上述第一方面的第九种可能的实现方式,在所述第一方面的第十种可能的实现方式中,所述确定所述计时偏差率,包括:确定所述N个周期中连续的M个周期,其中,M为小于或等于N、且大于1的整数;根据接收所述M个周期中各周期的GNSS时钟信息时所述第一晶振计时,确定接收所述M个周期中相邻周期的GNSS时钟信息时所述第一晶振计时间隔;根据所述第一晶振计时间隔,及所述相邻周期的GNSS时钟信息对应的预设发送间隔,确定所述计时偏差率。
作为一个示例,将第一晶振计时间隔与相邻周期的GNSS时钟信息对应的预设发送间隔的比值,确定为所述计时偏差率。
根据上述第一方面的各种可能的实现方式,在所述第一方面的第十一种可能的实现方式中,所述方法还包括:确认所述计时偏差率异常时,发出提示信息,所述提示信息用于提示所述第一晶振故障。
基于上述技术方案,若第一晶振发生故障,则可能造成第一晶振相对于GNSS时钟的计时偏差率异常,因此,在确认计时偏差率异常时发出提示信息,以便提示第一晶振故障。
第二方面,本申请的实施例提供了一种时间同步方法,所述方法包括:确定第一晶振相对于GNSS时钟的计时偏差率;根据所述计时偏差率,对系统时钟进行修正,所述系统时钟是由所述第一晶振计数维持走时的。
基于上述技术方案,确定第一晶振相对于GNSS时钟的计时偏差率,并根据该计时偏差率,对系统时钟进行修正,从而实现晶振计时偏差自动补偿;同时避免了系统时钟所指示时间与UTC时间持续出现较大偏差,保证了自动驾驶系统的稳定可靠运行。
根据第二方面,在所述第二方面的第一种可能的实现方式中,所述系统时钟包括:管理面时钟和数据面时钟。
根据第二方面或第二方面的第一种可能的实现方式,在所述第二方面的第二种可能的实现方式中,所述确定第一晶振相对于GNSS时钟的计时偏差率,包括:获取连续N个周期的GNSS时钟信息,及接收所述N个周期中各周期的GNSS时钟信息时所述第一晶振计时;其中,N为大于1的整数;确认所述N个周期的GNSS时钟信息满足卫星时间有效条件时,和/或,确认接收所述N个周期中各周期的GNSS时钟信息时所述第一晶振计时满足稳定条件时,确定所述计时偏差率。
基于上述技术方案,对N个周期的GNSS时钟信息进行判别,在获取到有效和/或稳定的GNSS时钟信息的情况下,确定计时偏差率,从而保证了所确定的计时偏差率的准确性。
根据第二方面的第二种可能的实现方式,在所述第二方面的第三种可能的实现方式中,所述确定所述计时偏差率,包括:确定所述N个周期中连续的M个周期,其中,M为小于或等于N、且大于1的整数;获取接收所述M个周期中各周期的GNSS时钟信息时所述第一晶振计时,确定接收所述M个周期中相邻周期的GNSS时钟信息时所述第一晶振计时间隔;根据所述第一晶振计时间隔,及所述相邻周期的GNSS时钟信息对应的预设发送间隔,确定所述计时偏差率。
作为一个示例,将第一晶振计时间隔与相邻周期的GNSS时钟信息对应的预设发送间隔的比值,确定为所述计时偏差率。
根据第二方面或上述第二方面的各种可能的实现方式,在所述第二方面的第四种可能的实现方式中,所述方法还包括:确认所述计时偏差率异常时,发出提示信息,所述提示信息用于提示所述第一晶振故障。
基于上述技术方案,若第一晶振发生故障,则可能造成第一晶振相对于GNSS时钟的计时偏差率异常,因此,在确认计时偏差率异常时发出提示信息,以便提示第一晶振故障。
根据第二方面或上述第二方面的各种可能的实现方式,在所述第二方面的第五种可能的实现方式中,所述系统时钟在系统上电时根据所述系统存储的前一次下电时管理面时钟所指示的时间进行初始化;或者,根据实时时钟RTC所指示时间进行初始化。
基于上述技术方案,利用前一次下电时的管理面时钟所指示的时间,对管理面时钟及数据面时钟进行初始化处理,从而保证每次上电工作时,管理面时钟和数据面时 钟的初始时间的一致性,从而有利于上电工作后更加快速的实现管理面时钟及数据面时钟均与UTC时间同步;或者,利用RTC所指示时间,对管理面时钟及数据面时钟进行初始化处理,由于RTC所指示时间与UTC时间的偏差较小,从而在保证每次上电工作时管理面时钟和数据面时钟的初始时间的一致性的同时,保证管理面时钟和数据面时钟的初始时间与UTC时间的偏差尽量小,从而有利于上电工作后更加快速的实现管理面时钟及数据面时钟均与UTC时间同步。
根据上述第二方面的各种可能的实现方式,在所述第二方面的第六种可能的实现方式中,所述方法还包括:在当前周期接收第一GNSS时钟信息,所述第一GNSS时钟信息包括以下至少一种:秒脉冲PPS和/或推荐定位信息GPRMC;确认所述第一GNSS时钟信息满足卫星时间有效条件时,根据所述第一GNSS时钟信息,将所述管理面时钟调整为与所述GNSS时钟同步。
基于上述技术方案,可以在确保当前周期所接收的GNSS时钟信息满足卫星时间有效条件时,将管理面时钟调整为与GNSS时钟同步,从而避免了因采用无效的GNSS时钟信息所带来的时间同步误差,提高了时间同步的准确性。
根据第二方面的第六种可能的实现方式,在所述第二方面的第七种可能的实现方式中,所述方法还包括:确认所述第一GNSS时钟信息满足卫星时间有效条件时,根据所述第一GNSS时钟信息,将RTC调整为与所述GNSS时钟同步。
基于上述技术方案,在确保当前周期所接收的GNSS时钟信息满足卫星时间有效条件时,将RTC调整为与GNSS时钟同步,从而避免了因采用无效的GNSS时钟信息所带来的时间同步误差,提高了时间同步的准确性。
根据上述第二方面的各种可能的实现方式,在所述第二方面的第八种可能的实现方式中,所述方法还包括:获取当前周期所述数据面时钟所指示的时间与所述管理面时钟所指示的时间的第一偏差值;在所述第一偏差值大于第一阈值时,根据周期内调整幅度对所述当前周期内所述数据面时钟进行调整,所述周期内调整幅度小于或等于所述第一阈值。
基于上述技术方案,第一阈值可以表示周期内所允许数据面时钟跳变的最大值,在第一偏差值大于第一阈值时,根据周期内调整幅度对所述当前周期内所述数据面时钟进行调整,这样,采用“小步快跑”的方式,通过多个周期的调整,使得数据面时钟与管理面时钟的偏差逐渐减小直到同步,且每一周期对应的调整幅度均不超过第一阈值,从而在保证自动驾驶系统中时间稳定的基础上,实现了数据面时钟与管理面时钟同步。由于管理面时钟可以跟随GNSS时钟,即管理面时钟所指示时间可以与UTC时间保持相同或者接近,因此,通过周期性调整,数据面时钟所指示时间可以与UTC时间保持相同或接近,从而在保证自动驾驶系统中时间的稳定的基础上,实现了自动驾驶系统中时间与UTC时间保持相同或者接近,这样,车辆行驶过程中管理面时钟提供的时间戳与数据面时钟提供的时间戳均与UTC时间保持相同或者接近,进而保证了自动驾驶系统在车与外界的信息交换(vehicle to everything,V2X)等场景中可靠运行,并且提高了事件分析的效率及准确性。
根据第二方面的第八种可能的实现方式,在所述第二方面的第九种可能的实现方式中,所述方法还包括:在所述第一偏差值小于或等于所述第一阈值时,在所述当前 周期内将所述数据面时钟调整为与所述管理面时钟同步。
基于上述技术方案,第一阈值可以表示周期内所允许数据面时钟跳变的最大值,在第一偏差值小于或等于第一阈值时,采用“一步调整到位”的方式,在当前周期内将数据面时钟调整为与管理面时钟同步,实现了数据面时钟与管理面时钟的时间偏差自动补偿,从而在保证自动驾驶系统中时间稳定的基础上,更加快捷地实现数据面时钟与管理面时钟同步。
根据第二方面的第八种或第九种可能的实现方式,在所述第二方面的第十种可能的实现方式中,所述方法还包括:根据所述第一偏差值和/或所述周期内调整幅度,对由所述数据面时钟提供的时间戳进行修正。
基于上述技术方案,在调整数据面时钟期间产生的时间戳,可能与UTC时间存在较小偏差,通过对数据面时钟提供的时间戳进行修正,以使修正后的时间戳与UTC时间同步,从而进一步提高了事件分析的效率及准确性。
根据第二方面的各种可能的实现方式,在所述第二方面的第十一种可能的实现方式中,所述第一阈值为预配置的;或所述第一阈值由应用软件变更操作模式时通知,所述应用软件使用所述数据面时钟。
根据第二方面或上述第二方面的各种可能的实现方式,在所述第二方面的第十二种可能的实现方式中,所述方法还包括:根据系统时钟,将从属于所述系统时钟的至少一个系统子时钟调整为与所述系统时钟同步。
基于上述技术方案,系统子时钟跟随系统时钟,通过调整,各系统子时钟均可以与UTC时间保持相同或者接近,从而保证系统子时钟所在功能节点的稳定运行。
第三方面,本申请的实施例提供了一种时间同步装置,所述装置包括:所述装置包括:第一模块,用于获取当前周期数据面时钟所指示的时间与管理面时钟所指示的时间的第一偏差值;第二模块,用于在所述第一偏差值大于第一阈值时,根据周期内调整幅度对所述当前周期内所述数据面时钟进行调整,所述周期内调整幅度小于或等于所述第一阈值。
根据第三方面,在所述第三方面的第一种可能的实现方式中,所述第二模块还用于:在所述第一偏差值小于或等于所述第一阈值时,在所述当前周期内将所述数据面时钟调整为与所述管理面时钟同步。
根据第三方面或第三方面的第一种可能的实现方式,在所述第三方面的第二种可能的实现方式中,所述第二模块还用于:根据所述第一偏差值和/或所述周期内调整幅度,对由所述数据面时钟提供的时间戳进行修正。
根据第三方面或上述第三方面的各种可能的实现方式,在所述第三方面的第三种可能的实现方式中,所述第一阈值为预配置的;或所述第一阈值由应用软件变更操作模式时通知,所述应用软件使用所述数据面时钟。
根据第三方面或上述第三方面的各种可能的实现方式,在所述第三方面的第四种可能的实现方式中,所述管理面时钟和所述数据面时钟在系统上电时根据所述系统存储的前一次下电时所述管理面时钟所指示的时间进行初始化;或者,根据实时时钟RTC所指示时间进行初始化。
根据第三方面或上述第三方面的各种可能的实现方式,在所述第三方面的第五种 可能的实现方式中,所述第二模块还用于:在所述当前周期接收第一GNSS时钟信息,所述第一GNSS时钟信息包括以下至少一种:秒脉冲PPS和/或推荐定位信息GPRMC;确认所述第一GNSS时钟信息满足卫星时间有效条件时,根据所述第一GNSS时钟信息,将所述管理面时钟调整为与所述GNSS时钟同步。
根据上述第三方面的第五种可能的实现方式,在所述第三方面的第六种可能的实现方式中,所述第二模块还用于:确认所述第一GNSS时钟信息满足卫星时间有效条件时,根据所述第一GNSS时钟信息,将RTC调整为与所述GNSS时钟同步。
根据第三方面或上述第三方面的各种可能的实现方式,在所述第三方面的第七种可能的实现方式中,所述第二模块还用于:根据所述管理面时钟,将从属于所述管理面时钟的至少一个管理面子时钟调整为与所述管理面时钟同步;根据所述数据面时钟,将从属于所述数据面时钟的至少一个数据面子时钟调整为与所述数据面时钟同步。
根据第三方面或上述第三方面的各种可能的实现方式,在所述第三方面的第八种可能的实现方式中,所述第二模块还用于:确定第一晶振相对于GNSS时钟的计时偏差率;根据所述计时偏差率,对所述管理面时钟和所述数据面时钟进行修正,所述管理面时钟和所述数据面时钟是由所述第一晶振计数维持走时的。
根据上述第三方面的第八种可能的实现方式,在所述第三方面的第九种可能的实现方式中,所述第二模块还用于:获取连续N个周期的GNSS时钟信息,及接收所述N个周期中各周期的GNSS时钟信息时所述第一晶振计时;其中,N为大于1的整数;确认所述N个周期的GNSS时钟信息满足卫星时间有效条件时,和/或,确认接收所述N个周期中各周期的GNSS时钟信息时所述第一晶振计时满足稳定条件时,确定所述计时偏差率。
根据上述第三方面的第九种可能的实现方式,在所述第三方面的第十种可能的实现方式中,所述第二模块还用于:确定所述N个周期中连续的M个周期,其中,M为小于或等于N、且大于1的整数;根据接收所述M个周期中各周期的GNSS时钟信息时所述第一晶振计时,确定接收所述M个周期中相邻周期的GNSS时钟信息时所述第一晶振计时间隔;根据所述第一晶振计时间隔,及所述相邻周期的GNSS时钟信息对应的预设发送间隔,确定所述计时偏差率。
根据上述第三方面的各种可能的实现方式,在所述第三方面的第十一种可能的实现方式中,所述第二模块还用于:确认所述计时偏差率异常时,发出提示信息,所述提示信息用于提示所述第一晶振故障。
第四方面,本申请的实施例提供了一种时间同步装置,所述装置包括:第三模块,用于确定第一晶振相对于GNSS时钟的计时偏差率;第四模块,用于根据所述计时偏差率,对系统时钟进行修正,所述系统时钟是由所述第一晶振计数维持走时的。
根据第四方面,在所述第四方面的第一种可能的实现方式中,所述系统时钟包括:管理面时钟和数据面时钟。
根据第四方面或第四方面的第一种可能的实现方式,在所述第四方面的第二种可能的实现方式中,所述第三模块还用于:获取连续N个周期的GNSS时钟信息,及接收所述N个周期中各周期的GNSS时钟信息时所述第一晶振计时;其中,N为大于1的整数;确认所述N个周期的GNSS时钟信息满足卫星时间有效条件时,和/或,确认 接收所述N个周期中各周期的GNSS时钟信息时所述第一晶振计时满足稳定条件时,确定所述计时偏差率。
根据第四方面的第二种可能的实现方式,在所述第四方面的第三种可能的实现方式中,所述第三模块还用于:确定所述N个周期中连续的M个周期,其中,M为小于或等于N、且大于1的整数;获取接收所述M个周期中各周期的GNSS时钟信息时所述第一晶振计时,确定接收所述M个周期中相邻周期的GNSS时钟信息时所述第一晶振计时间隔;根据所述第一晶振计时间隔,及所述相邻周期的GNSS时钟信息对应的预设发送间隔,确定所述计时偏差率。
根据第四方面或上述第四方面的各种可能的实现方式,在所述第四方面的第四种可能的实现方式中,所述第四模块还用于:确认所述计时偏差率异常时,发出提示信息,所述提示信息用于提示所述第一晶振故障。
根据第四方面或上述第四方面的各种可能的实现方式,在所述第四方面的第五种可能的实现方式中,所述系统时钟在系统上电时根据所述系统存储的前一次下电时管理面时钟所指示的时间进行初始化;或者,根据实时时钟RTC所指示时间进行初始化。
根据上述第四方面的各种可能的实现方式,在所述第四方面的第六种可能的实现方式中,所述第四模块还用于:在当前周期接收第一GNSS时钟信息,所述第一GNSS时钟信息包括以下至少一种:秒脉冲PPS和/或推荐定位信息GPRMC;确认所述第一GNSS时钟信息满足卫星时间有效条件时,根据所述第一GNSS时钟信息,将所述管理面时钟调整为与所述GNSS时钟同步。
根据第四方面的第六种可能的实现方式,在所述第四方面的第七种可能的实现方式中,所述第四模块还用于:确认所述第一GNSS时钟信息满足卫星时间有效条件时,根据所述第一GNSS时钟信息,将RTC调整为与所述GNSS时钟同步。
根据上述第四方面的各种可能的实现方式,在所述第四方面的第八种可能的实现方式中,所述第四模块还用于:获取当前周期所述数据面时钟所指示的时间与所述管理面时钟所指示的时间的第一偏差值;在所述第一偏差值大于第一阈值时,根据周期内调整幅度对所述当前周期内所述数据面时钟进行调整,所述周期内调整幅度小于或等于所述第一阈值。
根据第四方面的第八种可能的实现方式,在所述第四方面的第九种可能的实现方式中,所述第四模块还用于:在所述第一偏差值小于或等于所述第一阈值时,在所述当前周期内将所述数据面时钟调整为与所述管理面时钟同步。
根据第四方面的第八种或第九种可能的实现方式,在所述第四方面的第十种可能的实现方式中,所述第四模块还用于:根据所述第一偏差值和/或所述周期内调整幅度,对由所述数据面时钟提供的时间戳进行修正。
根据第四方面的各种可能的实现方式,在所述第四方面的第十一种可能的实现方式中,所述第一阈值为预配置的;或所述第一阈值由应用软件变更操作模式时通知,所述应用软件使用所述数据面时钟。
根据第四方面或上述第四方面的各种可能的实现方式,在所述第四方面的第十二种可能的实现方式中,所述第四模块还用于:根据系统时钟,将从属于所述系统时钟的至少一个系统子时钟调整为与所述系统面时钟同步。
第五方面,本申请的实施例提供了一种时间同步装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令时实现上述第一方面或者第一方面的各种可能的实现方式中的时间同步方法,或者实现上述第二方面或者第二方面的各种可能的实现方式中的时间同步方法。
第六方面,本申请的实施例提供了一种时间同步系统,包括:用于接收GNSS时钟信息的传输装置,及上述第三方面到第五方面中的任一时间同步装置。
第七方面,本申请的实施例提供了一种车辆,包括:上述第三方面到第五方面中的任一时间同步装置,或者上述第六方面的时间同步系统。
第八方面,本申请的实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述第一方面或者第一方面的各种可能的实现方式中的时间同步方法,或者实现上述第二方面或者第二方面的各种可能的实现方式中的时间同步方法。
第九方面,本申请的实施例提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述第一方面或者第一方面的各种可能的实现方式中的时间同步方法,或者实现上述第二方面或者第二方面的各种可能的实现方式中的时间同步方法。
上述第三方面到第九方面的技术效果,参见上述第一方面及第一方面的各种可能的实现方式的技术效果,或者上述第二方面及第二方面的各种可能的实现方式的技术效果。
图1示出根据本申请一实施例的一种双时钟架构的示意图;
图2示出根据本申请一实施例的一种时间同步系统的示意图;
图3示出根据本申请一实施例的一种时间同步方法的流程图;
图4示出根据本申请一实施例的时间同步装置接收GNSS时钟信息的示意图;
图5示出根据本申请一实施例的一种调整管理面时钟及数据面时钟的方法流程图;
图6示出根据本申请一实施例的一种时间同步方法的流程图;
图7示出根据本申请一实施例的时间同步装置相邻周期接收GNSS时钟信息的示意图;
图8示出根据本申请一实施例的SOC进行时间同步的示意图;
图9示出根据本申请一实施例的SOC进行晶振计时偏差补偿的流程图;
图10示出根据本申请一实施例的SOC进行时间同步的流程图;
图11示出根据本申请一实施例的MCU进行时间同步的示意图;
图12示出根据本申请一实施例的MCU进行时间同步的流程图;
图13示出根据本申请一实施例的调用API1接口进行时间同步的流程图;
图14示出根据本申请一实施例的调用API2接口进行时间同步的流程图;
图15示出根据本申请一实施例的一种时间同步装置的结构图;
图16示出根据本申请一实施例的另一种时间同步装置的结构图;
图17示出根据本申请一实施例的一种时间同步装置的结构示意图。
以下将参考附图详细说明本申请的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
自动驾驶系统中可以配置有系统时钟,示例性地,系统时钟可以为单时钟架构或双时钟架构等,其中,在单时钟架构中,单时钟为自动驾驶系统中各项数据提供时间戳,当外部的GNSS时间源可用时,单时钟与UTC时间同步,当GNSS时间源不可用时,依赖系统级芯片(System-on-a-Chip,SOC)的本地晶振自运行。
图1示出根据本申请一实施例的一种双时钟架构的示意图。如图1所示,在双时钟架构中包括管理面时钟和数据面时钟。其中,管理面时钟在系统中也称为GNSS时钟(GNSS CLOCK,GNSS CLK),跟随现实时间协调世界时间(coordinated universal time,UTC)。当外部的GNSS时间源可用时,管理面时钟与UTC时间同步,当GNSS时间源不可用时,管理面时钟依赖SOC的本地晶振自运行。管理面时钟一般用于为不参与智能驾驶算法计算的功能节点提供时间戳,如维测、日志等,这些功能节点通常对时间跳变不敏感。其中,GNSS时钟信息可以包括秒脉冲(Pulse Per Second,PPS)信号和推荐定位信息(Recommended Minimum Specific GPS,GPRMC)信号等;其中,PPS信号是时间周期为1秒的同步脉冲信号,脉冲宽度5~100毫秒(ms),每1秒钟1个脉冲;GPRMC信号是通过标准串口输出的符合GPRMC标准的时间同步报文,包括PPS信号所对应的UTC时间信息和/或经纬度定位数据,例如,年、月、日、时、分、秒、毫秒、微秒等;GNSS系统可以每秒下发一对PPS信号和GPRMC信号,PPS脉冲前沿时刻和GPRMC报文的发送在同一时刻,误差为纳秒(ns)级别,可以忽略。GPRMC信号一般通过串口发送,其发送、接收以及处理时间都在ms级别。在一种可能的同步过程中,使用PPS信号和GPRMC信号进行时间同步的设备接收到PPS信号后,将内部以晶振为时钟源的系统时间里的毫秒及毫秒以下时间(如,微秒等)清零,并由此开始计算毫秒时间;当接收到GPRMC信号后,提取报文里UTC时间的时、分、秒、年、月、日信息;将接收到PPS信号到解析出GPRMC中UTC时间所用的毫秒时间与UTC整秒时间相加得到同步后的时间,设备中需要和UTC时间同步的时钟使用该同步后的时间,从而完成一次时间同步。每个1秒周期进行一次上述同步过程,每秒准确校准一次。
数据面时钟在系统中也称为操作系统时钟(Operating System Clock,OS CLK),它依赖于SOC的本地晶振自运行,不与外部GNSS时间源同步,以确保时钟是单调递增的。数据面时钟用于为参与智能驾驶算法计算的数据提供时间戳,如:传感器采集的数据,执行器接收的指令和数据等,可以减少时钟跳变对智能驾驶算法可靠性的功能安全问题。
示例性地,自动驾驶系统中可以包括一个或多个节点,各节点均可以配置上述双时钟架构。作为一个示例,可以根据时钟的从属关系,将多个节点划分为主节点(如 图1中所示的主节点)及从节点(如图1中所示从节点1、2..N),其中,各从节点中数据面子时钟(如图1中数据面子时钟a1、a2…aN)均跟随主节点的数据面时钟(如图1中数据面时钟A)的调整而调整,即各从节点中数据面子时钟均与主节点的数据面时钟保持同步;各从节点中管理面子时钟均跟随于主节点的管理面时钟的调整而调整,即各从节点中管理面子时钟(如图1中数据面子时钟b1、b2…bN)均与主节点的管理面时钟(如图1中数据面时钟B)保持同步。
示例性地,主节点可以包括车载计算设备,例如:移动数据中心(Mobile Data Center,MDC),域控制器,电子控制单元(electric control unit,ECU)等,也可以包括配置于车载计算设备中的系统级芯片(System-on-a-Chip,SOC)、微控制器单元(Micro Control Unit,MCU)等等;从节点可以包括自动驾驶系统中除主节点之外的其他的多种装置:例如,处理器、传感器、传感器抽象、执行器、其他域控制器等等,也可以包括配置于该多种装置中的SOC、MCU等等,例如,摄像头(Camera)及其数据处理节点、激光雷达(Lidar)及其数据处理节点、毫米波雷达(Radar)及其数据处理节点、超声波雷达(Ultrasound Scan,USS)及其数据处理节点、车辆底盘及其数据处理节点等等。
针对上述双时钟架构,由于管理面时钟与GNSS时钟同步,数据面时钟不与GNSS时钟同步的方式,即管理面时钟以UTC时间为基准时间,数据面时钟不以UTC时间为基准时间,则针对同一时刻,数据面时钟所指示时间与管理面时钟所指示时间可能会出现较大偏差,影响了自动驾驶系统在V2X等场景中运行的可靠性。作为一个示例,在车辆行驶至路口时,自动驾驶系统可以与设置在路口的路侧设备建立通信连接,从而获取交通灯相关信息,例如,可以获取车辆所在车道对应的交通灯的时间信息,由于路侧设备通常采用UTC时间为基准时间,而自动驾驶系统中数据面时钟不以UTC时间为基准时间,这样,交通灯的时间信息与数据面时钟所指示时间存在偏差,自动驾驶系统通过匹配交通灯的时间信息及数据面时钟为车载设备采集的数据提供的时间戳控制车辆,会出现匹配误差,从而带来安全隐患。此外,针对同一时刻,数据面时钟所指示时间与管理面时钟所指示时间可能存在较大偏差,增加了事件分析(如故障回放分析、碰撞事故分析等)的难度。作为一个示例,在车辆发生故障后,可以通过事件日志确定故障发生的时间,进而获取故障发生时车载设备采集的数据,通过对故障发生时车载设备采集的数据进行分析,确定故障原因;由于针对同一时刻,事件日志对应的时间戳与车载设备采集的数据对应的时间戳存在较大偏差;根据管理面提供的故障发生时的时间戳难以准确获取故障发生时车载设备采集的数据,增加了故障回放分析的难度。
本申请提出了一种时间同步的技术方案(详细描述参见下文),可以在保持自动驾驶系统中时间稳定的基础上,实现数据面时钟与管理面时钟同步,即实现了系统中时间和UTC时间相同或者接近,进而保证了自动驾驶系统在V2X等场景中可靠运行,并且提高了事件分析的效率及准确性。
需要说明的是,本申请实施例描述的上述应用场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,针对其他相似的或新的应用场景的出现,本申请实施例提供的技术方 案对于类似的技术问题同样适用。
下面对本申请实施例提供的一种时间同步系统进行介绍。
图2示出根据本申请一实施例的一种时间同步系统的示意图,该时间同步系统可以配置于自动驾驶系统中;如图2所示,该时间同步系统可以包括:传输装置201,时间同步装置202。
传输装置201用于接收来自GNSS系统的GNSS时钟信息,并可以将所接收的GNSS时钟信息发送至时间同步装置202。示例性地,传输装置201可以通过天线周期性地接收GNSS时钟信息,在每次接收到GNSS时钟信息后,通过软硬件接口将GNSS时钟信息发送至时间同步装置202。
示例性地,传输装置201可以包括惯性导航系统(Inertial Navigation System,INS)传感器、GNSS信号接收机或实时差分定位(Real-time kinematic,RTK)传感器等中的一项或多项。
示例性地,GNSS系统可以包括:全球定位系统(Global Positioning System,GPS)、北斗卫星导航系统(Beidou Navigation Satellite System,BDS)、格洛纳斯卫星导航系统(Global Navigation Satellite System,GLONASS)、伽利略卫星导航系统(Galileo satellite navigation system)等中的一项或多项。
示例性地,GNSS时钟信息可以包括PPS信号和GPRMC信号等;传输装置201可以将每秒接收到的一对PPS信号和GPRMC信号发送至时间同步装置202。
示例性地,软硬件接口可以包括多种时间同步接口和软件协议栈等,例如,广义精准时钟协议(Generalized Precision Time Protocol,gPTP)、控制器区域网络(Controller Area Network,CAN)接口、通用异步收发传输器(Universal Asynchronous Receiver/Transmitter,UART)串口或传感器控制中心(SensorHub)等中的一项或多项。
时间同步装置202用于接收传输装置201所发送的GNSS时钟信息,并根据GNSS时钟信息,对管理面时钟与数据面时钟进行调整,使得管理面时钟与数据面时钟均与UTC时间同步,示例性地,时间同步装置202用于通过软硬件接口周期性地接收传输装置201所发送的GNSS时钟信息,并解析得到GNSS时钟信息所指示时间;还可以通过本地接口获取本地晶振的计时信息、管理面时钟所指示时间、数据面时钟所指示时间等中的一项或多项,从而计算本地晶振相对于GNSS时钟的计时偏差率,进而根据该计时偏差率对管理面时钟及数据面时钟进行修正。作为一个示例,时间同步装置202还可以获取RTC所指示时间,并利用RTC所指示时间对数据面时钟及管理面时钟进行初始化处理,还可以对RTC进行调整,使得RTC与GNSS时钟同步。
作为一个示例,GNSS系统可以每秒下发一对PPS信号和GPRMC信号,传输装置201可以在接收到PPS信号或GPRMC信号后,通过传感器控制中心、CAN接口(或UART串口)发送至时间同步装置202;其中,传感器控制中心用于传输装置201中断信号的汇聚和上报,从而进行时间同步装置202从接收到PPS信号到接收到GPRMC信号的时间补偿,以使时间同步装置202可以每秒精确接收到一对PPS信号和GPRMC信号。时间同步装置202根据PPS信号和GPRMC信号,对管理面时钟与数据面时钟进行调整,例如,可以通过先对管理面时钟进行时间同步,然后基于数据面时钟与管 理面时钟的偏差,对管理面时钟进行时间同步,使得管理面时钟与数据面时钟均与UTC时间同步;作为另一个示例,时间同步装置202还可以通过软硬件接口,对从属于管理面时钟的管理面子时钟、从属于数据面时钟的数据面子时钟进行调整,管理面子时钟可以跟随管理面时钟,数据面子时钟可以跟随数据面时钟,以使管理面子时钟与管理面时钟同步、数据面子时钟与数据面时钟同步。
上述各示例中,具体实现过程可参见下文相关表述。
本申请实施例不限定上述时间同步装置202的类型。
示例性地,该时间同步装置202可以为车辆,或者,车辆中的其他时间同步功能的部件,例如:车载终端、车载控制器、车载模块、车载模组、车载部件、车载芯片、车载单元、车载传感器等,车辆可通过该车载终端、车载控制器、车载模块、车载模组、车载部件、车载芯片、车载单元、车载传感器等对所配置的双时钟进行同步。
示例性地,该时间同步装置202可以集成在配置有双时钟的车辆或车辆的自动驾驶系统或高级驾驶辅助系统(Advanced Driver Assistant Systems,ADAS)或车载计算平台等中,作为一个示例,时间同步装置202可以集成在车载计算平台中,例如,可以为车载计算平台中的SOC或MCU。
示例性地,该时间同步装置202还可以为除了车辆之外的其他具有时间同步能力的智能终端,或设置在智能终端中的部件或者芯片。例如,该智能终端可以为智能运输设备、智能穿戴设备、智能家居设备、智能辅助飞机、机器人(robot)或无人机(unmanned aerial vehicle)等配置有双时钟的设备。
示例性地,该时间同步装置202还可以是一个通用设备或者是一个专用设备。在具体实现中,时间同步装置202可以为台式机、便携式电脑、网络服务器、掌上电脑(personal digital assistant,PDA)、移动手机、平板电脑、无线终端设备、嵌入式设备或其他具有时间同步功能的设备,或者为这些设备内的部件或者芯片。
示例性地,该时间同步装置201还可以是具有时间同步功能的芯片或处理器,该时间同步装置201可以包括多个处理器。处理器可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。示例性地,该具有时间同步功能的芯片或处理器可以设置在自动驾驶系统的任一节点中,例如,可以设置于上述图1中的主节点中等。
下面对本申请实施例提供的一种时间同步方法进行详细介绍。
图3示出根据本申请一实施例的一种时间同步方法的流程图,示例性地,该方法可以由上述图2所示的时间同步系统执行,或者由该时间同步系统的一个或多个装置执行,例如可以由时间同步装置202执行,为了便于描述,下述实施例中以由时间同步装置202执行为例进行说明;如图3所示,该方法可以包括以下步骤:
步骤301、获取当前周期数据面时钟所指示的时间与管理面时钟所指示的时间的第一偏差值。
其中,数据面时钟及管理面时钟均由第一晶振维持。例如,数据面时钟及管理面时钟可以为上述图1中主节点的数据面时钟A及管理面时钟B;第一晶振为设置于该主节点的本地晶振。
示例性地,时间同步装置可以周期性地获取数据面时钟所指示的时间与管理面时 钟所指示的时间的偏差值,当前周期可以为其中任一周期,例如,时间同步装置可以以1s为周期,在每秒内获取数据面时钟所指示的时间与管理面时钟所指示的时间的偏差值。
示例性地,时间同步装置可以计算当前周期数据面时钟所指示时间与管理面时钟所指示时间的差值,并将该差值的绝对值作为第一偏差值。
示例性地,管理面时钟可以在当前周期内已经完成与UTC时间同步;即对于同一时刻,管理面时钟所指示的时间与UTC时间一致或差异很小。
作为一个示例,时间同步装置可以在当前周期内某一时刻,获取数据面时钟所指示时间,及已经完成与UTC时间同步的管理面时钟所指示时间,并将这两个时间差值的绝对值,作为第一偏差值。
作为另一个示例,时间同步装置可以获取当前周期接收到GNSS时钟的信息时数据面时钟所指示时间,与接收到GNSS时钟的信息时管理面时钟所指示时间,并将这两个时间差值的绝对值,作为第一偏差值。例如,时间同步装置可以计算当前周期接收到PPS信号时数据面时钟所指示时间与当前周期接收到PPS信号时管理面时钟所指示时间的差值,该差值的绝对值即为第一偏差值。再例如,时间同步装置可以计算当前周期接收到GPRMC信号时数据面时钟所指示时间与当前周期接收到GPRMC信号时管理面时钟所指示时间的差值,该差值的绝对值即为第一偏差值。
示例性地,若第一偏差值不等于0,则表明当前周期数据面时钟与管理面时钟存在偏差,需要补偿,则时间同步装置执行下述步骤302;若第一偏差值等于0,则表明当前周期数据面时钟与管理面时钟无偏差,在当前周期内无需进行补偿。
步骤302、在第一偏差值大于第一阈值时,根据周期内调整幅度对当前周期内数据面时钟进行调整,所述周期内调整幅度小于或等于第一阈值。
其中,第一阈值表示周期内所允许数据面时钟跳变的最大值。可以理解是,若当前周期内数据面时钟的调整幅度大于周期内所允许数据面时钟跳变的最大值,则会造成自动驾驶系统中的时间不稳定,从而影响自动驾驶系统的平稳运行;将周期内调整幅度设定为小于或等于第一阈值,则可以在保证自动驾驶系统中的时间稳定的基础上,对数据面时钟进行调整。
示例性地,以1s为周期为例,时间同步装置可以在每秒内分别判断该秒内数据面时钟与管理面的时钟的第一偏差值,与第一阈值的相对大小;若在某一秒内,第一偏差值大于第一阈值时,则根据周期内调整幅度对该秒内数据面时钟进行调整。
作为一个示例,第一阈值可以为预配置的,例如,可以为1ms。
作为另一个示例,第一阈值还可以由应用软件变更操作模式时通知,该应用软件使用数据面时钟。示例性地,应用软件可以包括自动驾驶软件,自动驾驶软件中配置有周期内所允许数据面时钟跳变的最大值,即第一阈值;自动驾驶软件可以在退出自动驾驶模式或者进入自动驾驶模式时,主动通知时间同步装置该第一阈值。其中,自动驾驶软件在不同操作模式下,对应的第一阈值可以不同,例如,在开启自动驾驶模式下,数据面时钟对事件跳变敏感,则第一阈值可以设置为较小数值,如10ms;而在关闭自动驾驶模式下,数据面时钟对时间跳变敏感度会相应降低,则第一阈值可以设置为较大数值,如1s或者设为无穷大值等。
作为另一个示例,时间同步装置可以在每一周期主动查询自动驾驶软件中配置的周期内所允许数据面时钟跳变的最大值,进而确定第一阈值。示例性地,若当前周期内,时间同步装置无法获取自动驾驶软件中周期内所允许数据面时钟跳变的最大值,则可以将根据经验值预先设定的周期内允许数据面时钟跳变的最大值,作为第一阈值。
示例性地,若数据面时钟比管理面时钟快,则在当前周期内,按照周期内调整幅度调慢一次数据面时钟;若数据面时钟比管理面时钟慢,则在当前周期内,按照周期内调整幅度调快一次数据面时钟,从而完成当前周期内数据面时钟的调整。
示例性地,周期内调整幅度可以为预配置的,也可以由时间同步装置根据第一阈值确定;示例性地,时间同步装置可以在每一周期内,确定当前周期内的调整幅度,进而根据所确定的当前周期内的调整幅度,对当前周期内数据面时钟进行调整。可以理解的是,在当前周期对数据面时钟的调整幅度小于第一阈值,当前周期调整后的数据面时钟所指示时间与管理面时钟所指示时间依旧存在偏差,需要经过多个周期,不断调整数据面时钟,以使数据面时钟与管理面时钟同步;示例性地,时间同步装置可以根据各周期所确定的第一偏差值,确定各周期对应的周期内调整幅度;例如,若第一阈值为100ms,第一偏差值为1s,则可以通过20个周期的小幅调整,使数据面时钟与管理面时钟同步,则当前周期对应的周期内调整幅度可以为50ms;还可以通过10个周期的小幅调整,使数据面时钟与管理面时钟同步,则当前周期对应的周期内调整幅度可以为100ms。
本申请实施例中,考虑到数据面时钟用于为参与智能驾驶算法计算的数据提供时间戳,数据面时钟的稳定对维持自动驾驶系统的平稳运行至关重要,因此,在当前周期,数据面时钟所指示时间与管理面时钟所指示时间的偏差值大于周期内允许数据面时钟跳变的最大值时,时间同步装置根据周期内调整幅度对所述当前周期内所述数据面时钟进行调整,这样,采用“小步快跑”的方式,通过多个周期的持续小幅调整,使得数据面时钟与管理面时钟的偏差逐渐变小,直到数据面时钟与管理面时钟同步,且每一周期对应的周期内调整幅度均不超过周期内允许数据面时钟跳变的最大值,从而在保证自动驾驶系统中时间稳定的基础上,周期性自动补偿管理面时钟与数据面时钟的偏差,实现了数据面时钟与管理面时钟同步。由于管理面时钟可以跟随GNSS时钟,即管理面时钟所指示时间可以与UTC时间保持相同或者接近,因此,通过周期性调整,数据面时钟所指示时间可以与UTC时间保持相同或接近,避免了参与智能驾驶算法计算的数据的时间戳出现大的跳变,从而在保证自动驾驶系统中时间的稳定的基础上,实现了自动驾驶系统中时间(即管理面时钟所指示时间与数据面时钟所指示时间)与UTC时间保持相同或者接近,这样,车辆行驶过程中管理面时钟提供的时间戳与数据面时钟提供的时间戳均与UTC时间保持相同或者接近,进而保证了自动驾驶系统在V2X等场景中可靠运行,并且提高了事件分析的效率及准确性。
作为一个示例,在车辆行驶至路口时,自动驾驶系统可以与设置在路口的路侧设备建立通信连接,自动驾驶系统可以获取该路口的交通灯相关信息,如车辆所在车道对应的交通灯的时间信息;由于路侧设备、数据面时钟、管理面时钟均采用UTC时间为基准时间,自动驾驶系统可以通过准确匹配交通灯的时间信息及数据面时钟为参与智能驾驶算法计算的数据提供的时间戳,控制车辆安全通过路口,保证了自动驾驶系 统的稳定运行。作为另外一个示例;在车辆发生故障后,通过事件日志所记录的发生该故障的时间戳,可以准确查找到相匹配的参与智能驾驶算法计算的数据对应的时间戳,即可以准确获取故障发生时参与智能驾驶算法计算的数据,进而可以通过对所获取的参与智能驾驶算法计算的数据进行分析,确定故障原因,提高了故障回放分析的效率及准确性。
进一步地,考虑到在上述采用“小步快跑”的方式调整数据面时钟的过程中,通过多个周期的调整,使得数据面时钟与管理面时钟同步;在这多个周期中,数据面时钟同时会为期间参与智能驾驶算法计算的数据提供时间戳,该时间戳仍与UTC时间存在较小偏差,因此,可以对调整数据面时钟期间,数据面时钟为参与智能驾驶算法计算的数据提供的时间戳进行修正;以使修正后的时间戳与UTC时间相同或相近,从而进一步提高了事件分析的效率及准确性。
在一种可能的实现方式中,时间同步装置根据第一偏差值和/或周期内调整幅度,对由数据面时钟提供的时间戳进行修正。
示例性地,时间同步装置可以获取当前周期由数据面时钟为参与智能驾驶算法计算的数据提供的时间戳;进而根据第一偏差值和/或周期内的调整幅度,对当前周期内由数据面时钟提供的时间戳进行修正。时间同步装置可以根据第一偏差值与周期内的调整幅度的差值,确定当前周期调整后的数据面时钟提供的时间戳与UTC时间的偏差,则可以根据该偏差对当前周期调整后的数据面时钟提供的时间戳进行修正;示例性地,时间同步装置可以根据第一偏差值,确定当前周期内调整前的数据面时钟提供的时间戳与UTC时间的偏差,则可以根据该偏差对当前周期内调整前的数据面时钟提供的时间戳进行修正。
在一种可能的实现方式中,在上述步骤302中,在第一偏差值小于或等于第一阈值时,在当前周期内将数据面时钟调整为与管理面时钟同步。
其中,第一阈值可以表示周期内所允许数据面时钟跳变的最大值,由于第一偏差值小于或等于第一阈值,即当前周期内数据面时钟与管理时钟的偏差未超过周期内所允许数据面时钟跳变的最大值,时间同步装置在当前周期内将数据面时钟调整为与管理面时钟同步,数据面时钟调整幅度未超过周期内所允许数据面时钟跳变的最大值,从而可以在保证自动驾驶系统中时间稳定的基础上,实现了数据面时钟与管理面时钟同步。
这样,在第一偏差值小于或等于第一阈值时,时间同步装置采用“一步调整到位”的方式,在当前周期内将数据面时钟调整为与管理面时钟同步,实现了数据面时钟与管理面时钟的时间偏差自动补偿;由于当前周期内数据面时钟的调整幅度未超过周期内所允许数据面时钟跳变的最大值,避免了参与智能驾驶算法计算的数据的时间戳出现大的跳变,从而在保证自动驾驶系统的平稳运行的基础上,更加快捷地实现管理面时钟与数据面时钟同步。此外,由于管理面时钟可以跟随GNSS时钟,即管理面时钟所指示时间可以与UTC时间保持相同或者接近,因此,调整后的数据面时钟所指示时间可以与UTC时间保持相同或接近,从而实现了自动驾驶系统中时间与UTC时间保持相同或者接近,这样,车辆行驶过程中管理面时钟提供的时间戳与数据面时钟提供的时间戳均与UTC时间保持相同或者接近,进而保证了自动驾驶系统在V2X等场景 中可靠运行,并且提高了事件分析的效率及准确性。
图4示出根据本申请一实施例的另一种时间同步方法的流程图;如图4所示,可以包括以下步骤:
步骤401、在当前周期接收第一GNSS时钟信息。
其中,第一GNSS时钟信息可以包括以下至少一种:PPS信号和/或GPRMC信号。
示例性地,时间同步装置可以周期性地接收GNSS时钟信息,例如,可以以1秒为周期接收GNSS时钟信息。例如,时间同步装置可以每秒接收一对PPS信号和GPRMC信号。
步骤402、确认第一GNSS时钟信息满足卫星时间有效条件时,根据第一GNSS时钟信息,将管理面时钟调整为与GNSS时钟同步。
其中,卫星时间有效条件可以为预配置的,时间同步装置可以根据该预配置的卫星时间有效条件,对当前周期接收到的第一GNSS时钟信息是否满足卫星时间有效条件进行判断,并可以在确认当前周期所接收的第一GNSS时钟信息满足卫星时间有效条件时,将管理面时钟调整为与GNSS时钟同步,即实现当前周期内管理面时钟所指示时间与UTC时间的同步;示例性地,在判定当前周期所接收的第一GNSS时钟信息无效的情况下,时间同步装置可以不对当前周期内管理面时钟进行调整。
示例性地,卫星时间有效条件可以包括:GPRMC信号中指示的定位状态为“有效”,和/或,当前周期所获取的PPS信号和GPRMC信号为一对。其中,若当前周期内没有累积未处理的PPS信号或GPRMC信号、且当前周期内接收到的GPRMC信号时本地时间与接收到PPS信号时本地时间之间的间隔在预设时间范围(如500ms)内,则可判定当前周期所获取的PPS信号和GPRMC信号为一对。作为一个示例,本地时间可以包括管理面时钟所指示时间;时间同步装置可以获取当前周期接收到第一GNSS时钟信息时的管理面时钟所指示时间。例如,以周期为1秒为例,在某一秒内,时间同步装置可以获取接收到PPS信号时的管理面时钟所指示时间,及接收到GPRMC信号时的管理面时钟所指示时间;进而计算该秒内接收到GPRMC信号时管理面时钟所指示时间与接收到PPS信号时的管理面时钟所指示时间的间隔,若该间隔在预设时间范围内,且累积未处理的PPS信号或GPRMC信号,可判定该秒内所获取的PPS信号和GPRMC信号为一对。
举例来说,以时间同步装置每秒接收一对PPS信号和GPRMC信号,预设时间范围为500ms为例。图5示出根据本申请一实施例的时间同步装置接收GNSS时钟信息的示意图,如图5所示,在当前秒内,传输装置可以将所接收到的PPS1信号和GPRMC1信号发送至时间同步装置,时间同步装置接收到PPS1信号时的管理面时钟所指示时间为T10,接收到GPRMC1信号时的管理面时钟所指示时间为T11,则T10与T11的间隔为(T11-T10)。假设GPRMC1信号中的字段2=A(有效定位)满足GPRMC信号中指示的定位状态为“有效”;当前秒内除GPRMC1信号及PPS1信号以外,没有未处理的其他PPS信号或GPRMC信号,且0ms<(T11-T10)≤500ms,则可判定当前秒内接收到的PPS1信号和GPRMC1信号满足卫星时间有效条件。
在确认当前周期接收的第一GNSS时钟信息满足卫星时间有效条件后,时间同步在装置根据第一GNSS时钟信息,将管理面时钟调整为与GNSS时钟同步。
作为一个示例,时间同步装置可以在第一GNSS时钟信息中提取UTC时间信息;例如,时间同步装置在某一秒内接收到GPRMC信号后,可以提取GPRMC信号中UTC时间的时、分、秒、年、月、日信息,即UTC整秒时间;由于接收到GPRMC信号时管理面时钟所指示时间与接收到PPS信号时的管理面时钟所指示时间的间隔为毫秒级,则将该间隔与UTC整秒时间相加得到同步后的时间,管理面时钟使用该同步后的时间,从而完成将管理面时钟调整为与GNSS时钟同步。例如,如图5所示,时间同步装置提取UTC整秒时间为T,则同步后的时间为T+(T11-T10),管理面时钟使用该同步后的时间。
作为另一个示例,在时间同步装置在某一秒内接收到PPS信号后,将管理面时钟里的毫秒及毫秒以下时间清零,并由此开始计算毫秒时间;当时间同步装置在该秒内接收到GPRMC信号后,提取GPRMC信号中UTC整秒时间;将接收到PPS信号到提取GPRMC信号中UTC整秒时间所用的毫秒时间与UTC整秒时间相加得到同步后的时间,管理面时钟使用该同步后的时间,从而完成将管理面时钟调整为与GNSS时钟同步。
这样,时间同步装置可以在当前周期所接收的GNSS时钟信息满足卫星时间有效条件时,将管理面时钟调整为与GNSS时钟同步,从而避免了因采用无效的GNSS时钟信息所带来的时间同步误差,提高了时间同步的准确性。
步骤403、获取当前周期数据面时钟所指示的时间与管理面时钟所指示的时间的第一偏差值。
步骤404、在第一偏差值大于第一阈值时,根据周期内调整幅度对当前周期内数据面时钟进行调整,所述周期内调整幅度小于或等于第一阈值。
在一种可能的实现方式中,在第一偏差值小于或等于第一阈值时,在当前周期内将数据面时钟调整为与管理面时钟同步。
上述步骤403及步骤404可参照上述步骤301-302,此处不再赘述。
进一步地,在系统每次上电工作时,可以对管理面时钟及数据面时钟进行初始化处理。
示例性地,在执行上述步骤301或步骤401之前,可以通过下述方式对管理面时钟及数据面时钟进行初始化处理。
方式一、管理面时钟和数据面时钟在系统上电时可以根据系统存储的前一次下电时管理面时钟所指示的时间进行初始化。该方式中,时间同步装置可以保存系统每次下电时的管理面时钟所指示的时间,以此作为系统下次上电工作时,管理面时钟及数据面时钟的初始化时间;示例性地,在系统每次上电工作后,时间同步装置可以通过执行如上述图3或图4所示的时间同步方法,实现周期性同步管理面时钟与GNSS时钟,这样,每次下电时的管理面时钟所指示的时间可以与UTC时间保持相同或者接近,利用每次下电时的管理面时钟所指示的时间,对管理面时钟及数据面时钟进行初始化处理,从而保证时间同步装置每次上电工作时,管理面时钟和数据面时钟的初始时间的一致性,同时,保证管理面时钟和数据面时钟的初始时间与UTC时间的差异尽量小,从而有利于系统上电工作后更加快速的实现管理面时钟及数据面时钟均与UTC时间同步。
方式二、管理面时钟和数据面时钟在系统上电时根据RTC所指示时间进行初始化。其中,RTC在系统下电后仍可以工作;该方式中,在系统每次上电工作时,将RTC所指示时间作为管理面时钟及数据面时钟的初始化时间;由于RTC在系统下电后仍可以工作,这样管理面时钟及数据面时钟的初始化时间与UTC时间偏差较小,从而有利于系统上电工作后更加快速的实现管理面时钟及数据面时钟均与UTC时间同步。
示例性地,在每次上电工作后,时间同步装置可以周期性的对RTC进行时间同步,这样,对RTC与GNSS时钟进行同步,在时间同步装置每次上电工作时,RTC所指示时间与UTC时间的偏差较小。以RTC所指示时间作为管理面时钟及数据面时钟的初始化时间,从而保证时间同步装置每次上电工作时,管理面时钟和数据面时钟的初始时间的一致性,同时,保证管理面时钟和数据面时钟的初始时间与UTC时间更为接近,从而有利于系统上电工作后在避免管理面时钟及数据面时钟出现大的跳变的基础上,更加快速地实现管理面时钟及数据面时钟均与UTC时间同步。
示例性地,时间同步装置可以在确认当前周期所接收的第一GNSS时钟信息满足卫星时间有效条件时,根据第一GNSS时钟信息,将RTC调整为与GNSS时钟同步;其中,该示例中的确认当前周期所接收的第一GNSS时钟信息满足卫星时间有效条件及将RTC调整为与GNSS时钟同步的具体实现过程可以参照上述步骤302中相关表述,在此不再赘述;作为一个示例,在时间同步装置在某一秒内接收到PPS信号后,将RTC里的毫秒及毫秒以下时间清零,并由此开始计算毫秒时间;当时间同步装置在该秒内接收到GPRMC信号后,提取GPRMC信号中UTC整秒时间;在确认该秒内所接收的PPS信号和GPRMC信号满足卫星时间有效条件时,时间同步装置将接收到PPS信号到提取GPRMC信号中UTC整秒时间所用的毫秒时间与UTC整秒时间相加得到同步后的时间,RTC使用该同步后的时间,从而完成将RTC调整为与GNSS时钟同步。这样,在确保当前周期所接收的GNSS时钟信息满足卫星时间有效条件时,将RTC调整为与GNSS时钟同步,从而避免了因采用无效的GNSS时钟信息所带来的时间同步误差,提高了时间同步的准确性。
方式三、管理面时钟和数据面时钟在系统上电时可以根据预设时间(例如出厂设置时间)进行初始化。示例性地,可以在未配置RTC,且未保存上次下电时管理面时钟所指示时间的情况下,采用该预设时间对数据面时钟及管理面时钟进行初始化处理。
图6示出根据本申请一实施例的另一种时间同步方法的流程图,如图6所示,该方法可以包括以下步骤:
步骤601、确定第一晶振相对于GNSS时钟的计时偏差率。
其中,计时偏差率,又可称相位偏差率,表示第一晶振的计时相对于GNSS时钟计时的偏差率,可以理解的是,第一晶振可以基于振动的次数计时,第一晶振每振动一次,即可完成一次计时;例如,第一晶振的标准频率为10000次/秒,第一晶振振动10000次则相当于UTC时间的1秒。在实际工作中,UTC时间经过1秒,第一晶振可能仅振动了9900次或者振动了10100次,时间同步装置可以根据UTC时间经过1秒时对应的第一晶振实际振动的次数,及第一晶振的标准频率,确定第一晶振相对于GNSS时钟的计时偏差率。
在一种可能的实现方式中,为了保证所计算的计时偏差率的准确性,时间同步装 置可以获取连续N个周期的GNSS时钟信息,及时间同步装置接收该连续N个周期中各周期的GNSS时钟信息时第一晶振计时;其中,N为大于1的整数;确认N个周期的GNSS时钟信息满足卫星时间有效条件时,和/或,确认接收该N个周期中各周期的GNSS时钟信息时第一晶振计时满足稳定条件的情况下,确定第一晶振相对于GNSS时钟的计时偏差率。
示例性地,连续N个周期可以包括当前周期。
示例性地,时间同步装置可以获取各周期接收到PPS信号时的第一晶振计时,及各周期接收到GPRMC信号时的第一晶振计时。
其中,卫星时间有效条件可以参照上述步骤402中相关表述;稳定条件可以包括时间同步装置在相邻周期接收到GNSS时钟信息时第一晶振计时的间隔在预设范围内,例如,可以为时间同步装置接收到相邻周期的PPS信号时第一晶振计时的间隔在预设范围(如999ms到1001ms)内。
举例来说,以时间同步装置每秒接收一对PPS信号和GPRMC信号为例。图7示出根据本申请一实施例的时间同步装置相邻周期接收GNSS时钟信息的示意图,如图7所示,在当前秒中,传输装置可以将所接收到的PPS1信号和GPRMC1信号发送至时间同步装置,时间同步装置接收到PPS1信号时第一晶振的计时为T’10,接收到GPRMC1信号时第一晶振的计时为T’11;当前秒内除GPRMC1信号及PPS1信号以外,没有未处理的其他PPS信号或GPRMC信号,且0ms<(T’11-T’10)≤500ms,则可判定当前秒内接收到的PPS1信号和GPRMC1信号满足卫星时间有效条件。在前一秒中,传输装置将所接收到的PPS2信号和GPRMC2信号发送至时间同步装置,时间同步装置接收到PPS2信号时第一晶振的计时为T20,接收到GPRMC2信号时第一晶振的计时为T21;前一秒内除GPRMC2信号及PPS2信号以外,没有未处理的其他PPS信号或GPRMC信号,且0ms<(T21–T20)≤500ms,则可判定前一秒内接收到的PPS2信号和GPRMC2信号有效。同时,999ms≤(T20–T’10)≤1001ms,则可判定这两秒内接收到GNSS时钟信息时第一晶振计时满足稳定条件。
示例性地,在N个周期的GNSS时钟信息满足卫星时间有效条件,且接收N个周期中各周期的GNSS时钟信息时第一晶振计时满足稳定条件时,表明时间同步装置获取到有效并且稳定的GNSS时钟信息,则时间同步装置可以进一步计算第一晶振相对于GNSS时钟的计时偏差率,并保证了所确定的计时偏差率的准确性。在N个周期的GNSS时钟信息不满足卫星时间有效条件或者各周期的GNSS时钟信息时第一晶振计时不满足稳定条件的情况下,则时间同步装置不执行确定第一晶振相对于GNSS时钟的计时偏差率的操作,从而放弃本周期的晶振计时偏差补偿。
在一种可能的实现方式中,时间同步装置可以确定上述N个周期中连续的M个周期,其中,M为小于或等于N、且大于1的整数;根据接收M个周期中各周期的GNSS时钟信息时第一晶振计时,确定接收M个周期中相邻周期的GNSS时钟信息时第一晶振计时间隔;根据第一晶振计时间隔,及相邻周期的GNSS时钟信息对应的预设发送间隔,确定计时偏差率。
示例性地,时间同步装置可以选取接收M个周期中任意两个相邻周期的GNSS时钟信息时第一晶振计时,并将该任意两个相邻周期的GNSS时钟信息时第一晶振计时 的间隔作为第一晶振计时间隔;示例性地,时间同步装置可以根据接收M个周期中所有相邻周期的GNSS时钟信息时第一晶振计时的间隔,进而求取第一晶振计时的平均间隔作为第一晶振计时间隔。
示例性地,可以将预设发送间隔与第一晶振计时间隔的比值,确定为第一晶振相对于GNSS时钟的计时偏差率;还可以将第一晶振计时间隔与预设发送间隔的比值,确定为第一晶振相对于GNSS时钟的计时偏差率。作为一个示例,预设发送间隔可以为1秒,M可以取2,时间同步装置可以获取连续2秒内接收到PPS信号时第一晶振计时,则这2秒对应的第一晶振计时的差值即为接收到PPS信号的时间间隔,预设发送间隔1秒与该时间间隔的比值即为第一晶振相对于GNSS时钟的计时偏差率。
举例来说,以上述图7为例,时间同步装置在当前秒接收到PPS1信号与前一秒接收到PPS2信号的时间间隔为T20-T’10,PPS1信号与PPS2信号的发送间隔为1秒,则第一晶振相对于GNSS时钟的计时偏差率RateRatio可以表示为:RateRatio=1/(T20–T’10)。设第一晶振振动10000次对应UTC时间1秒,若T’10为第一晶振第1000次振动的计时,T20为第一晶振第11010次振动的计时,则T20–T’10为11010次振动对应的计时,可以得到计时偏差率RateRatio=10000/10010。
步骤602、根据计时偏差率,对系统时钟进行修正,该系统时钟是由第一晶振计数维持走时的。
示例性地,系统时钟可以为完成UTC时间同步的时钟;可以理解的是,系统时钟与UTC时间同步后,系统时钟所指示时间与UTC时间一致,随着时间推移,由于本地晶振的计时与GNSS时钟的计时的偏差,导致时间同步后的系统时钟所指示时间与UTC时间的偏差不断积累,可以根据该计时偏差率对完成时间同步的系统时钟所指示时间进行修正,实现晶振偏差自动补偿。
作为一个示例,系统时钟可以包括单时钟;时间同步装置可以根据计时偏差率,对由第一晶振计数维持走时的单时钟进行修正。
作为另一个示例,系统时钟可以包括管理面时钟和数据面时钟,时间同步装置可以根据计时偏差率,对由第一晶振计数维持走时的管理面时钟和数据面时钟进行修正,例如,可以根据该计时偏差率,对上述步骤301中管理面时钟或者步骤402中的管理面时钟进行修正,还可以对上述步骤302中数据面时钟或者上述步骤404中数据面时钟进行修正。
示例性地,系统时钟可以周期性地与UTC时间同步,时间同步装置可以在每一周期内均确定第一晶振相对于GNSS时钟的计时偏差率,进而对本周期内时间同步后的系统时钟所指示时间进行修正。若在某一周期内,时间同步装置未接收到GNSS时钟信息或者GNSS时钟信息不满足卫星时间有效条件和/或稳定条件,则可以利用上一周期所确定的计时偏差率,对该周期内系统时钟所指示信息进行修正;例如,在车辆行驶在隧道中时,GNSS信号持续较弱,则可以利用在车辆驶入隧道之前所确定的第一晶振相对于GNSS时钟的计时偏差率,对系统时钟进行修正,从而避免在长时间持续运行中系统时钟所指示时间与UTC时间出现较大的偏差,保证自动驾驶系统的稳定可靠运行。
可以理解的是,在第一晶振相对于GNSS时钟的计时偏差率大于1的情况下,表 明第一晶振每次振动的计时相对于UTC时间更慢,则需要将系统时钟所指示时间调快;在第一晶振相对于GNSS时钟的计时偏差率小于1的情况下,表明第一晶振每次振动的计时相对于UTC时间更快,则需要将系统时钟所指示时间调慢;在第一晶振相对于GNSS时钟的计时偏差率等于1的情况下,表明第一晶振每次振动的计时与UTC时间一致,则无需修正系统时钟。
示例性地,时间同步装置可以将系统时钟所指示时间与计时偏差率相乘,从而得到修正后的系统时钟所指示时间。例如,若计时偏差率RateRatio=10000/10010,表明第一晶振每次振动的计时相对于UTC时间更快,计算系统时钟所指示时间与该计时偏差率的乘积,得到调慢后的系统时钟所指示时间。这样,修正后的系统时钟所指示时间可以在微秒级维持与UTC时间一致,从而进一步提高了时间同步精度。
本申请实施例中,时间同步装置可以确定第一晶振相对于GNSS时钟的计时偏差率;并根据该计时偏差率,对系统时钟进行修正,实现晶振计时偏差自动补偿,进一步提高时间同步的精度,同时,避免了系统时钟所指示时间与UTC时间持续出现较大偏差,保证了自动驾驶系统的稳定可靠运行。
在一种可能的实现方式中,在确认第一晶振相对于GNSS时钟的计时偏差率异常时,发出提示信息,该提示信息用于提示第一晶振故障。
可以理解的是,若第一晶振故障,可能造成第一晶振相对于GNSS时钟的计时偏差率异常大或异常小,时间同步装置可以在确认计时偏差率异常时发出提示信息,以便提示第一晶振故障。
示例性地,时间同步装置可以根据预设范围,判定计时偏差率是否异常;例如,可以在第一晶振相对于GNSS时钟的计时偏差率超出预设范围的情况下,确认计时偏差率异常,从而可以发出提示信息,以便提示第一晶振故障。其中,预设范围可以根据实际需求进行设定,例如,预设范围的上下限可以分别设置为1.1和0.9。
示例性地,为了排除计算偶然误差,保证提示信息的准确性,时间同步装置可以比较两个或多个周期计算的计时偏差率是否超出预设范围,并可以在两个或多个周期计算的第一晶振相对于GNSS时钟的计时偏差率均超出预设范围时,发出上述提示信息。
进一步地,在自动驾驶系统中配置有从属于系统时钟的系统子时钟的情况下,时间同步装置可以根据系统时钟,将从属于系统时钟的至少一个系统子时钟调整为与系统时钟同步。其中,系统时钟可以为完成UTC时间同步的系统时钟和/或完成晶振计时偏差补偿的系统时钟,例如,可以为上述步骤602中系统时钟。这样,系统子时钟跟随系统时钟,通过调整,各系统子时钟均可以与UTC时间保持相同或者接近,从而保证系统子时钟所在功能节点的稳定运行。
作为一个示例,系统时钟可以包括单时钟,系统子时钟可以包括从属于该单时钟的子时钟。
作为另一个示例,系统时钟可以包括管理面时钟和数据面时钟,系统子时钟可以包括从属于数据面时钟的数据面子时钟,或者从属于管理面时钟的管理面子时钟。例如,管理面子时钟可以为上述图1中的管理面子时钟a1、a2…aN;数据面子时钟可以为上述图1中的数据面子时钟b1、b2…bN。
在一种可能的实现方式中,时间同步装置可以根据管理面时钟,将从属于管理面时钟的至少一个管理面子时钟调整为与管理面时钟同步;根据数据面时钟,将从属于数据面时钟的至少一个数据面子时钟调整为与数据面时钟同步。示例性地,管理面时钟及数据面时钟可以为完成UTC时间同步的时钟,例如,管理面时钟可以为上述步骤301中管理面时钟或者步骤402中的管理面时钟,数据面时钟可以为上述步骤302中数据面时钟或者上述步骤404中数据面时钟。这样,管理面子时钟跟随管理面时钟,数据面子时钟跟随数据面时钟,通过调整,各数据面子时钟及管理面子时钟均可以与UTC时间保持相同或者接近,从而保证数据面子时钟及管理面子时钟所在功能节点的稳定运行。
示例性地,时间同步装置可以每调整一次管理面时钟,相应调整一次从属于管理面时钟的管理面子时钟,且各管理面子时钟调整的幅度与管理面时钟所调整的幅度一致。同理,时间同步装置可以在每调整一次数据面时钟,相应调整一次从属于数据面时钟的数据面子时钟,且各数据面子时钟调整的幅度与数据面时钟所调整的幅度一致。
下面分别以时间同步装置为车载计算平台中的SOC或MCU,系统时钟包括管理面时钟及数据面时钟为例,对上述时间同步方法的实现过程进行示例性说明。
作为一个示例,时间同步装置为车载计算平台中的SOC。图8示出根据本申请一实施例的SOC进行时间同步的示意图,如图8所示,SOC通过接口获取INS传感器发送的GNSS时钟信息,并通过执行上述实施例所示的时间同步方法,实现管理面时钟与数据面时钟的同步。
示例性地,SOC可以在系统每次上电时,对数据面时钟及管理面时钟进行初始化处理,并读取预先设置的配置项;其中,管理面时钟和数据面时钟在系统上电启动时根据系统存储的前一次下电时管理面时钟所指示的时间进行初始化;或者,根据RTC所指示时间进行初始化;数据面时钟及管理面时钟均由设置于SOC的本地晶振计数维持走时。预先设置的配置项可以包括以下中的一项或多项:周期内允许数据面时钟跳变的最大值为1ms;自动驾驶系统在自动驾驶模式下周期内所允许数据面时钟跳变的最大值为10ms;卫星时间有效条件为GPRMC信号中的状态为“有效”,且本周期的PPS信号和GPRMC信号是一对,即不能有累计未处理的PPS信号或GPRMC信号,且本周期接收到的GPRMC信号的本地时间与匹配的接收到PPS信号的本地时间的间隔在500毫秒以内;计算本地晶振与相对于GNSS时钟的计时偏差率的条件为:连续2个或超过2个周期获取的GNSS时钟信息满足卫星时间有效条件、以及接收到的前后2周期的PPS时间的间隔稳定在999ms到1001ms以内。
示例性地,图9示出根据本申请一实施例的SOC进行晶振计时偏差补偿的流程图,如图9所示,SOC周期性地获取GNSS时钟信息,进而在每一周期判断所接收的GNSS时钟信息是否满足卫星时间有效条件,若满足卫星时间有效条件则进行本周期内管理面时钟与GNSS时钟的同步,以及RTC与GNSS时钟的同步;若不满足卫星时间有效条件,则本周期内不进行时间同步。进而,在管理面时钟及RTC均与GNSS时钟精确同步之后,判断是否符合计算本地晶振与相对于GNSS时钟的计时偏差率的条件,若符合则计算本地晶振相对于GNSS时钟的计时偏差率,并根据该计时偏差率对管理面时钟和数据面时钟进行晶振计时偏差补偿。
示例性地,图10示出根据本申请一实施例的SOC进行时间同步的流程图,如图10所示,SOC可以周期性比对数据面时钟所指示和管理面时钟所指示时间偏差的绝对值,即偏差值。若偏差值等于0,则表明数据面时钟与管理面时钟无偏差,则本周期无需进行同步;若偏差值大于0,则记录数据面时钟所指示时间以及上述偏差值。SOC获取当前周期所允许数据面时钟跳变的最大值,若上述偏差值小于或等于当前周期所允许数据面时钟跳变的最大值,则在当前周期内将数据面时钟与管理面时钟同步,并记录当前周期对应的调整幅度以及上述偏差值;如果上述偏差值大于当前周期所允许数据面时钟跳变的最大值,则SOC根据当前周期对应的调整幅度微调数据面时钟,并记录当前周期对应的调整幅度以及上述偏差值,进而SOC可以通过持续多个周期的小幅调整,使数据面时钟和管理面时钟偏差逐渐变小,直到数据面时钟与管理面时钟同步。
作为另一个示例,以时间同步装置为车载计算平台中的MCU为例。图11示出根据本申请一实施例的MCU进行时间同步的示意图,如图11所示,MCU通过CAN或UART接口获取INS传感器发送的GNSS时钟信息,并通过执行上述实施例所示的时间同步方法,实现管理面时钟与数据面时钟的同步。其中,MCU可以向目标应用(如自动驾驶系统)周期性反馈数据面时钟所指示时间与管理面时钟所指示时间的偏差值,SOC中应用(如定值工具MDC TOOLS)用于接收目标应用的请求,并根据请求调用不同的API接口(即图中API1和API2),通知MCU(如时间同步工具TSYNC CP)对数据面时钟及管理面时钟进行同步,复杂可编程逻辑装置(complex programmable logic device,CPLD)用于存储管理面时钟及数据面时钟的信息。MCU利用每次收到的GNSS时钟信息,将管理面时钟的PPS相位与GNSS时钟信息中PPS相位同步,管理面时钟所指示时间与UTC时间同步;并基于所调用的API接口,采用一步调整到位的方式,或者小步快跑的方式,实现数据面时钟与管理面时钟的时间同步,避免数据面时钟出现大的时间跳变。
示例性地,图12示出根据本申请一实施例的MCU进行时间同步的流程图,如图12所示,在自动驾驶模式未开启的情况下,若GNSS时钟信息满足卫星时间有效条件,则自动驾驶系统可以调用API1接口,采用一步调整到位的方式实现数据面时钟和管理面时钟的初次同步,将数据面时钟与管理面时钟之间的偏差值缩小到ms级。在自动驾驶模式开启的情况下,首先判断数据面时钟和管理面时钟是否完成初次同步,若未完成,则在GNSS时钟信息满足卫星时间有效条件的情况下调用API1接口进行初次同步;若完成了初次同步,则MCU周期性比对数据面时钟所指示时间与管理面时钟所指示时间的偏差值并上报到自动驾驶系统,若该偏差值未超过当前周期所允许数据面时钟跳变的最大值,则等待进入下一周期重复执行上述判断自动驾驶模式是否开启及之后的操作;若该偏差值超过当前周期所允许数据面时钟跳变的最大值,则自动驾驶系统调用API2接口通过小步快跑的方式,经过多个周期的小幅调整,实现数据面时钟与管理面时钟的同步。
示例性地,图13示出根据本申请一实施例的调用API1接口进行时间同步的流程图,如图13所示,API1接口默认允许数据面时钟进行大的时间跳变。在数据面时钟与管理面时钟进行初次同步时,自动驾驶系统调用API1接口,通过SOC发送消息通 知到MCU,然后由MCU发送通用型输入输出(General Purpose Input/Output,GPIO)信号到CPLD,从而通知CPLD将数据面时钟pps相位对齐管理面时钟pps的相位,MCU判断数据面时钟pps相位与管理面时钟pps相位对齐后,获取UTC时间,对数据面时钟所指示的时间进行调整,实现数据面时钟与管理面时钟的同步。
示例性地,图14示出根据本申请一实施例的调用API2接口进行时间同步的流程图,如图14所示,API2接口默认只允许数据面时钟进行小幅调整。在数据面时钟所指示时间与管理面时钟所指示时间的偏差值大于当前周期所允许数据面时钟跳变的最大值的情况下,自动驾驶系统调用API2接口,通过SOC发送消息通知到MCU,然后由MCU根据管理面时钟pps相位和数据面时钟pps相位的相位差,分多个周期(如小于500ms)写入CPLD寄存器,然后由CPLD根据写入寄存器的相位偏差值对数据面时钟的pps相位进行校准;MCU根据每个周期对应的周期内调整幅度,对数据面时钟所指示时间进行调整,从而以小步快跑的方式,经过多个周期的小幅调整,实现数据面时钟与管理面时钟的同步。
基于上述方法实施例的同一发明构思,本申请的实施例还提供了一种时间同步装置,该时间同步装置用于执行上述方法实施例所描述的技术方案。例如,可以执行上述图3、图4、图6、图9、图10、图12、图13或图14中任一所示方法的各步骤。
图15示出根据本申请一实施例的一种时间同步装置的结构图,如图15所示,该时间同步装置,可以包括:第一模块1501,用于获取当前周期数据面时钟所指示的时间与管理面时钟所指示的时间的第一偏差值;第二模块1502,用于在所述第一偏差值大于第一阈值时,根据周期内调整幅度对所述当前周期内所述数据面时钟进行调整,所述周期内调整幅度小于或等于所述第一阈值。
基于上述技术方案,第一阈值可以表示周期内所允许数据面时钟跳变的最大值,在第一偏差值大于第一阈值时,根据周期内调整幅度对所述当前周期内所述数据面时钟进行调整,这样,采用“小步快跑”的方式,通过多个周期的调整,使得数据面时钟与管理面时钟的偏差逐渐减小直到同步,且每一周期对应的调整幅度均不超过第一阈值,从而在保证自动驾驶系统中时间稳定的基础上,实现了数据面时钟与管理面时钟同步。由于管理面时钟可以跟随GNSS时钟,即管理面时钟所指示时间可以与UTC时间保持相同或者接近,因此,通过周期性调整,数据面时钟所指示时间可以与UTC时间保持相同或接近,从而在保证自动驾驶系统中时间的稳定的基础上,实现了自动驾驶系统中时间与UTC时间保持相同或者接近,这样,车辆行驶过程中管理面时钟提供的时间戳与数据面时钟提供的时间戳均与UTC时间保持相同或者接近,进而保证了自动驾驶系统在V2X等场景中可靠运行,并且提高了事件分析的效率及准确性。
在一种可能的实现方式,所述第二模块1502还用于:在所述第一偏差值小于或等于所述第一阈值时,在所述当前周期内将所述数据面时钟调整为与所述管理面时钟同步。
在一种可能的实现方式,所述第二模块1502还用于:根据所述第一偏差值和/或所述周期内调整幅度,对由所述数据面时钟提供的时间戳进行修正。
在一种可能的实现方式,所述第一阈值为预配置的;或所述第一阈值由应用软件变更操作模式时通知,所述应用软件使用所述数据面时钟。
在一种可能的实现方式,所述管理面时钟和所述数据面时钟在系统上电时根据所述系统存储的前一次下电时所述管理面时钟所指示的时间进行初始化;或者,根据实时时钟RTC所指示时间进行初始化。
在一种可能的实现方式,所述第二模块1502还用于:在所述当前周期接收第一GNSS时钟信息,所述第一GNSS时钟信息包括以下至少一种:秒脉冲PPS和/或推荐定位信息GPRMC;确认所述第一GNSS时钟信息满足卫星时间有效条件时,根据所述第一GNSS时钟信息,将所述管理面时钟调整为与所述GNSS时钟同步。
在一种可能的实现方式,所述第二模块1502还用于:确认所述第一GNSS时钟信息满足卫星时间有效条件时,根据所述第一GNSS时钟信息,将RTC调整为与所述GNSS时钟同步。
在一种可能的实现方式,所述第二模块1502还用于:根据所述管理面时钟,将从属于所述管理面时钟的至少一个管理面子时钟调整为与所述管理面时钟同步;根据所述数据面时钟,将从属于所述数据面时钟的至少一个数据面子时钟调整为与所述数据面时钟同步。
在一种可能的实现方式,所述第二模块1502还用于:确定第一晶振相对于GNSS时钟的计时偏差率;根据所述计时偏差率,对所述管理面时钟和所述数据面时钟进行修正,所述管理面时钟和所述数据面时钟是由所述第一晶振计数维持走时的。
在一种可能的实现方式,所述第二模块1502还用于:获取连续N个周期的GNSS时钟信息,及接收所述N个周期中各周期的GNSS时钟信息时所述第一晶振计时;其中,N为大于1的整数;确认所述N个周期的GNSS时钟信息满足卫星时间有效条件时,和/或,确认接收所述N个周期中各周期的GNSS时钟信息时所述第一晶振计时满足稳定条件时,确定所述计时偏差率。
在一种可能的实现方式,所述第二模块1502还用于:确定所述N个周期中连续的M个周期,其中,M为小于或等于N、且大于1的整数;根据接收所述M个周期中各周期的GNSS时钟信息时所述第一晶振计时,确定接收所述M个周期中相邻周期的GNSS时钟信息时所述第一晶振计时间隔;根据所述第一晶振计时间隔,及所述相邻周期的GNSS时钟信息对应的预设发送间隔,确定所述计时偏差率。
在一种可能的实现方式,所述第二模块1502还用于:确认所述计时偏差率异常时,发出提示信息,所述提示信息用于提示所述第一晶振故障。
图16示出根据本申请一实施例的另一种时间同步装置的结构图,如图16所示,该时间同步装置,可以包括:第三模块1601,用于确定第一晶振相对于GNSS时钟的计时偏差率;第四模块1602,用于根据所述计时偏差率,对系统时钟进行修正,所述系统时钟是由所述第一晶振计数维持走时的。
本申请实施例中,确定第一晶振相对于GNSS时钟的计时偏差率,并根据该计时偏差率,对管理面时钟及数据面时钟进行修正,实现自动补偿管理面时钟及数据面时钟的晶振偏差。
在一种可能的实现方式中,所述系统时钟包括:管理面时钟和数据面时钟。
在一种可能的实现方式中,所述第三模块1601还用于:获取连续N个周期的GNSS时钟信息,及接收所述N个周期中各周期的GNSS时钟信息时所述第一晶振计时;其 中,N为大于1的整数;确认所述N个周期的GNSS时钟信息满足卫星时间有效条件时,和/或,确认接收所述N个周期中各周期的GNSS时钟信息时所述第一晶振计时满足稳定条件时,确定所述计时偏差率。
在一种可能的实现方式中,所述第三模块1601还用于:确定所述N个周期中连续的M个周期,其中,M为小于或等于N、且大于1的整数;获取接收所述M个周期中各周期的GNSS时钟信息时所述第一晶振计时,确定接收所述M个周期中相邻周期的GNSS时钟信息时所述第一晶振计时间隔;根据所述第一晶振计时间隔,及所述相邻周期的GNSS时钟信息对应的预设发送间隔,确定所述计时偏差率。
在一种可能的实现方式中,所述第四模块1602还用于:确认所述计时偏差率异常时,发出提示信息,所述提示信息用于提示所述第一晶振故障。
在一种可能的实现方式中,所述系统时钟在系统上电时根据所述系统存储的前一次下电时管理面时钟所指示的时间进行初始化;或者,根据实时时钟RTC所指示时间进行初始化。
在一种可能的实现方式中,所述第四模块1602还用于:在当前周期接收第一GNSS时钟信息,所述第一GNSS时钟信息包括以下至少一种:秒脉冲PPS和/或推荐定位信息GPRMC;确认所述第一GNSS时钟信息满足卫星时间有效条件时,根据所述第一GNSS时钟信息,将所述管理面时钟调整为与所述GNSS时钟同步。
在一种可能的实现方式中,所述第四模块1602还用于:确认所述第一GNSS时钟信息满足卫星时间有效条件时,根据所述第一GNSS时钟信息,将RTC调整为与所述GNSS时钟同步。
在一种可能的实现方式中,所述第四模块1602还用于:获取当前周期所述数据面时钟所指示的时间与所述管理面时钟所指示的时间的第一偏差值;在所述第一偏差值大于第一阈值时,根据周期内调整幅度对所述当前周期内所述数据面时钟进行调整,所述周期内调整幅度小于或等于所述第一阈值。
在一种可能的实现方式中,所述第四模块1602还用于:在所述第一偏差值小于或等于所述第一阈值时,在所述当前周期内将所述数据面时钟调整为与所述管理面时钟同步。
在一种可能的实现方式中,所述第四模块1602还用于:根据所述第一偏差值和/或所述周期内调整幅度,对由所述数据面时钟提供的时间戳进行修正。
在一种可能的实现方式中,所述第一阈值为预配置的;或所述第一阈值由应用软件变更操作模式时通知,所述应用软件使用所述数据面时钟。
在一种可能的实现方式中,所述第四模块1602还用于:根据系统时钟,将从属于所述系统时钟的至少一个系统子时钟调整为与所述系统面时钟同步。
上述图15或16所示的时间同步装置及其各种可能的实现方式的技术效果及具体描述可参见上述时间同步方法,此处不再赘述。
应理解以上装置中各模块的划分仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。此外,装置中的模块可以以处理器调用软件的形式实现;例如装置包括处理器,处理器与存储器连接,存储器中存储有指令,处理器调用存储器中存储的指令,以实现以上任一种方法或实现该装置各模 块的功能,其中处理器例如为通用处理器,例如中央处理单元(Central Processing Unit,CPU)或微处理器,存储器为装置内的存储器或装置外的存储器。或者,装置中的模块可以以硬件电路的形式实现,可以通过对硬件电路的设计实现部分或全部模块的功能,该硬件电路可以理解为一个或多个处理器;例如,在一种实现中,该硬件电路为专用集成电路(application-specific integrated circuit,ASIC),通过对电路内元件逻辑关系的设计,实现以上部分或全部模块的功能;再如,在另一种实现中,该硬件电路为可以通过可编程逻辑器件(programmable logic device,PLD)实现,以现场可编程门阵列(Field Programmable Gate Array,FPGA)为例,其可以包括大量逻辑门电路,通过配置文件来配置逻辑门电路之间的连接关系,从而实现以上部分或全部模块的功能。以上装置的所有模块可以全部通过处理器调用软件的形式实现,或全部通过硬件电路的形式实现,或部分通过处理器调用软件的形式实现,剩余部分通过硬件电路的形式实现。
在本申请实施例中,处理器是一种具有信号的处理能力的电路,在一种实现中,处理器可以是具有指令读取与运行能力的电路,例如CPU、微处理器、图形处理器(graphics processing unit,GPU)(可以理解为一种微处理器)、或数字信号处理器(digital signal processor,DSP)等;在另一种实现中,处理器可以通过硬件电路的逻辑关系实现一定功能,该硬件电路的逻辑关系是固定的或可以重构的,例如处理器为ASIC或PLD实现的硬件电路,例如FPGA。在可重构的硬件电路中,处理器加载配置文档,实现硬件电路配置的过程,可以理解为处理器加载指令,以实现以上部分或全部模块的功能的过程。
可见,以上装置中的各模块可以是被配置成实施以上方法的一个或多个处理器(或处理电路),例如:CPU、GPU、微处理器、DSP、ASIC、FPGA,或这些处理器形式中至少两种的组合。
此外,以上装置中的各模块可以全部或部分可以集成在一起,或者可以独立实现。在一种实现中,这些模块集成在一起,以SOC的形式实现。该SOC中可以包括至少一个处理器,用于实现以上任一种方法或实现该装置各模块的功能,该至少一个处理器的种类可以不同,例如包括CPU和FPGA,CPU和人工智能处理器,CPU和GPU等。
本申请的实施例提供了时间同步装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令时实现上述实施例的方法。示例性地,可以实现上述图3、图4、图6、图9、图10、图12、图13或图14中任一所示方法的各步骤。
图17示出根据本申请一实施例的一种时间同步装置的结构示意图,如图17所示,该时间同步装置可以包括:至少一个处理器1701,通信线路1702,存储器1703以及至少一个通信接口1704。
处理器1701可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
通信线路1702可包括一通路,在上述组件之间传送信息。
通信接口1704,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,RAN,无线局域网(wireless local area networks,WLAN)等。
存储器1703可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过通信线路1702与处理器相连接。存储器也可以和处理器集成在一起。本申请实施例提供的存储器通常可以具有非易失性。其中,存储器1703用于存储执行本申请方案的计算机执行指令,并由处理器1701来控制执行。处理器1701用于执行存储器1703中存储的计算机执行指令,从而实现本申请上述实施例中提供的方法。示例性地,可以实现上述图3、图4、图6、图9、图10、图12、图13或图14中任一所示方法的各步骤。
可选的,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。
示例性地,处理器1701可以包括一个或多个CPU,例如图17中的CPU0和CPU1。
示例性地,时间同步装置可以包括多个处理器,例如图17中的处理器1701和处理器1707。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,时间同步装置还可以包括输出设备1705和输入设备1706。输出设备1705和处理器1701通信,可以以多种方式来显示信息。例如,输出设备1705可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emitting diode,LED)显示设备,阴极射线管(cathode ray tube,CRT)显示设备,或投影仪(projector)等。输入设备1706和处理器1701通信,可以以多种方式接收用户的输入。例如,输入设备1706可以是鼠标、键盘、触摸屏设备或传感设备等。
作为一个示例,结合图17所示的时间同步装置,上述图15中的第一模块1501可以由图17中的通信接口1704来实现;上述图15中的第二模块1502可以由图17中的处理器1701来实现。
作为另一个示例,结合图17所示的时间同步装置,上述图16中的第三模块1601及第四模块1602可以由图17中的处理器1701来实现。
本申请的实施例提供了一种时间同步系统,包括:用于接收GNSS时钟信息的传输装置,及上述图15、图16或图17中的任一时间同步装置。
本申请的实施例提供了一种车辆,包括:上述图15、图16或图17中的任一时间同步装置,或者上述时间同步系统。
本申请的实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述实施例中的方法。示例性地,可以实现 上述图3、图4、图6、图9、图10、图12、图13或图14中任一所示方法的各步骤。
本申请的实施例提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述实施例中的方法。示例性地,可以实现上述图3、图4、图6、图9、图10、图12、图13或图14中任一所示方法的各步骤。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)、可擦式可编程只读存储器(Electrically Programmable Read-Only-Memory,EPROM或闪存)、静态随机存取存储器(Static Random-Access Memory,SRAM)、便携式压缩盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、数字多功能盘(Digital Video Disc,DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
这里所描述的计算机可读程序指令或代码可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本申请操作的计算机程序指令可以是汇编指令、指令集架构(Instruction Set Architecture,ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“如“语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(Local Area Network,LAN)或广域网(Wide Area Network,WAN)e连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或可编程逻辑阵列(Programmable Logic Array,PLA),该电子电路可以执行计算机可读程序指令,从而实现本申请的各个方面。
这里参照根据本申请实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本申请的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本申请的多个实施例的装置、系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。
也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行相应的功能或动作的硬件(例如电路或ASIC(Application Specific Integrated Circuit,专用集成电路))来实现,或者可以用硬件和软件的组合,如固件等来实现。
尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其它变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其它单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,各个实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (32)
- 一种时间同步方法,其特征在于,所述方法包括:获取当前周期数据面时钟所指示的时间与管理面时钟所指示的时间的第一偏差值;在所述第一偏差值大于第一阈值时,根据周期内调整幅度对所述当前周期内所述数据面时钟进行调整,所述周期内调整幅度小于或等于所述第一阈值。
- 根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述第一偏差值小于或等于所述第一阈值时,在所述当前周期内将所述数据面时钟调整为与所述管理面时钟同步。
- 根据权利要求1或2所述的方法,其特征在于,所述方法还包括:根据所述第一偏差值和/或所述周期内调整幅度,对由所述数据面时钟提供的时间戳进行修正。
- 根据权利要求1-3中任一项所述的方法,其特征在于,所述第一阈值为预配置的;或所述第一阈值由应用软件变更操作模式时通知,所述应用软件使用所述数据面时钟。
- 根据权利要求1-4中任一项所述的方法,其特征在于,所述管理面时钟和所述数据面时钟在系统上电时根据所述系统存储的前一次下电时所述管理面时钟所指示的时间进行初始化;或者,根据实时时钟RTC所指示时间进行初始化。
- 根据权利要求1-5中任一项所述的方法,其特征在于,所述方法还包括:在所述当前周期接收第一全球导航卫星系统GNSS时钟信息,所述第一GNSS时钟信息包括以下至少一种:秒脉冲PPS和/或推荐定位信息GPRMC;确认所述第一GNSS时钟信息满足卫星时间有效条件时,根据所述第一GNSS时钟信息,将所述管理面时钟调整为与所述GNSS时钟同步。
- 根据权利要求6所述的方法,其特征在于,所述方法还包括:确认所述第一GNSS时钟信息满足卫星时间有效条件时,根据所述第一GNSS时钟信息,将RTC调整为与所述GNSS时钟同步。
- 根据权利要求1-7中任一项所述的方法,其特征在于,所述方法还包括:根据所述管理面时钟,将从属于所述管理面时钟的至少一个管理面子时钟调整为与所述管理面时钟同步;根据所述数据面时钟,将从属于所述数据面时钟的至少一个数据面子时钟调整为与所述数据面时钟同步。
- 根据权利要求1-8中任一项所述的方法,其特征在于,所述方法还包括:确定第一晶振相对于GNSS时钟的计时偏差率;根据所述计时偏差率,对所述管理面时钟和所述数据面时钟进行修正,所述管理面时钟和所述数据面时钟是由所述第一晶振计数维持走时的。
- 根据权利要求9所述的方法,其特征在于,所述确定第一晶振相对于GNSS时钟的计时偏差率,包括:获取连续N个周期的GNSS时钟信息,及接收所述N个周期中各周期的GNSS时钟信息时所述第一晶振计时;其中,N为大于1的整数;确认所述N个周期的GNSS时钟信息满足卫星时间有效条件时,和/或,确认接收所述N个周期中各周期的GNSS时钟信息时所述第一晶振计时满足稳定条件时,确定所述计时偏差率。
- 根据权利要求10所述的方法,其特征在于,所述确定所述计时偏差率,包括:确定所述N个周期中连续的M个周期,其中,M为小于或等于N、且大于1的整数;根据接收所述M个周期中各周期的GNSS时钟信息时所述第一晶振计时,确定接收所述M个周期中相邻周期的GNSS时钟信息时所述第一晶振计时间隔;根据所述第一晶振计时间隔,及所述相邻周期的GNSS时钟信息对应的预设发送间隔,确定所述计时偏差率。
- 根据权利要求9-11中任一项所述的方法,其特征在于,所述方法还包括:确认所述计时偏差率异常时,发出提示信息,所述提示信息用于提示所述第一晶振故障。
- 一种时间同步方法,其特征在于,所述方法包括:确定第一晶振相对于全球导航卫星系统GNSS时钟的计时偏差率;根据所述计时偏差率,对系统时钟进行修正,所述系统时钟是由所述第一晶振计数维持走时的。
- 根据权利要求13所述的方法,其特征在于,所述系统时钟包括:管理面时钟和数据面时钟。
- 根据权利要求13或14所述的方法,其特征在于,所述确定第一晶振相对于GNSS时钟的计时偏差率,包括:获取连续N个周期的GNSS时钟信息,及接收所述N个周期中各周期的GNSS时钟信息时所述第一晶振计时;其中,N为大于1的整数;确认所述N个周期的GNSS时钟信息满足卫星时间有效条件时,和/或,确认接收所述N个周期中各周期的GNSS时钟信息时所述第一晶振计时满足稳定条件时,确定所述计时偏差率。
- 根据权利要求15所述的方法,其特征在于,所述确定所述计时偏差率,包括:确定所述N个周期中连续的M个周期,其中,M为小于或等于N、且大于1的整数;获取接收所述M个周期中各周期的GNSS时钟信息时所述第一晶振计时,确定接收所述M个周期中相邻周期的GNSS时钟信息时所述第一晶振计时间隔;根据所述第一晶振计时间隔,及所述相邻周期的GNSS时钟信息对应的预设发送间隔,确定所述计时偏差率。
- 根据权利要求13-16中任一项所述的方法,其特征在于,所述方法还包括:确认所述计时偏差率异常时,发出提示信息,所述提示信息用于提示所述第一晶振故障。
- 根据权利要求13-17中任一项所述的方法,其特征在于,所述系统时钟在系统上电时根据所述系统存储的前一次下电时管理面时钟所指示的时间进行初始化;或者,根据实时时钟RTC所指示时间进行初始化。
- 根据权利要求14-18中任一项所述的方法,其特征在于,所述方法还包括:在当前周期接收第一GNSS时钟信息,所述第一GNSS时钟信息包括以下至少一种:秒脉冲PPS和/或推荐定位信息GPRMC;确认所述第一GNSS时钟信息满足卫星时间有效条件时,根据所述第一GNSS时钟信息,将所述管理面时钟调整为与所述GNSS时钟同步。
- 根据权利要求19所述的方法,其特征在于,所述方法还包括:确认所述第一GNSS时钟信息满足卫星时间有效条件时,根据所述第一GNSS时钟信息,将RTC调整为与所述GNSS时钟同步。
- 根据权利要求14-20中任一项所述的方法,其特征在于,所述方法还包括:获取当前周期所述数据面时钟所指示的时间与所述管理面时钟所指示的时间的第一偏差值;在所述第一偏差值大于第一阈值时,根据周期内调整幅度对所述当前周期内所述数据面时钟进行调整,所述周期内调整幅度小于或等于所述第一阈值。
- 根据权利要求21所述的方法,其特征在于,所述方法还包括:在所述第一偏差值小于或等于所述第一阈值时,在所述当前周期内将所述数据面时钟调整为与所述管理面时钟同步。
- 根据权利要求21或22所述的方法,其特征在于,所述方法还包括:根据所述第一偏差值和/或所述周期内调整幅度,对由所述数据面时钟提供的时间 戳进行修正。
- 根据权利要求21-23中任一项所述的方法,其特征在于,所述第一阈值为预配置的;或所述第一阈值由应用软件变更操作模式时通知,所述应用软件使用所述数据面时钟。
- 根据权利要求13-24中任一项所述的方法,其特征在于,所述方法还包括:根据系统时钟,将从属于所述系统时钟的至少一个系统子时钟调整为与所述系统时钟同步。
- 一种时间同步装置,其特征在于,所述装置包括:第一模块,用于获取当前周期数据面时钟所指示的时间与管理面时钟所指示的时间的第一偏差值;第二模块,用于在所述第一偏差值大于第一阈值时,根据周期内调整幅度对所述当前周期内所述数据面时钟进行调整,所述周期内调整幅度小于或等于所述第一阈值。
- 一种时间同步装置,其特征在于,所述装置包括:第三模块,用于确定第一晶振相对于GNSS时钟的计时偏差率;第四模块,用于根据所述计时偏差率,对系统时钟进行修正,所述系统时钟是由所述第一晶振计数维持走时的。
- 一种时间同步装置,其特征在于,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令时实现权利要求1-12中任一项所述的方法,或者实现权利要求13-25中任一项所述的方法。
- 一种时间同步系统,其特征在于,包括:用于接收全球导航卫星系统GNSS时钟信息的传输装置,及如权利要求26-28中任一项所述的时间同步装置。
- 一种车辆,其特征在于,包括:如权利要求26-28中任一项所述的时间同步装置,或者如权利要求29所述的时间同步系统。
- 一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1-12中任一项所述的方法,或者实现权利要求13-25中任一项所述的方法。
- 一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行权利要求1-12中任一项所述的方法,或者实现权利要求13-25 中任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2022/074037 WO2023141817A1 (zh) | 2022-01-26 | 2022-01-26 | 一种时间同步方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116830689A true CN116830689A (zh) | 2023-09-29 |
Family
ID=87470140
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280006266.XA Pending CN116830689A (zh) | 2022-01-26 | 2022-01-26 | 一种时间同步方法、装置及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116830689A (zh) |
WO (1) | WO2023141817A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116938380B (zh) * | 2023-09-18 | 2024-01-23 | 南方电网数字电网研究院有限公司 | 时标管理方法、装置、计算机设备、时标管理器 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108646543B (zh) * | 2018-06-15 | 2020-11-10 | 西安空间无线电技术研究所 | 一种具有高稳定度性能的gnss驯服时钟方法 |
US10887038B2 (en) * | 2018-09-28 | 2021-01-05 | Samsung Electronics Co., Ltd. | GNSS-based multi-modal clock correction |
JP7385033B2 (ja) * | 2019-11-20 | 2023-11-21 | 華為技術有限公司 | 自動運転のための時間源を提供するための方法および装置 |
CN111208539B (zh) * | 2019-12-18 | 2023-06-23 | 中国航空工业集团公司成都飞机设计研究所 | 一种高精度的gnss模拟器时间同步方法 |
CN113204036A (zh) * | 2021-05-05 | 2021-08-03 | 诺领科技(南京)有限公司 | 一种使用晶振的物联网gnss定位方法 |
CN113259899A (zh) * | 2021-05-17 | 2021-08-13 | 宸芯科技有限公司 | 一种时钟同步方法、装置、路侧单元及存储介质 |
CN113839732A (zh) * | 2021-09-18 | 2021-12-24 | 阿里巴巴达摩院(杭州)科技有限公司 | 时钟同步方法、装置及设备 |
-
2022
- 2022-01-26 WO PCT/CN2022/074037 patent/WO2023141817A1/zh active Application Filing
- 2022-01-26 CN CN202280006266.XA patent/CN116830689A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2023141817A1 (zh) | 2023-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10877483B2 (en) | Formatting sensor data for use in autonomous vehicle communications platform | |
CN111381487B (zh) | 多传感器同步授时系统、方法、装置及电子设备 | |
CN110857101B (zh) | 用于自动驾驶车辆的硬件集中时间同步集线器 | |
CN110857993B (zh) | 用于自动驾驶车辆基于gps的高精度时间戳生成电路 | |
CN102882586B (zh) | 一种卫星时间同步系统 | |
EP3613648B1 (en) | A time source recovery system for an autonomous driving vehicle | |
EP4020855A1 (en) | Time synchronization method and apparatus | |
CN110858786B (zh) | 用于自动驾驶车辆的时间源排序系统 | |
CN112119365A (zh) | 时间同步方法、多传感器系统及可移动平台 | |
US20220342086A1 (en) | Position measurement system, positioning calculation apparatus, position measurement method and program | |
CN116830689A (zh) | 一种时间同步方法、装置及存储介质 | |
CN112067004A (zh) | 自动驾驶系统的时域同步方法和装置 | |
CN111443685A (zh) | 用于在控制设备中提供通用时间的方法以及控制设备 | |
CN113890665A (zh) | 一种时间同步方法、系统、存储介质及处理器 | |
CN113839732A (zh) | 时钟同步方法、装置及设备 | |
WO2023044802A1 (zh) | 时间同步方法及相关装置 | |
KR20170124213A (ko) | Gps를 이용하는 장치의 utc 시간 동기 방법 | |
WO2022127337A1 (zh) | 主时钟装置、从时钟装置和时间同步方法 | |
CN118044275A (zh) | 时间同步方法及相关装置 | |
CN114614934B (zh) | 一种时间同步触发装置及方法 | |
US20230185251A1 (en) | GNSS Time Synchronization in Redundant Systems | |
JP7314314B2 (ja) | 車載システム、および、センシングデータの受信方法、送信方法 | |
CN113342899B (zh) | 一种数据同步获取方法、装置及系统 | |
CN110609464B (zh) | 一种嵌入式通讯系统的授时方法和系统 | |
CN117590733A (zh) | 一种视觉slam系统的控制方法、装置、设备及存储介质 |
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 |