JP7496937B2 - DATA PROCESSING APPARATUS AND DATA PROCESSING METHOD - Google Patents

DATA PROCESSING APPARATUS AND DATA PROCESSING METHOD Download PDF

Info

Publication number
JP7496937B2
JP7496937B2 JP2023528874A JP2023528874A JP7496937B2 JP 7496937 B2 JP7496937 B2 JP 7496937B2 JP 2023528874 A JP2023528874 A JP 2023528874A JP 2023528874 A JP2023528874 A JP 2023528874A JP 7496937 B2 JP7496937 B2 JP 7496937B2
Authority
JP
Japan
Prior art keywords
data transfer
data
path
unit
input
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
Application number
JP2023528874A
Other languages
Japanese (ja)
Other versions
JPWO2022264351A1 (en
Inventor
健宏 河合
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2022264351A1 publication Critical patent/JPWO2022264351A1/ja
Application granted granted Critical
Publication of JP7496937B2 publication Critical patent/JP7496937B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)

Description

本開示は、データ処理装置及びデータ処理方法に関する。 The present disclosure relates to a data processing device and a data processing method.

リアルタイムの制御が必要な装置を試験する試験装置として、試験されるべき実機に代わって当該実機の振る舞いを模擬するHILS(Hardware In the Loop Simulator/Simulation)がある。 One type of test equipment used to test devices that require real-time control is HILS (Hardware In the Loop Simulator/Simulation), which simulates the behavior of the actual device being tested.

例えばモータ制御の分野においては、実際のモータを動作させるのではなく、HILSで模擬されたモータを動作させることによって、モータのコントローラを試験する。例えば回転指令をHILSに入力すれば、HILSは、モータを仮想的に動作させてトルクや回転速度、回転角度などを出力するので、コントローラが正常にモータを制御きるかを試験できる。For example, in the field of motor control, motor controllers are tested by operating a motor simulated by HILS, rather than operating an actual motor. For example, if a rotation command is input to the HILS, the HILS will virtually operate the motor and output torque, rotation speed, rotation angle, etc., allowing tests to be made to see if the controller can control the motor properly.

HILSは、実機のコントローラとの間でデータを送受信するため、コントローラの制御周期に見合う応答性能がHILSに必要となる。特に、入力を読み込み、モータの振る舞いを計算し、外部に出力するというHILSの過程においては、HILS内のデータ転送を高速化することが重要である。 Because HILS sends and receives data between the actual controller, it needs to have a response performance that matches the control cycle of the controller. In particular, in the HILS process of reading input, calculating motor behavior, and outputting to the outside, it is important to speed up data transfer within HILS.

データ転送を高速化する方法としては、DMA(Direct Memory Access)転送及びAXI(Advanced eXtensible Interface)バスなどのバースト転送が挙げられる。また、「送信元」から「送信先」までのデータ転送経路が複数あることを前提といて、その複数の経路を同時にデータ転送に使用することでトータルの転送時間を短くする技術(特許文献1の技術)などが挙げられる。Methods for speeding up data transfer include burst transfers such as DMA (Direct Memory Access) transfers and AXI (Advanced eXtensible Interface) buses. Also included is a technology (the technology of Patent Document 1) that assumes that there are multiple data transfer paths from the "source" to the "destination" and shortens the total transfer time by using those multiple paths simultaneously for data transfer.

特許第6392505号公報Patent No. 6392505

特許文献1の技術では、一つの制御についてデータ転送経路を用いることによりデータ転送を高速化できるが、複数の制御がデータ転送経路を共有リソースとして共用することを考慮していない。このような特許文献1の技術において複数の制御を行おうとすると、共有リソースを一方の制御に最大限使用して当該一方の制御を高速化することになる。この結果、他方の制御が使用できる共有リソースが少なくなり、他方の制御に遅延などの影響が出ることがある。 The technology in Patent Document 1 can speed up data transfer by using a data transfer path for one control, but does not take into consideration multiple controls sharing the data transfer path as a shared resource. When multiple controls are attempted to be performed using the technology in Patent Document 1, the shared resources are used to the maximum extent for one control to speed up that control. As a result, there are fewer shared resources available for the other control, which can cause delays or other effects on the other control.

ここで、複数の制御に、リアルタイム制御及び非リアルタイム制御を適用した場合、リアルタイム制御が共有リソースを優先的に使用することによって、非リアルタイム制御がある程度遅れることは許される。しかしながら、リアルタイム制御による共有リソースの使用時間が長すぎる場合には、非リアルタイム制御のデータ転送をほとんど行うことができなくなる。この結果、リアルタイム制御の応答性能を満足しつつ、非リアルタイム制御の応答遅延もできるだけ小さくしたいという要求を満足することができないという問題があった。 When real-time control and non-real-time control are applied to multiple controls, the real-time control has priority in using shared resources, and the non-real-time control is allowed to be delayed to a certain extent. However, if the real-time control uses the shared resources for too long, data transfer for the non-real-time control can hardly be performed. As a result, there is a problem in that it is not possible to satisfy the requirement to minimize the response delay of non-real-time control while satisfying the response performance of real-time control.

そこで、本開示は、上記のような問題点に鑑みてなされたものであり、第1制御及び第2制御を適切に行うことが可能な技術を提供することを目的とする。 Therefore, this disclosure has been made in consideration of the above-mentioned problems, and aims to provide technology that is capable of appropriately performing the first control and the second control.

本開示に係るデータ処理装置は、外部装置とデータを送受信する入出力制御部と、前記入出力制御部で受信された前記データに基づいて演算を行い、その演算結果を前記入出力制御部から出力する演算部と、前記入出力制御部と前記演算部との間において前記データを転送可能な複数のデータ転送経路を形成するデータ転送用バスと、前記複数のデータ転送経路のそれぞれによる転送に要した所要時間の情報を生成し、前記複数のデータ転送経路の中から選択された一のデータ転送経路を取得する経路取得部と、周期ごとに実行される第1制御に用いられる前記データを前記入出力制御部と前記演算部との間において転送する経路を、前記経路取得部で取得された前記一のデータ転送経路に切り替える経路切替部と、前記データ転送用バスの使用が前記第1制御に優先される第2制御を実行する実行部とを備える。The data processing device according to the present disclosure includes an input/output control unit that transmits and receives data to and from an external device, a calculation unit that performs calculations based on the data received by the input/output control unit and outputs the calculation results from the input/output control unit, a data transfer bus that forms multiple data transfer paths between the input/output control unit and the calculation unit, a path acquisition unit that generates information on the time required for transfer through each of the multiple data transfer paths and acquires one data transfer path selected from the multiple data transfer paths, a path switching unit that switches the path for transferring the data used in a first control executed every period between the input/output control unit and the calculation unit to the one data transfer path acquired by the path acquisition unit, and an execution unit that executes a second control in which the use of the data transfer bus has priority over the first control.

本開示によれば、第1制御に用いられるデータを入出力制御部と演算部との間において転送する経路が、複数のデータ転送経路の中から選択された一のデータ転送経路に切り替えられ、かつ、データ転送用バスの使用が第1制御に優先される第2制御が実行される。これにより、第1制御及び第2制御を適切に行うことができる。According to the present disclosure, the path for transferring data used in the first control between the input/output control unit and the calculation unit is switched to one data transfer path selected from among a plurality of data transfer paths, and a second control is executed in which the use of the data transfer bus is prioritized over the first control. This allows the first control and the second control to be performed appropriately.

本開示の目的、特徴、局面及び利点は、以下の詳細な説明と添付図面とによって、より明白となる。 The objects, features, aspects and advantages of the present disclosure will become more apparent from the following detailed description and accompanying drawings.

実施の形態1に係るデータ処理装置の構成を示すブロック図である。1 is a block diagram showing a configuration of a data processing device according to a first embodiment; 実施の形態1に係る転送時間の計測結果の一例を示す図である。FIG. 11 is a diagram showing an example of a measurement result of a transfer time according to the first embodiment; 実施の形態1に係るリアルタイム制御を説明するためのタイミングチャートである。4 is a timing chart for explaining real-time control according to the first embodiment. 実施の形態3に係るデータ処理装置の構成を示すブロック図である。FIG. 11 is a block diagram showing a configuration of a data processing device according to a third embodiment. 実施の形態3に係る判断基準及び重みの一例を示す図である。FIG. 13 is a diagram showing an example of judgment criteria and weights according to the third embodiment. 実施の形態3に係る判断基準の値の一例を示す図である。FIG. 13 is a diagram showing an example of a value of a judgment criterion according to the third embodiment. その他の変形例に係るデータ処理装置のハードウェア構成を示すブロック図である。FIG. 13 is a block diagram showing a hardware configuration of a data processing device according to another modified example. その他の変形例に係るデータ処理装置のハードウェア構成を示すブロック図である。FIG. 13 is a block diagram showing a hardware configuration of a data processing device according to another modified example.

