JP2010128793A - Bus clock control device, control method thereof and memory card controller - Google Patents

Bus clock control device, control method thereof and memory card controller Download PDF

Info

Publication number
JP2010128793A
JP2010128793A JP2008302802A JP2008302802A JP2010128793A JP 2010128793 A JP2010128793 A JP 2010128793A JP 2008302802 A JP2008302802 A JP 2008302802A JP 2008302802 A JP2008302802 A JP 2008302802A JP 2010128793 A JP2010128793 A JP 2010128793A
Authority
JP
Japan
Prior art keywords
bus
clock
frequency
master
arbiter
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
Application number
JP2008302802A
Other languages
Japanese (ja)
Inventor
Takayuki Mori
崇之 森
Masaaki Ikuta
正明 生田
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2008302802A priority Critical patent/JP2010128793A/en
Publication of JP2010128793A publication Critical patent/JP2010128793A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To achieve a smooth frequency change without disturbing a synchronizing state even when a clock frequency on a bus is changed and to obtain efficient bus operation. <P>SOLUTION: A bus clock control device includes: a plurality of bus masters 11, 21 having respectively different frequencies of operation clocks; a plurality of bus slaves 12, 22; a bus 100; a clock generation circuit 30 for obtaining a plurality of operation clocks having respectively different frequencies by using a reference block; and a bus arbiter 40 for controlling the clock generation circuit in response to bus use right request signals from the bus masters and sets operation clocks corresponding to the bus masters and the bus slaves. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

この発明はバスクロック制御装置とその制御方法とメモリカードコントローラに関するもので、特にバスアービタを利用して効率的なバス運用を得られるようにしたものである。   The present invention relates to a bus clock control device, a control method therefor, and a memory card controller. In particular, the bus clock arbiter is used to obtain an efficient bus operation.

データ処理プロセッサにおいて、複数のバス、複数のコントローラなどを構築した回路にあっては、バスの使用権を調停するアービタが設けられている(例えば特許文献1)。   In a circuit in which a plurality of buses, a plurality of controllers, etc. are constructed in a data processor, an arbiter for arbitrating the right to use the bus is provided (for example, Patent Document 1).

バスアービタは、高速処理を必要としない期間のクロック周波数を低くしたり、停止したりする。また動作させる必要の無いモジュールブロックへのクロックを停止させるという調停を行っている。   The bus arbiter lowers or stops the clock frequency during a period not requiring high-speed processing. Also, arbitration is performed to stop clocks to module blocks that do not need to be operated.

従来の装置では、第1のモジュールからこの第1のモジュールとはクロック周波数の違う第2のモジュールにバス権を移すとき、第1のモジュールの動作を停止させ、誤動作の危険がなくなってから、第2のモジュールへクロックを供給している。
特開2003−58271号公報
In the conventional apparatus, when the bus right is transferred from the first module to the second module having a clock frequency different from that of the first module, the operation of the first module is stopped, and the risk of malfunction is eliminated. A clock is supplied to the second module.
JP 2003-58271 A

この発明の目的は、バス上のクロック周波数が変化しても同期状態が乱れることなく円滑な周波数変更を実現でき、効率的なバス運用を得ることができるバスクロック制御装置とその制御方法とメモリカードコントローラを提供することにある。   An object of the present invention is to provide a bus clock control device, a control method thereof, and a memory capable of realizing a smooth frequency change without disturbing the synchronization state even when the clock frequency on the bus changes, and obtaining an efficient bus operation. To provide a card controller.

上記課題を解決するために、この発明に係る一実施の形態では、異なる周波数の動作クロックで動作するバスマスターと、前記異なる周波数で動作するバスマスターに対応した複数のバススレーブと、前記バスマスターと前記複数のバススレーブ間を接続する接続要素と、前記異なる周波数の動作クロックを選択的に得るクロック生成回路と、前記バスマスターからのバス使用権のリクエストに応答して前記クロック生成回路を制御し、バス使用権を取得した前記バスマスターと前記バススレーブに対して適応した動作クロック周波数を設定するバスアービタを有する。   In order to solve the above problems, in an embodiment according to the present invention, a bus master that operates with an operation clock having a different frequency, a plurality of bus slaves corresponding to the bus master that operates with the different frequency, and the bus master And a connection element for connecting the plurality of bus slaves, a clock generation circuit for selectively obtaining operation clocks of different frequencies, and controlling the clock generation circuit in response to a bus use right request from the bus master And a bus arbiter that sets an operation clock frequency adapted to the bus master and the bus slave that have acquired the right to use the bus.

