JP2022123826A - データ処理装置及びデータ処理システム - Google Patents
データ処理装置及びデータ処理システム Download PDFInfo
- Publication number
- JP2022123826A JP2022123826A JP2021197415A JP2021197415A JP2022123826A JP 2022123826 A JP2022123826 A JP 2022123826A JP 2021197415 A JP2021197415 A JP 2021197415A JP 2021197415 A JP2021197415 A JP 2021197415A JP 2022123826 A JP2022123826 A JP 2022123826A
- Authority
- JP
- Japan
- Prior art keywords
- controller
- memory
- message
- data processing
- messages
- 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 65
- 239000000872 buffer Substances 0.000 claims abstract description 79
- 238000012546 transfer Methods 0.000 claims description 87
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 7
- 238000000034 method Methods 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 5
- 238000003745 diagnosis Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000000470 constituent Substances 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000284 extract Substances 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Bus Control (AREA)
- Small-Scale Networks (AREA)
- Information Transfer Systems (AREA)
- Multi Processors (AREA)
Abstract
【課題】CPU負荷とSystem busのトラフィックの増大を抑制するデータ処理装置を提供すること。【解決手段】CPU(Central Processing Unit)と、第1のメモリと、CAN(Controller Area Network)controllerと、CPUと第1のメモリとCAN controllerが接続されるSystem busと、を備え、CAN controllerは、異なるIDをそれぞれ有する複数のメッセージを格納するReceive bufferと、Receive bufferに格納され、第1のIDを有するメッセージの中で最新のメッセージを選択し、選択された最新のメッセージを第1のメモリに転送するDMA(Direct Memory Access)controllerと、を備え、前記メッセージは、CAN、CAN FD、CAN XLのメッセージである。【選択図】図1
Description
本発明はデータ処理装置及びデータ処理システムに関し、特に自動車用通信技術を搭載したデータ処理装置及びデータ処理システムに関する。
自動車用通信技術として、CAN(Controller Area Network)が広く利用されている。CANには、CAN 2.0A、2.0B、CAN FD(CAN with Flexible Data rate)という規格がある。また、CAN XL(CAN eXtra Large payload)という規格も策定中である。CANは、自動車に搭載されるECU(Electronic Control Unit)間の接続に用いられ、CANを通してセンサ情報(水温、電圧など)やECUで処理したデータの送受信が行われる。
CANに関する技術が、特許文献1に開示されている。特許文献には、CAN FDフレームをCAN 2.0Bに準拠する代替えデータで置き換える技術が開示されている。
CANに関する技術が、特許文献1に開示されている。特許文献には、CAN FDフレームをCAN 2.0Bに準拠する代替えデータで置き換える技術が開示されている。
CAN controller及びCPUを搭載したデータ処理装置(ECUやMicrocontroller)において、CAN controllerが受信したメッセージをCPUで処理するためには、受信メッセージをCPUがアクセス可能なメモリ領域に転送しなければならない。CAN controllerが受信するメッセージには、センサ情報(水温、電圧など)、ECUの診断結果、ソフトウェアアップデート情報などが含まれる。センサ情報は、センサから所定のタイミング毎に送信されるが、CPUはすべてのセンサ情報を必要とせず、最新値のみを必要とする場合がある。一方で、ECUの診断結果やソフトウェアアップデート情報の場合は、CPUは送信されたすべてのメッセージを必要とする。受信メッセージがすべてメモリ領域に転送された後、CPUが必要なメッセージを選択するようにした場合、CPU負荷とバス(CPU、メモリ、CAN controllerが接続される)のトラフィックが増大するという課題が生じる。
その他の課題および新規な特徴は、本明細書および図面の記載から明らかになる。
一実施の形態に係るデータ処理装置は、CPU(Central Processing Unit)と、第1のメモリと、CAN(Controller Area Network)controllerと、CPUと第1のメモリとCAN controllerが接続されるSystem busと、を備え、CAN controllerは、異なるIDをそれぞれ有する複数のメッセージを格納するReceive bufferと、Receive bufferに格納され、第1のIDを有するメッセージの中で最新のメッセージを選択し、選択された最新のメッセージを第1のメモリに転送するDMA(Direct Memory Access)controllerと、を備え、前記メッセージは、CAN、CAN FD、CAN XLのメッセージである。
一実施の形態に係るデータ処理装置では、CPU負荷とSystem busのトラフィックの増大を抑制することが可能となる。
以下、一実施の形態に係る半導体装置について、図面を参照して詳細に説明する。なお、明細書および図面において、同一の構成要件または対応する構成要件には、同一の符号を付し、重複する説明は省略する。また、図面では、説明の便宜上、構成を省略または簡略化している場合もある。また、各実施の形態の少なくとも一部は、互いに任意に組み合わされてもよい。
[実施の形態1]
(データ処理装置の構成)
図1は、実施の形態1に係るデータ処理システム100の構成を示すブロック図である。
(データ処理装置の構成)
図1は、実施の形態1に係るデータ処理システム100の構成を示すブロック図である。
図1で示される通り、データ処理システム100は、データ処理装置であるECU(Electronic Control Unit)1~7を有している。各ECUは、CAN XL bus 113、CAN bus 114、Ethernet switch 115を介して接続されている。
ECU 1は、Microcontroller 101、CAN XL transceiver 102、CAN transceiver 103、Ethernet PHY 104を有している。Microcontroller 101は、System bus 105、CPU 106、ROM 107、RAM 108、I/O 109、CAN controller 110、111、Ethernet controller 112を有している。なお、ECU 2~7は、ECU 1と同じ構成でもよいし、異なる構成でもよい。
CPU 106は、ROM 107に格納されているプログラム(ソフトウェア)を実行する。プログラム実行に必要なデータや、プログラム実行結果のデータは、RAM 108に格納される。ROM 107には、ECUで実現しようとする処理(例えば、エンジン制御、ブレーキ制御、センサ制御、故障診断)用のプログラムが格納されている。
CAN XL Transceiver 102は、CAN XL bus 113とCAN controller 110の間の信号の送受信を行う。CAN Transceiver 103は、CAN bus 114とCAN controller 103の間の信号の送受信を行う。Ethernet PHY 104は、Ethernet switch 115とEthernet controller 112の間の信号の送受信を行う。
CAN controller 110、111は、CAN XL bus 113とCAN bus 114を通して受信したデータをRAM 108に転送する機能を有する。また、CAN controller 110、111は、CPU 106等からの指示により、CAN XL bus 113とCAN bus 114にデータを送信する機能を有する。Ethernet controller 112も同様に、Ethernet switch 115を通してデータの送受信を行う機能を有する。
本実施の形態1では、CAN controller 110、111、RAM 108に特徴がある。これら以外のブロックについては、一般的なものであり詳細は省略する。以下、CAN controller 110、111、RAM 108の詳細について説明する。
図2は、RAM 108のブロック図である。図2で示される通り、RAM 108は、Receive buffer 200とReceive queue 201とを有する。Receive buffer 200とReceive queue 201は所定のアドレス空間を持つ。これらのブロックの詳細については後述する。
図3は、CAN controller 110、111のブロック図である。図3で示される通り、CAN controller 110、111は、CAN protocol engine 300、Send handler 301、Send buffer 302、Receive handler 303、Pointer 304、Receive buffer 305、Timer 306、Trigger generator 307、DMA(Direct Memory Access)controller 308、Transfer rule 309、Interrupt controller 310を有する。
CAN protocol engine 300は、CAN通信プロトコルに基づき、CAN XL bus 113(CAN bus 114)への送信データの作成とCAN XL bus 113(CAN bus 114)から受信した受信データの解釈を行うものである。具体的には、Send handlerから指示されたデータ(Send buffer 302に格納)を元に、CAN ID、DLC(Data Length Code)、RTR(Remote Transmission Request)、Error state等のメッセージ情報とペイロードからなるCAN送信データを作成する。また、受信したCANデータから、メッセージ情報と、ペイロードを抽出する。抽出されたメッセージ情報とペイロードは、Receive handler 303に送られる。なお、以下、”メッセージ“と記載した場合は、CAN ID、DLC、RTR等の情報とペイロードを含む。
Receive handler 303は、Pointer 304の指示に基づき、受信したメッセージをReceive buffer 305に格納する。Pointer 304には、Head pointerとTail pointerがある。Head pointerは、所定の期間において、最初のメッセージが格納された、Receive buffer 305のアドレスを示す。Tail pointerは、所定の期間において、最後のメッセージが格納された、Receive buffer 305のアドレスを示す。詳細は後述する。
Trigger generator 307は、Timer 306、Receive handler 303及びソフトウェア要求等をベースに転送開始トリガ信号を生成する。Timer 306は、予め決められた時間経過を計測するものである。
DMA controller 308は、Trigger generator 307から転送開始トリガ信号を受信すると、Receive buffer 305に格納されているデータをSystem bus 105経由でCPU 106の介在なしでRAM 108に転送する。転送の際、DMA controller 308は、Transfer rule 309を参照する。Transfer rule309は、DMA controllerが有するメモリやレジスタに格納される。転送完了後、DMA controller 308は、Interrupt controller 310に転送完了を通知する。詳細は後述する。
Interrupt controller 310は、DMA controller 308から転送完了の通知を受信すると、割り込みを発生させてソフトウェア(CPU 106)に転送完了を通知する。
(データ処理装置の動作)
次に、図4~11を用いて、CAN controller 110(111)の具体的な動作を説明する。まず、リセット時(電源投入時)、Pointer 304のHead pointerとTail pointerの両方が、Receive buffer 305の先頭アドレスにセットされるものとする。図4は、Receive handler 303の動作を示すフローチャートである。Receive handler 303は、メッセージを受信すると、Tail pointerで指示されるアドレスにメッセージを格納する(ステップS100)。メッセージ格納後、Tail pointerはインクリメントされる(ステップS101)。ステップS100とS101は、メッセージが受信されるたびに行われる。
次に、図4~11を用いて、CAN controller 110(111)の具体的な動作を説明する。まず、リセット時(電源投入時)、Pointer 304のHead pointerとTail pointerの両方が、Receive buffer 305の先頭アドレスにセットされるものとする。図4は、Receive handler 303の動作を示すフローチャートである。Receive handler 303は、メッセージを受信すると、Tail pointerで指示されるアドレスにメッセージを格納する(ステップS100)。メッセージ格納後、Tail pointerはインクリメントされる(ステップS101)。ステップS100とS101は、メッセージが受信されるたびに行われる。
図5は、具体例として、6個のメッセージを順に受信した時のReceive buffer 305、Head pointer、Tail pointerの状態を示している。Head pointerで示されるアドレスには、1番目のメッセージ(CAN ID 101、水温100度)が格納される。1番目のメッセージ格納後、Tail pointerは、Head pointerの1つ下に移動する(インクリメントされる)。2番目のメッセージ(CAN ID 201、ECU 2の診断結果)は、Tail pointerが示すアドレス、すなわちHead pointerの1つ下に格納される。以降、3~6番目のメッセージが図5で示されるようにReceive buffer 305に格納される。なお、CAN ID 101が付与されているメッセージは、水温センサから送信されたメッセージである。水温センサは、所定の時間間隔で水温情報を送信する。CAN ID 102が付与されているメッセージは、電圧モニタから送信されるものである。水温センサと同様に、電圧モニタは、所定の時間間隔で電圧値を送信する。ECUの診断結果のそれぞれは、対応するECUが生成、送信したものである。
次に、Trigger generator 307が転送開始トリガ信号を生成したときの、DMA controller 308の動作について説明する。ここでは、Trigger generator 307が、Timer 306の出力信号をベースに転送開始トリガ信号を生成するものとし、上述した6個のメッセージを受信した後に、Trigger generator 307が転送開始トリガ信号を生成したものとする。
図6は、転送開始トリガ信号を受信したときのDMA controller 308の動作を示すフローチャートである。まず、DMA controller 308は、受信したメッセージがあるかどうかを確認する(ステップS200)。受信したメッセージがある場合、DMA controller 308は、Receive buffer 305に格納されているメッセージをReceive buffer 200に転送する(ステップS201)。また、DMA controller 308は、Receive buffer 305に格納されているメッセージをReceive queue 201に転送する(ステップS202)。メッセージ転送完了後、Tail pointerが示すアドレスが、Head pointerにセットされる(ステップS203)。
図7は、Receive buffer 200への転送(ステップS201)の詳細動作を示すフローチャートである。まず、CAN ID informationがクリアされる(ステップS300)。CAN ID informationについては後述する。次に、DMA controller 308は、Receive buffer 305に格納されているメッセージを、Tail pointerが示すアドレスからHead pointerが示すアドレスまで順に読み出す(ステップS301)。
次に、DMA controller 308は、Transfer rule 309に基づいて、読み出したメッセージをReceive buffer 200へ転送するかどうかを判断する(ステップS302)。図8は、Transfer rule 309の具体例を示している。図8で示される通り、CAN ID 101と102が付与されたメッセージは、Receive buffer 200に転送するルールとなっている。また、CAN ID 201と202が付与されたメッセージは、Receive queue 201に転送するルールとなっている。
図7に戻って、DMA controller 308の動作を説明する。上述した通り、DMA controller 308は、Tail pointerが示すアドレスから順にメッセージを読み出す。従って、DMA controller 308は、6番目のメッセージ(CAN ID 201、ECU 4の診断結果)から順に読み出す。4番目のメッセージ(CAN ID 101、水温99度)がReceive buffer 200へ転送するメッセージであるため(ステップS302のY)、DMA controller 308は、4番目のメッセージのCAN ID 101が、CAN ID informationに登録されているかどうかを確認する(ステップS303)。CAN ID informationには何も登録されていないため(ステップS303のN)、DMA controller 308は4番目のメッセージをReceive buffer 200に転送し(ステップS303)、CAN ID 101をCAN ID informationに登録する(ステップS304)。DMA controller 308は、次に3番目のメッセージ(CAN ID 102、電圧12V)をReceive buffer 200へ転送するメッセージと判断する。CAN ID 102は、CAN ID informationに登録されていないため、DMA controller 308は、3番目のメッセージをReceive buffer 200に転送し、CAN ID 102をCAN ID informationに登録する。DMA controller 308は、次に1番目のメッセージ(CAN ID 101、水温100度)をReceive buffer 200へ転送するメッセージと判断する。ただし、CAN ID 101は、CAN ID informationに既に登録されているため、DMA controller 308は、1番目のメッセージはReceive buffer 200に転送しない(ステップS303のY)。
図9は、上述した転送の結果、Receive buffer 200に転送されたメッセージを示している。Receive buffer 200には、4番目のメッセージと3番目のメッセージが転送されている。ここで、1番目と4番目のメッセージに着目する。1番目と4番目のメッセージはどちらも、CAN IDが101であり、水温に関する情報である。しかしながら、Receive buffer 200には、4番目のメッセージしか転送されない。これは、Receive buffer 200には、時間とともに変化するセンサ情報のうち、最新のセンサ情報だけが転送されていることを意味する。CAN ID 102が付与されている電圧モニタについても同様である。
次に、Receive queue 201への転送(ステップS202)の詳細を説明する。図10は、
Receive queue 201への転送の動作を示すフローチャートである。DMA controller 308は、Receive buffer 305に格納されているメッセージを、Tail pointerが示すアドレスからHead pointerが示すアドレスまで順に読み出す(ステップS400)。DMA controller 308は、読み出したメッセージをReceive queue 201に転送するかどうかを、Transfer rule 309に基づいて決定する(ステップS401)。図5、8の場合、DMA controller 308は、6番目、5番目、3番目のメッセージをReceive queue 201へ転送する(ステップS402)。
Receive queue 201への転送の動作を示すフローチャートである。DMA controller 308は、Receive buffer 305に格納されているメッセージを、Tail pointerが示すアドレスからHead pointerが示すアドレスまで順に読み出す(ステップS400)。DMA controller 308は、読み出したメッセージをReceive queue 201に転送するかどうかを、Transfer rule 309に基づいて決定する(ステップS401)。図5、8の場合、DMA controller 308は、6番目、5番目、3番目のメッセージをReceive queue 201へ転送する(ステップS402)。
図11は、上述した転送の結果、Receive queue 201に転送されたメッセージを示している。図11で示される通り、Receive queue 201には、Transfer ruleで指定されたCAN IDを有するメッセージのすべてが転送される。これが、Receive buffer 200に転送されるメッセージとの違いである。ECUの診断結果などは、全メッセージが必要なものであるため、受信した全メッセージがReceive queue 201に転送される。
DMA controller 308は、Receive buffer 200、Receive queue 201へのメッセージ転送完了後、Interrupt controller 310に転送完了を通知する。Interrupt controller 310は、転送完了の通知を受信すると、割り込みを発生させて、ソフトウェア(CPU 160)に転送完了を通知する。
以上のDMA controller 308の動作は、Trigger generator 307から転送開始トリガ信号を受信する毎に行われる。なお、Trigger generator 307は、Timer 306の出力信号をベースに転送開始トリガ信号を生成するものとしたが、これに限られない。転送開始トリガ信号は、Receive handler 303の出力信号をベースに生成されてもよい。例えば、Receive handler 303が、所定数のメッセージを受信したときに、転送開始トリガ信号が生成されるようにしてもよい。あるいは、CPU 160で実行されているソフトウェアの指示に従って、転送開始トリガ信号が生成されるようにしてもよい。
以上のように、CAN controller 110は、Transfer rule 309に基づき、Receive buffer 200には、最新のメッセージだけを転送し、Receive queue 201にはすべてのメッセージを転送する。これにより、CPU 106の負荷とSystem bus 105のトラフィックを抑制することができる。
ここで更に、最新のセンサ情報だけを転送する技術について考察する。例えば、Receive buffer 305の代わりに、センサ情報(水温、電圧等)を受信する毎に、常にセンサ情報で上書きされるメモリ領域を設けることで、最新のセンサ情報だけを転送することが可能である。図5の場合、1番目のメッセージ(CAN ID 101、水温100度)は4番目のメッセージ(CAN ID 101、水温99度)で上書きされる。DMA controller 308は、メモリ領域に残っている4番目のメッセージをReceive buffer 200に転送することで、本実施の形態1と同様の結果が得られる。常にセンサ情報で上書きされるメモリ領域を設けるには、CAN ID毎にメモリ領域を分ける方法が考えられる。例えば、CAN ID 100専用のメモリ領域を設けることで、このメモリ領域には、CAN ID 100が付与された最新のメッセージのみが格納されることになる。しかしながら、この方法では、CAN ID毎にメモリ領域を設けなければならない。CANの規格では、CAN IDは11ビット(標準フォーマット)、または29ビット(拡張フォーマット)である。CAN ID毎にメモリ領域を設けると、多数のメモリ領域を設けなければならなくなり(メモリ容量の増大)、また、メモリ使用の非効率化(未使用、あるいはほとんど使用されないCAN IDがある場合など)を招いてしまう。一方、本実施の形態1では、このような問題を抑制することが可能となる。
(効果)
以上のように、本実施の形態1に係るデータ処理装置(ECU)1は、CAN controller 110を有し、CAN controller 110は、Transfer rule 309に基づいて、最新のCANメッセージをReceive buffer 200に転送するDMA controller 308を有する。これにより、CPU 106負荷とSystem bus 105のトラフィックを抑制することが可能となる。
以上のように、本実施の形態1に係るデータ処理装置(ECU)1は、CAN controller 110を有し、CAN controller 110は、Transfer rule 309に基づいて、最新のCANメッセージをReceive buffer 200に転送するDMA controller 308を有する。これにより、CPU 106負荷とSystem bus 105のトラフィックを抑制することが可能となる。
[実施の形態2]
(データ処理装置の構成)
実施の形態2に係るデータ処理システム100は、図1と同様である。ただし、CAN controller 110と111が、CAN controller 110aと111aに置き換わる。図12は、実施の形態2に係るCAN controller 110a(111a)のブロック図である。実施の形態1との違いは、Receive rule 311とReceive buffer 312が追加されていることである。
(データ処理装置の構成)
実施の形態2に係るデータ処理システム100は、図1と同様である。ただし、CAN controller 110と111が、CAN controller 110aと111aに置き換わる。図12は、実施の形態2に係るCAN controller 110a(111a)のブロック図である。実施の形態1との違いは、Receive rule 311とReceive buffer 312が追加されていることである。
Receive handler 303aは、Receive rule 311とPointer 304aの指示に基づき、受信したメッセージをReceive buffer 305またはReceive buffer 312に格納する。Pointer 304aには、Receive buffer 305用のHead pointer 1とTail pointer 1、Receive buffer 312用のHead pointer 2とTail pointer 2がある。
(データ処理装置の動作)
次に、図13~15を用いて、CAN controller 110a(111a)の具体的な動作を説明する。図13は、Receive rule 311の具体例を示している。図13で示される通り、CAN ID 101と102が付与されているメッセージはReceive buffer 305に格納するルールとなっている。また、CAN ID 201と202が付与されたメッセージは、Receive buffer 312に格納するルールとなっている。図14は、実施の形態1と同様に、6個のメッセージを順に受信した時のReceive buffer 305、Head pointer 1、Tail pointer 1、Receive buffer 312、Head pointer 2、Tail pointer 2の状態を示している。なお、Receive handler 303a、Head pointer 1、2、Tail pointer 1、2の基本的な動作は、実施の形態1で説明したReceive handler 303、Head pointer、Tail pointerと同様であるため、詳細は省略する。
次に、図13~15を用いて、CAN controller 110a(111a)の具体的な動作を説明する。図13は、Receive rule 311の具体例を示している。図13で示される通り、CAN ID 101と102が付与されているメッセージはReceive buffer 305に格納するルールとなっている。また、CAN ID 201と202が付与されたメッセージは、Receive buffer 312に格納するルールとなっている。図14は、実施の形態1と同様に、6個のメッセージを順に受信した時のReceive buffer 305、Head pointer 1、Tail pointer 1、Receive buffer 312、Head pointer 2、Tail pointer 2の状態を示している。なお、Receive handler 303a、Head pointer 1、2、Tail pointer 1、2の基本的な動作は、実施の形態1で説明したReceive handler 303、Head pointer、Tail pointerと同様であるため、詳細は省略する。
DMA controller 308aは、Transfer rule 309aに基づいて、Receive buffer 305と312に格納されているメッセージをReceive buffer 200またはReceive queue 201に転送する。図15は、Transfer rule 309aの具体例を示している。実施の形態1では、CAN ID毎に転送先を指定していたが、本実施の形態2では、転送元(Receive buffer 305または312)、転送先(Receive buffer 200またはReceive queue 201)、Trigger(TimerまたはOn receipt)が指定されている。図15で示され通り、Receive buffer 305に格納されているメッセージ、すなわち、CAN ID 101、102が付与されたメッセージは、Timer 306の出力信号をトリガとしてReceive buffer 200に転送される。従って、DMA controller 308aは、実施の形態1と同様の動作で、CAN ID 101が付与されたメッセージのうち、最新のメッセージだけをReceive buffer 200に転送する。CAN ID 102が付与されたメッセージについても同様である。一方、Receive buffer 312に格納されているメッセージ、すなわち、CAN ID 201と202が付与されたメッセージは、受信時に、Receive queue 201に転送される。
上述した転送の結果、Receive buffer 200とReceive queue 201には、実施の形態1と同様のメッセージが転送される(図9、11)。
(効果)
以上のように、本実施の形態2に係るデータ処理装置では、実施の形態1と同様の効果が得られる。更に、最新メッセージ処理用のReceive buffer 305と、全メッセージ処理用のReceive buffer 312とを分離したため、それぞれの転送開始トリガを分けられ、効率的なメッセージ転送が可能となる。
以上のように、本実施の形態2に係るデータ処理装置では、実施の形態1と同様の効果が得られる。更に、最新メッセージ処理用のReceive buffer 305と、全メッセージ処理用のReceive buffer 312とを分離したため、それぞれの転送開始トリガを分けられ、効率的なメッセージ転送が可能となる。
[実施の形態3]
(データ処理装置の構成)
実施の形態3に係るデータ処理システム100は、図1と同様である。ただし、Microcontroller 101が、Microcontroller 101aに置き換わる。図16は、実施の形態3に係るMicrocontroller 101aのブロック図である。実施の形態1と違いは、複数のCPU 106a、106b、106c、複数のRAM 108a、108b、108c、Redundant operation circuit 116、Fast peripheral bus 117、Peripheral bus 118、Access controller 119~124である。
(データ処理装置の構成)
実施の形態3に係るデータ処理システム100は、図1と同様である。ただし、Microcontroller 101が、Microcontroller 101aに置き換わる。図16は、実施の形態3に係るMicrocontroller 101aのブロック図である。実施の形態1と違いは、複数のCPU 106a、106b、106c、複数のRAM 108a、108b、108c、Redundant operation circuit 116、Fast peripheral bus 117、Peripheral bus 118、Access controller 119~124である。
本実施の形態3では、Microcontroller 101a上で複数のVirtual machine(VM)が構成される。CPU 106aとRAM 108aによりVM 0が構成される。CPU 106bとRAM 108bによりVM 1が構成される。CPU 106cとRAM 108cによりVM 2が構成される。各VM上で、異なるOS(Operating System)が動作する。また、VM 0にはHyper visorが割り当てられる。なお、各VMはCPUとRAMだけで構成されるわけではない。本実施の形態3の特徴を説明するために、その他の構成要素(ROM等)は省略している。
Access controller 119~124は、リソースへのアクセス制御を行うものである。各VMは、それぞれの独立性のためFFT(Freedom From Interference)の保証が求められる。Access controller 119~124は、FFTを実現するための制御回路である。Access controller 119は、アクセス元のID(バスID)に基づいて、RAM 108aへのアクセスの許可/不許可を判定する。Access controller 120、121についても同様である。Access controller 122は、アクセス元のIDに基づいて、CAN controller 110へのアクセスの許可/不許可を判定する。Access controller 123は、アクセス元のIDに基づいて、Redundant operation circuit 116へのアクセスの許可/不許可を判定する。Access controller 124は、アクセス元のIDに基づいて、I/O 109へのアクセスの許可/不許可を判定する。
(データ処理装置の動作)
複数のVMが動作するMicrocontrollerでは、CAN controller 110が受信した1つのCANメッセージが複数のVMで使用されることがある。例えば、実施の形態1、2で説明した水温情報は、複数のVM上で動作する複数のアプリケーションプログラムで使用されることがある。このような状況に対応するため、本実施の形態3に係るCAN controller 110(DMA controller 308)は、1つのCANメッセージを複数のスレーブ回路(RAM 108a~108c、Ethernet controller 112、Redundant operation circuit 116、I/O 109)に転送する機能を有する。具体的には、DMA controller 308は、転送先のスレーブに対応するAccess controllerが許可するIDを転送メッセージに付与して転送を行う。例えば、VM 1とVM 2に1つのCANメッセージ(例:CAN ID 101、水温99度)を転送することを想定する。Access controller 119が許可するバスIDは、X、Zとする。Access controller 120が許可するバスIDは、Y、Zとする。この場合、DMA controller 308は、バスIDをZとしたCANメッセージをSystem bus 105に転送することで、VM 1とVM 2にCANメッセージを同時に転送することができる。なお、CAN controller 110によるCANメッセージの受信については、実施の形態1、2と同様であるため、説明は省略する。
複数のVMが動作するMicrocontrollerでは、CAN controller 110が受信した1つのCANメッセージが複数のVMで使用されることがある。例えば、実施の形態1、2で説明した水温情報は、複数のVM上で動作する複数のアプリケーションプログラムで使用されることがある。このような状況に対応するため、本実施の形態3に係るCAN controller 110(DMA controller 308)は、1つのCANメッセージを複数のスレーブ回路(RAM 108a~108c、Ethernet controller 112、Redundant operation circuit 116、I/O 109)に転送する機能を有する。具体的には、DMA controller 308は、転送先のスレーブに対応するAccess controllerが許可するIDを転送メッセージに付与して転送を行う。例えば、VM 1とVM 2に1つのCANメッセージ(例:CAN ID 101、水温99度)を転送することを想定する。Access controller 119が許可するバスIDは、X、Zとする。Access controller 120が許可するバスIDは、Y、Zとする。この場合、DMA controller 308は、バスIDをZとしたCANメッセージをSystem bus 105に転送することで、VM 1とVM 2にCANメッセージを同時に転送することができる。なお、CAN controller 110によるCANメッセージの受信については、実施の形態1、2と同様であるため、説明は省略する。
1つのCANメッセージを複数のVMに転送する別の方法として、Hyper visorを使う方法が考えられる。この場合、DMA controller 308は、VM 1とVM 2に転送するメッセージを、一端、Hyper visor(VM 0)に転送する。そしてHyper visorは、受信したメッセージをVM 1とVM 2に2回に分けて転送する。しかしながら、この場合、CPU 106aの負荷が高くなり、また、転送が完了するまでのレイテンシが悪化してしまう。一方、本実施の形態3では、DMA controller 308が一度に複数のVMに転送できるため、このような問題を抑制することが可能となる。
ここで、更に、Redundant operation circuit 116について説明する。Redundant operation circuit 116は、CRC(Cyclic Redundancy Check)などの冗長コードや、CMAC(Cipher-based Message Authentication Code)の演算を行う回路である。通信の安全性を高めるために、CAN通信メッセージにCRCやCMACが付与されることがある。CAN controller 110は、CRCやCMACが付与されたCANメッセージを受信した場合は、Redundant operation circuit 116にCRCやCMACが付与されたCANメッセージを転送する。Redundant operation circuit 116は、転送されたメッセージを基に、CRCやCMACの演算を行い、演算結果をCAN controller 110に送信する。CAN controller 110は、受信した演算結果を基に、受信したCANメッセージの正しさ、安全性を判定することができる。
上述した通り、CAN controller 110(DMA controller 308)は、1つのCANメッセージを複数のスレーブに転送することができる。例えば、CRCが付与されたCANメッセージをVM 1に転送することを想定する。Access controller 123が許可するバスIDは、X、Yとする。この場合、DMA controller 308は、バスIDをXとしたCRC付きのCANメッセージをSystem bus 105とPeripheral bus 118に送信することで、CRC付きのCANメッセージをVM 1とRedundant operation circuit 116に転送することができる。Redundant operation circuit 116は、転送されたメッセージを基に、CRCの演算を行い、演算結果をCAN controller 110に送信する。CAN controller 110は、受信した演算結果を基に、CRC付きのCANメッセージの正しさを判定する。すなわち、CAN controller 110は、受信したCRC付きのCANメッセージをVM 1へ転送しつつ、受信したCRC付きのCANメッセージのCRCチェックを行うことが可能となる。CRC演算は、転送先のVM 1(CPU 106b)で行うことも可能だが、この場合、CPU負荷と処理時間が増大してしまう。本実施の形態3では、このような問題を抑制することが可能となる。
最後にI/O 109について説明する。例えば、I/O 109に、外付けのFlashメモリが接続されているとする。通信ログを外付けのFlashメモリに格納するといったことが行われる。この場合、CAN controller 110は、CANメッセージをEthernet controller経由でEthernetに転送しつつ、通信ログをI/O 109に経由でFlashメモリに送信することが可能となる。
(効果)
以上のように、本実施の形態3に係るデータ処理装置では、実施の形態1と2と同様の効果が得られる。更に、CAN controller 110は、1つのCANメッセージを複数のスレーブに転送することにより、転送に伴う処理時間の増大を抑制することが可能となる。
以上のように、本実施の形態3に係るデータ処理装置では、実施の形態1と2と同様の効果が得られる。更に、CAN controller 110は、1つのCANメッセージを複数のスレーブに転送することにより、転送に伴う処理時間の増大を抑制することが可能となる。
[実施の形態4]
(データ処理装置の構成)
実施の形態4に係るデータ処理システム100は、図1と同様である。ただし、CAN controller 110と111が、CAN controller 110bと111bに置き換わる。図17は、本実施の形態4に係るCAN controller 110b(111b)のブロック図である。実施の形態1、2との違いは、DMA controller 308bである。DMA controller 308bは、Protocol translator 400を有する。
(データ処理装置の構成)
実施の形態4に係るデータ処理システム100は、図1と同様である。ただし、CAN controller 110と111が、CAN controller 110bと111bに置き換わる。図17は、本実施の形態4に係るCAN controller 110b(111b)のブロック図である。実施の形態1、2との違いは、DMA controller 308bである。DMA controller 308bは、Protocol translator 400を有する。
Protocol translator 400は、通信プロトコルの変換を行うものである。Protocol translator 400は、CAN、CAN FD、CAN XL、AVTP(Audio Video Transport Protocol。IEEE1722で規格化)相互のプロトコル変換を行う。プロトコル変換は、CAN、CAN FD、CAN XL、AVTPそれぞれのフォーマットで対応するビットを予め決めておけばよい。
(データ処理装置の動作)
(データ処理装置の動作)
CAN controller 110b(111b)の基本的な動作は実施の形態1、2と同様である。ただし、DMA controller 308bの動作が実施の形態1、2と異なる。DMA controller 308bは、Transfer rule 309bに基づき、受信したCANメッセージを指定されたプロトコルに変換し、変換されたメッセージをReceive buffer 200あるいはReceive queue201に転送する。
図18は、Transfer rule 309bの具体例である。図18で示される通り、Receive buffer 305に格納されているCAN FDメッセージは、Protocol translator 400によりAVTPフォーマットに変換され、変換されたメッセージがReceive buffer 200に転送される。また、Receive buffer 312に格納されているCAN FDメッセージは、Protocol translator 400によりCAN XLフォーマットに変換され、変換されたメッセージがReceive queue 201に転送される。なお、プロトコル変換以外の、CAN/CAN FD/CAN XLメッセージの受信と転送については、実施の形態2と同様であるため、詳細は省略する。
図19は、CAN 2.0B(standard ID)、CAN FD、CAN XLそれぞれのフォーマットを示している。CAN protocol engine 300がそれぞれのフォーマットを判定する。具体的には、CAN 2.0BとCAN FDの区別は、FDFビットがDominant(CAN)かRecessive(CAN FD)で判定される。また、CAN FDとCAN XLの区別は、FDFビットの次がresビットかXLFビットかで判定される。判定結果は、Receive handler 303aとDMA controllerに送られ、プロトコル変換時に使われる。
AVTPフォーマットは、CAN 2.0BまたはCAN FD(場合によってはCAN XL)で受信した小さなサイズのペイロードを、より大きなサイズのペイロードの通信が可能なEthernetまたはCAN XLで送信する場合に用いられる。これは、複数の小さなサイズのペイロードを連結してAVTPフォーマットのペイロードに変換し、AVTPフォーマットのペイロードをEthernetまたはCAN XLフォーマットに埋め込むことで実現できる。
上述したプロトコル変換をCPU 106で実行する場合は、CPU負荷が増大する。更に、複数のペイロードをCPUで連結する場合には、複数のペイロードをDMA controller 308bからSystem bus 105経由でRAM 108に転送しなければならないため、System bus 105のトラフィックが増大する。本実施の形態4では、CPU負荷とSystem busのトラフィックの増大を抑制することが可能となる。
(効果)
以上のように、本実施の形態4に係るデータ処理装置では、実施の形態1、2と同様の効果が得られる。更に、プロトコル変換をCAN controller内部で行うため、プロトコル変換に伴うCPU負荷とSystem busのトラフィックの増大を抑制することが可能となる。
以上のように、本実施の形態4に係るデータ処理装置では、実施の形態1、2と同様の効果が得られる。更に、プロトコル変換をCAN controller内部で行うため、プロトコル変換に伴うCPU負荷とSystem busのトラフィックの増大を抑制することが可能となる。
なお、本発明は、上記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更され得る。
1、2、3、4、5、6、7 ECU
100 データ処理システム
101、101a Microcontroller
102 CAN XL Transceiver
103 CAN Transceiver
104 Ethernet PHY
105 System bus
106、106a、106b、106c CPU
107 ROM
108、108a、108b、108c RAM
109 I/O
110、110a、110b、111、111a、111b CAN controller
112 Ethernet controller
113 CAN XL bus
114 CAN bus
115 Ethernet switch
116 Redundant operation circuit
117 Fast peripheral bus
118 Peripheral bus
119、120、121、122、123、124 Access controller
200 Receive buffer
201 Receive queue
300 CAN protocol engine
301 SEND handler
302 Send buffer
303、303a Receive handler
304、304a Pointer
305、312 Receive buffer
306 Timer
307 Trigger generator
308、308a、308b DMA controller
309、309a、309b Transfer rule
310 Interrupt controller
311 Receive rule
400 Protocol translator
VM0、VM1、VM2 Virtual machine
100 データ処理システム
101、101a Microcontroller
102 CAN XL Transceiver
103 CAN Transceiver
104 Ethernet PHY
105 System bus
106、106a、106b、106c CPU
107 ROM
108、108a、108b、108c RAM
109 I/O
110、110a、110b、111、111a、111b CAN controller
112 Ethernet controller
113 CAN XL bus
114 CAN bus
115 Ethernet switch
116 Redundant operation circuit
117 Fast peripheral bus
118 Peripheral bus
119、120、121、122、123、124 Access controller
200 Receive buffer
201 Receive queue
300 CAN protocol engine
301 SEND handler
302 Send buffer
303、303a Receive handler
304、304a Pointer
305、312 Receive buffer
306 Timer
307 Trigger generator
308、308a、308b DMA controller
309、309a、309b Transfer rule
310 Interrupt controller
311 Receive rule
400 Protocol translator
VM0、VM1、VM2 Virtual machine
Claims (20)
- 第1のCPU(Central Processing Unit)と、
第1のメモリと、
CAN(Controller Area Network)コントローラと、
前記第1のCPUと前記第1のメモリと前記CANコントローラが接続されるシステムバスと、を備え、
前記CANコントローラは、
異なるIDをそれぞれ有する複数のメッセージを格納する受信バッファと、
前記受信バッファに格納され、第1のIDを有するメッセージの中で最新のメッセージを選択し、選択された最新のメッセージを前記第1のメモリに転送するDMA(Direct Memory Access)コントローラと、を備え、
前記メッセージは、CAN、CAN FDまたはCAN XLのメッセージである、データ処理装置。 - 前記DMAコントローラは、前記受信バッファに格納され、第2のIDを有するメッセージを前記第1のメモリに転送する、請求項1に記載のデータ処理装置。
- 前記第1のメモリは、第1のメモリ領域と第2のメモリ領域を有し、
前記第1のIDを有する最新のメッセージは、前記第1のメモリ領域に転送され、前記第2のIDを有するメッセージは、前記第2のメモリ領域に転送される、請求項2に記載のデータ処理装置。 - 前記CANコントローラは、更に先頭ポインタと末尾ポインタとを備え、
前記複数のメッセージは、前記先頭ポインタが示す前記受信バッファの先頭アドレスから、前記末尾ポインタが示す前記受信バッファの末尾アドレスまで受信順に格納され、
前記DMAコントローラは、前記末尾ポインタから前記先頭ポインタに向けて、前記第1のIDを有するメッセージを検索することで、前記最新のメッセージを選択する、請求項3に記載のデータ処理装置。 - 前記末尾ポインタは、メッセージを受信する毎にインクリメントされ、
前記先頭ポインタは、前記DMAコントローラによる転送が完了後、前記末尾ポインタが示すアドレスと変更される、請求項4に記載のデータ処理装置。 - 前記受信バッファは、前記第1のIDを有するメッセージが格納される第3のメモリ領域と、前記第2のIDを有するメッセージが格納される第4のメモリ領域と、を有する請求項4に記載のデータ処理装置。
- 前記CANコントローラは、更にトリガ生成器を備え、
前記DMAコントローラは、前記トリガ生成器の指示に基づいて前記転送を行う、請求項4に記載のデータ処理装置。 - スレーブ回路と、
前記第1のメモリへのアクセスを制御する第1のアクセスコントローラと、
前記スレーブ回路へのアクセスを制御する第2のアクセスコントローラと、を更に備え、
前記DMAコントローラは、前記最新のメッセージを転送するとき、前記第1のアクセスコントローラと前記第2のアクセスコントローラがアクセスを許可する転送メッセージを生成する、請求項1に記載のデータ処理装置。 - 前記スレーブ回路は、第2のメモリ、冗長演算回路、I/Oのうちの1つである、請求項8に記載のデータ処理装置。
- 第2のCPUを更に備え、
前記スレーブ回路は第2のメモリであり、
前記第1のCPUと前記第2のCPUと前記第1のメモリと前記第2のメモリとで、仮想マシンが構成される、請求項8に記載のデータ処理装置。 - 前記DMAコントローラは、更にプロトコル変換器を備え、
前記プロトコル変換器は、受信したメッセージを、CAN FD、CAN XL、AVTPのうちの1つのフォーマットに変換する、請求項1に記載のデータ処理装置。 - 第1のデータ処理装置と、
第2のデータ処理装置と、
前記第1のデータ処理装置と前記第2のデータ処理装置を接続するバスと、を備え、
前記第1のデータ処理装置は、
第1のCPU(Central Processing Unit)と、
第1のメモリと、
CAN(Controller Area Network)コントローラと、
前記第1のCPUと前記第1のメモリと前記CANコントローラが接続されるシステムバスと、を備え、
前記CANコントローラは、
異なるIDをそれぞれ有する複数のメッセージを格納する受信バッファと、
前記受信バッファに格納され、第1のIDを有するメッセージの中で最新のメッセージを選択し、選択された最新のメッセージを前記第1のメモリに転送するDMA(Direct Memory Access)コントローラと、を備え、
前記メッセージは、CAN、CAN FDまたはCAN XLのメッセージであり、
前記バスは、CAN、CAN FDまたはCAN XLのバスである、
データ処理システム。 - 前記DMAコントローラは、前記受信バッファに格納され、第2のIDを有するメッセージを前記第1のメモリに転送する、請求項12に記載のデータ処理システム。
- 前記第1のメモリは、第1のメモリ領域と第2のメモリ領域を有し、
前記第1のIDを有する最新のメッセージは、前記第1のメモリ領域に転送され、前記第2のIDを有するメッセージは、前記第2のメモリ領域に転送される、請求項13に記載のデータ処理システム。 - 前記CANコントローラは、更に先頭ポインタと末尾ポインタとを備え、
前記複数のメッセージは、前記先頭ポインタが示す前記受信バッファの先頭アドレスから、前記末尾ポインタが示す前記受信バッファの末尾アドレスまで受信順に格納され、
前記DMAコントローラは、前記末尾ポインタから前記先頭ポインタに向けて、前記第1のIDを有するメッセージを検索することで、前記最新のメッセージを選択する、請求項14に記載のデータ処理システム。 - 前記受信バッファは、前記第1のIDを有するメッセージが格納される第3のメモリ領域と、前記第2のIDを有するメッセージが格納される第4のメモリ領域と、を有する請求項15に記載のデータ処理システム。
- スレーブ回路と、
前記第1のメモリへのアクセスを制御する第1のアクセスコントローラと、
前記スレーブ回路へのアクセスを制御する第2のアクセスコントローラと、を更に備え、
前記DMAコントローラは、前記最新のメッセージを転送するとき、前記第1のアクセスコントローラと前記第2のアクセスコントローラがアクセスを許可する転送メッセージを生成する、請求項12に記載のデータ処理システム。 - 前記スレーブ回路は、第2のメモリ、冗長演算回路、I/Oのうちの1つである、請求項17に記載のデータ処理システム。
- 第2のCPUを更に備え、
前記スレーブ回路は第2のメモリであり、
前記第1のCPUと前記第2のCPUと前記第1のメモリと前記第2のメモリとで、仮想マシンが構成される、請求項17に記載のデータ処理システム。 - 前記DMAコントローラは、更にプロトコル変換器を備え、
前記プロトコル変換器は、受信したメッセージを、CAN FD、CAN XL、AVTPのうちの1つのフォーマットに変換する、請求項12に記載のデータ処理システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/173,571 US11677829B2 (en) | 2021-02-11 | 2021-02-11 | Data processing device and data processing system |
US17/173,571 | 2021-02-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022123826A true JP2022123826A (ja) | 2022-08-24 |
Family
ID=80225923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021197415A Pending JP2022123826A (ja) | 2021-02-11 | 2021-12-06 | データ処理装置及びデータ処理システム |
Country Status (4)
Country | Link |
---|---|
US (1) | US11677829B2 (ja) |
EP (1) | EP4044041A1 (ja) |
JP (1) | JP2022123826A (ja) |
CN (1) | CN114928511A (ja) |
Families Citing this family (2)
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 |
US20240243945A1 (en) * | 2023-01-17 | 2024-07-18 | Stmicroelectronics International N.V. | Controller area network extra-long (can-xl) low latency hardware and software partitioned architecture for message handler |
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 |
---|---|
CN114928511A (zh) | 2022-08-19 |
US20220255994A1 (en) | 2022-08-11 |
EP4044041A1 (en) | 2022-08-17 |
US11677829B2 (en) | 2023-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3807250B2 (ja) | クラスタシステム、コンピュータ及びプログラム | |
JP2022123826A (ja) | データ処理装置及びデータ処理システム | |
US9219695B2 (en) | Switch, information processing apparatus, and communication control method | |
US11341087B2 (en) | Single-chip multi-processor communication | |
KR20070116102A (ko) | Dma 컨트롤러, 노드, 데이터 전송 제어 방법 및 프로그램을 기록한 컴퓨터 판독가능한 기록 매체 | |
JP3970786B2 (ja) | マルチプロセッサシステム | |
CN112867998B (zh) | 运算加速器、交换器、任务调度方法及处理系统 | |
US9882737B2 (en) | Network system | |
US20090292856A1 (en) | Interserver communication mechanism and computer system | |
JP2001333137A (ja) | 自主動作通信制御装置及び自主動作通信制御方法 | |
US20230153153A1 (en) | Task processing method and apparatus | |
JP2008502977A (ja) | バス・コントローラのための割り込み方式 | |
JP2011188623A (ja) | 安全制御システム | |
JP2924783B2 (ja) | リモートリード処理方法およびその装置 | |
US12112206B2 (en) | Control device for controlling multiple applications based on priority-based message encryption arbitration | |
CN108701103B (zh) | 具有工作存储器的计算单元的存储器直接访问控制装置 | |
JP6826300B1 (ja) | 情報処理システム | |
JP2001325212A (ja) | マルチプロセッサシステムにおけるソースプロセッサから宛先プロセッサにデータブロックを送信する方法と装置 | |
JPH1196106A (ja) | デバイスドライバ装置 | |
JPS6298444A (ja) | デ−タ通信方式 | |
KR960006472B1 (ko) | TICOM IOP 환경에서 FDDI펌웨어(firmware) 구동방법 | |
JP2000242523A (ja) | マイクロプロセッサおよびデバッグ装置 | |
JP3056169B2 (ja) | データ送受信方式とその方法 | |
JPH07200451A (ja) | マルチバスii−scsiバスデータ転送方法および装置 | |
JP2010224689A (ja) | デバイス制御システム、情報処理装置及びデバイス制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240430 |