<実施の形態1>
図1は、本実施の形態1に係るデータ処理装置100の構成を示すブロック図である。
<First embodiment>
FIG. 1 is a block diagram showing a configuration of a data processing device 100 according to the first embodiment.

データ処理装置100は、第1制御及び第2制御を実行する。本実施の形態1では、第1制御は、周期ごとに実行されるリアルタイム制御101であり、第2制御は、例えばリモートアクセスの提供及びGUIの表示などの、周期ごとに実行されなくてもよい非リアルタイム制御102である。The data processing device 100 executes a first control and a second control. In the first embodiment, the first control is a real-time control 101 that is executed periodically, and the second control is a non-real-time control 102 that does not need to be executed periodically, such as providing remote access and displaying a GUI.

リアルタイム制御101は、主に、入出力制御部103と、演算部104と、周期制御部105と、データ転送用バス106と、複数の記憶領域107とによって実行される。以下の説明では、これらの構成要素を「リアルタイム制御101の構成要素」と記すこともある。 Real-time control 101 is mainly executed by an input/output control unit 103, a calculation unit 104, a periodic control unit 105, a data transfer bus 106, and multiple memory areas 107. In the following description, these components may be referred to as "components of real-time control 101."

一方、非リアルタイム制御102は、主に、経路取得部112と、経路切替部113と、実行部である非リアルタイム制御実行部114、不揮発性記憶領域115とによって実行される。以下の説明では、これらの構成要素を「非リアルタイム制御102の構成要素」と記すこともある。On the other hand, non-real-time control 102 is mainly executed by a route acquisition unit 112, a route switching unit 113, a non-real-time control execution unit 114 which is an execution unit, and a non-volatile memory area 115. In the following description, these components may be referred to as "components of non-real-time control 102".

入出力制御部103は、外部IO(外部入出力部)110と接続されており、外部IO110を制御することによって、外部装置とデータを送受信する。The input/output control unit 103 is connected to an external IO (external input/output unit) 110, and transmits and receives data to and from external devices by controlling the external IO 110.

演算部104は、入出力制御部103で受信されたデータに基づいて演算を行い、その演算結果を入出力制御部から外部装置に出力する。The calculation unit 104 performs calculations based on the data received by the input/output control unit 103, and outputs the calculation results from the input/output control unit to an external device.

周期制御部105は、例えばタイマを含み、リアルタイム制御101の周期を制御する。本実施の形態1では、リアルタイム制御101の周期は、入出力制御部103及び演算部104の制御周期及び経路同期の周期を含む。周期制御部105は、入出力制御部103及び演算部104に演算同期用トリガ及び経路同期用トリガを出力することによって、制御周期及び経路同期の周期をそれぞれ制御する。The period control unit 105 includes, for example, a timer, and controls the period of the real-time control 101. In this embodiment 1, the period of the real-time control 101 includes the control period and the path synchronization period of the input/output control unit 103 and the calculation unit 104. The period control unit 105 controls the control period and the path synchronization period by outputting a calculation synchronization trigger and a path synchronization trigger to the input/output control unit 103 and the calculation unit 104, respectively.

データ転送用バス106は、リアルタイム制御101の構成要素と非リアルタイム制御102の構成要素とを相互接続するデータバスである。データ転送用バス106は、例えば、ASIC(Application Specific Integrated Circuit)及びFPGA(Field Programmable Gate Array)などの集積回路内のデータバスであるAXI(Advanced eXtensible Interface)バス、PCIe(Peripheral Component Interconnect Express)のスイッチ、及び、イーサネット(登録商標)のスイッチングハブなどである。The data transfer bus 106 is a data bus that interconnects the components of the real-time control 101 and the components of the non-real-time control 102. The data transfer bus 106 is, for example, an AXI (Advanced eXtensible Interface) bus, which is a data bus within an integrated circuit such as an ASIC (Application Specific Integrated Circuit) and an FPGA (Field Programmable Gate Array), a PCIe (Peripheral Component Interconnect Express) switch, and an Ethernet (registered trademark) switching hub.

データ転送用バス106は、データ送受信(データ転送)のパスを用いることによって、専用の経路として用意されなくてもよい複数のデータ転送経路を形成する。データ転送用バス106によって形成される複数のデータ転送経路は、データ転送用バス106と構成要素との間でデータ転送可能な経路である。本実施の形態1では、データ転送用バス106によって形成される複数のデータ転送経路は、図1に示すように、入出力制御部103と演算部104との間においてデータを転送可能な複数のデータ転送経路106aを含む。The data transfer bus 106 forms multiple data transfer paths that do not need to be prepared as dedicated paths by using paths for data transmission and reception (data transfer). The multiple data transfer paths formed by the data transfer bus 106 are paths that allow data transfer between the data transfer bus 106 and components. In the first embodiment, the multiple data transfer paths formed by the data transfer bus 106 include multiple data transfer paths 106a that allow data transfer between the input/output control unit 103 and the calculation unit 104, as shown in FIG. 1.

複数の記憶領域107は、データ転送などに使用される。本実施の形態1では、複数の記憶領域107は、3つのデータ転送経路106aにそれぞれ経由される3つの記憶領域107(記憶領域107A,107B,107C)である。なお、本実施の形態1では、記憶領域107の数は3つであるがこれに限ったものではなく、1つ以上の記憶領域107があればよい。The multiple storage areas 107 are used for data transfer, etc. In this embodiment 1, the multiple storage areas 107 are three storage areas 107 (storage areas 107A, 107B, 107C) that are respectively routed through three data transfer paths 106a. Note that in this embodiment 1, the number of storage areas 107 is three, but this is not limited to this, and it is sufficient if there is one or more storage areas 107.

データ処理装置100が、モータ用のHILSとして使用される場合、入出力制御部103は、外部装置であるモータのコントローラから外部IO110を介して受信した信号などのデータを演算部104に通知する。演算部104は、当該データに基づく演算によって、モータの振る舞いを模擬したモータのモデルを用いた試験を行い、それによって得られたモータの回転数やトルクを、外部IO110を介してコントローラに送信する。When the data processing device 100 is used as a HILS for a motor, the input/output control unit 103 notifies the calculation unit 104 of data such as signals received from the motor controller, which is an external device, via the external IO 110. The calculation unit 104 performs a test using a motor model that simulates the behavior of the motor by calculation based on the data, and transmits the motor rotation speed and torque obtained thereby to the controller via the external IO 110.

演算部104で用いるモデル及び制御周期の設定は、データ処理装置100のユーザ111によって設定される。その設定には、UART(Universal Asynchronous Receiver/Transmitter)、イーサネット(登録商標)、Wi-Fi(登録商標)などの通信機器によるリモートアクセスが用いられてもよいし、ボタン操作などの直接的なアクセスが用いられてもよい。The model and control period used in the calculation unit 104 are set by the user 111 of the data processing device 100. The settings may be made using remote access via a communication device such as UART (Universal Asynchronous Receiver/Transmitter), Ethernet (registered trademark), or Wi-Fi (registered trademark), or may be made using direct access such as button operation.

データ処理装置100とユーザ111との間でリモートアクセスを行うためのインターフェース機能は、非リアルタイム制御実行部114で提供される。なお、非リアルタイム制御実行部114は、データ転送用バス106を介してリアルタイム制御101の全ての構成要素にアクセス可能となっている。An interface function for remote access between the data processing device 100 and the user 111 is provided by the non-real-time control execution unit 114. The non-real-time control execution unit 114 can access all components of the real-time control 101 via the data transfer bus 106.

なお以上では、演算部104で用いるモデル及び制御周期は、データ処理装置100の起動後にユーザ111によって設定されると説明したが、これに限ったものではない。例えば、モデル及び制御周期を不揮発性記憶領域115に予め保存しておき、データ処理装置100の起動時に、演算部104が不揮発性記憶領域115から読み込んでもよい。In the above, it has been explained that the model and control period used by the calculation unit 104 are set by the user 111 after the data processing device 100 is started, but this is not limited to the above. For example, the model and control period may be stored in the non-volatile storage area 115 in advance, and the calculation unit 104 may read them from the non-volatile storage area 115 when the data processing device 100 is started.