上記の手段によると、クロック生成部から出力される複数のクロックは周波数が異なっても同期状態であり、いずれに切り替わってもバス上のバスクロックの同期が安定している。またバスマスターとバススレーブも同期して安定して動作する。   According to the above means, the plurality of clocks output from the clock generation unit are in a synchronized state regardless of the frequency, and the bus clock synchronization on the bus is stable regardless of which frequency is switched. The bus master and bus slave also operate stably in synchronization.

以下図面を参照して、この発明の実施の形態を説明する。図1にはこの発明の一実施の形態の基本回路構成を示している。100はバスであり、このバス100には第1のバスマスター11、この第1のバスマスター11に対応した第1のバススレーブ12が接続されている。さらにまたこのバス100には、第2のバスマスター21、この第2のバスマスター21に対応した第2のバススレーブ22が接続されている。なおバス100にはアドレスバス、データバスが含まれるものとする。   Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 shows a basic circuit configuration of an embodiment of the present invention. Reference numeral 100 denotes a bus. A first bus master 11 and a first bus slave 12 corresponding to the first bus master 11 are connected to the bus 100. Furthermore, a second bus master 21 and a second bus slave 22 corresponding to the second bus master 21 are connected to the bus 100. The bus 100 includes an address bus and a data bus.

上記の第1のバスマスター11は例えば中央処理演算ユニット(CPU)であり、第1のバススレーブ12は例えばレジスタである。第2のバスマスター21は例えばダイレクトメモリアクセスユニット(DMAユニット)であり、第2のバススレーブ22は例えばシステムメモリである。   The first bus master 11 is a central processing unit (CPU), for example, and the first bus slave 12 is a register, for example. The second bus master 21 is, for example, a direct memory access unit (DMA unit), and the second bus slave 22 is, for example, a system memory.

図では2つのバスマスター、2つのバススレーブを示したが、さらに多くにバスマスター及びバススレーブが存在してもよい。また図面ではバス100のみを示しているが、バスマスター、バススレーブなどを接続する要素としては、バス単体ではなく、途中にバッファ、インターフェースなどが介在してもよい。従って、バス100は、接続要素或いはバスを含む接続要素と表現してもよい。   Although two bus masters and two bus slaves are shown in the figure, more bus masters and bus slaves may exist. Although only the bus 100 is shown in the drawing, the elements for connecting the bus master, the bus slave, and the like are not limited to the bus alone, but a buffer, an interface, or the like may be interposed in the middle. Therefore, the bus 100 may be expressed as a connection element or a connection element including a bus.

30はクロック生成回路である。このクロック生成回路30は、基本クロックがバッファ増幅器を介してゲート回路301、302,303,304に入力されている。ゲート回路301−304は、それぞれゲート制御信号により制御され、基本クロックを分周した周波数が異なるクロックを出力することができる。ゲート回路301、302,303,304は、バッファを介して出力され、このバッファはクロックツリーを形成しており、それぞれのバスクロック(CLK_Aなど)が同期するように遅延調整を行っている。ゲート回路301、302,303,304のそれぞれの出力(動作クロック)の設定は、オア回路OR1−OR4を介して入力されるゲート制御信号GATE_M0,GATE_S1,GATE_C,GATE_S0により制御される。ゲート制御信号GATE_M0,GATE_S1,GATE_C,GATE_S0はバスアービタ40から出力されている。   Reference numeral 30 denotes a clock generation circuit. In the clock generation circuit 30, a basic clock is input to the gate circuits 301, 302, 303, and 304 via a buffer amplifier. Each of the gate circuits 301 to 304 is controlled by a gate control signal, and can output clocks having different frequencies obtained by dividing the basic clock. The gate circuits 301, 302, 303, and 304 are output via a buffer, and this buffer forms a clock tree, and delay adjustment is performed so that each bus clock (CLK_A or the like) is synchronized. The settings of the outputs (operation clocks) of the gate circuits 301, 302, 303, and 304 are controlled by gate control signals GATE_M0, GATE_S1, GATE_C, and GATE_S0 that are input via the OR circuits OR1-OR4. Gate control signals GATE_M0, GATE_S1, GATE_C, and GATE_S0 are output from the bus arbiter 40.

なおゲート回路301、302,303,304のそれぞれの出力(動作クロック)のオンオフは、バスアービタ40からのゲート制御信号GATE_M0,GATE_S1,GATE_C,GATE_S0だけでなく、必要に応じて他の回路からのゲート制御信号により制御されてもよい。   Note that the ON / OFF of the outputs (operation clocks) of the gate circuits 301, 302, 303, and 304 is not only the gate control signals GATE_M0, GATE_S1, GATE_C, and GATE_S0 from the bus arbiter 40, but also gates from other circuits as necessary. It may be controlled by a control signal.

