CN113746815B - 数据转发方法、装置、可读存储介质及控制终端 - Google Patents
数据转发方法、装置、可读存储介质及控制终端 Download PDFInfo
- Publication number
- CN113746815B CN113746815B CN202110950794.8A CN202110950794A CN113746815B CN 113746815 B CN113746815 B CN 113746815B CN 202110950794 A CN202110950794 A CN 202110950794A CN 113746815 B CN113746815 B CN 113746815B
- Authority
- CN
- China
- Prior art keywords
- message
- priority
- queue
- cache queue
- current
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6275—Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种数据转发方法、装置、可读存储介质及控制终端,该数据转发方法包括步骤:实时接收TSN交换机发送的TSN以太网报文,并进行协议转换,以将所述TSN以太网报文转换成CAN FD协议格式的CAN FD报文;将转换后的CAN FD报文存入缓存列队区;将所述缓存列队区中的CAN FD报文进行转发。本发明提供了一种基于TSN‑CAN FD的路由机制,实现了CAN FD协议和TSN车载以太网协议间的数据转发。
Description
技术领域
本发明涉及电子技术领域,特别是涉及一种数据转发方法、装置、可读存储介质及控制终端。
背景技术
随着汽车智能化,网联化水平的不断提高,车载网络中的数据流量大大增加,传统的CAN总线主干网络逐渐无法满足高流量,高安全性的车载通信需求。基于TSN协议的车载以太网及CAN FD正在逐步取代CAN总线成为新一代车载网络的主干。
CAN FD协议与CAN协议一致,但是传输速率可以高达1Mbit/s。由于汽车ECU如中央网关,域控制器在新一代的网络架构中,需要将基于CAN FD协议的信号数据与基于TSN车载以太网协议的信号数据进行相互路由转换,以及转发。但是,如何实现数据的转换和转发,现有技术呈现出空缺状态,CAN FD尚无针对性接收缓存机制和转发调度机制;路由模式分为简单2种,报文路由和信号路由。报文路由不关注报文中的信号内容,同类型路由时不做任何处理进行转发,不同类路由时对报文进行简单的拆分和组合后进行转发。信号路由则关注报文内容,提取出待转发报文中的信号重新组装后进行转发。
故针对上述在TSN-CAN FD路由过程中需要解决问题,需要提出一种改进的路由机制。
发明内容
鉴于上述状况,有必要针对如何实现CAN FD协议和TSN车载以太网协议间的数据转发的问题,提供一种数据转发方法、装置、可读存储介质及控制终端。
本发明提供了一种数据转发方法,包括步骤:
实时接收TSN交换机发送的TSN以太网报文,并进行协议转换,以将所述TSN以太网报文转换成CAN FD协议格式的CAN FD报文;
将转换后的CAN FD报文存入缓存列队区;
将所述缓存列队区中的CAN FD报文进行转发。
进一步的,上述数据转发方法,其中,所述进行协议转换,以将所述TSN以太网报文转换成CAN FD协议的CAN FD报文的步骤包括:
判断所述TSN以太网报文是否需要拆分;
若是,根据TSN和CAN FD协议的通信矩阵中对应的数据长度,将所述TSN以太网报文进行拆分,得到多个CAN ID的CAN FD报文;
若否,则提取所述TSN以太网报文中的各个TSN数据流ID,并根据所述数据流ID查询预设的路由表,得到对应的多个CAN ID,以及根据查询到的各个CAN ID确定对应的CANFD报文,所述路由表包括TSN数据流ID和CAN ID之间的对应关系。
进一步的,上述数据转发方法,其中,所述CAN FD协议的报文设置有多个报文优先级,所述路由表包括TSN数据流ID、CAN ID和报文优先级之间的对应关系,所述报文优先级的数量小于或等于CAN ID的数量,所述缓存列队区设置有多个不同优先级的缓存列队,所述缓存列队的数量与所述报文优先级的数量一致,且各个所述缓存列队的优先级分别与各个所述报文优先级一致;
所述将转换后的CAN FD报文存入缓存列队区的步骤包括:
根据所述路由表查询当前CAN FD报文的CAN ID所对应的报文优先级,将查询到的当前报文优先级所对应的所述缓存列队作为目标缓存列队;
将所述当前CAN FD报文存入所述目标缓存列队中。
进一步的,上述数据转发方法,其中,所述将查询到的当前报文优先级所对应的所述缓存列队作为目标缓存列队的步骤包括:
判断查询到的当前报文优先级所对应的所述缓存列队是否已满;
若是,将所述缓存列队区中所有未满的所述缓存列队中的其中一个作为目标缓存列队;
若否,将查询到的当前报文优先级所对应的所述缓存列队作为目标缓存列队。
进一步的,上述数据转发方法,其中,所述缓存列队包括固定队列空间和动态空间,所述将所述当前CAN FD报文存入所述目标缓存列队中的步骤包括:
比较所述当前报文优先级和所述目标缓存列队的优先级;
当所述当前报文优先级高于所述目标缓存列队的优先级时,执行高优先级动态规划;
当所述当前报文优先级低于所述目标缓存列队的优先级时,执行低优先级动态规划;
当所述当前报文优先级等于所述目标缓存列队的优先级时,执行同优先级入队操作;
其中,执行所述高优先级动态规划时,所述当前CAN FD报文从所述目标缓存队列的动态空间的首端开始排入,原低优先级的数据依次向所述目标缓存队列后一位移动,当所述目标缓存列队的动态空间已满,则后续做高优先级动态规划时,高优先级的数据将覆盖低优先级数据;
执行低优先级动态规划时,所述当前CAN FD报文从所述目标队列的动态空间的末端开始排入,当所述目标缓存列队的动态空间已满,则后续执行低优先级规划时,高优先级的数据会覆盖动态空间中的低优先级数据;
执行同优先级入队操作时,所述当前CAN FD报文优先进入固定队列空间,然后进入动态空间,若动态空间填满,则高优先级数据覆盖低优先级数据。
进一步的,上述数据转发方法,其中,所述将所述缓存列队区中的CAN FD报文进行转发的步骤包括:
针对各个所述缓存队列设置对应的发送时间窗口;
按照所述发送时间窗口转发各个所述缓存列中的CAN FD报文。
进一步的,上述数据转发方法,其中,所述按照所述发送时间窗口转发各个所述缓存列中的CAN FD报文的步骤还包括:
实时计算各个所述缓存列队中的CAN FD报文的信任值,所述信任值随着等待时间按照预设的斜率进行增长;
当当前缓存列队中的CAN FD报文的信任值超过阈值时,则在当前转发的CAN FD报文结束后,立即转发所述当前缓存列队中的信任值超过阈值的CAN FD报文。
本发明还公开了一种数据转发装置,包括:
转换模块,用于实时接收TSN交换机发送的TSN以太网报文,进行协议转换,以将所述TSN以太网报文转换成CAN FD协议格式的CAN FD报文;
缓存模块,用于将转换后的CAN FD报文存入缓存列队区;
转发模块,用于将所述缓存列队区中的CAN FD报文进行转发。
进一步的,上述数据转发装置,其中,所述转换模块包括:
判断模块,用于判断所述TSN以太网报文是否需要拆分;
拆分模块,用于当所述TSN以太网报文需要拆分时,根据TSN和CAN FD协议的通信矩阵中对应的数据长度,将所述TSN以太网报文进行拆分,得到多个CAN ID的CAN FD报文;
提取模块,用于当所述TSN以太网报文不需要拆分时,提取所述TSN以太网报文中的各个TSN数据流ID,并根据所述数据流ID查询预设的路由表,得到对应的多个CAN ID,以及根据查询到的各个CAN ID确定对应的CAN FD报文,所述路由表包括TSN数据流ID和CANID之间的对应关系。
本发明还公开了一种控制终端,包括存储器和处理器,所述存储器存储有程序,所述程序被所述处理器执行时实现上述任一所述的方法。
本发明还公开了一种计算机可读存储介质,其上存储有程序,所述程序被处理器执行时实现上述任一所述的方法。
本发明中,当接收到TSN交换机发送的TSN以太网报文时,TSN以太网报文,经过协议转换,队列缓存及转发调度三个步骤后,变成CAN FD报文完成路由的全过程。其中,将待转发的数据放入缓存队区中,可以减少转发堵塞时的数据丢失。本发明提供了一种基于TSN-CAN FD的路由机制,实现了CAN FD协议和TSN车载以太网协议间的数据转发。
附图说明
图1为本发明第一实施例中的数据转发方法的流程图;
图2为本发明第二实施例中的数据转发方法的流程图;
图3为数据转发时的调度过程图,展示了不同算法选择的调度效果;
图4为本发明第三实施例中的数据转发装置的结构框图;
图5为本发明一实施例中的控制终端的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
参照下面的描述和附图,将清楚本发明的实施例的这些和其他方面。在这些描述和附图中,具体公开了本发明的实施例中的一些特定实施方式,来表示实施本发明的实施例的原理的一些方式,但是应当理解,本发明的实施例的范围不受此限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
请参阅图1,为本发明第一实施例中的数据转发方法,包括步骤S11~S13。
步骤S11,实时接收TSN交换机发送的TSN以太网报文,进行协议转换,以将所述TSN以太网报文转换成CAN FD协议格式的CAN FD报文。
该数据转发方法应用于控制终端中,该控制终端例如为车载网关控制器或路由器。该控制终端设置有至少一个网关节点。该网关节点一端接入CAN FD网络,另一端与TSN以太网交换机连接。每个网关节点接收到TSN交换机发送的TSN以太网报文后可以根据路由表进行协议转换,以将所述TSN以太网报文转换成CAN FD协议格式的CAN FD报文。
具体的,该路由表如表包括TSN以太网报文中各个TSN数据流ID和CAN ID之间的对应关系,根据当前获取的TSN以太网报文的TSN数据流ID可查询路由表确定对应的CAN ID,根据该CAN ID确定对应的CAN FD报文。
步骤S12,将转换后的CAN FD报文存入缓存列队区。
将待转发的数据放入缓存队列中,可以减少转发堵塞时的数据丢失。
步骤S13,将所述缓存列队区中的CAN FD报文进行转发。
对列队缓存区中的CAN FD报文进行转发的方式有多种,例如,可以按照采用堆栈的方式进入队列,遵循先进先出的原则。或者按列队缓存区中各个缓存列队预设的优先级进行数据转发。
本实施例中,当接收到TSN交换机发送的TSN以太网报文时,TSN以太网报文,经过协议转换,队列缓存及转发调度三个步骤后,变成CAN FD报文完成路由的全过程。并且,将待转发的数据放入缓存队区中,以减少转发堵塞时的数据丢失。
请参阅图2,为本发明第二实施例中的数据转发方法,包括步骤S21~S27。
步骤S21,实时接收TSN交换机发送的TSN以太网报文,并判断所述TSN以太网报文是否需要拆分,若是执行步骤S22,否则执行步骤S23。
本实施例提供一种基于路由表的报文路由协议转换机制。由于TSN与CAN FD协议差别较大,在协议转换过程中往往面临着信号提取或报文拆分,会造成一定的延时。该机制在前期TSN和CAN FD通信矩阵和路由表制定过程中,充分考虑两者的优先级关系,以减少转换过程中的时延。具体实施时,可根据报文路由模式来确定是否需要进行TSN以太网报文拆分。
如表1所示,该路由表的主要元素包含:CAN ID,TSN数据流ID,优先级(VLAN TAG)三者之间的对应关系。
表1.路由表
序号 | TSN数据流ID | CAN ID | 报文优先级 |
1 | 0X11111111 | 0x8A | 7 |
2 | 0X22222222 | 0x2AB,0x3E0 | 5 |
3 | 0X33333333 | 0x513 | 0 |
在通信矩阵设计的过程中应当合理的考虑报文中的信号分布和对应ID情况,便于路由表设计及报文路由模式。在通信矩阵中,需要路由的TSN与CAN FD报文中固定区间内的信号含义应当一致,如某一TSN数据段中0-63个字节的含义应与某一CAN FD ID中数据段0-63个字节的含义一致。
步骤S22,根据TSN和CAN FD协议的通信矩阵中对应的数据长度,将所述TSN以太网报文进行拆分,得到多个CAN ID的CAN FD报文。
步骤S23,提取所述TSN以太网报文中的各个TSN数据流ID,并根据所述数据流ID查询预设路由表,得到对应的多个CAN ID,以及根据查询到的各个CAN ID确定对应的CAN FD报文。
本实例提供了一种报文优先级分段方法,该TSN协议格式的报文预先设置有多个ID分段,一般来说可划分为8个ID分段,各个ID分段设置有对应的报文优先级。具体实施时,该8个ID分段的报文划分为多个报文优先级,该报文优先级的数量小于或等于ID分段的数量,即小于或等于8。
可以理解的,TSN以太网报文进行协议转换后,得到对应的多个CAN ID分段的CANFD报文的,CAN ID分段与TSN以太网报文的ID分段对应,且优先级一致。例如各个CAN ID分段的CAN FD报文为0x000-0x0ff、0x100-0x1ff、0x200-0x2ff、0x300-0x3ff、0x400-0x4ff、0x500-0x5ff、0x600-0x6ff、0x700-0x7ff。
该缓存列队区设置有多个不同优先级的缓存列队,每个缓存队列只能对应一个优先级。该缓存列队的数量与报文优先级的数量一致,即缓存列队区根据实际需求可以设置1-8中任意一数量的队列,且各个缓存列队的优先级分别与各个报文优先级一致。
如表2所示,当队列数量为8时,即具有8种优先级,分别为0,1,2,…,7,其中7为最高优先级,0为最低优先级。转换后的8种ID分段的CAN FD报文匹配该八种优先级队列。若队列分配数量小于8则依据表2对CAN FD报文的进行合并后,再分配。如本实例开设3个缓存队列,故查表可得各个CAN ID分段的CAN FD报文所对应的优先级:0x000-0x1ff对应优先级7,0x200-0x3ff对应优先级5,0x400-0x7ff对应优先级0。
表2.不同列队数数量下各个优先的CAN ID分段
步骤S24,根据所述路由表查询当前CAN FD报文的CAN ID所对应的报文优先级,将查询到的当前报文优先级所对应的所述缓存列队作为目标缓存列队。
步骤S25,将所述当前CAN FD报文存入所述目标缓存列队中。
由于同一TSN报文拆分出的CAN FD报文应当属于同一优先级分段且与VLAN tag代表的优先级匹配,故可以提前根据接收的TSN报文的VLAN tag值确定需要进入的队列,以此减少协议转换延时。
进一步的,所述将查询到的当前报文优先级所对应的所述缓存列队作为目标缓存列队的步骤包括:
判断查询到的当前报文优先级所对应的所述缓存列队是否已满;
若是,将所述缓存列队区中所有未满的所述缓存列队中的其中一个作为目标缓存列队;
若否,将查询到的当前报文优先级所对应的所述缓存列队作为目标缓存列队。
将当前CAN FD报文存入缓存列队时,确定对应优先级的缓存列队是否已满,如未满则存入该对应优先级的缓存列队中,如已满则存入其他未满的缓存列队中。
由于TSN报文的负载要远大于CAN FD报文,因此,可能存在当前CAN FD报文对应优先级的缓存列队存满的情况。通常缓存列队会出现如下情况:
情况1:各优先级队列都未满;
情况2:高优先级队列满,低优先级队列未满;
情况3:高优先级队列未满,低优先级队列满;
情况4:所有队列都已满;
针对情况1,则采用堆栈的方式进入队列,遵循先进先出的原则。
针对情况2,3,4,需要采用动态规划机制。缓存队列的表现形式为内存空间,每个优先级队列都预留一定的动态空间,即将各个缓存队列的内存空间划分为固定队列空间和动态空间。该动态空间用于动态规划,以容纳其他优先级的报文数据。
具体的,所述将所述当前CAN FD报文存入所述目标缓存列队中的步骤包括:
比较所述当前报文优先级和所述目标缓存列队的优先级;
当所述当前报文优先级高于所述目标缓存列队的优先级时,执行高优先级动态规划;
当所述当前报文优先级低于所述目标缓存列队的优先级时,执行低优先级动态规划;
当所述当前报文优先级等于所述目标缓存列队的优先级时,执行同优先级入队操作;
其中,执行高优先级动态规划时,所述当前CAN FD报文从所述目标缓存队列的动态空间的首端开始排入,原低优先级的数据依次向所述目标缓存队列后一位移动,当所述目标缓存列队的动态空间已满,则后续做高优先级动态规划时,高优先级的数据将覆盖低优先级数据;
执行低优先级动态规划时,所述当前CAN FD报文从所述目标队列的动态空间的末端开始排入,当所述目标缓存列队的动态空间已满,则后续执行低优先级规划时,高优先级的数据会覆盖动态空间中的低优先级数据;
执行同优先级入队操作时,,所述当前CAN FD报文优先进入固定队列空间,然后进入动态空间,若动态空间填满,则高优先级数据覆盖低优先级数据。
可以理解的,当所有动态规划空间使用完毕且所有队列都满,则队列不再接受任何数据。
多于1个队列未满时,如需动态规划,优先级越低,越先规划;否则优先选择未满队列进行动态规划;
队列深度需要根据实际的网络状况进行设计,上述情况2,3和4为网络负载临时增大,不应让队列长时间处于情况2,3和4,如时间大于阈值则进行报警。
本实例提供一种基于优先级的队列缓存机制,将不同CAN ID的CAN FD报文排入不同优先级的缓存队列中。该机制根据报文自身优先级,队列优先级以及不同的队列情况采用不同的动态调整机制。
步骤S26,针对各个所述缓存队列设置对应的发送时间窗口。具体实施时,可以为各个优先级的缓存列队分别设置不同的发送时间窗口,也可以为2个或两个以上的缓存列队设置一个相同的发射时间窗口。一般来说。优先级越高的缓存列队发送时间窗口越靠前。
步骤S27,按照所述发送时间窗口转发各个所述缓存列中的CAN FD报文。
进一步的,所述按照所述发送时间窗口转发各个所述缓存列中的CAN FD报文的步骤还包括:
实时计算各个所述缓存列队中的CAN FD报文的信任值,所述信任值随着等待时间按照预设的斜率进行增长;
当当前缓存列队中的CAN FD报文的信任值超过阈值时,则在当前转发的CAN FD报文结束后,立即转发所述当前缓存列队中的信任值超过阈值的CAN FD报文。
即本实例提供一种基于优先级和信任值的转发调度机制,用于控制待转发队列是否向总线上传输,其实质是发送选择算法和门控,发送选择算法控制门控,门开则将队列中的数据进行转发,门关则继续在队列中等待。
发送选择算法有两部分:
1.转发时间窗
转发时间窗针对各个优先级的缓存队列,开设对应的发送窗口范围,队列中待转发的报文需在对应时间窗口内才能转发。由于CAN FD报文波特率分仲裁段与数据段,仲裁段普遍使用500kbit/s,数据段普遍使用2~4Mbit/s,考虑到最大数据长度为64字节,故发送完一帧标准CAN FD报文的时间最长大约为250us。基于本实例,3帧TSN报文需要路由成4帧不同CAN ID的CAN FD报文,可分为3个优先级;整个时间窗口长度为1000us,其中T1:0-550us用于转发优先级最高的ID为8A的报文,T2:550us-1000us用于转发ID为2AB,3E0和513的优先级较低的报文,如表3所示。
表3.不同优先级的缓存队列对应设置的发送时间窗口
CAN ID | 缓存列队优先级 | 发送时间窗口 |
0x8A | 7 | 0-550us |
0x2AB,0x3E0 | 5 | 550us-1000us |
0x513 | 0 | 550us-1000us |
2.信任值
约定一个信任值极限a;每条CAN FD报文在通信矩阵中都定义了固定周期,取固定周期T的1.3倍作为转发延迟极限,该数值可以根据实际情况进行调整,故不同ID的CAN FD报文的周期最大约束极限的斜率k为1.3T/a增长,路由结束后信用值清空,有至少以下两种情况:
排队中的报文信任值随着等待时间按照不同的斜率进行增长,当一条队列中的CAN FD报文信任值到达a时对应门控仍未打开,则正在路由的报文结束后,不论所处转发时间窗口的位置,立即打开相应门控进行路由转发;
排队中的报文信任值随着等待时间按照不同的斜率进行增长,对应门控打开时信用值未超过a,则信用值越高,越优先进行路由转发。
当队列中有数据时,调度机制开始运行。
本实例的调度情况如图3所示,在对应的时间窗口中按照既定机制进行转发,然后0优先级的缓存队列中待转发的报文由于优先级不够的原因一直无法实现转发,故其信用值不断增大,在t0时刻达到了最大信任值,但此时优先级为7的缓存队列正在发送,故等待发送结束后即t2时刻,立即发送0优先级的缓存队列中的报文。而在t1时刻准备待发的7优先级的缓存队列中的报文被移置时刻t3处发送。
请参阅图4,为本发明第三实施例中的数据转发装置,包括:
转换模块31,用于实时接收TSN交换机发送的TSN以太网报文,进行协议转换,以将所述TSN以太网报文转换成CAN FD协议格式的CAN FD报文;
缓存模块32,用于将转换后的CAN FD报文存入缓存列队区;
转发模块33,用于将所述缓存列队区中的CAN FD报文进行转发。
进一步的,上述数据转发装置,其,所述转换模块31包括:
判断模块,用于判断所述TSN以太网报文是否需要拆分;
拆分模块,用于当所述TSN以太网报文需要拆分时,根据TSN和CAN FD协议的通信矩阵中对应的数据长度,将所述TSN以太网报文进行拆分,得到多个CAN ID的CAN FD报文;
提取模块,用于当所述TSN以太网报文不需要拆分时,提取所述TSN以太网报文中的各个TSN数据流ID,并根据所述数据流ID查询预设的路由表,得到对应的多个CAN ID,以及根据查询到的各个CAN ID确定对应的CAN FD报文,所述路由表包括TSN数据流ID和CANID之间的对应关系。
本发明实施例所提供的数据转发装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
本发明另一方面还提出一种控制终端,请参阅图5,所示为本发明第四实施例当中的控制终端,包括处理器10、存储器20以及存储在存储器上并可在处理器上运行的计算机程序30,所述处理器10执行所述计算机程序30时实现如上述的数据转发方法。
其中,所述控制终端可以为但不限于车载网关控制器或路由器等。处理器10在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器20中存储的程序代码或处理数据。
其中,存储器20至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器20在一些实施例中可以是控制终端的内部存储单元,例如该控制终端的硬盘。存储器20在另一些实施例中也可以是控制终端的外部存储装置,例如控制终端上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。进一步地,存储器20还可以既包括控制终端的内部存储单元也包括外部存储装置。存储器20不仅可以用于存储安装于控制终端的应用软件及各类数据,还可以用于暂时地存储已经输出或者将要输出的数据。
可选地,该控制终端还可以包括用户接口、网络接口、通信总线等,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在控制终端中处理的信息以及用于显示可视化的用户界面。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该装置与其他电子装置之间建立通信连接。通信总线用于实现这些组件之间的连接通信。
需要指出的是,图5示出的结构并不构成对控制终端的限定,在其它实施例当中,该控制终端可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本发明还提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述的数据转发方法。
本领域技术人员可以理解,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行***、装置或装置(如基于计算机的***、包括处理器的***或其他可以从指令执行***、装置或装置取指令并执行指令的***)使用,或结合这些指令执行***、装置或装置而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行***、装置或装置或结合这些指令执行***、装置或装置而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或它们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (7)
1.一种数据转发方法,其特征在于,包括步骤:
实时接收TSN交换机发送的TSN以太网报文,并进行协议转换,以将所述TSN以太网报文转换成CAN FD协议格式的CAN FD报文;
将转换后的CAN FD报文存入缓存列队区;
将所述缓存列队区中的CAN FD报文进行转发;
所述CAN FD协议的报文设置有多个报文优先级,所述路由表包括TSN数据流ID、CAN ID和报文优先级之间的对应关系,所述报文优先级的数量小于或等于CAN ID的数量,所述缓存列队区设置有多个不同优先级的缓存列队,所述缓存列队的数量与所述报文优先级的数量一致,且各个所述缓存列队的优先级分别与各个所述报文优先级对应一致;
所述将转换后的CAN FD报文存入缓存列队区的步骤包括:
根据所述路由表查询当前CAN FD报文的CAN ID所对应的报文优先级,并判断查询到的当前报文优先级所对应的所述缓存列队是否已满;
若是,将所述缓存列队区中所有未满的所述缓存列队中的其中一个作为目标缓存列队;
若否,将查询到的当前报文优先级所对应的所述缓存列队作为目标缓存列队;
将所述当前CAN FD报文存入所述目标缓存列队中;
所述缓存列队包括固定队列空间和动态空间,当查询到的当前报文优先级所对应的所述缓存列队已满时,所述将所述当前CAN FD报文存入所述目标缓存列队中的步骤包括:
比较所述当前报文优先级和所述目标缓存列队的优先级;
当所述当前报文优先级高于所述目标缓存列队的优先级时,执行高优先级动态规划;
当所述当前报文优先级低于所述目标缓存列队的优先级时,执行低优先级动态规划;
当所述当前报文优先级等于所述目标缓存列队的优先级时,执行同优先级入队操作;
其中,执行所述高优先级动态规划时,所述当前CAN FD报文从所述目标缓存队列的动态空间的首端开始排入,原低优先级的数据依次向所述目标缓存队列后一位移动,当所述目标缓存列队的动态空间已满,则后续做高优先级动态规划时,高优先级的数据将覆盖低优先级数据;
执行低优先级动态规划时,所述当前CAN FD报文从所述目标队列的动态空间的末端开始排入,当所述目标缓存列队的动态空间已满,则后续执行低优先级规划时,高优先级的数据会覆盖动态空间中的低优先级数据;
执行同优先级入队操作时,所述当前CAN FD报文优先进入固定队列空间,然后进入动态空间,若动态空间填满,则高优先级数据覆盖低优先级数据。
2.如权利要求1所述的数据转发方法,其特征在于,所述进行协议转换,以将所述TSN以太网报文转换成CAN FD协议的CAN FD报文的步骤包括:
判断所述TSN以太网报文是否需要拆分;
若是,根据TSN和CAN FD协议的通信矩阵中对应的数据长度,将所述TSN以太网报文进行拆分,得到多个CAN ID的CAN FD报文;
若否,则提取所述TSN以太网报文中的各个TSN数据流ID,并根据所述数据流ID查询预设的路由表,得到对应的多个CAN ID,以及根据查询到的各个CAN ID确定对应的CAN FD报文,所述路由表包括TSN数据流ID和CAN ID之间的对应关系。
3.如权利要求1所述的数据转发方法,其特征在于,所述将所述缓存列队区中的CAN FD报文进行转发的步骤包括:
针对各个所述缓存队列设置对应的发送时间窗口;
按照所述发送时间窗口转发各个所述缓存列中的CAN FD报文。
4.如权利要求3所述的数据转发方法,其特征在于,所述按照所述发送时间窗口转发各个所述缓存列中的CAN FD报文的步骤还包括:
实时计算各个所述缓存列队中的CAN FD报文的信任值,所述信任值随着等待时间按照预设的斜率进行增长;
当当前缓存列队中的CAN FD报文的信任值超过阈值时,则在当前转发的CAN FD报文结束后,立即转发所述当前缓存列队中的信任值超过阈值的CAN FD报文。
5.一种数据转发装置,其特征在于,包括:
转换模块,用于实时接收TSN交换机发送的TSN以太网报文,进行协议转换,以将所述TSN以太网报文转换成CAN FD协议格式的CAN FD报文;
缓存模块,用于将转换后的CAN FD报文存入缓存列队区;
转发模块,用于将所述缓存列队区中的CAN FD报文进行转发;
所述CAN FD协议的报文设置有多个报文优先级,所述路由表包括TSN数据流ID、CAN ID和报文优先级之间的对应关系,所述报文优先级的数量小于或等于CAN ID的数量,所述缓存列队区设置有多个不同优先级的缓存列队,所述缓存列队的数量与所述报文优先级的数量一致,且各个所述缓存列队的优先级分别与各个所述报文优先级对应一致;
所述将转换后的CAN FD报文存入缓存列队区的步骤包括:
根据所述路由表查询当前CAN FD报文的CAN ID所对应的报文优先级,并判断查询到的当前报文优先级所对应的所述缓存列队是否已满;
若是,将所述缓存列队区中所有未满的所述缓存列队中的其中一个作为目标缓存列队;
若否,将查询到的当前报文优先级所对应的所述缓存列队作为目标缓存列队;
将所述当前CAN FD报文存入所述目标缓存列队中;
所述缓存列队包括固定队列空间和动态空间,当查询到的当前报文优先级所对应的所述缓存列队已满时,所述将所述当前CAN FD报文存入所述目标缓存列队中的步骤包括:
比较所述当前报文优先级和所述目标缓存列队的优先级;
当所述当前报文优先级高于所述目标缓存列队的优先级时,执行高优先级动态规划;
当所述当前报文优先级低于所述目标缓存列队的优先级时,执行低优先级动态规划;
当所述当前报文优先级等于所述目标缓存列队的优先级时,执行同优先级入队操作;
其中,执行所述高优先级动态规划时,所述当前CAN FD报文从所述目标缓存队列的动态空间的首端开始排入,原低优先级的数据依次向所述目标缓存队列后一位移动,当所述目标缓存列队的动态空间已满,则后续做高优先级动态规划时,高优先级的数据将覆盖低优先级数据;
执行低优先级动态规划时,所述当前CAN FD报文从所述目标队列的动态空间的末端开始排入,当所述目标缓存列队的动态空间已满,则后续执行低优先级规划时,高优先级的数据会覆盖动态空间中的低优先级数据;
执行同优先级入队操作时,所述当前CAN FD报文优先进入固定队列空间,然后进入动态空间,若动态空间填满,则高优先级数据覆盖低优先级数据。
6.一种控制终端,其特征在于,包括存储器和处理器,所述存储器存储有程序,所述程序被所述处理器执行时实现如权利要求1-4任一所述的方法。
7.一种计算机可读存储介质,其上存储有程序,其特征在于,所述程序被处理器执行时实现如权利要求1-4任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110950794.8A CN113746815B (zh) | 2021-08-18 | 2021-08-18 | 数据转发方法、装置、可读存储介质及控制终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110950794.8A CN113746815B (zh) | 2021-08-18 | 2021-08-18 | 数据转发方法、装置、可读存储介质及控制终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113746815A CN113746815A (zh) | 2021-12-03 |
CN113746815B true CN113746815B (zh) | 2023-06-06 |
Family
ID=78731706
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110950794.8A Active CN113746815B (zh) | 2021-08-18 | 2021-08-18 | 数据转发方法、装置、可读存储介质及控制终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113746815B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114419875B (zh) * | 2021-12-08 | 2023-12-22 | 斑马网络技术有限公司 | 车辆行程切分方法、装置及存储介质 |
CN114500679B (zh) * | 2022-01-27 | 2024-03-26 | 中国第一汽车股份有限公司 | can协议转换方法、装置、电子设备和存储介质 |
CN115051887A (zh) * | 2022-06-06 | 2022-09-13 | 国汽智控(北京)科技有限公司 | 数据转换方法、接口转换设备以及车辆 |
CN115695576B (zh) * | 2022-12-31 | 2023-06-06 | 北京国科天迅科技有限公司 | 一种兼容tsn帧抢占协议的数据帧转换方法及装置 |
CN116781448B (zh) * | 2023-08-17 | 2023-11-07 | 北京芯驰半导体科技有限公司 | 一种can报文防丢失方法、装置、***、芯片及介质 |
CN117580095A (zh) * | 2023-11-28 | 2024-02-20 | 北京理工大学深圳汽车研究院(电动车辆国家工程实验室深圳研究院) | 一种用于can-tsn网关的下行传输调度方法和*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108200134A (zh) * | 2017-12-25 | 2018-06-22 | 腾讯科技(深圳)有限公司 | 请求消息管理方法及装置、存储介质 |
CN110891023A (zh) * | 2019-10-31 | 2020-03-17 | 上海赫千电子科技有限公司 | 一种基于优先级策略的信号路由转换方法及装置 |
CN113114708A (zh) * | 2021-06-16 | 2021-07-13 | 奥特酷智能科技(南京)有限公司 | 一种Zonal控制器数据转发方法及*** |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1177451C (zh) * | 2002-02-27 | 2004-11-24 | 华为技术有限公司 | 通信***中多优先级缓冲传输方法 |
EP3324548B1 (en) * | 2016-11-17 | 2021-02-17 | Aptiv Technologies Limited | Bus system and method for vehicle systems |
CN111835627B (zh) * | 2019-04-23 | 2022-04-26 | 华为技术有限公司 | 车载网关的通信方法、车载网关及智能车辆 |
CN210168057U (zh) * | 2019-08-28 | 2020-03-20 | 上海多越电子科技有限公司 | 一种多功能车载网关 |
CN111464409A (zh) * | 2020-03-25 | 2020-07-28 | 浙江中控研究院有限公司 | 一种can总线并入时间敏感网络的数据交换装置及网络 |
CN115344031B (zh) * | 2022-10-19 | 2023-02-17 | 北京理工大学深圳汽车研究院(电动车辆国家工程实验室深圳研究院) | 一种汽车区架构***和汽车 |
-
2021
- 2021-08-18 CN CN202110950794.8A patent/CN113746815B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108200134A (zh) * | 2017-12-25 | 2018-06-22 | 腾讯科技(深圳)有限公司 | 请求消息管理方法及装置、存储介质 |
CN110891023A (zh) * | 2019-10-31 | 2020-03-17 | 上海赫千电子科技有限公司 | 一种基于优先级策略的信号路由转换方法及装置 |
CN113114708A (zh) * | 2021-06-16 | 2021-07-13 | 奥特酷智能科技(南京)有限公司 | 一种Zonal控制器数据转发方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN113746815A (zh) | 2021-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113746815B (zh) | 数据转发方法、装置、可读存储介质及控制终端 | |
CN110891023B (zh) | 一种基于优先级策略的信号路由转换方法及装置 | |
KR101462551B1 (ko) | 차량 통신 네트워크 | |
JP5056762B2 (ja) | データパケット送受信システム、データパケット送受信方法およびデータパケット送受信プログラム | |
US6430628B1 (en) | Method and apparatus for reducing direct memory access transfers using smart coalescing | |
US20050276222A1 (en) | Platform level overload control | |
EP3996337A1 (en) | Service data transmission method and device | |
US8139481B2 (en) | Method and equipment for shaping transmission speed of data traffic flow | |
CN111245743A (zh) | 一种信息处理方法、存储介质、网关及汽车 | |
KR20220098176A (ko) | 도로 사용자와 적어도 하나의 다른 도로 사용자 간의 통신을 위한 통신 네트워크에서의 메시지 전송 방법 | |
US20070067524A1 (en) | System for transmitting and receiving data | |
CN210380905U (zh) | 一种基于优先级策略的信号路由转换装置及汽车 | |
CN110071835B (zh) | 一种智能网联车安全预警分发方法及*** | |
CN105530196B (zh) | 一种afdx终端***基于子虚链路的调度方法 | |
CN106063301B (zh) | 用于确定要丢弃的车辆对x消息的数量的方法和*** | |
CN112134800A (zh) | 一种数据的路由方法、网关、网络路由***及车辆 | |
CN112399381B (zh) | 一种数据传输方法及车载以太网络传输*** | |
CN113992707A (zh) | 一种数据传输方法、装置、车载以太网设备及存储介质 | |
US8908710B2 (en) | Routing packets through external memory | |
CN112751715A (zh) | 一种车载avb协议的带宽预留优化方法、***及存储介质 | |
US20160080283A1 (en) | Communication system using audio video bridging | |
KR101514398B1 (ko) | 가상 버스 개념의 차량용 게이트웨이 및 이의 메시지 전송 방법 | |
JP2004120221A (ja) | 移動体内情報処理装置 | |
US20040146059A1 (en) | Method for controlling the bandwidth of a bridge device | |
US8018957B2 (en) | Gateway system with automatic dispatch mechanism and method thereof |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |