报文发送方法、装置以及设备与流程
未命名
08-14
阅读:147
评论:0
1.本公开涉及无人驾驶技术领域,具体涉及消息传输技术领域。
背景技术:
2.在无人驾驶计算系统中,激光雷达通过can fd(controller area network flexible data-rate,波特率可变控制器局域网)消息与系统同步。运行在系统软件上的任务将发送不同id的can fd消息到雷达。由于cpu在不同任务之间调度,因此无法保证周期精度。如果周期抖动超过阈值,则会报告错误案例。
技术实现要素:
3.本公开实施例提出了一种报文发送方法、装置、设备、存储介质以及程序产品。
4.第一方面,本公开实施例提出了一种报文发送方法,包括:在接收到周期报文的发送请求时,将周期报文写入可编程逻辑内存,其中,周期报文是波特率可变控制器局域网can fd消息;基于周期报文的信息配置可编程逻辑配置表,以及将可编程逻辑配置表中的周期参数配置到定时器;启动定时器,以及在定时器报警时,基于可编程逻辑配置表中的存储索引地址,从可编程逻辑内存获取周期报文;将周期报文先写入硬件层缓存,再从硬件层缓存发送到控制器局域网络can总线上。
5.第二方面,本公开实施例提出了一种报文发送装置,包括:第一写入模块,被配置成在接收到周期报文的发送请求时,将周期报文写入可编程逻辑内存,其中,周期报文是波特率可变控制器局域网can fd消息;配置模块,被配置成基于周期报文的信息配置可编程逻辑配置表,以及将可编程逻辑配置表中的周期参数配置到定时器;获取模块,被配置成启动定时器,以及在定时器报警时,基于可编程逻辑配置表中的存储索引地址,从可编程逻辑内存获取周期报文;第一发送模块,被配置成将周期报文先写入硬件层缓存,再从硬件层缓存发送到控制器局域网络can总线上。
6.第三方面,本公开实施例提出了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如第一方面中任一实现方式描述的方法。
7.第四方面,本公开实施例提出了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行如第一方面中任一实现方式描述的方法。
8.第五方面,本公开实施例提出了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现如第一方面中任一实现方式描述的方法。
9.本公开实施例提供的报文发送方法,周期报文写入fpga pl内存,周期报文的信息配置到fpga pl配置表,同时,fpga pl配置表中的周期参数传递给定时器。在定时器报警时,从fpga pl内存获取周期报文进行发送。使用fpga pl可以加速can fd消息的发送过程。利用定时器可以确保周期报文按照预定的周期时间进行发送,极大地提高了can fd消息发
送过程的效率和准确性。
10.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
11.通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本公开的其它特征、目的和优点将会变得更明显。附图用于更好地理解本方案,不构成对本公开的限定。其中:
12.图1是根据本公开的报文发送方法的一个实施例的流程图;
13.图2是根据本公开的报文发送方法的又一个实施例的流程图;
14.图3是根据本公开的报文发送方法的另一个实施例的流程图;
15.图4是报文发送的数据流图;
16.图5是报文发送的框图;
17.图6是根据本公开的报文发送装置的一个实施例的结构示意图;
18.图7是用来实现本公开实施例的报文发送方法的电子设备的框图。
具体实施方式
19.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
20.需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
21.图1示出了根据本公开的报文发送方法的一个实施例的流程100。该报文发送方法包括以下步骤:
22.步骤101,在接收到周期报文的发送请求时,将周期报文写入可编程逻辑内存。
23.在本实施例中,在接收到周期报文的发送请求时,可以将周期报文写入pl(progarmmable logic,可编程逻辑)内存,进行暂存。
24.其中,周期报文可以是周期发送的can fd消息。在无人驾驶计算系统中,激光雷达通过can fd消息与系统同步。运行在系统软件上的任务将发送不同id的can fd消息到雷达。can fd是指一种现代化的can(controller area network,控制器局域网)总线协议,它允许更高的数据传输速率和有效载荷大小。can fd消息是按照can fd协议传输的数据帧,可以在can fd总线上进行高速、可靠的通信。
25.其中,pl可以是fpga(field programmable gate array progarmmable logic,现场可编程逻辑门阵列)pl,可以用来加速can fd消息的发送过程。
26.步骤102,基于周期报文的信息配置可编程逻辑配置表,以及将可编程逻辑配置表中的周期参数配置到定时器。
27.在本实施例中,基于周期报文的信息可以配置pl配置表,以及将pl配置表中的周期参数配置到定时器。
28.其中,pl配置表可以是fpga pl配置表,fpga pl配置表里可以配置周期报文的信息,包括但不限于:周期报文的周期、标识、数据长度、使能和存储索引地址等参数。同时,fpgapl配置表中的周期参数可以配置到定时器。
29.步骤103,启动定时器,以及在定时器报警时,基于可编程逻辑配置表中的存储索引地址,从可编程逻辑内存获取周期报文。
30.在本实施例中,启动定时器,以及在定时器报警时,可以基于pl配置表中的存储索引地址在pl内存中查找到周期报文。
31.这里,定时器启动后,如果其计数值与周期参数相等,则定时器报警,用于提示当前到达周期报文的发送时刻。
32.步骤104,将周期报文先写入硬件层缓存,再从硬件层缓存发送到控制器局域网络can总线上。
33.在本实施例中,在定时器报警时,可以将周期报文先写入硬件层缓存,再从硬件层缓存发送到can总线上,从而确保周期报文按照预定的周期时间进行发送,极大地提高了can fd消息发送过程的效率和准确性。
34.本公开实施例提供的报文发送方法,周期报文写入fpga pl内存,周期报文的信息配置到fpgapl配置表,同时,fpga pl配置表中的周期参数传递给定时器。在定时器报警时,从fpgapl内存获取周期报文进行发送。使用fpga pl可以加速can fd消息的发送过程。利用定时器可以确保周期报文按照预定的周期时间进行发送,极大地提高了can fd消息发送过程的效率和准确性。
35.继续参考图2,其示出了根据本公开的报文发送方法的又一个实施例的流程200。该报文发送方法包括以下步骤:
36.步骤201,在接收到周期报文的发送请求时,将周期报文写入可编程逻辑内存。
37.步骤202,基于周期报文的信息配置可编程逻辑配置表,以及将可编程逻辑配置表中的周期参数配置到定时器。
38.步骤203,启动定时器,以及在定时器报警时,基于可编程逻辑配置表中的存储索引地址,从可编程逻辑内存获取周期报文。
39.步骤204,将周期报文先写入硬件层缓存,再从硬件层缓存发送到控制器局域网络can总线上。
40.在本实施例中,步骤201-204的具体操作已在图1所示的实施例中步骤101-104中进行了详细的介绍,在此不再赘述。
41.步骤205,在接收到非周期报文的发送请求时,将非周期报文写入硬件缓存。
42.在本实施例中,在接收到非周期报文的发送请求时,可以将非周期报文写入硬件缓存。
43.其中,非周期报文可以是can fd消息。
44.步骤206,从硬件缓存读取非周期报文,并发送到can总线上。
45.在本实施例中,从硬件缓存读取非周期报文,并发送到can总线上。
46.需要说明的是,非周期报文的发送过程与定时器报警时周期报文的发送过程类似,具体可参见图1所示的步骤104,这里不再赘述。
47.从图2中可以看出,与图1对应的实施例相比,本实施例中的报文发送方法的流程
200增加了非周期报文的发送步骤。由此,本实施例描述的方案不仅可以发送周期报文,还可以发送非周期报文,应用场景更加广泛。
48.进一步参考图3,其示出了根据本公开的报文发送方法的另一个实施例的流程300。该报文发送方法包括以下步骤:
49.步骤301,通过雷达业务层发起周期报文的发送请求。
50.在本实施例中,雷达(radar)业务层可以发起周期报文的发送请求。
51.步骤302,调用中间层将周期报文的发送请求从雷达业务层传输至can fd驱动层。
52.在本实施例中,中间层可以将周期报文的发送请求从radar业务层传输至can fd驱动层。其中,中间层可以是bcan,位于radar业务层与can fd驱动层中间。
53.步骤303,由can fd驱动层将周期报文写入第一基地址寄存器。
54.在本实施例中,can fd驱动层可以将周期报文写入第一基地址寄存器。通常,通过读取ocm mem存储的报文指令,可以将周期报文发送到bar4。其中,ocm mem可以是fpga的片上存储器,bar4可以是第一基地址寄存器。
55.步骤304,由can fd驱动层将周期报文的信息写入第二基地址寄存器。
56.在本实施例中,can fd驱动层可以将周期报文的信息写入第二基地址寄存器。其中,第二基地址寄存器可以是bar0。
57.步骤305,将可编程逻辑配置表中的周期参数配置到定时器。
58.步骤306,启动定时器,以及在定时器报警时,基于可编程逻辑配置表中的存储索引地址,从可编程逻辑内存获取周期报文。
59.步骤307,将周期报文先写入硬件层缓存,再从硬件层缓存发送到控制器局域网络can总线上。
60.在本实施例中,步骤305-307的具体操作已在图2所示的实施例中步骤202-204中进行了详细的介绍,在此不再赘述。
61.步骤308,通过雷达业务层发起非周期报文的发送请求。
62.在本实施例中,radar业务层可以发起非周期报文的发送请求。
63.步骤309,调用中间层将非周期报文的发送请求从雷达业务层传输至can fd驱动层。
64.在本实施例中,中间层可以将非周期报文的发送请求从radar业务层传输至can fd驱动层。其中,中间层可以是bcan,位于radar业务层与can fd驱动层中间。
65.步骤310,由can fd驱动层将周期报文写入硬件层缓存。
66.在本实施例中,can fd驱动层可以将周期报文写入硬件层缓存。其中,硬件层缓存可以是bar2。
67.步骤311,调用can fd协议栈发送非周期报文。
68.在本实施例中,can fd驱动层可以调用can fd协议栈发送非周期报文。
69.其中,can fd协议栈是一种基于can通信协议的新标准,提高了数据速率和帧有效负载等方面的能力。can fd协议栈则是实现此通信协议的软件实现,包括应用层、传输层、数据链路层和物理层等不同部分。
70.具体来说,can fd协议栈采用了一些新的技术来实现更高效的数据通信和更灵活的配置选项。其中主要包括:
71.1、硬件通信接口支持can fd协议,使得它可以达到2mbit/s的数据传输速率,而不需要改变原有的物理连接方式;
72.2、新的数据格式允许更大的数据帧负载,并保留了经典can的数据帧格式,从而保证了向后兼容性;
73.3、协议栈支持自适应比特定时器,在规定的范围内可根据通信电缆长度和数据传输速率等条件动态调整can总线上的比特率,以避免因线长变化而导致的波特率误差和时钟抖动等问题;
74.4、支持信息过滤和认证功能等增强型安全机制,以保护can fd协议栈中的敏感信息不被非法接收和篡改。
75.从图3中可以看出,与图2对应的实施例相比,本实施例中的报文发送方法的流程300突出了周期报文存储步骤和非周期报文发送步骤。由此,本实施例描述的方案详细的描述了周期报文和非周期报文在各个网络层的处理过程,使得方案更加清楚、完整,从而易于实现。
76.为了便于理解,图4示出了报文发送的数据流图。
77.非周期报文的数据流如下:
78.(1)radar业务层发起非周期报文的发送请求。
79.(2)调用中间层的bcan设备。
80.其中,bcan是在radar业务层和axon driver层的中间层。axon driver层是can fd驱动层。
81.(3)axon driver层开始访问硬件的pcie bar2空间,并写入数据到can fifo。
82.其中,can fifo是硬件层缓存。
83.(4)硬件层开始调用can fd协议栈发送非周期报文。
84.其中,xilinx can ip是硬件can fd协议栈。
85.周期报文的数据流如下:
86.(1)radar业务层发起周期报文的发送请求。
87.(2)调用中间层的bcan设备。
88.(3)axon driver层开始写入数据到bar4空间进行暂存,然后配置bar0空间,启动定时器计数。
89.其中,bar是硬件设备pcie的空间。
90.(4)fpgapl会根据定时器的响铃,按时发送周期报文到can总线。
91.为了便于理解,图5示出了报文发送的框图。
92.周期报文的发送流程如下:
93.(1)driver层接收到上层业务的周期报文的发送请求后,先配置周期参数配置表(bar0),把周期、发送使能、id、存储索引地址等参数写到表里,然后把待发送的周期报文写到ocm mem(bar4)里面进行暂存。
94.其中,ocm mem是fpga的片上存储器,指的是上面提到的bar4的存储表。
95.(2)cycan_tab会不断的扫描tab ram检测是否有报文需要发送。如果有,会把周期参数写到timer ram,然后启动timer ram计数。
96.其中,cycan_tab用于轮询tab_ram,查看是否有待发送的周期报文。并配置周期参
数到timer ram。tab ram是周期报文存储表。timer ram是定时器表。
97.(3)cylcan_robin_timer会不断监测timer ram,看是否有响铃。如果有,会向cycan_tx模块发起周期报文的发送请求。
98.其中,cylcan_robin_timer用于轮询timer ram,查找alarm标志,并向cylcan_tx申请发送报文。cylcan_timer用于轮询timer ram,更新定时器表中的时间戳,并置位alarm标志。
99.(4)cycan_tx接收到周期报文的发送请求后,会去tab ram读取相应的存储索引地址,然后根据存储索引地址到ocm mem里面读取待发送的周期报文。同时清空alarm标志。
100.其中,cycan_tx用于接收发送请求,读取ocm mem存储的报文命令,发送到can axi fifo。can axi fifo是硬件层缓存。
101.(5)待发送的周期报文会先写入can axi fifo,然后再发送到canfd bus上。
102.其中,bus_arb是ram(random access memory,随机存取存储器)接口总线仲裁。
103.非周期报文的发送流程如下:
104.(1)直接写入can axi fifo进行发送。
105.其中,can axi fifo是硬件层缓存。
106.进一步参考图6,作为对上述各图所示方法的实现,本公开提供了一种报文发送装置的一个实施例,该装置实施例与图1所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
107.如图6所示,本实施例的报文发送装置600可以包括:第一写入模块601、配置模块602、获取模块603和第一发送模块604。其中,第一写入模块601,被配置成在接收到周期报文的发送请求时,将周期报文写入可编程逻辑内存,其中,周期报文是波特率可变控制器局域网can fd消息;配置模块602,被配置成基于周期报文的信息配置可编程逻辑配置表,以及将可编程逻辑配置表中的周期参数配置到定时器;获取模块603,被配置成启动定时器,以及在定时器报警时,基于可编程逻辑配置表中的存储索引地址,从可编程逻辑内存获取周期报文;第一发送模块604,被配置成将周期报文先写入硬件层缓存,再从硬件层缓存发送到控制器局域网络can总线上。
108.在本实施例中,报文发送装置600中:第一写入模块601、配置模块602、获取模块603和第一发送模块604的具体处理及其所带来的技术效果可分别参考图1对应实施例中的步骤101-104的相关说明,在此不再赘述。
109.在本实施例的一些可选的实现方式中,第一写入模块601进一步被配置成:通过雷达业务层发起周期报文的发送请求;调用中间层将周期报文的发送请求从雷达业务层传输至can fd驱动层;由can fd驱动层将周期报文写入第一基地址寄存器。
110.在本实施例的一些可选的实现方式中,配置模块602进一步被配置成:由can fd驱动层将周期报文的信息写入第二基地址寄存器。
111.在本实施例的一些可选的实现方式中,报文发送装置600还包括:第二写入模块,被配置成在接收到非周期报文的发送请求时,将非周期报文写入硬件缓存,其中,非周期报文是can fd消息;第二发送模块,被配置成从硬件缓存读取非周期报文,并发送到can总线上。
112.在本实施例的一些可选的实现方式中,第二写入模块进一步被配置成:通过雷达
业务层发起非周期报文的发送请求;调用中间层将非周期报文的发送请求从雷达业务层传输至can fd驱动层;由can fd驱动层将周期报文写入硬件层缓存。
113.在本实施例的一些可选的实现方式中,第二发送模块进一步被配置成:调用can fd协议栈发送非周期报文。
114.本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
115.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
116.图7示出了可以用来实施本公开的实施例的示例电子设备700的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
117.如图7所示,设备700包括计算单元701,其可以根据存储在只读存储器(rom)702中的计算机程序或者从存储单元708加载到随机访问存储器(ram)703中的计算机程序,来执行各种适当的动作和处理。在ram 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、rom 702以及ram 703通过总线704彼此相连。输入/输出(i/o)接口705也连接至总线704。
118.设备700中的多个部件连接至i/o接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
119.计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如报文发送方法。例如,在一些实施例中,报文发送方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由rom 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到ram 703并由计算单元701执行时,可以执行上文描述的报文发送方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行报文发送方法。
120.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出
装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
121.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
122.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
123.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
124.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
125.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以是分布式系统的服务器,或者是结合了区块链的服务器。
126.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开提供的技术方案所期望的结果,本文在此不进行限制。
127.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
技术特征:
1.一种报文发送方法,包括:在接收到周期报文的发送请求时,将所述周期报文写入可编程逻辑内存,其中,所述周期报文是波特率可变控制器局域网can fd消息;基于所述周期报文的信息配置可编程逻辑配置表,以及将所述可编程逻辑配置表中的周期参数配置到定时器;启动所述定时器,以及在所述定时器报警时,基于所述可编程逻辑配置表中的存储索引地址,从所述可编程逻辑内存获取所述周期报文;将所述周期报文先写入硬件层缓存,再从所述硬件层缓存发送到控制器局域网络can总线上。2.根据权利要求1所述的方法,其中,所述在接收到周期报文的发送请求时,将所述周期报文写入可编程逻辑内存,包括:通过雷达业务层发起所述周期报文的发送请求;调用中间层将所述周期报文的发送请求从所述雷达业务层传输至can fd驱动层;由所述can fd驱动层将所述周期报文写入第一基地址寄存器。3.根据权利要求2所述的方法,其中,所述基于所述周期报文的信息配置可编程逻辑配置表,包括:由所述can fd驱动层将所述周期报文的信息写入第二基地址寄存器。4.根据权利要求1-3中任一项所述的方法,其中,所述方法还包括:在接收到非周期报文的发送请求时,将所述非周期报文写入所述硬件缓存,其中,所述非周期报文是can fd消息;从所述硬件缓存读取所述非周期报文,并发送到所述can总线上。5.根据权利要求4所述的方法,其中,所述在接收到非周期报文的发送请求时,将所述非周期报文写入所述硬件缓存,包括:通过雷达业务层发起所述非周期报文的发送请求;调用中间层将所述非周期报文的发送请求从所述雷达业务层传输至can fd驱动层;由所述can fd驱动层将所述周期报文写入所述硬件层缓存。6.根据权利要求5所述的方法,其中,所述从所述硬件缓存读取所述非周期报文,并发送到所述can总线上,包括:调用can fd协议栈发送所述非周期报文。7.一种报文发送装置,包括:第一写入模块,被配置成在接收到周期报文的发送请求时,将所述周期报文写入可编程逻辑内存,其中,所述周期报文是波特率可变控制器局域网can fd消息;配置模块,被配置成基于所述周期报文的信息配置可编程逻辑配置表,以及将所述可编程逻辑配置表中的周期参数配置到定时器;获取模块,被配置成启动所述定时器,以及在所述定时器报警时,基于所述可编程逻辑配置表中的存储索引地址,从所述可编程逻辑内存获取所述周期报文;第一发送模块,被配置成将所述周期报文先写入硬件层缓存,再从所述硬件层缓存发送到控制器局域网络can总线上。8.根据权利要求7所述的装置,其中,所述第一写入模块进一步被配置成:
通过雷达业务层发起所述周期报文的发送请求;调用中间层将所述周期报文的发送请求从所述雷达业务层传输至can fd驱动层;由所述can fd驱动层将所述周期报文写入第一基地址寄存器。9.根据权利要求8所述的装置,其中,所述配置模块进一步被配置成:由所述can fd驱动层将所述周期报文的信息写入第二基地址寄存器。10.根据权利要求7-9中任一项所述的装置,其中,所述装置还包括:第二写入模块,被配置成在接收到非周期报文的发送请求时,将所述非周期报文写入所述硬件缓存,其中,所述非周期报文是can fd消息;第二发送模块,被配置成从所述硬件缓存读取所述非周期报文,并发送到所述can总线上。11.根据权利要求10所述的装置,其中,所述第二写入模块进一步被配置成:通过雷达业务层发起所述非周期报文的发送请求;调用中间层将所述非周期报文的发送请求从所述雷达业务层传输至can fd驱动层;由所述can fd驱动层将所述周期报文写入所述硬件层缓存。12.根据权利要求11所述的装置,其中,所述第二发送模块进一步被配置成:调用can fd协议栈发送所述非周期报文。13.一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的方法。14.一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行权利要求1-6中任一项所述的方法。15.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-6中任一项所述的方法。
技术总结
本公开提供了一种报文发送方法、装置以及设备,涉及无人驾驶技术领域,具体涉及报文传输技术领域。该方法的一具体实施方式包括:在接收到周期报文的发送请求时,将周期报文写入可编程逻辑内存,其中,周期报文是波特率可变控制器局域网CAN FD消息;基于周期报文的信息配置可编程逻辑配置表,以及将可编程逻辑配置表中的周期参数配置到定时器;启动定时器,以及在定时器报警时,基于可编程逻辑配置表中的存储索引地址,从可编程逻辑内存获取周期报文;将周期报文先写入硬件层缓存,再从硬件层缓存发送到控制器局域网络CAN总线上。该实施方式提高了CAN FD消息发送过程的效率和准确性。性。性。
技术研发人员:雷华磊 王坤 陈红岩
受保护的技术使用者:北京百度网讯科技有限公司
技术研发日:2023.05.18
技术公布日:2023/8/13
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
