多传感器的同步触发方法、装置、设备、介质及产品与流程
本技术涉及嵌入式控制领域,尤其涉及一种多传感器的同步触发方法、装置、设备、介质及产品。
背景技术:
1、多传感器系统中,相机、激光雷达等传感器需在同一时刻触发以实现数据同步采集。
2、目前通常采用复杂可编程逻辑器件(complex programmable logic device,cpld)或现场可编程门阵列(field programmable gate array,fpga)等独立硬件模块生成触发信号,并外接全球定位系统(global positioning system,gps)/精确时间协议(precision time protocol,ptp)授时模块获取协调世界时(coordinated universaltime,utc)时间,通过硬件引脚输出触发脉冲。
3、然而,这种方案需额外增加硬件模块,不仅成本高、占用引脚数量有限,而且修改触发时刻或触发频率必须重新调整硬件逻辑,导致多传感器触发配置的灵活性与扩展性较差。
技术实现思路
1、本技术实施例提供一种多传感器的同步触发方法、装置、设备、介质及产品,用以解决上述多传感器触发配置的灵活性与扩展性较差的问题。
2、第一方面,本技术实施例提供一种多传感器的同步触发方法,方法应用于主控单元的片上系统,片上系统包括预设精度定时器、多个输入输出引脚及时间计数器,各输入输出引脚与对应传感器连接,方法包括:
3、获取当前整秒对应的预设结构体数组,预设结构体数组中存储有各传感器在当前整秒中各触发时刻对应的触发状态,各传感器的触发状态采用与传感器连接的输入输出引脚的电平状态表示;
4、控制预设精度定时器在各触发时刻依次进行中断,并获取中断时时间计数器对应的时间戳;
5、基于时间戳获取预设结构体数组中各输入输出引脚的电平状态,并按照各输入输出引脚的电平状态将各输入输出引脚的电平拉至对应的电平状态;
6、响应于任意一个输入输出引脚的电平状态发生上升沿变化,将上升沿变化对应触发时刻的时间戳发送至对应的传感器时间戳模块,对应触发时刻时间戳用于指示传感器从传感器时间戳模块获取对应触发时刻时间戳以确定触发数据采集的时间戳。
7、在一个可能的实施例中,控制预设精度定时器在各触发时刻依次进行中断,包括:
8、确定下一触发时刻与当前触发时刻对应的时间戳之间的时间间隔;
9、基于时间间隔控制预设精度定时器在下一触发时刻进行中断,以获得下一触发时刻对应的时间戳,下一触发时刻对应的时间戳为下一触发时刻中断时时间计数器对应的时间戳;
10、将下一触发时刻对应的时间戳更新为当前触发时刻对应的时间戳,并继续执行确定下一触发时刻与当前触发时刻对应的时间戳之间的时间间隔步骤,直到当前整秒中各触发时刻均发生中断,且检测到预设结构体数组中的循环结束标识为止。
11、在一个可能的实施例中,还包括:
12、响应于获取到当前整秒的第一中断时间戳,获取前一整秒的第二中断时间戳,第一中断时间戳为当前整秒的第一个触发时刻中断时时间计数器对应的时间戳;第二中断时间戳为前一整秒的第一个触发时刻中断时时间计数器对应的时间戳;
13、基于第一中断时间戳和第二中断时间戳确定当前整秒对应的周期漂移;
14、基于周期漂移及对应的周期漂移阈值确定下一整秒中的各触发时刻。
15、在一个可能的实施例中,基于第一中断时间戳和第二中断时间戳确定当前整秒对应的周期漂移,包括:
16、将第二中断时间戳和预设秒数进行求和运算,以获得当前整秒的理论中断时间戳;
17、计算第一中断时间戳与理论中断时间戳的差值,以获得当前整秒对应的周期漂移。
18、在一个可能的实施例中,基于周期漂移及对应的周期漂移阈值确定下一整秒中的各触发时刻,包括:
19、获取预设补偿步长及各传感器对应的采样帧率,并基于预设补偿步长及各采样帧率中的最大采样帧率确定周期漂移阈值;
20、响应于周期漂移大于或等于对应的周期漂移阈值,则确定下一整秒各触发时刻为预设触发时刻与预设补偿步长的差值;
21、响应于周期漂移小于对应的周期漂移阈值,则保持下一整秒各触发时刻不变;
22、响应于周期漂移小于或等于对应的周期漂移阈值的相反数,则确定下一整秒各触发时刻为预设触发时刻与预设补偿步长的求和结果。
23、在一个可能的实施例中,还包括:
24、针对任意一个整秒,控制预设精度定时器在第一触发时刻中断时,判断任意一个整秒的前一整秒的周期漂移是否大于预设时长,预设时长是基于前一整秒对应的单次中断最大触发时刻偏差确定的;
25、响应于任意一个整秒的前一整秒的周期漂移大于预设时长,将预设字段赋值为重新同步触发流程;
26、在任意一个整秒的同步触发流程完成后,基于预设字段赋值将任意一个整秒中第一触发时刻与协调世界时utc整秒时刻对齐,并重新执行任意一个整秒的同步触发流程。
27、在一个可能的实施例中,还包括:
28、响应于接收到同步触发请求,将预设精度定时器设置为硬件中断模式;
29、获取预设精度定时器在硬件中断模式下的第一次中断时长,并按照第一次中断时长进行中断,以使第一次中断触发时刻与utc整秒时刻对齐;
30、获取预设精度定时器对应的第一次中断时长,包括:
31、获取片上系统中时间计数器对应的当前触发时刻;
32、计算当前触发时刻的下一整秒触发时刻与当前触发时刻的差值,并将差值确定为第一次中断时长。
33、第二方面,本技术实施例提供一种多传感器的同步触发装置,装置位于主控单元的片上系统,片上系统包括预设精度定时器、多个输入输出引脚及时间计数器,各输入输出引脚与对应传感器连接,装置包括:
34、获取模块,用于获取当前整秒对应的预设结构体数组,预设结构体数组中存储有各传感器在当前整秒中各触发时刻对应的触发状态,各传感器的触发状态采用与传感器连接的输入输出引脚的电平状态表示;
35、控制模块,用于控制预设精度定时器在各触发时刻依次进行中断,并获取中断时时间计数器对应的时间戳;
36、获取模块,还用于基于时间戳获取预设结构体数组中各输入输出引脚的电平状态;
37、控制模块,还用于按照各输入输出引脚的电平状态将各输入输出引脚的电平拉至对应的电平状态;
38、发送模块,用于响应于任意一个输入输出引脚的电平状态发生上升沿变化,将上升沿变化对应触发时刻的时间戳发送至对应的传感器时间戳模块,对应触发时刻时间戳用于指示传感器从传感器时间戳模块获取对应触发时刻时间戳以确定触发数据采集的时间戳。
39、第三方面,本技术实施例提供一种电子设备,包括:存储器,处理器;
40、存储器存储计算机执行指令;
41、处理器执行存储器存储的计算机执行指令,使得处理器执行上述提供的方法。
42、第四方面,本技术实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现上述提供的方法。
43、第五方面,本技术实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述提供的方法。
44、本技术提供的一种多传感器的同步触发方法、装置、设备、介质及产品,通过获取当前整秒对应的预设结构体数组,并在各触发时刻依据时间戳联动控制对应输入输出引脚的电平状态,能够在统一时间参考下对多路传感器的触发状态进行精确调度;通过在电平状态发生上升沿变化时,将对应触发时刻的时间戳发送至传感器时间戳模块,能够使传感器基于同一触发时刻确定数据采集时间戳,进而提升多传感器触发与采集的同步精度和稳定性;同时,该方案依托主控单元现有片上系统资源实现触发控制,能够降低对专用硬件和额外授时模块的依赖,进而提升了多传感器触发配置的灵活性与扩展性。