ゲート回路303からのクロックCLK_Cは、第1のバスマスター11に供給され、ゲート回路304からのクロックCLK_S0は、第1のバススレーブ12に供給される。ゲート回路301からのクロックCLK_M0は、第2のバスマスター21に供給され、ゲート回路302からのクロックCLK_S1は、第2のバススレーブ22に供給される。   The clock CLK_C from the gate circuit 303 is supplied to the first bus master 11, and the clock CLK_S 0 from the gate circuit 304 is supplied to the first bus slave 12. The clock CLK_M0 from the gate circuit 301 is supplied to the second bus master 21, and the clock CLK_S1 from the gate circuit 302 is supplied to the second bus slave 22.

ゲート制御信号GATE_M0,GATE_S1,GATE_C,GATE_S0は、バスアービタ40から出力される。ここでバスアービタ40は、バス100に接続されており、バスマスターとバススレーブの組み合わせ情報であるテーブルを有する。つまりバスマスターとこのバスマスターに対応したバススレーブを認識している。さらにまた、各バスマスター及びバススレーブに対して必要な動作周波数、つまり供給すべき動作クロックも認識している。   The gate control signals GATE_M0, GATE_S1, GATE_C, and GATE_S0 are output from the bus arbiter 40. Here, the bus arbiter 40 is connected to the bus 100 and has a table which is combination information of a bus master and a bus slave. That is, the bus master and the bus slave corresponding to the bus master are recognized. Furthermore, the operation frequency necessary for each bus master and bus slave, that is, the operation clock to be supplied is recognized.

バスアービタ40には、バスマスター11、バスマスター21からバス使用権を要求するリクエスト信号REQ_C、REQ_M0が供給される。またバスアービタ40に対しては、クロック生成回路30から本装置の中で最も周波数の高いクロックCLK_Aが供給されている。バスアービタ40は、このクロックCLK_Aに基づいて動作する。   The bus arbiter 40 is supplied with request signals REQ_C and REQ_M0 for requesting the right to use the bus from the bus master 11 and the bus master 21. The bus arbiter 40 is supplied with the clock CLK_A having the highest frequency in the present apparatus from the clock generation circuit 30. The bus arbiter 40 operates based on this clock CLK_A.

バスアービタ40は、固定プライオリティー方式或いはラウンドロビン方式等のアルゴリズムを用い、複数のバスマスターがバスアクセスの要求を出したとき、一度に1つのバスマスターが選択されバス使用権を得るように調整制御を行う。   The bus arbiter 40 uses an algorithm such as a fixed priority method or a round robin method, and when a plurality of bus masters issue a bus access request, adjustment control is performed so that one bus master is selected at a time and the right to use the bus is obtained. I do.

ここで例えばバスマスター21がバス使用権を得られとする。バスマスター21はバスアクセスを行い、アドレスを発行し例えばバススレーブ22を選択する。すると、バスアービタ40は、バスマスター21とバススレーブ22の組み合わせから、そのパスが例えば高速クロックが必要であると判断した場合、対応するゲート回路301,302を制御する。これによりバスマスター21とバススレーブ22には、それぞれバスクロックCLK_M0、CLK_S1の高速クロックの供給が開始される。この機能は、バスマスター21がDMA,バススレーブ22がシステムメモリのような場合に好適し、高速で大量にデータ転送を行う場合に利用される。   Here, for example, it is assumed that the bus master 21 has the right to use the bus. The bus master 21 performs bus access, issues an address, and selects, for example, the bus slave 22. Then, when the bus arbiter 40 determines from the combination of the bus master 21 and the bus slave 22 that the path requires, for example, a high-speed clock, the bus arbiter 40 controls the corresponding gate circuits 301 and 302. As a result, supply of the high-speed clocks of the bus clocks CLK_M0 and CLK_S1 to the bus master 21 and the bus slave 22 is started. This function is suitable when the bus master 21 is a DMA and the bus slave 22 is a system memory, and is used when a large amount of data is transferred at high speed.

また、今バスマスター11がバス使用権を得たとする。このときバスマスター11がバスアクセスを行い、アドレスを発行し例えばバススレーブ12を選択したとする。すると、バスアービタ40は、バスマスター11とバススレーブ12の組み合わせから、そのパスが例えば低速クロックが必要であると判断した場合、対応するゲート回路303,304を制御する。これによりバスマスター11とバススレーブ12には、それぞれバスクロックCLK_C、CLK_S0の低速クロックの供給が開始される。この機能は、バスマスター11がCPU,バススレーブ12がレジスタのような高速動作を必要としない場合に好適し、CPUからレジスタデータをレジスタに転送することができる。   It is also assumed that the bus master 11 has obtained the right to use the bus. At this time, the bus master 11 accesses the bus, issues an address, and selects the bus slave 12, for example. Then, if the bus arbiter 40 determines from the combination of the bus master 11 and the bus slave 12 that the path requires, for example, a low-speed clock, it controls the corresponding gate circuits 303 and 304. As a result, supply of the low-speed clocks of the bus clocks CLK_C and CLK_S0 to the bus master 11 and the bus slave 12 is started. This function is suitable when the bus master 11 does not require a high-speed operation such as a CPU and the bus slave 12 does not require a register, and register data can be transferred from the CPU to the register.