経路取得部112は、複数のデータ転送経路106aのそれぞれによる転送に要した所要時間の情報を生成し、複数のデータ転送経路106aの中から選択された一のデータ転送経路106aを取得する。以下の説明では、入出力制御部103と演算部104との間の同一データ量の転送に要した所要時間を「転送時間」と記すこともあり、経路取得部112によって生成される転送時間の情報を「転送時間情報」と記すこともある。The path acquisition unit 112 generates information on the time required for transfer through each of the multiple data transfer paths 106a, and acquires one data transfer path 106a selected from the multiple data transfer paths 106a. In the following description, the time required for transferring the same amount of data between the input/output control unit 103 and the calculation unit 104 may be referred to as the "transfer time", and the information on the transfer time generated by the path acquisition unit 112 may be referred to as the "transfer time information".

本実施の形態1では、経路取得部112は、複数のデータ転送経路106aの転送時間情報をユーザ111に提示する。そして、ユーザ111は、転送時間情報を参考にして複数のデータ転送経路106aの中から一のデータ転送経路106aを選択し、経路取得部112は、当該一のデータ転送経路106aを取得する。In the first embodiment, the route acquisition unit 112 presents the transfer time information of the multiple data transfer routes 106a to the user 111. The user 111 then selects one data transfer route 106a from the multiple data transfer routes 106a with reference to the transfer time information, and the route acquisition unit 112 acquires the selected data transfer route 106a.

経路切替部113は、リアルタイム制御101に用いられるデータを入出力制御部103と演算部104との間において転送する経路を、経路取得部112で取得された一のデータ転送経路106aに切り替える。本実施の形態1では、経路切替部113は、経路取得部112で取得された一のデータ転送経路106aを入出力制御部103及び演算部104に通知することにより、上記切り替えを行う。The path switching unit 113 switches the path for transferring data used in the real-time control 101 between the input/output control unit 103 and the calculation unit 104 to one data transfer path 106a acquired by the path acquisition unit 112. In this embodiment 1, the path switching unit 113 performs the above switching by notifying the input/output control unit 103 and the calculation unit 104 of one data transfer path 106a acquired by the path acquisition unit 112.

非リアルタイム制御実行部114は、データ転送用バス106の使用がリアルタイム制御101に優先される非リアルタイム制御102を実行する。例えば、非リアルタイム制御実行部114は、データ転送用バス106によって形成される複数のデータ転送経路のうち、一のデータ転送経路106aを除く複数のデータ転送経路を使用して非リアルタイム制御102を実行する。また例えば、非リアルタイム制御実行部114は、一のデータ転送経路106aがリアルタイム制御101に用いられるデータを転送していない期間に一のデータ転送経路106aを使用して非リアルタイム制御102を実行する。The non-real-time control execution unit 114 executes the non-real-time control 102 in which the use of the data transfer bus 106 is prioritized over the real-time control 101. For example, the non-real-time control execution unit 114 executes the non-real-time control 102 using a plurality of data transfer paths, excluding one data transfer path 106a, among the plurality of data transfer paths formed by the data transfer bus 106. Also, for example, the non-real-time control execution unit 114 executes the non-real-time control 102 using the one data transfer path 106a during a period in which the one data transfer path 106a is not transferring data used for the real-time control 101.

<動作>
次に、データ処理装置100の動作について説明する。なお、「複数のデータ転送経路106a」と、「初期測定回数」と、「転送時間の格納場所」とを含む情報が、事前にユーザ111によって不揮発性記憶領域115に設定されているものとする。初期測定回数とは、データ処理装置100が、リアルタイム制御101を開始する前に、各データ転送経路106aの転送時間を計測する回数である。転送時間の格納場所とは、各データ転送経路106aについて計測された転送時間が格納される場所であり、ユーザ111が指定した記憶領域107である。
<Operation>
Next, the operation of the data processing device 100 will be described. It is assumed that information including "multiple data transfer paths 106a", "initial measurement count", and "storage location of transfer time" is set in advance in the non-volatile storage area 115 by the user 111. The initial measurement count is the number of times the data processing device 100 measures the transfer time of each data transfer path 106a before starting the real-time control 101. The storage location of the transfer time is the location where the transfer time measured for each data transfer path 106a is stored, and is the storage area 107 designated by the user 111.

データ処理装置100の電源投入後、データ処理装置100は初期設定を自動的に行う。本実施の形態1では初期設定として、起動された入出力制御部103及び演算部104は、不揮発性記憶領域115に設定された情報、すなわち複数のデータ転送経路106a、初期測定回数、転送時間の格納場所の情報を読み込む。そして、入出力制御部103及び演算部104は、初期測定回数だけ、各データ転送経路106aを用いて、転送時間の格納場所で指定された記憶領域107に対してデータの読み書きを行い、それに要した所要時間を計測する。それから、入出力制御部103及び演算部104は、計測された所要時間を、転送時間の格納場所で指定された記憶領域107に格納する。After the data processing device 100 is powered on, the data processing device 100 automatically performs an initial setting. In this embodiment 1, as an initial setting, the started input/output control unit 103 and calculation unit 104 read the information set in the non-volatile memory area 115, that is, the information on the storage location of the multiple data transfer paths 106a, the number of initial measurements, and the transfer time. Then, the input/output control unit 103 and calculation unit 104 read and write data to the memory area 107 specified in the storage location of the transfer time using each data transfer path 106a for the number of initial measurements, and measure the required time. Then, the input/output control unit 103 and calculation unit 104 store the measured required time in the memory area 107 specified in the storage location of the transfer time.

なお、各データ転送経路106aについて、入出力制御部103と記憶領域107との間、及び、演算部104と記憶領域107との間のそれぞれにおいて、データの読み書きに要した所要時間の和は、各データ転送経路106aの転送時間に対応する。また本実施の形態1では、データ転送経路106aと記憶領域107とは対応している。このため図1の例に上記計測を行うと、図2のように、記憶領域107A,107B,107Cを経由するデータ転送経路106aについて転送時間の計測結果が得られる。なお、図2では、初期測定回数は「5」であり、データ転送経路106aが経由する記憶領域107A,107B,107Cのそれぞれについて5回分の転送時間の計測結果が得られている。以下の説明では図2のように、記憶領域107A,107B,107Cを経由するデータ転送経路106aを、それぞれ経路A,B,Cと記すこともある。 For each data transfer path 106a, the sum of the time required to read and write data between the input/output control unit 103 and the memory area 107 and between the calculation unit 104 and the memory area 107 corresponds to the transfer time of each data transfer path 106a. In the first embodiment, the data transfer path 106a corresponds to the memory area 107. For this reason, when the above measurement is performed on the example of FIG. 1, the measurement result of the transfer time is obtained for the data transfer path 106a via the memory areas 107A, 107B, and 107C as shown in FIG. 2. In FIG. 2, the initial measurement count is "5", and five measurement results of the transfer time are obtained for each of the memory areas 107A, 107B, and 107C through which the data transfer path 106a passes. In the following description, the data transfer path 106a via the memory areas 107A, 107B, and 107C may be referred to as paths A, B, and C, respectively, as shown in FIG.

初期測定後、ユーザ111は、リモートアクセスによって経路取得部112にアクセスする。経路取得部112は、記憶領域107にアクセスし、各データ転送経路の図2のような転送時間に基づいて、転送時間情報を生成してユーザ111に提示する。本実施の形態1では、転送時間情報は、下記(1)~(7)の少なくともいずれか1つを含む。After the initial measurement, the user 111 accesses the route acquisition unit 112 by remote access. The route acquisition unit 112 accesses the memory area 107, and generates transfer time information based on the transfer time of each data transfer route as shown in FIG. 2, and presents the information to the user 111. In the present embodiment 1, the transfer time information includes at least one of the following (1) to (7).

(1)保持している転送時間(保持数分の転送時間)
(2)保持している転送時間の平均値
(3)保持している転送時間のワースト時間(最も長い時間)
(4)保持している転送時間のベスト時間(最も短い時間)
(5)データ処理装置100を起動してからこれまでの転送時間の平均値
(6)データ処理装置100を起動してからこれまでの転送時間のワースト時間
(7)データ処理装置100を起動してからこれまでの転送時間のベスト時間
(1) Transfer time of the held data (transfer time of the held data)
(2) The average transfer time retained (3) The worst time (longest time) retained
(4) Best transfer time (shortest time)
(5) The average transfer time since the data processing device 100 was started. (6) The worst transfer time since the data processing device 100 was started. (7) The best transfer time since the data processing device 100 was started.

