JP2012150656A - Semiconductor device - Google Patents
Semiconductor device Download PDFInfo
- Publication number
- JP2012150656A JP2012150656A JP2011008903A JP2011008903A JP2012150656A JP 2012150656 A JP2012150656 A JP 2012150656A JP 2011008903 A JP2011008903 A JP 2011008903A JP 2011008903 A JP2011008903 A JP 2011008903A JP 2012150656 A JP2012150656 A JP 2012150656A
- Authority
- JP
- Japan
- Prior art keywords
- data
- communication channel
- buffer
- register
- address
- 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.)
- Withdrawn
Links
Images
Landscapes
- Bus Control (AREA)
Abstract
Description
本発明は、複数の通信チャネルを有する半導体装置における送受信データのバッファ制御技術に関し、例えば通信機能を有するマイクロコンピュータに適用して有効な技術に関する。 The present invention relates to a transmission / reception data buffer control technique in a semiconductor device having a plurality of communication channels, for example, a technique effective when applied to a microcomputer having a communication function.
複数の通信チャネルを中央処理装置(CPU)の周辺機能として有するマイクロコンピュータにおいて、通信チャネルに対するCPUによる通信条件の設定、通信チャネルに対する送信データの書き込み、通信チャネルによる受信データの読み込みを行うとき、通信チャネルが共通接続される内部バスを経由してCPUが通信チャネルに対するアクセスを行い、或いはダイレクトメモリアクセスコントローラ(DMAC)が通信チャネルとデータメモリとの間のデータ転送を制御しなければならない。複数の通信チャネルを用いた通信を並列的に行う場合にはバス上においてデータ転送量が著しく増大する。特許文献1にはそのようなマイクロコンピュータの例としてオンチップデバッグエミュレータに適用されるものが示され、通信チャネルとして複数のシリアル通信回路を備え、個々のシリアル通信回路はそれぞれに専用の送信バッファと受信バッファを備える。
In a microcomputer having a plurality of communication channels as peripheral functions of the central processing unit (CPU), communication is performed when setting communication conditions by the CPU for the communication channel, writing transmission data to the communication channel, and reading received data by the communication channel. The CPU accesses the communication channel via an internal bus to which the channels are commonly connected, or a direct memory access controller (DMAC) must control data transfer between the communication channel and the data memory. When communication using a plurality of communication channels is performed in parallel, the amount of data transfer on the bus increases significantly.
本発明者は複数の通信チャネルにおける送受信データのバッファに対するCPUやDMACによるアクセスについて検討したところ以下の問題点を見出した。 The present inventor has examined the access by the CPU and DMAC to the transmission / reception data buffers in a plurality of communication channels and found the following problems.
複数の通信チャネルが共通接続されるバスのデータトラフィックと通信チャネルのバッファ容量に関する点である。通信チャネルが個々に送受信データのバッファを持つ場合には回路規模が無駄に大きくならないように個々の記憶容量は比較的小さくされている。シリアルコミュニケーションインタフェース(SCIF)などの通信チャネルの受信データに対してCPUがコンペアや検索等の処理を行う場合には膨大な受信データをバスを介してCPUが逐次受けとって処理しなければならない。受信データを大容量のデータメモリに逐次蓄積する場合も、逐次的に通信チャネルのバッファからメモリにデータ転送されることになり、データ転送チャネル毎にDMA転送制御チャネルを設けても、その点については変わりない。個々の通信チャネルのバッファではバスのデータトラフィックを一時的にでも緩和するだけの記憶容量を持つことが出来ないからである。逆に個々の通信チャネルのデータバッファの容量を大きくすると使用されない記憶領域の無駄が大きくなる。 This is a point related to data traffic of a bus to which a plurality of communication channels are commonly connected and a buffer capacity of the communication channel. When each communication channel has a buffer for transmission / reception data, the individual storage capacity is relatively small so that the circuit scale does not become unnecessarily large. When the CPU performs processing such as compare or search on the received data of a communication channel such as a serial communication interface (SCIF), the CPU must receive and process a huge amount of received data sequentially via the bus. Even when receiving data is sequentially stored in a large-capacity data memory, data is sequentially transferred from the buffer of the communication channel to the memory. Even if a DMA transfer control channel is provided for each data transfer channel, the point Will not change. This is because the buffer of each communication channel cannot have a storage capacity enough to temporarily reduce bus data traffic. Conversely, if the capacity of the data buffer of each communication channel is increased, the waste of storage areas that are not used increases.
受信データのステータス情報についても通信チャネル毎にバッファから読み出して管理しなければならないとすると、通信チャネルのバッファからデータを読み出す処理、読み出したデータの判別処理、及び判別処理結果を後続処理に反映される操作が必要になり、データ受信に関するCPU等による処理が煩雑になる。 If the status information of received data must also be read and managed from the buffer for each communication channel, the process of reading data from the buffer of the communication channel, the determination process of the read data, and the determination process result are reflected in the subsequent process. Operation becomes necessary, and the processing by the CPU or the like related to data reception becomes complicated.
本発明の目的は、通信用のデータバッファに記憶容量の無駄を生じ難く、通信データのバストラフィックを低減することが可能な半導体装置を提供することにある。 SUMMARY OF THE INVENTION An object of the present invention is to provide a semiconductor device that is unlikely to waste storage capacity in a communication data buffer and can reduce bus traffic for communication data.
本発明の別の目的は、通信データに対する中央処理装置の処理負担を軽減することができる半導体装置を提供することにある。 Another object of the present invention is to provide a semiconductor device capable of reducing the processing load of a central processing unit for communication data.
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。 The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。 The following is a brief description of an outline of typical inventions disclosed in the present application.
すなわち、複数の通信チャネルを有する通信回路を内部バスにインタフェースするのに通信用ブリッジ回路を採用する。内部バスにはCPUが接続されている。通信用ブリッジ回路には通信チャネルに一対一対応する通信チャネルバッファ領域が割り当てられるバッファメモリを採用し、バッファメモリは一方においてバスインタフェース回路を介して内部バスにインタフェースされ、他方において通信チャネルインタフェース回路を介して通信回路にインタフェースされる。通信チャネルインタフェース回路は、内部バス経由でレジスタ回路に設定された通信チャネルバッファ領域の定義情報に基づいて、前記通信チャネルバッファ領域から対応する通信チャネルに与える送信データを読み出し且つ通信チャネルから与えられる受信データを対応する通信チャネルバッファ領域に書き込む制御を行う。 That is, a communication bridge circuit is employed to interface a communication circuit having a plurality of communication channels to the internal bus. A CPU is connected to the internal bus. The communication bridge circuit employs a buffer memory in which a communication channel buffer area corresponding to the communication channel is assigned one-to-one. Via the communication circuit. The communication channel interface circuit reads the transmission data to be given to the corresponding communication channel from the communication channel buffer area based on the definition information of the communication channel buffer area set in the register circuit via the internal bus, and receives from the communication channel. Control to write data to the corresponding communication channel buffer area.
定義情報に従って通信チャネル毎に通信チャネルバッファ領域を定義することができるから、通信チャネル毎にバッファを専用化して持つ場合に比べて、記憶容量に無駄を生ずることなく通信量の多い通信チャネルには大きな容量のバッファ領域を使用させることができる。チャネルバッファ領域の大きさの設定に応じてバス上における通信データのバストラフィックを制御することが可能になる。例えばチャネルバッファ領域を大きく設定すれば、受信データの一次保持期間を長くすることが出来るので、その分だけバッファ領域からバスへのデータ出力間隔を長くすることができ、バストラフィックを低下させることが可能になる。このことは、処理速度という点で、通信データに対する中央処理装置の処理負担の軽減にもつながる。 Since the communication channel buffer area can be defined for each communication channel according to the definition information, communication channels with a large amount of communication can be used without wasteful storage capacity compared to the case where a dedicated buffer is provided for each communication channel. A large buffer area can be used. It is possible to control the bus traffic of communication data on the bus according to the setting of the size of the channel buffer area. For example, if the channel buffer area is set large, the primary holding period of received data can be lengthened, so that the data output interval from the buffer area to the bus can be lengthened accordingly, and the bus traffic can be reduced. It becomes possible. This leads to a reduction in processing load on the central processing unit for communication data in terms of processing speed.
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。 The effects obtained by the representative ones of the inventions disclosed in the present application will be briefly described as follows.
すなわち、通信用のデータバッファに記憶容量の無駄を生じ難く、通信データのバストラフィックを低減することが可能である。 That is, it is difficult to waste storage capacity in the communication data buffer, and it is possible to reduce communication data bus traffic.
また、通信データに対する中央処理装置の処理負担を軽減することができる。 In addition, the processing load on the central processing unit for communication data can be reduced.
1.実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
1. First, an outline of a typical embodiment of the invention disclosed in the present application will be described. Reference numerals in the drawings referred to in parentheses in the outline description of the representative embodiments merely exemplify what are included in the concept of the components to which the reference numerals are attached.
〔1〕<複数通信チャネルに対する容量可変の通信バッファをメモリにマッピング>
本発明の代表的な実施の形態に係る半導体装置(1)は、内部バス(28)と、前記内部バスに接続された中央処理装置(25)と、複数の通信チャネルを有する通信回路(11)と、前記通信回路を前記内部バスに接続する通信用ブリッジ回路(10)とを有する。前記通信用ブリッジ回路は、前記内部バスに接続されるバスインタフェース回路(31,31A,31B)と、前記バスインタフェース回路に接続され前記通信チャネルに一対一対応する通信チャネルバッファ領域が割り当てられるバッファメモリ(32)と、前記通信チャネルバッファ領域から対応する通信チャネルに与える送信データを読み出し且つ通信チャネルから与えられる受信データを対応する通信チャネルバッファ領域に書き込む制御を行う通信インタフェース回路(33,33B)と、前記バスインタフェース回路を介して前記通信チャネルバッファ領域の定義情報が設定され設定された定義情報を前記通信インタフェース回路に与えるレジスタ回路(30,30A,30B)とを有する。
[1] <Mapping variable capacity communication buffer for multiple communication channels in memory>
A semiconductor device (1) according to a representative embodiment of the present invention includes an internal bus (28), a central processing unit (25) connected to the internal bus, and a communication circuit (11) having a plurality of communication channels. And a communication bridge circuit (10) for connecting the communication circuit to the internal bus. The communication bridge circuit includes a bus interface circuit (31, 31A, 31B) connected to the internal bus, and a buffer memory to which a communication channel buffer area connected to the bus interface circuit and corresponding to the communication channel is assigned one-to-one. (32), and a communication interface circuit (33, 33B) for controlling transmission data read from the communication channel buffer area to the corresponding communication channel and writing received data given from the communication channel to the corresponding communication channel buffer area And a register circuit (30, 30A, 30B) for providing the communication interface circuit with definition information in which the definition information of the communication channel buffer area is set and set via the bus interface circuit.
定義情報に従って通信チャネル毎に通信チャネルバッファ領域を定義することができるから、通信チャネル毎にバッファを専用化して持つ場合に比べて、記憶容量に無駄を生ずることなく通信量の多い通信チャネルには大きな容量のバッファ領域を使用させることができる。チャネルバッファ領域の大きさの設定に応じてバス上における通信データのバストラフィックを制御することが可能になる。チャネルバッファ領域を大きく設定すれば、受信データの一次保持期間を長くすることが出来るので、その分だけバッファ領域からバスへのデータ出力間隔を長くすることができ、バストラフィックを低下させることが可能になる。このことは、処理速度という点で、通信データに対する中央処理装置の処理負担の軽減にもつながる。 Since the communication channel buffer area can be defined for each communication channel according to the definition information, communication channels with a large amount of communication can be used without wasteful storage capacity compared to the case where a dedicated buffer is provided for each communication channel. A large buffer area can be used. It is possible to control the bus traffic of communication data on the bus according to the setting of the size of the channel buffer area. If the channel buffer area is set large, the primary retention period of received data can be lengthened, so the data output interval from the buffer area to the bus can be lengthened accordingly, and bus traffic can be reduced. become. This leads to a reduction in processing load on the central processing unit for communication data in terms of processing speed.
〔2〕<レジスタ回路のアドレスレジスタ及び通信ステータスレジスタ>
項1の半導体装置において、前記通信インタフェース回路は、前記通信チャネルに一対一対応される通信チャネルインタフェース回路(CHIF0〜CHIF4)と、前記通信チャネルインタフェース回路と前記バッファメモリとの間のデータ転送を制御する転送制御回路(40,40B)とを有する。前記レジスタ回路は、前記通信チャネル毎に、対応する通信チャネルバッファ領域のスタートアドレスを定義するスタートアドレスレジスタ(BSAREG)及びエンドアドレスを定義するエンドアドレスレジスタ(BEAREG)と、対応する前記通信チャネルインタフェース回路によって通信状態のステータス情報がセットされ前記中央処理装置によって参照可能にされるステータスレジスタ(STREG)とを有する。
[2] <Address register and communication status register of register circuit>
2. The semiconductor device according to
中央処理装置は、通信チャネルバッファ領域の受信データをリードして通信状態を判別しなくてもステータスレジスタにセットされたステータス情報を直接参照することができるから、通信状態に応じて必要な受信データだけをリードして処理することが可能になる。この点においても、バストラフィックの低減と、中央処理装置の処理負担軽減に資することができる。 The central processing unit can directly refer to the status information set in the status register without reading the communication channel buffer area reception data and determining the communication state. It is possible to read and process only. In this respect also, it is possible to contribute to reduction of bus traffic and reduction of processing load on the central processing unit.
〔3〕<割り込み要求ロジック>
項2の半導体装置において、前記レジスタ回路は更に、前記ステータスレジスタに保持されたステータス情報に応じて前記中央処理装置に対する割り込み要求を出力する割り込み要求ロジック(50,50A,50B)を有する。
[3] <Interrupt request logic>
In the semiconductor device according to
中央処理装置は割り込み要求の発生を待ってステータス情報を参照することができる。また、ステータス情報を参照することなく割り込み要求の要因に応じて受信データのリードなどの必要な処理を開始することが可能になる。 The central processing unit can refer to the status information after waiting for the generation of an interrupt request. It is also possible to start necessary processing such as reading received data in accordance with the cause of the interrupt request without referring to the status information.
〔4〕<DMA転送要求ロジック>
項2の半導体装置において、前記内部バスに接続されたダイレクトメモリアクセスコントローラを有し、
前記レジスタ回路は更に、前記ステータスレジスタに保持されたステータス情報に応じて前記ダイレクトメモリアクセスコントローラにデータ転送要求を出力するデータ転送要求ロジック(51,51A,51B)を有する。
[4] <DMA transfer request logic>
The semiconductor device according to
The register circuit further includes data transfer request logic (51, 51A, 51B) for outputting a data transfer request to the direct memory access controller in accordance with the status information held in the status register.
中央処理装置によるデータ転送処理を行わずにデータ転送要求を待ってダイレクトメモリアクセスが起動されることにより必要な受信データをデータメモリなどに転送する処理などを行うことができる。 A process of transferring necessary received data to a data memory or the like can be performed by starting a direct memory access after waiting for a data transfer request without performing a data transfer process by the central processing unit.
〔5〕<通信チャネルインタフェース回路に対する送信トリガ>
項2の半導体装置において、前記バスインタフェース回路は、前記バッファメモリに対する書き込みアドレスが前記レジスタ回路に設定されたスタートアドレスに一致するとき、一致したスタートアドレスに対応される通信チャネルインタフェース回路に対して送信開始トリガ信号(TRSTR)により送信開始を指示する。
[5] <Transmission trigger for communication channel interface circuit>
In the semiconductor device according to
通信インタフェース回路に対する送信開始のトリガを簡単なロジックによって生成することができる。 A transmission start trigger for the communication interface circuit can be generated by simple logic.
〔6〕<通信チャネルインタフェース回路による通信チャネルバッファアクセス>
項3の半導体装置において、前記通信チャネルインタフェース回路は、前記バッファメモリに対するアクセスアドレスを生成する受信用アドレスカウンタ(RACUNT)及び送信用アドレスカウンタ(TACUNT)と、前記受信用アドレスカウンタによるアドレスカウント値毎に通信データを保持するテンポラリ受信バッファ(RDBUF)と、前記送信用アドレスカウンタによるアドレスカウント値毎に送信データを保持するテンポラリ送信バッファ(TDBUF)とを有する。前記転送制御回路は、前記受信用アドレスカウンタの値に基づいて前記テンポラリ受信バッファから対応する前記通信チャネルバッファへのデータの書き込みと前記送信用アドレスカウンタの値に基づいて対応する前記通信チャネルバッファから前記テンポラリ送信バッファへのデータの読み出しとを制御する。前記受信用アドレスカウンタ及び送信用アドレスカウンタには前記レジスタ回路からスタートアドレスが初期設定され、前記テンポラリ受信バッファから対応する前記通信チャネルバッファへのデータの書き込み毎に前記受信用アドレスカウンタの値が更新され、前記通信チャネルバッファから前記テンポラリ送信バッファへのデータの読み出し毎に前記送信用アドレスカウンタの値が更新される。
[6] <Communication channel buffer access by communication channel interface circuit>
In the semiconductor device according to
通信チャネルバッファ領域の割り当てに応じた通信チャネルインタフェース回路によるバッファメモリアクセスのためのアドレスポイント制御を容易に実現することができる。 Address point control for buffer memory access by the communication channel interface circuit according to the allocation of the communication channel buffer area can be easily realized.
〔7〕<転送制御回路によるバッファメモリに対する時分割アクセスのタイミングスロット制御>
項6の半導体装置において、前記転送制御回路は、テンポラリ受信バッファからバッファメモリへのデータ書き込みのタイミングスロットを全ての通信チャネルに順次時分割で対応させて割り当てると共に、バッファメモリからテンポラリ送信バッファへのデータ読み出しのタイミングスロットを全ての通信チャネルに順次時分割で対応させて割り当てる制御を行うタイミング制御回路(60,60B)と、前記タイミング制御回路によって割り当てられた書き込みのタイミングスロットが到来したとき対応する通信チャネルインタフェース回路のテンポラリ受信バッファがデータ保持状態のとき当該テンポラリ受信バッファから入力した受信データを受け取ってバッファメモリに書き込み、また、前記タイミング制御回路によって割り当てられた読み出しのタイミングスロットが訪れたとき対応する通信チャネルインタフェース回路のテンポラリ送信バッファが空のときにバッファメモリから送信データを読み出して対応するテンポラリ送信バッファに転送する制御を行う転送プロトコルロジック回路(61,61B)とを有する。
[7] <Time slot access timing slot control to buffer memory by transfer control circuit>
In the semiconductor device according to
通信回路によるデータの送受信速度に比べて通信用ブリッジ回路の動作速度が格段に高速な場合に、通信回路からテンポラリ受信バッファに供給された受信データを対応する通信チャネルバッファ領域に書き込むタイミングを時分割された既定スロットにより簡単に制御することができ、同様に、通信回路に供給する送信データを対応する通信チャネルバッファ領域から対応するテンポラリ送信バッファに書き込むタイミングを時分割された既定スロットにより簡単に制御することができる。 When the operation speed of the communication bridge circuit is much higher than the data transmission / reception speed by the communication circuit, the timing to write the received data supplied from the communication circuit to the temporary receive buffer in the corresponding communication channel buffer area is time-shared. Similarly, the timing for writing the transmission data supplied to the communication circuit from the corresponding communication channel buffer area to the corresponding temporary transmission buffer can be easily controlled by the time-divided default slot. can do.
〔8〕<アドレスカウンタの順次アドレス更新動作>
項7の半導体装置において、前記通信チャネルインタフェース回路は、対応する通信チャネルバッファ領域からテンポラリ送信バッファへの送信データの読み出し毎に順次送信用アドレスカウンタの値を更新してスタートアドレスからエンドアドレスまで変化させ、テンポラリ受信バッファから対応する通信チャネルバッファ領域への受信データの書き込み毎に順次受信用アドレスカウンタの値を更新してスタートアドレスからエンドアドレスまで変化させる。
[8] <Sequential address update operation of address counter>
In the semiconductor device of
送信データを通信チャネルバッファ領域から逐次テンポラリ送信バッファにリードし、また、受信データをテンポラリ受信バッファから逐次通信チャネルバッファにライトするためのバッファメモリアクセスのポイントアドレス生成論理を簡素化することができる。 It is possible to simplify the point address generation logic of buffer memory access for reading transmission data from the communication channel buffer area to the temporary transmission buffer and writing reception data from the temporary reception buffer to the communication channel buffer.
〔9〕<繰り返し送信における一部同一データに対する更新スキップ>
項8の半導体装置において、前記中央処理装置は、前記レジスタ回路により定義された通信チャネルバッファ領域のデータを繰り返し送信するとき、最初の送信では当該通信チャネルバッファ領域の全領域に送信データを書き込んで送信を指示し、後続の送信では当該通信チャネルバッファ領域の一部の領域の送信データだけを更新して送信を指示する。
[9] <Update skip for partially identical data in repeated transmission>
In the semiconductor device according to
パケットのような単位で送信データを繰り返し送信するときそのパケットの先頭や末尾を示す固定コードを毎回付加するような場合に、中央処理装置が当該固定コードを毎回バッファメモリに書き込む手間を軽減することが出来る。 To reduce the trouble of the central processing unit writing the fixed code to the buffer memory each time when a fixed code indicating the beginning or end of the packet is added each time transmission data is repeatedly transmitted in units such as packets. I can do it.
〔10〕<受信データに対するコンペア機能を備えたバスインタフェース>
項1の半導体装置において、前記バスインタフェース回路(31A)は、前記バッファメモリに格納された受信データを比較対象データと比較し、比較結果を蓄積し、蓄積した比較結果を中央処理装置に参照可能にする。
[10] <Bus interface with compare function for received data>
In the semiconductor device according to
バッファメモリに格納された受信データの全てをCPUが参照しなくても、バスインタフェース回路によって蓄積された比較結果を参照して、必要な受信データだけをリードして処理することができ、中央処理装置の負担軽減、バストラフィックの低減、更には受信データに対するデータ処理効率の向上に資することができる。 Even if the CPU does not refer to all the received data stored in the buffer memory, it can read and process only the necessary received data by referring to the comparison result accumulated by the bus interface circuit, and the central processing This can contribute to reducing the burden on the apparatus, reducing the bus traffic, and improving the data processing efficiency for the received data.
〔11〕<コンペアデータ、コンペアアドレス領域及び比較結果のレジスタ>
項10の半導体装置において、前記制御レジスタ回路(30A)は、前記比較対象データが設定されるコンペアデータレジスタ(CMPDREG)、前記比較対象データと比較される受信データのバッファメモリ上のアドレス領域が設定されるコンペアアドレス領域指定レジスタ(CMOSAREG,CMPEAREG)、及び前記比較結果が蓄積されるコンペアリザルトレジスタ(CMPRSLTREG)を有する。
[11] <Compare data, compare address area and comparison result register>
In the semiconductor device according to
比較対象データと比較される受信データの範囲を容易に可変にすることができる。 The range of received data to be compared with the comparison target data can be easily made variable.
〔12〕<比較回数を保持するレジスタ>
項11の半導体装置において、前記制御レジスタ回路は更に、前記比較結果の比較一致回数を保持するコンペアカウントレジスタ(CMPCUNTREG)を有する。
[12] <Register holding the number of comparisons>
In the semiconductor device according to
特定のコードが繰り返し出現する状態に着目したい場合などに容易に対応することができる。 It is possible to easily cope with a case where attention is paid to a state where a specific code repeatedly appears.
〔13〕<割り込み要求ロジック>
項12の半導体装置において、前記レジスタ回路は更に、前記コンペアカウントレジスタが保持する比較一致回数が所定回数に達したとき前記中央処理装置に割り込みを要求する割り込み要求ロジック(50A)を有する。
[13] <Interrupt request logic>
In the semiconductor device of
中央処理装置は割り込み要求の発生を待ってコンペアリザルトレジスタなどを参照し、又は、コンペアカウントレジスタが保持する比較一致回数に応じた割り込み処理を開始することが可能になる。 The central processing unit can wait for the generation of an interrupt request, refer to the compare result register, etc., or start interrupt processing according to the number of comparison matches held in the comparison account register.
〔14〕<DMA転送要求ロジック>
項12の半導体装置において、前記内部バスに接続されたダイレクトメモリアクセスコントローラを有し、
前記レジスタ回路は更に、前記コンペアカウントレジスタが保持する比較一致回数が所定回数に達したとき前記ダイレクトメモリアクセスコントローラにデータ転送要求を出力するデータ転送要求ロジック(51A)を有する。
[14] <DMA transfer request logic>
The register circuit further includes a data transfer request logic (51A) for outputting a data transfer request to the direct memory access controller when the number of comparison matches held by the competition account register reaches a predetermined number.
中央処理装置によるデータ転送処理を行わずにデータ転送要求を待ってダイレクトメモリアクセスが起動されることにより必要な受信データをデータメモリに転送する処理などを行うことができる。 A process for transferring necessary received data to the data memory can be performed by starting the direct memory access after waiting for the data transfer request without performing the data transfer process by the central processing unit.
〔15〕<受信データに対するコンペア機能を備えた通信チャネルインタフェース>
項1の半導体装置において、前記通信インタフェース回路(33B)は、前記通信チャネルに一対一対応される通信チャネルインタフェース回路(CHIF0〜CHIF4)と、前記通信チャネルインタフェース回路と前記バッファメモリとの間のデータ転送を制御する転送制御回路(40B)とを有する。前記通信チャネルインタフェース回路は、前記バッファメモリに対するアクセスアドレスを生成する受信用アドレスカウンタ(RACUNT)及び送信用アドレスカウンタ(TACUNT)と、前記受信用アドレスカウンタによるアドレスカウント値毎に通信データを保持するテンポラリ受信バッファ(RDBUF)と、前記送信用アドレスカウンタによるアドレスカウント値毎に送信データを保持するテンポラリ送信バッファ(TDBUF)とを有する。前記転送制御回路は、前記受信用アドレスカウンタの値に基づいて前記テンポラリ受信バッファから対応する前記通信チャネルバッファへのデータの書き込みと前記送信用アドレスカウンタの値に基づいて対応する前記通信チャネルバッファから前記テンポラリ送信バッファへのデータの読み出しとを制御する。前記転送制御回路はさらに、前記テンポラリ受信バッファに受信した受信データを比較対象データと比較し、比較結果に応じた受信データの通信チャネルバッファ領域への書き込み動作に遷移し、遷移された書き込み動作の結果をCPUに参照可能にする。
[15] <Communication channel interface with compare function for received data>
In the semiconductor device according to
テンポラリ受信バッファに入力された受信データを予め比較対象データと比較した結果に基づいて受信データを確認して、必要な受信データだけを通信チャネルバッファに転送することができ、テンポラリ受信バッファに入力された受信データの全てを対応する通信チャネルバッファに転送しなくてもよく、さらには、不必要な受信データを予め整理するという意味で、中央処理装置の負担軽減、バストラフィックの低減、更には受信データに対するデータ処理効率の向上に資することができる。 The received data input to the temporary receive buffer can be checked in advance based on the comparison result with the comparison target data, and only the necessary received data can be transferred to the communication channel buffer. It is not necessary to transfer all received data to the corresponding communication channel buffer. Furthermore, in order to arrange unnecessary received data in advance, the burden on the central processing unit is reduced, bus traffic is reduced, and further reception is performed. It can contribute to improvement of data processing efficiency for data.
〔16〕<受信データに対するコンペア機能を備えた通信チャネルインタフェース>
項15の半導体装置において、前記制御レジスタ回路(30B)は、受信データと比較される比較対象データが設定されるコンペアデータレジスタ(CMPRDREG)と、受信データと前記比較対象データとの比較結果に応じて受信データが書き込まれるメモリアドレスが設定されるコンペアポイントメモリアドレスレジスタ(CMPMAREG)と、前記比較結果に応じてテンポラリ受信バッファに受信した受信データに対する動作形態が設定される分岐条件設定レジスタ(DVGCNDREG)とを複数組有する。前記転送制御回路(40B)は、前記複数組のレジスタに設定された設定値に従って、受信データのうち所要の受信データを選択して前記バッファメモリに格納する拡張受信モードを有する。
[16] <Communication channel interface with compare function for received data>
In the semiconductor device according to
複数組のレジスタを通信チャネル毎に自由に使うことにより、テンポラリ受信バッファに入力した受信データに対する処理のシーケンスを可変に設定することが出来る。 By freely using a plurality of sets of registers for each communication channel, it is possible to variably set the processing sequence for the received data input to the temporary reception buffer.
〔17〕<割り込み要求ロジック>
項16の半導体装置において、前記レジスタ回路は更に、前記転送制御回路が前記分岐条件設定レジスタの設定に従って所定のコンペアポイントメモリアドレスレジスタで設定されたアドレスに受信データの書き込みを完了したとき、前記中央処理装置に割り込みを要求する割り込み要求ロジック(50B)を有する。
[17] <Interrupt request logic>
16. The semiconductor device according to
中央処理装置はバッファメモリに書き込まれた受信データを割り込み要求の発生を待って参照することができ、又は、その割り込み要求に対応する割り込み要因に応じた割り込み処理を開始することが可能になる。 The central processing unit can refer to the received data written in the buffer memory after waiting for the generation of the interrupt request, or can start the interrupt processing corresponding to the interrupt factor corresponding to the interrupt request.
〔18〕<DMA転送要求ロジック>
項16の半導体装置において、前記内部バスに接続されたダイレクトメモリアクセスコントローラを有する。前記レジスタ回路は更に、前記転送制御回路が前記分岐条件設定レジスタの設定に従って所定のコンペアポイントメモリアドレスレジスタで設定されたアドレスに受信データの書き込みを完了したとき、前記ダイレクトメモリアクセスコントローラにデータ転送要求を出力するデータ転送要求ロジック(51B)を有する。
[18] <DMA transfer request logic>
中央処理装置によるデータ転送処理を行わずにデータ転送要求を待ってダイレクトメモリアクセスが起動されることにより必要な受信データをデータメモリに転送する処理などを行うことができる。 A process for transferring necessary received data to the data memory can be performed by starting the direct memory access after waiting for the data transfer request without performing the data transfer process by the central processing unit.
2.実施の形態の詳細
実施の形態について更に詳述する。
2. Details of Embodiments Embodiments will be further described in detail.
〔実施の形態1〕
図1には本発明の一実施の形態に係るマイクロコンピュータが例示される。同図に示されるマイクロコンピュータ1は、特に制限されないが、CMOS集積回路製造技術によって単結晶シリコンのような1個の半導体基板に形成される。
[Embodiment 1]
FIG. 1 illustrates a microcomputer according to an embodiment of the present invention. The
マイクロコンピュータ1(MCU)は、内部バス28と、前記内部バス28に接続された中央処理装置(CPU)25と、複数の通信チャネルを有する通信回路11と、前記通信回路11を前記内部バス28に接続する通信用ブリッジ回路(COMBRDG)10とを有する。通信回路11には例えば外部デバイスとしての複数の通信デバイス(COMDEV)2,3が接続される。通信回路11は、特に制限されないが、通信チャネルとして複数個のシリアルコミュニケーションインタフェース(SCI)チャネル(CH0〜CHn)を有するシリアルコミュニケーションインタフェース回路で構成される。CPU25はプログラムに記述された命令を順次フェッチし、フェッチした命令を解読し、その解読結果に従ってアドレス演算やデータ演算などを行ってその命令を実行する。
The microcomputer 1 (MCU) includes an
前記内部バス28にはその他に、ダイレクトメモリアクセスコントローラ(DMAC)20,22、データ転送コントローラ(DTC)22、割り込みコントローラ(INTC)21、タイマ(TMR)27、CPU25のワーク領域などに用いられるランダムアクセスメモリ(RAM)24、CPU25が実行するプログラムやデータなどを格納するリードオンリメモリ(ROM)26、外部バスインタフェース(EXIF)12、及びメモリコントローラ(MCNT)13を有する。
In addition to the
DMAC20は、CPU25によって予めデータ転送制御のための制御データ(転送元アドレス、転送先アドレス、転送語数など)が設定され、例えば通信用ブリッジ回路10からDMA転送要求信号DREQが供給されることによって、転送制御データで指定された転送条件に従ってデータ転送を開始する。
In the
割り込みコントローラ21は、通信用ブリッジ回路10などから割り込み要求信号IRQが供給されると、割り込み優先レベルや割り込みマスクレベルに従った調停などを行って割り込み信号INTをCPU25に出力する。CPU25は割り込み信号INTが供給されると、命令実行を終了して、復帰のために内部状態を退避し、その割り込み要求の割り込み要因に応ずる処理にプログラムフローを分岐する。
When the interrupt request signal IRQ is supplied from the
メモリコントローラ13には、特に制限されないが、大容量のシンクロナスダイナミックランダムアクセスメモリ(SDRAM)4が接続される。
A large capacity synchronous dynamic random access memory (SDRAM) 4 is connected to the
前記通信回路11が有するSCIチャネルCH0〜CHnはキャラクタ単位で同期をとる調歩同期方式でシリアルデータ通信を行う回路である。例えば1キャラクタは、先頭にスタートビット(ST)、末尾にストップビット(ST)、その間に8ビットのデータを有するビット構成にされる。
The SCI channels CH0 to CHn included in the
通信用ブリッジ回路10は、前記内部バス28に接続されるバスインタフェース回路(BUSIF)31、前記バスインタフェース回路31に接続され前記通信チャネルCH0〜CHnに一対一対応する通信チャネルバッファ領域が割り当てられるバッファメモリ(MRY)32、前記通信チャネルバッファ領域から対応する通信チャネルに与える送信データを読み出し且つ通信チャネルから与えられる受信データを対応する通信チャネルバッファ領域に書き込む制御を行う通信インタフェース回路(COMIF)33、及び前記バスインタフェース回路31を介して前記通信チャネルバッファ領域の定義情報が設定され、設定された定義情報を前記通信インタフェース回路33に与えるレジスタ回路(CREG)30とを有する。バッファメモリ32はデュアルポートを持つRAMによって構成されるが、当該デュアルポートは並列アクセス可能なデュアルポート、又は時分割アクセス可能なデュアルポートのいずれであってもよい。
The
図2には通信用ブリッジ回路10の具体例が示される。
FIG. 2 shows a specific example of the
通信回路11のSCIチャネルCH0〜CHn(ここではn=4)は、特に制限されないが、通信インタフェース回路33からキャラクタ単位で送信データをパラレルに受け取ってシリアルクロックSCICLKに同期してシリアル出力端子SOUTにシリアル出力する送信レジスタ回路TREG、キャラクタ単位で受信データをシリアルクロックSCICLKに同期してシリアル入力端子SINから受け取って通信インタフェース33にパラレルに出力する受信レジスタ回路RREGを有する。
The SCI channels CH0 to CHn (in this case, n = 4) of the
通信インタフェース回路33は、通信チャネルCH0〜CH4に一対一対応される通信チャネルインタフェース回路CHIF0〜CHIF4と、前記通信チャネルインタフェース回路CHIF0〜CHIF4とバッファメモリ32との間のデータ転送を制御する転送制御回路(TRCNT)40とを有する。
The
通信チャネルインタフェース回路CHIF0〜CHIF4のそれぞれは、バッファメモリ32に対するアクセスアドレスを生成する受信用アドレスカウンタRACUNT及び送信用アドレスカウンタTACUNTと、前記受信用アドレスカウンタRACUNTによるアドレスカウント値毎に通信データを保持するテンポラリ受信バッファRDBUFと、前記送信用アドレスカウンタTACUNTによるアドレスカウント値毎に送信データを保持するテンポラリ送信バッファTDBUFとを有する。通信チャネルインタフェース回路CHIF0〜CHIF4はシステムクロックSYSCLKに同期動作される。システムクロック信号SYSCLKはシリアルクロック信号SCICLKに対して数倍以上の高い周波数とされる。
Each of the communication channel interface circuits CHIF0 to CHIF4 holds communication data for each address count value by the reception address counter RACUNT and transmission address counter TACUNT for generating an access address for the
前記転送制御回路40は、前記受信用アドレスカウンタRACUNTの値に基づいて前記テンポラリ受信バッファRDBUFからバッファメモリ32上の対応する前記通信チャネルバッファへのデータの書き込み制御を行い、また、前記送信用アドレスカウンタTACUNTの値に基づいてバッファメモリ32上の対応する前記通信チャネルバッファからテンポラリ送信バッファTDBUFへのデータの読み出し制御を行う。前記受信用アドレスカウンタRACUNT及び送信用アドレスカウンタTACUNTにはレジスタ回路30からスタートアドレスが初期設定され、テンポラリ受信バッファRDBUFから対応する前記通信チャネルバッファへのデータの書き込み毎に前記受信用アドレスカウンタRACUNTの値が更新され、通信チャネルバッファから前記テンポラリ送信バッファTDBUFへのデータの読み出し毎に送信用アドレスカウンタTACUNTの値が更新される。
The
レジスタ回路30は、前記通信チャネルCH0〜CH4のそれぞれに対応して、対応する通信チャネルバッファ領域のスタートアドレスを定義するスタートアドレスレジスタBSAREG、エンドアドレスを定義するエンドアドレスレジスタBEAREG、及び対応する前記通信チャネルインタフェース回路CHIF0〜CHIF4によって通信状態のステータス情報がセットされるステータスレジスタSTREGを、送信用と受信用に個別に備える。それらレジスタはCPU25のアドレス空間に配置され、バスインタフェース回路31を介してCPU25が任意にデータを設定できるようになっている。それらレジスタBSAREG、BEAREGの定義情報に従ってCPU25と通信インタフェース回路33が把握する通信チャネルバッファ領域は、図2に例示されるように、通信チャネル毎に送信用と受信用に分けて割り当てられる。例えば、CHBUF0_Rは通信チャネルCH0に割り当てられた受信データ用の通信チャネルバッファ、CHBUF0_Tは通信チャネルCH0に割り当てられた送信データ用の通信チャネルバッファである。CHBUF4_Rは通信チャネルCH4に割り当てられた受信データ用の通信チャネルバッファ、CHBUF4_Tは通信チャネルCH4に割り当てられた送信データ用の通信チャネルバッファである。受信用バッファ領域と送信用バッファ領域とのサイズは同一でなくてよいことは言うまでもない。
The
レジスタ回路30は更に、ステータスレジスタSTREGに保持されたステータス情報に応じてCPU25に所定の割り込み処理を要求する割り込み要求信号IRQを出力する割り込み要求ロジック(IRQLGC)50と、ステータスレジスタSTREGに保持されたステータス情報に応じてDMAC20にデータ転送要求信号DREQを出力するデータ転送要求ロジック(DREQLGC)51を有する。
The
例えば割り込み要求ロジック50はステータスレジスタSTREGに受信完了ステータスがセットされたとき割り込み要求信号をアサートし、受信完了による割り込み要因とその要因が発生した通信チャネル番号をCPU25によって参照可能にする。したがって、CPU25は割り込み要求の発生を待ってステータス情報を参照することができ、また、ステータス情報を参照することなく割り込み要求の要因に応じて通信チャネルバッファ領域から受信データをリードする処理などの必要な処理を開始することができる。また、データ転送要求ロジック51は、ステータスレジスタSTREGに受信完了ステータスがセットされたときデータ転送要求信号DREQをアサートし、DMAC20は予め設定されているデータ転送制御条件に従ったDMA転送を開始して、受信データをSDRAM4などに転送する。図には割り込み要求信号IRQとデータ転送要求信号DREQをそれぞれ1個づつ代表的に図示しているが、割り込みコントローラ21の許容範囲で複数の割り込み要求信号の出力機能を採用し、また、DMAC20が持つDMA転送チャネルの数に応じて複数のデータ転送要求信号の出力機能を採用することも可能である。
For example, the interrupt
尚、CPU25はポーリングなどによってステータスレジスタSTREGの内容を任意に参照することも可能である。
The
バスインタフェース回路31は内部バス28を介してCPU25等にバッファメモリ32及びレジスタ回路30をリードアクセス及びライトアクセス可能にインタフェースする機能を備える。特に、この実施の形態では、内部バス28を介してバッファメモリ32に対する書き込みアドレスがレジスタ回路30のスタートアドレスレジスタBSAREGに予め設定されたスタートアドレスに一致するとき、一致したスタートアドレスに対応される通信チャネルインタフェース回路CHIF0〜CHIF4に対して送信開始トリガ信号TRSTRにより送信開始を指示する。例えばCPU25が通信チャネルCH0に対応する通信チャネルバッファ領域CHBUF_Tに送信データを順次書き込んで行き、最後に通信チャネルバッファ領域CHBUF_Tの先頭アドレスに対して送信データを書き込むと、そのアドレスが当該通信チャネルCH0に対応するバッファスタートアドレスレジスタBSAREGのアドレスと一致することにより、バスインタフェース回路31は送信開始トリガ信号TRSTRを活性化する。転送制御回路40はこれに応答して、通信チャネルインタフェース回路CHIF0の送信アドレスカウンタTACUNTの初期アドレスを先頭に通信チャネルバッファ領域CHBUF0_Tからキャラクタ単位で送信データをテンポラリ送信データバッファTDBUFに読み込んで、送信レジスタ回路TREGに与える。送信レジスタ回路TRREGは送信データをシリアルクロックSCICLKに同期して端子SOUTにシリアル出力する。転送制御回路40はこの操作を、送信アドレスカウンタTACUNTのアドレス値が、転送チャネルCH0に対応するバッファエンドアドレスレジスタBEAREGが保有するメモリアドレスに到達するまで繰り返す。送信開始トリガ信号TRSTRは通信チャネルインタフェース回路毎に設けられた信号として位置付けられる。これにより、転送制御回路40に対する送信処理動作開始のトリガを簡単なロジックによって生成することができる。
The
これに対して受信動作の場合、例えば通信チャネルCH0の受信レジスタ回路RREGにキャラクタ単位で受信データが入力されると、1キャラクタ分の受信データが対応するチャネルインタフェース回路CHIF0のテンポラリ受信データバッファRDBUFに転送され、この状態が転送制御回路40に通知される。転送制御回路40は、このテンポラリ受信データバッファRDBUFに対応する受信アドレスカウンタRACUNTの保持値が転送チャネルCH0に対応する受信用のスタートアドレスレジスタが保持するアドレス値に一致するとき、これに応答して、通信チャネルインタフェース回路CHIF0の受信アドレスカウンタRACUNTの初期アドレスを先頭に当該テンポラリ受信データバッファRDBUFからキャラクタ単位で当該受信データを通信チャネルバッファ領域CHBUF0_Rに書き込む。転送制御回路40はこの操作を、受信アドレスカウンタRACUNTのアドレス値が、転送チャネルCH0に対応する受信用のバッファエンドアドレスレジスタBEAREGが保有するメモリアドレスに到達するまで繰り返す。これにより、転送制御回路40に対する受信処理動作開始のトリガを簡単なロジックによって生成することができる。
On the other hand, in the reception operation, for example, when reception data is input in character units to the reception register circuit RREG of the communication channel CH0, the reception data for one character is stored in the temporary reception data buffer RDBUF of the corresponding channel interface circuit CHIF0. The state is transferred, and this state is notified to the
図3には送信動作と受信動作の詳細なタイミングチャートが例示される。ここでは通信チャネルはCH0〜CH7(n=7)の8個設けられているものとし、バッファメモリ32に対する転送制御回路40による時分割アクセスにおいてタイミングスロット制御を行う場合について説明する。
FIG. 3 illustrates a detailed timing chart of the transmission operation and the reception operation. Here, it is assumed that eight communication channels CH0 to CH7 (n = 7) are provided, and a case where timing slot control is performed in time division access to the
転送制御回路40は、図2に例示されるように、タイミングスロットの割り当てを行うタイミング制御回路(TMGC)60と、割り当てられたタイミングスロットでバッファメモリ32のアクセスを行うか否かの制御を行う転送プロトコルロジック回路(PRTCL)61とを有する。更に詳しくは、タイミング制御回路60は、テンポラリ受信バッファRDBUFからバッファメモリ32へのデータ書き込みのタイミングスロットを全ての通信チャネルCH0〜CH7に順次時分割で対応させて割り当てると共に、バッファメモリ32からテンポラリ送信バッファTDBUFへのデータ読み出しのタイミングスロットを全ての通信チャネルCH0〜CH7に順次時分割で対応させて割り当てる制御を行う。転送プロトコルロジック回路61は、タイミング制御回路60によって割り当てられた書き込みのタイミングスロットが到来したとき対応する通信チャネルインタフェース回路のテンポラリ受信バッファRDBUFがデータ保持状態のとき当該テンポラリ受信バッファRDBUFから入力した受信データを受け取ってバッファメモリ32に書き込み、また、前記タイミング制御回路60によって割り当てられた読み出しのタイミングスロットが訪れたとき対応する通信チャネルインタフェース回路のテンポラリ送信バッファTDBUFが空のときにバッファメモリ32から送信データを読み出して対応するテンポラリ送信バッファTDBUFに転送する制御を行う。
As illustrated in FIG. 2, the
上記タイミングスロット制御の前提は、通信回路11によるシリアル送受信速度に対して通信インタフェース回路33によるバッファメモリ32のアクセス速度が格段に速いことである。図3の例では、1キャラクタ分のシリアル受信動作及びシリアル送信動作の何れの期間においても、CH0〜CH7の全通信チャネルに対するCOMIF33からMRY32への書き込みタイミングスロットの期間とMRY32からCOMIF33への読み出しタイミングスロットの期間とを確保できるようにされる。具体的には、1キャラクタ分に1バイトデータの受信時お呼び送信時の何れのタイミングも16分割し、第1から第8分割までをバッファメモリ32への書き込みタイミングスロットに割り当て、第9から第16分割までをバッファメモリ32からの読み出しタイミングスロットに割り当てる。これにより、COMIF33は、夫々の通信チャネルによる1キャラクタ分のシリアル通信中に必ず1回バッファメモリ32に対する書き込み及び読み出しのためのアクセス権を獲得することができる。これを充足するには、システムクロック信号SYSCLKの周波数を送信動作を行う通信チャネルの数及び受信動作を行う通信チャネルの数の和で除した商がシリアルクロック信号SCICLKのクロック信号周波数よりも大きいことを満足すればよい。
The premise of the timing slot control is that the access speed of the
図4Aおよび図4Cには一部同一のデータを繰り返し送信する送信処理動作の例が示される。例えば図4Aに例示されるように、固定送信データAA、固定送信データBB、任意送信データdata0、任意送信データdata1、固定送信データCC、及び固定送信データDDを繰り返し送信する場合について説明する。このような一部同一のデータを繰り返し送信する送信処理であっても、本実施の形態のように容量可変のバッファメモリを用いることをしないでテンポラリ送信データバッファのようなバッファに逐次送信データをセットしてその都度送信を行う構成の場合には、図4Bに例示されるように、キャラクタ単位で前の送信の完了を確認して次の送信データをテンポラリ送信データバッファのようなバッファに書き込み処理を、固定データAA,BB,CC,DDを含めて6バイトの全データに対して毎回書き込まなければならない。これに対して本実施の形態の場合には、図4Cに例示されるように、最初の6バイトの送信ではバッファメモリ32の所要の通信チャネルバッファ領域の全領域に送信データを書き込んで送信を指示し、後続の送信では当該通信チャネルバッファ領域の一部の可変データdata0,data1の領域の送信データだけを更新して送信を指示すればよい。当該通信チャネルバッファ領域から通信インタフェース回路33を介してシリアル出力されるデータは、最初の6バイトデータも、次の6バイトデータもAA,BB,data0、data1、CC,DDになる。
FIG. 4A and FIG. 4C show an example of a transmission processing operation in which partly the same data is repeatedly transmitted. For example, as illustrated in FIG. 4A, a case will be described in which fixed transmission data AA, fixed transmission data BB, arbitrary transmission data data0, arbitrary transmission data data1, fixed transmission data CC, and fixed transmission data DD are repeatedly transmitted. Even in such a transmission process in which the same data is repeatedly transmitted, the transmission data is sequentially transmitted to a buffer such as a temporary transmission data buffer without using a variable capacity buffer memory as in this embodiment. In the case of a configuration in which the transmission is performed each time it is set, as shown in FIG. 4B, the completion of the previous transmission is confirmed in character units and the next transmission data is written in a buffer such as a temporary transmission data buffer. Processing must be written every time for all 6 bytes of data including fixed data AA, BB, CC, DD. On the other hand, in the case of the present embodiment, as illustrated in FIG. 4C, in the first 6 bytes transmission, transmission data is written in all areas of the required communication channel buffer area of the
パケットのような単位で送信データを繰り返し送信するときそのパケットの送信元や送信先などを示す固定コードを毎回付加するような場合に、CPU25が当該固定コードを毎回バッファメモリ32に書き込む手間を軽減することが出来る。
When transmission data is repeatedly transmitted in units such as packets, when a fixed code indicating the transmission source or transmission destination of the packet is added every time, the
図5には図4Cのように一部固定データを含む6バイトのデータを繰り返し送信するときのCPU25によるバッファメモリ32の所要の通信チャネルバッファ領域への通信データの書き込み動作手順が例示される。送信用の通信チャネルバッファ領域CHBUS0_TのアドレスA0〜A5に6バイトのデータAA,BB,data0,data1CC,DDが格納されるものとする。この場合、CPU25による送信用の通信チャネルバッファ領域CHBUS0_TのアドレスA0〜A5に対するデータの書き込み順は、第1回目の転送用(第1パケット)については、アドレスA1,A2,A3,A4,A5,A0の順にデータBB,data0,data1,CC,DD,AAの書き込みとされる。最後に当該バッファ領域CHBUS0_Tの先頭アドレスA0(BSAREGの設定値に一致するアドレス)に対する書き込みが行われることによって送信開始トリガ信号TRSTRにより送信開始が指示され、転送チャネルインタフェース回路CHIF0の転送アドレスカウンタTACUNTの初期値A0から順次アドレスA5までのデータが順次バッファ領域CHBUS0_Tからテンポラリ送信バッファTDBUFに読み出されて、順次データAA,BB,data0,data1,CC,DDが外部に送信される。第2回目(第2パケット送信)については、アドレスA2,A3,A0の順に可変データdata0,data1だけの書き込みが行われる。最後に当該バッファ領域CHBUS0_Tの先頭アドレスA0(BSAREGの設定値に一致するアドレス)に対する書き込みが行われたときは第1回目と同様に、送信開始トリガ信号TRSTRにより送信開始が指示され、転送チャネルインタフェース回路CHIF0の転送アドレスカウンタTACUNTの初期値A0から順次アドレスA5までのデータが順次バッファ領域CHBUS0_Tからテンポラリ送信バッファTDBUFに読み出されて、順次データAA,BB,data0,data1,CC,DDが外部に送信される。第3回目(第3パケット送信)以降は第2回目と同様であり、必要に応じて可変データdata0,data1と送信トリガとされるアドレスA0への書き込みだけを繰り返せばよい。
FIG. 5 illustrates a procedure for writing communication data into a required communication channel buffer area of the
上記実施の形態1によれば以下の作用効果を得ることができる。即ち、レジスタ回路30に定義された情報に従って通信チャネルCH0〜CHn毎に通信チャネルバッファ領域(CHBUF0_T,CHBUF0_R…)を定義することができるから、通信チャネル毎にバッファを専用化して持つ場合に比べて、記憶容量に無駄を生ずることなく通信量の多い通信チャネルには大きな容量のバッファ領域を使用させることができる。チャネルバッファ領域の大きさの設定に応じてバス上における通信データのバストラフィックを制御することが可能になる。チャネルバッファ領域を大きく設定すれば、受信データの一次保持期間を長くすることが出来るので、その分だけバッファ領域からバスへのデータ出力間隔を長くすることができ、バストラフィックを低下させることが可能になる。このことは、処理速度という点で、通信データに対するCPU25の処理負担の軽減にもつながる。
According to the first embodiment, the following operational effects can be obtained. That is, since the communication channel buffer area (CHBUF0_T, CHBUF0_R...) Can be defined for each of the communication channels CH0 to CHn according to the information defined in the
CPU25は、通信チャネルバッファ領域の受信データをリードして通信状態を判別しなくてもステータスレジスタSTREGにセットされたステータス情報を直接参照することができるから、通信状態に応じて必要な受信データだけをリードして処理することが可能になる。同様に、ステータスレジスタSTREGの値に応じて割り込み要求信号IRQやデータ転送要求信号DREQの出力機能を備えることによっても、通信状態に応じて必要な受信データだけをリードして処理することが可能になる。これらの点においても、バストラフィックの低減と、CPU25の処理負担軽減に資することができる。
Since the
〔実施の形態2〕
図6には本発明の実施の形態2に係る通信用ブリッジ回路10Aの具体例が示される。図2に基づいて説明した通信用ブリッジ回路10に対してレジスタ回路30Aの構成とバスインタフェース回路31Aの機能が相違され、バッファメモリ32に格納された受信データに対してバスインタフェース回路31Aがレジスタ回路30Aの設定に基づいてコンペア機能を実現するものである。以下その相違点に係る構成について詳細を説明し、実施の形態1と同様の構成についてはその詳細な説明を省略する。
[Embodiment 2]
FIG. 6 shows a specific example of a
制御レジスタ回路30Aは、バッファメモリに格納された受信データとの比較対象にされる比較対象データが設定されるコンペアデータレジスタCMPDREG、比較対象データと比較される受信データのバッファメモリ32上のアドレス領域の先頭を指定するコンペアスタートアドレスレジスタCMPSAREG、そのアドレス領域の末尾を指定するコンペアエンドアドレスレジスタCMPEAREG、前記比較結果が蓄積されるコンペアリザルトレジスタCMPRSLTREG、及び前記比較結果の比較一致回数を保持するコンペアカウントレジスタCMPCUNTREGを有する。それらレジスタは他のレジスタ同様にバスインタフェース回路31Aを介して内部バス28からアクセス可能にCPU25のアドレス空間に配置される。CPU25は目的とする通信チャネルからの受信データが対応する通俊チャネルバッファ領域に格納されてそのステータスレジスタが通信完了にセットされるのを参照して、若しくはそのステータスレジスタが通信完了にセットされることによって発生される割り込み要求信号IRQによる割り込み要求に応答して、前記レジスタCMPSAREG、CMPEAREG、CMPDREGに書き込みを行う。
The
バスインタフェース回路31Aは、例えばレジスタレジスタCMPDREGに対するデータ書き込みの完了を検出して比較動作を開始し、レジスタCMPSAREGで指定されるメモリアドレスを起点にレジスタCMPEAREGで指定されるメモリアドレスまでの範囲の受信データをレジスタCMPDREGのデータと順次比較し、レジスタCMPRSLTREGにはその比較結果と共にその受信データのアドレスなどの比較条件などを格納し、レジスタCMPCUNTREGには比較一致回数を累積していく。
For example, the
これにより、バッファメモリ32に格納された受信データの全てをCPU25が参照しなくても、バスインタフェース回路31Aによって蓄積された比較結果をレジスタCMPRSLTREG,CMPCUNTREGから参照して、必要な受信データだけをリードして処理することができ、CPU25の負担軽減、バストラフィックの低減、更には受信データに対するデータ処理効率の向上に資することができる。レジスタCMPCUNTREGの計数値を参照することにより、特定のコードが繰り返し出現する状態に着目したい場合などに容易に対応することができる。
As a result, even if the
特に、レジスタ回路30Aが保有する割り込み要求ロジック(IRQLGC)50Aは図2の割り込み要求ロジック50に比べ、コンペアカウントレジスタCMPCUNTREGが保持する比較一致回数が所定回数に達したときCPU25に割り込み要求信号IRQをアサートすると共にその割り込み要因を参照可能にする割り込み要求生成機能が追加されている。これによりCPU25は、割り込み要求の発生を待ってコンペアリザルトレジスタCMPRSLTREGなどを参照し、又は、コンペアカウントレジスタCMPCUNTREGが保持する比較一致回数に応じた割り込み処理を開始することが可能になる。
In particular, the interrupt request logic (IRQLGC) 50A possessed by the
更に、レジスタ回路30Aが保有するデータ転送要求ロジック(DREQLGC)51Aは図2のデータ転送要求ロジック51に比べ、コンペアカウントレジスタがCMPCUNTREG保持する比較一致回数が所定回数に達したときDMAC20にデータ転送要求信号DREQを出力するデータ転送要求機能が追加されている。これにより、CPU25によるデータ転送処理を行わずに要求信号DREQによるデータ転送要求を待ってダイレクトメモリアクセスが起動されることにより必要な受信データをSDRAM4に転送する処理などを行うことができる。
Further, the data transfer request logic (DREQLGC) 51A possessed by the
図7にはバスインタフェース回路31Aによるレジスタ回路30Aの設定に基づくコンペア動作が例示される。ここでは通信チャネルCH4に対応する通信チャネルバッファ領域CHBUF4_Rに格納された受信データを比較処理の対象とする場合が例示される。通信チャネルバッファ領域CHBUF4_Rに割り当てられたアドレスは1000番地乃至1100番地である。レジスタCMPSAREGには1000番地、レジスタCMPEAREGには1100番地が設定され、レジスタCMPDREGにはH’AAAが設定されるものとする。レジスタCMPDREGにデータH’AAAが書き込まれると比較処理が開始され、通信チャネルバッファ領域CHBUF4_Rの1000番地から1100番地の間でデータH’AAAを参照したとき、比較結果とそのアドレスなどをコンペアリザルトレジスタCMPRSLTREGに逐次格納し、コンペアカウントレジスタCMPCUNTREGには一致回数が累積される。CPU25はコンペアリザルトレジスタCMPRSLTREGやコンペアカウントレジスタCMPCUNTREGを参照して通信チャネルバッファ領域CHBUF4_Rから必要な受信データをアクセスし、又は割り込み要求に応答してCPU25が通信チャネルバッファ領域CHBUF4_Rを参照し、或いはデータ転送要求に応答してDMAC20が通信チャネルバッファ領域CHBUF4_RのデータをSDRAM4に転送する処理などを行う。
FIG. 7 illustrates a compare operation based on the setting of the
〔実施の形態3〕
図8には本発明の実施の形態3に係る通信用ブリッジ回路10Bの具体例が示される。
[Embodiment 3]
FIG. 8 shows a specific example of the communication bridge circuit 10B according to the third embodiment of the present invention.
図2に基づいて説明した通信用ブリッジ回路10に対してレジスタ回路30B、バスインタフェース回路31B、及び転送制御回路40Bの機能が相違され、テンポラリ受信バッファRDBUFに入力した受信データに対して転送制御回路40Bがレジスタ回路30Bの設定に基づいてコンペア機能を実現するものである。以下その相違点に係る構成について詳細を説明し、実施の形態1と同様の構成についてはその詳細な説明を省略する。
The functions of the
前記制御レジスタ回路30Bには、受信データと比較される比較対象データが設定されるコンペアデータレジスタCMPRDREGと、受信データと前記比較対象データとの比較結果に応じて受信データが書き込まれるメモリアドレスが設定されるコンペアポイントメモリアドレスレジスタCMPPMAREGと、前記比較結果に応じてテンポラリ受信バッファに受信した受信データに対する動作形態が設定される分岐条件設定レジスタDVGCNDREGとを複数組、例えばレジスタブロックRBLK0とレジスタブロックRBLK1との2組が追加されている。
In the
転送制御回路40Bには、前記テンポラリ受信バッファに受信した受信データを比較対象データと比較し、比較結果に応じた受信データの通信チャネルバッファ領域への書き込み動作に遷移し、遷移された書き込み動作の結果をCPUに参照可能にする機能が追加され、例えば、前記複数組のレジスタブロックRBLK0,RBLK1に設定された設定値に従って、受信データのうち所要の受信データを選択して前記バッファメモリ32に格納する拡張受信モードが追加されている。
The
図9には拡張受信モードによる転送制御回路40Bの動作が例示される。テンポラリ受信バッファRDBUFにデータが受信されると、その受信データがレジスタブロックRBLK0のコンペアデータレジスタCMPRDREG[RBLK0]のデータに一致するか否かが判別され(S1)、一致が判別されると、その受信データがレジスタブロックRBLK0のコンペアポイントメモリアドレスレジスタCMPPMAREG[RBLK0]で指定されるバッファメモリ32上のアドレスに書き込まれ、且つ、そのアドレスが受信アドレスカウンタRACUNTにプリセットされて+1インクリメントされる(S2)。この動作の次に、レジスタブロックRBLK0の分岐条件設定レジスタDVGCNDREG[RBLK0]が示す処理への遷移が指示される(S3)。
例えば、テンポラリ受信バッファRDBUFの受信データに対する判別処理対象がレジスタブロックRBLK1のコンペアポイントメモリアドレスレジスタCMPPMAREG[RBLK0]のアドレスに変更する指示とされる。その指示に従った受信アドレスカウンタRACUNTに対する一致判別が行われ(S4A)、一致するまで、テンポラリ受信バッファRDBUFの受信データをアドレスカウンタRACUNTのカウント値に従ってバッファメモリ32に格納し(S5)、一致が判別されると、たとえば、その受信データがレジスタブロックRBLK1のコンペアデータレジスタCMPRDREG[RBLK1]のデータに一致するか否かが判別され(S4B)、一致が判別されると、その受信データがレジスタブロックRBLK1のコンペアポイントメモリアドレスレジスタCMPPMAREG[RBLK1]で指定されるバッファメモリ32上のアドレスに書き込まれ(S6)、この動作の次に、レジスタブロックRBLK1の分岐条件設定レジスタDVGCNDREG[RBLK1]が示す処理への遷移が指示される(S7)。例えば、受信処理を終了する。
FIG. 9 illustrates the operation of the
For example, the determination processing target for the received data in the temporary reception buffer RDBUF is an instruction to change to the address of the compare point memory address register CMPPMAREG [RBLK0] of the register block RBLK1. According to the instruction, a match determination is made for the received address counter RACUNT (S4A), and the received data of the temporary receive buffer RDBUF is stored in the
ステップS2で初めて受信データをバッファメモリ32に書き込んだ後のステップS3における動作遷移指示では、所定のステータスレジスタSTREGに受信開始のステータス情報をセットさせ、これによって制御レジスタ回路30BにCPU25への受信開始の割り込みを要求させてもよい。同様に、ステップS6で目的の受信データをバッファメモリ32に書き込んだ後のステップS7における動作遷移指示では、所定のステータスレジスタSTREGに受信完了のステータス情報をセットさせ、これによって制御レジスタ回路30BにCPU25への受信開始の割り込みを要求させ、或いはDMAC20に受信データのデータ転送を要求させてもよい。
In the operation transition instruction in step S3 after the reception data is written to the
図10には図9のシーケンスに基づくデータ受信動作のタイミングチャートが示される。 FIG. 10 shows a timing chart of the data reception operation based on the sequence of FIG.
レジスタブロックRBLK0のコンペアデータレジスタCMPRDREG[RBLK0]にはCCがセットされ、レジスタブロックRBLK0のコンペアポイントメモリアドレスレジスタCMPPMAREG[RBLK0]には100番地がセットされ、レジスタブロックRBLK01のコンペアデータレジスタCMPRDREG[RBLK1]にはDDがセットされ、レジスタブロックRBLK1のコンペアポイントメモリアドレスレジスタCMPPMAREG[RBLK1]には104番地がセットされる。レジスタブロックRBLK0の分岐条件設定レジスタDVGCNDREG[RBLK0]には図9のステップS4A,S4B,S5,S6およびS1の条件が設定される。レジスタブロックRBLK1の分岐条件設定レジスタDVGCNDREG[RBLK1]には受信処理終了の条件が設定される。これにより、図10の例では、受信データの一部である所要の受信データCC、data1、data2、data3、DDだけをバッファメモリ32の100番地〜104番地に格納して受信処理を終了することができる。
CC is set in the compare data register CMPRDREG [RBLK0] of the register block RBLK0, 100 is set in the compare point memory address register CMPPMAREG [RBLK0] of the register block RBLK0, and the compare data register CMPRDREG [RBLK1] of the register block RBLK01. Is set to DD, and address 104 is set to the compare point memory address register CMPPMAREG [RBLK1] of the register block RBLK1. The conditions of steps S4A, S4B, S5, S6 and S1 in FIG. 9 are set in the branch condition setting register DVGCNDREG [RBLK0] of the register block RBLK0. In the branch condition setting register DVGCNDREG [RBLK1] of the register block RBLK1, a condition for ending the reception process is set. As a result, in the example of FIG. 10, only the required received data CC, data1, data2, data3, and DD, which are part of the received data, are stored at addresses 100 to 104 of the
これによれば、テンポラリ受信バッファRDBUFに入力された受信データを予め比較対象データと比較した結果に基づいて受信データを確認して、必要な受信データだけを通信チャネルバッファに転送することができ、テンポラリ受信バッファRDBUFに入力された受信データの全てをバッファメモリ32上の対応する通信チャネルバッファ領域に転送しなくてもよく、さらには、不必要な受信データを予め整理するという意味で、CPU25の負担軽減、バストラフィックの低減、更には受信データに対するデータ処理効率の向上に資することができる。レジスタブロックRBLK0,RBLK1に代表される複数組のレジスタを通信チャネル毎に自由に使うことにより、テンポラリ受信バッファRDBUFに入力した受信データに対する処理のシーケンスを可変に設定することができる。
According to this, it is possible to confirm the reception data based on the result of previously comparing the reception data input to the temporary reception buffer RDBUF with the comparison target data, and to transfer only the necessary reception data to the communication channel buffer. It is not necessary to transfer all of the reception data input to the temporary reception buffer RDBUF to the corresponding communication channel buffer area on the
特に、制御レジスタ回路30Bが保有する割り込み要求ロジック(IRQLGC)50Bは図2の割り込み要求ロジック50に比べ、前記転送制御回路40Bが前記分岐条件設定レジスタDVGCNDREGの設定に従って所定のコンペアポイントメモリアドレスレジスタCMPPMAREGで設定されたアドレスに受信データの書き込みを完了したとき、CPU25に割り込みを要求する割り込み要求信号IRQとその割り込み要因を出力する機能が追加されている。これにより、CPU25はバッファメモリ32に書き込まれた受信データを割り込み要求の発生を待って参照することができ、又は、その割り込み要求に対応する割り込み要因に応じた割り込み処理を開始することが可能になる。
In particular, the interrupt request logic (IRQLGC) 50B possessed by the
更に、レジスタ回路30Bが保有するデータ転送要求ロジック(DREQLGC)51Bは図2のデータ転送要求ロジック51に比べ、前記転送制御回路51Bが前記分岐条件設定レジスタDVGCNDREGの設定に従って所定のコンペアポイントメモリアドレスレジスタCMPPMAREGで設定されたアドレスに受信データの書き込みを完了したとき、DMAC20にデータ転送要求信号DREQを出力する機能が追加されている。これにより、CPU25によるデータ転送処理を行わずに、データ転送要求を待ってDMA転送が起動されることにより必要な受信データをSDRAM4に転送する処理などを行うことができる。
Further, the data transfer request logic (DREQLGC) 51B held by the
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。 Although the invention made by the present inventor has been specifically described based on the embodiments, it is needless to say that the present invention is not limited thereto and can be variously modified without departing from the gist thereof.
例えば、実施の形態1から3を組み合わせて一つの半導体装置を実現することも可能である。 For example, a single semiconductor device can be realized by combining the first to third embodiments.
通信チャネルインタフェース回路は送受信別々のダブルバッファに限定されない。通信チャネルバッファ領域も同様である。それらの場合には、送受信タイミングに応じてダイナミックに機能切換えを行えばよい。 The communication channel interface circuit is not limited to double buffers for transmission and reception. The same applies to the communication channel buffer area. In those cases, the function may be switched dynamically according to the transmission / reception timing.
実施の形態2で説明した受信データに対するコンペア機能を備えたバスインタフェースのためのコンペアスタートメモリレジスタなどのレジスタは転送チャネル毎に設けてもよい。実施の形態3で説明したレジスタブロックRBLK0,RBLK1の数は2に限定されず、それ以上であってもよい。多いほど複雑な分岐条件の設定が可能になる。 A register such as a compare start memory register for a bus interface having a compare function for received data described in the second embodiment may be provided for each transfer channel. The number of register blocks RBLK0 and RBLK1 described in the third embodiment is not limited to two and may be more. As the number increases, more complex branch conditions can be set.
アドレス領域が設定されるアドレス領域指定レジスタはスタートアドレスとエンドアドレスで指定する構成に限定されず、スタートアドレス及び領域サイズで指定してもよい。 The address area designation register in which the address area is set is not limited to the configuration designated by the start address and the end address, but may be designated by the start address and the area size.
通信回路はSCIに限定されず、その他のシリアル通信を行う回路、更にはパラレル通信を行う通信回路などに用いる回路であってよい。 The communication circuit is not limited to the SCI, and may be a circuit used for another serial communication circuit or a parallel communication circuit.
バスインタフェース回路のコンペア機能に用いるレジスタ(CMPASREG,CMPEAREG,CMPDREG,CMPRSLTREG,CMPCUNTREG)は通信チャネル毎に設けてもよい。 Registers (CMPASREG, CMPEAREG, CMPDREG, CMPRSLTREG, CMPCUNREG) used for the compare function of the bus interface circuit may be provided for each communication channel.
1 マイクロコンピュータ(MCU)
28 内部バス
25 中央処理装置(CPU)
11 通信回路
10 通信用ブリッジ回路(COMBRDG)
20 ダイレクトメモリアクセスコントローラ(DMAC)
21 割り込みコントローラ(INTC)
31 バスインタフェース回路(BUSIF)
CH0〜CHn 通信チャネル
32 バッファメモリ(MRY)
33 通信インタフェース回路(COMIF)
30 レジスタ回路(CREG)
SCICLK シリアルクロック
TREG 送信レジスタ回路
RREG 受信レジスタ回路
40 転送制御回路(TRCNT)
RACUNT 受信用アドレスカウンタ
TACUNT 送信用アドレスカウンタ
TDBUF テンポラリ送信バッファ
CHIF0〜CHIF4 通信チャネルインタフェース回路
SYSCLK システムクロック
BSAREG スタートアドレスレジス
BEAREG エンドアドレスレジスタ
STREG ステータスレジスタ
CHBUF0_R 受信データ用の通信チャネルバッファ
CHBUF0_T 送信データ用の通信チャネルバッファ
IRQ 割り込み要求信号
50 割り込み要求ロジック(IRQLGC)
51 データ転送要求ロジック(DREQLGC)
60 タイミング制御回路(TMGC)
61 転送プロトコルロジック回路(PRTCL)
CMPDREG コンペアデータレジスタ
CMPSAREG コンペアスタートアドレスレジスタ
CMPEAREG コンペアエンドアドレスレジスタ
CMPRSLTREG コンペアリザルトレジスタ
CMPCUNTREG コンペアカウントレジスタ
CMPRDREG コンペアデータレジスタ
CMPPMAREG コンペアポイントメモリアドレスレジスタ
DVGCNDREG 分岐条件設定レジスタ
RBLK0、RBLK1 レジスタブロック
1 Microcomputer (MCU)
28
11
20 Direct memory access controller (DMAC)
21 Interrupt controller (INTC)
31 Bus interface circuit (BUSIF)
CH0 to
33 Communication interface circuit (COMIF)
30 register circuit (CREG)
SCICLK Serial clock TREG Transmission register circuit RREG
RACUNT reception address counter TACUNT transmission address counter TDBUF Temporary transmission buffer CHIF0 to CHIF4 Communication channel interface circuit SYSCLK System clock BSAREG Start address register BEAREG End address register STREG Status register CHBUF0_R Communication channel buffer for reception data CHBUF0_T Buffer IRQ interrupt
51 Data transfer request logic (DREQLGC)
60 Timing control circuit (TMGC)
61 Transfer Protocol Logic Circuit (PRTCL)
CMPDREG compare data register CMPSAREG compare start address register CMPEAREG compare end address register CMPRSLTREG compare result register CMPCUNTREG compare account register CMPRDREG compare data register CMPPMAREG compare point memory address register DVGCNDREG branch condition setting register RBLK0, RBL
Claims (18)
前記通信用ブリッジ回路は、前記内部バスに接続されるバスインタフェース回路と、前記バスインタフェース回路に接続され前記通信チャネルに一対一対応する通信チャネルバッファ領域が割り当てられるバッファメモリと、前記通信チャネルバッファ領域から対応する通信チャネルに与える送信データを読み出し且つ通信チャネルから与えられる受信データを対応する通信チャネルバッファ領域に書き込む制御を行う通信インタフェース回路と、前記バスインタフェース回路を介して前記通信チャネルバッファ領域の定義情報が設定され設定された定義情報を前記通信インタフェース回路に与えるレジスタ回路とを有する、半導体装置。 An internal bus, a central processing unit connected to the internal bus, a communication circuit having a plurality of communication channels, and a communication bridge circuit for connecting the communication circuit to the internal bus,
The communication bridge circuit includes a bus interface circuit connected to the internal bus, a buffer memory connected to the bus interface circuit and assigned with a communication channel buffer area corresponding to the communication channel on a one-to-one basis, and the communication channel buffer area A communication interface circuit for controlling transmission data to be read from the communication channel to the corresponding communication channel and writing reception data given from the communication channel to the corresponding communication channel buffer area, and defining the communication channel buffer area via the bus interface circuit A semiconductor device, comprising: a register circuit configured to set information and set definition information to the communication interface circuit.
前記レジスタ回路は、前記通信チャネル毎に、対応する通信チャネルバッファ領域のスタートアドレス及びエンドアドレスを定義するアドレスレジスタと、対応する前記通信チャネルインタフェース回路によって通信状態のステータス情報がセットされ前記中央処理装置によって参照可能にされるステータスレジスタとを有する、請求項1記載の半導体装置。 The communication interface circuit includes a communication channel interface circuit corresponding to the communication channel on a one-to-one basis, and a transfer control circuit for controlling data transfer between the communication channel interface circuit and the buffer memory.
The register circuit has an address register that defines a start address and an end address of a corresponding communication channel buffer area for each communication channel, and status information of a communication state is set by the corresponding communication channel interface circuit, and the central processing unit The semiconductor device according to claim 1, further comprising: a status register that can be referred to by:
前記レジスタ回路は更に、前記ステータスレジスタに保持されたステータス情報に応じて前記ダイレクトメモリアクセスコントローラにデータ転送要求を出力するデータ転送要求ロジックを有する、請求項2記載の半導体装置。 A direct memory access controller connected to the internal bus;
The semiconductor device according to claim 2, wherein the register circuit further includes a data transfer request logic that outputs a data transfer request to the direct memory access controller in accordance with status information held in the status register.
前記転送制御回路は、前記受信用アドレスカウンタの値に基づいて前記テンポラリ受信バッファから対応する前記通信チャネルバッファへのデータの書き込みと前記送信用アドレスカウンタの値に基づいて対応する前記通信チャネルバッファから前記テンポラリ送信バッファへのデータの読み出しとを制御し、
前記受信用アドレスカウンタ及び送信用アドレスカウンタには前記レジスタ回路からスタートアドレスが初期設定され、前記テンポラリ受信バッファから対応する前記通信チャネルバッファへのデータの書き込み毎に前記受信用アドレスカウンタの値が更新され、前記通信チャネルバッファから前記テンポラリ送信バッファへのデータの読み出し毎に前記送信用アドレスカウンタの値が更新される、請求項3記載の半導体装置。 The communication channel interface circuit includes a reception address counter and a transmission address counter that generate an access address for the buffer memory, a temporary reception buffer that holds communication data for each address count value by the reception address counter, and the transmission A temporary transmission buffer for holding transmission data for each address count value by the trusted address counter,
The transfer control circuit writes data from the temporary reception buffer to the corresponding communication channel buffer based on the value of the reception address counter, and from the corresponding communication channel buffer based on the value of the transmission address counter. Controlling the reading of data to the temporary transmission buffer;
The reception address counter and the transmission address counter are initialized with a start address from the register circuit, and the value of the reception address counter is updated each time data is written from the temporary reception buffer to the corresponding communication channel buffer. 4. The semiconductor device according to claim 3, wherein the value of the transmission address counter is updated each time data is read from the communication channel buffer to the temporary transmission buffer.
前記タイミング制御回路によって割り当てられた書き込みのタイミングスロットが訪れたとき対応する通信チャネルインタフェース回路のテンポラリ受信バッファがデータ保持状態のとき当該テンポラリ受信バッファから入力した受信データを受け取ってバッファメモリに書き込み、また、前記タイミング制御回路によって割り当てられた読み出しのタイミングスロットが到来したとき対応する通信チャネルインタフェース回路のテンポラリ送信バッファが空のときにバッファメモリから送信データを読み出して対応するテンポラリ送信バッファに転送する制御を行う転送プロトコルロジック回路と、を有する請求項6記載の半導体装置。 The transfer control circuit assigns the timing slots for writing data from the temporary reception buffer to the buffer memory in correspondence with all communication channels in a time-sequential manner, and assigns all timing slots for reading data from the buffer memory to the temporary transmission buffer. A timing control circuit that performs control to sequentially correspond to the communication channels in time division, and
When the write timing slot allocated by the timing control circuit arrives, when the temporary reception buffer of the corresponding communication channel interface circuit is in the data holding state, the reception data input from the temporary reception buffer is received and written to the buffer memory, or When the read timing slot allocated by the timing control circuit arrives, control is performed to read the transmission data from the buffer memory and transfer it to the corresponding temporary transmission buffer when the temporary transmission buffer of the corresponding communication channel interface circuit is empty. The semiconductor device according to claim 6, further comprising: a transfer protocol logic circuit for performing.
前記レジスタ回路は更に、前記コンペアカウントレジスタが保持する比較一致回数が所定回数に達したとき前記ダイレクトメモリアクセスコントローラにデータ転送要求を出力するデータ転送要求ロジックを有する、請求項12記載の半導体装置。 A direct memory access controller connected to the internal bus;
13. The semiconductor device according to claim 12, further comprising: a data transfer request logic that outputs a data transfer request to the direct memory access controller when the number of comparison matches held by the competition account register reaches a predetermined number.
前記通信チャネルインタフェース回路は、前記バッファメモリに対するアクセスアドレスを生成する受信用アドレスカウンタ及び送信用アドレスカウンタと、前記受信用アドレスカウンタによるアドレスカウント値毎に通信データを保持するテンポラリ受信バッファと、前記送信用アドレスカウンタによるアドレスカウント値毎に送信データを保持するテンポラリ送信バッファとを有し、
前記転送制御回路は、前記受信用アドレスカウンタの値に基づいて前記テンポラリ受信バッファから対応する前記通信チャネルバッファへのデータの書き込みと前記送信用アドレスカウンタの値に基づいて対応する前記通信チャネルバッファから前記テンポラリ送信バッファへのデータの読み出しとを制御すると共に、前記テンポラリ受信バッファに受信した受信データを比較対象データと比較し、比較結果に応じた受信データの通信チャネルバッファ領域への書き込み動作に遷移し、遷移された書き込み動作の結果をCPUに参照可能にする、請求項1記載の半導体装置。 The communication interface circuit includes a communication channel interface circuit corresponding to the communication channel on a one-to-one basis, and a transfer control circuit for controlling data transfer between the communication channel interface circuit and the buffer memory.
The communication channel interface circuit includes a reception address counter and a transmission address counter that generate an access address for the buffer memory, a temporary reception buffer that holds communication data for each address count value by the reception address counter, and the transmission A temporary transmission buffer for holding transmission data for each address count value by the trusted address counter,
The transfer control circuit writes data from the temporary reception buffer to the corresponding communication channel buffer based on the value of the reception address counter, and from the corresponding communication channel buffer based on the value of the transmission address counter. Controls the reading of data to the temporary transmission buffer, compares the received data received in the temporary reception buffer with the data to be compared, and transitions to the operation of writing the received data to the communication channel buffer area according to the comparison result The semiconductor device according to claim 1, wherein the transition result of the write operation can be referred to the CPU.
前記転送制御回路は、前記複数組のレジスタに設定された設定値に従って、受信データのうち所要の受信データを選択して前記バッファメモリに格納する拡張受信モードを有する、請求項15記載の半導体装置。 The control register circuit includes a compare data register in which comparison target data to be compared with reception data is set, and a compare in which a memory address to which reception data is written is set according to a comparison result between the reception data and the comparison target data A plurality of point memory address registers and a branch condition setting register in which an operation mode for received data received in the temporary reception buffer is set according to the comparison result;
The semiconductor device according to claim 15, wherein the transfer control circuit has an extended reception mode in which required reception data is selected from reception data and stored in the buffer memory in accordance with setting values set in the plurality of sets of registers. .
前記レジスタ回路は更に、前記転送制御回路が前記分岐条件設定レジスタの設定に従って所定のコンペアポイントメモリアドレスレジスタで設定されたアドレスに受信データの書き込みを完了したとき、前記ダイレクトメモリアクセスコントローラにデータ転送要求を出力するデータ転送要求ロジックを有する、請求項16記載の半導体装置。 A direct memory access controller connected to the internal bus;
The register circuit further requests a data transfer request to the direct memory access controller when the transfer control circuit completes writing received data to an address set by a predetermined compare point memory address register according to the setting of the branch condition setting register. The semiconductor device according to claim 16, further comprising a data transfer request logic that outputs
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011008903A JP2012150656A (en) | 2011-01-19 | 2011-01-19 | Semiconductor device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011008903A JP2012150656A (en) | 2011-01-19 | 2011-01-19 | Semiconductor device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012150656A true JP2012150656A (en) | 2012-08-09 |
Family
ID=46792843
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011008903A Withdrawn JP2012150656A (en) | 2011-01-19 | 2011-01-19 | Semiconductor device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012150656A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021536043A (en) * | 2018-12-10 | 2021-12-23 | 北京集創北方科技股▲ふん▼有限公司Chipone Technology (Beijing) Co., Ltd | Slave devices and methods for serial communication |
-
2011
- 2011-01-19 JP JP2011008903A patent/JP2012150656A/en not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021536043A (en) * | 2018-12-10 | 2021-12-23 | 北京集創北方科技股▲ふん▼有限公司Chipone Technology (Beijing) Co., Ltd | Slave devices and methods for serial communication |
JP7212637B2 (en) | 2018-12-10 | 2023-01-25 | 北京集創北方科技股▲ふん▼有限公司 | Slave device and method for serial communication |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5525971A (en) | Integrated circuit | |
JP7326586B2 (en) | Automatic read control system and method for SPI interface with hardware acceleration | |
US7054986B2 (en) | Programmable CPU/interface buffer structure using dual port RAM | |
US8396994B1 (en) | Command queue for peripheral component | |
US6907478B2 (en) | Systems and methods optimizing data transfer throughput of a system on chip | |
WO2005119465A1 (en) | Data processing unit and bus arbitration unit | |
US9015272B2 (en) | Microcomputer | |
US20040068590A1 (en) | Data processor | |
US6954869B2 (en) | Methods and apparatus for clock domain conversion in digital processing systems | |
TWI471731B (en) | Memory access method, memory access control method, spi flash memory device and spi controller | |
JP2008046771A (en) | Direct memory access controller | |
US7310717B2 (en) | Data transfer control unit with selectable transfer unit size | |
JP2012150656A (en) | Semiconductor device | |
US7673091B2 (en) | Method to hide or reduce access latency of a slow peripheral in a pipelined direct memory access system | |
US20150006765A1 (en) | Direct memory access descriptor-based synchronization | |
JP2723970B2 (en) | Data transfer control device | |
US8510478B2 (en) | Circuit comprising a microprogrammed machine for processing the inputs or the outputs of a processor so as to enable them to enter or leave the circuit according to any communication protocol | |
JP5621747B2 (en) | Multitask system | |
WO2002093392A1 (en) | Data processor | |
JPH06131294A (en) | Data transfer device | |
JP4174213B2 (en) | Control circuit | |
WO1994007202A1 (en) | Data processing apparatus | |
JP2002288115A (en) | Usb controller | |
JP2004013289A (en) | On-chip debugging method of microcontroller | |
JP2001265711A (en) | Device for transferring data and bus system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20140401 |