バスアービタ40は、クロックのゲート制御信号を生成しているために、バスにアクセスが無い状態ではシステムに問題が起こらない範囲でバスマスター及びバススレーブのクロックを停止若しくはクロックの周波数を変更することが可能である。   Since the bus arbiter 40 generates the clock gate control signal, the bus master and bus slave clocks may be stopped or the clock frequency may be changed within a range in which no problem occurs in the system when the bus is not accessed. Is possible.

図2には、上記した装置の一動作例を説明するためのタイミングチャートを示している。CLK_Aはクロックツリー後のクロックであり最も周波数の高いクロックであり、バスアービタ40に供給される。   FIG. 2 shows a timing chart for explaining an operation example of the above-described apparatus. CLK_A is the clock after the clock tree and has the highest frequency, and is supplied to the bus arbiter 40.

GATE_C/S0は、バスマスター(CPU)11とバススレーブ(レジスタ)12に供給されるゲート制御信号である。CKL_C/S0は、バスマスター(CPU)11とバススレーブ(レジスタ)12に供給される動作クロックである。   GATE_C / S 0 is a gate control signal supplied to the bus master (CPU) 11 and the bus slave (register) 12. CKL_C / SO is an operation clock supplied to the bus master (CPU) 11 and the bus slave (register) 12.

また、GATE_M0/S1は、バスマスター(DMA)21とバススレーブ(システムメモリ)22に供給されるゲート制御信号である。CKL_M0/S1は、バスマスター(DMA)21とバススレーブ(システムメモリ)22に供給される動作クロックである。クロックCLK_Aに時点t1−t17を付して、動作例を説明する。   GATE_M0 / S1 is a gate control signal supplied to the bus master (DMA) 21 and the bus slave (system memory) 22. CKL_M0 / S1 is an operation clock supplied to the bus master (DMA) 21 and the bus slave (system memory) 22. An example of operation will be described with time t1-t17 added to the clock CLK_A.

今、時点t1から時点t5まででバスマスター11がリクエスト信号REQ_Cを出力したとする。バスアービタ40は、時点t1から例えば2個目のクロックCLK_Aが出力した時点t3からグラント信号GRANT_Cを出力する。しかし、時点t5でリクエスト信号がキャンセルされたので、同時にグラント信号GRANT_Cもキャンセルする。   Now, it is assumed that the bus master 11 outputs the request signal REQ_C from time t1 to time t5. The bus arbiter 40 outputs the grant signal GRANT_C from time t3 when, for example, the second clock CLK_A is output from time t1. However, since the request signal is canceled at time t5, the grant signal GRANT_C is also canceled at the same time.

また、時点t1から時点t5まででバスマスター21がリクエスト信号REQ_M0を出力したとする。バスアービタ40は、時点t3から例えば2個目のクロックCLK_Aが出力した時点t5で、グラント信号GRANT_Cがキャンセされているので、今度はバススレーブ22に対するグラント信号GRANT_M0を出力する。リクエスト信号及びグラント信号は、各バスマスターとバスアービタ40がやり取りする信号である。そしてグラント信号は、上記したように対応するリクエスト信号がキャンセルされると同時にキャンセルされる関係にある。   Further, it is assumed that the bus master 21 outputs the request signal REQ_M0 from time t1 to time t5. The bus arbiter 40 outputs the grant signal GRANT_M0 for the bus slave 22 since the grant signal GRANT_C is canceled at the time t5 when the second clock CLK_A is output from the time t3, for example. The request signal and the grant signal are signals exchanged between each bus master and the bus arbiter 40. The grant signal has a relationship of being canceled at the same time as the corresponding request signal is canceled as described above.

次に図2のB_ADDRとB_DATAは、バス100(アドレスバスとデータバス)上のアドレスとデータを意味する。グラント信号が出力されると、バス使用権を得たバスマスターは、グラント信号の発生時点から2個目のクロックCLK_Aが出力した時点で、対応するバススレーブのアドレスを出力し、つづいて、対応するバススレーブに対するデータを出力する。   Next, B_ADDR and B_DATA in FIG. 2 mean addresses and data on the bus 100 (address bus and data bus). When the grant signal is output, the bus master that has obtained the right to use the bus outputs the address of the corresponding bus slave when the second clock CLK_A is output from the time when the grant signal is generated. The data for the bus slave to be output is output.