なお、ユーザ111は事前に「転送時間の最大保持数」をデータ処理装置100に設定しているものとし、各記憶領域107は、転送時間の最大保持数まで転送時間を保持する。例えば、転送時間の最大保持数が10に設定されている場合には、各記憶領域107は、10の転送時間まで保持する。なお、上記(1)~(7)の値は、ユーザ111によって任意のタイミングでリセット(削除)されてもよい。It is assumed that user 111 has set the "maximum number of transfer times retained" in advance in data processing device 100, and each memory area 107 retains transfer times up to the maximum number of transfer times retained. For example, if the maximum number of transfer times retained is set to 10, each memory area 107 retains up to 10 transfer times. It is assumed that user 111 has reset (deleted) the above values (1) to (7) at any time.

ユーザ111は、提示された転送時間情報を参考にして、複数のデータ転送経路106aの中からリアルタイム制御101に使用する一のデータ転送経路106aを選択し、経路取得部112に設定する。これにより、経路取得部112は、複数のデータ転送経路106aの中から選択された一のデータ転送経路106aを取得する。The user 111 refers to the presented transfer time information, selects one data transfer path 106a to be used for the real-time control 101 from among the multiple data transfer paths 106a, and sets the selected data transfer path 106a in the path acquisition unit 112. As a result, the path acquisition unit 112 acquires the one data transfer path 106a selected from the multiple data transfer paths 106a.

経路切替部113は、データ転送用バス106を介して入出力制御部103及び演算部104に対し、経路取得部112で取得された一のデータ転送経路106aを通知する。これにより、経路切替部113は、リアルタイム制御101に用いられるデータを入出力制御部103と演算部104との間において転送する経路を、経路取得部112で取得された一のデータ転送経路106aに切り替える。The path switching unit 113 notifies the I/O control unit 103 and the calculation unit 104 of the one data transfer path 106a acquired by the path acquisition unit 112 via the data transfer bus 106. As a result, the path switching unit 113 switches the path for transferring data used in the real-time control 101 between the I/O control unit 103 and the calculation unit 104 to the one data transfer path 106a acquired by the path acquisition unit 112.

一のデータ転送経路106aの選択後、ユーザ111は、周期制御部105にリアルタイム制御101の制御周期を設定し、当該制御周期のリアルタイム制御101が開始する。After selecting one data transfer path 106a, the user 111 sets the control period of the real-time control 101 in the period control unit 105, and the real-time control 101 for that control period starts.

図3は、リアルタイム制御101を説明するためのタイミングチャートである。以下、リアルタイム制御101の一例について説明する。なお、以下の説明では、リアルタイム制御101に用いられるデータを入出力制御部103と演算部104との間において転送する経路を「使用経路」と記すこともあり、使用経路以外の複数のデータ転送経路106aを「未使用経路」と記すこともある。 Figure 3 is a timing chart for explaining real-time control 101. An example of real-time control 101 will be described below. In the following description, a path for transferring data used in real-time control 101 between the input/output control unit 103 and the calculation unit 104 may be referred to as a "used path", and multiple data transfer paths 106a other than the used path may be referred to as "unused paths".

まず、周期制御部105が、ユーザ111に設定された制御周期ごとに、演算部104及び入出力制御部103に演算同期用トリガを出力する。1回目の演算同期用トリガによって、入出力制御部103は、外部IO110から入力1を受信し、使用経路に対応する記憶領域107に格納する。図3の例では、この時点では使用経路として経路Aが選択されており、入力1は経路Aに対応する記憶領域107Aに格納される。First, the periodic control unit 105 outputs a calculation synchronization trigger to the calculation unit 104 and the input/output control unit 103 for each control period set by the user 111. The first calculation synchronization trigger causes the input/output control unit 103 to receive input 1 from the external IO 110 and store it in the memory area 107 corresponding to the path used. In the example of Figure 3, path A is selected as the path used at this point, and input 1 is stored in the memory area 107A corresponding to path A.

2回目の演算同期用トリガによって、入出力制御部103は、1回目の演算同期用トリガと同様に外部IO110から入力2を受信し、入力2を記憶領域107Aに格納する。演算部104は、入力1を記憶領域107Aから読み込み、ユーザ111が予め定義したモデルの演算に入力1を使用し、その演算結果を出力1として記憶領域107Aに格納する。 In response to the second calculation synchronization trigger, the input/output control unit 103 receives input 2 from the external IO 110 in the same manner as the first calculation synchronization trigger, and stores input 2 in the memory area 107A. The calculation unit 104 reads input 1 from the memory area 107A, uses input 1 in a calculation of a model previously defined by the user 111, and stores the result of the calculation as output 1 in the memory area 107A.

3回目の演算同期用トリガによって、入出力制御部103は、外部IO110から入力3を受信し、入力3を記憶領域107Aに格納した後、出力1を記憶領域107Aから読み込んで外部IO110に出力する。演算部104は、2回目の演算同期用トリガと同様に入力2を記憶領域107Aから読み込み、演算結果を出力2として記憶領域107Aに格納する。これ以降、使用経路が変更されない限り、3回目の演算同期用トリガと同様の処理が繰り返される。 The third calculation synchronization trigger causes the input/output control unit 103 to receive input 3 from the external IO 110, store input 3 in memory area 107A, and then read output 1 from memory area 107A and output it to the external IO 110. The calculation unit 104 reads input 2 from memory area 107A as in the second calculation synchronization trigger, and stores the calculation result as output 2 in memory area 107A. From this point on, unless the usage path is changed, the same processing as in the third calculation synchronization trigger is repeated.

なお、各記憶領域107は入力及び出力のそれぞれが2つ以上格納できる領域を有しているものとする。これにより、例えば入出力制御部からの入力2を、当該記憶領域107の入力1のアドレスと別のアドレスに格納することができるので、入力1が演算部104から記憶領域107から読み込まれる前に、入力2に上書きされることを回避することができる。 Each memory area 107 has an area capable of storing two or more inputs and two or more outputs. This allows, for example, input 2 from the input/output control unit to be stored in an address different from the address of input 1 in the memory area 107, thereby preventing input 2 from being overwritten by input 1 before it is read from the memory area 107 by the calculation unit 104.

非リアルタイム制御実行部114は、入出力制御部103及び演算部104などを用いて、リアルタイム制御101と並行して、転送時間の計測、及び、使用経路の切り替えの受け付けなどの非リアルタイム制御102を実行する。例えば、入出力制御部103及び演算部104は、リアルタイム制御101と並行して、初期測定と同様に複数のデータ転送経路106aのそれぞれの転送時間を計測する。計測結果はユーザ111が事前に設定した「転送時間の最大保持数」だけ保持されるものとし、初期測定時に計測した転送時間も含めて古いものから上書きされていく。The non-real-time control execution unit 114 uses the input/output control unit 103 and the calculation unit 104 to execute non-real-time control 102, such as measuring transfer times and accepting switching of paths in use, in parallel with the real-time control 101. For example, the input/output control unit 103 and the calculation unit 104 measure the transfer times of each of the multiple data transfer paths 106a in the same way as in the initial measurement, in parallel with the real-time control 101. The measurement results are retained for the "maximum number of transfer times retained" previously set by the user 111, and the oldest ones are overwritten, including the transfer times measured during the initial measurement.

また、入出力制御部103及び演算部104は、未使用経路の計測間隔に従って、制御周期の時間からリアルタイム制御101の時間を除いた余り時間に、使用経路の計測に用いたデータ転送と同等のデータ転送を行って、未使用経路の転送時間を計測する。ここでいう余り時間は、例えば、入出力制御部103によるIO制御の完了後の時間、及び、演算部104による結果出力後の時間などである。例えば、未使用経路の計測間隔が「10」である場合、入出力制御部103及び演算部104は、演算同期用トリガを10回受信するごとに、未使用経路の転送時間の計測を実施する。なお、未使用経路の計測間隔は、ユーザ111によって事前に設定される。 In addition, the I/O control unit 103 and the calculation unit 104 measure the transfer time of the unused path by performing a data transfer equivalent to the data transfer used to measure the used path in the remaining time obtained by subtracting the real-time control 101 time from the control cycle time according to the measurement interval of the unused path. The remaining time here is, for example, the time after the I/O control by the I/O control unit 103 is completed and the time after the calculation unit 104 outputs the result. For example, if the measurement interval of the unused path is "10", the I/O control unit 103 and the calculation unit 104 measure the transfer time of the unused path every time they receive a calculation synchronization trigger 10 times. The measurement interval of the unused path is set in advance by the user 111.

