CN108234352A - 电子控制单元和数据发送方法 - Google Patents
电子控制单元和数据发送方法 Download PDFInfo
- Publication number
- CN108234352A CN108234352A CN201711296304.7A CN201711296304A CN108234352A CN 108234352 A CN108234352 A CN 108234352A CN 201711296304 A CN201711296304 A CN 201711296304A CN 108234352 A CN108234352 A CN 108234352A
- Authority
- CN
- China
- Prior art keywords
- data
- buffer
- message
- stored
- state
- 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.)
- Granted
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 93
- 238000000034 method Methods 0.000 title claims abstract description 14
- 239000000872 buffer Substances 0.000 claims abstract description 312
- 238000004891 communication Methods 0.000 claims abstract description 63
- 238000007726 management method Methods 0.000 description 6
- 230000003139 buffering effect Effects 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 210000004209 hair Anatomy 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000002716 delivery method Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 230000001404 mediated effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000000352 storage cell Anatomy 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/18—Handling requests for interconnection or transfer for access to memory bus based on priority control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
-
- 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/6295—Queue scheduling characterised by scheduling criteria using multiple queues, one for each individual QoS, connection, flow or priority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
公开了电子控制单元和数据发送方法。该电子控制单元连接到通信线,并且包括:包括多个发送缓冲器区域的发送请求缓冲器;包括多个消息缓器区域的消息缓冲器;发送控制器,其被配置成将存储在消息缓冲器中的数据发送到通信线;以及中央处理单元。该中央处理单元被编程为:从存储在发送请求缓冲器中的多条数据中搜索具有比存储在消息缓冲器中的数据更高的优先级的数据,从多个消息缓冲器区域中依次搜索没有存储数据的空闲缓冲器区域,将已经搜索到的数据设置在已经搜索到的空闲缓冲器区域中。
Description
技术领域
本公开内容涉及电子控制单元和数据发送方法。
背景技术
在相关技术中,已知一种包括输出单元的数据发送装置,该输出单元利用分配的优先级信息将具有高优先级的数据优先地输出到总线。相关技术的数据发送装置包括多个消息缓冲器以及分配单元,当所存储数据的所分配的优先级信息的优先级较高时,分配单元将存储在发送缓冲器中的数据写入具有高区域优先级的消息缓冲器。输出单元将存储在消息缓冲器中的多条数据之中的、存储在具有高区域优先级的消息缓冲器中的数据优先地输出到总线。
利用该数据发送装置,可以防止使存储在具有高区域优先级的消息缓冲器中的数据向总线的输出等待,直到完成了存储在具有低区域优先级的消息缓冲器中的数据向总线的输出。关于这样的数据发送装置的相关文献的示例可以包括日本未审查的专利申请公开第2014-033339号(JP 2014-033339 A)。
发明内容
在相关技术中,根据分配的优先级信息具有高优先级的组中的数据所存储的具有高区域优先级的消息缓冲器和具有低优先级的组中的消息所存储的具有低区域优先级的消息缓冲器分离地存在。因此,将根据分配的优先级信息具有高优先级的组中的数据存储在具有高区域优先级的消息缓冲器中不用等到具有低优先级的组中的数据从具有低区域优先级的消息缓冲器中消失。
然而,针对个别组可能出现滞留现象,在该现象中,利用一组中分配的优先级信息在消息缓冲器中存储具有高优先级的数据要等到根据一组中分配的优先级信息具有低优先级的数据从消息缓冲器消失。不管是根据分配的优先级信息具有高优先级的组或具有低优先级的组,都可能出现滞留现象。
为了进一步抑制这种滞留现象的发生,可以考虑以下对策:增加具有不同区域优先级的消息缓冲器的数目,以缩小将要存储在一个消息缓冲器中的数据的优先级的范围。然而,在所提出的对策中,当对发生滞留现象的抑制程度进一步增加时,所需的消息缓冲器的数目会增加。因此难以进一步节省消息缓冲器的数目。
因此,本公开内容提供了能够进一步抑制滞留现象的发生并且进一步节省消息缓冲器的数目的电子控制装置,在该滞留现象中,利用分配的优先级信息在消息缓冲器中存储具有高优先级的数据要等到根据分配的优先级信息具有低优先级的数据从消息缓冲器中消失。
本公开内容的第一方面涉及一种连接到通信线的电子控制单元。所述电子控制单元包括:包括多个发送缓冲器区域的发送请求缓冲器;包括多个消息缓冲器区域的消息缓冲器;发送控制器,其被配置成将存储在所述消息缓冲器中的数据发送到所述通信线;以及中央处理单元。所述中央处理单元被编程为:从存储在所述发送请求缓冲器中的多条数据中搜索具有比存储在所述消息缓冲器中的数据更高的优先级的数据,从所述多个消息缓冲器区域中依次搜索没有存储数据的空闲缓冲器区域,将已经搜索到的数据设置在已经搜索到的空闲缓冲器区域中。
采用本公开内容的第一方面的电子控制装置,没有存储数据的空闲缓冲器区域被中央处理单元从消息缓冲器区域中依次搜索出。中央处理单元搜索出的数据被设置在中央处理单元搜索出的空闲缓冲器区域中。因此,即使消息缓冲器区域中存在存储有消息的一个或多个缓冲器区域(非空闲缓冲器区域),中央处理单元搜索出的数据也被设置在除了非空闲缓冲器区域以外的缓冲器区域(即空闲缓冲器区域)中。因此,在搜索到空闲缓冲器区域时,从存储在发送请求缓冲器中的多条数据中搜索出的、具有所分配的优先级信息中的高优先级的数据不用等到非空闲缓冲器区域转变为空闲缓冲器区域后才被存储,而是被存储在搜索到的空闲缓冲器区域中。因此可以进一步抑制滞留现象的出现,在该滞留现象中,利用分配的优先级信息将具有高优先级的数据存储在消息缓冲器中要等到根据所分配的优先级信息具有低优先级的数据从消息缓冲器中消失。
此外,采用本公开内容的第一方面的电子控制单元,从消息缓冲器区域中依次搜索设置有中央处理单元所搜索出的数据的空闲缓冲器区域。因此,设置有中央处理单元所搜索出的数据的缓冲器区域不会固定为消息缓冲器区域中的特定缓冲器,而是动态变化的。因此,由于不需要准备与发送缓冲器区域相同数目的消息缓冲器区域,所以可以相对于发送缓冲器区域的数目减少消息缓冲器区域的数目。因此可以进一步节省消息缓冲器区域的数目。
在本公开内容的第一方面的电子控制单元中,电子控制单元还可以包括管理缓冲器。中央处理单元可以被编程为:针对每个消息缓冲器区域,在管理缓冲器中存储表示数据存在状态和数据缺失状态中的任一个状态的数据存在或缺失信息,在所述数据存在状态下存储有数据,在所述数据缺失状态下没有存储数据;针对消息缓冲器区域中设置有数据的缓冲器区域,将数据存在或缺失信息的状态从数据缺失状态改为数据存在状态;针对消息缓冲器区域中已经完成了到通信线的数据发送的缓冲器区域,将数据存在或缺失信息的状态从数据存在状态改为数据缺失状态;以及基于数据存在或缺失信息的状态是数据存在状态还是数据缺失状态,从消息缓冲器区域中搜索没有存储数据的空闲缓冲器区域。
根据本公开内容的第一方面,可以容易地管理每个消息缓冲器区域是处于存储有数据的数据存在状态还是没有存储数据的数据缺失状态。因此,中央处理单元能够从消息缓冲器区域中容易地搜索出没有存储数据的空闲缓冲器区域。
在本公开内容的第一方面的电子控制单元中,中央处理单元可以被编程为在存储在发送请求缓冲器中的多条数据中搜索具有最高优先级的数据。
采用本公开内容的第一方面的电子控制单元,没有存储数据的空闲缓冲器区域被中央处理单元从消息缓冲器区域中依次搜索出。存储在发送请求缓冲器中的多条数据中具有最高优先级的数据被设置在中央处理单元所搜索出的空闲缓冲器区域中。因此,即使消息缓冲器区域中存在一个或更多个非空闲缓冲器区域,存储在发送请求缓冲器中的多条数据中具有最高优先级的数据也被设置在空闲缓冲器区域中。因此,在搜索到空闲缓冲器区域时,存储在发送请求缓冲器中的多条数据中具有最高优先级的数据不用等到非空闲缓冲器变为空闲缓冲器后才被存储,而是被存储在已经搜索出的空闲缓冲器区域中。因此可以进一步抑制滞留现象的出现,在该滞留现象中,将存储在发送请求缓冲器中的数据中的、具有最高优先级的数据存储在消息缓冲器中要等到根据分配的优先级信息具有低优先级的数据从消息缓冲器中消失。
在本公开内容的第一方面的电子控制单元中,发送控制器可以被配置成向通信线发送存储在消息缓冲器中的多条数据中具有最高优先级的数据。
根据本公开内容的第一方面,消息缓冲器中具有最高优先级的数据被发送到通信线。因此,可以进一步抑制发送滞留现象的出现,在该滞留现象中,等到存储在消息缓冲器中的、具有分配的优先级信息中的低优先级的数据的发送完成后才进行存储在消息缓冲器中的、具有分配的优先级信息中的最高优先级的数据的发送。
根据本公开内容的第一方面,可以进一步抑制滞留现象的出现,在该滞留现象中,利用分配的优先级信息将具有高优先级的数据存储在消息缓冲器中要等到根据分配的优先级信息具有低优先级的数据从消息缓冲器中消失,并且可以进一步节省消息缓冲器区域的数目。
本公开内容的第二方面涉及一种将数据从电子控制单元发送到通信线的数据发送方法,所述电子控制单元连接到所述通信线,并且包括发送请求缓冲器、消息缓冲器、中央处理单元以及发送控制器,所述发送请求缓冲器包括多个发送缓冲器区域,所述消息缓冲器包括多个消息缓冲器区域。所述数据发送方法包括:由所述中央处理单元从存储在所述发送请求缓冲器中的多条数据中搜索具有比存储在所述消息缓冲器中的数据更高的优先级的数据;由所述中央处理单元从所述消息缓冲器区域中依次搜索没有存储数据的空闲缓冲器区域;由所述中央处理单元将已经搜索到的数据设置在已经搜索到的空闲缓冲器区域中;以及由所述发送控制器将存储在所述消息缓冲器中的数据发送到所述通信线。
在本公开内容的第二方面的数据发送方法中,还可以包括:由所述中央处理单元针对每个消息缓冲器区域在所述电子控制单元所包括的管理缓冲器中存储表示数据存在状态和数据缺失状态中的任一个状态的数据存在或缺失信息,在所述数据存在状态下存储有数据,在所述数据缺失状态下没有存储数据;由所述中央处理单元针对所述消息缓冲器区域中的设置有数据的缓冲器区域,将所述数据存在或缺失信息的状态从所述数据缺失状态改变为所述数据存在状态;由所述中央处理单元针对所述消息缓冲器区域中已经完成了到所述通信线的数据发送的缓冲器区域,将所述数据存在或缺失信息的状态从所述数据存在状态改变为所述数据缺失状态。可以由所述中央处理单元基于所述数据存在或缺失信息的状态是所述数据存在状态还是所述数据缺失状态,从所述消息缓冲器区域中搜索没有存储数据的空闲缓冲器区域。
在本公开内容的第二方面的数据发送方法中,可以由中央处理单元在存储在发送请求缓冲器中的多条数据中搜索具有最高优先级的数据。
在本公开内容的第二方面的数据发送方法中,可以由中央处理单元向通信线发送存储在消息缓冲器中的多条数据中具有最高优先级的数据。
附图说明
以下将参照附图描述本发明的示例性实施方式的特征、优点以及技术与工业意义,在附图中相同的附图标记表示相同的元件,并且其中:
图1是示出执行数据发送的电子控制单元的硬件配置和该电子控制单元的操作的示例的图;
图2是示出消息缓冲器状态管理装置的功能配置的示例的图;
图3是示出电子控制单元的操作的流程的示例的流程图;
图4是示出搜索高优先级消息的处理的流程的示例的流程图;
图5是示出空位搜索/发送请求处理的流程的示例的流程图;以及
图6是示出发送完成处理的流程的示例的流程图。
具体实施方式
在下文中,将参照附图描述根据本公开内容的实施方式。
图1是示出执行数据发送的电子控制单元的硬件配置和该电子控制单元的操作的示例的图。发送电子控制单元(ECU)1是连接到通信线的电子控制单元的示例,并且通信总线60是通信线的示例。发送ECU 1和通信总线60安装在交通工具上。诸如接收ECU的至少一个接收装置(未示出)连接到通信总线60,该接收ECU接收发送ECU 1已经发送到通信总线60的数据。在图1所示的通信系统中,发送ECU 1与接收ECU之间的数据发送和接收通过控制器局域网络(CAN)通信来进行。
发送ECU 1连接到通信总线60并将消息发送到通信总线60。所述消息是数据的示例。接收ECU连接到通信总线60并从通信总线60接收消息。通信总线60是如下传送路径:通过该传送路径,在发送ECU 1与接收ECU之间发送和接收的消息被传送。
发送ECU 1是包括微型计算机11和通信控制器17的电子控制单元的示例。微型计算机11是包括发送请求缓冲器12和消息缓冲器状态管理装置10(以下称为“管理装置10”)的微型计算机的示例。通信控制器17是控制微型计算机11与通信总线60之间的消息发送和接收的硬件装置。通信控制器17包括发送完成寄存器18、发送控制器19和发送消息缓冲器20。
发送请求缓冲器12是预定上层应用程序请求发送ECU 1发送到通信总线60的消息所被存储的存储区域。上层应用程序是在发送ECU 1中执行的程序或者在除发送ECU 1以外的ECU中执行的程序。
发送请求缓冲器12包括多个发送缓冲器区域[j]。在此,j表示非负整数。在图1中示出了M个发送缓冲器区域[0]至[M-1]。M表示正整数。图1示出了所分配的优先级信息的优先级为低的消息A被存储在发送缓冲器区域[0]中,所分配的优先级信息的优先级为中的消息B被存储在发送缓冲器区域[1]中,并且所分配的优先级信息的优先级为高的消息C被存储在发送缓冲器区域[2]中的状态的示例。
分配给每个消息的优先级表示在通信调停(communication mediation)中的优先级,其中,与在通信总线60上传送的其他消息一起进行该通信调停。例如,分配给每个消息的标识号表示在通信调停中的优先级,并且其表示:随着标识号的值减小,在通信调停中分配的优先级信息的优先级提高(即,在与其他消息的通信调停中容易胜出)。标识号的具体示例可以包括公知的CAN_ID。
管理装置10管理发送消息缓冲器20的状态。发送消息缓冲器20是在要发送到通信总线60的消息被发送到通信总线60之前暂时存储该消息的存储区域。发送消息缓冲器20包括多个消息缓冲器区域[i]。在此,i表示非负整数。图1示出了N个消息缓冲器区域[0]至[N-1]。N表示小于M的正整数。管理装置10管理所述多个消息缓冲器区域[i]中的每个消息缓冲器区域的各自状态是“发送中”还是“空闲”。
管理装置10包括作为处理器的示例的中央处理单元(CPU)15、只读存储器(ROM)16、以及随机存取存储器(RAM)21。RAM 21包括保持缓冲器(holding buffer)13和管理缓冲器14。
保持缓冲器13是暂时存储从发送请求缓冲器12获取的消息的存储区域。
管理缓冲器14是针对各个消息缓冲器区域[i]存储内部保持信息[i]的存储区域,该内部保持信息[i]表示存储有数据的数据存在状态和没有存储数据的数据缺失状态中的任一状态。内部保持信息[i]是数据存在或缺失信息的示例。
内部保持信息[i]为“发送中”的状态表示数据存在状态,即,在具有与内部保持信息[i]相同的索引i的消息缓冲器区域[i]中存储有数据的状态。更具体地,在具有与内部保持信息[i]相同的索引i的消息缓冲器区域[i]中所存储的消息尚未被发送到通信总线60的状态被定义为“发送中”。
在另一方面,内部保持信息[i]为“空闲”的状态表示数据缺失状态,即,在具有与内部保持信息[i]相同的索引i的消息缓冲器区域[i]中没有存储数据的状态。更具体地,在具有与内部保持信息[i]相同的索引i的消息缓冲器区域[i]中没有存储消息的状态被定义为“空闲”。
图2是示出消息缓冲器状态管理装置的功能配置的示例的图。管理装置10包括消息搜索单元31、空闲缓冲器搜索单元32、消息设置单元33以及状态管理单元34。在下文中,将参照图1描述每个单元的处理功能。
消息搜索单元31包括在电子控制单元中。消息搜索单元31从发送请求缓冲器12中的M个发送缓冲器区域[0]至[M-1]中所存储的消息中搜索比发送消息缓冲器20中的N个消息缓冲器区域[0]至[N-1]中所存储的消息具有更高优先级的消息。消息搜索单元31在M个发送缓冲器区域[0]至[M-1]中所存储的消息中搜索例如具有最高优先级的消息。
空闲缓冲器搜索单元32包括在电子控制单元中。空闲缓冲器搜索单元32从N个消息缓冲器区域[0]至[N-1]中依次搜索没有存储数据的空闲缓冲器区域。
消息设置单元33包括在电子控制单元中。消息设置单元33将由消息搜索单元31搜索到的消息设置在由空闲缓冲器搜索单元32搜索到的空闲缓冲器区域中。
状态管理单元34包括在电子控制单元中。状态管理单元34针对N个消息缓冲器区域[0]至[N-1]中的由消息设置单元33设置了消息的缓冲器,将内部保持信息[i]的状态从“空闲”改为“发送中”。在另一方面,状态管理单元34针对N个消息缓冲器区域[0]至[N-1]中的已经通过发送控制器19完成向通信总线60发送消息的缓冲器,将内部保持信息[i]的状态从“发送中”改为“空闲”。
因此,空闲缓冲器搜索单元32能够基于内部保持信息[i]的状态是“空闲”还是“发送中”从N个消息缓冲器区域[0]至[N-1]中搜索没有存储消息的空闲缓冲器区域。
消息搜索单元31、空闲缓冲器搜索单元32、消息设置单元33以及状态管理单元34中的各个单元的处理功能由执行ROM 16中所存储的程序的CPU 15来实现。该程序包括使CPU 15执行处理过程的程序。RAM 21存储各种类型的数据,包括使用由CPU 15执行的程序的计算的中间数据。
在图1中,发送控制器19控制发送消息缓冲器20中所存储的消息(在下文中称为“消息X”)向通信总线60的发送。消息A、B、C是消息X的示例。当消息X存储在发送消息缓冲器20中时,发送控制器19尝试将存储在发送消息缓冲器20中的消息X发送给通信总线60。当消息X已经在与要在通信总线60上发送的其他消息的通信调停中胜出时,发送控制器19将表示已经完成向通信总线60发送消息X的发送完成数据存储在发送完成寄存器18中。发送完成寄存器18是数据存储单元的示例。发送完成数据也被称为发送完成标记数据。通信控制器17包括针对N个消息缓冲器区域[0]至[N-1]中的每一个的发送完成寄存器18。
当发送控制器19完成向通信总线60发送消息X时,发送控制器19在用于已经完成发送的消息X的发送完成寄存器18中存储用于表示已经完成向通信总线60发送消息X的发送完成数据。在另一方面,从针对已经完成发送的消息X将消息X的发送完成数据存储在发送完成寄存器18中到下一次执行向通信总线60的消息发送,发送控制器19从发送完成寄存器18中删除发送完成数据。
此外,当完成向通信总线60发送消息X时,存储有已经完成发送的消息X的消息缓冲器区域[i]变为“空闲”。
接下来将参照图1描述发送ECU 1的操作示例。
一个操作示例的前提是以下情况:由于在与消息A和消息B的通信调停中失败而没有完成向通信总线60的发送,其中消息A存储在消息缓冲器区域[0]中并具有低优先级,消息B存储在消息缓冲器区域[2]中并具有中优先级。在此情况下,将描述在具有高优先级的消息C被存储在发送请求缓冲器12中的发送缓冲器区域[2]中之后的操作示例。
消息搜索单元31从发送请求缓冲器12中的M个发送缓冲器区域[0]至[M-1]中所存储的消息中获取比发送消息缓冲器20中的N个消息缓冲器区域[0]至[N-1]中所存储的消息具有更高优先级的消息。在此情况下,消息搜索单元31从发送缓冲器区域[0]、[1]、[2]中所存储的消息A、B、C中获取比消息缓冲器区域[0]、[2]中所存储的消息A、B具有更高优先级的消息C,并将消息C存储在保持缓冲器13中。从发送缓冲器获取的消息从该发送缓冲器中消失。
空闲缓冲器搜索单元32基于存储在管理缓冲器14中的内部保持信息[i]来指明消息缓冲器区域[1]是空闲缓冲器区域。消息设置单元33将由消息搜索单元31搜索到的消息C设置在由空闲缓冲器搜索单元32搜索到的空闲消息缓冲器区域[1]中。
发送控制器19将消息缓冲器区域[0]至[N-1]中所存储的消息中的、具有最高优先级的消息发送到通信总线60。因此,发送控制器19能够将消息缓冲器区域[0]、[1]、[2]中所存储的消息A、C、B中的、具有最高优先级的消息C早于消息A、B发送到通信总线60。
因此,可以进一步抑制滞留现象的出现,在该滞留现象中,将具有最高优先级的消息C存储在发送消息缓冲器20中要等到具有相对低的优先级的消息A、B从发送消息缓冲器20中消失。
此外,可以进一步抑制发送滞留现象的出现,在该发送滞留现象中,发送消息缓冲器20中所存储的具有最高优先级的消息C的发送要等到发送消息缓冲器20中所存储的具有相对低的优先级的消息A、B的发送完成。
图3是示出执行数据发送的电子控制单元的操作的流程的示例的流程图。作为电子控制单元的示例的发送ECU 1的管理装置10周期性地重复图3所示的从开始到结束的处理。
当需要向通信总线60发送消息时,在步骤S100中管理装置10执行搜索高优先级消息的处理,然后在步骤S200中执行空位搜索/发送请求处理。
图4是示出搜索高优先级消息的处理的流程的示例的流程图。
在步骤S110中,管理装置10的消息搜索单元31将j设置为零,以初始化循环计数器。
在步骤S120中,消息搜索单元31确定j是否等于或小于发送缓冲器区域[j]的缓冲级(buffer stage)的数目M。当消息搜索单元31确定j等于或小于发送缓冲器区域[j]的缓冲级的数目M时,消息搜索单元31执行步骤S130的处理。
在步骤S130中,消息搜索单元31确定发送缓冲器区域[j]是否“空闲”。当发送缓冲器区域[j]为“空闲”(在步骤S130中为“是”)时,消息没有被存储在发送缓冲器区域[j]中,因此消息搜索单元31使j增加1,以通过搜索确定另一发送缓冲器区域是否空闲(步骤S160)。消息搜索单元31在j增加之后执行步骤S120的处理。
在另一方面,消息搜索单元31确定发送缓冲器区域[j]不是“空闲”(在步骤S130中为“否”),则发送缓冲器区域[j]中存储有消息。在此情况下,消息搜索单元31执行步骤S140的处理。
在步骤S140中,消息搜索单元31确定存储在发送缓冲器区域[j]中的优先级是否高于当前存储在保持缓冲器13中的消息的优先级。
当存储在发送缓冲器区域[j]中的优先级高于当前存储在保持缓冲器13中的消息的优先级时,消息搜索单元31获取存储在发送缓冲器区域[j]中的消息。消息搜索单元31用所获取的消息来替代当前存储在保持缓冲器13中的消息(步骤S150)。在步骤S150之后,消息搜索单元31使j增加1,以搜索另一发送缓冲器区域(步骤S160)。
在另一方面,当存储在发送缓冲器区域[j]中的优先级不高于当前存储在保持缓冲器13中的消息的优先级时,消息搜索单元31执行步骤S160的处理在,而不从发送缓冲器区域[j]中获取消息。
在步骤S160之后再次执行步骤S120的处理。在步骤S120中,当消息搜索单元31确定索引j已经超过发送缓冲器区域[j]的缓冲级的数目M时,这意味着已经搜索了全部M个发送缓冲器区域[0]至[M-1],因此结束搜索高优先级消息的处理。
当搜索高优先级消息的处理结束时,M个发送缓冲器区域[0]至[M-1]中所存储的消息中的、具有最高优先级的消息被存储在保持缓冲器13中。在搜索高优先级消息的处理结束之后执行空位搜索/发送请求处理(图5)。
图5是示出空位搜索/发送请求处理的流程的示例的流程图。
在步骤S210中,管理装置10的空闲缓冲器搜索单元32将i设置为零,以初始化循环计数器。
在步骤S220中,空闲缓冲器搜索单元32确定i是否等于或小于内部保持信息[i]的索引的总数目N。当空闲缓冲器搜索单元32确定i等于或小于内部保持信息[i]的索引的总数目N时,空闲缓冲器搜索单元32执行步骤S230的处理。
在步骤S230中,空闲缓冲器搜索单元32确定内部保持信息[i]的状态是否为“空闲”。当内部保持信息[i]不是“空闲”(在步骤S230中为“否”)时,这意味着在消息缓冲器区域[i]中存储有消息。因此,空闲缓冲器搜索单元32使i增加1,以在另一位置处搜索消息缓冲器区域[i]的空位(步骤S240)。
在i增加之后空闲缓冲器搜索单元32再次执行步骤S220的处理。当在步骤S220中空闲缓冲器搜索单元32确定i已经超过内部保持信息[i]的索引的总数目N(步骤S220中为“否”)时,这意味着已经搜索了N个消息缓冲器区域[0]至[N-1]的全部空位。在此情况下,执行步骤S250的处理。
在另一方面,当在步骤S230中空闲缓冲器搜索单元32确定内部保持信息[i]的状态是“空闲”(步骤S230中为“是”)时,空闲缓冲器搜索单元32不执行步骤S240而是执行步骤S250的处理。也就是说,尽管存在还没有被搜索以确定该消息缓冲器是否空闲的消息缓冲器区域[i],仍执行步骤S250的处理。
在步骤S250中,空闲缓冲器搜索单元32确定是否已经在N个消息缓冲器区域[0]至[N-1]中的任一个中找到空位。当i小于N时,空闲缓冲器搜索单元32确定在第i个消息缓冲器中找到空位。
在步骤S260中,消息设置单元33将当前存储在保持缓冲器13中的消息设置在由空闲缓冲器搜索单元32搜索到的空闲缓冲器区域(第i个消息缓冲器区域)中。在步骤S270中,状态管理单元34将具有与第i个消息缓冲器区域相同的索引i的内部保持信息[i]的状态从“空闲”改为“发送中”。此后继续图3中的步骤S100。
在另一方面,在步骤S250中,当i等于或大于N时,空闲缓冲器搜索单元32确定全部消息缓冲器区域[i]中没有空位。此后继续图3中的步骤S100。
图6是示出发送完成处理的流程的示例的流程图。状态管理单元34周期性地重复图6所示的从开始到结束的处理。
在步骤S310中,状态管理单元34指明内部保持信息[i]为“发送中”的索引i。
在步骤S320中,状态管理单元34确定发送完成数据是否存储在具有步骤S310中所指明的索引i的消息缓冲器区域[i]的发送完成寄存器18中。当发送完成数据存储在具有步骤S310中所指明的索引i的消息缓冲器区域[i]的发送完成寄存器18中时,状态管理单元34将内部保持信息[i]的状态从“发送中”改为“空闲”。当发送完成数据没有存储在具有步骤S310中所指明的索引i的消息缓冲器区域[i]的发送完成寄存器18中时,状态管理单元34将内部保持信息[i]的状态保持为“发送中”。
因此,采用根据本实施方式的电子控制单元,没有存储消息的空闲缓冲器区域被空闲缓冲器搜索单元32从多个消息缓冲器区域[i]中依次搜索出。由消息搜索单元31搜索出的数据被设置在由空闲缓冲器搜索单元32搜索出的空闲缓冲器中。因此,即使在多个消息缓冲器区域[i]中存在着存储有消息的一个或多个缓冲器区域(非空闲缓冲器区域),由消息搜索单元31搜索出的数据也被设置在除了非空闲缓冲器区域以外的缓冲器区域(即空闲缓冲器区域)中。因此,在搜索到空闲缓冲器区域时,从多个发送缓冲器区域[j]中所存储的消息中搜索出的具有所分配的优先级信息中的高优先级的数据不用等到非空闲缓冲器转为空闲缓冲器后才被存储,而是被存储在搜索到的空闲缓冲器区域中。因此可以进一步抑制滞留现象的出现,在该滞留现象中,使用分配的优先级信息将具有高优先级的数据存储在消息缓冲器中要等到根据分配的优先级信息具有低优先级的数据从消息缓冲器中消失。
此外,采用根据本实施方式的电子控制单元,从多个消息缓冲器区域[i]中依次搜索设置有消息搜索单元31所搜索的消息的空闲缓冲器区域。因此,已经设置有消息搜索单元31所搜索的消息的缓冲器区域不会固定为多个消息缓冲器区域[i]中的特定缓冲器区域,而是动态变化的。因此,由于不需要准备与发送缓冲器区域[j]相同数目的消息缓冲器区域,所以可以相对于发送缓冲器区域[j]的数目减少消息缓冲器区域[i]的数目。因此可以节省消息缓冲器区域[i]的数目。
尽管已经利用实施方式描述了执行数据发送的电子控制单元,但是本公开内容不限于这些实施方式。可以在本公开内容的范围内进行各种修改和改进,例如部分或全部其他实施方式的组合或替换。
Claims (8)
1.一种连接到通信线的电子控制单元,所述电子控制单元的特征在于包括:
包括多个发送缓冲器区域的发送请求缓冲器;
包括多个消息缓冲器区域的消息缓冲器;
发送控制器,其被配置成将存储在所述消息缓冲器中的数据发送到所述通信线;以及
中央处理单元,其被编程为:
从存储在所述发送请求缓冲器中的多条数据中搜索具有比存储在所述消息缓冲器中的数据更高的优先级的数据,
从所述多个消息缓冲器区域中依次搜索没有存储数据的空闲缓冲器区域,
将已经搜索到的数据设置在已经搜索到的空闲缓冲器区域中。
2.根据权利要求1所述的电子控制单元,其特征在于还包括管理缓冲器,其中
所述中央处理单元被编程为:
针对每个所述消息缓冲器区域,在所述管理缓冲器中存储表示数据存在状态和数据缺失状态中的任一个状态的数据存在或缺失信息,在所述数据存在状态下存储有数据,在所述数据缺失状态下没有存储数据,
针对所述消息缓冲器区域中的设置有数据的缓冲器区域,将所述数据存在或缺失信息的状态从所述数据缺失状态改变为所述数据存在状态,
针对所述消息缓冲器区域中已经完成了到所述通信线的数据发送的缓冲器区域,将所述数据存在或缺失信息的状态从所述数据存在状态改变为所述数据缺失状态,以及
基于所述数据存在或缺失信息的状态是所述数据存在状态还是所述数据缺失状态,从所述消息缓冲器区域中搜索没有存储数据的空闲缓冲器区域。
3.根据权利要求1或2所述的电子控制单元,其特征在于,所述中央处理单元被编程为在所述发送请求缓冲器所存储的多条数据中搜索具有最高优先级的数据。
4.根据权利要求1至3中任一项所述的电子控制单元,其特征在于,所述发送控制器被配置成向所述通信线发送所述消息缓冲器所存储的多条数据中的具有最高优先级的数据。
5.一种将数据从电子控制单元发送到通信线的数据发送方法,所述电子控制单元连接到所述通信线,并且包括发送请求缓冲器、消息缓冲器、中央处理单元以及发送控制器,所述发送请求缓冲器包括多个发送缓冲器区域,所述消息缓冲器包括多个消息缓冲器区域,所述数据发送方法的特征在于包括:
由所述中央处理单元从存储在所述发送请求缓冲器中的多条数据中搜索具有比存储在所述消息缓冲器中的数据更高的优先级的数据;
由所述中央处理单元从所述消息缓冲器区域中依次搜索没有存储数据的空闲缓冲器区域;
由所述中央处理单元将已经搜索到的数据设置在已经搜索到的空闲缓冲器区域中;以及
由所述发送控制器将存储在所述消息缓冲器中的数据发送到所述通信线。
6.根据权利要求5所述的数据发送方法,其特征在于,还包括:
由所述中央处理单元针对每个所述消息缓冲器区域在所述电子控制单元所包括的管理缓冲器中存储表示数据存在状态和数据缺失状态中的任一个状态的数据存在或缺失信息,在所述数据存在状态下存储有数据,在所述数据缺失状态下没有存储数据;
由所述中央处理单元针对所述消息缓冲器区域中的设置有数据的缓冲器区域,将所述数据存在或缺失信息的状态从所述数据缺失状态改变为所述数据存在状态;以及
由所述中央处理单元针对所述消息缓冲器区域中已经完成了到所述通信线的数据发送的缓冲器区域,将所述数据存在或缺失信息的状态从所述数据存在状态改变为所述数据缺失状态;
其中,由所述中央处理单元基于所述数据存在或缺失信息的状态是所述数据存在状态还是所述数据缺失状态,从所述消息缓冲器区域中搜索没有存储数据的空闲缓冲器区域。
7.根据权利要求5或6所述的数据发送方法,其特征在于,由所述中央处理单元在所述发送请求缓冲器中所存储的多条数据中搜索具有最高优先级的数据。
8.根据权利要求5至7中任一项所述的数据发送方法,其特征在于,由所述中央处理单元向所述通信线发送所述消息缓冲器所存储的多条数据中的具有最高优先级的数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016-240684 | 2016-12-12 | ||
JP2016240684A JP6531750B2 (ja) | 2016-12-12 | 2016-12-12 | 送信装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108234352A true CN108234352A (zh) | 2018-06-29 |
CN108234352B CN108234352B (zh) | 2021-12-14 |
Family
ID=62201881
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711296304.7A Expired - Fee Related CN108234352B (zh) | 2016-12-12 | 2017-12-08 | 电子控制单元和数据发送方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10579555B2 (zh) |
JP (1) | JP6531750B2 (zh) |
CN (1) | CN108234352B (zh) |
DE (1) | DE102017127223A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112579488B (zh) * | 2020-12-05 | 2023-02-24 | 西安翔腾微电子科技有限公司 | 一种支持动态缓冲区分配的消息存储电路及方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1909498A (zh) * | 2006-08-22 | 2007-02-07 | 哈尔滨工业大学 | 不同优先级can报文发送和接收显示系统及检测方法 |
JP2010245793A (ja) * | 2009-04-03 | 2010-10-28 | Honda Motor Co Ltd | 車載のゲートウェイ装置 |
CN102594640A (zh) * | 2011-01-06 | 2012-07-18 | 通用汽车环球科技运作有限责任公司 | 使用发送和接收缓冲器实现的消息防丢失 |
CN102594658A (zh) * | 2011-01-06 | 2012-07-18 | 通用汽车环球科技运作有限责任公司 | 使用发送缓冲器和流量整形实现的消息防丢失 |
US20150020152A1 (en) * | 2012-03-29 | 2015-01-15 | Arilou Information Security Technologies Ltd. | Security system and method for protecting a vehicle electronic system |
CN104509047A (zh) * | 2012-07-31 | 2015-04-08 | 华为技术有限公司 | 报文传输系统中分配报文缓冲区的方法 |
US20150212958A1 (en) * | 2012-08-03 | 2015-07-30 | Toyota Jidosha Kabushiki Kaisha | Data transmission apparatus, communication control method, and communication control program |
CN106130930A (zh) * | 2016-06-24 | 2016-11-16 | 西安电子科技大学 | 一种数据帧预入队处理的装置及方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH033339A (ja) | 1989-05-31 | 1991-01-09 | Mitsubishi Electric Corp | 半導体装置 |
JP3230339B2 (ja) * | 1993-05-25 | 2001-11-19 | ヤマハ株式会社 | 通信制御装置 |
JP3445183B2 (ja) * | 1999-02-18 | 2003-09-08 | 株式会社日本自動車部品総合研究所 | データ中継装置および多重通信システム |
JP4522846B2 (ja) | 2004-12-27 | 2010-08-11 | ルネサスエレクトロニクス株式会社 | データ処理モジュール及びその送付候補メッセージの決定方法 |
JP2015023063A (ja) * | 2013-07-16 | 2015-02-02 | 株式会社東芝 | パターン形成方法及びマスクパターンデータ |
WO2016014728A1 (en) * | 2014-07-22 | 2016-01-28 | Parallel Wireless, Inc. | Signaling storm reduction from radio networks |
-
2016
- 2016-12-12 JP JP2016240684A patent/JP6531750B2/ja active Active
-
2017
- 2017-11-20 DE DE102017127223.2A patent/DE102017127223A1/de active Pending
- 2017-11-21 US US15/819,744 patent/US10579555B2/en active Active
- 2017-12-08 CN CN201711296304.7A patent/CN108234352B/zh not_active Expired - Fee Related
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1909498A (zh) * | 2006-08-22 | 2007-02-07 | 哈尔滨工业大学 | 不同优先级can报文发送和接收显示系统及检测方法 |
JP2010245793A (ja) * | 2009-04-03 | 2010-10-28 | Honda Motor Co Ltd | 車載のゲートウェイ装置 |
CN102594640A (zh) * | 2011-01-06 | 2012-07-18 | 通用汽车环球科技运作有限责任公司 | 使用发送和接收缓冲器实现的消息防丢失 |
CN102594658A (zh) * | 2011-01-06 | 2012-07-18 | 通用汽车环球科技运作有限责任公司 | 使用发送缓冲器和流量整形实现的消息防丢失 |
US20150020152A1 (en) * | 2012-03-29 | 2015-01-15 | Arilou Information Security Technologies Ltd. | Security system and method for protecting a vehicle electronic system |
CN104509047A (zh) * | 2012-07-31 | 2015-04-08 | 华为技术有限公司 | 报文传输系统中分配报文缓冲区的方法 |
US20150212958A1 (en) * | 2012-08-03 | 2015-07-30 | Toyota Jidosha Kabushiki Kaisha | Data transmission apparatus, communication control method, and communication control program |
CN106130930A (zh) * | 2016-06-24 | 2016-11-16 | 西安电子科技大学 | 一种数据帧预入队处理的装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108234352B (zh) | 2021-12-14 |
US20180165230A1 (en) | 2018-06-14 |
JP2018098616A (ja) | 2018-06-21 |
DE102017127223A1 (de) | 2018-06-14 |
JP6531750B2 (ja) | 2019-06-19 |
US10579555B2 (en) | 2020-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8990498B2 (en) | Access scheduler | |
JP3643827B2 (ja) | ルータ装置とその出力ポート回路及びその制御方法 | |
CN107959636B (zh) | Bgp消息的发送方法及装置 | |
US20020163922A1 (en) | Network switch port traffic manager having configurable packet and cell servicing | |
US20070011396A1 (en) | Method and apparatus for bandwidth efficient and bounded latency packet buffering | |
JPH0612383A (ja) | マルチプロセッサバッファシステム | |
US8463958B2 (en) | Dynamic resource allocation for transaction requests issued by initiator devices to recipient devices | |
JPH07231327A (ja) | 共有資源アクセス割当てを動的に決定する方法及び通信システム | |
US20130003755A1 (en) | Priority-aware hierarchical communication traffic scheduling | |
US7477636B2 (en) | Processor with scheduler architecture supporting multiple distinct scheduling algorithms | |
US8761190B2 (en) | Message loss prevention by using sender and receiver buffers in event-triggered distributed embedded real-time systems | |
CN108234352A (zh) | 电子控制单元和数据发送方法 | |
JP4164771B2 (ja) | ロードバランス型スイッチ装置、及びロードバランス型スイッチ方法 | |
CN110908939B (zh) | 一种报文处理方法、装置及网络芯片 | |
CN113157465B (zh) | 基于指针链表的消息发送方法及装置 | |
US20050041637A1 (en) | Method and system for a multi-stage interconnect switch | |
US7411902B2 (en) | Method and system for maintaining partial order of packets | |
US8156265B2 (en) | Data processor coupled to a sequencer circuit that provides efficient scalable queuing and method | |
US6944171B2 (en) | Scheduler method and device in a switch | |
JPH11120014A (ja) | マルチプロセッサ装置 | |
JP2000503179A (ja) | 交換装置 | |
JP3713977B2 (ja) | リアルタイム分散システム | |
US11546276B2 (en) | Communication input-output device | |
US8428075B1 (en) | System and method for efficient shared buffer management | |
CN116521234B (zh) | 一种处理器管线指令轮询调度的方法和装置 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20211214 |
|
CF01 | Termination of patent right due to non-payment of annual fee |