CN114928511A - 数据处理设备及数据处理系统 - Google Patents
数据处理设备及数据处理系统 Download PDFInfo
- Publication number
- CN114928511A CN114928511A CN202210117682.9A CN202210117682A CN114928511A CN 114928511 A CN114928511 A CN 114928511A CN 202210117682 A CN202210117682 A CN 202210117682A CN 114928511 A CN114928511 A CN 114928511A
- Authority
- CN
- China
- Prior art keywords
- message
- controller
- data processing
- memory
- access
- 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.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 74
- 239000000872 buffer Substances 0.000 claims abstract description 76
- 230000015654 memory Effects 0.000 claims abstract description 58
- 238000012546 transfer Methods 0.000 claims description 46
- 230000005540 biological transmission Effects 0.000 description 27
- 238000010586 diagram Methods 0.000 description 21
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 14
- 238000004891 communication Methods 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 6
- 238000000034 method Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000003745 diagnosis Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
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/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
-
- 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/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/08—Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
- G07C5/0808—Diagnosing performance data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
- H04L12/40013—Details regarding a bus controller
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40169—Flexible bus arrangements
- H04L12/40176—Flexible bus arrangements involving redundancy
- H04L12/40202—Flexible bus arrangements involving redundancy by using a plurality of master stations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4604—LAN interconnection over a backbone network, e.g. Internet, Frame Relay
- H04L12/462—LAN interconnection over a bridge based backbone
- H04L12/4625—Single bridge functionality, e.g. connection of two networks over a single bridge
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9042—Separate storage for different parts of the packet, e.g. header and payload
-
- 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
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/24—Negotiation of communication capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
Abstract
本公开涉及数据处理设备及数据处理系统。该数据处理设备包括:第一CPU(中央处理单元)、第一存储器、CAN(控制器局域网)控制器以及耦合到第一CPU、第一存储器和CAN控制器的系统总线,其中CAN控制器包括存储多个消息的接收缓冲器,每个消息具有不同的ID,以及DMA(直接存储器访问)控制器,该DMA控制器从存储在接收缓冲器中的消息之中选择具有第一ID的最新消息,并将所选的最新消息传送到第一存储器,其中消息是CAN消息、CAN FD消息和CAN XL消息中的一项。
Description
技术领域
本发明涉及数据处理设备和数据处理系统,更具体地,本发明涉及结合了汽车通信技术的数据处理设备和数据处理系统。
背景技术
控制器局域网CAN被广泛用作汽车的通信技术。CAN具有被称为CAN 2.0A、2.0B、CAN FD(具有灵活数据速率的CAN)的标准。还正在开发被称为CAN XL(CAN超大有效负载)的标准。CAN被用于在汽车上安装的电子控制单元ECU之间的连接,并且通过CAN执行由ECU处理的传感器信息(水温、电压等)和数据的发射和接收。
在专利文献1中公开了与CAN相关的技术。专利文献公开了用符合CAN 2.0B的备选数据替换CAN FD帧的技术。
[现有技术文献]
[专利文献]
[专利文献1]PCT专利公开号WO2014/177330
发明内容
为了使CPU在配备有CAN控制器和CPU的数据处理设备(ECU或微控制器)中处理由CAN控制器接收的消息,必须将接收到的消息传送到CPU可访问的存储器区域。由CAN控制器接收的消息包括传感器信息(水温、电压等)、ECU的诊断结果、软件更新信息等。传感器信息每隔预定时间就从传感器发射,但是CPU不需要所有的传感器信息,可能只需要最新的值。另一方面,在ECU诊断结果或软件更新信息的情况下,CPU需要所有被发射的消息。在所有接收到的消息都被传送到存储器区域之后,如果CPU挑选了所需消息,则存在CPU负载以及连接CPU、存储器和CAN控制器的总线流量增加的问题。
通过说明书和附图的描述,其他目的和新颖特征将变得清楚。
根据实施例的数据处理设备包括第一中央处理单元CPU、第一存储器、控制器局域网CAN控制器,以及耦合到第一CPU、第一存储器和CAN控制器的系统总线,其中CAN控制器包括存储多个消息的接收缓冲器,每个消息具有不同的ID,以及直接存储器访问DMA控制器,DMA控制从存储在接收缓冲器中的消息之中选择具有第一ID的最新消息、并将所选的最新消息传送到第一存储器,其中该消息是CAN消息、CAN FD消息和CAN XL消息中的一项
在根据实施例的数据处理设备中,可以抑制CPU负载和系统总线流量的增加。
附图说明
图1是根据第一实施例的数据处理系统的框图。
图2是根据第一实施例的RAM的框图。
图3是根据第一实施例的CAN控制器的框图。
图4是用于说明根据第一实施例的数据处理设备的操作的时序图。
图5是用于说明根据第一实施例的数据处理设备的操作的图。
图6是用于说明根据第一实施例的数据处理设备的操作的时序图。
图7是用于说明根据第一实施例的数据处理设备的操作的时序图。
图8是用于说明根据第一实施例的数据处理设备的操作的图。
图9是用于说明根据第一实施例的数据处理设备的操作的图。
图10是用于说明根据第一实施例的数据处理设备的操作的时序图。
图11是用于说明根据第一实施例的数据处理设备的操作的图。
图12是根据第二实施例的CAN控制器的框图。
图13是用于说明根据第二实施例的数据处理设备的操作的图。
图14是用于说明根据第二实施例的数据处理设备的操作的图。
图15是用于说明根据第二实施例的数据处理设备的操作的图。
图16是根据第三实施例的微控制器的框图。
图17是根据第四实施例的CAN控制器的框图。
图18是用于说明根据第四实施例的数据处理设备的操作的图。
图19是用于说明格式化CAN 2.0B、CAN FD和CAN XL的图。
具体实施方式
在下文中,将参照附图详细描述根据实施例的半导体器件。在说明书和附图中,相同或对应形式的元件用相同的附图编号来标示,并省略其重复描述。在附图中,为了便于描述,可以省略或简化配置。此外,至少一些实施例可以彼此任意组合。
第一实施例
图1是示出根据第一实施例的数据处理系统100的配置的框图。
如图1中所示,数据处理系统100包括作为数据处理设备的电子控制单元ECU 1-7。ECU经由CAN XL总线113、CAN总线114、以太网交换机115而被连接。
ECU1具有微控制器101、CAN XL收发器102、CAN收发器103、以太网PHY 104。微控制器101具有系统总线105、CPU 106、ROM 107、RAM 108、I/O 109、CAN控制器110、111和以太网控制器112。ECU 2至7可以具有与ECU 1相同的配置,或者可以具有不同的配置。
CPU 106执行存储在ROM 107中的程序(软件)。程序执行所需的数据和程序执行结果的数据被存储在RAM 108中。ROM 107存储由ECU实现的用于处理的程序(例如,引擎控制、制动控制、传感器控制和故障诊断)。
CAN XL收发器102在CAN XL总线113和CAN控制器110之间发射和接收信号。CAN收发器103在CAN总线114和CAN控制器103之间发射和接收信号。以太网PHY 104在以太网交换机115和以太网控制器112之间发射和接收信号。
CAN控制器110和111能够将通过CAN XL总线113和CAN总线114接收的数据传送到RAM 108。此外,CAN控制器110和111具有根据来自CPU 106等的指令向CAN XL总线113和CAN总线114发射数据的功能。以太网控制器112还具有通过以太网交换机115发射和接收数据的功能。
在第一实施例中,特征在于CAN控制器110、111和RAM 108。其他块是通用的,并且将不再详细描述。下面将描述CAN控制器110、111和RAM 108的详细描述。
图2是RAM 108的示意图。如图2中所示,RAM 108具有接收缓冲器200和接收队列201。接收缓冲器200和接收队列201具有预定的寻址空间。稍后将描述这些块的细节。
图3是CAN控制器110和111的示意图。如图3中所示,CAN控制器110和111具有CAN协议引擎300、发送处理机301、发送缓冲器302、接收处理机303、指针304、接收缓冲器305、定时器306、触发生成器307、DMA(直接存储器访问)控制器308、传送规则309,中断控制器310。
CAN协议引擎300基于CAN通信协议,创建要被发射到CAN XL总线113(CAN总线114)的数据,并解译从CAN XL总线113(CAN总线114)接收的数据。具体地,基于由发送处理机指令的数据(存储在发送缓冲器302中)来创建CAN发射数据,CAN发射数据包括诸如CAN ID、DLC(数据长度代码)、RTR(远程发射请求)、错误状态和有效负载之类的消息信息。从接收到的CAN数据中提取消息信息和有效负载。所提取的消息信息和有效负载被发送到接收处理机303。在下文中,术语“消息”包括诸如CAN ID、DLC、以及RTR和有效负载之类的信息。
接收处理机303基于指针304的指令将接收到的消息存储在接收缓冲器305中。指针304包括头指针和尾指针。头指针指示在其中在给定时间存储第一条消息的接收缓冲器305的地址。尾指针指示在其中在预定时间存储最后一条消息的接收缓冲器305的地址。细节将在后面描述。
触发生成器307基于定时器306、接收处理机303、软件请求等生成传送启动触发信号。定时器306测量预定的时间逝去。
当DMA控制器308从触发生成器307接收到传送启动触发信号时,它通过系统总线105将存储在接收缓冲器305中的数据传送到RAM 108,而无需CPU 106干预。在传送时,DMA控制器308参考传送规则309。传送规则309被存储在DMA控制器中的存储器或寄存器中。在传送完成之后,DMA控制器308将传送完成通知给中断控制器310。细节将在后面描述。
当中断控制器310从DMA控制器308接收到传送完成的通知时,它生成中断并通知软件(CPU 106)传送完成。
接下来,将参照图4至图11描述CAN控制器110(111)的具体操作。首先,在重置(通电)时,指针304的头指针和尾指针都将被设置为接收缓冲器305的起始地址。图4是示出接收处理机303的操作的流程图。当接收处理机303接收到消息时,它将消息存储在由尾指针所指示的地址处(步骤S100)。在消息被存储之后,尾指针递增(步骤S101)。每当接收到消息时执行步骤S100和S101。
图5作为具体示例示出了当依次接收六个消息时接收缓冲器305、头指针、尾指针的状态。头指针所指示的地址包含第一条消息(CAN ID 101,水温100度)。在第一条消息被存储之后,尾指针向下移动(递增)比头指针低一的位置。第二条消息(CAN ID 201,ECU 2的诊断结果)被存储在由尾指针所指示的地址,比头指针低一。随后,第三到第六条消息被存储在接收缓冲器305中,如图5中所示。分配给CAN ID 101的消息是从水温传感器发射的消息。水温传感器以预定时间间隔发射水温信息。分配给CAN ID 102的消息是从电压监视器发射的消息。与水温传感器一样,电压监视器以预定时间间隔发射电压值。ECU的每个诊断结果都由对应的ECU生成和发射。
接下来,将描述DMA控制器308在触发生成器307生成传送开始触发信号时的操作。在这里,假设触发生成器307基于定时器306的输出信号来生成传送开始触发信号,并且触发生成器307在接收到上述六个消息后生成传送开始触发信号。
图6是示出DMA控制器308在接收到传送开始触发信号时的操作的流程图。首先,DMA控制器308检查是否存在接收到的消息(步骤S200)。如果存在接收到的消息,则DMA控制器308将存储在接收缓冲器305中的消息传送到接收缓冲器200(步骤S201)。DMA控制器308还将接收缓冲器305中存储的消息传送到接收队列201(步骤S202)。在消息传送完成之后,尾指针所指示的地址被设置为头指针(步骤S203)。
图7是示出将消息传送到接收缓冲器200(步骤S201)的详细操作的流程图。首先,清除CAN ID信息(步骤S300)。稍后将描述CAN ID信息。接下来,DMA控制器308从尾指针所指示的地址到头指针所指示的地址顺序地读取接收缓冲器305中存储的消息(步骤S301)。
接下来,DMA控制器308基于传送规则309确定是否将读取的消息转发到接收缓冲器200(步骤S302)。图8示出了传送规则309的具体实施例。如图8中所示,传送规则是将分配了CAN ID 101和102的消息传送到接收缓冲器200。传送规则也是将具有CAN ID 201和202的消息传送到接收队列201。
返回到图7,将描述DMA控制器308的操作。如上所述,DMA控制器308从尾指针所指示的地址依次读出消息。因此,DMA控制器308从第六条消息(CAN ID 201,ECU4的诊断结果)依次读出。由于第四条消息(CAN ID 101,水温99度)是要被传送到接收缓冲器200的消息(步骤S302中的是),DMA控制器308检查第四条消息的CAN ID 101是否被注册在CAN ID信息中(步骤S303)。由于在CAN ID信息中什么都没有注册(步骤S303中的否),DMA控制器308将第四条消息传送到接收缓冲器200(步骤S303)并且在CAN ID信息中注册CAN ID 101(步骤S304)。DMA控制器308然后确定第三条消息(CAN ID 102,电压12V)将被传送到接收缓冲器200。由于CAN ID 102未被注册在CAN ID信息中,DMA控制器308将第三消息传送到接收缓冲器200并且在CAN ID信息中注册CAN ID 102。DMA控制器308然后确定第一条消息(CAN ID101,水温100度)将被传送到接收缓冲器200。然而,由于CAN ID 101已被注册在CAN ID信息中,所以DMA控制器308不将第一条消息传送到接收缓冲器200(步骤S303中的是)。
图9示出了作为上述传送的结果而传送到接收缓冲器200的消息。第四条消息和第三条消息被传送到接收缓冲器200。现在我们关注第一条消息和第四条消息。第一条消息和第四条消息都具有CAN ID 101并且是关于水温的信息。然而,只有第四条消息被传送到接收缓冲器200。这意味着时变传感器信息之中只有最新的传感器信息被传送到接收缓冲器200。这同样适用于应用了CAN ID 102的电压监视器。
接下来,将详细描述传送到接收队列201的消息(步骤S202)。
图10是示出向接收队列201的传送的操作的流程图。DMA控制器308从尾指针所指示的地址到头指针所指示的地址,顺序地读取接收缓冲器305中存储的消息(步骤S400)。DMA控制器308基于传送规则309确定是否将读取的消息传送到接收队列201(步骤S401)。在图5和图8中,DMA控制器308将第六、第五和第三条消息传送到接收队列201(步骤S402)。
图11示出了作为上述传送的结果而向接收队列201传送的消息。如图11中所示,具有在传送规则中指定的CAN ID的所有消息都被传送到接收队列201。这与传送到接收缓冲器200的消息不同。由于ECU的诊断结果需要所有消息,所以所有接收到的消息都被传送接收队列201。
DMA控制器308在向接收缓冲器200和接收队列201的消息传送完成之后,通知中断控制器310传送完成。当中断控制器310接收到传送完成的通知时,它生成中断并通知软件(CPU160)传送完成。
每当从触发生成器307接收到传送开始触发信号时,执行上述DMA控制器308的操作。虽然触发生成器307基于定时器306输出信号来生成传送开始触发信号,但是不限于此。可以基于接收处理机303的输出信号来生成传送开始触发信号。例如,当接收处理机303接收到预定数目的消息时,可以生成传送开始触发信号。备选地,可以根据由CPU 160执行的软件程序的指令,来生成传送开始触发信号。
如上所述,基于传送规则309,CAN控制器110仅将最新消息传送到接收缓冲器200,并且将所有消息传送到接收队列201。这减少了CPU 106工作负载和系统总线105流量。
进一步考虑一种仅传送最新传感器信息的技术。例如,通过每当接收到传感器信息(水温、电压等)时提供不断被传感器信息覆盖的存储器区域(而不是接收缓冲器305),只有最新的传感器信息可以被传送。在图5中,第一条消息(CAN ID 101,100度水温)被第四条消息(CAN ID 101,99度水温)覆盖。如果DMA控制器308将在存储器区域中剩余的第四条消息传送到接收缓冲器200,将获得与第一实施例相同的结果。为了提供不断被传感器数据覆盖的存储器区域,可以针对每个CAN ID划分存储器区域。例如,通过提供专用于CAN ID 100的存储器区域,只有分配了CAN ID 100的最新消息才被存储在该存储器区域中。但是,在这种方法中,必须为每个CAN ID提供存储器区域。在CAN标准中,CAN ID为11位(标准格式)或29位(扩展格式)。如果为每个CAN ID提供存储器区域,则必须提供大量的存储器区域(增加存储器容量),并且存储器使用效率会低下(诸如未使用或很少使用的CAN ID)。另一方面,在本第一实施例中,可以抑制这样的问题。
如上所述,根据第一实施例的数据处理设备(ECU)1具有CAN控制器110,并且CAN控制器110具有DMA控制器308,用于基于传送规则309将最新的CAN消息传送到接收缓冲器200。这允许CPU 106负载和系统总线105流量被抑制。
第二实施例
根据第二实施例的数据处理系统100与图1中的相同。但是,CAN控制器110和111被CAN控制器110a和111a代替。图12是根据第二实施例的CAN控制器110a(111a)的图。与第一实施例的不同之处在于添加了接收规则311和接收缓冲器312。
接收处理机303a基于指针304a和接收规则311的指令,将接收到的消息存储在接收缓冲器305或接收缓冲器312中。指针304a具有用于接收缓冲器305的头指针1和尾指针1以及用于接收缓冲器312的头指针2和尾指针2。
接下来,将参考图13至15描述CAN控制器110a(111a)的具体操作。图13图示了接收规则311的具体实施例。如图13中所示,接收规则是将分配了CAN ID 101和102的消息存储在接收缓冲器305中。接收规则也是将具有CAN ID 201和202的消息存储在接收缓冲器312中。图14,如第一实施例,示出了当顺序地接收六个消息时,接收缓冲器305、头指针1、尾指针1、接收缓冲器312、头指针2、尾指针2的状态。注意,接收处理机303a、头指针1、2、尾指针1、2的基本操作与第一实施例中描述的接收处理机303、头指针、尾指针的基本操作相同,并且因此将不再赘述。
DMA控制器308a基于传送规则309a将存储在接收缓冲器305和312中的消息传送到接收缓冲器200或接收队列201。图15示出了传送规则303a的具体实施例。第一实施例为每个CAN ID指定了目的地,但是第二实施例指定了源(接收缓冲器305或312)、目的地(接收缓冲器200或接收队列201)和触发器(定时器或接收时)。如图15中所示,存储在接收缓冲器305中的消息,即分配了CAN ID101和102的消息,通过使用定时器306输出信号作为触发信号而被传送到接收缓冲器200。因此,DMA控制器308a以与第一实施例相同的方式操作,并且仅将分配了CAN ID 101的消息之中的最新消息传送到接收缓冲器200。这同样适用于分配了CAN ID 102的消息。另一方面,存储在接收缓冲器312中的消息,即分配了CAN ID 201和202的消息,在接收时刻被传送到接收队列201。
作为上述传送的结果,在接收缓冲器200和接收队列201中执行与第一实施例相同的消息传送,如图9和图11中所示。
如上所述,根据第二实施例的数据处理设备具有与根据第一实施例的数据处理设备相同的效果。此外,由于用于处理最新消息的接收缓冲器305和用于处理所有消息的接收缓冲器312是分开的,因此可以分隔每个传送开始触发,并且可以执行高效的消息传送。
第三实施例
根据第三实施例的数据处理系统100与图1中的相同。然而,微控制器101被微控制器101a代替。图16是根据第三实施例的微控制器101a的框图;与第一实施例的不同之处在于CPU 106a、106b、106c、RAM 108a、108b、108c、以及冗余运算电路116、快速外围总线117、外围总线118、访问控制器119至124。
该第三实施例包括微控制器101a上的若干虚拟机(VM)。CPU 106a和RAM 108a构成VM 0。CPU 106b和RAM 108b构成VM 1。CPU 106c和RAM 108c构成VM 2。不同的操作系统运行在不同的VM上。管理程序被分配给VM 0。注意,每个VM不仅仅包括CPU和RAM。为了说明本第三实施例的特征,省略了诸如ROM之类的其他组件。
访问控制器119到124控制对资源的访问。每个VM都需要为每个VM的独立性保证FFT(不受干扰)。访问控制器119至124是用于实现FFT的控制电路。访问控制器119基于访问源的ID(总线ID)确定是否允许对RAM 108a的访问。这同样适用于访问控制器120和121。访问控制器122基于访问源的ID,来确定是否允许对CAN控制器110的访问。访问控制器123基于访问源的ID来确定是否允许对冗余运算电路116的访问。访问控制器124基于访问源的ID确定是否允许对I/O 109的访问。
在具有一个以上VM的微控制器中,CAN控制器110接收到的一个CAN消息可以被一个以上VM使用。例如,第一实施例和第二实施例中描述的温度数据可以被用于在多个VM上运行的多个应用程序中。为了应对这种情形,根据第三实施例的CAN控制器110(DMA控制器308)具有将一个CAN消息传送到多个从电路(RAM 108a至108c、以太网控制器112、冗余运算电路116、I/O 109)的功能。具体地,DMA控制器308传送如下消息,该消息具有由与消息的目的地从设备相对应的访问控制器所允许的ID。例如,假设一个CAN消息(例如,CAN ID 101,水温99度)被传送到VM 1和VM 2。访问控制器119所允许的总线ID是X和Z。访问控制器120所允许的总线ID是Y和Z。在这种情形中,DMA控制器308可以通过将具有总线ID被设置为Z的CAN消息传送到系统总线105,来同时传送CAN消息到VM 1和VM 2。CAN控制器110所接收的CAN消息与第一实施例和第二实施例相同。因此,将省略对其的描述。
将一个CAN消息传送到一个以上VM的另一种方法是使用管理程序。在这种情况下,DMA控制器308将针对VM 1和VM 2的消息传送到管理程序(VM0)。管理程序然后分两次将接收到的消息传送到VM 1和VM 2。然而,在这种情形中,CPU 106a过载,并且传送完成的等待时间降低。另一方面,在第三实施例中,因为DMA控制器308可以一次向多个VM传送消息,所以可以抑制这样的问题。
在这里,将进一步说明冗余运算电路116。冗余运算电路116是用于计算诸如CRC(循环冗余校验)、CMAC(基于密码的消息认证码)之类的冗余码的电路。CRC和CMAC可以被分配给CAN通信消息,以便增加通信的安全性。当CAN控制器110接收到带有CRC或CMAC的CAN消息时,它将带有CRC或CMAC的CAN消息转发给冗余运算电路116。冗余运算电路116根据传送的消息来执行CRC和CMAC运算,并发送运算结果到CAN控制器110。CAN控制器110可以基于接收到的运算结果确定接收到的CAN消息的正确性和安全性。
如上所述,CAN控制器110(DMA控制器308)可以将一个CAN消息转发到多个从设备。例如,假设带有CRC的CAN消息被传送到VM 1。访问控制器123所允许的总线ID是X和Y。在这种情形中,通过将总线ID为X的带有CRC的CAN消息传送到系统总线105和外围总线118,DMA控制器308可以将带有CRC的CAN消息传送到VM 1和冗余运算电路116。冗余运算电路116基于传送的消息来计算CRC,并将计算结果发送到CAN控制器110。CAN控制器110基于接收到的运算结果,来确定带有CRC的CAN消息的正确性。即,CAN控制器110可以在将接收到的带有CRC的CAN消息传送到VM1的同时,检查接收到的CAN消息的CRC。CRC运算可以由目的地VM 1(CPU 106b)执行,但是在这种情况下,CPU负载和处理时间增加。在第三实施例中,可以抑制这样的问题。
最后,将描述I/O 109。例如,假设外部闪存连接到I/O 109。通信日志可以被存储在外部闪存中。CAN控制器110然后可以经由I/O 109将通信日志发射到闪存,同时经由以太网控制器将CAN消息转发到以太网。
如上所述,根据第三实施例的数据处理设备具有与数据处理第一实施例和第二实施例的那些相同的效果。此外,由于CAN控制器110将一个CAN消息传送到多个从设备,因此可以抑制与传送相关联的处理时间的增加。
第四实施例
根据第四实施例的数据处理系统100与图1中的相同。然而,CAN控制器110和111被CAN控制器110b和111b代替。图17是根据第四实施例的CAN控制器110b(111b)的框图。与第一实施例和第二实施例的区别在于DMA控制器308b。DMA控制器308b具有协议转换器400。
协议转换器400被用来转换通信协议。协议转换器400可以在CAN、CAN FD、CAN XL、AVTP(音频视频传送协议。IEEE 1722中的标准)协议之间进行转换。对于协议转换,可以预先确定CAN、CAN FD、CAN XL、AVTP协议之间的对应位。
CAN控制器110b(111b)的基本操作与第一实施例和第二实施例的相同。然而,DMA控制器308b的操作不同于第一实施例和第二实施例。基于传送规则309b,DMA控制器308b将接收到的CAN消息转换为指定的协议,并将转换后的消息转发到接收缓冲器200或接收队列201。
图18示出了传送规则309b的特定实施例。如图18中所示,存储在接收缓冲器305中的CAN FD消息被协议转换器400转换成AVTP格式,并且转换后的消息被传送到接收缓冲器200。存储在接收缓冲器312中的CAN FD消息被协议转换器400转换成CAN XL格式,并且转换后的消息被传送到接收队列201。由于CAN/CAN FD/CAN XL消息的接收和传输除协议转换外与实施例二相同,因此将省略详细信息。
图19示出了CAN 2.0B(标准ID)、CAN FD和CAN XL的相应格式。CAN协议引擎300确定相应格式。具体来说,CAN 2.0B和CAN FD的区别是由FDF位是显性(CAN)还是隐性(CANFD)来确定的。CAN FD和CAN XL的区别由FDF位后面是res位还是XLF位来确定。该决定被发送到接收处理机303a和DMA控制器,并在协议转换期间被使用。
AVTP格式被用来在能够传送较大尺寸有效负载的以太网或CAN XL上发射,以CAN2.0B或CAN FD(可能还有CAN XL)接收的小尺寸有效负载。这可以通过将若干小尺寸有效负载连接成AVTP格式的有效负载、并将AVTP格式的有效负载嵌入到以太网或CAN XL格式中来实现。
当在CPU 106中执行上述协议转换时,CPU负载增加。此外,当多个有效负载由CPU级联时,系统总线105流量增加,因为多个有效负载必须通过系统总线105从DMA控制器308b被传送到RAM 108。第四实施例可以抑制CPU负载和系统总线流量中的增加。
如上所述,在根据本第四实施例的数据处理设备中,可以获得与数据处理第一实施例和第二实施例的那些相同的效果。此外,由于协议转换在CAN控制器内部执行,因此可以抑制与协议转换相关联的CPU负载和系统总线流量中的增加。
应该注意的是,本发明不限于上面提及的实施例,并且在不脱离其主旨的范围内能够进行各种修改。
Claims (20)
1.一种数据处理设备,包括:
第一中央处理单元CPU;
第一存储器;
控制器局域网CAN控制器;和
系统总线,耦合到所述第一CPU、所述第一存储器和所述CAN控制器,
其中所述CAN控制器包括:
接收缓冲器,用于存储多个消息,每个消息具有不同的ID,和
直接存储器访问DMA控制器,所述DMA控制器从存储在所述接收缓冲器中的消息之中选择具有第一ID的最新消息,并将所选择的最新消息传送到所述第一存储器,
其中所述消息是CAN消息、CAN FD消息和CAN XL消息中的一项。
2.根据权利要求1所述的数据处理设备,其中所述DMA控制器将存储在所述接收缓冲器中的具有第二ID的消息传送到所述第一存储器。
3.根据权利要求2所述的数据处理设备,
其中所述第一存储器具有第一存储器区域和第二存储器区域,以及
其中具有所述第一ID的所述最新消息被传送到所述第一存储器区域,并且具有所述第二ID的所述消息被传送到所述第二存储器区域。
4.根据权利要求3所述的数据处理设备,
其中所述CAN控制器还包括头指针和尾指针,
其中按照从由所述头指针指示的所述接收缓冲器的起始地址、到由所述尾指针指示的所述接收缓冲器的结束地址的接收顺序,来存储所述多个消息,并且
其中所述DMA控制器通过从所述尾指针向所述头指针搜索具有所述第一ID的消息,来选择所述最新消息。
5.根据权利要求4所述的数据处理设备,
其中每当接收到消息时所述尾指针递增,并且
其中在所述DMA控制器完成传送之后,所述头指针改变为由所述尾指针指示的地址。
6.根据权利要求4所述的数据处理设备,其中所述接收缓冲器包括第三存储器区域和第四存储器区域,具有所述第一ID的所述消息被存储在所述第三存储器区域中,具有所述第二ID的所述消息被存储在所述第四存储器区域中。
7.根据权利要求4所述的数据处理设备,
其中所述CAN控制器还包括触发生成器,并且
其中所述DMA控制器基于所述触发生成器的指令执行所述传送。
8.根据权利要求1所述的数据处理设备,还包括:
从电路;
第一访问控制器,控制对所述第一存储器的访问;和
第二访问控制器,控制对所述从电路的访问,
其中在传送所述最新消息时,所述DMA控制器生成所述第一访问控制器和第二访问控制器允许访问的传送消息。
9.根据权利要求8所述的数据处理设备,其中所述从电路是第二存储器、冗余运算电路和I/O中的一项。
10.根据权利要求8所述的数据处理设备,还包括:
第二CPU,
其中所述从电路是第二存储器,以及
其中虚拟机包括所述第一CPU和所述第二CPU以及所述第一存储器和所述第二存储器。
11.根据权利要求1的数据处理设备,
其中所述DMA控制器还包括协议转换器,并且
其中所述协议转换器将接收到的消息转换为CAN FD格式、CAN XL格式和AVTP格式中的一项。
12.一种数据处理系统,包括:
第一数据处理设备;
第二数据处理设备;以及
总线,耦合到所述第一数据处理设备和所述第二数据处理设备,
其中所述第一数据处理设备包括:
第一中央处理单元CPU;
第一存储器;
控制器局域网CAN控制器;和
系统总线,耦合到所述第一CPU、所述第一存储器和所述CAN控制器,
其中所述CAN控制器包括:
接收缓冲器,用于存储多个消息,每个消息具有不同的ID,以及
直接存储器访问DMA控制器,所述DMA控制器从存储在所述接收缓冲器中的消息之中选择具有第一ID的最新消息,并将所选的最新消息传送到所述第一存储器,
其中所述消息是CAN消息、CAN FD消息和CAN XL消息中的一项,并且
其中所述总线是CAN总线、CAN FD总线和CAN XL总线中的一项。
13.根据权利要求12的数据处理系统,其中所述DMA控制器将存储在所述接收缓冲器中的具有第二ID的消息传送到所述第一存储器。
14.根据权利要求13所述的数据处理系统,
其中所述第一存储器具有第一存储器区域和第二存储器区域,并且
其中具有所述第一ID的所述最新消息被传送到所述第一存储器区域,并且具有所述第二ID的所述消息被传送到所述第二存储器区域。
15.根据权利要求14所述的数据处理系统,
其中所述CAN控制器还包括头指针和尾指针,
其中按照从由所述头指针指示的所述接收缓冲器的起始地址、到由所述尾指针指示的所述接收缓冲器的结束地址的接收顺序,来存储所述多个消息,以及
其中所述DMA控制器通过从所述尾指针向所述头指针搜索具有所述第一ID的消息,来选择所述最新消息。
16.根据权利要求15的数据处理系统,其中所述接收缓冲器包括第三存储器区域和第四存储器区域,具有所述第一ID的所述消息被存储在所述第三存储器区域,具有所述第二ID的所述消息被存储在所述第四存储器区域。
17.根据权利要求12所述的数据处理系统,还包括:
从电路;
第一访问控制器,控制对所述第一存储器的访问;和
第二访问控制器,控制对所述从电路的访问,
其中在传送所述最新消息时,所述DMA控制器生成所述第一访问控制器和所述第二访问控制器允许访问的传送消息。
18.根据权利要求17所述的数据处理系统,其中所述从电路是第二存储器、冗余运算电路和I/O中的一项。
19.根据权利要求17所述的数据处理系统,还包括:
第二CPU,
其中所述从电路是第二存储器,并且
其中虚拟机包括所述第一CPU和所述第二CPU以及所述第一存储器和所述第二存储器。
20.根据权利要求12所述的数据处理系统,
其中所述DMA控制器还包括协议转换器,以及
其中所述协议转换器将接收到的消息转换为CAN FD格式、CAN XL格式和AVTP格式中的一项。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/173,571 | 2021-02-11 | ||
US17/173,571 US11677829B2 (en) | 2021-02-11 | 2021-02-11 | Data processing device and data processing system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114928511A true CN114928511A (zh) | 2022-08-19 |
Family
ID=80225923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210117682.9A Pending CN114928511A (zh) | 2021-02-11 | 2022-02-08 | 数据处理设备及数据处理系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11677829B2 (zh) |
EP (1) | EP4044041A1 (zh) |
JP (1) | JP2022123826A (zh) |
CN (1) | CN114928511A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102018221954A1 (de) * | 2018-12-17 | 2020-06-18 | Robert Bosch Gmbh | Recheneinrichtung und Verfahren zum Betreiben einer Recheneinrichtung |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2816478B1 (en) | 2012-02-15 | 2017-06-14 | Toyota Jidosha Kabushiki Kaisha | Vehicle electronic control device and data-receiving method |
EP2800316A1 (en) | 2013-05-01 | 2014-11-05 | Renesas Electronics Europe GmbH | Can fd |
DE102014011282A1 (de) | 2014-07-29 | 2015-01-15 | Daimler Ag | Verfahren und Vorrichtung zur Filterung einer Nachricht |
CN109240954A (zh) * | 2017-07-10 | 2019-01-18 | 恩智浦美国有限公司 | 具有触发序列发生器的dma控制器 |
US11165794B2 (en) * | 2019-09-30 | 2021-11-02 | Infineon Technologies Ag | Alert system for controller area networks |
US11016926B1 (en) * | 2019-11-07 | 2021-05-25 | Renesas Electronics America Inc. | Enhanced secure onboard communication for can |
-
2021
- 2021-02-11 US US17/173,571 patent/US11677829B2/en active Active
- 2021-12-06 JP JP2021197415A patent/JP2022123826A/ja active Pending
-
2022
- 2022-02-02 EP EP22154796.1A patent/EP4044041A1/en not_active Withdrawn
- 2022-02-08 CN CN202210117682.9A patent/CN114928511A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US11677829B2 (en) | 2023-06-13 |
JP2022123826A (ja) | 2022-08-24 |
EP4044041A1 (en) | 2022-08-17 |
US20220255994A1 (en) | 2022-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4376862B2 (ja) | 通信メッセージ変換装置及び通信メッセージ変換方法 | |
CN106557446B (zh) | 总线系统 | |
US7602779B2 (en) | Microprocessor, network system and communication method | |
EP2312457B1 (en) | Data processing apparatus, data processing method and computer-readable medium | |
EP1622324A1 (en) | Fault tolerant data transfer in multi-node system via internodal crossbar switch | |
US11341087B2 (en) | Single-chip multi-processor communication | |
JP2002342299A (ja) | クラスタシステム、コンピュータ及びプログラム | |
JPH0824320B2 (ja) | 通信制御装置における緩衝域連鎖の方法およびその装置 | |
US8437025B2 (en) | Image processing apparatus and image processing method | |
JP6848730B2 (ja) | 制御システム、および、制御方法 | |
JP2006191337A (ja) | バス間のメッセージ転送を行うゲートウエイ装置及びそれを使用したネットワークシステム | |
EP4044041A1 (en) | Data processing device and data processing system | |
US20100082875A1 (en) | Transfer device | |
US20090292856A1 (en) | Interserver communication mechanism and computer system | |
JP2008506204A (ja) | 複数のデータバス間でデータを交換する装置及びその方法 | |
KR102303424B1 (ko) | 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치 | |
CN113794713B (zh) | Fc-ae-1553协议桥接mil-std-1553和uart的通讯处理方法 | |
JP2011188623A (ja) | 安全制御システム | |
JP2924783B2 (ja) | リモートリード処理方法およびその装置 | |
JPH1196106A (ja) | デバイスドライバ装置 | |
CN108701103B (zh) | 具有工作存储器的计算单元的存储器直接访问控制装置 | |
JP2012114724A (ja) | 電子制御装置 | |
JPS6298444A (ja) | デ−タ通信方式 | |
JP3799741B2 (ja) | バスコントローラ | |
JP4164270B2 (ja) | サーボコントローラ |
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 |