ユーザ111は、経路取得部112によって提示される転送時間情報を参考にして、任意のタイミングで一のデータ転送経路106aを経路取得部112に設定する。一のデータ転送経路106aの設定が、入出力制御部103及び演算部104に反映され、入出力制御部103及び演算部104が、周期制御部105からの経路同期用トリガを受信してから、一のデータ転送経路106aが切り替えられる。The user 111 sets one data transfer path 106a in the path acquisition unit 112 at any timing with reference to the transfer time information presented by the path acquisition unit 112. The setting of one data transfer path 106a is reflected in the input/output control unit 103 and the calculation unit 104, and after the input/output control unit 103 and the calculation unit 104 receive a path synchronization trigger from the periodic control unit 105, the one data transfer path 106a is switched.

図3を用いて、一のデータ転送経路106aの切替について説明する。ユーザ111は、例えば使用経路を経路Aから経路Bに切り替える設定を経路取得部112に通知する。経路切替部113は、経路Bが使用経路として選択されていることを入出力制御部103及び演算部104に通知する。この時点では、入出力制御部103及び演算部104は、使用経路を経路Bに切り替えない。経路切替部113は、周期制御部105に経路同期用トリガの出力を指示する。周期制御部105は、経路切替部113からの指示を受けたサイクルの次のサイクルで経路同期用トリガを出力する。経路同期用トリガを受信した入出力制御部103及び演算部104は、経路同期用トリガを受けたサイクルの次のサイクルから使用経路を経路Bに切り替える。 The switching of one data transfer path 106a will be described with reference to FIG. 3. For example, the user 111 notifies the path acquisition unit 112 of a setting to switch the path in use from path A to path B. The path switching unit 113 notifies the I/O control unit 103 and the calculation unit 104 that path B has been selected as the path in use. At this point, the I/O control unit 103 and the calculation unit 104 do not switch the path in use to path B. The path switching unit 113 instructs the periodic control unit 105 to output a path synchronization trigger. The periodic control unit 105 outputs the path synchronization trigger in the cycle following the cycle in which the instruction from the path switching unit 113 was received. The I/O control unit 103 and the calculation unit 104 that have received the path synchronization trigger switch the path in use to path B in the cycle following the cycle in which the path synchronization trigger was received.

入出力制御部103と記憶領域107との間、及び、演算部104と記憶領域107との間のデータ転送において、制御周期内でのデータ読み込みまたは書き込みが完了しなかった場合、制御周期を超える値が転送時間として格納される。経路取得部112は、制御周期を超える転送時間を計測した場合、図2のようにデータ転送に失敗したことをユーザ111に提示する。In data transfer between the I/O control unit 103 and the memory area 107, and between the calculation unit 104 and the memory area 107, if data reading or writing is not completed within the control period, a value exceeding the control period is stored as the transfer time. If the path acquisition unit 112 measures a transfer time that exceeds the control period, it presents to the user 111 that the data transfer has failed, as shown in FIG. 2.

<実施の形態1のまとめ>
以上のような本実施の形態1に係るデータ処理装置100によれば、使用経路が、複数のデータ転送経路106aの中から選択された一のデータ転送経路106aに切り替えられ、かつ、データ転送用バス106の使用がリアルタイム制御101に優先される非リアルタイム制御102が実行される。このような構成によれば、一のデータ転送経路106aを適切に選択することによって、リアルタイム制御101の周期的な実行を満たしつつ、非リアルタイム制御102の遅延を小さくすることができる。このため、リアルタイム制御101及び非リアルタイム制御102を適切に行うことができる。
Summary of the First Embodiment
According to the data processing device 100 of the first embodiment as described above, the path to be used is switched to one data transfer path 106a selected from the multiple data transfer paths 106a, and non-real-time control 102 is executed in which the use of the data transfer bus 106 is prioritized over the real-time control 101. According to such a configuration, by appropriately selecting one data transfer path 106a, it is possible to reduce the delay of the non-real-time control 102 while satisfying the periodic execution of the real-time control 101. Therefore, the real-time control 101 and the non-real-time control 102 can be appropriately performed.

また、本実施の形態1では、転送時間情報がユーザ111に提示され、一のデータ転送経路106aがユーザ111によって選択されるため、ユーザ111が望む割合でリアルタイム制御101及び非リアルタイム制御102を行うことができる。 In addition, in this embodiment 1, transfer time information is presented to the user 111 and one data transfer path 106a is selected by the user 111, so that real-time control 101 and non-real-time control 102 can be performed at a ratio desired by the user 111.

なお、以上の説明では、第2制御は、非リアルタイム制御102であったが、これに限ったものではない。例えば、第2制御は、第1制御であるリアルタイム制御よりも周期が長いリアルタイム制御であってもよい。In the above description, the second control is non-real-time control 102, but this is not limited to this. For example, the second control may be real-time control having a longer period than the first control, which is real-time control.

<実施の形態2>
本実施の形態2に係るデータ処理装置100の構成は、図1の構成と同様である。以下、本実施の形態2に係る構成要素のうち、上述の構成要素と同じまたは類似する構成要素については同じまたは類似する参照符号を付し、異なる構成要素について主に説明する。
<Embodiment 2>
The configuration of a data processing device 100 according to the second embodiment is similar to that of Fig. 1. In the following, among the components according to the second embodiment, components that are the same as or similar to the components described above are given the same or similar reference numerals, and different components will be mainly described.

実施の形態1では、転送時間情報は、上記(1)~(7)の少なくともいずれか1つを含んだが、本実施の形態2では、転送時間情報は、複数のデータ転送経路106aのそれぞれによる転送で生じたデータ紛失の情報を含む。データ紛失は、転送時間が制御周期以上となるデータ転送の失敗であり、データ紛失の情報は、例えば、下記(11)~(13)の少なくともいずれか1つを含む。In the first embodiment, the transfer time information includes at least one of the above (1) to (7), but in the second embodiment, the transfer time information includes information on data loss that occurred during transfer via each of the multiple data transfer paths 106a. Data loss is a data transfer failure in which the transfer time is equal to or greater than the control period, and the information on data loss includes, for example, at least one of the following (11) to (13).

(11)紛失数(転送時間の保持数のうちデータ紛失した数)
(12)紛失率(紛失数/転送時間の保持数)
(13)データ処理装置100を起動してからのこれまでの総紛失数及び総紛失率
(11) Number of data losses (number of data losses during transfer time)
(12) Loss rate (number of lost packets/number of packets held for transfer time)
(13) The total number of losses and the total loss rate since the data processing device 100 was started

なお、入出力制御部103及び演算部104が、紛失数及び転送時間の保持数を記憶領域107に格納し、経路取得部112が、記憶領域107にアクセスしてデータ紛失の情報を含む転送時間情報を生成してユーザ111に提示する。In addition, the input/output control unit 103 and the calculation unit 104 store the number of data lost and the number of transfer times retained in the memory area 107, and the route acquisition unit 112 accesses the memory area 107 to generate transfer time information including information on data loss and presents it to the user 111.

<実施の形態2のまとめ>
以上のような本実施の形態2に係るデータ処理装置100によれば、転送時間情報はデータ紛失の情報を含む。このような構成によれば、データ紛失が発生する可能性を考慮した一のデータ転送経路106aの選択が可能となるので、リアルタイム制御101及び非リアルタイム制御102を適切に行うことができる。
Summary of the second embodiment
According to the data processing device 100 of the second embodiment, the transfer time information includes information on data loss. With this configuration, it is possible to select one data transfer path 106a taking into consideration the possibility of data loss, so that the real-time control 101 and the non-real-time control 102 can be appropriately performed.

<実施の形態3>
図4は、本実施の形態3に係るデータ処理装置100の構成を示すブロック図である。以下、本実施の形態3に係る構成要素のうち、上述の構成要素と同じまたは類似する構成要素については同じまたは類似する参照符号を付し、異なる構成要素について主に説明する。
<Third embodiment>
4 is a block diagram showing the configuration of a data processing device 100 according to the third embodiment. In the following, among the components according to the third embodiment, components that are the same as or similar to the components described above are given the same or similar reference numerals, and different components will be mainly described.

本実施の形態3に係るデータ処理装置100は、図1の構成に、自動選択部116が追加された構成と同様である。自動選択部116は、非リアルタイム制御102の構成要素である。The data processing device 100 according to the third embodiment has a configuration similar to that shown in FIG. 1 with an automatic selection unit 116 added. The automatic selection unit 116 is a component of the non-real-time control 102.

