本发明涉及车辆驾驶,具体涉及一种交换机系统和车辆驾驶系统。
背景技术:
1、随着当代汽车控制技术的不断发展,汽车在行驶过程中通过搭载先进的车载自动驾驶系统,利用各式各样的车载传感器设备(如车载毫米波雷达传感器、车载激光雷达传感器、车载单\双目摄像头传感器以及车载卫星导航传感器等等)和各种无线通信设备,随时来感应周围的环境,收集数据,进行静态、动态物体的辨识、侦测与追踪,并结合导航地图数据,进行系统的运算与分析,从而具备在复杂行驶环境下的传感感知、决策规划、控制执行等功能,以实现安全、高效、舒适和节能的自动或半自动驾驶功能。
2、在车载自动驾驶系统内部,会采用处理芯片,核心任务是处理各种数据。处理芯片需要连接各种车载传感器设备以及无线通信设备。在早期的车辆系统中,车载传感器设备和无线通信设备相对较少,使用单个处理芯片进行数据处理就可以满足要求,但是随着车辆系统技术的发展,特别是到了汽车的高阶自动驾驶阶段,如l4,l5级别的自动驾驶阶段,整车会装载几十个不同类型的车载传感器设备和无线通信设备。这些数目繁多的车载传感器设备和无线通信设备带来了海量的数据传输和数据处理。每天24小时汽车数据采集系统记录的数据量高达64tb,这时就需要多个处理芯片来同时进行数据处理。同样因为车辆系统需要使用的外部的车载传感器设备和各种无线通信设备也是数量繁多,因此,如何把外部的车载传感器设备和各种无线通信设备所产生的海量数据准确无误的传输到多个处理芯片上进行处理,从而缓解处理芯片的数据处理负担成为亟待解决的技术问题。
技术实现思路
1、有鉴于此,本发明实施例致力于提供一种交换机系统和车辆驾驶系统,以解决如何把外部的车载传感器设备和各种无线通信设备所产生的海量数据准确无误的传输到多个处理芯片上进行处理,从而缓解处理芯片的数据处理负担的技术问题。
2、本发明一方面提供了一种交换机系统,该交换机系统包括:多个第一交换机芯片和第二交换机芯片。
3、第一交换机芯片,用于从与该第一交换机芯片连接的至少一个车载外设获取第一数据,针对所述第一数据进行第一处理,获得第二数据;将所述第二数据发送给所述第二交换机芯片。示例性地,所述至少一个车载外设包括:摄像头传感器、毫米波雷达传感器、激光雷达传感器、红外传感器、惯性测量单元(inertial measurement unit,imu)传感器、卫星导航传感器和/或无线通信设备。
4、第二交换机芯片,用于对接收到的所述第二数据进行第二处理,获得第三数据;依据预设的路由策略,将所述第三数据发送给多个处理芯片。示例性地,多个处理芯片可以为系统级芯片(system on chip,soc)。在此需要说明的是,本发明对多个处理芯片及其数量不作具体限定。
5、本发明通过第一交换机芯片实现了对多个车载外设采集的第一数据进行第一处理,并将获得的第二数据传输到第二交换机芯片。通过第二交换机芯片对第二数据进行第二处理,并将获得的第三数据准确无误地传输到多个处理芯片。多个处理芯片对第三数据无需再进行第一处理和/或第二处理,减小了多个处理芯片的运算量,实现了多个车载外设采集的第一数据到多个处理芯片的数据缓冲作用。
6、在一种可能的实现中,所述第一交换机芯片,用于针对第一数据进行第一处理,获得第二数据,包括针对第一数据进行分割、重组、安全检测、加密、身份认证、建立数据防火墙、重构以及按照安全数据格式进行数据链封装中的至少一种第一处理,获得第二数据,无需多个处理芯片再针对第一数据进行分割、重组、安全检测、加密、身份认证、建立数据防火墙、重构以及按照安全数据格式进行数据链封装中的至少一种第一处理,减小了多个处理芯片的运算量,实现了第一数据到多个处理芯片的数据缓冲作用。其中,加密是指添加数据加密秘钥和安全识别码,以防止关键数据被恶意修改或窃取。
7、在一种可能的实现中,所述第一交换机芯片,还用于若所述第一交换机芯片与所述第二交换机芯片之间的总带宽小于预设阈值,则按照所述第二数据的传输优先级,使用与该传输优先级对应的带宽将所述第二数据发送至所述第二交换机芯片。
8、在一种可能的实现中,所述安全数据格式包括数据链头、第三数据、数据链尾、加密位数据和校验位数据。
9、本发明通过设计安全数据格式保证数据传输的安全性。
10、在一种可能的实现中,所述第二交换机芯片,用于对接收到的第二数据进行第二处理,获得第三数据,包括:对第二数据进行检错,安全要求检查和数据协议转换中的至少一种第二处理,获得所述第三数据,无需多个处理芯片再针对第二数据进行检错,安全要求检查和数据协议转换中的至少一种第二处理,减小了多个处理芯片的运算量,实现了第二数据到多个处理芯片的数据缓冲作用,保证多个处理芯片接收到的第二数据是有效且安全的,防止无效数据的产生。
11、在一种可能的实现中,所述第二交换机芯片,还用于确定其到各个处理芯片的数据通信路径的使用率,确定所述第三数据的传输优先级,依据所述使用率和所述传输优先级,确定传输所述第三数据的数据通信路径;其中,数据链的传输优先级与所确定数据通信路径的使用率呈负相关。
12、本发明依据数据通信路径的使用率和传输优先级,确定传输第三数据的数据通信路径,保证了低延时数据可以优先通过使用率较低的数据通信路径进行发送,有序地疏导了海量数据,减轻了各个处理芯片的数据处理负担,实现了海量数据到多个处理芯片的数据缓冲作用。
13、在一种可能的实现中,所述第二交换机芯片与至少一个第一交换机芯片之间进行数据传输采用独立的发送线路和接收线路,这等于没有使用多的并行数据传输线路,而是采用内嵌时钟信号的串行数据传输线路,可以提高数据传输带宽。
14、在一种可能的实现中,所述多个第一交换机芯片中的每个第一交换机芯片具有与其对应的配置文件。所述第一交换机芯片,用于依据配置文件接收对应类型车载外设采集到的第一数据。也即是说,每个第一交换机芯片可以灵活地使用不同的数据网络协议、介质访问控制(media access control,mac)地址和路由信息,从而应对不同的车载外设采集的第一数据。
15、在一种可能的实现中,所述第二交换机芯片,还用于接收来自其中一个第一交换机芯片的第二数据,依据预设的路由策略,将第二数据转发给其中另一个第一交换机芯片;
16、所述另一个第一交换机芯片,还用于将接收到的第二数据提供给无线通信设备发送,实现了数据包的灵活转发。
17、在一种可能的实现中,所述接收到的第二数据不包括第一交换机芯片的身份标识信息,以便于隐藏身份标识信息,从而维护自身车辆的数据安全保密等级。
18、在一种可能的实现中,所述第二交换机芯片,还用于创建和/或更改其到各个处理芯片的数据通路,从而保证数据准确无误传输。
19、本发明另一方面提供了一种车辆驾驶系统,该车辆驾驶系统包括:
20、前述交换机系统;
21、多个处理芯片,用于接收交换机系统发送的第三数据;依据第三数据,生成至少一个控制指令;
22、至少一个微控制芯片,用于验证至少一个控制指令。
23、本发明通过第一交换机芯片实现了对多个车载外设采集的第一数据进行第一处理,并将获得的第二数据传输到第二交换机芯片。通过第二交换机芯片对第二数据进行第二处理,并将获得的第三数据准确无误地传输到多个处理芯片。多个处理芯片对第三数据无需再进行第一处理和/或第二处理,减小了多个处理芯片的运算量,实现了多个车载外设采集的第一数据到多个处理芯片的数据缓冲作用。
24、在一种可能的实现中,所述至少一个微控制芯片,具体用于确定至少一个控制指令中的各个控制指令是否相同;若相同,则依据控制指令向对应的控制单元发送控制指令。
25、本发明微控制芯片在接收到多个处理芯片发送的各个控制指令后,会对这些控制指令进行分析计算,只有当多个处理芯片的各个控制指令是一致的情况,才会向车辆的控制单元发送控制指令,否则就会要求多个处理芯片重新解析处理数据,这样就可以防止出现单个处理芯片数据解析错误的问题。
26、在一种可能的实现中,所述至少一个微控制芯片为微控制器单元(microcontroller unit,mcu)。
27、在一种可能的实现中,所述车辆驾驶系统为车载自动驾驶系统。
28、本发明另一方面提供了一种交换机系统启动方法,该方法包括:
29、启动交换机系统包括的多个第一交换机芯片和第二交换机芯片,所述启动包括为多个第一交换机芯片和第二交换机芯片供电并进行多个第一交换机芯片和第二交换机芯片的自检初始化;
30、其中,第一交换机芯片用于从与该第一交换机芯片连接的至少一个车载外设获取第一数据,针对所述第一数据进行第一处理,获得第二数据;将所述第二数据发送给所述第二交换机芯片。
31、第二交换机芯片,用于对接收到的所述第二数据进行第二处理,获得第三数据;依据预设的路由策略,将所述第三数据发送给多个处理芯片。
32、在一种可能的实现中,所述启动交换机系统包括的多个第一交换机芯片和第二交换机芯片,包括:
33、启动第二交换机芯片,再依次启动多个第一交换机芯片,可以防止同时启动的系统电流过大而导致的系统硬件过载保护,保证了交换机系统的稳定性。
34、在一种可能的实现中,启动交换机芯片,包括:
35、启动交换机芯片的内部时钟;
36、建立交换机芯片内部寄存器配置的中断向量表;
37、初始化交换机芯片的堆栈寄存器;
38、初始化交换机芯片的堆栈指针;
39、其中,所述交换机芯片包括多个第一交换机芯片或第二交换机芯片。
40、在一种可能的实现中,所述方法还包括:
41、通过第二交换机芯片分别同步多个第一交换机芯片的工作时钟,以保证数据传输的实时性;
42、建立第二交换机芯片和多个第一交换机芯片之间的通信心跳机制,防止各第一交换机芯片出现的芯片死机问题;
43、通过第二交换机芯片和各个第一交换机芯片匹配通信协议,保证通信数据的正确解析;
44、通过第二交换机芯片判断多个第一交换机芯片是否成功启动。
45、在一种可能的实现中,所述方法还包括:
46、启动第二交换机芯片的内部数据解析模块和/或数据传输模块,从而接收各个第一交换机芯片发送过来的数据。
47、在一种可能的实现中,所述方法还包括:
48、分别通过多个第一交换机芯片启动与其相连的车载外设,并初始化与其对应的车载外设参数。
49、在一种可能的实现中,所述方法还包括:
50、通过第二交换机芯片分别判断多个第一交换机芯片传输过来的第二数据是否有误;若有误,则进行异常处理,确定数据有误原因;根据数据有误原因,确定是否重新启动多个第一交换机芯片。
51、本发明另一方面提供了一种车辆驾驶系统启动方法,该方法包括:
52、启动至少一个微控制芯片,所述启动至少一个微控制芯片包括:为微控制芯片供电,并进行至少一个微控制芯片的自检初始化;
53、响应于微控制芯片启动成功,采用前述的交换机系统启动方法,启动多个交换机芯片;
54、响应于多个交换机芯片启动成功,启动多个处理芯片,包括进行多个处理芯片的自检初始化。
55、在一种可能的实现中,所述启动至少一个微控制芯片,包括:
56、初始化至少一个微控制芯片的内部时钟;
57、建立至少一个微控制芯片内部寄存器配置的中断向量表;
58、初始化至少一个微控制芯片的堆栈寄存器;
59、初始化至少一个微控制芯片的内存flash;
60、初始化堆栈指针;
61、初始化语言库环境,所述语言库环境包括语言库所需的内存空间、程序执行所需资源。
62、在一种可能的实现中,所述启动多个处理芯片,包括:
63、分别启动多个处理芯片的内部时钟;
64、分别建立多个处理芯片内部寄存器配置的中断向量表;
65、分别初始化多个处理芯片的堆栈寄存器;
66、分别初始化多个处理芯片的堆栈指针。