JP2011164903A - Data communication controller - Google Patents

Data communication controller Download PDF

Info

Publication number
JP2011164903A
JP2011164903A JP2010026594A JP2010026594A JP2011164903A JP 2011164903 A JP2011164903 A JP 2011164903A JP 2010026594 A JP2010026594 A JP 2010026594A JP 2010026594 A JP2010026594 A JP 2010026594A JP 2011164903 A JP2011164903 A JP 2011164903A
Authority
JP
Japan
Prior art keywords
data
serial
parallel
bus
cpu core
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
Application number
JP2010026594A
Other languages
Japanese (ja)
Inventor
Kanji Hirano
幹児 平野
Kotaro Sato
浩太郎 佐藤
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.)
Toyota Motor Corp
Renesas Electronics Corp
Original Assignee
Toyota Motor Corp
Renesas Electronics 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 Toyota Motor Corp, Renesas Electronics Corp filed Critical Toyota Motor Corp
Priority to JP2010026594A priority Critical patent/JP2011164903A/en
Publication of JP2011164903A publication Critical patent/JP2011164903A/en
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a data communication controller allowing proper adjustment of operation timing of a bus. <P>SOLUTION: The data communication controller includes a bus bridge 20 between a CPU core 10 and a peripheral apparatus 60, the CPU core and the bus bridge are connected by a high-speed bus 70, and the peripheral apparatus and the bus bridge are connected by a low-speed bus 72. The data communication controller includes changeover control parts 30. 62A dynamically or statically changing over a transmission method of data by the low-speed bus to the bus bridge from the peripheral apparatus between serial communication and parallel communication when transmitting the data to the CPU core from the peripheral apparatus through the bus bridge. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、CPUコアと周辺機器との間のデータ通信を制御するデータ通信制御装置に関する。   The present invention relates to a data communication control device that controls data communication between a CPU core and peripheral devices.

従来から、シリアル受信入力信号をパラレル受信信号に変換するシリアル−パラレル変換用の受信ブロックと、パラレル送信信号をシリアル送信出力信号に変換するパラレル−シリアル変換用の送信ブロックと、複数の入出力ポートと、受信ブロック又は送信ブロックとセレクタで選択された入出力ポートとを接続する通信データバスと、セレクタで選択された入出力ポートに接続可能なMPU接続用のCPUデータバスと、通信データバス及びCPUデータバスに接続されるデータレジスタとを有し、該データレジスタが送信ブロックに送る送信データ又は受信ブロックからの受信データを格納する固定チャンネル型ゲートアレイが知られている(例えば、特許文献1参照)。   Conventionally, a serial-parallel conversion reception block that converts a serial reception input signal into a parallel reception signal, a parallel-serial conversion transmission block that converts a parallel transmission signal into a serial transmission output signal, and a plurality of input / output ports A communication data bus connecting the reception block or transmission block and the input / output port selected by the selector, a CPU data bus for MPU connection connectable to the input / output port selected by the selector, a communication data bus, There is known a fixed channel type gate array having a data register connected to a CPU data bus and storing transmission data transmitted to the transmission block or reception data from the reception block by the data register (for example, Patent Document 1). reference).

特開平08-147140号公報Japanese Unexamined Patent Publication No. 08-147140

ところで、単一のマイコンで、従来複数のマイコンで実現していた機能を実現する場合、又は、マルチコアタイプのマイコンで、従来複数のマイコンで実現していた機能を実現する場合、これらの機能間の相違、必要とされる帯域の相違、必要とされる応答性の相違等を考慮する必要がある。このため、これらの相違等に応じて複数の帯域を保証する複数のバスを搭載する必要が生じるが、かかる複数のバスを搭載することはコスト面から不利である。   By the way, when realizing a function that was previously realized by multiple microcomputers with a single microcomputer, or when realizing a function that was conventionally realized by multiple microcomputers with a multi-core type microcomputer, between these functions Difference, required bandwidth, required response, etc. need to be considered. For this reason, it is necessary to mount a plurality of buses that guarantee a plurality of bands in accordance with these differences and the like, but mounting such a plurality of buses is disadvantageous in terms of cost.

そこで、本発明は、バスの動作タイミングを適切に調整することができるデータ通信制御装置の提供を目的とする。   SUMMARY An advantage of some aspects of the invention is that it provides a data communication control device that can appropriately adjust the operation timing of a bus.

上記目的を達成するため、本発明の一局面によれば、CPUコアと周辺機器との間のデータ通信を制御するデータ通信制御装置であって、
CPUコアと周辺機器の間にバスブリッジを備え、
前記CPUコアと前記バスブリッジの間は、高速バスで接続され、
前記周辺機器と前記バスブリッジの間は、低速バスで接続され、
前記周辺機器から前記バスブリッジを介して前記CPUコアへデータを送信する際に、前記周辺機器から前記バスブリッジへ前記低速バスで送信されてくるデータが前記バスブリッジのバッファに所定ビット数格納されたときに、前記高速バスで前記所定ビット数のデータを前記CPUコアに送信するように構成され、
前記周辺機器から前記バスブリッジへの前記低速バスによるデータの送信方法を、シリアル通信とパラレル通信の間で動的又は静的に切り換える切換制御部を備えることを特徴とする、データ通信制御装置が提供される。
In order to achieve the above object, according to one aspect of the present invention, there is provided a data communication control device for controlling data communication between a CPU core and peripheral devices,
A bus bridge is provided between the CPU core and peripheral devices.
The CPU core and the bus bridge are connected by a high-speed bus,
The peripheral device and the bus bridge are connected by a low-speed bus,
When transmitting data from the peripheral device to the CPU core via the bus bridge, the data transmitted from the peripheral device to the bus bridge via the low-speed bus is stored in the buffer of the bus bridge in a predetermined number of bits. Is configured to transmit the predetermined number of bits of data to the CPU core on the high-speed bus
A data communication control device comprising: a switching control unit that dynamically or statically switches a data transmission method from the peripheral device to the bus bridge via the low-speed bus between serial communication and parallel communication. Provided.

本発明によれば、バスの動作タイミングを適切に調整することができるデータ通信制御装置が得られる。   ADVANTAGE OF THE INVENTION According to this invention, the data communication control apparatus which can adjust the operation timing of a bus | bath appropriately is obtained.

本発明によるデータ通信制御装置の一実施例を具現化するマイコン1の要部構成を示す図である。It is a figure which shows the principal part structure of the microcomputer 1 which actualizes one Example of the data communication control apparatus by this invention. 図1のバスブリッジ20と周辺機能60の機能概念図である。FIG. 2 is a functional conceptual diagram of a bus bridge 20 and peripheral functions 60 in FIG. 1. バスブリッジ20と周辺機能60との間等のデータ授受の流れを示すフローチャートである。3 is a flowchart showing a flow of data exchange between the bus bridge 20 and a peripheral function 60. 図4(A)は、パラレルでデータが出力される際のパラレル通信波形を示し、図4(B)は、シリアルでデータが出力される際のパラレル通信波形を示す図である。4A shows a parallel communication waveform when data is output in parallel, and FIG. 4B shows a parallel communication waveform when data is output serially. シリアル・パラレル制御部30において採用されてもよいシリアル・パラレルの選択観点の一例を示す表図である。3 is a table showing an example of serial / parallel selection viewpoints that may be employed in the serial / parallel control unit 30. FIG. 静的な切換を実現するときのシリアル・パラレル制御部30の詳細の一例を示す図である。It is a figure which shows an example of the detail of the serial / parallel control part 30 when implement | achieving static switching. 図6に示したシリアル・パラレル制御部30の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the serial / parallel control part 30 shown in FIG. 半動的な切換を実現するときのシリアル・パラレル制御部30の詳細の一例を示す図である。It is a figure which shows an example of the detail of the serial / parallel control part 30 when implement | achieving semi-dynamic switching. 図8に示したシリアル・パラレル制御部30の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the serial / parallel control part 30 shown in FIG. 完全な動的な切換を実現するときのシリアル・パラレル制御部30の詳細の一例を示す図である。It is a figure which shows an example of the detail of the serial / parallel control part 30 when implement | achieving perfect dynamic switching. 図10に示したシリアル・パラレル制御部30の動作を示すフローチャートである。11 is a flowchart showing an operation of the serial / parallel control unit 30 shown in FIG. 10. ソフトウェアを利用して実装した場合のシリアル・パラレル制御部30の詳細の一例を示す図である。It is a figure which shows an example of the detail of the serial / parallel control part 30 at the time of mounting using software. 図12のソフトウェア部30Bの動作フローチャートを示す。13 shows an operation flowchart of the software unit 30B of FIG. その他の実施例によるバスブリッジ20と周辺機能60の機能概念図である。It is a functional conceptual diagram of the bus bridge 20 and the peripheral function 60 by the other Example. その他の実施例によるバスブリッジ20と周辺機能60の機能概念図である。It is a functional conceptual diagram of the bus bridge 20 and the peripheral function 60 by the other Example. 図15に示すその他の実施例によるバスブリッジ20と周辺機能60の間等のデータ授受の流れを示すフローチャートである。16 is a flowchart showing a flow of data exchange between the bus bridge 20 and a peripheral function 60 according to another embodiment shown in FIG. 図16に示すフローチャートに関連して、CPUコア10による周辺機能60A,60B,60Cへのアクセスの順序の一例を示す図である。FIG. 17 is a diagram showing an example of an order of access to peripheral functions 60A, 60B, and 60C by the CPU core 10 in relation to the flowchart shown in FIG. 図17に示したフローチャートに従って実行されるシリアル通信の動作波形を示す図である。It is a figure which shows the operation | movement waveform of the serial communication performed according to the flowchart shown in FIG. 本発明によるデータ通信制御装置のその他の一実施例(実施例2)を具現化するマイコン2の要部構成を示す図である。It is a figure which shows the principal part structure of the microcomputer 2 which embodies another one Example (Example 2) of the data communication control apparatus by this invention. 本発明によるデータ通信制御装置のその他の一実施例(実施例3)を具現化するマイコン3の要部構成を示す図である。It is a figure which shows the principal part structure of the microcomputer 3 which embodies another one Example (Example 3) of the data communication control apparatus by this invention. 3つの統合前マイコン100,102、104の機能を、マイコン1に統合した場合を示す概念図である。It is a conceptual diagram which shows the case where the function of three microcomputer 100,102,104 before integration is integrated with the microcomputer 1. FIG. 統合前マイコン100と統合前マイコン102(又は104)の動作波形の相違を示す図である。It is a figure which shows the difference in the operation waveform of the microcomputer 100 before integration, and the microcomputer 102 (or 104) before integration. 図23(A)は、マイコン1における48MHz帯域割当てのパラレル通信波形を示し、図23(B)は、マイコン1における48MHz帯域割当てのシリアル通信波形を示す図である。FIG. 23A shows a parallel communication waveform of 48 MHz band assignment in the microcomputer 1, and FIG. 23B shows a serial communication waveform of 48 MHz band assignment in the microcomputer 1. 統合前マイコン200,202、204の機能を、上述の実施例2によるマイコン2に統合した場合を示す概念図である。It is a conceptual diagram which shows the case where the function of microcomputer 200,202,204 before integration is integrated into the microcomputer 2 by the above-mentioned Example 2. FIG. 統合前マイコン300,302、304の機能を、上述の実施例3によるマイコン3に統合した場合を示す概念図である。It is a conceptual diagram which shows the case where the function of microcomputer 300,302,304 before integration is integrated into the microcomputer 3 by the above-mentioned Example 3. FIG.

以下、図面を参照して、本発明を実施するための最良の形態の説明を行う。   The best mode for carrying out the present invention will be described below with reference to the drawings.

図1は、本発明によるデータ通信制御装置の一実施例(実施例1)を具現化するマイコン1の要部構成を示す図である。   FIG. 1 is a diagram showing a main configuration of a microcomputer 1 that embodies an embodiment (embodiment 1) of a data communication control device according to the present invention.

マイコン1は、CPUコア10を備える。CPUコア10には、レイテンシの小さい高速バス70が接続される。高速バス70には、ローカルメモリ50と、バスブリッジ20とが接続される。バスブリッジ20には、レイテンシの大きい低速バス72が接続される。バスブリッジ20は、高速バス70と低速バス72(PB)間の周波数変換を行う。低速バス72には、シリアルインターフェース、A/Dコンバータ、CAN、タイマー機能等の周辺機能60が接続されている。ここでは、一例として、高速バス70は、バス幅が64ビットであり、動作周波数が192MHzである。低速バス72は、バス幅が8ビットであり、動作周波数が9.6MHzである。   The microcomputer 1 includes a CPU core 10. The CPU core 10 is connected to a high-speed bus 70 with low latency. A local memory 50 and a bus bridge 20 are connected to the high-speed bus 70. A low-speed bus 72 having a large latency is connected to the bus bridge 20. The bus bridge 20 performs frequency conversion between the high-speed bus 70 and the low-speed bus 72 (PB). Peripheral functions 60 such as a serial interface, an A / D converter, a CAN, and a timer function are connected to the low-speed bus 72. Here, as an example, the high-speed bus 70 has a bus width of 64 bits and an operating frequency of 192 MHz. The low-speed bus 72 has a bus width of 8 bits and an operating frequency of 9.6 MHz.