図5は、転送時間情報に対応する判断基準と、判断基準に対してユーザ111が事前に設定した重みとを示す図である。図5の例では、判断基準は、ID1~ID110で識別される。自動選択部116は、図5の判断基準の結果と、図5の重みとに基づいて、複数のデータ転送経路106aのそれぞれの点数を計算し、複数のデータ転送経路106aの中から、最も点数が高い一のデータ転送経路106aを自動選択する。 Figure 5 is a diagram showing the judgment criteria corresponding to the transfer time information and the weighting previously set by the user 111 for the judgment criteria. In the example of Figure 5, the judgment criteria are identified by ID1 to ID110. The automatic selection unit 116 calculates the score for each of the multiple data transfer paths 106a based on the results of the judgment criteria in Figure 5 and the weighting in Figure 5, and automatically selects the data transfer path 106a with the highest score from among the multiple data transfer paths 106a.

ここで、点数の計算方法の一例について説明する。図6は、経路A~経路Cの判断基準ごとの値を示す図である。図6のID1~ID10は、図5のID1~ID10に対応している。例えば、図6のID1の判断基準は、図5のID1が示す「保持している転送時間の平均値」であり、図6のID1の判断基準の値は、経路A,B,CのID1の当該平均時間がそれぞれ「177」,「192」,「195」であることを示す。 Here, an example of how to calculate the scores will be explained. Figure 6 is a diagram showing the values for each criterion for routes A to C. ID1 to ID10 in Figure 6 correspond to ID1 to ID10 in Figure 5. For example, the criterion for ID1 in Figure 6 is the "average value of retained transfer time" indicated by ID1 in Figure 5, and the value of the criterion for ID1 in Figure 6 indicates that the average times for ID1 on routes A, B, and C are "177", "192", and "195", respectively.

選択可能な複数のデータ転送経路106aの数がXである場合、自動選択部116は、各判断基準の値が小さいデータ転送経路106aから順にX、X-1、…、1の点数を付与する。例えば、図6の経路A,B,CのID1の判断基準の値は「177」,「192」,「195」であるから、図6の経路A~Cのカッコ内の数字のように、経路Aには「3点」、経路Bには「2点」、経路Cには「1点」が付与される。 When the number of selectable data transfer paths 106a is X, the automatic selection unit 116 assigns scores of X, X-1, ..., 1 to the data transfer paths 106a in order of the smallest value of each judgment criterion. For example, the judgment criterion values for ID1 of paths A, B, and C in Figure 6 are "177", "192", and "195", so path A is assigned "3 points", path B is assigned "2 points", and path C is assigned "1 point", as shown by the numbers in parentheses for paths A to C in Figure 6.

判断基準の値が同じデータ転送経路106aがある場合、自動選択部116は、それらには同じ点数を付与し、その次に判断基準の値が小さいデータ転送経路106aに、同じ点数を付与したデータ転送経路106aの数だけ減じた点数を付与する。例えば、図6の経路A,B,CのID7の判断基準の値は「0」,「0」,「1」であるから、経路Aには「3点」、経路Bには「3点」、経路Cには「1点」が付与される。If there are data transfer paths 106a with the same criterion value, the automatic selection unit 116 assigns them the same score, and assigns the data transfer path 106a with the next smallest criterion value a score that is reduced by the number of data transfer paths 106a with the same score. For example, since the criterion values for ID7 of paths A, B, and C in Figure 6 are "0", "0", and "1", path A is assigned "3 points", path B is assigned "3 points", and path C is assigned "1 point".

自動選択部116は、付与した点数に、ユーザ111が事前に設定した各判断基準の重みを掛け合わせた乗算点数を求める。例えば、図5のID2の重みは「0.5」であり、図6のID2について経路A,B,Cにそれぞれ付与された点数は「3点」、「2点」、「1」点であるから、ID2の経路A,B,Cの乗算点数は、図5のように「1,5点」、「1点」、「0.5点」となる。自動選択部116は、このような乗算点数を各判断基準について求める。The automatic selection unit 116 obtains a multiplied score by multiplying the assigned score by the weight of each judgment criterion set in advance by the user 111. For example, the weight of ID2 in Fig. 5 is "0.5", and the scores assigned to routes A, B, and C for ID2 in Fig. 6 are "3 points", "2 points", and "1", respectively, so the multiplied scores for routes A, B, and C for ID2 are "1.5 points", "1 point", and "0.5 point", as shown in Fig. 5. The automatic selection unit 116 obtains such multiplied scores for each judgment criterion.

自動選択部116は、各経路A,B,Cについて乗算点数を合計した合計点数を求め、合計点数が最も高い一のデータ転送経路106aを自動選択する。図5の例では、経路A,B,Cの合計点数は「14.7点」、「11.8点」、「5.1点」であるため、自動選択部116は、経路Aを一のデータ転送経路106aとして自動選択する。The automatic selection unit 116 calculates a total score by adding up the multiplied scores for each of the routes A, B, and C, and automatically selects the data transfer route 106a with the highest total score. In the example of FIG. 5, the total scores for routes A, B, and C are "14.7 points," "11.8 points," and "5.1 points," so the automatic selection unit 116 automatically selects route A as the data transfer route 106a.

次に、データ転送経路106aの選択及び切り替えのタイミングについて説明する。ユーザ111は、周期制御部105に自動選択周期を予め設定しておく。周期制御部105は、自動選択周期として設定された周期ごとに、自動選択部116にトリガ信号を出力する。自動選択部116は、周期制御部105からのトリガ信号を受信すると、転送時間が格納されている記憶領域107から、入出力制御部103と演算部104との間の転送時間と、データ処理装置100を起動してからの転送時間の平均値、ワースト値及びベスト値と、紛失数と、データ処理装置100を起動してからの紛失数及び紛失率と、を読み込んだり、適宜計算したりすることによって取得する。例えば、自動選択部116は、平均値、ワースト値、ベスト値、及び、紛失率を計算して取得する。Next, the timing of selection and switching of the data transfer path 106a will be described. The user 111 sets an automatic selection period in the period control unit 105 in advance. The period control unit 105 outputs a trigger signal to the automatic selection unit 116 for each period set as the automatic selection period. When the automatic selection unit 116 receives a trigger signal from the period control unit 105, it reads or appropriately calculates the transfer time between the input/output control unit 103 and the calculation unit 104, the average value, worst value, and best value of the transfer time since the data processing device 100 was started from the memory area 107 in which the transfer time is stored. The number of losses, and the number of losses and loss rate since the data processing device 100 was started are obtained. For example, the automatic selection unit 116 calculates and obtains the average value, worst value, best value, and loss rate.

その後、自動選択部116は、取得された転送時間情報と予め定められた重みとに基づいて各経路の合計点数を算出し、合計点数に基づいて一のデータ転送経路106aを自動選択する。経路取得部112は、自動選択部116で自動選択された一のデータ転送経路106aを取得する。これ以降、データ処理装置100は、実施の形態1及び2と同様の処理が行うことにより、リアルタイム制御101に用いられるデータを入出力制御部103と演算部104との間において転送する経路を、一のデータ転送経路106aに切り替える。Then, the automatic selection unit 116 calculates the total score of each path based on the acquired transfer time information and a predetermined weight, and automatically selects one data transfer path 106a based on the total score. The path acquisition unit 112 acquires the one data transfer path 106a automatically selected by the automatic selection unit 116. After this, the data processing device 100 performs the same processing as in the first and second embodiments, thereby switching the path for transferring data used in the real-time control 101 between the input/output control unit 103 and the calculation unit 104 to the one data transfer path 106a.

<実施の形態3のまとめ>
以上のような本実施の形態1に係るデータ処理装置100によれば、転送時間情報と予め定められた重みとに基づいて、一のデータ転送経路106aを自動選択するので、ユーザ111の手間を低減することができる。
<Summary of the Third Embodiment>
According to the data processing device 100 of the first embodiment as described above, one data transfer path 106a is automatically selected based on the transfer time information and the predetermined weight, thereby reducing the effort required of the user 111.

なお、データ処理装置100は、自動選択部116の動作を有効または無効にする選択が可能に構成されてもよい。そして、自動選択部116の動作が無効に切り替えられた場合に、実施の形態1と同様に、経路取得部112による転送時間情報のユーザ111への提示と、ユーザ111からの一のデータ転送経路106aの取得とが行われてもよい。The data processing device 100 may be configured to allow a selection to enable or disable the operation of the automatic selection unit 116. When the operation of the automatic selection unit 116 is switched to disabled, the path acquisition unit 112 may present the transfer time information to the user 111 and acquire one data transfer path 106a from the user 111, as in the first embodiment.

