JP2008293230A - Data transfer device - Google Patents
Data transfer device Download PDFInfo
- Publication number
- JP2008293230A JP2008293230A JP2007137385A JP2007137385A JP2008293230A JP 2008293230 A JP2008293230 A JP 2008293230A JP 2007137385 A JP2007137385 A JP 2007137385A JP 2007137385 A JP2007137385 A JP 2007137385A JP 2008293230 A JP2008293230 A JP 2008293230A
- Authority
- JP
- Japan
- Prior art keywords
- data
- control unit
- master device
- state
- data transfer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012546 transfer Methods 0.000 title claims abstract description 70
- 230000005540 biological transmission Effects 0.000 claims abstract description 23
- 238000012545 processing Methods 0.000 claims abstract description 8
- 238000001514 detection method Methods 0.000 claims description 20
- 230000002411 adverse Effects 0.000 abstract description 5
- 230000007704 transition Effects 0.000 description 19
- 238000006243 chemical reaction Methods 0.000 description 9
- 238000012790 confirmation Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000000034 method Methods 0.000 description 3
- 230000006854 communication Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000013481 data capture Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Power Sources (AREA)
- Information Transfer Systems (AREA)
Abstract
Description
本発明は、I2C(Inter Integrated Circuit)バスに接続して用いるデータ転送装置に関し、特に、I2Cバスに接続されたマスターデバイスからの制御に従い、スレーブデバイスとして動作するデータ転送装置に関する。 The present invention relates to a data transfer apparatus used by connecting to an I2C (Inter Integrated Circuit) bus, and more particularly to a data transfer apparatus that operates as a slave device in accordance with control from a master device connected to an I2C bus.
複数のデバイス間で双方向の通信を行うためのバス形式として、フィリップス(Philips)社によって開発されたI2Cバスと呼ばれるバス形式が知られている。このI2Cバスは、クロック供給ラインであるSCL(serial clock line)と、データ転送ラインであるSDA(serial data line)とによる単純な双方向2線式バスで構成されている。I2Cバスには、複数のデバイスを接続することが可能であり、I2Cバスに接続された複数のデバイスのうち、マスターデバイスとして機能するデバイスが他のデバイスにクロックを供給して全体のデータ通信状態を制御する。 As a bus format for bidirectional communication between a plurality of devices, a bus format called I2C bus developed by Philips is known. The I2C bus is composed of a simple bidirectional two-wire bus having a clock supply line SCL (serial clock line) and a data transfer line SDA (serial data line). A plurality of devices can be connected to the I2C bus. Among the plurality of devices connected to the I2C bus, a device functioning as a master device supplies a clock to other devices to change the entire data communication state. Control.
図4は、I2Cバスシステムの構成例を示す図である。同図に示すように、I2Cバス50のSDA51及びSCL52には、複数のデバイス53〜56が接続され、各デバイスは、データ通信の制御権限を有するマスター状態、又はマスターデバイスの制御に従って動作するスレーブ状態の何れかの状態に設定される。また、スレーブ状態になったデバイスには、各々、固有のスレーブアドレスが設定される。尚、図4では、デバイス53、54、56がスレーブ状態であり、デバイス55がマスター状態である場合を示している。
FIG. 4 is a diagram illustrating a configuration example of the I2C bus system. As shown in the figure, a plurality of
そして、上記の状態において、マスターデバイス55が、データを送受信したいスレーブデバイスのスレーブアドレスと、データの送信方向(Write又はRead)を指定する情報とを、SDA51を通じて送出することにより、指定されたスレーブデバイスとマスターデバイス55との間でデータ転送が開始される(例えば、特許文献1参照)。
Then, in the above state, the
図5は、従来のスレーブデバイスの状態遷移を示す図である。リセット又はデータ転送の終了が行われると、スレーブデバイスは、アイドル状態Aに遷移し、スタートコンディション(開始条件)を待つ状態となる。その後、スタートコンディションを検出すると、開始状態Bに遷移し、それに続いて、アドレス受信状態Cに遷移する。 FIG. 5 is a diagram illustrating state transition of a conventional slave device. When the reset or the data transfer ends, the slave device transitions to the idle state A and waits for a start condition (start condition). Thereafter, when a start condition is detected, the state transits to the start state B, and subsequently, the state transits to the address reception state C.
受信したスレーブアドレスが自デバイスに割り当てられたアドレス値と異なる場合には、スレーブアドレス無効として、アイドル状態Aに遷移する。これに対して、両アドレスが一致する場合には、要求がWriteであるかReadであるかに応じて、データ受信状態D又はデータ送信状態Eの何れかに遷移する。そして、データ受信又はデータ送信が終了すると、再度、アイドル状態Aに遷移し、次のスタートコンディションを待つ状態となる。 When the received slave address is different from the address value assigned to the own device, the slave address is invalidated and the state transits to the idle state A. On the other hand, when both addresses match, the state transits to either the data reception state D or the data transmission state E depending on whether the request is Write or Read. When data reception or data transmission is completed, the state transitions again to the idle state A and waits for the next start condition.
このように、I2Cバスを用いれば、簡単なバス構成により、相互接続された複数のデバイス間のデータ転送を制御することができるが、I2Cバスシステムにおいては、SCLクロックに同期して、スタートコンディション情報やスレーブアドレス等が送出されるため、全てのデバイスに対してSCLクロックを送出する必要がある。このため、データ転送を行っているデバイスのみならず、データ転送を行っていないデバイスや、データ転送を終了したデバイスにもSCLクロックが供給されることになり、システム全体としての消費電力が増大し易いという問題があった。 As described above, when the I2C bus is used, data transfer between a plurality of interconnected devices can be controlled with a simple bus configuration. However, in the I2C bus system, the start condition is synchronized with the SCL clock. Since information, slave addresses, and the like are transmitted, it is necessary to transmit an SCL clock to all devices. For this reason, the SCL clock is supplied not only to the device that performs data transfer, but also to the device that does not perform data transfer or the device that has completed data transfer, increasing the power consumption of the entire system. There was a problem that it was easy.
そこで、特許文献2に記載のように、データ転送状態に応じて、SCLクロック及び各デバイスへの電源供給を制御するバスシステムが提案されている。このバスシステムは、ストップコンディション(終了条件)を検出するストップコンディション検出手段と、SCLクロックのレベルをLowレベルに設定するスイッチ手段と、スレーブデバイスの電源のON/OFFを切り替える電源制御手段とを備え、ストップコンディションが検出されたときに、SCLクロックを強制的にLowレベルに切り替えるとともに、スレーブデバイスへの電源供給を遮断するように構成されている。上記バスシステムによれば、データ転送の必要がないときに、スレーブデバイスの動作を停止させるため、不要な電力消費を回避することが可能となる。 Therefore, as described in Patent Document 2, a bus system that controls the SCL clock and the power supply to each device in accordance with the data transfer state has been proposed. This bus system includes stop condition detection means for detecting a stop condition (end condition), switch means for setting the level of the SCL clock to Low level, and power control means for switching ON / OFF of the power supply of the slave device. When the stop condition is detected, the SCL clock is forcibly switched to the low level and the power supply to the slave device is cut off. According to the bus system, since the operation of the slave device is stopped when there is no need for data transfer, unnecessary power consumption can be avoided.
しかしながら、特許文献2に記載のバスシステムにおいては、I2Cバスライン単位でストップコンディションを検出し、SCLクロックのレベル及び電源のON/OFFを変更するため、特定のデバイスのみならず、I2Cバスに接続された全てのデバイスに対して影響が及ぶという問題がある。特に、クロックレベル及び電源状態の変更後にデータ転送を再開するには、クロックを本来の状態に戻すとともに、改めて電源をONする必要があるが、通常、復旧時間はデバイス毎に異なるため、上記問題は、復旧後に正常なデータ転送を行えないなどの弊害を招く虞がある。 However, in the bus system described in Patent Document 2, a stop condition is detected in units of I2C bus lines, and the SCL clock level and power ON / OFF are changed, so that not only a specific device but also an I2C bus is connected. There is a problem that it affects all devices that have been used. In particular, in order to resume data transfer after changing the clock level and the power supply state, it is necessary to return the clock to the original state and turn on the power supply again. May cause adverse effects such as failure to perform normal data transfer after recovery.
また、I2Cバスシステムでは、複数のマスターデバイスが接続され、それらが優先順位を決めながら、連続的にデータ転送を行っていく場合があるが、かかる状態において、ある1つのマスターデバイスのデータ転送終了時に、SCLクロックを強制的にLowレベルに設定すると、次のマスターデバイスのデータ転送を迅速に開始できないという問題が生じる。すなわち、SCLクロックを強制的にLowレベルに設定することは、次のマスターデバイスからすると意図しない操作となるため、次のマスターデバイスは、SCLクロックの状態が本来の状態に戻るまで、データ転送を待機する必要が生じる。 In the I2C bus system, there are cases where a plurality of master devices are connected, and data transfer is continuously performed while determining the priority order. In such a state, at the end of data transfer of one master device, If the SCL clock is forcibly set to the Low level, there arises a problem that the data transfer of the next master device cannot be started quickly. That is, forcibly setting the SCL clock to the Low level is an unintended operation from the next master device, so the next master device waits for data transfer until the SCL clock state returns to the original state. Need arises.
そこで、本発明は、上記従来の技術における問題点に鑑みてなされたものであって、データ転送処理に悪影響を及ぼすことを回避しながら、消費電力の低減を図ることを可能とするデータ転送装置を提供することを目的とする。 Therefore, the present invention has been made in view of the problems in the above-described conventional technology, and is a data transfer apparatus capable of reducing power consumption while avoiding adverse effects on data transfer processing. The purpose is to provide.
上記目的を達成するため、本発明は、I2Cバスに接続され、該I2Cバスに接続されたマスターデバイスとの間でデータを転送するデータ転送装置であって、前記I2Cバス上のSCLクロックを受信し、データ転送状態を制御するステートマシン制御部と、前記マスターデバイスからのデータの受信処理及び前記マスターデバイスへのデータの送信処理を行うデータ制御部と、前記データ転送状態に応じて前記データ制御部へのクロック信号の供給の有無を制御するクロック制御部とを備え、前記クロック制御部は、前記データ転送状態がデータ転送を行わない状態であるときに、前記データ制御部へのクロック信号の供給を停止することを特徴とする。 In order to achieve the above object, the present invention provides a data transfer device connected to an I2C bus and transferring data to and from a master device connected to the I2C bus, and receiving an SCL clock on the I2C bus. A state machine control unit that controls a data transfer state, a data control unit that performs a process of receiving data from the master device and a process of transmitting data to the master device, and sends data to the data control unit according to the data transfer state A clock control unit that controls whether or not a clock signal is supplied, and the clock control unit stops supply of the clock signal to the data control unit when the data transfer state is a state in which data transfer is not performed. It is characterized by doing.
そして、本発明によれば、データ転送を行わない状態であるときに、データ制御部へのクロック信号の供給を停止するため、データ転送処理に悪影響を及ぼすことなく、消費電力の低減を図ることが可能となる。 According to the present invention, when the data transfer is not performed, the supply of the clock signal to the data control unit is stopped, so that the power consumption can be reduced without adversely affecting the data transfer process. Is possible.
前記データ転送装置において、前記マスターデバイスからの要求が自デバイスを対象とするものであるか否かを判定する要求対象判定手段を備え、前記クロック制御部が、前記要求対象判定手段で前記マスターデバイスからの要求が自デバイスを対象とするものでないと判定されたときに、前記データ制御部へのクロック信号の供給を停止するように構成することができる。この構成によれば、マスターデバイスからの要求が他のデバイスを対象とし、自デバイスがデータ転送を行う必要がないときに、余分な電力が消費されるのを回避することができる。 In the data transfer apparatus, the data transfer device further comprises request target determination means for determining whether a request from the master device is intended for the own device, and the clock control unit receives the request from the master device by the request target determination means. When it is determined that the request is not for the device itself, the supply of the clock signal to the data control unit can be stopped. According to this configuration, when the request from the master device targets another device, and the self device does not need to perform data transfer, it is possible to avoid excessive power consumption.
前記データ転送装置において、前記マスターデバイスからの要求が終了したことを示すストップコンディションを検出する要求終了検出手段を備え、前記クロック制御部は、前記要求終了検出手段で前記ストップコンディションが検出されたときに、前記データ制御部へのクロック信号の供給を停止するように構成することができる。この構成によれば、マスターデバイスからの要求が終了してデータ転送が完了した後に、余分な電力が消費されるのを回避することができる。 In the data transfer apparatus, the data transfer device further comprises request end detection means for detecting a stop condition indicating that a request from the master device has ended, and the clock control unit is configured to detect when the stop condition is detected by the request end detection means. The supply of the clock signal to the data control unit can be stopped. According to this configuration, it is possible to avoid excessive power consumption after the request from the master device is completed and the data transfer is completed.
前記データ転送装置において、前記マスターデバイスからのデータ送信、又は前記マスターデバイスでのデータ受信が中断されたことを検出する中断検出手段を備え、前記クロック制御部は、前記中断検出手段で前記マスターデバイスとの間のデータ転送の中断が検出されたときに、前記データ制御部へのクロック信号の供給を停止するように構成することができる。この構成によれば、データ転送が中断されてから復帰するまでの間に、余分な電力が消費されるのを回避することができる。 The data transfer apparatus includes interruption detection means for detecting that data transmission from the master device or data reception at the master device is interrupted, and the clock control unit is connected to the master device by the interruption detection means. When the interruption of the data transfer is detected, the supply of the clock signal to the data control unit can be stopped. According to this configuration, it is possible to avoid consuming excess power during the period from when data transfer is interrupted to when it is restored.
前記データ転送装置において、前記データ制御部が、前記マスターデバイスからの受信データ及び前記マスターデバイスに送信すべきデータを格納するバッファ部と、前記マスターデバイスからデータを受信し、受信したデータを前記バッファ部に送出するとともに、前記バッファ部からデータを読み出し、前記マスターデバイスに送出するSDA制御部とを備え、前記クロック制御部が、前記バッファ部及び前記SDA制御部の少なくとも一方へのクロック信号の供給を停止するように構成することができる。 In the data transfer apparatus, the data control unit stores data received from the master device and data to be transmitted to the master device, receives data from the master device, and sends the received data to the buffer unit. And an SDA control unit that reads data from the buffer unit and sends the data to the master device, so that the clock control unit stops supplying a clock signal to at least one of the buffer unit and the SDA control unit. Can be configured.
以上のように、本発明によれば、データ転送処理に悪影響を及ぼすことを回避しながら、消費電力の低減を図ることが可能となる。 As described above, according to the present invention, it is possible to reduce power consumption while avoiding adverse effects on data transfer processing.
次に、本発明の実施の形態について図面を参照して詳細に説明する。 Next, embodiments of the present invention will be described in detail with reference to the drawings.
図1は、本発明にかかるデータ転送装置としてのスレーブデバイスの全体構成図であり、スレーブデバイス1は、ステートマシン制御部2と、SDA制御部3と、バッファ部4と、ファンクション部5と、CLK制御部6とで構成される。このスレーブデバイス1は、図4に示すスレーブデバイス53、54と同様に、I2Cの規格に準拠した機能を備えるマスターデバイスとともに、IC2バス50(SDA51、SCL52)に接続される。
FIG. 1 is an overall configuration diagram of a slave device as a data transfer apparatus according to the present invention. The
ステートマシン制御部2は、I2Cバス50と接続され、I2Cバス50を介してマスターデバイスから送られてくる信号に基づき、I2Cバス制御、転送開始停止の検出を行うとともに、I2Cバスの規格に沿ったスレーブデバイスのシーケンスを生成する。このステートマシン制御部2は、図1に示すように、例えば、I2Cバス制御部20、開始停止検出回路21、ACK(acknowledge signal)確認部22、データ数カウンタ23及びステートマシン部24等から構成される。
The state machine control unit 2 is connected to the
I2Cバス制御部20は、I2Cバス50からのデータ取り込みタイミング、及びI2Cバス50へのデータ送出タイミングを決定し、後段のブロックに動作タイミング信号を送出する。開始停止検出回路21は、I2Cバス50との転送を行うための開始条件、終了条件であるスタートコンディション、ストップコンディションを検出し、検出情報を送出する。
The I2C
ACK確認部22は、マスターデバイスとRead動作を行う際に、データを受信できたことを示すアクノリッジ信号を監視する。データ数カウンタ23は、転送されるデータのビット数をカウントし、I2Cの規格で指定されたビット長のデータが揃ったか否かを監視する。ステートマシン部24は、I2Cバス制御部20、開始停止検出回路21、ACK確認部22及びデータ数カウンタ23と接続され、I2Cバスの規格に沿ったスレーブシーケンスを生成する。
The
SDA制御部3は、ステートマシン制御部2とバッファ部4との間に接続され、上位からのデータ送信及び受信命令に従って、Read要求、Write要求をバッファ部4へ送出し、バッファ部4とデータを送受信する。また、SDA制御部3は、I2Cバス50を介して転送されるスレーブアドレスを監視し、I2Cバス50上のデータが自デバイス宛のものであるか否かを判断する。このSDA制御部3は、図1に示すように、例えば、シリアル/パラレル(S/P)変換回路31、スレーブアドレス生成部32、バッファアドレス生成部33、Writeデータ生成部34、ラッチタイミング生成部35、パラレル/シリアル(P/S)変換回路36、Readデータ生成部37及びReadタイミング生成部38等から構成される。
The SDA control unit 3 is connected between the state machine control unit 2 and the
S/P変換回路31は、I2Cバスから転送されるシリアルデータをパラレルデータに変換し、変換後のデータをスレーブアドレス生成部32、バッファアドレス生成部33及びWriteデータ生成部34へ送出する。スレーブアドレス生成部32は、転送されるスレーブアドレス値と、自デバイスに割り当てられたスレーブアドレス値とを比較し、それらが異なる場合には、その旨をCLK制御部6に通知する。バッファアドレス生成部33は、Write時のデータを書き込むべきバッファ部4のアドレス空間を指定し、Writeデータ生成部34は、Write時のデータをバッファ部4へ送出し、ラッチタイミング生成部35は、Writeデータをバッファ部4へ書き込むタイミングを指定する。
The S /
P/S変換回路36は、マスターデバイスからの要求に応じてバッファ部4から読み出されたパラレルデータをシリアルデータに変換し、I2Cバス制御部20へ送出する。Readデータ生成部37は、Read時のデータをバッファ部4から受信し、Readタイミング生成部38は、Read要求発生時にバッファ部4からデータを読み出すタイミングを指定する。
The P /
バッファ部4は、転送されるデータを格納するためのものであり、Write要求の場合には、Writeデータ生成部34から送出されたデータを、指定されたアドレス空間に格納し、Read要求の場合には、指定されたアドレス空間のデータをReadデータ生成部37に送出する。
The
CLK制御部6は、ステートマシン制御部2の開始停止検出回路21及びACK確認部22と、SDA制御部3のスレーブアドレス生成部32と、バッファ部4とに接続され、開始停止検出回路21、ACK確認部22及びスレーブアドレス生成部32の出力に基づいて、SDA制御部3及びバッファ部4へのクロック供給の有無を制御する。
The
次に、スレーブデバイス1の動作について図1乃至図3を参照しながら説明する。以下の説明においては、スレーブデバイス1の各構成の具体的な動作の説明に先立ち、先ずは、スレーブデバイス1全体の動作について概略的に説明する。
Next, the operation of the
本発明にかかるスレーブデバイス1を用いた際のI2Cスレーブ動作のシーケンスは、図2及び図3に示すように、アイドル状態A、開始状態B、アドレス受信状態C、データ受信状態D、データ送信状態E及びスリープ状態Fからなる6つの状態間を遷移させるものとなる。尚、状態の遷移は、マスターデバイスからのSCLクロックにより制御される。
The sequence of the I2C slave operation when the
該シーケンスにおいては、リセットやパワーオンリセットが行われると、スレーブデバイス1は、アイドル状態Aとなり、データ転送が開始されるのを待機する。その後、スタートコンディション(開始状態)を検出すると、開始状態Bに遷移し、それに続いて、スレーブアドレス及びデータ送信方向(Write又はRead)を示す情報を受信するアドレス受信状態Cに遷移する。
In this sequence, when reset or power-on reset is performed, the
スレーブアドレスの受信後、そのスレーブアドレスが自デバイスに割り当てられているアドレス値と一致しない場合には、スリープ状態Fに遷移し、クロックを停止する。尚、クロックの停止については、後に詳述する。こうして、スリープ状態Fに遷移すると、次のスタートコンディションを検出するまで、その状態を維持し、スタートコンディションを検出したときには、開始状態Bに遷移する。 If the slave address does not match the address value assigned to the device after receiving the slave address, the state transits to the sleep state F and the clock is stopped. The clock stop will be described later in detail. Thus, when the state transitions to the sleep state F, the state is maintained until the next start condition is detected. When the start condition is detected, the state transitions to the start state B.
これに対し、受信したスレーブアドレスが自デバイスのアドレスと一致する場合には、データ送信方向を示す情報に基づいて、Write要求であるか、Read要求であるかを判定する。判定の結果、Write要求であれば、データ受信状態Dに遷移し、その後は、マスターデバイスがデータを送信する間(Writeする間)において、データ受信状態Dを維持する。そして、スタートコンディションを検出した場合は、開始状態Bに遷移し、ストップコンディションを検出した場合は、スリープ状態Fに遷移する。 On the other hand, if the received slave address matches the address of the own device, it is determined whether the request is a write request or a read request based on information indicating the data transmission direction. As a result of the determination, if the request is a write request, the state transits to the data reception state D, and thereafter, the data reception state D is maintained while the master device transmits data (while writing). When a start condition is detected, the state transitions to the start state B, and when a stop condition is detected, the state transitions to the sleep state F.
一方、Read要求である場合には、データ送信状態Eに遷移するが、この場合でも、マスターデバイスがデータの受信を要求する間(Readする間)は、データ送信状態Eを維持し、スタートコンディションを検出した場合は、開始状態Bに遷移し、ストップコンディションを検出した場合は、スリープ状態Fに遷移する。また、データ送信状態Eにおいては、データの受信エラーとなった場合にも、スリープ状態Fに遷移する。 On the other hand, when the request is a read request, the state transits to the data transmission state E. Even in this case, while the master device requests reception of data (while reading), the data transmission state E is maintained and the start condition is set. When it detects, it changes to the start state B, and when it detects a stop condition, it changes to the sleep state F. In the data transmission state E, the state transits to the sleep state F even when a data reception error occurs.
次に、スレーブデバイス1の各構成の具体的な動作について説明する。
Next, specific operations of each component of the
データ転送が開始され、I2Cバス50を通じてスレーブデバイス1にデータが送信されると、I2Cバス制御部20において、送信されたデータに基づき、データの取り込みタイミング及び出力タイミングを決定するとともに、それらを示すタイミング信号をACK確認部22、データカウンタ34、ステートマシン部24及びSDA制御部3に送出する。これと併せて、転送開始、停止を示す情報が開始停止検出回路21に送出され、開始停止検出回路21において、転送開始の有無を判定する。
When data transfer is started and data is transmitted to the
転送開始の情報を検出すると、開始情報がステートマシン部24に送出され、ステートマシン部24のステートマシンがリセット直後のアイドル状態Aから開始状態Bに遷移し、それに続いて、アドレス受信状態Cに遷移する。
When the transfer start information is detected, the start information is sent to the
I2Cのシーケンスでは、スタートコンディションの後は、通常7ビットのスレーブアドレスと、1ビットの要求判別ビット(Write要求/Read要求)とが転送される。このため、送信されるデータをデータ数カウンタ23でカウントアップし、先ずは、7ビット分のデータをS/P変換回路31でパラレル変換する。
In the I2C sequence, after a start condition, a 7-bit slave address and a 1-bit request determination bit (Write request / Read request) are usually transferred. Therefore, the data to be transmitted is counted up by the
その後、スレーブアドレス生成部32において、パラレル変換されたデータを一時的に保持し、そのデータを自デバイスに割り当てられているスレーブアドレスと比較する。比較の結果、両アドレスが一致しない場合には、自デバイスに対する要求ではないと判定し、ステートマシン部24へアドレス無効の情報を送信する。ステートマシン部24は、アドレス無効の情報を受信すると、アドレス受信C状態からスリープF状態に遷移する。
Thereafter, the slave
スリープ状態Fに遷移すると、CLK制御部6において、SDA制御部3及びバッファ部4へのクロックの供給を停止し、SDA制御部3及びバッファ部4の動作を停止させる。尚、このとき、ステートマシン制御部2の動作は停止されることなく、SCL52からのSCKクロックの受信は継続される。
When the state transits to the sleep state F, the
一方、受信したスレーブアドレスと自デバイスに割り当てられたスレーブアドレスとが一致する場合には、自デバイスに対する要求であるため、8ビット目の要求判別ビットを参照し、求められている処理がWriteであるかReadであるかを判定する。 On the other hand, if the received slave address matches the slave address assigned to the own device, this is a request for the own device, so the request determination bit of the eighth bit is referred to and the requested processing is Write. It is determined whether there is a read or a read.
判定の結果、Write要求である場合は、その後のデータがWriteデータとして転送されるため、ステートマシン部24のステートマシンの状態をデータ受信D状態に遷移する。そして、送信されたデータをデータ数カウンタ23でカウントアップし、S/P変換回路31において、8ビット単位でパラレル変換する。その後は、バッファアドレス生成部33、Writeデータ生成部34及びラッチタイミング生成部35により、変換したデータをバッファ部4にバッファリングする。
As a result of the determination, if the request is a write request, the subsequent data is transferred as write data, so the state machine state of the
マスターデバイスからのWriteデータの送信が終了し、ストップコンディションが送信されると、開始停止検出回路21がそれを検出してステートマシン部24に転送終了の情報を送信する。これに応答して、ステートマシン部24は、アドレス受信D状態からスリープF状態に遷移し、上記と同様に、CLK制御部6によって、SDA制御部3及びバッファ部4へのクロックの供給を停止する。
When transmission of the write data from the master device is completed and a stop condition is transmitted, the start /
一方、Read要求である場合は、自デバイスからReadデータを送出する必要があるため、ステートマシン部24は、アドレス受信状態Cからデータ送信状態Eに遷移する。そして、データ数カウンタ23、Readデータ生成部37、Readタイミング生成部38及びP/S変換回路36を通じて、8ビットのシリアルデータをI2Cバス50に送出する。
On the other hand, in the case of a Read request, it is necessary to send Read data from the own device, so the
データの送出は、ストップコンディションが検出されるまで継続されるが、その途中で、マスターデバイスから受信エラーが送出されると、ACK確認部22が受信エラーを検出し、ステートマシン部24は、アドレス送信状態Eからスリープ状態Fに遷移する。そして、上記と同様に、CLK制御部6によって、SDA制御部3及びバッファ部4へのクロックの供給を停止する。
Data transmission continues until a stop condition is detected. If a reception error is transmitted from the master device in the middle of the transmission, the
受信エラーが生じることなく、Raedデータの送出が終了し、マスターデバイスからストップコンディションが送信されると、開始停止検出回路21がそれを検出し、ステートマシン部24へ転送終了の情報を送信する。このときも、ステートマシン部24は、アドレス受信D状態からスリープF状態に遷移し、CLK制御部6によって、SDA制御部3及びバッファ部4へのクロックの供給を停止する。
When transmission of the Raid data is completed without receiving a reception error and a stop condition is transmitted from the master device, the start /
以上のように、本実施の形態によれば、自デバイスに対する要求ではない場合、データ転送の停止条件が検出された場合、及び受信エラーが発生してデータ転送が中断された場合に、SDA制御部3及びバッファ部4へのクロックの供給を停止して、それらの動作を停止させるため、消費電力の低減を図ることができる。特に、デバイス単位でデータ転送の有無を判定するとともに、デバイス内部のみでクロック供給状態を変更するため、動作を停止させても、I2Cバスに接続された全デバイスに影響が及ぶことを回避することが可能となる。また、その際、スレーブデバイス1全体の動作は停止させず、SDA制御部3及びバッファ部4の動作のみを停止させるため、その後に自デバイスに対する要求が発生しても、迅速にデータ転送を行うことができる。
As described above, according to the present embodiment, the SDA control is performed when the request is not for the device itself, when a data transfer stop condition is detected, and when a data transfer is interrupted due to a reception error. Since the supply of clocks to the unit 3 and the
さらに、本実施の形態においては、SCL52上のSCLクロックのレベルは変更しないため、複数のマスターデバイスをI2Cバス50に接続して連続的にデータ転送を行う際に、円滑にデータ転送を行うことが可能となる。
Furthermore, in this embodiment, since the level of the SCL clock on the
尚、上記実施の形態においては、SDA制御部3及びバッファ部4へのクロックの供給を停止するが、必ずしも、SDA制御部3及びバッファ部4の双方へのクロックの供給を停止する必要はなく、それらの何れか一方へのクロックの供給を停止してもよい。
In the above embodiment, the supply of clocks to the SDA control unit 3 and the
また、上記実施の形態においては、Read要求の場合に、マスターデバイス側でデータ受信エラーが発生したか否かを判定し、受信エラーの発生時にクロックの供給を停止するが、Write要求の場合にも、マスターデバイス側でデータ送信エラーが発生したか否かを判定し、送信エラーの発生時にクロックの供給を停止してもよい。 In the above embodiment, in the case of a Read request, it is determined whether or not a data reception error has occurred on the master device side, and the clock supply is stopped when a reception error occurs. Alternatively, it may be determined whether a data transmission error has occurred on the master device side, and the clock supply may be stopped when a transmission error occurs.
1 スレーブデバイス
2 ステートマシン制御部
3 SDA制御部
4 バッファ部
5 ファンクション部
6 CLK制御部
20 I2Cバス制御部
21 開始停止検出回路
22 ACK確認部
23 データ数カウンタ
24 ステートマシン部
31 S/P変換回路
32 スレーブアドレス生成部
33 バッファアドレス生成部
34 Writeデータ生成部
35 ラッチタイミング生成部
36 P/S変換回路
37 Readデータ生成部
38 Readタイミング生成部
50 I2Cバス
51 SDA
52 SCL
53、54 スレーブデバイス
55 マスターデバイス
56 マスター/スレーブデバイス
DESCRIPTION OF
52 SCL
53, 54
Claims (5)
前記I2Cバス上のSCLクロックを受信し、データ転送状態を制御するステートマシン制御部と、
前記マスターデバイスからのデータの受信処理及び前記マスターデバイスへのデータの送信処理を行うデータ制御部と、
前記データ転送状態に応じて前記データ制御部へのクロック信号の供給の有無を制御するクロック制御部とを備え、
前記クロック制御部は、前記データ転送状態がデータ転送を行わない状態であるときに、前記データ制御部へのクロック信号の供給を停止することを特徴とするデータ転送装置。 A data transfer device connected to an I2C bus and transferring data to and from a master device connected to the I2C bus,
A state machine control unit that receives the SCL clock on the I2C bus and controls a data transfer state;
A data control unit that performs data reception processing from the master device and data transmission processing to the master device;
A clock control unit that controls whether or not a clock signal is supplied to the data control unit according to the data transfer state;
The data transfer apparatus according to claim 1, wherein the clock control unit stops supply of a clock signal to the data control unit when the data transfer state is a state in which data transfer is not performed.
前記クロック制御部は、前記要求対象判定手段で前記マスターデバイスからの要求が自デバイスを対象とするものでないと判定されたときに、前記データ制御部へのクロック信号の供給を停止することを特徴とする請求項1に記載のデータ転送装置。 Comprising a request target determining means for determining whether the request from the master device is intended for the own device;
The clock control unit stops supply of a clock signal to the data control unit when the request target determination unit determines that the request from the master device is not intended for the device itself. The data transfer device according to claim 1.
前記クロック制御部は、前記要求終了検出手段で前記ストップコンディションが検出されたときに、前記データ制御部へのクロック信号の供給を停止することを特徴とする請求項1又は2に記載のデータ転送装置。 Request end detection means for detecting a stop condition indicating that the request from the master device has ended,
3. The data transfer according to claim 1, wherein the clock control unit stops the supply of a clock signal to the data control unit when the stop condition is detected by the request end detection unit. apparatus.
前記クロック制御部は、前記中断検出手段で前記マスターデバイスとの間のデータ転送の中断が検出されたときに、前記データ制御部へのクロック信号の供給を停止することを特徴とする請求項1、2又は3に記載のデータ転送装置。 Comprising interruption detection means for detecting that data transmission from the master device or data reception at the master device is interrupted,
The clock control unit stops supply of a clock signal to the data control unit when the interruption detection unit detects interruption of data transfer with the master device. 2. The data transfer device according to 2 or 3.
前記クロック制御部は、前記バッファ部及び前記SDA制御部の少なくとも一方へのクロック信号の供給を停止することを特徴とする請求項1乃至4のいずれかに記載のデータ転送装置。 The data control unit stores data received from the master device and data to be transmitted to the master device; receives data from the master device; sends the received data to the buffer unit; and the buffer unit An SDA control unit that reads data from the master device and sends the data to the master device,
5. The data transfer device according to claim 1, wherein the clock control unit stops supply of a clock signal to at least one of the buffer unit and the SDA control unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007137385A JP2008293230A (en) | 2007-05-24 | 2007-05-24 | Data transfer device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007137385A JP2008293230A (en) | 2007-05-24 | 2007-05-24 | Data transfer device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008293230A true JP2008293230A (en) | 2008-12-04 |
Family
ID=40167895
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007137385A Pending JP2008293230A (en) | 2007-05-24 | 2007-05-24 | Data transfer device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008293230A (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010166309A (en) * | 2009-01-15 | 2010-07-29 | Sumitomo Electric Ind Ltd | Optical data link |
JP2011113336A (en) * | 2009-11-27 | 2011-06-09 | Seiko Epson Corp | System having a plurality of memory devices and data transfer method for the same |
US9671820B2 (en) | 2011-11-25 | 2017-06-06 | Mitsubishi Electric Corporation | Communication device, communication method, and communication system |
CN107870884A (en) * | 2016-09-27 | 2018-04-03 | 株式会社村田制作所 | Data transmission devices and radio communication circuit |
CN109753136A (en) * | 2017-11-08 | 2019-05-14 | 株式会社村田制作所 | Data communication equipment |
US10503674B2 (en) | 2016-02-03 | 2019-12-10 | Samsung Electronics Co., Ltd. | Semiconductor device including a clock source for generating a clock signal and a clock control circuit for controlling the clock source in hardware, a semiconductor system including the semiconductor device, and a method of operating the semiconductor device |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004199580A (en) * | 2002-12-20 | 2004-07-15 | Sony Corp | Clock control circuit and interface circuit |
JP2004534322A (en) * | 2001-06-29 | 2004-11-11 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | General purpose I2C slave transmitter / receiver state machine |
JP2005128747A (en) * | 2003-10-23 | 2005-05-19 | Fujitsu Ltd | Integrated circuit device with transmission/reception macro for serial transfer bus |
-
2007
- 2007-05-24 JP JP2007137385A patent/JP2008293230A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004534322A (en) * | 2001-06-29 | 2004-11-11 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | General purpose I2C slave transmitter / receiver state machine |
JP2004199580A (en) * | 2002-12-20 | 2004-07-15 | Sony Corp | Clock control circuit and interface circuit |
JP2005128747A (en) * | 2003-10-23 | 2005-05-19 | Fujitsu Ltd | Integrated circuit device with transmission/reception macro for serial transfer bus |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010166309A (en) * | 2009-01-15 | 2010-07-29 | Sumitomo Electric Ind Ltd | Optical data link |
JP2011113336A (en) * | 2009-11-27 | 2011-06-09 | Seiko Epson Corp | System having a plurality of memory devices and data transfer method for the same |
US9671820B2 (en) | 2011-11-25 | 2017-06-06 | Mitsubishi Electric Corporation | Communication device, communication method, and communication system |
US10503674B2 (en) | 2016-02-03 | 2019-12-10 | Samsung Electronics Co., Ltd. | Semiconductor device including a clock source for generating a clock signal and a clock control circuit for controlling the clock source in hardware, a semiconductor system including the semiconductor device, and a method of operating the semiconductor device |
CN107870884A (en) * | 2016-09-27 | 2018-04-03 | 株式会社村田制作所 | Data transmission devices and radio communication circuit |
JP2018055266A (en) * | 2016-09-27 | 2018-04-05 | 株式会社村田製作所 | Data transfer device and wireless communication circuit |
US10095644B2 (en) | 2016-09-27 | 2018-10-09 | Murata Manufacturing Co., Ltd. | Data transfer device and wireless communication circuit |
CN109753136A (en) * | 2017-11-08 | 2019-05-14 | 株式会社村田制作所 | Data communication equipment |
JP2019087097A (en) * | 2017-11-08 | 2019-06-06 | 株式会社村田製作所 | Data communication device |
US10459872B2 (en) | 2017-11-08 | 2019-10-29 | Murata Manufacturing Co., Ltd. | Data communication apparatus |
JP7082311B2 (en) | 2017-11-08 | 2022-06-08 | 株式会社村田製作所 | Data communication equipment |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2012108677A (en) | Data transfer unit and control method for the same | |
US10503239B2 (en) | Electronic device and power management method | |
JP2008293230A (en) | Data transfer device | |
JP2011175555A (en) | Storage device and storage system | |
US10564700B2 (en) | Image forming apparatus and power control method for image forming apparatus | |
JPWO2010013340A1 (en) | Data transfer device, data transmission device, data reception device, and data transfer method | |
US9201822B2 (en) | Host controller apparatus, information processing apparatus, and event information output method | |
JP2008126642A (en) | Image formation system | |
JP4300079B2 (en) | Image device, image device system, and energy consumption mode control method | |
US20100106869A1 (en) | USB Storage Device and Interface Circuit Thereof | |
JP2011181011A (en) | Data storage device, and low power consumption control method for the same | |
US7336657B2 (en) | Inter-nodal data transfer system and data transfer apparatus | |
CN114996184A (en) | Compatible implementation of SPI or I 2 Interface module of C slave machine and data transmission method | |
JP2008262393A (en) | Information processing system and its control method | |
JP2002016612A (en) | Network interface device and network system using the same | |
JP2007103999A (en) | Data transfer control apparatus and data transfer control method | |
JP2013172256A (en) | Communication processing apparatus and image forming apparatus | |
EP2040410B1 (en) | Data transmission method and system | |
JP2006198794A (en) | Power consumption control method of printer and printer | |
JP6488756B2 (en) | Communication control apparatus and image forming apparatus | |
CN114880270B (en) | SPI device and data transmission method thereof | |
JP5385722B2 (en) | Interface circuit | |
JPH08202677A (en) | Microcontroller | |
JP3593882B2 (en) | Printing apparatus and interface control method | |
JP2011258095A (en) | Usb interface circuit and control method for usb interface circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090115 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101201 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110323 |