図2は、図1のバスブリッジ20と周辺機能60の機能概念図である。図2では、代表として、特定の1つの周辺機能60A(本例では、CAN)が示される。他の周辺機能に関しては、周辺機能60Aと同様であってよい。   FIG. 2 is a functional conceptual diagram of the bus bridge 20 and the peripheral function 60 of FIG. In FIG. 2, one specific peripheral function 60A (CAN in this example) is shown as a representative. Other peripheral functions may be the same as the peripheral function 60A.

バスブリッジ20は、図2に示すように、データを蓄積するバッファ22と、アドレス・リクエスト管理部(ARC)24と、終了制御部(FC)26と、データ分配部(DD)28と、シリアル・パラレル制御部30とを備える。   As shown in FIG. 2, the bus bridge 20 includes a buffer 22 for storing data, an address / request management unit (ARC) 24, an end control unit (FC) 26, a data distribution unit (DD) 28, a serial A parallel control unit 30 is provided.

アドレス・リクエスト管理部24は、CPUコア10からのアドレス・リクエストを解釈し、周辺機能60Aにアドレス・リクエストを発行する。終了制御部26は、周辺機能60Aから送られる終了フラグを解釈する。また、終了制御部26は、必要データ量を管理し、終了フラグをCPUコア10に送る。   The address request management unit 24 interprets the address request from the CPU core 10 and issues an address request to the peripheral function 60A. The end control unit 26 interprets the end flag sent from the peripheral function 60A. Further, the end control unit 26 manages the necessary data amount and sends an end flag to the CPU core 10.

データ分配部28は、周辺機能60Aからシリアル又はパラレル(バス)で送信されたデータをバッファ22に分配・格納する。   The data distribution unit 28 distributes and stores the data transmitted serially or in parallel (bus) from the peripheral function 60A in the buffer 22.

シリアル・パラレル制御部30は、低速バス72のシリアル・パラレル設定レジスタ32(後述)を参照して、シリアルでデータ出力するかパラレルでデータ出力するかの信号(シリアル・パラレル切換信号)を周辺機能60A及びデータ分配部28へ送る。シリアル・パラレル制御部30の構成及び機能等は、後に詳説する。   The serial / parallel control unit 30 refers to a serial / parallel setting register 32 (described later) of the low-speed bus 72, and outputs a signal indicating whether data is output serially or data is output in parallel (serial / parallel switching signal) as a peripheral function. 60A and the data distribution unit 28. The configuration and functions of the serial / parallel control unit 30 will be described in detail later.

周辺機能60Aは、図2に示すように、シリアル・パラレル制御部62Aと、出力段64Aとを備える。   As shown in FIG. 2, the peripheral function 60A includes a serial / parallel control unit 62A and an output stage 64A.

シリアル・パラレル制御部62Aは、シリアル・パラレル制御部30からのシリアル・パラレル切換信号に従って、周辺機能60Aの出力段64Aからシリアルでデータ出力するかパラレルでデータ出力するかを切り換える。   The serial / parallel control unit 62A switches between serial data output and parallel data output from the output stage 64A of the peripheral function 60A according to the serial / parallel switching signal from the serial / parallel control unit 30.

図3は、バスブリッジ20と周辺機能60Aとの間等のデータ授受の流れを示すフローチャートである。   FIG. 3 is a flowchart showing the flow of data exchange between the bus bridge 20 and the peripheral function 60A.

ステップ300では、シリアル・パラレル制御部30は、シリアルでデータ出力するかパラレルでデータ出力するかを判断する。この判断方法の詳細は、後述する。シリアルでデータ出力する場合は、ステップ302に進み、データ分配部(DD)28をシリアル変換に指定すると共に、周辺機能60Aにシリアル通信でデータ出力することを通知する。他方、パラレルでデータ出力する場合は、ステップ304に進み、データ分配部(DD)28をパラレル変換に指定すると共に、周辺機能60Aにパラレル通信でデータ出力することを通知する。   In step 300, the serial / parallel control unit 30 determines whether to output data serially or in parallel. Details of this determination method will be described later. In the case of outputting data serially, the process proceeds to step 302, where the data distribution unit (DD) 28 is designated for serial conversion, and the peripheral function 60A is notified of data output by serial communication. On the other hand, when data is output in parallel, the process proceeds to step 304, where the data distribution unit (DD) 28 is designated for parallel conversion, and the peripheral function 60A is notified of data output by parallel communication.

ステップ306では、CPUコア10から周辺機能60A(CAN)へのアドレス・リクエストが発行されると、バスブリッジ20のアドレス・リクエスト管理部24がアドレス・リクエストを解釈し、対応する周辺機能60Aを選択してアドレス・リクエストを送信する。このアドレス・リクエストが送信されると、あるレイテンシ経過後に、周辺機能60Aから低速バス72にてパラレル通信方式でデータが出力される。この際、低速バス72は、低速バス72の8本の線PB(7:0)が使用され、データがバッファ22に格納される(ステップ308)。   In Step 306, when an address request from the CPU core 10 to the peripheral function 60A (CAN) is issued, the address request management unit 24 of the bus bridge 20 interprets the address request and selects the corresponding peripheral function 60A. And send an address request. When this address request is transmitted, data is output from the peripheral function 60A through the low-speed bus 72 by the parallel communication method after a certain latency elapses. At this time, the low-speed bus 72 uses the eight lines PB (7: 0) of the low-speed bus 72, and the data is stored in the buffer 22 (step 308).

ステップ310では、CPUコア10から周辺機能60A(CAN)へのアドレス・リクエストが発行されると、バスブリッジ20のアドレス・リクエスト管理部24がアドレス・リクエストを解釈し、対応する周辺機能60Aを選択してアドレス・リクエストを送信する。このアドレス・リクエストが送信されると、あるレイテンシ経過後に、周辺機能60Aから低速バス72にてシリアル通信方式でデータが出力される。この際、低速バス72は、特定の1本の線PB(0)が使用される。このようにして、データは、低速バス72からデータ分配部(DD)28に送られる。続くステップ312では、データ分配部(DD)28において、周辺機能60Aからのデータをシリアル方式に応じて整理してバッファ22に格納する。   In Step 310, when an address request from the CPU core 10 to the peripheral function 60A (CAN) is issued, the address request management unit 24 of the bus bridge 20 interprets the address request and selects the corresponding peripheral function 60A. And send an address request. When this address request is transmitted, data is output from the peripheral function 60A through the low-speed bus 72 by the serial communication method after a certain latency has elapsed. At this time, the specific one line PB (0) is used for the low-speed bus 72. In this way, data is sent from the low-speed bus 72 to the data distribution unit (DD) 28. In the subsequent step 312, the data distribution unit (DD) 28 arranges the data from the peripheral function 60A according to the serial method and stores the data in the buffer 22.

ステップ314では、CPUコア10が必要とするデータ(例えば64ビット分のデータ)がバッファ22に格納されると、周辺機能60Aから終了フラグが送信され、周辺機能60Aから通知された終了フラグを終了制御部26が解釈し、CPUコア10に通知する。   In step 314, when data required by the CPU core 10 (for example, 64-bit data) is stored in the buffer 22, an end flag is transmitted from the peripheral function 60A, and the end flag notified from the peripheral function 60A is ended. The control unit 26 interprets and notifies the CPU core 10.

ステップ316では、バッファ22に格納されたデータ(例えば64ビット分のデータ)を高速バス70でCPUコア10に転送する。   In step 316, the data stored in the buffer 22 (for example, 64-bit data) is transferred to the CPU core 10 via the high-speed bus 70.

図4(A)は、パラレルでデータが出力される際のパラレル通信波形を示し、図3のステップ306.308の処理に対応する。図4(B)は、シリアルでデータが出力される際のパラレル通信波形を示し、図3のステップ310.312の処理に対応する。   FIG. 4A shows a parallel communication waveform when data is output in parallel, and corresponds to the processing of step 306.308 in FIG. FIG. 4B shows a parallel communication waveform when data is output serially, and corresponds to the processing of step 310.312 in FIG.