<その他の変形例>
上述した入出力制御部103、演算部104、周期制御部105、データ転送用バス106、経路取得部112、経路切替部113、及び、非リアルタイム制御実行部114を、以下「入出力制御部103等」と記す。入出力制御部103等は、図7に示す処理回路81により実現される。すなわち、処理回路81は、外部装置とデータを送受信する入出力制御部103と、入出力制御部103で受信されたデータに基づいて演算を行い、その演算結果を入出力制御部103から出力する演算部104と、入出力制御部103と演算部104との間においてデータを転送可能な複数のデータ転送経路106aを形成するデータ転送用バス106と、複数のデータ転送経路106aのそれぞれによる転送に要した所要時間の情報を生成し、複数のデータ転送経路106aの中から選択された一のデータ転送経路106aを取得する経路取得部112と、周期ごとに実行されるリアルタイム制御に用いられるデータを入出力制御部103と演算部104との間において転送する経路を、経路取得部112で取得された一のデータ転送経路106aに切り替える経路切替部113と、データ転送用バス106の使用がリアルタイム制御に優先される非リアルタイム制御を実行する非リアルタイム制御実行部114と、を備える。処理回路81には、専用のハードウェアが適用されてもよいし、メモリに格納されるプログラムを実行するプロセッサが適用されてもよい。プロセッサには、例えば、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、DSP(Digital Signal Processor)などが該当する。
<Other Modifications>
The above-mentioned I/O control unit 103, calculation unit 104, periodic control unit 105, data transfer bus 106, path acquisition unit 112, path switching unit 113, and non-real-time control execution unit 114 are hereinafter referred to as the "I/O control unit 103, etc." The I/O control unit 103, etc. are realized by a processing circuit 81 shown in FIG. That is, the processing circuit 81 includes an input/output control unit 103 that transmits and receives data to and from an external device, a calculation unit 104 that performs calculations based on data received by the input/output control unit 103 and outputs the calculation results from the input/output control unit 103, a data transfer bus 106 that forms multiple data transfer paths 106a that can transfer data between the input/output control unit 103 and the calculation unit 104, a path acquisition unit 112 that generates information on the required time required for transfer through each of the multiple data transfer paths 106a and acquires one data transfer path 106a selected from the multiple data transfer paths 106a, a path switching unit 113 that switches the path for transferring data used for real-time control executed every period between the input/output control unit 103 and the calculation unit 104 to the one data transfer path 106a acquired by the path acquisition unit 112, and a non-real-time control execution unit 114 that executes non-real-time control in which the use of the data transfer bus 106 is prioritized over real-time control. The processing circuit 81 may be implemented with dedicated hardware or a processor that executes a program stored in a memory. The processor may be, for example, a central processing unit, a processing unit, an arithmetic unit, a microprocessor, a microcomputer, or a DSP (Digital Signal Processor).

処理回路81が専用のハードウェアである場合、処理回路81は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC、FPGA、またはこれらを組み合わせたものが該当する。入出力制御部103等の各部の機能それぞれは、処理回路を分散させた回路で実現されてもよいし、各部の機能をまとめて一つの処理回路で実現されてもよい。When the processing circuit 81 is a dedicated hardware, the processing circuit 81 corresponds to, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC, an FPGA, or a combination of these. Each function of each part such as the input/output control unit 103 may be realized by a circuit in which the processing circuit is distributed, or the functions of each part may be realized by a single processing circuit.

処理回路81がプロセッサである場合、入出力制御部103等の機能は、ソフトウェア等との組み合わせにより実現される。なお、ソフトウェア等には、例えば、ソフトウェア、ファームウェア、または、ソフトウェア及びファームウェアが該当する。ソフトウェア等はプログラムとして記述され、メモリに格納される。図8に示すように、処理回路81に適用されるプロセッサ82は、メモリ83に記憶されたプログラムを読み出して実行することにより、各部の機能を実現する。すなわち、データ処理装置100は、処理回路81により実行されるときに、複数のデータ転送経路106aのそれぞれによる転送に要した所要時間の情報を生成し、複数のデータ転送経路106aの中から選択された一のデータ転送経路106aを取得するステップと、周期ごとに実行されるリアルタイム制御に用いられるデータを入出力制御部103と演算部104との間において転送する経路を、取得された一のデータ転送経路106aに切り替えるステップと、データ転送用バス106の使用がリアルタイム制御に優先される非リアルタイム制御を実行するステップと、が結果的に実行されることになるプログラムを格納するためのメモリ83を備える。換言すれば、このプログラムは、入出力制御部103等の手順や方法をコンピュータに実行させるものであるともいえる。ここで、メモリ83は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)などの、不揮発性または揮発性の半導体メモリ、HDD(Hard Disk Drive)、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD(Digital Versatile Disc)、それらのドライブ装置等、または、今後使用されるあらゆる記憶媒体であってもよい。When the processing circuit 81 is a processor, the functions of the input/output control unit 103 and the like are realized by a combination with software and the like. The software and the like includes, for example, software, firmware, or software and firmware. The software and the like are written as a program and stored in a memory. As shown in FIG. 8, the processor 82 applied to the processing circuit 81 realizes the functions of each unit by reading and executing a program stored in the memory 83. That is, when executed by the processing circuit 81, the data processing device 100 includes a memory 83 for storing a program that results in the execution of the steps of: generating information on the time required for transfer through each of the multiple data transfer paths 106a, acquiring one data transfer path 106a selected from the multiple data transfer paths 106a; switching the path for transferring data used for real-time control executed every period between the input/output control unit 103 and the calculation unit 104 to the acquired one data transfer path 106a; and executing non-real-time control in which the use of the data transfer bus 106 is prioritized over real-time control. In other words, this program can be said to cause a computer to execute the procedures and methods of the input/output control unit 103 and the like. Here, the memory 83 may be, for example, a non-volatile or volatile semiconductor memory such as a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory, an EPROM (Erasable Programmable Read Only Memory), an EEPROM (Electrically Erasable Programmable Read Only Memory), a HDD (Hard Disk Drive), a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, a DVD (Digital Versatile Disc), a drive device for any of these, or any storage medium to be used in the future.

以上、入出力制御部103等の各機能が、ハードウェア及びソフトウェア等のいずれか一方で実現される構成について説明した。しかしこれに限ったものではなく、入出力制御部103等の一部を専用のハードウェアで実現し、別の一部をソフトウェア等で実現する構成であってもよい。例えば、入出力制御部103については専用のハードウェアとしての処理回路81、インターフェース及びレシーバなどでその機能を実現し、それ以外についてはプロセッサ82としての処理回路81がメモリ83に格納されたプログラムを読み出して実行することによってその機能を実現することが可能である。 A configuration has been described above in which the functions of the input/output control unit 103 and the like are realized either by hardware or software, etc. However, this is not limited to this, and a configuration in which part of the input/output control unit 103 and the like is realized by dedicated hardware and another part is realized by software, etc. For example, the functions of the input/output control unit 103 can be realized by dedicated hardware such as a processing circuit 81, an interface, and a receiver, and the rest of the functions can be realized by the processing circuit 81 as a processor 82 reading and executing a program stored in the memory 83.

以上のように、処理回路81は、ハードウェア、ソフトウェア等、またはこれらの組み合わせによって、上述の各機能を実現することができる。As described above, the processing circuit 81 can realize each of the above-mentioned functions through hardware, software, etc., or a combination of these.

なお、各実施の形態及び各変形例を自由に組み合わせたり、各実施の形態及び各変形例を適宜、変形、省略したりすることが可能である。 In addition, it is possible to freely combine the various embodiments and variations, and to modify or omit the various embodiments and variations as appropriate.

上記した説明は、すべての局面において、例示であって、限定的なものではない。例示されていない無数の変形例が、想定され得るものと解される。The above description is illustrative in all respects and is not limiting. It is understood that countless variations not illustrated can be envisioned.

100 データ処理装置、101 リアルタイム制御、102 非リアルタイム制御、103 入出力制御部、104 演算部、105 周期制御部、106 データ転送用バス、106a データ転送経路、107,107A,107B,107C 記憶領域、111 ユーザ、112 経路取得部、113 経路切替部、114 非リアルタイム制御実行部、116 自動選択部。 100 Data processing device, 101 Real-time control, 102 Non-real-time control, 103 Input/output control unit, 104 Calculation unit, 105 Periodic control unit, 106 Data transfer bus, 106a Data transfer path, 107, 107A, 107B, 107C Memory area, 111 User, 112 Path acquisition unit, 113 Path switching unit, 114 Non-real-time control execution unit, 116 Automatic selection unit.