図2の例である時点t5から時点t7の間に、バスマスター11がバススレーブ(レジスタ)12に対するアドレスを出力して指定を行い、次に時点t7から時点t9までの間にデータを出力するタイミングとなっている。しかしこの例では、時点t5でバスマスター21がバス使用権得ているために、時点t7で対応するバススレーブ22を指定するアドレスをアドレスバスに出力し、つづいて時点t9からバススレーブ22に対するデータを出力している。またバススレーブ22に対するアドレスも出力している。バスマスター21がバス使用権を確保し、データ出力を開始すると、高速動作期間に移行している。バスマスター11がバス使用権を有する期間は低速動作期間である。またリクエスト信号及びグラント信号が何ら存在しないときは、低速動作モードあるあるいは動作クロックの停止状態に設定してもよい。   In the example of FIG. 2, the bus master 11 outputs and designates an address for the bus slave (register) 12 between time t5 and time t7, and then outputs data between time t7 and time t9. It is timing. However, in this example, since the bus master 21 has obtained the right to use the bus at the time t5, the address designating the corresponding bus slave 22 is output to the address bus at the time t7, and then the data for the bus slave 22 from the time t9. Is output. The address for the bus slave 22 is also output. When the bus master 21 secures the right to use the bus and starts data output, the high-speed operation period starts. The period during which the bus master 11 has the bus use right is a low-speed operation period. When there is no request signal or grant signal, the low-speed operation mode may be set or the operation clock may be stopped.

図3には、上記の装置の動作をフローチャートで示している。バスマスターからリクエスト信号があると、所定のアルゴリズムに従って、バスマスターを特定し、特定したバスマスターに対してバス使用権を与えるためのグラント信号を発行する(ステップSA1,SA2)。さらに、クロック生成回路30を制御して特定したバスマスターと、これに対応するバススレーブに対する動作クロックを設定する(ステップSA3)。   FIG. 3 is a flowchart showing the operation of the above apparatus. When there is a request signal from the bus master, the bus master is specified according to a predetermined algorithm, and a grant signal for giving the bus use right to the specified bus master is issued (steps SA1 and SA2). Further, an operation clock is set for the bus master specified by controlling the clock generation circuit 30 and the bus slave corresponding thereto (step SA3).

この場合グラント信号を発行後、すぐにクロック制御を行うわけではなく、前にバスを使用しているマスターがいない場合(切り替えタイミングはt5)若しくは前にバスを使用しているマスターのデータフェーズが終わった場合(切り替えタイミングはt9)に、クロックを切り替えることができる。リクエスト信号がキャンセルされた場合は、グラント信号もキャンセルし(ステップSA4)、低速動作期間に移行する(ステップSA5)。この場合グラント信号のキャンセル後、すぐに低速動作に移行するのではなく、バスを使用できるマスターのアドレスフェーズが終わり、次のバスを使用するマスターとスレーブの組み合わせが高速動作に対応していない若しくは次にバスを使用するマスターがいない場合に、低速動作期間に移行する。   In this case, the clock control is not performed immediately after issuing the grant signal, and if there is no master using the bus before (switching timing is t5) or the data phase of the master using the bus before When finished (switching timing is t9), the clock can be switched. If the request signal is canceled, the grant signal is also canceled (step SA4), and the process proceeds to the low speed operation period (step SA5). In this case, after canceling the grant signal, the master does not shift to the low speed operation immediately, but the address phase of the master that can use the bus ends, and the combination of the master and the slave that uses the next bus does not support high speed operation. Next, when there is no master that uses the bus, the low-speed operation period starts.

上記の回路構成であると、クロック生成部から出力される複数のクロックは周波数が異なっても同期状態であり、いずれに切り替わってもバス上のバスクロックの同期が安定している。またバスマスターとバススレーブも同期して安定して動作する。   With the above circuit configuration, the plurality of clocks output from the clock generation unit are in a synchronized state regardless of the frequency, and the bus clock on the bus is stably synchronized regardless of the frequency. The bus master and bus slave also operate stably in synchronization.

図4には、上記した本発明を適用したSDカードコントローラ400を示している。   FIG. 4 shows an SD card controller 400 to which the present invention is applied.

SDカードコントローラ400は、SD(Secure Digital)カードに対してデータを書き込む、コマンドを設定する、またSDカードのデータを消去、データを取り出すなどの処理を遂行することができる。 The SD card controller 400 can perform processing such as writing data to an SD (Secure Digital) card, setting a command, erasing data from the SD card, and retrieving data.

なおSDカードコントローラと称しているが、メモリカードコントローラであっても本発明の範疇である。そしてメモリカードコントローラは、メモリカード600の着脱部、パーソナルコンピュータ500への接続部を有する。SDカードコントローラ400は、バス100を含む。バス100にはPCIコントローラ401が接続されている。   Although referred to as an SD card controller, even a memory card controller is within the scope of the present invention. The memory card controller has a memory card 600 attachment / detachment unit and a connection unit to the personal computer 500. The SD card controller 400 includes a bus 100. A PCI controller 401 is connected to the bus 100.