パラレルでデータが出力される場合、図4(A)に示すように、アドレス・リクエストが発行されると、あるレイテンシ(本例では、2サイクル)経過後に、周辺機能60Aから低速バス72にデータが8ビットずつ出力される。図4(A)において、五角形の記号で指示されるデータ0,1,...,7は、8ビットのデータの集合を表す。バスブリッジ20のバッファ22に低速バス72から64ビットのデータが溜まると、高速バス70を介し64ビットのデータ(図中、五角形の記号で指示されるデータ#0)がCPUコア10に送られる。即ち、動作クロック数で、アドレス発行から180サイクル後に高速バス70にデータが返されることになる。   When data is output in parallel, as shown in FIG. 4A, when an address request is issued, data is transferred from the peripheral function 60A to the low-speed bus 72 after a certain latency (2 cycles in this example) has elapsed. Are output 8 bits at a time. In FIG. 4 (A), data 0, 1,. . . , 7 represents a set of 8-bit data. When 64-bit data is accumulated in the buffer 22 of the bus bridge 20 from the low-speed bus 72, 64-bit data (data # 0 indicated by a pentagonal symbol in the figure) is sent to the CPU core 10 via the high-speed bus 70. . That is, data is returned to the high-speed bus 70 180 cycles after the address issuance with the number of operation clocks.

他方、シリアルでデータが出力される場合、図4(B)に示すように、アドレス・リクエストが発行されると、あるレイテンシ(本例では、2サイクル)経過後に、周辺機能60Aから低速バス72にデータが1ビットずつ出力される。バスブリッジ20のバッファ22に低速バス72から64ビットのデータが溜まると、高速バス70を介し64ビットのデータ(図中、五角形の記号で指示されるデータ#0)がCPUコア10に送られる。即ち、動作クロック数で、アドレス発行から1300サイクル後に高速バス70にデータが返されることになる。   On the other hand, when data is output serially, as shown in FIG. 4B, when an address request is issued, after a certain latency (two cycles in this example) has elapsed, the peripheral function 60A sends a low-speed bus 72. The data is output bit by bit. When 64-bit data is accumulated in the buffer 22 of the bus bridge 20 from the low-speed bus 72, 64-bit data (data # 0 indicated by a pentagonal symbol in the figure) is sent to the CPU core 10 via the high-speed bus 70. . In other words, data is returned to the high-speed bus 70 after 1300 cycles from the issuance of addresses by the number of operating clocks.

このように本実施例では、CPUコア10からのアドレス・リクエストに応じて、周辺機能60からCPUコア10にデータを返す際、シリアルでデータ出力を行うか若しくはパラレルでデータ出力を行うかを切り換えることで、データを返すタイミングを調整することができる(以下、この機能を、「データ転送タイミング調整機能」ともいう)。   As described above, in this embodiment, when data is returned from the peripheral function 60 to the CPU core 10 according to an address request from the CPU core 10, switching between serial data output and parallel data output is performed. Thus, the timing for returning data can be adjusted (hereinafter, this function is also referred to as “data transfer timing adjustment function”).

図5は、シリアル・パラレル制御部30において採用されてもよいシリアル・パラレルの選択観点の一例を示す表図である。   FIG. 5 is a table showing an example of a serial / parallel selection viewpoint that may be employed in the serial / parallel control unit 30.

図5に示すように、シリアル・パラレルの選択(切換)は、割当帯域(CPUコア10の処理負荷)、周辺機能60の応答性、周辺機能60の使用頻度、及び、送信データ量の少なくともいずれか1つに基づいて実現されてもよい。   As shown in FIG. 5, serial / parallel selection (switching) is performed by at least one of an allocated bandwidth (processing load of the CPU core 10), the responsiveness of the peripheral function 60, the frequency of use of the peripheral function 60, and the amount of transmission data. It may be realized based on one of them.

割当帯域(CPUコア10の処理負荷)に基づく場合、割当帯域が高い場合は、パラレルが選択され、割当帯域が低い場合は、シリアルが選択される。これは、割当帯域が高い場合は、データを速く送信する要求が高いのに対して、割当帯域が低い場合は、データを速く送信する必要がないためである。割当帯域が高いか低いかを判断するための閾値は、上述のようなシリアル時においてCPUコア10への64ビットのデータの送信に要する時間(上記の例では、1300サイクル)や、パラレル時において同データ送信に要する時間(上記の例では、180サイクル)、及びそれらの間の時間差と割当帯域との関係を考慮して任意に設定されてもよい。   Based on the allocated bandwidth (processing load of the CPU core 10), parallel is selected when the allocated bandwidth is high, and serial is selected when the allocated bandwidth is low. This is because when the allocated bandwidth is high, the request for transmitting data quickly is high, whereas when the allocated bandwidth is low, it is not necessary to transmit data quickly. The threshold for determining whether the allocated bandwidth is high or low is the time required for transmitting 64-bit data to the CPU core 10 in the serial mode as described above (in the above example, 1300 cycles), or in the parallel mode. The time required for the data transmission (180 cycles in the above example), and the relationship between the time difference between them and the allocated bandwidth may be set arbitrarily.

周辺機能60の応答性に基づく場合、周辺機能60の応答性が速い場合は、パラレルが選択され、周辺機能60の応答性が遅い場合は、シリアルが選択される。これは、応答性の速い周辺機能60の場合は、データを速く送信する要求が高いのに対して、応答性の低い周辺機能60の場合は、データを速く送信する必要がないためである。周辺機能60の応答性が速いか遅いかを判断するための閾値は、上述のようなシリアル時においてCPUコア10への64ビットのデータの送信に要する時間や、パラレル時において同データ送信に要する時間、及びそれらの間の時間差と周辺機能60の応答性との関係を考慮して任意に設定されてもよい。   Based on the responsiveness of the peripheral function 60, parallel is selected when the responsiveness of the peripheral function 60 is fast, and serial is selected when the responsiveness of the peripheral function 60 is slow. This is because the peripheral function 60 with fast responsiveness has a high request for transmitting data quickly, whereas the peripheral function 60 with low responsiveness does not need to transmit data quickly. The threshold for determining whether the responsiveness of the peripheral function 60 is fast or slow is the time required for transmitting 64-bit data to the CPU core 10 at the time of serial as described above or the same data transmission at the time of parallel. It may be arbitrarily set in consideration of the time and the relationship between the time difference between them and the responsiveness of the peripheral function 60.

周辺機能60の使用頻度に基づく場合、周辺機能60の使用頻度が多い場合は、パラレルが選択され、周辺機能60の使用頻度が少ない場合は、シリアルが選択される。これは、周辺機能60の使用頻度が多い場合は、複数の処理で周辺機能60を使用する場合が多く、周辺機能60の占有を防ぐためにデータを速く送信する要求が高いのに対して、周辺機能60の使用頻度が少ない場合は、周辺機能60を長時間占有しても問題にならない場合が多く、データを速く送信する必要がないためである。周辺機能60の使用頻度が多いか少ないかを判断するための閾値は、同様に、上述のようなシリアル時においてCPUコア10への64ビットのデータの送信に要する時間や、パラレル時において同データ送信に要する時間、及びそれらの間の時間差と周辺機能60の使用頻度との関係を考慮して任意に設定されてもよい。   Based on the frequency of use of the peripheral function 60, parallel is selected when the frequency of use of the peripheral function 60 is high, and serial is selected when the frequency of use of the peripheral function 60 is low. This is because when the peripheral function 60 is frequently used, the peripheral function 60 is often used in a plurality of processes, and there is a high demand for transmitting data quickly in order to prevent the peripheral function 60 from being occupied. This is because when the frequency of use of the function 60 is low, there is often no problem even if the peripheral function 60 is occupied for a long time, and it is not necessary to transmit data quickly. Similarly, the threshold value for determining whether the peripheral function 60 is frequently used or not is the same as the time required for transmitting 64-bit data to the CPU core 10 in the serial mode as described above or the same data in the parallel mode. The time required for transmission, and the relationship between the time difference between them and the frequency of use of the peripheral function 60 may be set arbitrarily.

送信データ量に基づく場合、送信データ量が多い場合は、パラレルが選択され、送信データ量が少ない場合は、シリアルが選択される。これは、送信データ量が多い場合は、データを速く送信する要求が高いのに対して、送信データ量が少ない場合は、データを速く送信する必要がないためである。送信データ量が多いか少ないかを判断するための閾値は、同様に、上述のようなシリアル時においてCPUコア10への当該送信データ量のデータの送信に要する時間や、パラレル時において同データ送信に要する時間、及びそれらの間の時間差を考慮して任意に設定されてもよい。   Based on the transmission data amount, parallel is selected when the transmission data amount is large, and serial is selected when the transmission data amount is small. This is because when the amount of transmission data is large, the request for transmitting data quickly is high, whereas when the amount of transmission data is small, it is not necessary to transmit data quickly. Similarly, the threshold value for determining whether the amount of transmission data is large or small is the time required for transmitting the transmission data amount to the CPU core 10 at the time of serial as described above or the same data transmission at the time of parallel. It may be arbitrarily set in consideration of the time required for the above and the time difference between them.

シリアル・パラレル制御部30は、図5に示すような選択観点に従って、シリアル・パラレルの選択(切換)を静的又は動的に行う。ここで、静的とは、スタートアップでシリアル・パラレルの設定を行い、動作中はシリアル・パラレルの変更が不可であることを意味する。動的とは、スタートアップでシリアル・パラレルの設定を行い、一部の動作のみシリアル・パラレルの設定を変更する半動的な態様や、シリアル・パラレルの設定を動作毎、機能毎、処理毎等で判定し、シリアル・パラレルの設定を変更する完全な動的な態様を含んでよい。   The serial / parallel control unit 30 performs serial / parallel selection (switching) statically or dynamically in accordance with a selection viewpoint as shown in FIG. Here, static means that serial / parallel settings are made at startup, and that serial / parallel cannot be changed during operation. Dynamic refers to a semi-dynamic mode in which serial / parallel settings are set at startup and serial / parallel settings are changed only for some operations, and serial / parallel settings are changed for each operation, function, process, etc. It is possible to include a completely dynamic mode in which the serial / parallel setting is changed.

図6は、静的な切換を実現するときのシリアル・パラレル制御部30の詳細の一例を示す図である。   FIG. 6 is a diagram illustrating an example of details of the serial / parallel control unit 30 when static switching is realized.

シリアル・パラレル制御部30は、図6に示すように、シリアル・パラレル設定レジスタ32と、シリアル・パラレル切換回路34とを備える。   As shown in FIG. 6, the serial / parallel control unit 30 includes a serial / parallel setting register 32 and a serial / parallel switching circuit 34.

シリアル・パラレル設定レジスタ32は、CPUコア10から送られてくるシリアル・パラレル設定値(低速バス72のシリアル・パラレルの切換設定情報)を保持するレジスタである。   The serial / parallel setting register 32 is a register that holds a serial / parallel setting value (serial / parallel switching setting information of the low-speed bus 72) sent from the CPU core 10.

シリアル・パラレル切換回路34は、シリアル・パラレル設定レジスタ32の設定情報(シリアル・パラレル設定値)に基づいてシリアル・パラレル切換信号を発生する。尚、このシリアル・パラレル切換信号は、図3のステップ302−304で利用される。   The serial / parallel switching circuit 34 generates a serial / parallel switching signal based on the setting information (serial / parallel setting value) in the serial / parallel setting register 32. This serial / parallel switching signal is used in steps 302 to 304 in FIG.

図7は、図6に示したシリアル・パラレル制御部30の動作を示すフローチャートである。   FIG. 7 is a flowchart showing the operation of the serial / parallel control unit 30 shown in FIG.

図7に示すように、マイコン1のスタートアップ処理において、CPUコア10から送られてくるシリアル・パラレル設定値に基づいてシリアル・パラレル設定レジスタ32が設定される。尚、この処理は、図3のステップ300の判断処理の一例に相当する。   As shown in FIG. 7, in the start-up process of the microcomputer 1, the serial / parallel setting register 32 is set based on the serial / parallel setting value sent from the CPU core 10. This process corresponds to an example of the determination process in step 300 of FIG.

図8は、半動的な切換を実現するときのシリアル・パラレル制御部30の詳細の一例を示す図である。   FIG. 8 is a diagram showing an example of details of the serial / parallel control unit 30 when realizing semi-dynamic switching.

シリアル・パラレル制御部30は、図8に示すように、シリアル・パラレル設定レジスタ32と、シリアル・パラレル切換回路34と、必要ビット数判定器36と、処理判定器38とを備える。   As illustrated in FIG. 8, the serial / parallel control unit 30 includes a serial / parallel setting register 32, a serial / parallel switching circuit 34, a necessary bit number determination unit 36, and a processing determination unit 38.

必要ビット数判定器36は、CPUコア10から送られてくるビット数情報に基づいて、単ビットのみのデータ授受(例えばフラグ情報のみのデータ授受)であるか否かを判定する。処理判定器38は、CPUコア10から送られてくる処理情報に基づいて、周辺機能60に実行させる処理が所定の処理であるか否かを判定する。所定の処理は、図5に示した観点から速い通信速度を必要としない場合等が想定され、例えばポーリング動作や、高速に動く周辺機能60用のハードウェアが提供されているが実際は低速な機能であってよい場合等が該当する。   Based on the bit number information sent from the CPU core 10, the necessary bit number determination unit 36 determines whether or not it is data transmission / reception of only a single bit (for example, data transmission / reception only of flag information). The process determination unit 38 determines whether or not the process to be executed by the peripheral function 60 is a predetermined process based on the process information sent from the CPU core 10. The predetermined processing is assumed not to require a high communication speed from the viewpoint shown in FIG. 5, for example, a hardware for a polling operation or a peripheral function 60 that operates at high speed is provided, but a function that is actually a low speed is provided. This is the case when it may be.

図9は、図8に示したシリアル・パラレル制御部30の動作を示すフローチャートである。図9に示す処理は、図3のステップ300の判断処理の一例に相当する。   FIG. 9 is a flowchart showing the operation of the serial / parallel control unit 30 shown in FIG. The process shown in FIG. 9 corresponds to an example of the determination process in step 300 of FIG.

ステップ900では、マイコン1のスタートアップ処理において、CPUコア10から送られてくるシリアル・パラレル設定値に基づいてシリアル・パラレル設定レジスタ32が設定される。このとき、CPUコア10から送られてくるシリアル・パラレル設定値は、デフォルト値である。   In step 900, the serial / parallel setting register 32 is set based on the serial / parallel setting value sent from the CPU core 10 in the startup process of the microcomputer 1. At this time, the serial / parallel setting value sent from the CPU core 10 is a default value.

ステップ902では、必要ビット数判定器36において、CPUコア10から送られてくるビット数情報に基づいて、単ビットのみのデータ授受であるか否かが判定される。単ビットのみのデータ授受である場合は、ステップ906に進み、それ以外の場合は、ステップ904に進む。   In step 902, the necessary bit number determiner 36 determines whether or not the data transmission / reception is only a single bit based on the bit number information sent from the CPU core 10. If it is a single bit data transfer, the process proceeds to step 906; otherwise, the process proceeds to step 904.

ステップ904では、処理判定器38において、CPUコア10から送られてくる処理情報に基づいて、周辺機能60に実行させる処理が所定の処理であるか否かが判定される。所定の処理である場合は、ステップ906に進み、それ以外の場合は、ステップ908に進む。   In step 904, the process determination unit 38 determines whether the process to be executed by the peripheral function 60 is a predetermined process based on the process information sent from the CPU core 10. If the process is a predetermined process, the process proceeds to step 906; otherwise, the process proceeds to step 908.

ステップ906では、シリアル・パラレル切換信号が“シリアル”に設定され送信される(図3のステップ302参照)。   In step 906, the serial / parallel switching signal is set to "serial" and transmitted (see step 302 in FIG. 3).

ステップ908では、シリアル・パラレル設定レジスタ32のデフォルト設定に基づいてシリアル・パラレル切換信号が生成される。例えば、シリアル・パラレル設定レジスタ32のデフォルト設定が“パラレル”である場合は、シリアル・パラレル切換信号が“パラレル”に設定され送信される(図3のステップ304参照)。   In step 908, a serial / parallel switching signal is generated based on the default setting of the serial / parallel setting register 32. For example, when the default setting of the serial / parallel setting register 32 is “parallel”, the serial / parallel switching signal is set to “parallel” and transmitted (see step 304 in FIG. 3).

図10は、完全な動的な切換を実現するときのシリアル・パラレル制御部30の詳細の一例を示す図である。   FIG. 10 is a diagram showing an example of details of the serial / parallel control unit 30 when realizing complete dynamic switching.

シリアル・パラレル制御部30は、図10に示すように、シリアル・パラレル設定レジスタ32と、シリアル・パラレル切換回路34と、必要ビット数判定器36と、処理判定器38と、スケジュール判定器39とを備える。   As shown in FIG. 10, the serial / parallel control unit 30 includes a serial / parallel setting register 32, a serial / parallel switching circuit 34, a necessary bit number determination unit 36, a processing determination unit 38, and a schedule determination unit 39. Is provided.

図10に示す構成は、図8に示した構成に比べて、スケジュール判定器39を追加した点が異なるが、半動的な態様との動作上の相違は、シリアル・パラレルのデフォルト設定を行わず、図5に示した観点等を用いて、動的にシリアル・パラレルの切換を行う点である。   The configuration shown in FIG. 10 is different from the configuration shown in FIG. 8 in that a schedule determiner 39 is added. However, the difference in operation from the semi-dynamic mode is the serial / parallel default setting. First, the serial / parallel switching is dynamically performed using the viewpoint shown in FIG.

図11は、図10に示したシリアル・パラレル制御部30の動作を示すフローチャートである。図11に示す処理は、図3のステップ300の判断処理の一例に相当する。   FIG. 11 is a flowchart showing the operation of the serial / parallel control unit 30 shown in FIG. The process shown in FIG. 11 corresponds to an example of the determination process in step 300 of FIG.

ステップ1100では、スケジュール判定器39において、CPUコア10から送られてくるスケジュール情報に基づいて、スケジュール割当が小さいか否か(即ち割当帯域が小さいか否か)が判定される。スケジュール割当が小さい場合は、ステップ1106に進み、それ以外の場合は、ステップ1102に進む。   In step 1100, the schedule determiner 39 determines whether or not the schedule allocation is small (that is, whether or not the allocated bandwidth is small) based on the schedule information sent from the CPU core 10. If the schedule assignment is small, the process proceeds to step 1106; otherwise, the process proceeds to step 1102.

ステップ1102では、必要ビット数判定器36において、CPUコア10から送られてくるビット数情報に基づいて、単ビットのみのデータ授受であるか否かが判定される。単ビットのみのデータ授受である場合は、ステップ1106に進み、それ以外の場合は、ステップ1104に進む。   In step 1102, the necessary bit number determiner 36 determines whether or not the data transmission / reception is a single bit based on the bit number information sent from the CPU core 10. If it is a single bit data transfer, the process proceeds to step 1106; otherwise, the process proceeds to step 1104.

ステップ1104では、処理判定器38において、CPUコア10から送られてくる処理情報に基づいて、周辺機能60に実行させる処理が所定の処理であるか否かが判定される。所定の処理は、図8及び図9に関連して説明した所定の処理と同様であってよい。所定の処理である場合は、ステップ1106に進み、それ以外の場合は、ステップ1108に進む。   In step 1104, the process determiner 38 determines whether the process to be executed by the peripheral function 60 is a predetermined process based on the process information sent from the CPU core 10. The predetermined process may be the same as the predetermined process described with reference to FIGS. If the process is a predetermined process, the process proceeds to step 1106; otherwise, the process proceeds to step 1108.

ステップ1106では、シリアル・パラレル切換信号が“シリアル”に設定され送信される(図3のステップ302参照)。   In step 1106, the serial / parallel switching signal is set to "serial" and transmitted (see step 302 in FIG. 3).

ステップ1108では、シリアル・パラレル切換信号が“パラレル”に設定され送信される(図3のステップ304参照)。   In step 1108, the serial / parallel switching signal is set to “parallel” and transmitted (see step 304 in FIG. 3).

図12は、ソフトウェアを利用して実装した場合のシリアル・パラレル制御部30の詳細の一例を示す図である。図12に示すシリアル・パラレル制御部30は、図10に示した構成に対して、必要ビット数判定器36と、処理判定器38と、スケジュール判定器39とが、ソフトウェア部30Bで構成されている点が主に異なる。ハードウェア部30Aは、図6に示した構成と同様であってよい。ソフトウェア部30Bは、図5に示した観点から判定を行い、判定結果に応じたシリアル・パラレル設定値を出力する。ハードウェア部30Aには、シリアル・パラレル設定値がソフトウェア部30Bから入力される。尚、ソフトウェア部30Bは、CPUコア10により実現されてもよい。   FIG. 12 is a diagram showing an example of details of the serial / parallel control unit 30 when implemented using software. The serial / parallel control unit 30 shown in FIG. 12 is different from the configuration shown in FIG. 10 in that a required bit number determination unit 36, a processing determination unit 38, and a schedule determination unit 39 are configured by a software unit 30B. There are mainly differences. The hardware unit 30A may have the same configuration as that shown in FIG. The software unit 30B makes a determination from the viewpoint shown in FIG. 5, and outputs a serial / parallel setting value corresponding to the determination result. Serial / parallel setting values are input from the software unit 30B to the hardware unit 30A. The software unit 30B may be realized by the CPU core 10.

図13は、図12のソフトウェア部30Bの動作フローチャートを示す。   FIG. 13 shows an operation flowchart of the software unit 30B of FIG.

ステップ1300では、マイコン1のスタートアップ処理においてシリアル・パラレル設定レジスタ32が設定される。このとき、シリアル・パラレル設定値は、所定の初期値であってよい。   In step 1300, the serial / parallel setting register 32 is set in the startup process of the microcomputer 1. At this time, the serial / parallel setting value may be a predetermined initial value.

ステップ1302では、ソフトウェア部30Bのスケジュール判定器39において、スケジュール情報に基づいて、スケジュール割当が小さいか否か(即ち割当帯域が小さいか否か)が判定される。スケジュール割当が小さい場合は、ステップ1308に進み、それ以外の場合は、ステップ1304に進む。   In step 1302, the schedule determiner 39 of the software unit 30B determines whether the schedule allocation is small (that is, whether the allocated bandwidth is small) based on the schedule information. If the schedule assignment is small, the process proceeds to step 1308. Otherwise, the process proceeds to step 1304.

ステップ1304では、ソフトウェア部30Bの必要ビット数判定器36において、ビット数情報に基づいて、単ビットのみのデータ授受であるか否かが判定される。単ビットのみのデータ授受である場合は、ステップ1308に進み、それ以外の場合は、ステップ1306に進む。   In step 1304, the necessary bit number determination unit 36 of the software unit 30B determines whether or not the data transmission / reception is a single bit based on the bit number information. If it is a single bit data transfer, the process proceeds to step 1308. Otherwise, the process proceeds to step 1306.

ステップ1306では、ソフトウェア部30Bの処理判定器38において、処理情報に基づいて、周辺機能60に実行させる処理が所定の処理であるか否かが判定される。所定の処理は、図8及び図9に関連して説明した所定の処理と同様であってよい。所定の処理である場合は、ステップ1308に進み、それ以外の場合は、ステップ1310に進む。   In step 1306, the process determination unit 38 of the software unit 30B determines whether the process to be executed by the peripheral function 60 is a predetermined process based on the process information. The predetermined process may be the same as the predetermined process described with reference to FIGS. If the process is a predetermined process, the process proceeds to step 1308; otherwise, the process proceeds to step 1310.

ステップ1308では、シリアル・パラレル設定値“シリアル”が生成され、シリアル・パラレル設定レジスタ32が“シリアル”に設定される。これに伴い、シリアル・パラレル切換信号“シリアル”が送信される(図3のステップ302参照)。   In step 1308, the serial / parallel setting value “serial” is generated, and the serial / parallel setting register 32 is set to “serial”. Accordingly, a serial / parallel switching signal “serial” is transmitted (see step 302 in FIG. 3).

ステップ1310では、シリアル・パラレル設定値“パラレル”が生成され、シリアル・パラレル設定レジスタ32が“パラレル”に設定される。これに伴い、シリアル・パラレル切換信号“パラレル”が送信される(図3のステップ304参照)。   In step 1310, the serial / parallel setting value “parallel” is generated, and the serial / parallel setting register 32 is set to “parallel”. Accordingly, a serial / parallel switching signal “parallel” is transmitted (see step 304 in FIG. 3).

図14は、その他の実施例によるバスブリッジ20と周辺機能60の機能概念図である。図14では、上述の図2と同様、代表として、特定の1つの周辺機能60A(本例では、CAN)が示される。他の周辺機能に関しては、周辺機能60Aと同様であってよい。   FIG. 14 is a functional conceptual diagram of the bus bridge 20 and peripheral function 60 according to another embodiment. In FIG. 14, similar to FIG. 2 described above, one specific peripheral function 60A (CAN in this example) is shown as a representative. Other peripheral functions may be the same as the peripheral function 60A.

図14に示す実施例は、周辺機能60Aの回路変更を行わずに、図2に示した実施例と同様の機能を実現するものである。具体的には、図2に示した周辺機能60A(CAN)の中でシリアル出力かパラレル出力かを切り替えるための機能(シリアル・パラレル制御部62A)に代えて、シリアル・パラレル変換機(CV)80が設けられる。図2に示した実施例と同様であってよい構成は、図2に示した同一の参照符号を付して説明を省略する。   The embodiment shown in FIG. 14 realizes the same function as that of the embodiment shown in FIG. 2 without changing the circuit of the peripheral function 60A. Specifically, instead of the function (serial / parallel control unit 62A) for switching between serial output and parallel output in the peripheral function 60A (CAN) shown in FIG. 2, a serial / parallel converter (CV) 80 is provided. The components that may be the same as those in the embodiment shown in FIG. 2 are denoted by the same reference numerals shown in FIG.

シリアル・パラレル変換機80は、図14に示すように、バスブリッジ20と周辺機能60Aとの間に設けられ、周辺機能60Aからの出力である低速バス(PB(7:0))72に接続する。シリアル・パラレル変換機80には、バスブリッジ20のシリアル・パラレル制御部30から上述と同様のシリアル・パラレル切換信号が入力される。シリアル・パラレル変換機80は、シリアル・パラレル切換信号に応じて、低速バス(PB(7:0))72のデータを変換して送信する。シリアル・パラレル変換機80で変換されたデータは、バスブリッジ20に送られ、図3に示したデータ処理と同様の処理によりCPUコア10に送られる。   As shown in FIG. 14, the serial / parallel converter 80 is provided between the bus bridge 20 and the peripheral function 60A, and is connected to a low-speed bus (PB (7: 0)) 72 that is an output from the peripheral function 60A. To do. The serial / parallel converter 80 receives a serial / parallel switching signal similar to that described above from the serial / parallel control unit 30 of the bus bridge 20. The serial / parallel converter 80 converts and transmits data of the low-speed bus (PB (7: 0)) 72 in accordance with the serial / parallel switching signal. The data converted by the serial / parallel converter 80 is sent to the bus bridge 20 and sent to the CPU core 10 by the same processing as the data processing shown in FIG.

図15は、その他の実施例によるバスブリッジ20と周辺機能60の機能概念図である。図15では、複数の周辺機能60A,60B,60Cに同時にアクセスすることが可能な構成が示される。図示の例では、周辺機能60として、CANである周辺機能60Aに加えて、2つのA/Dコンバータ(以下、それぞれ、A/D,A/D2ともいう)である周辺機能60B,60Cの合計3つが存在する場合が想定される。   FIG. 15 is a functional conceptual diagram of the bus bridge 20 and the peripheral function 60 according to another embodiment. FIG. 15 shows a configuration in which a plurality of peripheral functions 60A, 60B, and 60C can be accessed simultaneously. In the illustrated example, as the peripheral function 60, in addition to the peripheral function 60A that is a CAN, a total of peripheral functions 60B and 60C that are two A / D converters (hereinafter also referred to as A / D and A / D2, respectively). It is assumed that there are three.

バスブリッジ20は、図15に示すように、データを蓄積するバッファ22と、アドレス・リクエスト管理部(ARC)24と、アドレス・リクエスト順記憶部(ARM)25と、終了制御部(FC)26と、データ分配部(DD)28と、シリアル・パラレル制御部30とを備える。   As shown in FIG. 15, the bus bridge 20 includes a buffer 22 for accumulating data, an address / request management unit (ARC) 24, an address / request order storage unit (ARM) 25, and an end control unit (FC) 26. A data distribution unit (DD) 28 and a serial / parallel control unit 30.

バッファ22は、複数の周辺機能60A,60B,60Cへの同時のアクセスが可能となるように、複数設けられる。図示の例では、バッファ22は、低速バス72の各線に対応して計8つのバッファ220,221,...,227からなる。各バッファ220,221,...,227は、高速バス70に選択的に接続される。各バッファ220,221,...,227は、周辺機能60A,60B,60Cからシリアルでデータを送る場合に、低速バス72のPB(0)のデータをバッファ(BF0)220に格納し、低速バス72のPB(1)のデータをバッファ(BF1)221に格納し、といった具合に格納することで、複数の周辺機能60A,60B,60Cからデータを同時に送信できるように構成されている。   A plurality of buffers 22 are provided so that simultaneous access to the plurality of peripheral functions 60A, 60B, and 60C is possible. In the illustrated example, the buffer 22 has a total of eight buffers 220, 221,. . . , 227. Each buffer 220, 221,. . . , 227 are selectively connected to the high-speed bus 70. Each buffer 220, 221,. . . , 227 stores the PB (0) data of the low-speed bus 72 in the buffer (BF0) 220 and sends the data of the PB (1) of the low-speed bus 72 when serially sending data from the peripheral functions 60A, 60B, 60C. Is stored in the buffer (BF1) 221, so that data can be transmitted simultaneously from a plurality of peripheral functions 60A, 60B, 60C.

アドレス・リクエスト順記憶部25は、CPUコア10から発行されたアドレス・リクエストの順番を記憶し、周辺機能60A,60B,60Cから高速バス70へデータを送付する際の順番を保持するために使用される。   The address / request order storage unit 25 stores the order of address requests issued from the CPU core 10 and is used to hold the order when data is sent from the peripheral functions 60A, 60B, 60C to the high-speed bus 70. Is done.

周辺機能60A,60B,60Cは、それぞれ、シリアル・パラレル制御部62A,62B,62Cと、出力段64A,64B,64Cとを備える。図示の例では、全ての周辺機能60A,60B,60Cへのアドレス・リクエスト及び低速バス72は、共有されているため、それぞれ、周辺機能60A,60B,60Cのそれぞれの入力バッファ(図示せず)及び出力段64A,64B,64Cに接続される。シリアル・パラレル制御部62A,62B,62Cは、上述の如く、バスブリッジ20のシリアル・パラレル制御部30からのシリアル・パラレル切換信号に従って、周辺機能60A,60B,60Cの出力段64A,64B,64Cからシリアルでデータ出力するかパラレルでデータ出力するかを切り換える。尚、図15に示す構成においても、シリアル・パラレル制御部62A,62B,62Cに代えて、図14に示したようなシリアル・パラレル変換機(CV)が設定されてもよい。   The peripheral functions 60A, 60B, and 60C include serial / parallel control units 62A, 62B, and 62C and output stages 64A, 64B, and 64C, respectively. In the illustrated example, since the address request to all the peripheral functions 60A, 60B, and 60C and the low-speed bus 72 are shared, the input buffers (not shown) of the peripheral functions 60A, 60B, and 60C, respectively. And output stages 64A, 64B, 64C. As described above, the serial / parallel control units 62A, 62B, and 62C output the output stages 64A, 64B, and 64C of the peripheral functions 60A, 60B, and 60C in accordance with the serial / parallel switching signal from the serial / parallel control unit 30 of the bus bridge 20. Switch between serial data output and parallel data output. In the configuration shown in FIG. 15, a serial / parallel converter (CV) as shown in FIG. 14 may be set instead of the serial / parallel control units 62A, 62B, and 62C.

図16は、図15に示すその他の実施例によるバスブリッジ20と周辺機能60の間等のデータ授受の流れを示すフローチャートである。図16に示すフローチャートは、一例として、図17に示すような順でCPUコア10が周辺機能60A,60B,60Cにアクセスした場合に関する。ここでは、図17に示すように、最初に、CPUコア10から、周辺機能(A/D)60Bから64ビットのデータを取得するアドレス・リクエストが発行され、2番目に、CPUコア10から、周辺機能(CAN)60Aから16ビットのデータを取得するアドレス・リクエストが発行され、3番目に、CPUコア10から、周辺機能(A/D2)60Cから32ビットのデータを取得するアドレス・リクエストが発行される場合が想定される。   FIG. 16 is a flowchart showing the flow of data exchange between the bus bridge 20 and the peripheral function 60 according to another embodiment shown in FIG. The flowchart shown in FIG. 16 relates to a case where the CPU core 10 accesses the peripheral functions 60A, 60B, and 60C in the order shown in FIG. 17 as an example. Here, as shown in FIG. 17, first, an address request for obtaining 64-bit data is issued from the peripheral function (A / D) 60B from the CPU core 10, and secondly, from the CPU core 10, An address request for obtaining 16-bit data is issued from the peripheral function (CAN) 60A. Third, an address request for obtaining 32-bit data from the peripheral function (A / D2) 60C is issued from the CPU core 10. It is assumed that it will be issued.

図16を参照するに、ステップ1600では、シリアル・パラレル制御部30は、シリアルでデータ出力するかパラレルでデータ出力するかを判断する。この判断方法は、上述した方法のいずれかであってよい(図5等参照)。シリアルでデータ出力する場合は、ステップ1601に進み、データ分配部(DD)28をシリアル変換に指定すると共に、周辺機能60A,60B,60Cのシリアル・パラレル制御部62A,62B,62Cにシリアル通信でデータ出力することを通知する。他方、パラレルでデータ出力する場合は、ステップ1631に進み、データ分配部(DD)28をパラレル変換に指定すると共に、シリアル・パラレル制御部62A,62B,62Cにパラレル通信でデータ出力することを通知する。   Referring to FIG. 16, in step 1600, the serial / parallel control unit 30 determines whether to output data serially or in parallel. This determination method may be any of the methods described above (see FIG. 5 and the like). In the case of outputting data serially, the process proceeds to step 1601, and the data distribution unit (DD) 28 is designated for serial conversion, and serial communication is performed to the serial / parallel control units 62A, 62B, and 62C of the peripheral functions 60A, 60B, and 60C. Notify that data is to be output. On the other hand, if the data is output in parallel, the process proceeds to step 1631 and the data distribution unit (DD) 28 is designated for parallel conversion, and the serial / parallel control units 62A, 62B, and 62C are notified of the data output by parallel communication. To do.

ステップ1602では、CPUコア10から周辺機能60B(A/D)へのアドレス・リクエストが発行される。   In step 1602, an address request from the CPU core 10 to the peripheral function 60B (A / D) is issued.

ステップ1603では、バスブリッジ20のアドレス・リクエスト管理部24がアドレス・リクエストを解釈し、対応する周辺機能60B(A/D)を選択してアドレス・リクエストを送信する。これと同時に、アドレス・リクエスト管理部24は、アドレス・リクエスト順記憶部25に、周辺機能60B(A/D)へのアクセスが1番最初のリクエストである旨を記録する。ステップ1603の処理が終了すると、ステップ1604以降の処理と、ステップ1611以降の処理が、並列的に実行される。   In step 1603, the address / request management unit 24 of the bus bridge 20 interprets the address request, selects the corresponding peripheral function 60B (A / D), and transmits the address request. At the same time, the address / request management unit 24 records in the address / request order storage unit 25 that the access to the peripheral function 60B (A / D) is the first request. When the process of step 1603 ends, the process after step 1604 and the process after step 1611 are executed in parallel.

ステップ1611では、CPUコア10から周辺機能60A(CAN)へのアドレス・リクエストが発行される。   In step 1611, an address request from the CPU core 10 to the peripheral function 60A (CAN) is issued.

ステップ1612では、バスブリッジ20のアドレス・リクエスト管理部24がアドレス・リクエストを解釈し、対応する周辺機能60A(CAN)を選択してアドレス・リクエストを送信する。これと同時に、アドレス・リクエスト管理部24は、アドレス・リクエスト順記憶部25に、周辺機能60A(CAN)へのアクセスが2番目のリクエストである旨を記録する。ステップ1612の処理が終了すると、ステップ1604以降の処理と、ステップ1613以降の処理と、ステップ1621以降の処理が、並列的に実行される。   In step 1612, the address / request management unit 24 of the bus bridge 20 interprets the address request, selects the corresponding peripheral function 60A (CAN), and transmits the address request. At the same time, the address / request management unit 24 records in the address / request order storage unit 25 that the access to the peripheral function 60A (CAN) is the second request. When the process of step 1612 is completed, the process after step 1604, the process after step 1613, and the process after step 1621 are executed in parallel.

ステップ1621では、CPUコア10から周辺機能60C(A/D2)へのアドレス・リクエストが発行される。   In step 1621, the CPU core 10 issues an address request to the peripheral function 60C (A / D2).

ステップ1622では、バスブリッジ20のアドレス・リクエスト管理部24がアドレス・リクエストを解釈し、対応する周辺機能60C(A/D2)を選択してアドレス・リクエストを送信する。これと同時に、アドレス・リクエスト管理部24は、アドレス・リクエスト順記憶部25に、周辺機能60C(A/D2)へのアクセスが3番目のリクエストである旨を記録する。ステップ1622の処理が終了すると、ステップ1604以降の処理と、ステップ1613以降の処理と、ステップ1623以降の処理が並列的に実行される。   In step 1622, the address request management unit 24 of the bus bridge 20 interprets the address request, selects the corresponding peripheral function 60C (A / D2), and transmits the address request. At the same time, the address / request management unit 24 records in the address / request order storage unit 25 that the access to the peripheral function 60C (A / D2) is the third request. When the process of step 1622 is completed, the process after step 1604, the process after step 1613, and the process after step 1623 are executed in parallel.

ステップ1604,1613,1623では、それぞれ、上記ステップ1603,1612,1622の処理後、あるレイテンシ経過後、アドレス・リクエストに応答して、周辺機能60B(A/D)、周辺機能60A(CAN)及び周辺機能60C(A/D2)からそれぞれ低速バス72の線PB(0),PB(1),PB(2)を介してシリアルデータ通信が開始される。周辺機能60B(A/D)、周辺機能60A(CAN)及び周辺機能60C(A/D2)からの各データは、バスブリッジ20のデータ分配部(DD)28に送られる。   In steps 1604, 1613, and 1623, after processing of the above steps 1603, 1612, and 1622, and after a certain latency, in response to the address request, peripheral function 60B (A / D), peripheral function 60A (CAN), and Serial data communication is started from the peripheral function 60C (A / D2) via the lines PB (0), PB (1), and PB (2) of the low-speed bus 72, respectively. Each data from the peripheral function 60B (A / D), the peripheral function 60A (CAN), and the peripheral function 60C (A / D2) is sent to the data distribution unit (DD) 28 of the bus bridge 20.

ステップ1605,1614,1624では、それぞれ、データ分配部(DD)28において、周辺機能60B(A/D)、周辺機能60A(CAN)及び周辺機能60C(A/D2)からの各データをシリアル方式に応じて整理してバッファ220,221,222にそれぞれ格納する。   In steps 1605, 1614, and 1624, each data from the peripheral function 60B (A / D), the peripheral function 60A (CAN), and the peripheral function 60C (A / D2) is serialized in the data distribution unit (DD) 28. In accordance with the above, the data are stored in the buffers 220, 221, 222, respectively.

ステップ1606では、CPUコア10が必要とするデータ(本例では、64ビット分のデータ)がバッファ220に格納されると、周辺機能60B(A/D)から終了フラグが送信され、周辺機能60B(A/D)から通知された終了フラグを終了制御部26が解釈し、CPUコア10に通知し、ステップ1607に進む。   In step 1606, when data required by the CPU core 10 (64-bit data in this example) is stored in the buffer 220, an end flag is transmitted from the peripheral function 60B (A / D), and the peripheral function 60B. The end control unit 26 interprets the end flag notified from (A / D), notifies the CPU core 10, and proceeds to step 1607.

ステップ1607では、バッファ220に格納されたデータ(本例では、64ビット分のデータ)が高速バス70でCPUコア10に送られる。ステップ1607の処理(データ転送)が終了すると、後述のステップ1616の判定条件が満たされることになる。   In step 1607, the data stored in the buffer 220 (64-bit data in this example) is sent to the CPU core 10 via the high-speed bus 70. When the process (data transfer) in step 1607 is completed, a determination condition in step 1616 described later is satisfied.

ステップ1615では、CPUコア10が必要とするデータ(本例では、16ビット分のデータ)がバッファ221に格納されると、周辺機能60A(CAN)から終了フラグが送信され、周辺機能60A(CAN)から通知された終了フラグを終了制御部26が解釈する。   In step 1615, when data required by the CPU core 10 (16-bit data in this example) is stored in the buffer 221, an end flag is transmitted from the peripheral function 60A (CAN), and the peripheral function 60A (CAN The end control unit 26 interprets the end flag notified from).

ステップ1616では、上記のステップ1607での周辺機能60B(A/D)からのデータ(A/Dデータ)のCPUコア10への転送が完了したか否かが判定される。A/DデータのCPUコア10への転送が完了している場合は、周辺機能60A(CAN)に係る終了フラグをCPUコア10に通知し、ステップ1617に進む。他方、A/DデータのCPUコア10への転送が完了していない場合は、A/DデータのCPUコア10への転送が完了するまで待ち状態となる。   In step 1616, it is determined whether or not the transfer of data (A / D data) from the peripheral function 60B (A / D) in step 1607 to the CPU core 10 has been completed. When the transfer of the A / D data to the CPU core 10 is completed, the CPU core 10 is notified of the end flag related to the peripheral function 60A (CAN), and the process proceeds to step 1617. On the other hand, when the transfer of the A / D data to the CPU core 10 is not completed, the process waits until the transfer of the A / D data to the CPU core 10 is completed.

ステップ1617では、バッファ221に格納されたデータ(本例では、16ビット分のデータ)が高速バス70でCPUコア10に送られる。ステップ1617の処理(データ転送)が終了すると、後述のステップ1626の判定条件が満たされることになる。   In step 1617, the data stored in the buffer 221 (16-bit data in this example) is sent to the CPU core 10 via the high-speed bus 70. When the process (data transfer) in step 1617 is completed, a determination condition in step 1626 described later is satisfied.

ステップ1625では、CPUコア10が必要とするデータ(本例では、32ビット分のデータ)がバッファ222に格納されると、周辺機能60C(A/D2)から終了フラグが送信され、周辺機能60C(A/D2)から通知された終了フラグを終了制御部26が解釈する。   In step 1625, when data required by the CPU core 10 (32-bit data in this example) is stored in the buffer 222, an end flag is transmitted from the peripheral function 60C (A / D2), and the peripheral function 60C. The termination control unit 26 interprets the termination flag notified from (A / D2).

ステップ1626では、上記ステップ1617での周辺機能60A(CAN)からのデータ(CANデータ)のCPUコア10への転送が完了したか否かが判定される。CANデータの転送が完了している場合は、周辺機能60C(A/D2)に係る終了フラグをCPUコア10に通知し、ステップ1627に進む。他方、CANデータの転送が完了していない場合は、CANデータのCPUコア10への転送が完了するまで待ち状態となる。   In step 1626, it is determined whether or not the transfer of data (CAN data) from the peripheral function 60A (CAN) in step 1617 to the CPU core 10 has been completed. If the transfer of the CAN data has been completed, the CPU core 10 is notified of an end flag relating to the peripheral function 60C (A / D2), and the process proceeds to step 1627. On the other hand, if the transfer of the CAN data is not completed, the process waits until the transfer of the CAN data to the CPU core 10 is completed.

ステップ1627では、バッファ222に格納されたデータ(本例では、32ビット分のデータ)が高速バス70でCPUコア10に送られる。これにより、シリアル通信が完了する。尚、このようにして実行されるシリアル通信の動作波形が図8に示されている。   In step 1627, the data stored in the buffer 222 (32-bit data in this example) is sent to the CPU core 10 via the high-speed bus 70. Thereby, serial communication is completed. FIG. 8 shows operation waveforms of serial communication executed in this way.

パラレル通信の場合、アドレス・リクエストの順番に対応して、周辺機能60B(A/D)、周辺機能60A(CAN)及び周辺機能60C(A/D2)の順にパラレルによりデータが送信される。   In the case of parallel communication, data is transmitted in parallel in the order of the peripheral function 60B (A / D), the peripheral function 60A (CAN), and the peripheral function 60C (A / D2) in accordance with the order of the address request.

具体的には、ステップ1632では、周辺機能60B(A/D)からバスブリッジ20にデータがパラレルで送信される。即ち、低速バス72の8本の線PB(7:0)を使用して周辺機能60B(A/D)からデータがパラレルで送信される。   Specifically, in step 1632, data is transmitted from the peripheral function 60 </ b> B (A / D) to the bus bridge 20 in parallel. That is, data is transmitted in parallel from the peripheral function 60B (A / D) using the eight lines PB (7: 0) of the low-speed bus 72.

ステップ1633では、低速バス72の8本の線PB(7:0)により周辺機能60B(A/D)からのデータがバッファ220に格納される。   In step 1633, data from the peripheral function 60 </ b> B (A / D) is stored in the buffer 220 by the eight lines PB (7: 0) of the low-speed bus 72.

ステップ1634では、CPUコア10が必要とするデータ(本例では、64ビット分のデータ)がバッファ220に格納されると、周辺機能60B(A/D)から終了フラグが送信され、周辺機能60B(A/D)から通知された終了フラグを終了制御部26が解釈し、CPUコア10に通知する。そして、バッファ220に格納されたデータ(本例では、64ビット分のデータ)が高速バス70でCPUコア10に送られる。この転送が終了すると、ステップ1635に進む。   In step 1634, when data required by the CPU core 10 (64-bit data in this example) is stored in the buffer 220, an end flag is transmitted from the peripheral function 60B (A / D), and the peripheral function 60B. The end control unit 26 interprets the end flag notified from (A / D) and notifies the CPU core 10 of it. Then, the data stored in the buffer 220 (64-bit data in this example) is sent to the CPU core 10 via the high-speed bus 70. When this transfer ends, the process proceeds to step 1635.

ステップ1635では、周辺機能60A(CAN)からバスブリッジ20にデータがパラレルで送信される。即ち、低速バス72の8本の線PB(7:0)を使用して周辺機能60A(CAN)からデータがパラレルで送信される。   In step 1635, data is transmitted from the peripheral function 60A (CAN) to the bus bridge 20 in parallel. That is, data is transmitted in parallel from the peripheral function 60A (CAN) using the eight lines PB (7: 0) of the low-speed bus 72.

ステップ1636では、低速バス72の8本の線PB(7:0)により周辺機能60A(CAN)からのデータがバッファ220に格納される。   In step 1636, data from the peripheral function 60A (CAN) is stored in the buffer 220 by the eight lines PB (7: 0) of the low-speed bus 72.

ステップ1637では、CPUコア10が必要とするデータ(本例では、16ビット分のデータ)がバッファ220に格納されると、周辺機能60A(CAN)から終了フラグが送信され、周辺機能60A(CAN)から通知された終了フラグを終了制御部26が解釈し、CPUコア10に通知する。そして、バッファ220に格納されたデータ(本例では、16ビット分のデータ)が高速バス70でCPUコア10に送られる。この転送が終了すると、ステップ1638に進む。   In step 1637, when data required by the CPU core 10 (16-bit data in this example) is stored in the buffer 220, an end flag is transmitted from the peripheral function 60A (CAN), and the peripheral function 60A (CAN The end control unit 26 interprets the end flag notified from () and notifies the CPU core 10 of it. Then, the data stored in the buffer 220 (16-bit data in this example) is sent to the CPU core 10 via the high-speed bus 70. When this transfer ends, the process proceeds to step 1638.

ステップ1638では、周辺機能60C(A/D2)からバスブリッジ20にデータがパラレルで送信される。即ち、低速バス72の8本の線PB(7:0)を使用して周辺機能60C(A/D2)からデータがパラレルで送信される。   In step 1638, data is transmitted from the peripheral function 60C (A / D2) to the bus bridge 20 in parallel. That is, data is transmitted in parallel from the peripheral function 60C (A / D2) using the eight lines PB (7: 0) of the low-speed bus 72.

ステップ1639では、低速バス72の8本の線PB(7:0)により周辺機能60C(A/D2)からのデータがバッファ220に格納される。   In step 1639, the data from the peripheral function 60C (A / D2) is stored in the buffer 220 by the eight lines PB (7: 0) of the low-speed bus 72.

ステップ1640では、CPUコア10が必要とするデータ(本例では、32ビット分のデータ)がバッファ220に格納されると、周辺機能60C(A/D2)から終了フラグが送信され、周辺機能60C(A/D2)から通知された終了フラグを終了制御部26が解釈し、CPUコア10に通知する。そして、バッファ220に格納されたデータ(本例では、32ビット分のデータ)が高速バス70でCPUコア10に送られる。この転送が終了すると、パラレル通信が完了する。   In step 1640, when data required by the CPU core 10 (32-bit data in this example) is stored in the buffer 220, an end flag is transmitted from the peripheral function 60C (A / D2), and the peripheral function 60C. The end control unit 26 interprets the end flag notified from (A / D2), and notifies the CPU core 10 of it. Then, the data stored in the buffer 220 (32-bit data in this example) is sent to the CPU core 10 via the high-speed bus 70. When this transfer ends, parallel communication is completed.

図18は、図17に示したフローチャートに従って実行されるシリアル通信の動作波形を示す図である。   FIG. 18 is a diagram showing operation waveforms of serial communication executed according to the flowchart shown in FIG.

図15に示すその他の実施例によれば、低速バス72は、1つの周辺機能60(例えば、周辺機能60B)へのアクセスがなされていても、低速バス72の空いている線PB(1)、PB(2)等で他の周辺機能60(例えば、周辺機能60A,60C)とのデータ授受を行うことができる。これにより、アドレス・リクエスト発行後のレイテンシの隠蔽効果を期待することができる。また、CPUコア10から周辺機能60A,60B,60Cへのアクセス順を保存しているので、その順序でCPUコア10に周辺機能60A,60B,60Cからのデータを渡すことができる。   According to another embodiment shown in FIG. 15, the low-speed bus 72 has a free line PB (1) of the low-speed bus 72 even if one peripheral function 60 (for example, the peripheral function 60B) is accessed. , PB (2), etc., can exchange data with other peripheral functions 60 (for example, peripheral functions 60A and 60C). Thereby, the latency concealment effect after the address request is issued can be expected. Further, since the access order from the CPU core 10 to the peripheral functions 60A, 60B, and 60C is stored, data from the peripheral functions 60A, 60B, and 60C can be passed to the CPU core 10 in that order.

図19は、本発明によるデータ通信制御装置のその他の一実施例(実施例2)を具現化するマイコン2の要部構成を示す図である。   FIG. 19 is a diagram showing a main configuration of a microcomputer 2 that embodies another embodiment (embodiment 2) of the data communication control apparatus according to the present invention.

本実施例2は、上述の実施例1(図1等参照)に対して、マイコン2が、複数のCPUコア10A,10Bを搭載するマルチコア・マイコンである点が主に異なる。図19に示すように、CPUコア10A,10Bは、共通のバスブリッジ20に高速バス70A,70Bに接続され、バスブリッジ20を介して、共通の低速バス72により周辺機能60に接続される。ここでは、一例として、高速バス70A,70Bは、バス幅が64ビットであり、動作周波数が96MHzである。低速バス72は、バス幅が8ビットであり、動作周波数が9.6MHzである。   The second embodiment is mainly different from the first embodiment described above (see FIG. 1 and the like) in that the microcomputer 2 is a multi-core microcomputer including a plurality of CPU cores 10A and 10B. As shown in FIG. 19, the CPU cores 10 </ b> A and 10 </ b> B are connected to the common bus bridge 20 to the high-speed buses 70 </ b> A and 70 </ b> B, and are connected to the peripheral function 60 through the bus bridge 20 and the common low-speed bus 72. Here, as an example, the high-speed buses 70A and 70B have a bus width of 64 bits and an operating frequency of 96 MHz. The low-speed bus 72 has a bus width of 8 bits and an operating frequency of 9.6 MHz.

マイコン2は、上述の実施例1で説明したものと同様のデータ転送タイミング調整機能(図2、図14、図15等)を有してよい。この場合、シリアル・パラレル制御部30におけるシリアル・パラレルの切換判断は、図5に示した観点を考慮しつつ、CPUコア10Aからのアドレス・リクエストであるか又はCPUコア10Bからのアドレス・リクエストであるかに応じて動的な態様で実現されてもよい。   The microcomputer 2 may have a data transfer timing adjustment function (FIGS. 2, 14, 15, etc.) similar to that described in the first embodiment. In this case, the serial / parallel switching determination in the serial / parallel control unit 30 is an address request from the CPU core 10A or an address request from the CPU core 10B in consideration of the viewpoint shown in FIG. Depending on whether it is present, it may be realized in a dynamic manner.

尚、図19に示す実施例2では、マルチコア・マイコンのコア数は2であったが、CPUコアは3つ以上存在してもよい。また、図示の例では、特定の1つの周辺機能(本例では、CAN)が示されているが、他の周辺機能(A/Dコンバータ)の場合も同様であり、また、複数の周辺機能が存在してもよい。   In the second embodiment shown in FIG. 19, the number of cores of the multi-core microcomputer is 2, but three or more CPU cores may exist. In the illustrated example, one specific peripheral function (CAN in this example) is shown. However, the same applies to other peripheral functions (A / D converter), and a plurality of peripheral functions are also provided. May be present.

図20は、本発明によるデータ通信制御装置のその他の一実施例(実施例3)を具現化するマイコン3の要部構成を示す図である。   FIG. 20 is a diagram showing a main configuration of a microcomputer 3 that embodies another embodiment (embodiment 3) of the data communication control apparatus according to the present invention.

本実施例3は、上述の実施例2(図19)に対して、マイコン2が、複数のCPUコア10A,10Bを搭載するマルチコア・マイコンである点が共通するが、CPUコア10A,10Bがそれぞれ独立にバスブリッジ20A,20Bを有している点が主に異なる。CPUコア10A,10Bは、それぞれ、バスブリッジ20A,20Bを介して、低速バス72A,72Bにより周辺機能60A1,60A2に接続される。ここでは、一例として、高速バス70A,70Bは、バス幅が64ビットであり、動作周波数が96MHzである。低速バス72A,72Bは、バス幅が8ビットであり、動作周波数が9.6MHzである。   The third embodiment is similar to the second embodiment (FIG. 19) in that the microcomputer 2 is a multi-core microcomputer including a plurality of CPU cores 10A and 10B. The main difference is that the bus bridges 20A and 20B are independently provided. CPU cores 10A and 10B are connected to peripheral functions 60A1 and 60A2 by low-speed buses 72A and 72B via bus bridges 20A and 20B, respectively. Here, as an example, the high-speed buses 70A and 70B have a bus width of 64 bits and an operating frequency of 96 MHz. The low speed buses 72A and 72B have a bus width of 8 bits and an operating frequency of 9.6 MHz.

マイコン2は、上述の実施例1で説明したものと同様のデータ転送タイミング調整機能(図2、図14、図15等)を有してよい。この場合、バスブリッジ20A,20B内のそれぞれのシリアル・パラレル制御部(図示せず)におけるシリアル・パラレルの切換は、図5に示した観点を考慮して静的な態様で実現されてよい。   The microcomputer 2 may have a data transfer timing adjustment function (FIGS. 2, 14, 15, etc.) similar to that described in the first embodiment. In this case, serial / parallel switching in each of the serial / parallel control units (not shown) in the bus bridges 20A and 20B may be realized in a static manner in consideration of the viewpoint shown in FIG.

尚、図20に示す実施例3では、マルチコア・マイコンのコア数は2であったが、CPUコアは3つ以上存在してもよい。また、図示の例では、特定の1つの周辺機能(本例では、CAN)が示されているが、他の周辺機能(A/Dコンバータ)の場合も同様であり、また、複数の周辺機能が存在してもよい。   In the third embodiment shown in FIG. 20, the number of cores of the multi-core microcomputer is 2, but three or more CPU cores may exist. In the illustrated example, one specific peripheral function (CAN in this example) is shown. However, the same applies to other peripheral functions (A / D converter), and a plurality of peripheral functions are also provided. May be present.

次に、本発明の好適な適用例として、複数のマイコンを上述のマイコン1,2,3へ統合する例について説明する。   Next, as a preferred application example of the present invention, an example in which a plurality of microcomputers are integrated into the above-described microcomputers 1, 2, 3 will be described.

図21は、3つのマイコン100,102、104(以下、上述のマイコン1との区別のため、統合前マイコン100,102、104という)の機能を、上述の実施例1によるマイコン1に統合した場合を示す概念図である。尚、統合の際に、統合前マイコン100,102、104の一部の機能が省略・改良等されてもよいし、統合前マイコン100,102、104には存在しない新たな機能が付加されてもよい。   FIG. 21 shows the functions of three microcomputers 100, 102, and 104 (hereinafter referred to as pre-integration microcomputers 100, 102, and 104 for distinction from the above-described microcomputer 1) integrated with the microcomputer 1 according to the first embodiment. It is a conceptual diagram which shows a case. During integration, some functions of the pre-integration microcomputers 100, 102, and 104 may be omitted or improved, or new functions that do not exist in the pre-integration microcomputers 100, 102, and 104 may be added. Also good.

統合前マイコン100は、動作周波数が96MHzであり、統合前マイコン100が使用していた高速バスは、バス幅が64ビットであり、動作周波数が96MHzであり、統合前マイコン100が使用していた低速バスは、バス幅が8ビットであり、動作周波数が9.6MHzであると想定する。   The pre-integration microcomputer 100 has an operation frequency of 96 MHz, and the high-speed bus used by the pre-integration microcomputer 100 has a bus width of 64 bits, an operation frequency of 96 MHz, and the pre-integration microcomputer 100 used. The low speed bus is assumed to have a bus width of 8 bits and an operating frequency of 9.6 MHz.

統合前マイコン102、104は、動作周波数が48MHzであり、統合前マイコン100が使用していた高速バスは、バス幅が64ビットであり、動作周波数が48MHzであり、統合前マイコン100が使用していた低速バスは、バス幅が8ビットであり、動作周波数が1.2MHzであると想定する。   The pre-integration microcomputers 102 and 104 have an operation frequency of 48 MHz, and the high-speed bus used by the pre-integration microcomputer 100 has a bus width of 64 bits and an operation frequency of 48 MHz. The low-speed bus that was used is assumed to have a bus width of 8 bits and an operating frequency of 1.2 MHz.

尚、マイコン1において、高速バス70は、動作周波数が192MHzであるが、これは、統合前マイコン100,102、104の高速バスの各動作周波数の合計に合わせて設定されている。また、マイコン1において、低速バス72は、動作周波数が9.6MHzであるが、これは、統合前マイコン100の低速バスの動作周波数(一番高い動作周波数)に合わせて設定されている。マイコン1において、高速バス70及び低速バス72のバス幅は、統合前マイコン100,102、104における同バス幅に合わせて設定されている。   In the microcomputer 1, the operating frequency of the high-speed bus 70 is 192 MHz, which is set in accordance with the total operating frequency of the high-speed buses of the microcomputers 100, 102, and 104 before integration. In the microcomputer 1, the low-speed bus 72 has an operating frequency of 9.6 MHz, which is set in accordance with the operating frequency (highest operating frequency) of the low-speed bus of the microcomputer 100 before integration. In the microcomputer 1, the bus widths of the high-speed bus 70 and the low-speed bus 72 are set according to the bus widths in the microcomputers 100, 102, and 104 before integration.

図22は、統合前マイコン100と統合前マイコン102(又は104)の動作波形の相違を示す図であり、図22(A)は、統合前マイコン100の動作波形を示し、図22(B)は、統合前マイコン102(又は104)の動作波形を示す。図22に示すように、統合前マイコン100では、アドレス発行から90サイクル後に高速バスにデータが返されるのに対して、統合前マイコン102(又は104)では、アドレス発行から360サイクル後に高速バスにデータが返される。このように、統合前マイコン100と統合前マイコン102(又は104)においては、マイコン同士のバスの動作速度に相違から、データ出力タイミングに関してマイコン間で性能差が存在する。   FIG. 22 is a diagram illustrating a difference in operation waveforms between the pre-integration microcomputer 100 and the pre-integration microcomputer 102 (or 104). FIG. 22A illustrates the operation waveforms of the pre-integration microcomputer 100, and FIG. Indicates an operation waveform of the pre-integration microcomputer 102 (or 104). As shown in FIG. 22, in the pre-integration microcomputer 100, data is returned to the high-speed bus 90 cycles after address issuance, whereas in the pre-integration microcomputer 102 (or 104), data is returned to the high-speed bus 360 cycles after address issuance. Data is returned. As described above, in the pre-integration microcomputer 100 and the pre-integration microcomputer 102 (or 104), there is a difference in performance between the microcomputers regarding the data output timing due to the difference in the bus operation speed between the microcomputers.

また、統合前マイコン100に関しては、(統合後の)マイコン1に対して低速バス72の動作周波数に相違がないため、統合前後でデータ出力タイミングに関して相違が発生しないが、統合前マイコン102(又は104)に関しては、(統合後の)マイコン1に対して低速バス72の動作周波数に相違が存在するため、統合前後でデータ出力タイミングに関して相違が生じる。   In addition, regarding the pre-integration microcomputer 100, there is no difference in the operating frequency of the low-speed bus 72 with respect to the microcomputer 1 (after integration). 104), since there is a difference in the operating frequency of the low-speed bus 72 with respect to the microcomputer 1 (after integration), there is a difference in data output timing before and after the integration.

図23(A)は、マイコン1における48MHz帯域割当てのパラレル通信波形を示し、図23(B)は、マイコン1における48MHz帯域割当てのシリアル通信波形を示す図である。   FIG. 23A shows a parallel communication waveform of 48 MHz band assignment in the microcomputer 1, and FIG. 23B shows a serial communication waveform of 48 MHz band assignment in the microcomputer 1.

図23(A)に示すように、マイコン1における48MHz帯域割当てのパラレル通信では、アドレス発行から45サイクル後に高速バスにデータが返される。他方、図23(B)に示すように、マイコン1における48MHz帯域割当てのシリアル通信では、アドレス発行から325サイクル後に高速バスにデータが返される。ここで、図22(B)に示したように、統合前マイコン102(又は104)では、アドレス発行から360サイクル後に高速バスにデータが返される。従って、マイコン1においては、統合前マイコン102(又は104)の機能についてシリアル通信によりデータの授受を行えば、統合前後のデータ出力タイミングの差異を小さくすることができることが分かる。   As shown in FIG. 23A, in the parallel communication with the 48 MHz band allocation in the microcomputer 1, data is returned to the high-speed bus 45 cycles after address issuance. On the other hand, as shown in FIG. 23B, in the serial communication with the 48 MHz band assignment in the microcomputer 1, data is returned to the high-speed bus after 325 cycles from the address issuance. Here, as shown in FIG. 22B, the pre-integration microcomputer 102 (or 104) returns data to the high-speed bus 360 cycles after address issuance. Therefore, in the microcomputer 1, it is understood that the difference in the data output timing before and after the integration can be reduced if the data of the microcomputer 102 (or 104) before the integration is exchanged by serial communication.

この場合、図5に示した観点からは、統合前マイコン100の機能に係る処理の場合は、割当帯域が高いので、パラレル通信が選択され、統合前マイコン102(又は104)の機能に係る処理の場合は、割当帯域が低いので、シリアル通信が選択されてよい。これにより、統合前後でのソフトウェア変更工数を不要又は最小限にすることができる。   In this case, from the viewpoint shown in FIG. 5, in the case of processing related to the function of the pre-integration microcomputer 100, since the allocated bandwidth is high, parallel communication is selected, and processing related to the function of the pre-integration microcomputer 102 (or 104). In this case, since the allocated bandwidth is low, serial communication may be selected. Thereby, the software change man-hours before and after the integration can be unnecessary or minimized.

図24は、統合前マイコン200,202、204の機能を、上述の実施例2によるマイコン2に統合した場合を示す概念図である。尚、統合の際に、統合前マイコン200,202、204の一部の機能が省略・改良等されてもよいし、統合前マイコン200,202、204には存在しない新たな機能が付加されてもよい。   FIG. 24 is a conceptual diagram illustrating a case where the functions of the pre-integration microcomputers 200, 202, and 204 are integrated into the microcomputer 2 according to the second embodiment. During integration, some functions of the pre-integration microcomputers 200, 202, and 204 may be omitted or improved, or new functions that do not exist in the pre-integration microcomputers 200, 202, and 204 are added. Also good.

統合前マイコン200は、動作周波数が96MHzであり、統合前マイコン200が使用していた高速バスは、バス幅が64ビットであり、動作周波数が96MHzであり、統合前マイコン200が使用していた低速バスは、バス幅が8ビットであり、動作周波数が9.6MHzであると想定する。統合前マイコン200の機能は、マイコン2のCPUコア10Aに移設される。   The pre-integration microcomputer 200 has an operating frequency of 96 MHz, and the high-speed bus used by the pre-integration microcomputer 200 has a bus width of 64 bits, an operating frequency of 96 MHz, and was used by the pre-integration microcomputer 200. The low speed bus is assumed to have a bus width of 8 bits and an operating frequency of 9.6 MHz. The function of the microcomputer 200 before integration is transferred to the CPU core 10A of the microcomputer 2.

統合前マイコン202、204は、動作周波数が48MHzであり、統合前マイコン202、204が使用していた高速バスは、バス幅が64ビットであり、動作周波数が48MHzであり、統合前マイコン202、204が使用していた低速バスは、バス幅が8ビットであり、動作周波数が2.4MHzであると想定する。統合前マイコン202、204の機能は、マイコン2のCPUコア10Bに移設される。   The pre-integration microcomputers 202 and 204 have an operation frequency of 48 MHz, and the high-speed bus used by the pre-integration microcomputers 202 and 204 has a bus width of 64 bits and an operation frequency of 48 MHz. It is assumed that the low-speed bus used by 204 has a bus width of 8 bits and an operating frequency of 2.4 MHz. The functions of the pre-integration microcomputers 202 and 204 are transferred to the CPU core 10B of the microcomputer 2.

尚、マイコン2において、高速バス70Aは、動作周波数が96MHzであるが、これは、統合前マイコン200の高速バスに合わせて設定されている。また、高速バス70Bは、動作周波数が96MHzであるが、これは、統合前マイコン202、204の高速バスの各動作周波数の合計に合わせて設定されている。また、マイコン2において、低速バス72は、動作周波数が9.6MHzであるが、これは、統合前マイコン200の低速バスの動作周波数(一番高い動作周波数)に合わせて設定されている。また、マイコン2において、高速バス70A,70B及び低速バス72のバス幅は、統合前マイコン200,202、204における同バス幅に合わせて設定されている。   In the microcomputer 2, the operating frequency of the high-speed bus 70A is 96 MHz, which is set in accordance with the high-speed bus of the microcomputer 200 before integration. The high-speed bus 70B has an operating frequency of 96 MHz, which is set according to the total operating frequency of the high-speed buses of the pre-integration microcomputers 202 and 204. In the microcomputer 2, the operating frequency of the low-speed bus 72 is 9.6 MHz. This is set in accordance with the operating frequency (highest operating frequency) of the low-speed bus of the microcomputer 200 before integration. In the microcomputer 2, the bus widths of the high-speed buses 70 </ b> A and 70 </ b> B and the low-speed bus 72 are set in accordance with the same bus widths in the pre-integration microcomputers 200, 202 and 204.

このような統合態様においても、図21に示した統合態様と同様、統合前後でバスの動作速度(高速バス、低速バスの双方)が異なるため、上述のようなデータ転送タイミング調整機能が有用となる。この場合、CPUコア10Aからのアドレス・リクエストである場合は、割当帯域が高いので、パラレル通信が選択され、CPUコア10Bからのアドレス・リクエストである場合は、割当帯域が低いので、シリアル通信が選択されてよい。これにより、統合前後でのソフトウェア変更工数を不要又は最小限にすることができる。   In such an integrated mode, the bus operation speed (both high-speed bus and low-speed bus) is different before and after the integration as in the integrated mode shown in FIG. Become. In this case, since the allocated bandwidth is high in the case of an address request from the CPU core 10A, parallel communication is selected. In the case of an address request from the CPU core 10B, the allocated bandwidth is low, so that serial communication is performed. May be selected. Thereby, the software change man-hours before and after the integration can be unnecessary or minimized.

図25は、統合前マイコン300,302、304の機能を、上述の実施例3によるマイコン3に統合した場合を示す概念図である。尚、統合の際に、統合前マイコン300,302、304の一部の機能が省略・改良等されてもよいし、統合前マイコン300,302、304には存在しない新たな機能が付加されてもよい。   FIG. 25 is a conceptual diagram showing a case where the functions of the pre-integration microcomputers 300, 302, and 304 are integrated into the microcomputer 3 according to the third embodiment. During integration, some functions of the pre-integration microcomputers 300, 302, and 304 may be omitted or improved, or new functions that do not exist in the pre-integration microcomputers 300, 302, and 304 are added. Also good.

統合前マイコン300は、動作周波数が96MHzであり、統合前マイコン100が使用していた高速バス70は、バス幅が64ビットであり、動作周波数が96MHzであり、統合前マイコン300が使用していた低速バス72は、バス幅が8ビットであり、動作周波数が9.6MHzであると想定する。統合前マイコン300の機能は、マイコン3のCPUコア10Aに移設される。   The pre-integration microcomputer 300 has an operating frequency of 96 MHz, and the high-speed bus 70 used by the pre-integration microcomputer 100 has a bus width of 64 bits and an operating frequency of 96 MHz. The low-speed bus 72 is assumed to have a bus width of 8 bits and an operating frequency of 9.6 MHz. The function of the pre-integration microcomputer 300 is transferred to the CPU core 10 </ b> A of the microcomputer 3.

統合前マイコン302、304は、動作周波数が48MHzであり、統合前マイコン302、304が使用していた高速バスは、バス幅が64ビットであり、動作周波数が48MHzであり、統合前マイコン302、304が使用していた低速バスは、バス幅が8ビットであり、動作周波数が2.4MHzであると想定する。統合前マイコン302、304の機能は、マイコン3のCPUコア10Bに移設される。   The pre-integration microcomputers 302 and 304 have an operation frequency of 48 MHz, and the high-speed bus used by the pre-integration microcomputers 302 and 304 has a bus width of 64 bits and an operation frequency of 48 MHz. It is assumed that the low speed bus used by 304 has a bus width of 8 bits and an operating frequency of 2.4 MHz. The functions of the pre-integration microcomputers 302 and 304 are transferred to the CPU core 10B of the microcomputer 3.

尚、マイコン3において、高速バス70Aは、動作周波数が96MHzであるが、これは、統合前マイコン300の高速バスに合わせて設定されている。また、高速バス70Bは、動作周波数が96MHzであるが、これは、統合前マイコン302、304の高速バスの各動作周波数の合計に合わせて設定されている。また、マイコン3において、低速バス72A,72Bは、動作周波数が9.6MHzであるが、これは、統合前マイコン300の低速バスの動作周波数(一番高い動作周波数)に合わせて設定されている。また、マイコン3において、高速バス70A,70B及び低速バス72のバス幅は、統合前マイコン300,302、304における同バス幅に合わせて設定されている。   In the microcomputer 3, the high-speed bus 70A has an operating frequency of 96 MHz, which is set according to the high-speed bus of the microcomputer 300 before integration. The high-speed bus 70B has an operating frequency of 96 MHz, which is set in accordance with the total operating frequency of the high-speed buses of the pre-integration microcomputers 302 and 304. In the microcomputer 3, the low-speed buses 72A and 72B have an operating frequency of 9.6 MHz, and this is set in accordance with the operating frequency (highest operating frequency) of the low-speed bus of the microcomputer 300 before integration. . In the microcomputer 3, the bus widths of the high-speed buses 70 </ b> A and 70 </ b> B and the low-speed bus 72 are set according to the bus widths of the microcomputers 300, 302 and 304 before integration.

このような統合態様においても、図21に示した統合態様と同様、統合前後で高速バス、低速バスの性能差がある場合(本例では、CPUコア10Bに統合される統合前マイコン302、304)に、CPUコア10A側は通常通り低速バス72Aをそのまま使用し、CPUコア10B側は上述の切換(本例では静的な切換)によるシリアル通信により統合前後のバスの転送速度の相違を小さくすることができる。   Also in such an integration mode, as in the integration mode shown in FIG. 21, when there is a performance difference between the high-speed bus and the low-speed bus before and after the integration (in this example, the pre-integration microcomputers 302 and 304 integrated into the CPU core 10B). ), The CPU core 10A side uses the low-speed bus 72A as usual, and the CPU core 10B side reduces the difference in bus transfer speed before and after integration by serial communication by the above switching (in this example, static switching). can do.

以上説明した本発明の好適な適用例によれば、とりわけ、以下のような優れた効果が奏される。   According to the preferred application example of the present invention described above, the following excellent effects can be obtained.

統合前後のマイコンのバスの動作タイミングを保証することで、統合前後でのソフトウェア変更工数を不要にすることが可能となる。また、複数のECUの機能統合時にプログラミング構造を維持することが可能となりコスト低減が可能となる。また、バス線を分離して2系統以上持つ必要が無いため、コストデメリットなしに機能統合を行うことが可能である。また、バストポロジー(APB,NPB等)によらずに統合が可能となるため統合前のマイコンのバス構成を気にする必要が無くなり、統合マイコンの自由度が増大する。更に、速度面で余裕がある(遅くデータ伝送してもよい)ものについては本機能により活性化する出力段の数を減らせるため消費電力低減効果を得ることができる。   By guaranteeing the operation timing of the microcomputer bus before and after the integration, it is possible to eliminate the need for software modification before and after the integration. In addition, it is possible to maintain the programming structure when integrating the functions of a plurality of ECUs, thereby reducing costs. In addition, since it is not necessary to separate the bus lines and have two or more systems, it is possible to perform functional integration without cost disadvantages. Further, since integration is possible regardless of the bus topology (APB, NPB, etc.), there is no need to worry about the bus configuration of the microcomputer before integration, and the degree of freedom of the integrated microcomputer increases. Furthermore, since there is a reduction in the number of output stages activated by this function for those that have a margin in speed (data may be transmitted later), an effect of reducing power consumption can be obtained.

以上、本発明の好ましい実施例について詳説したが、本発明は、上述した実施例に制限されることはなく、本発明の範囲を逸脱することなく、上述した実施例に種々の変形及び置換を加えることができる。   The preferred embodiments of the present invention have been described in detail above. However, the present invention is not limited to the above-described embodiments, and various modifications and substitutions can be made to the above-described embodiments without departing from the scope of the present invention. Can be added.

1,2,3 マイコン
10,10A,10B CPUコア
20,20A,20B バスブリッジ
22,220,221,222 バッファ
24 アドレス・リクエスト管理部
25 アドレス・リクエスト順記憶部
26 終了制御部
28 データ分配部
30 シリアル・パラレル制御部
30A ハードウェア部
30B ソフトウェア部
32 シリアル・パラレル設定レジスタ
34 シリアル・パラレル切換回路
36 必要ビット数判定器
38 処理判定器
39 スケジュール判定器
50 ローカルメモリ
60,60A,60B,60C,60A1,60A2 周辺機能
62A,62B,62C シリアル・パラレル制御部
64A,64B,64C 出力段
70,70A,70B 高速バス
72,72A,72B 低速バス
80 シリアル・パラレル変換機
1, 2, 3 Microcomputer 10, 10A, 10B CPU core 20, 20A, 20B Bus bridge 22, 220, 221, 222 Buffer 24 Address / request management unit 25 Address / request order storage unit 26 Termination control unit 28 Data distribution unit 30 Serial / Parallel Control Unit 30A Hardware Unit 30B Software Unit 32 Serial / Parallel Setting Register 34 Serial / Parallel Switching Circuit 36 Required Bit Number Determinator 38 Processing Determinator 39 Schedule Determinator 50 Local Memory 60, 60A, 60B, 60C, 60A1 , 60A2 Peripheral function 62A, 62B, 62C Serial / parallel controller 64A, 64B, 64C Output stage 70, 70A, 70B High-speed bus 72, 72A, 72B Low-speed bus 80 Serial / parallel converter

Claims (2)

CPUコアと周辺機器との間のデータ通信を制御するデータ通信制御装置であって、
CPUコアと周辺機器の間にバスブリッジを備え、
前記CPUコアと前記バスブリッジの間は、高速バスで接続され、
前記周辺機器と前記バスブリッジの間は、低速バスで接続され、
前記周辺機器から前記バスブリッジを介して前記CPUコアへデータを送信する際に、前記周辺機器から前記バスブリッジへ前記低速バスで送信されてくるデータが前記バスブリッジのバッファに所定ビット数格納されたときに、前記高速バスで前記所定ビット数のデータを前記CPUコアに送信するように構成され、
前記周辺機器から前記バスブリッジへの前記低速バスによるデータの送信方法を、シリアル通信とパラレル通信の間で動的又は静的に切り換える切換制御部を備えることを特徴とする、データ通信制御装置。
A data communication control device that controls data communication between a CPU core and peripheral devices,
A bus bridge is provided between the CPU core and peripheral devices.
The CPU core and the bus bridge are connected by a high-speed bus,
The peripheral device and the bus bridge are connected by a low-speed bus,
When transmitting data from the peripheral device to the CPU core via the bus bridge, the data transmitted from the peripheral device to the bus bridge via the low-speed bus is stored in the buffer of the bus bridge in a predetermined number of bits. Is configured to transmit the predetermined number of bits of data to the CPU core on the high-speed bus
A data communication control device, comprising: a switching control unit that dynamically or statically switches a data transmission method from the peripheral device to the bus bridge via the low-speed bus between serial communication and parallel communication.
前記切換制御部は、前記CPUコアの処理負荷、前記周辺機器の応答性、前記周辺機器の使用頻度、及び、前記CPUコアへ送るデータ量のうちの少なくともいずれか1つに基づいて、前記切換を実行する、請求項1に記載のデータ通信制御装置。   The switching control unit, based on at least one of the processing load of the CPU core, the responsiveness of the peripheral device, the usage frequency of the peripheral device, and the amount of data to be sent to the CPU core, The data communication control device according to claim 1, wherein:
JP2010026594A 2010-02-09 2010-02-09 Data communication controller Pending JP2011164903A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010026594A JP2011164903A (en) 2010-02-09 2010-02-09 Data communication controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010026594A JP2011164903A (en) 2010-02-09 2010-02-09 Data communication controller

Publications (1)

Publication Number Publication Date
JP2011164903A true JP2011164903A (en) 2011-08-25

Family

ID=44595515

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010026594A Pending JP2011164903A (en) 2010-02-09 2010-02-09 Data communication controller

Country Status (1)

Country Link
JP (1) JP2011164903A (en)

Similar Documents

Publication Publication Date Title
KR101077900B1 (en) Method for communication of interface device of SoC-based system network and interface device communicating by the same
US6526462B1 (en) Programmable multi-tasking memory management system
US8954174B2 (en) Method and device to process digital media streams
KR100775406B1 (en) Apparatus and method for performing dma data transfer
WO2011089660A1 (en) Bus arbitration device
JP4571671B2 (en) Method and apparatus for accessing data in message memory of communication module
KR20000053380A (en) A port manager controller for connecting various function modules
KR100934227B1 (en) Memory switching control device using open serial matching, its operation method and data storage device applied thereto
US20040225779A1 (en) Programmable CPU/interface buffer structure using dual port RAM
US9471521B2 (en) Communication system for interfacing a plurality of transmission circuits with an interconnection network, and corresponding integrated circuit
KR100505689B1 (en) Transceiving network controller providing for common buffer memory allocating corresponding to transceiving flows and method thereof
JP2004318340A (en) Data transfer controller
JP2005084907A (en) Memory band control unit
KR101197294B1 (en) Method for communication of interface device in SoC-based system network for QoS and improvement of transfer efficiency
KR20130066401A (en) Chip multi processor and router for chip multi processor
US11789884B2 (en) Bus system and method for operating a bus system
JP2011164903A (en) Data communication controller
JP4684031B2 (en) Bus system, bus management device, node device, and program for bus management device
KR100581196B1 (en) System on chip bus architecture providing multiple channel
KR100367084B1 (en) DMA controller for the high speed image processor at real time
US9678905B2 (en) Bus controller, bus control system and network interface
JP2004118546A (en) Bus arbitration system and data transfer device
JP2002288115A (en) Usb controller
CN118175111A (en) Data transmission method, DMA controller, equipment and storage medium
JP7005303B2 (en) Communication equipment, packet generators and their control methods