JP2010166309A - 光データリンク - Google Patents
光データリンク Download PDFInfo
- Publication number
- JP2010166309A JP2010166309A JP2009006690A JP2009006690A JP2010166309A JP 2010166309 A JP2010166309 A JP 2010166309A JP 2009006690 A JP2009006690 A JP 2009006690A JP 2009006690 A JP2009006690 A JP 2009006690A JP 2010166309 A JP2010166309 A JP 2010166309A
- Authority
- JP
- Japan
- Prior art keywords
- level
- serial
- internal device
- operation clock
- clock speed
- 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
Images
Landscapes
- Communication Control (AREA)
Abstract
【課題】クロックストレッチすることなく外部機器とI2C通信を行うことができる光データリンクを提供する。
【解決手段】シリアルクロック線(SCL)におけるシリアルクロック信号SCLのレベルがHレベルの時に、シリアルデータ線(SDA)におけるシリアルデータ信号SDAのレベルがHレベルからLレベルに変化したことを検知すると、内部機器12’の動作クロック速度を上げ、高速な実行が必要な処理を完了した時点で内部機器12’の動作クロック速度を元の状態に下げる動作クロック速度制御部13を備えている。
【選択図】図1
【解決手段】シリアルクロック線(SCL)におけるシリアルクロック信号SCLのレベルがHレベルの時に、シリアルデータ線(SDA)におけるシリアルデータ信号SDAのレベルがHレベルからLレベルに変化したことを検知すると、内部機器12’の動作クロック速度を上げ、高速な実行が必要な処理を完了した時点で内部機器12’の動作クロック速度を元の状態に下げる動作クロック速度制御部13を備えている。
【選択図】図1
Description
本発明は、I2C通信バスを介して外部機器とデータ送受信を行う内部機器を備えた光データリンクに関する。
各種制御データを記憶するEEPROM(Electrically Erasable and Programmable Read Only Memory)等の内部機器と、外部機器とがI2C(Inter-Integrated Circuit)通信バスを介してデータ通信を行うことができる光データリンクが提案されている。この光データリンクは、外部との光通信を行う光信号送受信部の他に、外部機器との通信制御を実現するためのマイクロプロセッサを利用した内部機器を備えている。
図4は、I2C通信が可能な光データリンク10と外部機器2とを接続した機能ブロック図である。光データリンクの光信号送受信部11は、送信用小型光モジュール(TOSA:Transmitter Optical Sub-Assembly)、受信用小型光モジュール(ROSA:Receiver Optical Sub-Assembly)等から構成される。内部機器12は、EEPROMや通信制御用IC等から構成され、外部機器2とI2C通信バスBを介して通信するスレーブデバイスとして機能する。
外部機器2は、I2C通信バスBを介して光データリンク1の内部機器12を外部から制御するマスターデバイスとして機能する。
外部機器2は、I2C通信バスBを介して光データリンク1の内部機器12を外部から制御するマスターデバイスとして機能する。
内部機器12及び外部機器2は、例えば、非特許文献1に開示されているようにシリアルクロック線(SCL)とシリアルデータ線(SDA)との2本の信号線から構成されるI2C通信バスBの接続ポート(図示省略)を備え、当該I2C通信バスBを介して双方向のデータ通信が可能である。シリアルクロック線におけるシリアルクロック信号SCL及びシリアルデータ線におけるシリアルデータ信号SDAの信号レベルは、各々プルアップ抵抗RによってプルアップされたHレベルに維持される。
従って、シリアルクロック信号SCLのレベル状態は、原則、外部機器2が備えるオープンドレインバッファによって変化されるが、必要に応じて内部機器12が備えるオープンドレインバッファによっても変化される。また、シリアルデータ信号SDAのレベル状態は、外部機器2又は内部機器12が備えるオープンドレインバッファによって変化される。
次に、I2C通信処理について、図5、図6、図8に示すタイミングチャート、及び、図7に示すフロー図を用いて説明する。外部機器2と内部機器12においてデータ送受信が実行されていない間(通信開始前)は、図5の符号Y1で示すように、シリアルクロック信号SCL及びシリアルデータ信号SDAのレベルは、共にプルアップ抵抗RによってHレベルに維持されている。
このような状態において、外部機器2が、内部機器12との通信を開始しようとすると、符号Y2で示すように、シリアルクロック信号SCLのレベルをHレベルに維持したまま、シリアルデータ信号SDAのレベルをHレベルからLレベルに変化させる処理、いわゆるスタートコンディションを実行する。一方、内部機器12は、前記の外部機器2からのシリアルデータ信号SDAがHレベルからLレベルに変化したことを検出する。このようにすることで、外部機器2は、内部機器12との通信を開始することができる。
続けて、外部機器2は、符号Y3で示すように、シリアルデータ信号SDAのレベルを変化させて、スレーブアドレスと称する7ビットのスレーブアドレス識別情報(内部機器12のアドレス情報A7〜A1)を送信する。前記情報の送信後、外部機器2は、符号Y4で示すように、データ送信の方向を示す1ビットのリード(R)/ライト(W)情報を送信する。R情報は、内部機器12から外部機器2へのデータ送信を示し、W情報は、外部機器2から内部機器12へのデータ送信を示す。
内部機器12側では、受信したスレーブアドレス識別情報とリード情報を解析し、外部機器2が送信したデータを、内部機器12が応答(受信)する必要があるデータであると判定すると、符号Y5で示すように、シリアルクロック信号SCLのレベルがLレベルからHレベルに変化する間に、シリアルデータ信号SDAのレベルをLレベルにする(ACK返信)。内部機器12が、応答する必要がないと判定すると、図6の符号Y6で示すように、シリアルクロック信号SCLのレベルがLレベルからHレベルに変化する間に、シリアルデータ信号SDAのレベルをHレベルにする(NAK返信)。
外部機器2は、続くシリアルクロック信号SCLが立ち上がってHレベルに変化すると、シリアルデータ信号SDAのレベルを検知する。この場合、Lレベルを検知したら(ACK受信)、シリアルデータ信号SDAのレベルを変化させることによって次のデータを内部機器12に送信する。このデータ送信は1バイト単位で行われ、内部機器12は、適切な受信データを受信すると、前述のようにACKを外部機器2に返信する。以後、これらの送信、受信、返信を繰り返し、所定のデータ通信が行われる。
前記シリアルデータ信号SDAのレベルの検知において、外部機器2が検知したレベルがHレベルの場合には(NAK受信)、内部機器12が反応していないと判定し、通信中断処理やリトライ処理を実行する。上記のアドレス情報などの受信後に実行されるACK/NAK返信については、例えば、非特許文献2に開示されている。
ところで、図7に示すフロー図のように、内部機器12は、外部機器2が送信したデータを受信するが(ステップS11)、その後、内部機器12が、受信したデータを上記のように解析し応答する必要があると判定しても(ステップS12)、ACKを外部機器2に返信するまでには、当該受信データの解析処理などに時間が掛かり、シリアルクロック信号SCLのレベルがLレベルからHレベルに変化する間に、シリアルデータ信号SDAのレベルをLレベルにする(ACK返信)ことができない場合がある。このような場合、通常、内部機器12は、外部機器2に対していわゆる「WAIT」をかけ、ACK返信することが行われている(ステップS13)。以後、前述のように、内部機器12は、I2Cデータ受信を継続する(ステップS14)。
「WAIT」の具体例を説明すると、図8の符号Y7で示すように、内部機器12が、シリアルクロック信号SCLのレベルをLレベルにして、外部機器2に対してACK(又はNAK)返信が遅れることを通知する(クロックストレッチといわれている)。その後、内部機器12における解析処理などが終了すると、シリアルクロック信号SCLのレベルをLレベルからHレベルに変化させてACK返信を行う。
内部機器12との通信を終了する場合には、外部機器2は、シリアルクロック信号SCLのレベルをHレベルに維持し、シリアルデータ信号SDAのレベルをLレベルからHレベルに変化させる処理、いわゆるストップコンディションを実行する。このようにすることで、外部機器2は、内部機器12との通信を終了することができる。
なお、前述のI2C通信においては、スタートコンディションとストップコンディションを除き、外部機器2は、シリアルクロック信号SCLのレベルがLレベルのときにのみ、シリアルデータ信号SDAのレベルを変化させる。
UM10204 I2C-bus specification and user manual(THE I2C-BUS SPECIFICATION),P.7 Fig.2
C8051F41x(Silicon Laboratories),P.204 Figure 21.7
ところで、内部機器に用いられる代表的なスレーブデバイスであるシリアルメモリは、M24Cxxシリーズデータシート, STMicroelectronics P.22 Table 15に示されているようにクロックストレッチすることなくACK返信を行うものもある。それ故、このような内部機器に対応するために、外部機器の中には、内部機器によるクロックストレッチが発生しないことを前提に機能設計されているものがある。このようにクロックストレッチ非対応の外部機器とI2C通信を行う場合、内部機器は、データを受信してからACKを返信するまでの処理時間を極力短縮し、クロックストレッチせずにACK返信を行うことが必要になる。この場合、クロックストレッチせずにACK返信を行うようにすればよいが、これにはクロック速度を上げる必要がある。
一方、光データリンクにおいては、省電力の要請から、プロセッサ等の内部機器の動作クロック速度を常時低速にしたり、プロセッサが実行する命令内容の中にNOP(No OPeration)命令がある場合には、動作クロックを停止させることが行われている。しかし、このようにすると、内部機器において、データを受信してからACKを返信するまでの処理時間が長くなり、クロックストレッチを行う必要が生じる。すなわち、省電力を図ることとクロックストレッチせずにACK返信を行うことは、相容れないという問題がある。
本発明は、かかる実情に鑑みてなされたものであり、省電力を図りつつ、クロックストレッチすることなく外部機器とI2C通信を行うことができる光データリンクを提供することを目的とする。
本発明による光データリンクは、シリアルクロック線とシリアルデータ線とから構成されるI2C通信バスを介して外部機器とデータ送受信を行う内部機器を備えた光データリンクである。シリアルクロック線におけるシリアルクロック信号のレベルがHレベルの時に、シリアルデータ線におけるシリアルデータ信号のレベルがHレベルからLレベルに変化したことを検知すると、内部機器の動作クロック速度を上げ、高速な実行が必要な処理を完了した時点で内部機器の動作クロック速度を元の状態に下げる動作クロック速度制御部を備えている。
本発明によれば、外部機器とI2C通信開始時に、内部機器の動作クロック速度を上げ、高速処理の不要時には通常の動作クロック速度に下げるので、省電化を図りながら、クロックストレッチすることなく外部機器とI2C通信を実行することが可能となる。
本発明に詳細について、図1及び図2を参照しながら説明する。図1は、本発明に係る光データリンク1及び外部機器2の機能ブロック図である。図2は、光データリンク1の内部機器の動作クロック速度制御を説明するためのタイミングチャートである。なお、図4に示した機能ブロックと同一の機能を有する機能ブロックについては、同一の符号を付してその説明を省略する。
本発明による光データリンクは、図1に示すように、光信号送受信部11の他に内部機器12’と当該内部機器12’のクロック速度を制御する動作クロック速度制御部13を備えている。動作クロック速度制御部13には、シリアルクロック線(SCL)とシリアルデータ線(SDA)が接続され、動作クロック速度制御部13と内部機器12’とは指示信号線(S)によって接続されている。
内部機器12’は、図4で説明したのと同様に外部機器2との間で双方向のI2C通信を実行する。通信を実行するに際して、動作クロック速度制御部13は、シリアルクロック信号SCLのレベルがHレベルに維持されている状態の時に、シリアルデータ信号SDAのレベルがHレベルからLレベルに変化したこと(スタートコンディション)を検知すると、内部機器12’の動作クロック速度を上げるように制御する。他方、動作クロック速度制御部13は、上記のスタートコンディションから始まるI2C通信に係わる一連の処理が終了した時点で内部機器12’の動作クロック速度を元の状態に下げるように、制御する。
動作クロック速度制御部13は、様々な回路構成、例えば、Dフリップフロップ(Delay Flip-Flop)回路を採用することができる。この場合、Dフリップフロップ回路を、信号の立ち下がりエッジ動作型に構成する。また、シリアルクロック信号SCLを、前記回路のデータ入力端子に入力し、シリアルデータ信号SDAを前記回路のクロック入力端子に入力する。そして、前記回路の出力立ち上がりで、前記指示信号Sを出力する(割り込みを発生)。
上記した内部機器12’における動作クロック速度の制御について、図2に示すタイミングチャートを参照しながら詳細に説明する。ここで、図5で説明したように、外部機器2からのシリアルクロック信号SCLのY1とシリアルデータ信号SDAのY2により、スタートコンディションが実行されたとする。
動作クロック速度制御部13は、符号X1でスタートコンディションが実行されると同時に、このスタートコンディションを検知する。これにより、動作クロック速度制御部13は、符号X2で示すように、内部機器12’に、動作クロック速度を上げるように指示する指示信号(割り込み信号)を出力する。前記指示信号を受信した内部機器12’は、符号X3で示すように、当該機器12’の動作クロック速度を上げて(動作クロック速度:低速→高速)、通信および通信内容に伴う一連の処理を実行する。
その後、符号X4で示すように、外部機器2からのI2C通信はストップコンディションによって終了する。内部機器12’は、通信終了後もその通信内容により、必要に応じて高速処理を実行し、高速処理が終了した時点で動作クロック速度制御部13は、符号X5で示すように、内部機器12’に、動作クロック速度を元の状態に下げるように指示する指示信号を出力する(前記動作クロック速度を上げるように指示する指示信号のレベルをLレベルにする)。
前記指示信号を受信した内部機器12’は、符号X6で示すように、当該機器12’の動作クロック速度を元の状態に下げて(動作クロック速度:高速→低速)、省電力状態にする。
前記指示信号を受信した内部機器12’は、符号X6で示すように、当該機器12’の動作クロック速度を元の状態に下げて(動作クロック速度:高速→低速)、省電力状態にする。
内部機器12’における動作クロック速度の制御処理フローについて、図3に示すフロー図を参照しながら詳細に説明する。
動作クロック速度制御部13が、スタートコンディションを検知すると(ステップS1)、内部機器12’に、動作クロック速度を上げるように指示する指示信号を出力する。前記指示信号を受信した内部機器12’は、当該機器12’の動作クロック速度を上げる(ステップS2)。その後、スタートコンディションの実行が終了する(ステップS3)。
動作クロック速度制御部13が、スタートコンディションを検知すると(ステップS1)、内部機器12’に、動作クロック速度を上げるように指示する指示信号を出力する。前記指示信号を受信した内部機器12’は、当該機器12’の動作クロック速度を上げる(ステップS2)。その後、スタートコンディションの実行が終了する(ステップS3)。
内部機器12’は、外部機器2が送信したデータを受信し(ステップS4)、その後、内部機器12’が、受信したデータを解析し応答する必要があると判定すると(ステップS5)、ACKを外部機器2に返信する(ステップS6)。以後、内部機器12’は、I2Cデータ受信を継続する(ステップS7)。
その後、ストップコンディションによってI2C通信が終了すると(ステップS8)、内部機器12’は高速処理を終了する場合もあるが、通信内容により必要に応じてさらに高速でデータ処理を行う必要がある場合もある。いずれにせよ、内部機器12’が高速処理を終了した時点で自らの動作クロック速度を下げるか、または動作クロック速度制御部13へ高速処理終了を知らせる出力をおこない、この出力を受けた動作クロック速度制御部13が内部機器12’へ動作クロック速度を下げるように指示する指示信号を出力する。前記指示信号を受信した内部機器12’は、当該機器12’の動作クロック速度を元の状態に下げる(ステップS9)。以上で、外部機器2と内部機器12’との、I2Cデータ通信と通信内容に伴う内部機器12’の一連の高速処理が完了する(ステップS10)。
このようにすることで、外部機器2と内部機器12’間においてI2C通信と通信内容にともなう一連に高速処理を行わない間は動作クロック速度を低くして省電力を図ることができる。他方、外部機器2と内部機器12’との間で、I2C通信と通信内容にともなう一連の高速処理を実行する間は動作クロック速度を上げることができるので、クロックストレッチを発生することなく外部機器に対応させることができる。
1,10…光データリンク、11…光信号送受信部、12,12’…内部機器、13…動作クロック速度制御部、2…外部機器。
Claims (1)
- シリアルクロック線とシリアルデータ線とから構成されるI2C通信バスを介して外部機器とデータ送受信を行う内部機器を備えた光データリンクであって、
前記シリアルクロック線におけるシリアルクロック信号のレベルがHレベルの時に、前記シリアルデータ線におけるシリアルデータ信号のレベルがHレベルからLレベルに変化したことを検知すると、前記内部機器の動作クロック速度を上げ、高速な実行が必要な処理を完了した時点で前記内部機器の動作クロック速度を元の状態に下げる動作クロック速度制御部を備えたことを特徴とする光データリンク。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009006690A JP2010166309A (ja) | 2009-01-15 | 2009-01-15 | 光データリンク |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009006690A JP2010166309A (ja) | 2009-01-15 | 2009-01-15 | 光データリンク |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010166309A true JP2010166309A (ja) | 2010-07-29 |
Family
ID=42582131
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009006690A Pending JP2010166309A (ja) | 2009-01-15 | 2009-01-15 | 光データリンク |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010166309A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015512097A (ja) * | 2012-02-15 | 2015-04-23 | シリコン イメージ,インコーポレイテッド | 複数のブリッジ要素を介する装置間の通信ブリッジ |
WO2016208038A1 (ja) * | 2015-06-25 | 2016-12-29 | ザインエレクトロニクス株式会社 | ホスト側送受信装置および送受信システム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1013485A (ja) * | 1996-06-20 | 1998-01-16 | Sony Corp | 受信データ処理装置及び方法 |
JPH11143571A (ja) * | 1997-11-05 | 1999-05-28 | Mitsubishi Electric Corp | データ処理装置 |
JP2005130358A (ja) * | 2003-10-27 | 2005-05-19 | Pioneer Electronic Corp | 信号伝送装置及び伝送方法 |
JP2008293230A (ja) * | 2007-05-24 | 2008-12-04 | Nec Engineering Ltd | データ転送装置 |
-
2009
- 2009-01-15 JP JP2009006690A patent/JP2010166309A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1013485A (ja) * | 1996-06-20 | 1998-01-16 | Sony Corp | 受信データ処理装置及び方法 |
JPH11143571A (ja) * | 1997-11-05 | 1999-05-28 | Mitsubishi Electric Corp | データ処理装置 |
JP2005130358A (ja) * | 2003-10-27 | 2005-05-19 | Pioneer Electronic Corp | 信号伝送装置及び伝送方法 |
JP2008293230A (ja) * | 2007-05-24 | 2008-12-04 | Nec Engineering Ltd | データ転送装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015512097A (ja) * | 2012-02-15 | 2015-04-23 | シリコン イメージ,インコーポレイテッド | 複数のブリッジ要素を介する装置間の通信ブリッジ |
WO2016208038A1 (ja) * | 2015-06-25 | 2016-12-29 | ザインエレクトロニクス株式会社 | ホスト側送受信装置および送受信システム |
US10372664B2 (en) | 2015-06-25 | 2019-08-06 | Thine Electronics, Inc. | Host-side transceiver device and transceiver system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI731200B (zh) | 使用i2c匯流排與主機連接的從機及其通信方法 | |
US10007628B2 (en) | Dynamically adjustable multi-line bus shared by multi-protocol devices | |
US10241955B2 (en) | Dynamically adjustable multi-line bus shared by multi-protocol devices | |
US8898358B2 (en) | Multi-protocol communication on an I2C bus | |
CN107908589B (zh) | I3c验证从设备、主从设备的通信验证系统及方法 | |
KR20180017035A (ko) | 50 나노초 스파이크 필터를 위한 테스트 | |
JP2010086524A (ja) | 省電力機能を有するブリッジ装置 | |
CN104991876B (zh) | 一种串行总线控制方法及装置 | |
JP2005128747A (ja) | シリアル転送バス用の送受信マクロを有する集積回路装置 | |
US9015365B2 (en) | Integrated circuit using I2C bus and control method thereof | |
AU2011313404B2 (en) | Electronic device and serial data communication method | |
JP4801658B2 (ja) | データ送信制御方法、及びデータ送信制御装置 | |
US7549009B2 (en) | High-speed PCI interface system and a reset method thereof | |
JP2010166309A (ja) | 光データリンク | |
JP2008225577A (ja) | Pciデバイスのホットプラグにおけるモード設定方法及びpciバスを有するシステム | |
CN116541329A (zh) | 一种数据传输方法、装置、设备及介质 | |
CN114996184B (zh) | 兼容实现spi或i2c从机的接口模块及数据传输方法 | |
CN105068962A (zh) | I2c控制器访问方法及系统 | |
CN111130678B (zh) | 数据传输方法、装置、设备及计算机可读存储介质 | |
US20050077363A1 (en) | Integrated circuit card capable of automatically transmitting NULL byte information without intervention by CPU | |
JP2008181182A (ja) | 同期シリアルバスシステムおよびその二次局制御方法 | |
JP2009163531A (ja) | 割り込み管理機構およびマイクロコンピュータ | |
JP2014232414A (ja) | I2c通信スレーブ装置 | |
KR20080020909A (ko) | 전자장치 및 i2c 통신방법 | |
TWI654540B (zh) | 虛擬輸入管理裝置及其管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111020 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120905 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120925 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130219 |