さらにSDカードコントローラ400のバス100にはバスマスターとしてのDMAユニット21、バススレーブとしてのレジスタ12、そしてバスクロック調停を行うアービタ40が接続されている。   Further, a DMA unit 21 as a bus master, a register 12 as a bus slave, and an arbiter 40 that performs bus clock arbitration are connected to the bus 100 of the SD card controller 400.

アービタ40は、クロック生成回路30を制御し、図1で説明したようにバスマスターとバススレーブに対して適切な周波数の動作クロックを設定することができる。   The arbiter 40 controls the clock generation circuit 30 and can set an operation clock having an appropriate frequency for the bus master and the bus slave as described with reference to FIG.

レジスタ12及びDMAユニット21は、バッファ回路411、インターフェース412を介して、SDカード600とデータのやり取りを行うことができる。   The register 12 and the DMA unit 21 can exchange data with the SD card 600 via the buffer circuit 411 and the interface 412.

PCIコントローラ401は、SDカードコントローラ400とパーソナルコンピュータ500とを接続するインターフェースとして機能する。このときは、PCIコントローラ401は、PCI規格のソフトウエアとしてのデバイスドライバに基づいて動作し、パーソナルコンピュータ500内のCPU502やシステムメモリ503をアクセスし、データやり取りを行うことが可能となる。通常はCPU502やシステムメモリ503はPCIバス501とは繋がっていないが、デバイスドライバによるアクセスがあったときにPCIバス501と関連するようになる。   The PCI controller 401 functions as an interface for connecting the SD card controller 400 and the personal computer 500. At this time, the PCI controller 401 operates based on a device driver as PCI standard software, and can access the CPU 502 and the system memory 503 in the personal computer 500 to exchange data. Normally, the CPU 502 and the system memory 503 are not connected to the PCI bus 501 but are related to the PCI bus 501 when accessed by a device driver.

一方、PCIコントローラ401は、バスマスターとして動作することも可能であり、またバススレーブとして動作することも可能である。   On the other hand, the PCI controller 401 can operate as a bus master, and can also operate as a bus slave.

即ち今,PCIコントローラ401がバス使用権をリクエストしグラントによりバス使用権を得ることができる(バスマスターとして機能)。この時レジスタ12に対してデータ転送を行う場合、アービタ40は、クロック生成回路30を制御して、PCIコントローラ401と、レジスタ12(バススレーブとして機能)に低速クロックを供給する。これによりPCIコントローラ401、レジスタ12間の低速のデータ交信が行われる。   In other words, the PCI controller 401 can request the right to use the bus and obtain the right to use the bus by grant (function as a bus master). At this time, when data is transferred to the register 12, the arbiter 40 controls the clock generation circuit 30 to supply a low-speed clock to the PCI controller 401 and the register 12 (functioning as a bus slave). Thereby, low-speed data communication between the PCI controller 401 and the register 12 is performed.

次に、DMA21がバス使用権をリクエストしグラントによりバス使用権を得ることができる(バスマスターとして機能)。この時レジスタ12に対してデータ転送を行う場合、アービタ40は、クロック生成回路30を制御して、PCIコントローラ401(バススレーブとして機能)と、DMA21に高速クロックを供給する。これによりDMA21、PCIコントローラ401間で高速のデータ交信が行われる。   Next, the DMA 21 can request the right to use the bus and obtain the right to use the bus by grant (function as a bus master). At this time, when data is transferred to the register 12, the arbiter 40 controls the clock generation circuit 30 to supply a high-speed clock to the PCI controller 401 (functioning as a bus slave) and the DMA 21. As a result, high-speed data communication is performed between the DMA 21 and the PCI controller 401.

バスアービタ40は、複数の動作クロックのうち最も高い周波数のクロックを動作クロックとしている。そしてバスアービタ40は、リクエスト信号が無い場合、複数の動作クロックを停止状態若しくは最も低い低周波に設定する。リクエスト信号が無いことを判定する場合は、一定期間を監視し一定期間待ってもリクエスト信号が無い場合に停止を含めた低周波に設定する。   The bus arbiter 40 uses a clock having the highest frequency among a plurality of operation clocks as an operation clock. When there is no request signal, the bus arbiter 40 sets a plurality of operation clocks to a stopped state or the lowest low frequency. When it is determined that there is no request signal, a certain period is monitored, and if there is no request signal even after waiting for a certain period, a low frequency including a stop is set.