Claims (7)

外部装置とデータを送受信する入出力制御部と、
前記入出力制御部で受信された前記データに基づいて演算を行い、その演算結果を前記入出力制御部から出力する演算部と、
前記入出力制御部と前記演算部との間において前記データを転送可能な複数のデータ転送経路を形成するデータ転送用バスと、
前記複数のデータ転送経路のそれぞれによる転送に要した所要時間の情報を生成し、前記複数のデータ転送経路の中から選択された一のデータ転送経路を取得する経路取得部と、
周期ごとに実行される第1制御に用いられる前記データを前記入出力制御部と前記演算部との間において転送する経路を、前記経路取得部で取得された前記一のデータ転送経路に切り替える経路切替部と、
前記データ転送用バスの使用が前記第1制御に優先される第2制御を実行する実行部と
を備える、データ処理装置。
An input/output control unit that transmits and receives data to and from an external device;
a calculation unit that performs a calculation based on the data received by the input/output control unit and outputs the calculation result from the input/output control unit;
a data transfer bus that forms a plurality of data transfer paths between the input/output control unit and the calculation unit, through which the data can be transferred;
a path acquisition unit that generates information on a required time required for transfer through each of the plurality of data transfer paths and acquires one data transfer path selected from the plurality of data transfer paths;
a path switching unit that switches a path for transferring the data used in a first control executed every period between the input/output control unit and the calculation unit to the one data transfer path acquired by the path acquisition unit;
an execution unit that executes a second control in which use of the data transfer bus is prioritized over the first control.
請求項1に記載のデータ処理装置であって、
前記第1制御の前記周期を制御する周期制御部と、
前記複数のデータ転送経路に経由される複数の記憶領域と
をさらに備える、データ処理装置。
2. A data processing apparatus according to claim 1,
a cycle control unit that controls the cycle of the first control;
The data processing device further comprises a plurality of storage areas via the plurality of data transfer paths.
請求項1または請求項2に記載のデータ処理装置であって、
前記所要時間の前記情報は、
前記複数のデータ転送経路のそれぞれによる転送で生じたデータ紛失の情報を含む、データ処理装置。
3. A data processing device according to claim 1, further comprising:
The information on the required time is
A data processing device that includes information on data loss that has occurred during transfer through each of the plurality of data transfer paths.
請求項1から請求項3のうちのいずれか1項に記載のデータ処理装置であって、
前記経路取得部は、前記所要時間の前記情報をユーザに提示し、
前記一のデータ転送経路は、前記ユーザによって前記複数のデータ転送経路の中から選択される、データ処理装置。
A data processing device according to any one of claims 1 to 3,
The route acquisition unit presents the information on the required time to a user,
The one data transfer path is selected by the user from among the plurality of data transfer paths.
請求項1から請求項4のうちのいずれか1項に記載のデータ処理装置であって、
前記所要時間の前記情報と、予め定められた重みとに基づいて、前記複数のデータ転送経路の中から前記一のデータ転送経路を自動選択する自動選択部をさらに備える、データ処理装置。
A data processing device according to any one of claims 1 to 4,
the data processing device further comprising an automatic selection unit that automatically selects the one data transfer path from among the plurality of data transfer paths based on the information on the required time and a predetermined weight.
請求項5に記載のデータ処理装置であって、
前記自動選択部の動作を有効または無効にする選択が可能な、データ処理装置。
6. A data processing apparatus according to claim 5,
A data processing device capable of selecting whether to enable or disable the operation of the automatic selection unit.
データ処理装置のデータ処理方法であって、
前記データ処理装置は、
外部装置とデータを送受信する入出力制御部と、
前記入出力制御部で受信された前記データに基づいて演算を行い、その演算結果を前記入出力制御部から出力する演算部と、
前記入出力制御部と前記演算部との間において前記データを転送可能な複数のデータ転送経路を形成するデータ転送用バスと
を備え、
前記複数のデータ転送経路のそれぞれによる転送に要した所要時間の情報を生成し、前記複数のデータ転送経路の中から選択された一のデータ転送経路を取得し、
周期ごとに実行される第1制御に用いられる前記データを前記入出力制御部と前記演算部との間において転送する経路を、取得された前記一のデータ転送経路に切り替え、
前記データ転送用バスの使用が前記第1制御に優先される第2制御を実行する、データ処理方法。
A data processing method for a data processing device, comprising:
The data processing device includes:
an input/output control unit for transmitting and receiving data to and from an external device;
a calculation unit that performs a calculation based on the data received by the input/output control unit and outputs the calculation result from the input/output control unit;
a data transfer bus that forms a plurality of data transfer paths between the input/output control unit and the calculation unit, through which the data can be transferred;
generating information on a time required for transfer through each of the plurality of data transfer paths, and acquiring one data transfer path selected from the plurality of data transfer paths;
switching a path for transferring the data used in a first control executed every period between the input/output control unit and the calculation unit to the acquired one data transfer path;
A data processing method comprising: executing a second control in which use of the data transfer bus has priority over the first control.
JP2023528874A 2021-06-17 2021-06-17 DATA PROCESSING APPARATUS AND DATA PROCESSING METHOD Active JP7496937B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/022994 WO2022264351A1 (en) 2021-06-17 2021-06-17 Data processing device and data processing method

Publications (2)

Publication Number Publication Date
JPWO2022264351A1 JPWO2022264351A1 (en) 2022-12-22
JP7496937B2 true JP7496937B2 (en) 2024-06-07

Family

ID=84526928

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023528874A Active JP7496937B2 (en) 2021-06-17 2021-06-17 DATA PROCESSING APPARATUS AND DATA PROCESSING METHOD

Country Status (2)

Country Link
JP (1) JP7496937B2 (en)
WO (1) WO2022264351A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010224972A (en) 2009-03-24 2010-10-07 Fujitsu Ten Ltd Simulation system
WO2011142087A1 (en) 2010-05-12 2011-11-17 パナソニック株式会社 Router and chip circuit
WO2011148583A1 (en) 2010-05-27 2011-12-01 パナソニック株式会社 Bus control device and control device for outputting instructions to the bus control device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11219099A (en) * 1998-02-03 1999-08-10 Mitsubishi Electric Corp Simulator

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010224972A (en) 2009-03-24 2010-10-07 Fujitsu Ten Ltd Simulation system
WO2011142087A1 (en) 2010-05-12 2011-11-17 パナソニック株式会社 Router and chip circuit
WO2011148583A1 (en) 2010-05-27 2011-12-01 パナソニック株式会社 Bus control device and control device for outputting instructions to the bus control device

Also Published As

Publication number Publication date
JPWO2022264351A1 (en) 2022-12-22
WO2022264351A1 (en) 2022-12-22

Similar Documents

Publication Publication Date Title
US8078781B2 (en) Device having priority upgrade mechanism capabilities and a method for updating priorities
US5805922A (en) Queued serial peripheral interface having multiple queues for use in a data processing system
US8042086B2 (en) Method and apparatus for verifying integrated circuit design using a constrained random test bench
EP2902914A1 (en) Data transmission method and device
JPS58151631A (en) Dma bus load varying device
WO2014149831A1 (en) Apparatuses and methods for variable latency memory operations
US11327907B2 (en) Methods and apparatus for improving SPI continuous read
TWI620190B (en) Memory control circuit and memory test method
KR20160087817A (en) Automated test system with edge steering
TW201729096A (en) Serial I/O functional tester
JP7496937B2 (en) DATA PROCESSING APPARATUS AND DATA PROCESSING METHOD
US20070156937A1 (en) Data transfer in multiprocessor system
JPH06509896A (en) scalable coprocessor
US20100169525A1 (en) Pipelined device and a method for executing transactions in a pipelined device
TW200839524A (en) Direct memory access controller with error check
US10733127B2 (en) Data transmission apparatus and data transmission method
US7761280B2 (en) Data processing apparatus simulation by generating anticipated timing information for bus data transfers
TW202119218A (en) Bridge chip with function of expanding external devices and associated expansion method
KR20160122329A (en) Controller transmitting output commands and method of operating thereof
US10802730B2 (en) Semiconductor device and reconfiguration control method of the same
JP6826186B2 (en) Scheduling independent and dependent actions for processing
JP6372297B2 (en) Information processing apparatus and information processing apparatus control method
US9798491B2 (en) Semiconductor system and operating method thereof
JP5673197B2 (en) Test program and test method
JP7226084B2 (en) Information processing equipment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230501

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240430

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240528

R150 Certificate of patent or registration of utility model

Ref document number: 7496937

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150