上記のような処理が実行されるときに本発明の方法及び装置であると、バスマスター及びバススレーブの組み合わせに適応して、低速周波数、高速周波数のバスクロックを切替えることができる。このとき、バス上のデータやアドレスが安全に同期して切り替わり、ハングアップなどの障害を生じにくくなっている。   When the above-described processing is executed, the method and apparatus of the present invention can switch between the low-speed and high-frequency bus clocks in accordance with the combination of the bus master and the bus slave. At this time, data and addresses on the bus are switched in synchronism in a safe manner, and troubles such as hang-up are less likely to occur.

なお、この発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。   Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. Further, various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, you may combine suitably the component covering different embodiment.

この発明の基本構成を示すブロック構成図である。It is a block block diagram which shows the basic composition of this invention. 図1の回路の動作例を説明するためのタイミングチャートである。3 is a timing chart for explaining an operation example of the circuit of FIG. 1. この発明の回路の動作例を説明するために示したフローチャートである。3 is a flowchart shown for explaining an operation example of the circuit of the present invention. この発明が適用された装置の構成例を示すブロック構成図である。It is a block block diagram which shows the structural example of the apparatus with which this invention was applied.

符号の説明Explanation of symbols

11・・・バスマスター(CPU,12・・・バススレーブ(レジスタ)、21・・・バスマスター(DMA),22・・・バススレーブ(システムメモリ)、30・・・クロック生成回路、40・・・バスアービタ、100・・・バス。 DESCRIPTION OF SYMBOLS 11 ... Bus master (CPU, 12 ... Bus slave (register), 21 ... Bus master (DMA), 22 ... Bus slave (system memory), 30 ... Clock generation circuit, 40. ..Bus arbiter, 100 ... Bus.

Claims (9)

少なくとも第1および第2の異なる周波数の動作クロックで動作するバスマスターと、
前記異なる周波数で動作するバスマスターに対応した複数のバススレーブと、
前記バスマスターと前記複数のバススレーブ間を接続する接続要素と、
前記異なる周波数の動作クロックを選択的に得るクロック生成回路と、
前記バスマスターからのバス使用権のリクエストに応答して前記クロック生成回路を制御し、バス使用権を取得した前記バスマスターと前記バススレーブに対して適応した動作クロック周波数を設定するバスアービタを有することを特徴とするバスクロック制御装置。
A bus master that operates with an operating clock of at least first and second different frequencies;
A plurality of bus slaves corresponding to the bus masters operating at the different frequencies;
A connection element connecting the bus master and the plurality of bus slaves;
A clock generation circuit that selectively obtains operation clocks of different frequencies;
A bus arbiter that controls the clock generation circuit in response to a bus use right request from the bus master and sets an operation clock frequency adapted to the bus master and the bus slave that have acquired the bus use right; A bus clock control device.
前記バスアービタは、前記複数の動作クロックのうち最も高い周波数のクロックを動作クロックとしていることを特徴とする請求項1記載のバスクロック制御装置。 2. The bus clock controller according to claim 1, wherein the bus arbiter uses a clock having the highest frequency among the plurality of operation clocks as an operation clock. 前記バスアービタは、前記リクエスト信号が無い場合、前記複数の動作クロックを停止または低速周波数状態に切替えることを特徴とする請求項1記載のバスクロック制御装置。 2. The bus clock control device according to claim 1, wherein the bus arbiter stops or switches the plurality of operation clocks to a low-speed frequency state when there is no request signal. 前記異なる周波数の動作クロックは、低速周波動作クロックと、高速周波動作クロックを含むことを特徴とする請求項1記載のバスクロック制御装置。 2. The bus clock control apparatus according to claim 1, wherein the operation clocks having different frequencies include a low-frequency operation clock and a high-frequency operation clock. メモリカードの着脱部、パーソナルコンピュータへの接続部を有したメモリカードコントローラにおいて、
複数の周波数の動作クロックで駆動可能なPCIコントローラと、
第1の周波数の動作クロックで駆動され、前記PCIコントローラをバスマスターとし動作するレジスタと、
第2の周波数の動作クロックで駆動され、前記PCIコントローラをバススレーブとして動作するダイレクトメモリアクセスユニットと、
クロックツリーの前記第1及び第2の周波数の動作クロックを選択的に得るバスクロック生成回路と、
前記PCIコントローラまたはダイレクトメモリアクセスユニットからのバス使用権のリクエストに応答して前記クロック生成回路を制御し、前記第1又は第2の周波数の動作クロックをバスクロックとして設定するバスアービタを有することを特徴とするメモリカードコントローラ。
In a memory card controller having a memory card attachment / detachment unit and a connection unit to a personal computer,
A PCI controller that can be driven by operation clocks of multiple frequencies;
A register driven by an operation clock of a first frequency and operating with the PCI controller as a bus master;
A direct memory access unit that is driven by an operation clock of a second frequency and operates with the PCI controller as a bus slave;
A bus clock generation circuit for selectively obtaining operation clocks of the first and second frequencies of the clock tree;
A bus arbiter configured to control the clock generation circuit in response to a bus use right request from the PCI controller or the direct memory access unit, and to set the operation clock of the first or second frequency as a bus clock; And memory card controller.
前記メモリカードは、SD(セキュア・デジタル)カードであることを特徴とする請求項5記載のメモリカードコントローラ。 6. The memory card controller according to claim 5, wherein the memory card is an SD (Secure Digital) card. 前記バスアービタは、前記複数の動作クロックのうち最も高い周波数のクロックを動作クロックとしていることを特徴とする請求項5記載のメモリカードコントローラ。 6. The memory card controller according to claim 5, wherein the bus arbiter uses a clock having the highest frequency among the plurality of operation clocks as an operation clock. 前記バスアービタは、前記リクエスト信号が無い場合、前記複数の動作クロックを停止または低速周波数状態に切替えることを特徴とする請求項5記載のメモリカードコントローラ。 6. The memory card controller according to claim 5, wherein when there is no request signal, the bus arbiter stops or switches the plurality of operation clocks to a low-speed frequency state. 異なる周波数の動作クロックで動作するバスマスターと、前記異なる周波数で動作するバスマスターに対応した複数のバススレーブと、前記バスマスターと前記複数のバススレーブ間を接続する接続要素と、を有した回路に対して、異なる周波数の前記動作クロックを得るクロック生成回路を設け、バスアービタにより、バスクロックを制御する方法であって、
前記バスマスターからのバス使用権のリクエストに応答して前記クロック生成回路を制御し、
バス使用権を取得した前記バスマスターと前記バススレーブに対して適応した動作クロック周波数を設定することを特徴とするバスクロック制御方法。
A circuit comprising: a bus master that operates with an operation clock having a different frequency; a plurality of bus slaves corresponding to the bus master that operates with the different frequency; and a connection element that connects between the bus master and the plurality of bus slaves. In contrast, a clock generation circuit for obtaining the operation clock of different frequencies is provided, and a bus clock is controlled by a bus arbiter,
Controlling the clock generation circuit in response to a bus use right request from the bus master;
A bus clock control method, comprising: setting an operation clock frequency adapted to the bus master and the bus slave that have acquired the right to use the bus.
JP2008302802A 2008-11-27 2008-11-27 Bus clock control device, control method thereof and memory card controller Withdrawn JP2010128793A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008302802A JP2010128793A (en) 2008-11-27 2008-11-27 Bus clock control device, control method thereof and memory card controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008302802A JP2010128793A (en) 2008-11-27 2008-11-27 Bus clock control device, control method thereof and memory card controller

Publications (1)

Publication Number Publication Date
JP2010128793A true JP2010128793A (en) 2010-06-10

Family

ID=42329141

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008302802A Withdrawn JP2010128793A (en) 2008-11-27 2008-11-27 Bus clock control device, control method thereof and memory card controller

Country Status (1)

Country Link
JP (1) JP2010128793A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110008171A (en) * 2019-03-05 2019-07-12 浙江大学 A kind of Bus Clock Rate dynamic switching device of system on chip

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110008171A (en) * 2019-03-05 2019-07-12 浙江大学 A kind of Bus Clock Rate dynamic switching device of system on chip

Similar Documents

Publication Publication Date Title
US7277976B2 (en) Multilayer system and clock control method
JP4182801B2 (en) Multi-processor system
JP2003006143A (en) System, device and method of sharing bus
JP2007133527A (en) Clock signal generation circuit, semiconductor integrated circuit, and frequency-division rate control method
JP3954011B2 (en) Method and computer system for communicating between subsystems
JP2012008919A (en) Information processing device
JP3665030B2 (en) Bus control method and information processing apparatus
JPH06231074A (en) Multiple access system for system bus
JP2007048022A (en) Asynchronous bus interface and its processing method
WO2007105376A1 (en) Integrated circuit, and integrated circuit system
JP5058890B2 (en) Bus control device
JP2010128793A (en) Bus clock control device, control method thereof and memory card controller
JP2008140065A (en) Access arbitration device, access arbitration method and information processor
JP4477380B2 (en) Multi-layer system and clock control method
JP4245852B2 (en) Direct memory access device
JP4124579B2 (en) Bus control system
JP2009003633A (en) Information processor
JP5528939B2 (en) Microcomputer
JP4633334B2 (en) Information processing apparatus and memory access arbitration method
JP2005346513A (en) Semiconductor device
JP4887044B2 (en) Semiconductor integrated circuit device
JP2003345455A (en) Data processor
JP2010003039A (en) Cpu operation clock-synchronized plc bus system
JP2008165463A (en) Bus controller
JP2003091501A (en) Information processing device

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: 20120207