信号処理装置、及び信号伝送方法
【課題】バスシステムにおいて伝送遅延による受信不良を回避することが可能な信号処理装置を提供すること。
【解決手段】第1バスに接続された主機器から供給されるクロック、当該クロックに同期して主機器から送信されるデータを受信する主側受信部、主側受信部でデータが受信された場合に主機器の通信動作を一時停止させる主動作停止部、第2バスに接続された従機器に対し、主側受信部で受信されたクロック及びデータを送信する従側送信部、従側送信部で送信されたクロックに同期して従機器から送信されたデータを受信する従側受信部、従側受信部でデータが受信された場合に主機器の通信動作を再開させる主動作再開部、主動作再開部により通信動作が再開された主機器から供給されるクロックに同期して従側受信部で受信されたデータを主機器に送信する主側送信部を備える信号処理装置が提供される。
【解決手段】第1バスに接続された主機器から供給されるクロック、当該クロックに同期して主機器から送信されるデータを受信する主側受信部、主側受信部でデータが受信された場合に主機器の通信動作を一時停止させる主動作停止部、第2バスに接続された従機器に対し、主側受信部で受信されたクロック及びデータを送信する従側送信部、従側送信部で送信されたクロックに同期して従機器から送信されたデータを受信する従側受信部、従側受信部でデータが受信された場合に主機器の通信動作を再開させる主動作再開部、主動作再開部により通信動作が再開された主機器から供給されるクロックに同期して従側受信部で受信されたデータを主機器に送信する主側送信部を備える信号処理装置が提供される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、信号処理装置、及び信号伝送方法に関する。
【背景技術】
【0002】
携帯電話やノート型のパーソナルコンピュータ(以下、ノートPC)等の情報処理装置は、ユーザが操作する本体部分と、情報が表示される表示部分とを接続するヒンジ部分に可動部材が用いられていることが多い。ところが、ヒンジ部分には多数の信号線や電力線が配線されている。そのため、配線の信頼性を維持する観点から、ヒンジ部分を通る信号線の数を極力減らす工夫が求められている。こうした理由から、最近では、本体部分と表示部分との間で行われるデータ伝送にパラレル伝送方式を用いずに、信号線の本数を減らすことが可能なシリアル伝送方式を用いることが好ましいとされている。なお、下記の特許文献1には、シリアルデータをAMI(Alternate Mark Inversion)符号に符号化し、シリアル伝送方式で伝送する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平3−109843号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本体部分と表示部分との間でデータのシリアル伝送を実現するには、ヒンジ部分を通るシリアル信号線のデータ入力端にパラレルデータをシリアル化するためのシリアライザを設ける必要がある。さらに、シリアル信号線のデータ出力端にシリアルデータをパラレル化するためのデシリアライザを設ける必要がある。そして、シリアル伝送方式で双方向伝送を実現するためには、シリアル信号線のデータ入出力端にシリアライザ及びデシリアライザを設ける必要がある。そのため、シリアル伝送方式で本体部分と表示部分との間のデータ伝送を行う情報処理装置には、シリアル信号線のデータ入出力端にシリアライザ/デシリアライザ(以下、SERDESと表記する場合がある。)が設けられる。
【0005】
一方、本体部分又は表示部分の内部にあるデバイス間は、例えば、複数のシリアルバスにより接続されている。そして、これら複数のシリアルバスを利用してデータやクロックが伝送される。シリアルバスによる接続方式としては、例えば、SPI(Serial Peripheral Interface)方式やI2C(Inter−Integrated Circuit)方式等が知られている(例えば、特開2007−251947号公報を参照)。これらの方式では、1つのバスシステムの中でマスターデバイスとスレーブデバイスとを定義し、マスターデバイスが供給するクロックに同期してスレーブデバイスがデータを伝送するというモデルが採用されている。これらの方式を用いると、デバイス間のデータ伝送を数本程度のシリアルバスにより実現できるため、筐体の小さい情報処理装置において広く利用されている。
【0006】
しかし、シリアライザ/デシリアライザを用いて本体部分と表示部分との間のシリアル伝送を行おうとすると、シリアライザ/デシリアライザで行われる各種処理に時間がかかり、本体部分にあるマスターデバイスと表示部分にあるスレーブデバイスとの間で送受信されるデータに遅延が生じてしまう。そのため、スレーブデバイスからマスターデバイスに送信されるデータに遅延が発生し、その遅延によりスレーブデバイスから送信されるデータがマスターデバイスにより供給されるクロックからずれてしまう。その結果、マスターデバイスはスレーブデバイスからデータを正しく受信することが困難になり、データの伝送が失敗してしまう。
【0007】
また、上記の例ではシリアライザ/デシリアライザが遅延の要因とされていたが、シリアライザ/デシリアライザ以外にも遅延の原因となりうる要素は存在する。こうした要素も考慮に入れ、伝送路においてクロックの同期が乱れる程度に遅延する要素が存在しても、その遅延による影響を受けずにデータが伝送されるようにする信号伝送技術が求められている。特に、既存のシリアルバスによる接続方式の枠組みを維持したまま、遅延要素となりうる部分に改良を加えることにより、遅延による影響を受けずに正しくデータをマスターデバイスに伝送できるようにする技術が求められている。
【0008】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、バスシステムに遅延要素が含まれていたとしても、その遅延要素を介して伝送されるデータを正しく受信できるように伝送することが可能な、新規かつ改良された信号処理装置、及び信号伝送方法を提供することにある。
【課題を解決するための手段】
【0009】
上記課題を解決するために、本発明のある観点によれば、第1のバスに接続されたマスター機器から供給されるクロックと、当該クロックに同期して前記マスター機器から送信されるデータとを受信するマスター側受信部と、前記マスター側受信部によりデータが受信された場合に前記マスター機器の通信動作を一時停止させるマスター動作停止部と、前記第1のバスとは異なる第2のバスに接続されたスレーブ機器に対し、前記マスター側受信部により受信されたクロック及びデータを送信するスレーブ側送信部と、前記スレーブ側送信部により送信されたクロックに同期して前記スレーブ機器から送信されたデータを受信するスレーブ側受信部と、前記スレーブ側受信部によりデータが受信された場合に前記マスター機器の通信動作を再開させるマスター動作再開部と、前記マスター動作再開部により通信動作が再開された前記マスター機器から供給されるクロックに同期して前記スレーブ側受信部により受信されたデータを前記マスター機器に送信するマスター側送信部と、を備える、信号処理装置が提供される。
【0010】
また、前記信号処理装置は、シリアル伝送路により接続された第1及び第2のモジュールにより形成されており、前記スレーブ側送信部は、前記マスター側受信部により受信されたクロック及びデータをシリアル化してシリアル信号を生成し、前記シリアル伝送路を通じて当該シリアル信号を送信する、前記第1のモジュールに設けられたシリアライザと、前記シリアル伝送路を通じて送信されたシリアル信号を受信して前記クロック及びデータを復元する、前記第2のモジュールに設けられたデシリアライザと、を含み、前記スレーブ側受信部は、前記スレーブ機器から送信されたデータをシリアル化してシリアル信号を生成し、前記シリアル伝送路を通じて当該シリアル信号を送信する、前記第2のモジュールに設けられたシリアライザと、前記シリアル伝送路を通じて送信されたシリアル信号を受信して前記データを復元する、前記第1のモジュールに設けられたデシリアライザと、を含むように構成されていてもよい。
【0011】
また、前記第1及び第2のバスは、I2C方式のシリアルバスであってもよい。
【0012】
また、前記マスター動作停止部は、前記マスター機器から供給されるクロックを固定するクロック・ストレッチを用いて前記マスター機器の通信動作を一時停止させ、前記マスター動作再開部は、前記クロック・ストレッチを解除することにより前記マスター機器の通信動作を再開させるように構成されていてもよい。
【0013】
また、前記第1のモジュールは、少なくとも表示データを出力する演算処理部をさらに有し、前記第2のモジュールは、入力された表示データを表示する表示部をさらに有し、前記第1のモジュールに設けられたシリアライザは、前記演算処理部から出力された表示データ及びクロックをシリアル化して送信し、前記第2のモジュールに設けられたデシリアライザは、前記シリアル伝送路を通じて送信されたシリアル信号を受信し、前記クロック及び表示データを復元して前記表示部に入力するように構成されていてもよい。
【0014】
また、前記信号処理装置は、前記マスター機器から受信したデータの送信先が前記第2のバスに接続されたスレーブ機器であるか否かを判定する送信先判定部をさらに備え、前記マスター動作停止部、前記スレーブ側送信部、前記スレーブ側受信部、前記マスター動作再開部、前記マスター側送信部は、前記送信先判定部による判定結果に応じて、前記送信先が前記第2のバスに接続されたスレーブ機器である場合に動作するように構成されていてもよい。
【0015】
また、前記信号処理装置は、無線伝送路により接続された第1及び第2のモジュールにより形成されており、前記スレーブ側送信部は、前記マスター側受信部により受信されたクロック及びデータを無線信号に変換し、前記無線伝送路を通じて送信する、前記第1のモジュールに設けられた無線送信部と、前記無線伝送路を通じて送信された無線信号を受信して前記クロック及びデータを復元する、前記第2のモジュールに設けられた無線受信部と、を含み、前記スレーブ側受信部は、前記スレーブ機器から送信されたデータを無線信号に変換し、前記無線伝送路を通じて送信する、前記第2のモジュールに設けられた無線送信部と、前記無線伝送路を通じて送信された無線信号を受信して前記データを復元する、前記第1のモジュールに設けられた無線受信部と、を含むように構成されていてもよい。
【0016】
また、上記課題を解決するために、本発明の別の観点によれば、第1のバスに接続されたマスター機器から供給されるクロックと、当該クロックに同期して前記マスター機器から送信されるデータとを受信するマスター側受信ステップと、前記マスター側受信ステップでデータが受信された場合に前記マスター機器の通信動作を一時停止させるマスター動作停止ステップと、前記第1のバスとは異なる第2のバスに接続されたスレーブ機器に対し、前記マスター側受信ステップで受信されたクロック及びデータを送信するスレーブ側送信ステップと、前記スレーブ側送信ステップで送信されたクロックに同期して前記スレーブ機器から送信されたデータを受信するスレーブ側受信ステップと、前記スレーブ側受信ステップでデータが受信された場合に前記マスター機器の通信動作を再開させるマスター動作再開ステップと、前記マスター動作再開ステップで通信動作が再開された前記マスター機器から供給されるクロックに同期して前記スレーブ側受信ステップで受信されたデータを前記マスター機器に送信するマスター側送信ステップと、を含む、信号伝送方法が提供される。
【発明の効果】
【0017】
以上説明したように本発明によれば、バスシステムに遅延要素が含まれていたとしても、その遅延要素を介して伝送されるデータを正しく受信できるように伝送することが可能になる。
【図面の簡単な説明】
【0018】
【図1】携帯端末の構造の一例を示す説明図である。
【図2】I2C方式に係る携帯端末の構成例を示す説明図である。
【図3】SERDESを用いてヒンジ部の配線数を減らしたI2C方式に係る携帯端末の構成例を示す説明図である。
【図4】本発明の一実施形態に係る携帯端末の構成例を示す説明図である。
【図5】本実施形態に係る携帯端末が有するSERDESの構成例を示す説明図である。
【図6】I2C方式に係る信号伝送方法の一例(コントロール・バイトの伝送)を示す説明図である。
【図7】I2C方式に係る信号伝送方法の一例(クロック・ストレッチ)を示す説明図である。
【図8】SERDESによる具体的な伝送遅延の発生状況を示す説明図である。
【図9】SERDESを通さずにスレーブデバイスにコントロール・バイトを伝送し、スレーブデバイスからNACKを受け取る際の通信シーケンスを示す説明図である。
【図10】SERDESを通じてスレーブデバイスにコントロール・バイト(Read試行)を伝送し、スレーブデバイスからNACKを受け取る際の通信シーケンスを示す説明図である。
【図11】SERDESを通さずにスレーブデバイスにコントロール・バイト(Read試行)を伝送し、スレーブデバイスからデータを受け取る際の通信シーケンスを示す説明図である。
【図12】SERDESを通じてスレーブデバイスにコントロール・バイト(Read試行)を伝送し、スレーブデバイスからデータを受け取る際の通信シーケンスを示す説明図である。
【図13】SERDESを通さずにスレーブデバイスにコントロール・バイト(Read試行)を伝送し、スレーブデバイスから複数のデータを受け取る際の通信シーケンスを示す説明図である。
【図14】SERDESを通じてスレーブデバイスにコントロール・バイト(Read試行)を伝送し、スレーブデバイスから複数のデータを受け取る際の通信シーケンスを示す説明図である。
【図15】SERDESを通さずにスレーブデバイスにコントロール・バイト(Write試行)を伝送し、スレーブデバイスからNACKを受け取る際の通信シーケンスを示す説明図である。
【図16】SERDESを通じてスレーブデバイスにコントロール・バイト(Write試行)を伝送し、スレーブデバイスからNACKを受け取る際の通信シーケンスを示す説明図である。
【図17】SERDESを通さずにスレーブデバイスにコントロール・バイト(Write試行)を伝送し、スレーブデバイスにデータを書き込む際の通信シーケンスを示す説明図である。
【図18】SERDESを通じてスレーブデバイスにコントロール・バイト(Write試行)を伝送し、スレーブデバイスにデータを書き込む際の通信シーケンスを示す説明図である。
【図19】SERDESを通さずにスレーブデバイスにコントロール・バイト(Write試行)を伝送し、スレーブデバイスに複数のデータを書き込み、スレーブデバイスからNACKを受け取る際の通信シーケンスを示す説明図である。
【図20】SERDESを通じてスレーブデバイスにコントロール・バイト(Write試行)を伝送し、スレーブデバイスに複数のデータを書き込み、スレーブデバイスからNACKを受け取る際の通信シーケンスを示す説明図である。
【図21】SERDESを通さずにスレーブデバイスにコントロール・バイトを伝送し、スレーブデバイスからNACKを受け取った後、リピート・スタート・コンディションを発行する際の通信シーケンスを示す説明図である。
【図22】SERDESを通してスレーブデバイスにコントロール・バイトを伝送し、スレーブデバイスからNACKを受け取った後、リピート・スタート・コンディションを発行する際の通信シーケンスを示す説明図である。
【図23A】操作部側のSERDESによる処理の流れを示す説明図である。
【図23B】操作部側のSERDESによる処理の流れを示す説明図である。
【図23C】操作部側のSERDESによる処理の流れを示す説明図である。
【図24A】表示部側のSERDESによる処理の流れを示す説明図である。
【図24B】表示部側のSERDESによる処理の流れを示す説明図である。
【図24C】表示部側のSERDESによる処理の流れを示す説明図である。
【図25】本実施形態に係る信号伝送方法に用いる送信フレームの伝送フォーマットの構成例を示す説明図である。
【発明を実施するための形態】
【0019】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0020】
[説明の流れについて]
ここで、以下に記載する本発明の実施形態に関する説明の流れについて簡単に述べる。まず、図1を参照しながら、本実施形態で想定される携帯端末の構造について説明する。次いで、図2を参照しながら、デバイス間をI2Cバスにより接続した携帯端末の構成について説明する。この中で、図6、図7を参照しながら、I2C通信の仕組みについて簡単に説明する。次いで、図3を参照しながら、ヒンジ部の配線を通る信号をシリアル化して伝送することが可能な携帯端末の構成について説明する。この中で、図8を参照しながら、I2C方式の信号伝送方法にSERDESを用いたシリアル伝送方法を組み合わせることで生じてしまう問題点を抽出する。
【0021】
次いで、図4、図5を参照しながら、本実施形態に係る携帯端末100の構成について説明する。次いで、図9〜図22を参照しながら、本実施形態に係る信号伝送方法について説明する。また、図23A〜図23C、図24A〜図24Cを参照しながら、本実施形態に係る携帯端末100に設けられたSERDESの動作について説明する。さらに、図25を参照しながら、本実施形態に係る信号伝送方法を実現するために用いられる送信フレームの伝送フォーマットについて説明する。最後に、本実施形態の技術的思想について纏め、当該技術的思想から得られる作用効果について簡単に説明する。
【0022】
(説明項目)
1:一般的な携帯端末の構成
1−1:パラレル伝送方式について
1−2:シリアル伝送方式について
1−3:SERDESによる遅延について
2:実施形態
2−1:携帯端末の構成
2−1−1:全体構成
2−1−2:SERDESの機能構成
2−2:信号伝送方法
2−2−1:Read試行 → NACK応答
2−2−2:Read試行 → データ応答
2−2−3:Read試行 → 複数データ応答
2−2−4:Write試行 → NACK応答
2−2−5:Write試行 → データ書き込み
2−2−6:Write試行 → 複数データ書き込み
2−2−7:リピート・スタート・コンディションの発行
2−3:SERDESの動作
2−3−1:操作部側SERDESの動作
2−3−2:表示部側SERDESの動作
2−4:伝送フォーマット
3:まとめ
【0023】
<1:一般的な携帯端末の構成>
まず、本発明の実施形態について説明するに先立ち、図1〜図3を参照しながら、一般的な携帯端末の構成、及び一般的な携帯端末が抱える課題について説明する。ここでは説明の都合上、一般的な携帯端末の一例として折り畳み式の携帯電話を想定する。
【0024】
まず、図1を参照する。図1には、一般的な携帯端末の外形が示されている。図1に示すように、携帯端末は、表示部と、ヒンジ部と、操作部とにより構成されている。表示部には、例えば、LCD(Liquid Crystal Display)やELD(Electro Luminescence Display)等が搭載されている。以下では、表示部にLCDが搭載されるものとして説明する。また、表示部は、ヒンジ部を介して操作部に接続されている。ヒンジ部は、可動部材により構成されている。そのため、ユーザは、ヒンジ部の可動範囲内で表示部と操作部の相対位置を変更することができる。
【0025】
また、操作部には、例えば、操作キーが搭載されている。さらに、操作部の内部には、CPU(Central Processing Unit)やバッテリーが搭載されている。そして、CPUから出力される一部のデータは、操作部から表示部に伝送される。例えば、表示データは、操作部から表示部に伝送され、表示部に搭載されたLCDに入力される。また、バッテリーから出力される電流は、表示部の電源として操作部から表示部に供給される。このように、操作部から表示部へはデータや電源が伝送される。
【0026】
また、表示部には、カメラ、センサ、スイッチ、RFアンテナ等、様々なデバイスが搭載されていることが多い。そのため、表示部から操作部へも様々なデータが伝送される。これらのデータを伝送するため、ヒンジ部には、複数の信号線が配線される。しかし、ヒンジ部に多くの信号線が配線されていると、ヒンジ部の変形に伴って配線が捻れたり、引っ張られたりするため、配線が断線してしまう恐れがある。逆に、配線の断線を避けるためにヒンジ部の可動範囲を抑制すると、表示部と操作部との位置関係を自由に変化させることが難しくなり、ユーザの利便性が低下してしまう。
【0027】
[1−1:パラレル伝送方式について]
上記の通り、多くの携帯端末には、図2に示すように、操作部側にも表示部側にも多くのデバイスが搭載されている。そして、これらのデバイスの間は、複数本のシリアルバスにより接続されている。シリアルバスによる接続方式としては、例えば、SPI方式やI2C方式等が知られている。ここではI2C方式を例に挙げて説明する。図2に示すように、I2C方式の場合、2本のシリアルバス(以下、I2Cバス)を用いてデバイス間でデータのやり取りが行われる。
【0028】
2本のI2Cバスは、SCL(Serial Clock Line)、SDA(Serial Data Line)と呼ばれる2つの信号ラインにより構成される。以下、SCLを流れるクロックをSCL信号又はクロックと表記し、SDAを流れるデータをSDA信号又はデータと表記する。また、I2Cバスにより構成されるバスシステムでは、各デバイスにマスター(Master)又はスレーブ(Slave)の属性が割り当てられる。例えば、CPUはマスターデバイスして扱われ、操作キー(KEY)、赤外線通信デバイス(IrDA)、カメラ、及びLCDはスレーブデバイスとして扱われる。
【0029】
SCL信号は、I2Cバスによりデータを伝送するためのクロックであり、マスターデバイスにより供給される。SDA信号は、SCL信号に同期して伝送されるデータである。以下の説明において、信号の伝送方向を区別するため、マスターデバイスからスレーブデバイスへと伝送されるSDA信号をSDA信号(X)と表記し、スレーブデバイスからマスターデバイスへと伝送されるSDA信号をSDA信号(Y)と表記する。なお、信号の伝送方向は、マスターデバイスにより制御される。ここで、伝送方向の制御を含めたI2Cに係る伝送制御の仕組みについて簡単に説明する。
【0030】
I2C方式の通信(以下、I2C通信)は、マスターデバイスによりスタート・コンディションと呼ばれるコマンドが発行されることにより開始される。スタート・コンディションの発行は、SCL信号がHレベルのときにマスターデバイスによりSDA信号(X)がHレベルからLレベルに変更されることでスレーブデバイスに通知される。このとき、スタート・コンディションは、I2Cバスに接続された全てのスレーブデバイスに通知される。全てのスレーブデバイスがスタート・コンディションを受信すると、マスターデバイスは、コントロール・バイト(CB;Control Byte)と呼ばれるSDA信号(X)を送信する。
【0031】
コントロール・バイトには、通信対象のスレーブデバイスを示すアドレス情報と、SDA信号の伝送方向を示すR/Wフラグとが含まれる。このコントロール・バイトは、I2Cバスに接続された全てのスレーブデバイスにより受信される。各スレーブデバイスは、コントロール・バイトを受信し、それに含まれるアドレス情報と自身のアドレスとが一致しているか否かを判定する。コントロール・バイトに含まれるアドレス情報と自身のアドレスとが一致しているスレーブデバイスはSDA信号の送受信に備え、不一致のスレーブデバイスは再びスタート・コンディションが発行されるまで待機する。
【0032】
SDA信号の送受信は、コントロール・バイトに含まれるR/Wフラグが示す方向に従って行われる。例えば、R/WフラグがReadの場合、スレーブデバイスからマスターデバイスへとSDA信号(Y)の伝送が行われる。一方、R/WフラグがWriteの場合、マスターデバイスからスレーブデバイスへとSDA信号(X)の伝送が行われる。SDA信号は、マスターデバイスが出力するSCL信号に同期して1クロック毎に1ビットずつ、例えば、1度に8クロック分だけ送信される。そして、9クロック目のタイミングで受信側から送信側へとACK(SDA信号=Lレベル)又はNACK(SDA信号=Hレベル)が返される(図6を参照)。
【0033】
I2C通信を終了する際には、ストップ・コンディションと呼ばれるコマンドが発行される。ストップ・コンディションは、SCL信号がHレベルのときにマスターデバイスによりSDA信号をLレベルからHレベルに変化させることで発行される。ストップ・コンディションが発行されると、スレーブデバイスは、再びスタート・コンディションが発行されるまで待機状態となる。つまり、ストップ・コンディションによりI2Cバスが開放される。
【0034】
このように、I2C通信の開始時にマスターデバイスにより通信対象のスレーブデバイスとデータの伝送方向とが決定される。但し、I2C通信には、スタート・コンディションとストップ・コンディションとの間で伝送方向や通信対象を変えるコマンド(リピート・スタート・コンディション)も用意されている。そのため、リピート・スタート・コンディションを利用して、本来スタート・コンディションとストップ・コンディションとの間で固定されている伝送方向や通信対象を変更することができる。
【0035】
リピート・スタート・コンディションの発行方法は、スタート・コンディションの発行方法と同じである。但し、リピート・スタート・コンディションは、スタート・コンディションとストップ・コンディションとの間で発行される。リピート・スタート・コンディションを発行した後、マスターデバイスは、変更後のアドレス情報及びR/Wフラグを含むコントロール・バイトをスレーブデバイスに向けて送信する。そして、このコントロール・バイトにより新たな伝送方向と通信対象とが再決定される。
【0036】
また、I2C通信には、マスターデバイスに対して通信の一時停止を要求するコマンド(クロック・ストレッチ;図7を参照)が定義されている。クロック・ストレッチとは、スレーブデバイスがマスターデバイスから供給されるSCL信号を強制的にLレベル出力にするというものである。クロック・ストレッチの間、SCL信号がLレベルに固定されるため、マスターデバイスはI2C通信を一時停止する。スレーブデバイスによりSCL信号のLレベル出力が解除されると、マスターデバイスは、I2C通信を再開する。このように、クロック・ストレッチを利用することで、スレーブデバイスの制御によりマスターデバイスのI2C通信を一時停止させることができる。
【0037】
以上、I2C方式に係る伝送制御の仕組みについて簡単に説明した。このように、I2C方式においては、SCLとSDAとを組み合わせてデータの伝送が行われる。そのため、I2C方式においては2本のI2Cバスがデータの送受信に必要とされる。操作部内のマスターデバイスと表示部内のスレーブデバイスとの間でデータの送受信を実現しようとすると、電源線等も含め、ヒンジ部には複数本の配線が通ることになる。
【0038】
先に述べた通り、ヒンジ部に複数本の配線が通ると、ヒンジ部の変形に伴って信号線が断線してしまう危険性がある。そのため、ヒンジ部の配線数を極力低減させる工夫が必要になる。この問題に対する一つの解決策は、ヒンジ部を通る複数の信号(例えば、SCL、SDA等)をシリアル化したり、シリアル化された信号を電源に重畳して伝送することである。なお、電源に重畳する場合には、シリアル信号をDCフリーの符号に符号化しておく必要がある。DCフリーの符号に符号化しておくことで、DC電源に重畳しても、受信側でDCカットすることによりシリアル信号を容易に分離することができるようになる。
【0039】
[1−2:シリアル伝送方式について]
さて、ヒンジ部を通る信号をシリアル化するには、図3に示すように、操作部及び表示部の双方にシリアライザ/デシリアライザ(SERDES(#1)、SERDES(#2))を設ければよい。図3のように、シリアライザ/デシリアライザを設け、伝送信号をシリアル化して多重することにより、ヒンジ部を通る信号線を大幅に低減させることができる。例えば、伝送信号をDCフリーの符号に符号化し、シリアル化して多重すると共に電源を重畳して伝送することにより、電源線を含めたヒンジ部の配線を1〜2本程度の同軸ケーブルに纏めることが可能になる。
【0040】
(SERDESの動作)
ここで、図3を参照しながら、シリアライザ/デシリアライザの動作について説明する。なお、操作部側のシリアライザ/デシリアライザをSERDES(#1)と表記し、表示部側のシリアライザ/デシリアライザをSERDES(#2)と表記している。シリアライザ/デシリアライザは、いずれもシリアライザ(SER)と、デシリアライザ(DES)とにより構成される。なお、以下の説明においては、操作部側にマスターデバイスが配置され、表示部側にスレーブデバイスが配置されているものとする。
【0041】
まず、マスターデバイスからSCL信号、SDA信号(X)が入力されると、SERDES(#1)は、シリアライザにより、入力されたSCL信号、SDA信号(X)等をシリアル化して多重し、シリアル伝送信号を生成する。なお、SERDES(#1)、SERDES(#2)には、シリアル化用のクロックMCKがマスターデバイスから入力されているものとする。SERDES(#1)により生成されたシリアル伝送信号は、同軸ケーブルを通じてSERDES(#2)に伝送される。シリアル伝送信号を受信すると、SERDES(#2)は、デシリアライザにより、シリアル伝送信号をパラレル化してSCL信号、SDA信号(X)等を分離し、スレーブデバイスに向けて送信する。
【0042】
逆に、表示部側のスレーブデバイスからSDA信号(Y)を伝送する場合には、スレーブデバイスからSDA信号(Y)がSERDES(#2)に入力される。SERDES(#2)に入力されたSDA信号(Y)は、シリアライザによりMCKに同期するようにシリアル化され、同軸ケーブルを通じてSERDES(#1)に伝送される。SERDES(#1)では、受信したSDA信号(Y)のシリアル信号をMCKに同期してサンプリングし、SCL信号に同期してマスターデバイス向けに出力する。このように、シリアライザ/デシリアライザを設けることで、ヒンジ部を通る信号がシリアル化され、ヒンジ部の配線数を低減することができる。
【0043】
[1−3:SERDESによる遅延について]
しかしながら、図8に示すように、SERDES(#1)、SERDES(#2)の内部で行われる処理により、スレーブデバイスに到達するSDA信号(X)には遅延が発生してしまい、SERDES(#1)に入力されたSCL信号との同期が乱れてしまう。そして、SERDES(#2)は、遅延したSCL信号に同期してSDA信号(X)をスレーブデバイスに送信してしまう。但し、スレーブデバイスは、SERDES(#2)から出力される遅延したSCL信号に同期してSDA信号(X)を正しく受信することができる。
【0044】
しかし、SDA信号(X)に応じてスレーブデバイスから出力されるSDA信号(Y)(例えば、ACK/NACK等)は、遅延したSCL信号に同期して送信されるため、SERDES(#2)に遅延したSDA信号(Y)が入力される。このSDA信号(Y)をSERDES(#2)、SERDES(#1)により伝送するため、その伝送処理により遅延が拡大してしまう。その結果、SDA信号(Y)は、マスターデバイスから供給されるSCL信号の同期タイミングから大きく外れてしまう。そして、マスターデバイスは、SERDES(#2)、SERDES(#1)を経由してスレーブデバイスから伝送されたSDA信号(Y)を正しく受信することが難しくなる。
【0045】
なお、シリアライザ/デシリアライザを経由せず、操作部内のデバイス同士でSDA信号をやり取りする場合には、図6のように、SCL信号に同期したタイミングでSDA信号(X)、SDA信号(Y)の送受信が正しく行われる。しかし、SERDES(#2)、SERDES(#1)を経由してやり取りされるSDA信号(X)、SDA信号(Y)には、図8に示すような遅延が生じ、本来、図8のタイミング(A)で受信されるべき1ビットのSDA信号(Y)がマスターデバイスにより受信できなくなってしまう。
【0046】
シリアライザ/デシリアライザによる遅延は、例えば、SERDES(#1)においてMCKに同期してSDA信号(X)をサンプリングする際のサンプリングタイミングにより生じる。また、SERDES(#1)、SERDES(#2)の内部で行われる処理(例えば、シリアル化、パラレル化、符号化等)によっても遅延が生じる。但し、スレーブデバイスに対してはSCL信号に同期してSDA信号(X)が送信されるため、スレーブデバイスがSDA信号(X)を受信する分には正しく受信を行うことができる(図8を参照)。
【0047】
しかし、スレーブデバイスがSERDES(#2)から供給されるSCL信号に同期してSDA信号(Y)を送信すると、そのSDA信号(Y)は、SERDES(#2)に入力された時点で既にマスターデバイスから供給されているSCL信号から遅延したものとなる。さらに、SERDES(#2)により受信されたSDA信号(Y)は、SERDES(#2)、SERDES(#1)により更なる遅延を受けて伝送される。その結果、SERDES(#1)から出力されるSDA信号(Y)は、図8に示すように、SCL信号から大きく遅延してしまう。
【0048】
このように大きな遅延が発生してしまうと、マスターデバイスにおいてSDA信号(Y)を正しく受信することが難しくなる。例えば、図8の例においてSCL信号の立ち上がりエッジに同期してSDA信号(Y)をサンプリングした場合には、正しくSDA信号(Y)を受信することができない。このような理由から、シリアライザ/デシリアライザを経由することにより遅延が生じたとしてもマスターデバイスでSDA信号(Y)を正しく受信できるようにする信号伝送技術が求められるのである。
【0049】
このような課題に対し、例えば、MCKを十分に高速化し、SCL信号を十分に低速化することにより、サンプリングタイミングにより生じる遅延を小さくことができる。しかし、MCKを高速化すると消費電力が大幅に増大してしまう。また、ヒンジ部を通過する信号のクロック周波数が高まるため、通信電波への電磁干渉(EMI)が問題となる。さらに、SCL信号を低速化するとI2Cバスの伝送速度が低下し、パフォーマンスが大幅に低下してしまう。
【0050】
また、マスターデバイスがシリアライザ/デシリアライザによる遅延を考慮してSDA信号(Y)の受信タイミングを調整する方法も考えられるが、遅延の原因がサンプリングタイミングや各種処理時間、SERDES(#1)とSERDES(#2)との間の距離にあるため、十分な精度でタイミング調整を行うことは現実的に困難である。以下、このような課題を解決するための具体的な方法について説明する。
【0051】
<2:実施形態>
本発明の一実施形態について説明する。本実施形態は、シリアライザ/デシリアライザにより遅延が発生したとしても、マスターデバイスにおいて正しくSDA信号(Y)を受信できるようにする信号伝送方法を提案するものである。なお、当該信号伝送方法は、I2C方式等、既存のバスシステムの枠組みを変更せずに上記の課題を解決しようとするものである。ここでは、説明の都合上、I2C方式のバスシステムを前提に説明するが、本実施形態に係る技術の適用範囲はI2C方式のバスシステムに限定されるものではなく、I2C方式と同様の仕組みが定義されたバスシステムにおいて好適に用いられる。
【0052】
[2−1:携帯端末の構成]
以下、本実施形態に係る携帯端末100の構成について説明する。
【0053】
(2−1−1:全体構成)
まず、図4を参照しながら、本実施形態に係る携帯端末100の全体的な構成について説明する。図4は、本実施形態に係る携帯端末100の全体的な構成例を示す説明図である。なお、図4には、折り畳み式の携帯電話を模した携帯端末100の外形が記載されているが、本実施形態に係る技術の適用範囲は、折り畳み式の携帯電話に限定されるものではない。例えば、ノートPC、携帯型ゲーム機、携帯情報端末等、任意の電子機器に対して適用することが可能である。
【0054】
図4に示すように、携帯端末100は、表示部102と、ヒンジ部104と、操作部106とにより構成される。表示部102と操作部106とは、ヒンジ部104により接続されている。また、ヒンジ部104は可動部材で形成されており、ヒンジ部104の可動範囲内において表示部102と操作部106との位置関係を変更することができる。さらに、ヒンジ部104には同軸ケーブルが配線されており、表示部102と操作部106とが電気的に接続されている。
【0055】
また、表示部102には、シリアライザ/デシリアライザ140(SERDES(#2))と、スレーブデバイス142(I2C Slave(3)、I2C Slave(3))とが搭載されている。そして、操作部106には、シリアライザ/デシリアライザ120(SERDES(#1))と、マスターデバイス122(I2C Master)と、スレーブデバイス124(I2C Slave(1)、I2C Slave(2))とが搭載されている。
【0056】
マスターデバイス122としては、例えば、CPUやベースバンドプロセッサ等が想定される。ベースバンドプロセッサは、通信制御やアプリケーションの実行等を行うデバイスである。また、スレーブデバイス124、142としては、例えば、操作キー、赤外線通信デバイス、カメラデバイス、ディスプレイデバイス等が想定される。もちろん、ここで例示したデバイス以外にも、マスターデバイス122、スレーブデバイス124、142として利用可能なデバイスは存在し、実施の態様に応じて適切なデバイスにマスター/スレーブの属性が割り当てられる。
【0057】
(マスターデバイス122 − スレーブデバイス124)
ここで、マスターデバイス122とスレーブデバイス124との間でデータ(SDA信号(X)、SDA信号(Y))のやり取りが行われる際の動作フローについて説明する。
【0058】
まず、マスターデバイス122により、スタート・コンディションが発行され、コントロール・バイトを用いてスレーブデバイス124が選択される。コントロール・バイトに含まれるR/WフラグがWriteの場合、マスターデバイス122から、選択されたスレーブデバイス124へとSDA信号(X)が送信される。一方、コントロール・バイトに含まれるR/WフラグがReadの場合、スレーブデバイス124からマスターデバイス122へとSDA信号(Y)が送信される。このとき、スレーブデバイス124には、マスターデバイス122からSCL信号が供給されており、SDA信号(X)、SDA信号(Y)はSCL信号に同期して送信される。
【0059】
スレーブデバイス124は、マスターデバイス122と同じ操作部106に設けられており、直接I2Cバス110に接続されている。そのため、シリアライザ/デシリアライザ120、140をSDA信号(X)、SDA信号(Y)が通ることはない。従って、このケースにおいて、SDA信号(X)、SDA(Y)は、シリアライザ/デシリアライザ120、150により生じる遅延とは無関係である。従って、マスターデバイス122は、R/WフラグがReadの場合、SCL信号に同期して正しくSDA信号(Y)を受信することができる。また、スレーブデバイス124は、R/WフラグがWriteの場合、SCL信号に同期して正しくSDA信号(X)を受信することができる。
【0060】
従って、マスターデバイス122と同じ操作部106に設けられたスレーブデバイス124に対するデータの送受信については、シリアライザ/デシリアライザ120、150による遅延への対策を講じる必要はない。
【0061】
(マスターデバイス122 − スレーブデバイス142)
次に、マスターデバイス122とスレーブデバイス142との間でデータ(SDA信号(X)、SDA信号(Y))のやり取りが行われる際の動作フローについて説明する。
【0062】
まず、マスターデバイス122により、スタート・コンディションが発行され、コントロール・バイトを用いてスレーブデバイス142が選択される。但し、スレーブデバイス142が表示部102側に設けられているため、コントロール・バイトは、シリアライザ/デシリアライザ120、140を介して表示部102にシリアル伝送される。このとき、シリアライザ/デシリアライザ120、140における各種処理等により、コントロール・バイトには遅延が生じる。遅延が生じたコントロール・バイトは、I2Cバス108を通じてシリアライザ/デシリアライザ140からスレーブデバイス142に伝送される。
【0063】
コントロール・バイトを受信すると、スレーブデバイス142は、ACK(成功)又はNACK(失敗)をマスターデバイス122に向けて送信する。このとき、スレーブデバイス142は、シリアライザ/デシリアライザ140から供給されるSCL信号に同期してACK/NACKを伝送する。但し、シリアライザ/デシリアライザ140から供給されるSCL信号には遅延が含まれているため、スレーブデバイス142から送信されるACK/NACKは、マスターデバイス122から供給されたSCL信号から遅延したものとなる。
【0064】
スレーブデバイス142から送信されたACK/NACKは、I2Cバス108を通じてシリアライザ/デシリアライザ140に伝送される。そして、このACK/NACKは、シリアライザ/デシリアライザ140、120を介してマスターデバイス122に伝送される。このとき、シリアライザ/デシリアライザ140、120における各種処理等により、ACK/NACKに更なる遅延が生じる(図8を参照)。先に述べた通り、このまま送信すると、マスターデバイス122が正しくACK/NACKを受信することができなくなる。
【0065】
そこで、本実施形態に係るシリアライザ/デシリアライザ120は、マスターデバイス122からコントロール・バイトを受信した時点でクロック・ストレッチ(図7を参照)を開始し、マスターデバイス122の通信動作を一時停止させる。そして、シリアライザ/デシリアライザ140から伝送されたACK/NACKを送信する際にクロック・ストレッチを解除し、マスターデバイス122から再び供給されるSCL信号に同期してACK/NACKを送信する。なお、コントロール・バイトに対するACK/NACKの応答に限らず、シリアライザ/デシリアライザ120、140を介してSDA信号(Y)を伝送する際には遅延が生じる。そのため、このような場合にも本実施形態においては同様の対策が講じられる。
【0066】
上記のような対策を講じることにより、シリアライザ/デシリアライザ120、140で伝送遅延が生じたとしても、マスターデバイス122により正しくSDA信号(Y)を受信することができるようになる。以下、シリアライザ/デシリアライザ120、140の機能構成について、より詳細に説明する。
【0067】
(2−1−2:SERDESの機能構成)
ここでは、図5を参照しながら、本実施形態に係るシリアライザ/デシリアライザ120、140の機能構成について説明する。図5は、本実施形態に係るシリアライザ/デシリアライザ120、140の機能構成例を示す説明図である。上記の通り、シリアライザ/デシリアライザ120は、スレーブデバイス140へのSDA信号(Y)の要求(SDA信号(X))を受け付けた時点でクロック・ストレッチを開始し、SDA信号(Y)をマスターデバイス122に送信する時点でクロック・ストレッチを解除する。このような制御を行うことにより、SDA信号(Y)をマスターデバイス122が正しく受信することができるようになる。
【0068】
(シリアライザ/デシリアライザ120の構成)
図5に示すように、シリアライザ/デシリアライザ120は、I2Cインターフェース130と、I2Cスレーブ機能提供部132と、送信部134と、PHYレイヤ機能提供部136と、受信部138とを有する。なお、シリアライザ/デシリアライザ120には、マスターデバイス122からシリアル伝送用のクロックMCKが供給されているものとする。
【0069】
(シリアライザ/デシリアライザ140の構成)
また、シリアライザ/デシリアライザ140は、PHYレイヤ機能提供部150と、受信部152と、I2Cマスタ機能提供部154と、I2Cインターフェース156と、送信部158とを有する。なお、シリアライザ/デシリアライザ150には、マスターデバイス122からシリアル伝送用のクロックMCKが供給されているものとする。
【0070】
(動作)
以下、シリアライザ/デシリアライザ120、140の動作について説明する。
【0071】
スタート・コンディションが発行されると、マスターデバイス122からコントロール・バイトが送信され、シリアライザ/デシリアライザ120に入力される。このとき、マスターデバイス122からはSCL信号が供給され、SDAを通じてSCL信号に同期したコントロール・バイトが入力される。SCL信号、コントロール・バイトは、I2Cインターフェース130を通じてI2Cスレーブ機能提供部132に入力される。I2Cスレーブ機能提供部132は、コントロール・バイトに含まれるアドレス情報を参照し、スレーブデバイス142のアドレスに一致するか否かを判定する。
【0072】
アドレス情報がスレーブデバイス142のアドレスに一致しない場合には、次にスタート・コンディションが発行されるまで待機する。一方、アドレス情報がスレーブデバイス142のアドレスに一致する場合、I2Cスレーブ機能提供部132は、クロック・ストレッチを開始し、マスターデバイス122の通信動作を一時停止する。そして、I2Cスレーブ機能提供部132は、コントロール・バイト及びSCL信号を送信部134に入力し、PHYレイヤ機能提供部136を通じてシリアライザ/デシリアライザ140にシリアル伝送する。
【0073】
シリアライザ/デシリアライザ140にシリアル伝送されたコントロール・バイト及びSCL信号は、PHYレイヤ機能提供部150を通じて受信部152により受信され、パラレル化されてI2Cマスタ機能提供部154に入力される。コントロール・バイト及びSCL信号が入力されると、I2Cマスタ機能提供部154は、I2Cインターフェース156を介して、入力されたSCL信号をスレーブデバイス142に供給すると共に、そのSCL信号に同期してコントロール・バイトを送信する。
【0074】
このとき、シリアライザ/デシリアライザ120、140における各種処理等により、コントロール・バイト及びSCL信号には遅延が生じているが、スレーブデバイス142では、そのSCL信号に同期してコントロール・バイトを正しく受信することができる。コントロール・バイトを受信したスレーブデバイス142は、マスターデバイス122に向けてACK又はNACKを送信する。このとき、スレーブデバイス142は、シリアライザ/デシリアライザ140から供給されるSCL信号に同期してACK又はNACKを送信する。
【0075】
スレーブデバイス142から送信されたACK又はNACKは、I2Cインターフェース156を通じてI2Cマスタ機能提供部154に入力される。ACK又はNACKが入力されると、I2Cマスタ機能提供部154は、入力されたACK又はNACKを送信部158に入力し、PHYレイヤ機能提供部150を通じてシリアライザ/デシリアライザ120にACK/NACKをシリアル伝送する。シリアライザ/デシリアライザ140からシリアル伝送されたACK/NACKは、PHYレイヤ機能提供部136を通じて受信部138により受信され、パラレル化されてI2Cスレーブ機能提供部132に入力される。
【0076】
ACK/NACKが入力されると、I2Cスレーブ機能提供部132は、クロック・ストレッチを解除し、マスターデバイス122から再び供給されるSCL信号に同期してI2CインターフェースによりACK/NACKを送信する。このようにしてI2Cスレーブ機能提供部132から送信されたACK/NACKは、SCL信号に同期して正しく受信することができる。そのため、シリアライザ/デシリアライザ120、140において伝送遅延が発生したとしても、マスターデバイス122において正しくACK/NACKを受信することができるようになる。なお、ACK/NACK以外のSDA信号(Y)についても同様である。
【0077】
なお、シリアル信号をDCフリーの符号に符号化して伝送する場合、その符号化処理は、送信部134、158において行われる。また、復号処理は、受信部138、152において行われる。さらに、シリアル信号にDC電源を重畳して伝送する場合、DC電源の重畳はPHYレイヤ機能提供部136において行われ、DC電源の分離はPHYレイヤ機能提供部150において行われる。このような構成にすることにより、DC電源とシリアル信号とを重畳して伝送することができるようになるため、シリアライザ/デシリアライザ120、140間の配線数を減らすことができる。
【0078】
以上、本実施形態に係るシリアライザ/デシリアライザ120、140の機能構成について説明した。以下では、本実施形態に係る信号伝送方法について説明すると共に、シリアライザ/デシリアライザ120、140の動作についても、より詳細に説明する。
【0079】
[2−2:信号伝送方法]
以下、本実施形態に係る信号伝送方法について説明する。
【0080】
先に述べた通り、I2C通信では、スタート・コンディションの発行後にマスターデバイス122から送信されるコントロール・バイトにより、伝送方向と通信対象とが特定される。さらに、リピート・スタート・コンディションの発行により、伝送方向、通信対象を変更することができる。また、スレーブデバイス124、142の応答内容に応じて通信シーケンスが異なる。そのため、本実施形態に係る通信シーケンスには多数のパターンが存在する。以下では、その一部のパターンを例に挙げて本実施形態に係る信号伝送方法について説明する。
【0081】
(2−2−1:Read試行 → NACK応答)
まず、図9、図10を参照しながら、R/WフラグがReadの場合に、コントロール・バイトに対してNACKが返されるまでの通信シーケンスについて具体的に説明する。なお、図中において、ADはアドレス情報を示し、RはReadを示すR/Wフラグを示し、NはNACKを示す。また、Sはスタート・コンディションを示し、Pはストップ・コンディションを示す。
【0082】
スタート・コンディションSが発行されると、マスターデバイス122からコントロール・バイトが全てのスレーブデバイス124、142に送信される。そのうち、スレーブデバイス124に向けて送信されるものは、シリアライザ/デシリアライザ120、140を通さずに伝送される。一方、スレーブデバイス142に向けて送信されるものは、シリアライザ/デシリアライザ120、140を通して伝送される。以下、それぞれのケースについて個々に説明する。
【0083】
(SERDESを通さない伝送)
まず、図9を参照しながら、シリアライザ/デシリアライザ120、140を通さずにSDA信号のやり取りが行われるケースについて説明する。
【0084】
図9に示すように、まず、マスターデバイス122によりスタート・コンディションSが発行される。次いで、マスターデバイス122によりアドレス情報(7ビット)及びR/Wフラグ(1ビット)を含むコントロール・バイトがSDAを通じて送信される。次いで、スレーブデバイス124は、マスターデバイス122により送信されたコントロール・バイトを受信し、次のビットクロック(SCL信号)に同期してNACK(1ビット)をマスターデバイス122に送信する。NACKを受信すると、マスターデバイス122は、ストップ・コンディションPを発行してI2C通信を終了する。
【0085】
このように、シリアライザ/デシリアライザ120、140を通さない場合には遅延が生じないため、コントロール・バイトの送信に用いた8ビット分のビットクロックに続く1ビット分のビットクロックに同期してNACKが送信される。そのため、マスターデバイス122は、SCL信号に同期してコントロール・バイトに対するNACKを正しく受信することができる。
【0086】
(SERDESを通す伝送)
次に、図10を参照しながら、シリアライザ/デシリアライザ120、140を通じてSDA信号のやり取りが行われるケースについて説明する。
【0087】
図10に示すように、まず、マスターデバイス122によりスタート・コンディションSが発行される。次いで、マスターデバイス122によりアドレス情報及びR/Wフラグを含むコントロール・バイトがSDAを通じて送信される。SDAを通じて送信されたコントロール・バイトは、シリアライザ/デシリアライザ120に入力される。コントロール・バイトが入力されると、シリアライザ/デシリアライザ120は、クロック・ストレッチを開始し、マスターデバイス122の通信動作を一時停止する。そして、シリアライザ/デシリアライザ120は、入力されたコントロール・バイト及びSCL信号をシリアライザ/デシリアライザ140に伝送する。
【0088】
伝送されたコントロール・バイト及びSCL信号を受信すると、シリアライザ/デシリアライザ140は、スタート・コンディションを発行し、受信したSCL信号に同期してコントロール・バイトをスレーブデバイス142に送信する。シリアライザ/デシリアライザ140により送信されたコントロール・バイトを受信すると、スレーブデバイス142は、コントロール・バイトの送信に利用されたビットクロックの次のビットクロックに同期してNACKを送信する。スレーブデバイス142により送信されたNACKは、シリアライザ/デシリアライザ140により受信され、シリアライザ/デシリアライザ120に伝送される。
【0089】
シリアライザ/デシリアライザ140からNACKを受信すると、シリアライザ/デシリアライザ120は、クロック・ストレッチを解除し、マスターデバイス122から再び供給されるSCL信号に同期してNACKを送信する。シリアライザ/デシリアライザ120により送信されたNACKを受信すると、マスターデバイス122は、ストップ・コンディションPを発行して操作部106側におけるI2C通信を終了する。また、操作部106側のストップ・コンディションPの通知が表示部102側にも伝達される。操作部106側におけるI2C通信が終了すると、シリアライザ/デシリアライザ140もストップ・コンディションPを発行し、表示部102側におけるI2C通信を終了する。
【0090】
このように、シリアライザ/デシリアライザ120、140により遅延が生じる場合でも、クロック・ストレッチによりSCL信号の送信が停止されているため、コントロール・バイトの送信に用いた8ビット分のビットクロックに続く1ビット分のビットクロックに同期してNACKが送信される。そのため、マスターデバイス122は、SCL信号に同期してコントロール・バイトに対するNACKを正しく受信することができる。
【0091】
(2−2−2:Read試行 → データ応答)
次に、図11、図12を参照しながら、R/WフラグがReadの場合に、コントロール・バイトに対してデータが返されてから通信が終了するまでの通信シーケンスについて具体的に説明する。なお、図中において、ADはアドレス情報を示し、RはReadを示すR/Wフラグを示し、NはNACKを示し、AはACKを示し、Dはデータを示す。また、Sはスタート・コンディションを示し、Pはストップ・コンディションを示す。
【0092】
スタート・コンディションSが発行されると、マスターデバイス122からコントロール・バイトが全てのスレーブデバイス124、142に送信される。そのうち、スレーブデバイス124に向けて送信されるものは、シリアライザ/デシリアライザ120、140を通さずに伝送される。一方、スレーブデバイス142に向けて送信されるものは、シリアライザ/デシリアライザ120、140を通して伝送される。以下、それぞれのケースについて個々に説明する。
【0093】
(SERDESを通さない伝送)
まず、図11を参照しながら、シリアライザ/デシリアライザ120、140を通さずにSDA信号のやり取りが行われるケースについて説明する。
【0094】
図11に示すように、まず、マスターデバイス122によりスタート・コンディションSが発行される。次いで、マスターデバイス122によりアドレス情報及びR/Wフラグを含むコントロール・バイトがSDAを通じて送信される。次いで、スレーブデバイス124は、マスターデバイス122により送信されたコントロール・バイトを受信し、次のビットクロックに同期してACKをマスターデバイス122に送信する。
【0095】
さらに、スレーブデバイス124は、次のビットクロックに同期して1ビットずつ8ビットのデータDをマスターデバイス122に送信する。8ビットのデータDを全て送信すると、スレーブデバイス124は、データDの送信に利用されたビットクロックの次のビットクロックに同期してNACK(1ビット)をマスターデバイス122に送信する。NACKを受信すると、マスターデバイス122は、ストップ・コンディションPを発行してI2C通信を終了する。
【0096】
このように、シリアライザ/デシリアライザ120、140を通さない場合には遅延が生じないため、コントロール・バイトの送信に用いた8ビット分のビットクロックに続く1ビット分のビットクロックに同期してACKが送信され、続く8ビット分のビットクロックに同期して8ビットのデータDが送信され、続く1ビット分のビットクロックに同期してNACKが送信される。そのため、マスターデバイス122は、SCL信号に同期してコントロール・バイトに対するACK、及びデータDを正しく受信することができる。
【0097】
(SERDESを通す伝送)
次に、図12を参照しながら、シリアライザ/デシリアライザ120、140を通じてSDA信号のやり取りが行われるケースについて説明する。
【0098】
図12に示すように、まず、マスターデバイス122によりスタート・コンディションSが発行される。次いで、マスターデバイス122によりアドレス情報及びR/Wフラグを含むコントロール・バイトがSDAを通じて送信される。
【0099】
SDAを通じて送信されたコントロール・バイトは、シリアライザ/デシリアライザ120に入力される。コントロール・バイトが入力されると、シリアライザ/デシリアライザ120は、クロック・ストレッチを開始し、マスターデバイス122の通信動作を一時停止する。そして、シリアライザ/デシリアライザ120は、入力されたコントロール・バイト及びSCL信号をシリアライザ/デシリアライザ140に伝送する。
【0100】
伝送されたコントロール・バイト及びSCL信号を受信すると、シリアライザ/デシリアライザ140は、スタート・コンディションSを発行し、受信したSCL信号に同期してコントロール・バイトをスレーブデバイス142に送信する。
【0101】
シリアライザ/デシリアライザ140により送信されたコントロール・バイトを受信すると、スレーブデバイス142は、コントロール・バイトの送信に利用されたビットクロックの次のビットクロックに同期してACKを送信する。
【0102】
さらに、スレーブデバイス142は、ACKに続く8ビット分のビットクロックに同期して8ビットのデータDを送信する。スレーブデバイス142により送信されたACK及びデータDは、シリアライザ/デシリアライザ140により受信され、シリアライザ/デシリアライザ120にシリアル伝送される。
【0103】
シリアライザ/デシリアライザ140からACK及びデータDを受信すると、シリアライザ/デシリアライザ120は、クロック・ストレッチを解除し、マスターデバイス122から再び供給されるSCL信号に同期してACK及びデータDを送信する。
【0104】
シリアライザ/デシリアライザ120により送信されたACK及びデータDを受信すると、マスターデバイス122は、データDの送信に利用されたビットクロックに続くビットクロックに同期してNACKを送信する。そして、マスターデバイス122は、ストップ・コンディションPを発行して操作部106側におけるI2C通信を終了する。
【0105】
マスターデバイス122により送信されたNACKは、シリアライザ/デシリアライザ120、140によりシリアル伝送され、I2Cバス108を通じてシリアライザ/デシリアライザ140からスレーブデバイス142に送信される。
【0106】
また、操作部106側のストップ・コンディションPの通知が表示部102側にも伝達される。NACK及びストップ・コンディションPの通知がスレーブデバイス142に伝達されると、シリアライザ/デシリアライザ140は、ストップ・コンディションPを発行し、表示部102側におけるI2C通信を終了する。
【0107】
このように、シリアライザ/デシリアライザ120、140により遅延が生じる場合でも、クロック・ストレッチによりSCL信号の伝送が停止されているため、コントロール・バイトの送信に用いた8ビット分のビットクロックに続く1ビット分のビットクロックに同期してACKが送信され、続く8ビット分のビットクロックに同期して8ビットのデータDが送信され、続く1ビット分のビットクロックに同期してNACKが送信される。そのため、マスターデバイス122は、SCL信号に同期してコントロール・バイトに対するACK、データDを正しく受信することができる。
【0108】
(2−2−3:Read試行 → 複数データ応答)
次に、図13、図14を参照しながら、R/WフラグがReadの場合に、コントロール・バイトに対して複数のデータが返されて通信が終了するまでの通信シーケンスについて具体的に説明する。なお、図中において、ADはアドレス情報を示し、RはReadを示すR/Wフラグを示し、NはNACKを示し、AはACKを示し、D1、D2、D3はデータを示す。また、Sはスタート・コンディションを示し、Pはストップ・コンディションを示す。
【0109】
スタート・コンディションSが発行されると、マスターデバイス122からコントロール・バイトが全てのスレーブデバイス124、142に送信される。そのうち、スレーブデバイス124に向けて送信されるものは、シリアライザ/デシリアライザ120、140を通さずに伝送される。一方、スレーブデバイス142に向けて送信されるものは、シリアライザ/デシリアライザ120、140を通して伝送される。以下、それぞれのケースについて個々に説明する。
【0110】
(SERDESを通さない伝送)
まず、図13を参照しながら、シリアライザ/デシリアライザ120、140を通さずにSDA信号のやり取りが行われるケースについて説明する。なお、図13の例では、2つのデータD1、D2がスレーブデバイス124からマスターデバイス122に伝送される。
【0111】
図13に示すように、まず、マスターデバイス122によりスタート・コンディションSが発行される。次いで、マスターデバイス122によりアドレス情報及びR/Wフラグを含むコントロール・バイトがSDAを通じて送信される。次いで、スレーブデバイス124は、マスターデバイス122により送信されたコントロール・バイトを受信し、次のビットクロックに同期してACKをマスターデバイス122に送信する。
【0112】
さらに、スレーブデバイス124は、ACKの次のビットクロックに同期して1ビットずつ8ビットのデータD1をマスターデバイス122に送信する。このデータD1を受信すると、マスターデバイス122は、データD1の送信に利用されたビットクロックに続く1ビット分のビットクロックに同期してACKをスレーブデバイス124に送信する。このACKを受信すると、スレーブデバイス124は、ACKの送信に利用されたビットクロックに続く8ビット分のビットクロックに同期してデータD2をマスターデバイス122に送信する。
【0113】
8ビットのデータD2を全て送信すると、スレーブデバイス124は、データD2の送信に利用されたビットクロックに続く1ビット分のビットクロックに同期してNACK(1ビット)をマスターデバイス122に送信する。NACKを受信すると、マスターデバイス122は、ストップ・コンディションPを発行してI2C通信を終了する。
【0114】
このように、シリアライザ/デシリアライザ120、140を通さない場合には遅延が生じないため、コントロール・バイトの送信に用いた8ビット分のビットクロックに続く1ビット分のビットクロックに同期してACKが送信され、続く8ビット分のビットクロックに同期して8ビットのデータD1が送信される。そして、続く1ビット分のビットクロックに同期してACKが送信され、続く8ビット分のビットクロックに同期して8ビットのデータD2が送信され、続く1ビット分のビットクロックに同期してNACKが送信される。そのため、マスターデバイス122は、SCL信号に同期してコントロール・バイトに対するACK、データD1、D2を正しく受信することができる。
【0115】
(SERDESを通す伝送)
次に、図14を参照しながら、シリアライザ/デシリアライザ120、140を通じてSDA信号のやり取りが行われるケースについて説明する。なお、図14の例では、3つのデータD1、D2、D3がスレーブデバイス142からマスターデバイス122に伝送される。
【0116】
図14に示すように、まず、マスターデバイス122によりスタート・コンディションSが発行される。次いで、マスターデバイス122によりアドレス情報(7ビット)及びR/Wフラグ(1ビット)を含むコントロール・バイトがSDAを通じて送信される。
【0117】
SDAを通じて送信されたコントロール・バイトは、シリアライザ/デシリアライザ120に入力される。コントロール・バイトが入力されると、シリアライザ/デシリアライザ120は、クロック・ストレッチを開始し、マスターデバイス122の通信動作を一時停止する。そして、シリアライザ/デシリアライザ120は、入力されたコントロール・バイト及びSCL信号をシリアライザ/デシリアライザ140にシリアル伝送する。
【0118】
シリアル伝送されたコントロール・バイト及びSCL信号を受信すると、シリアライザ/デシリアライザ140は、スタート・コンディションSを発行し、受信したSCL信号に同期してコントロール・バイトをスレーブデバイス142に送信する。
【0119】
シリアライザ/デシリアライザ140により送信されたコントロール・バイトを受信すると、スレーブデバイス142は、コントロール・バイトの送信に利用されたビットクロックの次のビットクロックに同期してACKを送信する。さらに、スレーブデバイス142は、ACKに続く8ビット分のビットクロックに同期して8ビットのデータD1を送信する。スレーブデバイス142により送信されたACK及びデータD1は、シリアライザ/デシリアライザ140により受信され、シリアライザ/デシリアライザ120にシリアル伝送される。
【0120】
シリアライザ/デシリアライザ140からACK及びデータD1を受信すると、シリアライザ/デシリアライザ120は、クロック・ストレッチを解除し、マスターデバイス122から再び供給されるSCL信号に同期してACK及びデータD1を送信する。
【0121】
シリアライザ/デシリアライザ120により送信されたACK及びデータD1を受信すると、マスターデバイス122は、データD1の送信に利用されたビットクロックに続くビットクロックに同期してACKをシリアライザ/デシリアライザ120に送信する。ACKを受信すると、シリアライザ/デシリアライザ120は、再びクロック・ストレッチを開始し、マスターデバイス122の通信動作を一時停止する。
【0122】
そして、シリアライザ/デシリアライザ120は、入力されたACKをシリアライザ/デシリアライザ140にシリアル伝送する。シリアル伝送されたACKを受信すると、シリアライザ/デシリアライザ140は、受信したACKをスレーブデバイス142に送信する。
【0123】
シリアライザ/デシリアライザ140により送信されたACKを受信すると、スレーブデバイス142は、ACKの送信に利用されたビットクロックに続く8ビット分のビットクロックに同期して8ビットのデータD2を送信する。スレーブデバイス142により送信されたデータD2は、シリアライザ/デシリアライザ140により受信され、シリアライザ/デシリアライザ120にシリアル伝送される。
【0124】
シリアライザ/デシリアライザ140からデータD2を受信すると、シリアライザ/デシリアライザ120は、クロック・ストレッチを解除し、マスターデバイス122から再び供給されるSCL信号に同期してデータD2を送信する。
【0125】
シリアライザ/デシリアライザ120により送信されたデータD2を受信すると、マスターデバイス122は、データD2の送信に利用されたビットクロックに続く1ビット分のビットクロックに同期してACKをシリアライザ/デシリアライザ120に送信する。ACKを受信すると、シリアライザ/デシリアライザ120は、再びクロック・ストレッチを開始し、マスターデバイス122の通信動作を一時停止する。
【0126】
そして、シリアライザ/デシリアライザ120は、入力されたACKをシリアライザ/デシリアライザ140にシリアル伝送する。シリアル伝送されたACKを受信すると、シリアライザ/デシリアライザ140は、受信したACKをスレーブデバイス142に送信する。シリアライザ/デシリアライザ140により送信されたACKを受信すると、スレーブデバイス142は、ACKの送信に利用されたビットクロックに続く8ビット分のビットクロックに同期して8ビットのデータD3を送信する。スレーブデバイス142により送信されたデータD3は、シリアライザ/デシリアライザ140により受信され、シリアライザ/デシリアライザ120にシリアル伝送される。
【0127】
シリアライザ/デシリアライザ140からデータD3を受信すると、シリアライザ/デシリアライザ120は、クロック・ストレッチを解除し、マスターデバイス122から再び供給されるSCL信号に同期してデータD3を送信する。
【0128】
シリアライザ/デシリアライザ120により送信されたデータD3を受信すると、マスターデバイス122は、データD3の送信に利用されたビットクロックに続く1ビット分のビットクロックに同期してNACKをシリアライザ/デシリアライザ120に送信する。そして、マスターデバイス122は、ストップ・コンディションPを発行して操作部106側におけるI2C通信を終了する。
【0129】
マスターデバイス122により送信されたNACKは、シリアライザ/デシリアライザ120、140によりシリアル伝送され、I2Cバス108を通じてシリアライザ/デシリアライザ140からスレーブデバイス142に送信される。
【0130】
また、操作部106側のストップ・コンディションPの通知が表示部102側にも伝達される。NACK及びストップ・コンディションPの通知がスレーブデバイス142に伝達されると、シリアライザ/デシリアライザ140は、ストップ・コンディションPを発行し、表示部102側におけるI2C通信を終了する。
【0131】
このように、シリアライザ/デシリアライザ120、140により遅延が生じる場合でも、クロック・ストレッチによりSCL信号の伝送が停止されているため、コントロール・バイトの送信に用いた8ビット分のビットクロックに続く1ビット分のビットクロックに同期してACKが送信され、続く8ビット分のビットクロックに同期してデータD1が送信される。そして、続く1ビット分のビットクロックに同期してACKが送信され、続く8ビット分のビットクロックに同期してデータD2が送信される。さらに、続く1ビット分のビットクロックに同期してACKが送信され、続く8ビット分のビットクロックに同期してデータD3が送信され、続く1ビット分のビットクロックに同期してNACKが送信される。そのため、マスターデバイス122は、SCL信号に同期してコントロール・バイトに対するACK、及びデータD1、D2、D3を正しく受信することができる。
【0132】
(2−2−4:Write試行 → NACK応答)
次に、図15、図16を参照しながら、R/WフラグがWriteの場合に、コントロール・バイトに対してNACKが返されるまでの通信シーケンスについて具体的に説明する。なお、図中において、ADはアドレス情報を示し、WはWriteを示すR/Wフラグを示し、NはNACKを示す。また、Sはスタート・コンディションを示し、Pはストップ・コンディションを示す。
【0133】
スタート・コンディションSが発行されると、マスターデバイス122からコントロール・バイトが全てのスレーブデバイス124、142に送信される。そのうち、スレーブデバイス124に向けて送信されるものは、シリアライザ/デシリアライザ120、140を通さずに伝送される。一方、スレーブデバイス142に向けて送信されるものは、シリアライザ/デシリアライザ120、140を通して伝送される。以下、それぞれのケースについて個々に説明する。
【0134】
(SERDESを通さない伝送)
次に、図15を参照しながら、シリアライザ/デシリアライザ120、140を通さずにSDA信号のやり取りが行われるケースについて説明する。
【0135】
図15に示すように、まず、マスターデバイス122によりスタート・コンディションSが発行される。次いで、マスターデバイス122によりアドレス情報及びR/Wフラグを含むコントロール・バイトがSDAを通じて送信される。次いで、スレーブデバイス124は、マスターデバイス122により送信されたコントロール・バイトを受信し、次のビットクロックに同期してNACKをマスターデバイス122に送信する。NACKを受信すると、マスターデバイス122は、ストップ・コンディションPを発行してI2C通信を終了する。
【0136】
このように、シリアライザ/デシリアライザ120、140を通さない場合には遅延が生じないため、コントロール・バイトの送信に用いた8ビット分のビットクロックに続く1ビット分のビットクロックに同期してNACKが送信される。そのため、マスターデバイス122は、SCL信号に同期してコントロール・バイトに対するNACKを正しく受信することができる。
【0137】
(SERDESを通す伝送)
次に、図16を参照しながら、シリアライザ/デシリアライザ120、140を通じてSDA信号のやり取りが行われるケースについて説明する。
【0138】
図16に示すように、まず、マスターデバイス122によりスタート・コンディションSが発行される。次いで、マスターデバイス122によりアドレス情報及びR/Wフラグを含むコントロール・バイトがSDAを通じて送信される。SDAを通じて送信されたコントロール・バイトは、シリアライザ/デシリアライザ120に入力される。
【0139】
コントロール・バイトが入力されると、シリアライザ/デシリアライザ120は、クロック・ストレッチを開始し、マスターデバイス122の通信動作を一時停止する。そして、シリアライザ/デシリアライザ120は、入力されたコントロール・バイト及びSCL信号をシリアライザ/デシリアライザ140に伝送する。
【0140】
伝送されたコントロール・バイト及びSCL信号を受信すると、シリアライザ/デシリアライザ140は、スタート・コンディションSを発行し、受信したSCL信号に同期してコントロール・バイトをスレーブデバイス142に送信する。
【0141】
シリアライザ/デシリアライザ140により送信されたコントロール・バイトを受信すると、スレーブデバイス142は、コントロール・バイトの送信に利用されたビットクロックの次のビットクロックに同期してNACKを送信する。スレーブデバイス142により送信されたNACKは、シリアライザ/デシリアライザ140により受信され、シリアライザ/デシリアライザ120にシリアル伝送される。
【0142】
シリアライザ/デシリアライザ140からNACKを受信すると、シリアライザ/デシリアライザ120は、クロック・ストレッチを解除し、マスターデバイス122から再び供給されるSCL信号に同期してNACKを送信する。
【0143】
シリアライザ/デシリアライザ120により送信されたNACKを受信すると、マスターデバイス122は、ストップ・コンディションPを発行して操作部106側におけるI2C通信を終了する。また、操作部106側のストップ・コンディションPの通知が表示部102側にも伝達される。操作部106側におけるI2C通信が終了すると、シリアライザ/デシリアライザ140もストップ・コンディションPを発行し、表示部102側におけるI2C通信を終了する。
【0144】
このように、シリアライザ/デシリアライザ120、140により遅延が生じる場合でも、クロック・ストレッチによりSCL信号の送信が停止されているため、コントロール・バイトの送信に利用された8ビット分のビットクロックに続く1ビット分のビットクロックに同期してNACKが送信される。そのため、マスターデバイス122は、SCL信号に同期してコントロール・バイトに対するNACKを正しく受信することができる。
【0145】
(2−2−5:Write試行 → データ書き込み)
次に、図17、図18を参照しながら、R/WフラグがWriteの場合に、コントロール・バイトに対してデータが書き込まれて通信が終了するまでの通信シーケンスについて具体的に説明する。なお、図中において、ADはアドレス情報を示し、WはWriteを示すR/Wフラグを示し、AはACKを示し、Dはデータを示す。また、Sはスタート・コンディションを示し、Pはストップ・コンディションを示す。
【0146】
スタート・コンディションSが発行されると、マスターデバイス122からコントロール・バイトが全てのスレーブデバイス124、142に送信される。そのうち、スレーブデバイス124に向けて送信されるものは、シリアライザ/デシリアライザ120、140を通さずに伝送される。一方、スレーブデバイス142に向けて送信されるものは、シリアライザ/デシリアライザ120、140を通して伝送される。以下、それぞれのケースについて個々に説明する。
【0147】
(SERDESを通さない伝送)
まず、図17を参照しながら、シリアライザ/デシリアライザ120、140を通さずにSDA信号のやり取りが行われるケースについて説明する。
【0148】
図17に示すように、まず、マスターデバイス122によりスタート・コンディションSが発行される。次いで、マスターデバイス122によりアドレス情報及びR/Wフラグを含むコントロール・バイトがSDAを通じて送信される。次いで、スレーブデバイス124は、マスターデバイス122により送信されたコントロール・バイトを受信し、次のビットクロックに同期してACKをマスターデバイス122に送信する。
【0149】
ACKを受信すると、マスターデバイス122は、ACKの送信に利用されたビットクロックに続く8ビット分のビットクロックに同期して8ビットのデータDをスレーブデバイス124に送信する。データDを受信すると、スレーブデバイス124は、データDの書き込み処理を実行する。
【0150】
データDの書き込み処理が完了すると、スレーブデバイス124は、データDの送信に利用されたビットクロックに続く1ビット分のビットクロックに同期してACKをマスターデバイス122に送信する。ACKを受信すると、マスターデバイス122は、ストップ・コンディションPを発行してI2C通信を終了する。
【0151】
このように、シリアライザ/デシリアライザ120、140を通さない場合には遅延が生じないため、コントロール・バイトの送信に用いた8ビット分のビットクロックに続く1ビット分のビットクロックに同期してACKが送信され、続く8ビット分のビットクロックに同期して8ビットのデータDが送信され、続く1ビット分のビットクロックに同期してACKが送信される。そのため、マスターデバイス122は、SCL信号に同期してコントロール・バイトに対するACK、及びデータDの書き込み完了に伴うACKを正しく受信することができる。
【0152】
(SERDESを通す伝送)
次に、図18を参照しながら、シリアライザ/デシリアライザ120、140を通じてSDA信号のやり取りが行われるケースについて説明する。
【0153】
図18に示すように、まず、マスターデバイス122によりスタート・コンディションSが発行される。次いで、マスターデバイス122によりアドレス情報及びR/Wフラグを含むコントロール・バイトがSDAを通じて送信される。SDAを通じて送信されたコントロール・バイトは、シリアライザ/デシリアライザ120に入力される。
【0154】
コントロール・バイトが入力されると、シリアライザ/デシリアライザ120は、クロック・ストレッチを開始し、マスターデバイス122の通信動作を一時停止する。そして、シリアライザ/デシリアライザ120は、入力されたコントロール・バイト及びSCL信号をシリアライザ/デシリアライザ140に伝送する。
【0155】
伝送されたコントロール・バイト及びSCL信号を受信すると、シリアライザ/デシリアライザ140は、スタート・コンディションを発行し、受信したSCL信号に同期してコントロール・バイトをスレーブデバイス142に送信する。
【0156】
シリアライザ/デシリアライザ140により送信されたコントロール・バイトを受信すると、スレーブデバイス142は、コントロール・バイトの送信に利用されたビットクロックの次のビットクロックに同期してACKを送信する。スレーブデバイス142により送信されたACKは、シリアライザ/デシリアライザ140により受信され、シリアライザ/デシリアライザ120にシリアル伝送される。
【0157】
シリアライザ/デシリアライザ140からACKを受信すると、シリアライザ/デシリアライザ120は、クロック・ストレッチを解除し、マスターデバイス122から再び供給されるSCL信号に同期してACKを送信する。
【0158】
シリアライザ/デシリアライザ120により送信されたACKを受信すると、マスターデバイス122は、ACKの送信に利用されたビットクロックに続く8ビット分のビットクロックに同期してデータDを送信する。マスターデバイス122により送信されたデータDは、シリアライザ/デシリアライザ120、140によりシリアル伝送され、I2Cバス108を通じてシリアライザ/デシリアライザ140からスレーブデバイス142に送信される。
【0159】
シリアライザ/デシリアライザ140により送信されたデータDを受信すると、スレーブデバイス142は、データDの書き込み処理を実行する。そして、データDの書き込み処理が完了すると、スレーブデバイス142は、データDの送信に利用されたビットクロックの次のビットクロックに同期してACKを送信する。スレーブデバイス142により送信されたACKは、シリアライザ/デシリアライザ140により受信され、シリアライザ/デシリアライザ120にシリアル伝送される。
【0160】
シリアライザ/デシリアライザ140からACKを受信すると、シリアライザ/デシリアライザ120は、クロック・ストレッチを解除し、マスターデバイス122から再び供給されるSCL信号に同期してACKを送信する。シリアライザ/デシリアライザ120からACKを受信すると、マスターデバイス122は、ストップ・コンディションPを発行して操作部106側におけるI2C通信を終了する。
【0161】
また、操作部106側のストップ・コンディションPの通知が表示部102側にも伝達される。ストップ・コンディションPの通知がスレーブデバイス142に伝達されると、シリアライザ/デシリアライザ140は、ストップ・コンディションPを発行し、表示部102側におけるI2C通信を終了する。
【0162】
このように、シリアライザ/デシリアライザ120、140により遅延が生じる場合でも、クロック・ストレッチによりSCL信号の伝送が停止されているため、コントロール・バイトの送信に用いた8ビット分のビットクロックに続く1ビット分のビットクロックに同期してACKが送信される。さらに、続く8ビット分のビットクロックに同期して8ビットのデータDが送信され、続く1ビット分のビットクロックに同期してACKが送信される。そのため、マスターデバイス122は、SCL信号に同期してコントロール・バイトに対するACK、及びデータDの書き込み完了を示すACKを正しく受信することができる。
【0163】
(2−2−6:Write試行 → 複数データ書き込み)
次に、図19、図20を参照しながら、R/WフラグがWriteの場合に、コントロール・バイトの送信後に複数のデータが書き込まれて通信が終了するまでの通信シーケンスについて具体的に説明する。なお、図中において、ADはアドレス情報を示し、WはWriteを示すR/Wフラグを示し、NはNACKを示し、AはACKを示し、D1、D2、D3はデータを示す。また、Sはスタート・コンディションを示し、Pはストップ・コンディションを示す。
【0164】
スタート・コンディションSが発行されると、マスターデバイス122からコントロール・バイトが全てのスレーブデバイス124、142に送信される。そのうち、スレーブデバイス124に向けて送信されるものは、シリアライザ/デシリアライザ120、140を通さずに伝送される。一方、スレーブデバイス142に向けて送信されるものは、シリアライザ/デシリアライザ120、140を通して伝送される。以下、それぞれのケースについて個々に説明する。
【0165】
(SERDESを通さない伝送)
まず、図19を参照しながら、シリアライザ/デシリアライザ120、140を通さずにSDA信号のやり取りが行われるケースについて説明する。なお、図19の例では、2つのデータD1、D2がマスターデバイス122からスレーブデバイス124に伝送される。
【0166】
図19に示すように、まず、マスターデバイス122によりスタート・コンディションSが発行される。次いで、マスターデバイス122によりアドレス情報及びR/Wフラグを含むコントロール・バイトがSDAを通じて送信される。次いで、スレーブデバイス124は、マスターデバイス122により送信されたコントロール・バイトを受信し、次のビットクロックに同期してACKをマスターデバイス122に送信する。
【0167】
ACKを受信すると、マスターデバイス122は、ACKの送信に利用されたビットクロックの次のビットクロックに同期して1ビットずつ8ビットのデータD1をスレーブデバイス124に送信する。このデータD1を受信すると、スレーブデバイス124は、データD1の書き込み処理を実行する。
【0168】
データD1の書き込み処理が完了すると、スレーブデバイス124は、データD1の送信に利用されたビットクロックに続く1ビット分のビットクロックに同期してACKをスレーブデバイス124に送信する。このACKを受信すると、マスターデバイス122は、ACKの送信に利用されたビットクロックに続く8ビット分のビットクロックに同期してデータD2をスレーブデバイス124に送信する。
【0169】
このデータD2を受信すると、スレーブデバイス124は、データD2の書き込み処理を実行する。データD2の書き込み処理に失敗すると、スレーブデバイス124は、データD2の送信に利用されたビットクロックに続く1ビット分のビットクロックに同期してNACKをスレーブデバイス124に送信する。このNACKを受信すると、マスターデバイス122は、ストップ・コンディションPを発行してI2C通信を終了する。
【0170】
このように、シリアライザ/デシリアライザ120、140を通さない場合には遅延が生じないため、コントロール・バイトの送信に用いた8ビット分のビットクロックに続く1ビット分のビットクロックに同期してACKが送信され、続く8ビット分のビットクロックに同期して8ビットのデータD1が送信される。そして、続く1ビット分のビットクロックに同期してACKが送信され、続く8ビット分のビットクロックに同期して8ビットのデータD2が送信され、続く1ビット分のビットクロックに同期してNACKが送信される。そのため、マスターデバイス122は、SCL信号に同期してコントロール・バイトに対するACK、データD1の書き込み成功を示すACK、データD2の書き込み失敗を示すNACKを正しく受信することができる。
【0171】
(SERDESを通す伝送)
次に、図20を参照しながら、シリアライザ/デシリアライザ120、140を通じてSDA信号のやり取りが行われるケースについて説明する。なお、図20の例では、2つのデータD1、D2がマスターデバイス122からスレーブデバイス124に伝送される。
【0172】
図20に示すように、まず、マスターデバイス122によりスタート・コンディションSが発行される。次いで、マスターデバイス122によりアドレス情報及びR/Wフラグを含むコントロール・バイトがSDAを通じて送信される。
【0173】
SDAを通じて送信されたコントロール・バイトは、シリアライザ/デシリアライザ120に入力される。コントロール・バイトが入力されると、シリアライザ/デシリアライザ120は、クロック・ストレッチを開始し、マスターデバイス122の通信動作を一時停止する。そして、シリアライザ/デシリアライザ120は、入力されたコントロール・バイト及びSCL信号をシリアライザ/デシリアライザ140に伝送する。
【0174】
伝送されたコントロール・バイト及びSCL信号を受信すると、シリアライザ/デシリアライザ140は、スタート・コンディションSを発行し、受信したSCL信号に同期してコントロール・バイトをスレーブデバイス142に送信する。
【0175】
シリアライザ/デシリアライザ140により送信されたコントロール・バイトを受信すると、スレーブデバイス142は、コントロール・バイトの送信に利用されたビットクロックの次のビットクロックに同期してACKを送信する。スレーブデバイス142により送信されたACKは、シリアライザ/デシリアライザ140により受信され、シリアライザ/デシリアライザ120にシリアル伝送される。
【0176】
シリアライザ/デシリアライザ140からACKを受信すると、シリアライザ/デシリアライザ120は、クロック・ストレッチを解除し、マスターデバイス122から再び供給されるSCL信号に同期してACKを送信する。
【0177】
シリアライザ/デシリアライザ120により送信されたACKを受信すると、マスターデバイス122は、ACKの送信に利用されたビットクロックに続くビットクロックに同期してデータD1をシリアライザ/デシリアライザ120に送信する。データD1を受信すると、シリアライザ/デシリアライザ120は、再びクロック・ストレッチを開始し、マスターデバイス122の通信動作を一時停止する。
【0178】
そして、シリアライザ/デシリアライザ120は、入力されたデータD1をシリアライザ/デシリアライザ140にシリアル伝送する。シリアル伝送されたデータD1を受信すると、シリアライザ/デシリアライザ140は、受信したデータD1をスレーブデバイス142に送信する。
【0179】
シリアライザ/デシリアライザ140により送信されたデータD1を受信すると、スレーブデバイス142は、受信したデータD1の書き込み処理を実行する。データD1の書き込み処理が完了すると、スレーブデバイス142は、データD1の送信に利用されたビットクロックに続く1ビット分のビットクロックに同期してACKを送信する。スレーブデバイス142により送信されたACKは、シリアライザ/デシリアライザ140により受信され、シリアライザ/デシリアライザ120にシリアル伝送される。
【0180】
シリアライザ/デシリアライザ140からACKを受信すると、シリアライザ/デシリアライザ120は、クロック・ストレッチを解除し、マスターデバイス122から再び供給されるSCL信号に同期してACKを送信する。
【0181】
シリアライザ/デシリアライザ120により送信されたACKを受信すると、マスターデバイス122は、ACKの送信に利用されたビットクロックに続く8ビット分のビットクロックに同期してデータD2をシリアライザ/デシリアライザ120に送信する。データD2を受信すると、シリアライザ/デシリアライザ120は、再びクロック・ストレッチを開始し、マスターデバイス122の通信動作を一時停止する。
【0182】
そして、シリアライザ/デシリアライザ120は、入力されたデータD2をシリアライザ/デシリアライザ140にシリアル伝送する。シリアル伝送されたデータD2を受信すると、シリアライザ/デシリアライザ140は、受信したデータD2をスレーブデバイス142に送信する。
【0183】
シリアライザ/デシリアライザ140により送信されたデータD2を受信すると、スレーブデバイス142は、データD2の書き込み処理を実行する。そして、データD2の書き込み処理が失敗すると、スレーブデバイス142は、データD2の送信に利用されたビットクロックに続く1ビット分のビットクロックに同期してNACKを送信する。スレーブデバイス142により送信されたNACKは、シリアライザ/デシリアライザ140により受信され、シリアライザ/デシリアライザ120にシリアル伝送される。
【0184】
シリアライザ/デシリアライザ140からNACKを受信すると、シリアライザ/デシリアライザ120は、クロック・ストレッチを解除し、マスターデバイス122から再び供給されるSCL信号に同期してNACKを送信する。シリアライザ/デシリアライザ120により送信されたNACKを受信すると、マスターデバイス122は、ストップ・コンディションPを発行して操作部106側におけるI2C通信を終了する。また、ストップ・コンディションPの通知がスレーブデバイス142に伝達されると、シリアライザ/デシリアライザ140は、ストップ・コンディションPを発行し、表示部102側におけるI2C通信を終了する。
【0185】
このように、シリアライザ/デシリアライザ120、140により遅延が生じる場合でも、クロック・ストレッチによりSCL信号の伝送が停止されているため、コントロール・バイトの送信に利用された8ビット分のビットクロックに続く1ビット分のビットクロックに同期してACKが送信され、続く8ビット分のビットクロックに同期してデータD1が送信され、続く1ビット分のビットクロックに同期してACKが送信される。さらに、続く8ビット分のビットクロックに同期してデータD2が送信され、続く1ビット分のビットクロックに同期してNACKが送信される。そのため、マスターデバイス122は、SCL信号に同期してコントロール・バイトに対するACK、データD1の書き込み成功を示すACK、データD2の書き込み失敗を示すNACKを正しく受信することができる。
【0186】
(2−2−7:リピート・スタート・コンディションの発行)
次に、図21、図22を参照しながら、コントロール・バイトに対してNACKが返された後にリピート・スタート・コンディションが発行される場合の通信シーケンスについて具体的に説明する。なお、図中において、AD、AD’はアドレス情報を示し、X、X’はR/Wフラグを示し、NはNACKを示す。但し、ADとAD’とは等しくてもよいし、異なっていてもよい。また、XとX’とは等しくてもよいし、異なっていてもよい。なお、Sはスタート・コンディションを示し、Pはストップ・コンディション、RSはリピート・スタート・コンディションを示す。
【0187】
スタート・コンディションSが発行されると、マスターデバイス122からコントロール・バイトが全てのスレーブデバイス124、142に送信される。そのうち、スレーブデバイス124に向けて送信されるものは、シリアライザ/デシリアライザ120、140を通さずに伝送される。一方、スレーブデバイス142に向けて送信されるものは、シリアライザ/デシリアライザ120、140を通して伝送される。なお、リピート・スタート・コンディションRSの発行に伴うコントロール・バイトの送信に関しても同様である。以下、それぞれのケースについて個々に説明する。
【0188】
(SERDESを通さない伝送)
まず、図21を参照しながら、シリアライザ/デシリアライザ120、140を通さずにSDA信号のやり取りが行われるケースについて説明する。
【0189】
図21に示すように、まず、マスターデバイス122によりスタート・コンディションSが発行される。次いで、マスターデバイス122によりアドレス情報及びR/Wフラグを含むコントロール・バイトがSDAを通じて送信される。次いで、スレーブデバイス124は、マスターデバイス122により送信されたコントロール・バイトを受信し、次のビットクロックに同期してNACKをマスターデバイス122に送信する。NACKを受信すると、マスターデバイス122は、リピート・スタート・コンディションRSを発行する。
【0190】
リピート・スタート・コンディションRSを発行した場合、マスターデバイス122は、再びコントロール・バイトを送信する。このとき、マスターデバイス122は、コントロール・バイトに含まれるアドレス情報及びR/Wフラグを変更することができる。ここでは、アドレス情報ADがAD’(スレーブデバイス124)に設定され、R/WフラグがXからX’に設定されたものとする。リピート・スタート・コンディションRSが発行されると、スレーブデバイス124は、その発行後に受信したコントロール・バイトに含まれるアドレス情報AD’、及びR/WフラグX’に基づいてI2C通信を行う。
【0191】
このように、リピート・スタート・コンディションRSが発行されるまでの通信シーケンスは、これまで説明してきた通信シーケンスと同じである。また、リピート・スタート・コンディションRSが発行された後の通信シーケンスは、その発行後に送信されるコントロール・バイトの内容に応じて変更される。但し、リピート・スタート・コンディションRSの発行後に実行される通信シーケンスの内容も、これまで説明してきた通信シーケンスと実質的に同じである。
【0192】
(SERDESを通す伝送)
次に、図22を参照しながら、シリアライザ/デシリアライザ120、140を通じてSDA信号のやり取りが行われるケースについて説明する。
【0193】
図22に示すように、まず、マスターデバイス122によりスタート・コンディションSが発行される。次いで、マスターデバイス122によりアドレス情報及びR/Wフラグを含むコントロール・バイトがSDAを通じて送信される。SDAを通じて送信されたコントロール・バイトは、シリアライザ/デシリアライザ120に入力される。コントロール・バイトが入力されると、シリアライザ/デシリアライザ120は、クロック・ストレッチを開始し、マスターデバイス122の通信動作を一時停止する。そして、シリアライザ/デシリアライザ120は、入力されたコントロール・バイト及びSCL信号をシリアライザ/デシリアライザ140に伝送する。
【0194】
伝送されたコントロール・バイト及びSCL信号を受信すると、シリアライザ/デシリアライザ140は、スタート・コンディションを発行し、受信したSCL信号に同期してコントロール・バイトをスレーブデバイス142に送信する。シリアライザ/デシリアライザ140により送信されたコントロール・バイトを受信すると、スレーブデバイス142は、コントロール・バイトの送信に利用されたビットクロックの次のビットクロックに同期してNACKを送信する。スレーブデバイス142により送信されたNACKは、シリアライザ/デシリアライザ140により受信され、シリアライザ/デシリアライザ120にシリアル伝送される。
【0195】
シリアライザ/デシリアライザ140からNACKを受信すると、シリアライザ/デシリアライザ120は、クロック・ストレッチを解除し、マスターデバイス122から再び供給されるSCL信号に同期してNACKを送信する。シリアライザ/デシリアライザ120により送信されたNACKを受信すると、マスターデバイス122は、リピート・スタート・コンディションRSを発行する。リピート・スタート・コンディションRSの発行後、マスターデバイス122は、アドレス情報及びR/Wフラグを再設定したコントロール・バイトを送信する。
【0196】
リピート・スタート・コンディションRSが発行されると、シリアライザ/デシリアライザ120は、リピート・スタート・コンディションRSの発行後に受信したコントロール・バイトに含まれるアドレス情報が表示部102側のスレーブデバイス142のアドレスに一致するか否かを判定する。アドレス情報がスレーブデバイス142のアドレスに一致する場合、シリアライザ/デシリアライザ120は、シリアライザ/デシリアライザ140にコントロール・バイトをシリアル伝送し、I2C通信を継続する。一方、アドレス情報がスレーブデバイス142のアドレスに一致しない場合、シリアライザ/デシリアライザ120は、再びスタート・コンディションS(又は、リピート・スタート・コンディションRS)が発行されるまで待機する。
【0197】
このように、リピート・スタート・コンディションRSが発行されるまでの通信シーケンスは、これまで説明してきた通信シーケンスと同じである。また、リピート・スタート・コンディションRSが発行された後の通信シーケンスは、その発行後に送信されるコントロール・バイトの内容に応じて変更される。但し、リピート・スタート・コンディションRSの発行後に実行される通信シーケンスの内容も、これまで説明してきた通信シーケンスと実質的に同じである。
【0198】
以上、本実施形態に係る信号伝送方法について具体的に説明した。上記の通り、本実施形態に係る信号伝送方法を適用することにより、シリアライザ/デシリアライザ120、140で伝送遅延が発生する場合においても、マスターデバイス122がSDA信号(Y)を正しく受信することが可能になる。
【0199】
[2−3:SERDESの動作]
次に、図23A〜図23C、図24A〜図24Cを参照しながら、本実施形態に係るシリアライザ/デシリアライザ120、140により実行される処理の流れについて詳細に説明する。なお、図23A〜図23Cは、シリアライザ/デシリアライザ120の動作に関するものである。一方、図24A〜図24Cは、シリアライザ/デシリアライザ140の動作に関するものである。以下、それぞれについて説明する。
【0200】
(2−3−1:操作部側SERDESの動作)
まず、図23A〜図23Cを参照する。図23Aに示すように、まず、シリアライザ/デシリアライザ120は、スタート・コンディションSが発行されたか否かを判定する(S102)。スタート・コンディションSが発行された場合、シリアライザ/デシリアライザ120は、ステップS104の処理に進行する。一方、スタート・コンディションSが発行されていない場合、シリアライザ/デシリアライザ120は、再びステップS102の処理を繰り返す。
【0201】
ステップS104の処理に進行した場合、シリアライザ/デシリアライザ120は、マスターデバイス122からコントロール・バイト(アドレス情報AD+R/WフラグX)を受信する(S104)。次いで、シリアライザ/デシリアライザ120は、受信したコントロール・バイトに含まれるアドレス情報ADが表示部102側のスレーブデバイス142が持つアドレスに一致するか否かを判定する(S106)。アドレス情報ADがスレーブデバイス142のアドレスに一致する場合、シリアライザ/デシリアライザ120は、ステップS108の処理に進行する。一方、アドレス情報ADがスレーブデバイス142のアドレスに一致しない場合、シリアライザ/デシリアライザ120は、図23CのステップS148の処理に進行する。
【0202】
ステップS108の処理に進行した場合、シリアライザ/デシリアライザ120は、R/WフラグXがX=Readであるか、X=Writeであるかを判定する(S108)。X=Readの場合、シリアライザ/デシリアライザ120は、ステップS110の処理に進行する。一方、X=Writeの場合、シリアライザ/デシリアライザ120は、ステップS118の処理に進行する。
【0203】
ステップS110の処理に進行した場合、シリアライザ/デシリアライザ120は、表示部102側にあるシリアライザ/デシリアライザ140にスタート・コンディションSの発行通知、及びコントロール・バイト(AD+X)を伝送する(S110)。次いで、シリアライザ/デシリアライザ120は、クロック・ストレッチを開始する(S112)。次いで、シリアライザ/デシリアライザ120は、表示部102側にあるシリアライザ/デシリアライザ140からの応答を待ち、応答が得られた場合に、その応答がACK及びデータDであるか、NCKであるかを判定する(S114)。応答がACK及びデータDである場合、シリアライザ/デシリアライザ120は、ステップS116の処理に進行する。一方、応答がNACKである場合、シリアライザ/デシリアライザ120は、図23CのステップS146の処理に進行する。
【0204】
ステップS116の処理に進行した場合、シリアライザ/デシリアライザ120は、クロック・ストレッチを解除し、シリアライザ/デシリアライザ140から取得したACK及びデータDをマスターデバイス122に伝送する(S116)。次いで、シリアライザ/デシリアライザ120は、図23BのステップS126の処理に進行し、マスターデバイス122からの応答を待ち受ける(S126)。マスターデバイス122からの応答が得られた場合、シリアライザ/デシリアライザ120は、マスターデバイス122からの応答がACKであるか、NACKであるかを判定する(S128)。マスターデバイス122からの応答がACKである場合、シリアライザ/デシリアライザ120は、ステップS130の処理に進行する。一方、マスターデバイス122からの応答がNACKである場合、シリアライザ/デシリアライザ120は、図23CのステップS146の処理に進行する。
【0205】
ステップS130の処理に進行した場合、シリアライザ/デシリアライザ120は、表示部102側にあるシリアライザ/デシリアライザ140にACKをシリアル伝送する(S130)。次いで、シリアライザ/デシリアライザ120は、クロック・ストレッチを開始し、マスターデバイス122の通信動作を一時停止させる(S132)。次いで、シリアライザ/デシリアライザ120は、表示部102側にあるシリアライザ/デシリアライザ140を通じてスレーブデバイス142からデータDを取得する(S134)。
【0206】
次いで、シリアライザ/デシリアライザ120は、クロック・ストレッチを解除し、シリアライザ/デシリアライザ140から受信したデータDをマスターデバイス122に伝送する(S136)。そして、シリアライザ/デシリアライザ120は、再びステップS126の処理に進行し、ステップS126以降の処理を実行する。
【0207】
さて、ステップS108においてR/WフラグXがWriteの場合、シリアライザ/デシリアライザ120は、ステップS118の処理に進行し、表示部102側にあるシリアライザ/デシリアライザ140にスタート・コンディションSの発行通知、及びコントロール・バイト(AD+X)をシリアル伝送する(S118)。次いで、シリアライザ/デシリアライザ120は、クロック・ストレッチを開始し、マスターデバイス122の通信動作を一時停止させる(S120)。
【0208】
次いで、シリアライザ/デシリアライザ120は、表示部102側にあるシリアライザ/デシリアライザ140からの応答を待ち、その応答がACKであるか、NACKであるかを判定する(S122)。応答がACKである場合、シリアライザ/デシリアライザ120は、ステップS124の処理に進行する。一方、その応答がNACKである場合、シリアライザ/デシリアライザ120は、図23CのステップS146の処理に進行する。
【0209】
ステップS124の処理に進行した場合、シリアライザ/デシリアライザ120は、クロック・ストレッチを解除し、シリアライザ/デシリアライザ140から取得したACKをマスターデバイス122に伝送する(S124)。
【0210】
次いで、シリアライザ/デシリアライザ120は、図23CのステップS138の処理に進行し、マスターデバイス122からの応答を待ち受ける(S138)。次いで、シリアライザ/デシリアライザ120は、マスターデバイス122からの応答が得られた場合、その応答がリピート・スタート・コンディションRSの発行であるか、ストップ・コンディションPの発行であるか、データDであるかを判定する(S140)。
【0211】
マスターデバイス122からの応答がリピート・スタート・コンディションRSの発行である場合、シリアライザ/デシリアライザ120は、図23AのステップS104の処理に再び戻り、ステップS104以降の処理を実行する。また、マスターデバイス122からの応答がストップ・コンディションPの発行である場合、シリアライザ/デシリアライザ120は、ステップS144の処理に進行する。さらに、マスターデバイス122からの応答がデータDである場合、シリアライザ/デシリアライザ120は、ステップS142の処理に進行する。
【0212】
ステップS144の処理に進行した場合、シリアライザ/デシリアライザ120は、表示部102側のシリアライザ/デシリアライザ140にストップ・コンディションPの発行通知を送信し(S144)、再び図23AのステップS102の処理に戻る。また、ステップS142の処理に進行した場合、シリアライザ/デシリアライザ120は、表示部102側にあるシリアライザ/デシリアライザ140にデータDをシリアル伝送し(S142)、図23AのステップS120以降の処理を実行する。
【0213】
ところで、図23AのステップS114、S122、及び図23BのステップS128の処理において応答がNACKである場合、シリアライザ/デシリアライザ120は、図23CのステップS146の処理に進行し、マスターデバイス120にNACKを伝送する(S146)。このとき、シリアライザ/デシリアライザ120は、クロック・ストレッチを解除し、マスターデバイス122から再び供給されるSCL信号に同期してNACKを伝送する。
【0214】
次いで、シリアライザ/デシリアライザ120は、マスターデバイス122による応答を待ち受け、応答が得られ場合、その応答がリピート・スタート・コンディションRSの発行であるか、ストップ・コンディションPの発行であるかを判定する(S148)。応答がリピート・スタート・コンディションRSの発行である場合、シリアライザ/デシリアライザ120は、図23AのステップS104の処理に進行し、ステップS104以降の処理を実行する。一方、応答がストップ・コンディションPの発行である場合、シリアライザ/デシリアライザ120は、ステップS144の処理に進行し、表示部102側のシリアライザ/デシリアライザ140にストップ・コンディションPの発行通知を送信して(S144)、再び図23AのステップS102の処理に戻る。
【0215】
以上、シリアライザ/デシリアライザ120の動作について説明した。
【0216】
(2−3−2:表示部側SERDESの動作)
次に、図24A〜図24Cを参照する。図24Aに示すように、まず、シリアライザ/デシリアライザ140は、操作部106側にあるシリアライザ/デシリアライザ120からスタート・コンディションSの発行通知が伝送されたか否かを判定する(S202)。スタート・コンディションSの発行通知が検出された場合、シリアライザ/デシリアライザ140は、ステップS204の処理に進行する。一方、スタート・コンディションSの発行通知が検出されていない場合、シリアライザ/デシリアライザ140は、再びステップS202の処理を繰り返す。
【0217】
ステップS204の処理に進行した場合、シリアライザ/デシリアライザ140は、操作部106側のシリアライザ/デシリアライザ120からコントロール・バイトを受信する(S204)。次いで、シリアライザ/デシリアライザ140は、スレーブデバイス142にスタート・コンディションSを発行し、コントロール・バイトを送信する(S206)。
【0218】
次いで、シリアライザ/デシリアライザ140は、コントロール・バイトに含まれるR/WフラグXがX=Readであるか、X=Writeであるかを判定する(S208)。X=Readである場合、シリアライザ/デシリアライザ140は、ステップS210の処理に進行する。一方、X=Writeである場合、シリアライザ/デシリアライザ140は、ステップS214の処理に進行する。
【0219】
ステップS210に進行した場合、シリアライザ/デシリアライザ140は、スレーブデバイス142からの応答を待機し、応答を受信した場合には、その応答がACK及びデータDであるか、NACKであるかを判定する(S210)。応答がACK及びデータDである場合、シリアライザ/デシリアライザ140は、ステップS212の処理に進行する。一方、応答がNACKである場合、シリアライザ/デシリアライザ140は、図24CのステップS236の処理に進行する。
【0220】
ステップS212に進行した場合、シリアライザ/デシリアライザ140は、スレーブデバイス142から取得したACK及びデータDをシリアル化して操作部106側のシリアライザ/デシリアライザ120に伝送する(S212)。次いで、シリアライザ/デシリアライザ140は、図24BのステップS218の処理に進行し、操作部106側にあるシリアライザ/デシリアライザ120からの応答を待ち受ける(S218)。
【0221】
次いで、シリアライザ/デシリアライザ140は、操作部106側からの応答を受信した場合に、その応答がACKであるか、NACKであるかを判定する(S220)。応答がACKである場合、シリアライザ/デシリアライザ140は、ステップS222の処理に進行する。一方、その応答がNACKである場合、図24CのステップS236の処理に進行する。
【0222】
ステップS222の処理に進行した場合、シリアライザ/デシリアライザ140は、操作部106側にあるシリアライザ/デシリアライザ120から受信したACKをスレーブデバイス142に伝送する(S222)。次いで、シリアライザ/デシリアライザ140は、スレーブデバイス142からデータDを取得する(S224)。次いで、シリアライザ/デシリアライザ140は、スレーブデバイス142から取得したデータDを操作部106側のシリアライザ/デシリアライザ120にシリアル伝送し(S226)、再びステップS218の処理に戻る。
【0223】
さて、ステップS208においてR/WフラグXがWriteである場合、シリアライザ/デシリアライザ140は、ステップS214の処理に進行し、スレーブデバイス142からの応答がACKであるか、NACKであるかを判定する(S214)。応答がACKの場合、シリアライザ/デシリアライザ140は、ステップS216の処理に進行する。一方、その応答がNACKの場合、シリアライザ/デシリアライザ140は、図24CのステップS236の処理に進行する。
【0224】
ステップS216の処理に進行した場合、シリアライザ/デシリアライザ140は、スレーブデバイス142から取得したACKを操作部106側にあるシリアライザ/デシリアライザ120にシリアル伝送する(S216)。次いで、シリアライザ/デシリアライザ140は、図24CのステップS228の処理に進行し、操作部106側にあるシリアライザ/デシリアライザ120からの応答を待ち受ける(S228)。
【0225】
次いで、シリアライザ/デシリアライザ140は、操作部106側のシリアライザ/デシリアライザ120から応答を受信すると、その応答がストップ・コンディションPの発行通知であるか、データDであるかを判定する(S230)。応答がストップ・コンディションPの発行通知である場合、シリアライザ/デシリアライザ140は、ステップS234の処理に進行する。一方、その応答がデータDである場合、シリアライザ/デシリアライザ140は、ステップS232の処理に進行する。
【0226】
ステップS234の処理に進行した場合、シリアライザ/デシリアライザ140は、シリアライザ/デシリアライザ120から取得したストップ・コンディションPの発行通知をスレーブデバイス142に伝送し(S234)、再び図24AのステップS202の処理に戻る。一方、ステップS232の処理に進行した場合、シリアライザ/デシリアライザ140は、シリアライザ/デシリアライザ120から取得したデータDをスレーブデバイス142に伝送し(S232)、図24AのステップS214の処理に進行して、ステップS214以降の処理を実行する。
【0227】
ところで、図24AのステップS210、S214、及び図24BのステップS220において、応答がNACKであった場合、シリアライザ/デシリアライザ140は、図24CのステップS236の処理に進行する。ステップS236の処理に進行すると、シリアライザ/デシリアライザ140は、操作部106側にあるシリアライザ/デシリアライザ120にNACKを伝送する(S236)。
【0228】
次いで、シリアライザ/デシリアライザ140は、操作部106側のシリアライザ/デシリアライザ120からストップ・コンディションPの発行通知を取得し(S238)、ステップS234の処理に進行する。次いで、シリアライザ/デシリアライザ140は、スレーブデバイス142にストップ・コンディションPの発行通知を伝送し(S234)、再び図24AのステップS202の処理に戻る。
【0229】
以上、シリアライザ/デシリアライザ140の動作について説明した。
【0230】
[2−4:伝送フォーマット]
次に、図25を参照しながら、本実施形態に係る信号伝送方法にて利用する伝送フォーマットについて説明する。図25は、本実施形態に係る信号伝送方法にて利用する伝送フォーマットの一例を示す説明図である。
【0231】
本実施形態に係る信号伝送方法は、例えば、図25に示すような7種類のフレームを用いて実現することができる。当該フレームは、3ビットのヘッダ、及び8ビットのデータにより構成される。
【0232】
3ビットのヘッダにより区別されるデータの種類は、(1)スタート・コンディションSの発行時に送信されるコントロール・バイト、(2)リピート・スタート・コンディションRSの発行時に送信されるコントロール・バイト、(3)ストップ・コンディションPの発行通知、(4)ACK、(5)ACK+データ、(6)NACK、(7)データの7通りである。
【0233】
但し、将来的なフォーマットの拡張に対応するために、図25の例に示すような予備(予約)を設けておく方がよい。このような伝送フォーマットを用いることにより、本実施形態に係る信号伝送方法を実現することができる。
【0234】
以上、本実施形態に係る携帯端末100の構成、信号伝送方法、及び当該信号伝送方法に用いるフレームの構成について説明した。本実施形態の技術を適用することにより、I2Cのようなバスシステムにおいて、SERDESを介したマスターデバイスとスレーブデバイスとの間の信号伝送が実現される。なお、上記の例はI2Cの仕様に準拠しているため、I2Cバスシステムに適用する場合には、これまでのハードウェア資産、ソフトウェア資産に特別な手を加えることなく、本実施形態の技術により得られる効果を享受することができる。つまり、本実施形態に係る技術を適用することで、既存のI2CバスシステムにSERDESの構成を容易に追加することができるようになる。もちろん、I2Cと同様の仕様を有するバスシステムに対しても同様のことが言える。
【0235】
<3:まとめ>
最後に、本実施形態に係る技術内容について簡単に纏める。ここで述べる技術内容は、例えば、PC、携帯電話、携帯ゲーム機、携帯情報端末、情報家電、カーナビゲーションシステム等、種々の電子機器に対して適用することができる。
【0236】
上記の電子機器の機能構成は次のように表現することができる。当該電子機器は、第1のバスに接続されたマスター機器から供給されるクロックと、当該クロックに同期して前記マスター機器から送信されるデータとを受信するマスター側受信部と、前記マスター側受信部によりデータが受信された場合に前記マスター機器の通信動作を一時停止させるマスター動作停止部と、前記第1のバスとは異なる第2のバスに接続されたスレーブ機器に対し、前記マスター側受信部により受信されたクロック及びデータを送信するスレーブ側送信部と、を有する。
【0237】
さらに、上記の電子機器は、前記スレーブ側送信部により送信されたクロックに同期して前記スレーブ機器から送信されたデータを受信するスレーブ側受信部と、前記スレーブ側受信部によりデータが受信された場合に前記マスター機器の通信動作を再開させるマスター動作再開部と、前記マスター動作再開部により通信動作が再開された前記マスター機器から供給されるクロックに同期して前記スレーブ側受信部により受信されたデータを前記マスター機器に送信するマスター側送信部とを有する。
【0238】
上記構成のように、第1のバスに接続されたマスター機器から第2のバスに接続されたスレーブ機器にデータを送信する際、マスター機器の動作を一時停止することにより、マスター機器から供給されるクロックが一時停止される。このようにしてクロックを一時停止させた状態で第2のバスに接続されたスレーブ機器にデータを送信し、当該スレーブ機器から応答データを受信することにより、スレーブ機器との間のデータ伝送に関する処理で遅延が生じたとしても、その遅延時間の間はマスター機器から供給されるクロックが進むことはない。
【0239】
そして、スレーブ機器から受信した応答データをマスター機器に送信する際に、マスター機器の動作を再開させ、再び供給されるクロックに同期して送信することで、マスター機器は、クロックに同期して正しく応答データを受信することができるようになる。その結果、伝送遅延による受信不良を回避することができる。
【0240】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【0241】
例えば、上記の説明においては、シリアライザ/デシリアライザ120、140の間で行われるシリアル伝送に関する処理が信号遅延の要因とされていた。しかし、信号遅延の要因は、これに限定されない。
【0242】
例えば、マスターデバイスとスレーブデバイスとの間に電圧変換を行うブリッジ機器が挿入されている場合、そのブリッジ機器が伝送遅延の原因となることがある。また、マスターデバイスとスレーブデバイスとの間の距離が非常に長い場合に伝送遅延が発生してしまうことがある。
【0243】
このような場合に本実施形態に係る信号伝送方法をブリッジ機器に適用し、マスターデバイスとスレーブデバイスとの間に挿入することにより、伝送遅延が発生しても、スレーブデバイスからマスターデバイスへと正しくデータを伝送することが可能になる。このような変形についても、上で説明した本実施形態の技術的範囲に含まれる。
【0244】
また、上記説明においては、シリアライザ/デシリアライザ120、140間の伝送路を同軸ケーブルで構成する例を示したが、シリアライザ/デシリアライザ120、140に代えて無線送受信部を設けることにより、伝送路を無線に変更することができる。この場合、シリアライザ/デシリアライザ120、140の構成の中で、シリアル化/パラレル化する要素を無線変調/無線復調する要素に置き換えることで、上記説明と同様に本実施形態に係る信号伝送方法を適用することが可能になる。
【符号の説明】
【0245】
100 携帯端末
102 表示部
104 ヒンジ部
106 操作部
108、110 I2Cバス
120、140 シリアライザ/デシリアライザ
122 マスターデバイス
124、142 スレーブデバイス
130 I2Cインターフェース
132 I2Cスレーブデバイス機能提供部
134、158 送信部
136、150 PHYレイヤ機能提供部
138、152 受信部
154 I2Cマスタ機能提供部
156 I2Cインターフェース
【技術分野】
【0001】
本発明は、信号処理装置、及び信号伝送方法に関する。
【背景技術】
【0002】
携帯電話やノート型のパーソナルコンピュータ(以下、ノートPC)等の情報処理装置は、ユーザが操作する本体部分と、情報が表示される表示部分とを接続するヒンジ部分に可動部材が用いられていることが多い。ところが、ヒンジ部分には多数の信号線や電力線が配線されている。そのため、配線の信頼性を維持する観点から、ヒンジ部分を通る信号線の数を極力減らす工夫が求められている。こうした理由から、最近では、本体部分と表示部分との間で行われるデータ伝送にパラレル伝送方式を用いずに、信号線の本数を減らすことが可能なシリアル伝送方式を用いることが好ましいとされている。なお、下記の特許文献1には、シリアルデータをAMI(Alternate Mark Inversion)符号に符号化し、シリアル伝送方式で伝送する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平3−109843号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本体部分と表示部分との間でデータのシリアル伝送を実現するには、ヒンジ部分を通るシリアル信号線のデータ入力端にパラレルデータをシリアル化するためのシリアライザを設ける必要がある。さらに、シリアル信号線のデータ出力端にシリアルデータをパラレル化するためのデシリアライザを設ける必要がある。そして、シリアル伝送方式で双方向伝送を実現するためには、シリアル信号線のデータ入出力端にシリアライザ及びデシリアライザを設ける必要がある。そのため、シリアル伝送方式で本体部分と表示部分との間のデータ伝送を行う情報処理装置には、シリアル信号線のデータ入出力端にシリアライザ/デシリアライザ(以下、SERDESと表記する場合がある。)が設けられる。
【0005】
一方、本体部分又は表示部分の内部にあるデバイス間は、例えば、複数のシリアルバスにより接続されている。そして、これら複数のシリアルバスを利用してデータやクロックが伝送される。シリアルバスによる接続方式としては、例えば、SPI(Serial Peripheral Interface)方式やI2C(Inter−Integrated Circuit)方式等が知られている(例えば、特開2007−251947号公報を参照)。これらの方式では、1つのバスシステムの中でマスターデバイスとスレーブデバイスとを定義し、マスターデバイスが供給するクロックに同期してスレーブデバイスがデータを伝送するというモデルが採用されている。これらの方式を用いると、デバイス間のデータ伝送を数本程度のシリアルバスにより実現できるため、筐体の小さい情報処理装置において広く利用されている。
【0006】
しかし、シリアライザ/デシリアライザを用いて本体部分と表示部分との間のシリアル伝送を行おうとすると、シリアライザ/デシリアライザで行われる各種処理に時間がかかり、本体部分にあるマスターデバイスと表示部分にあるスレーブデバイスとの間で送受信されるデータに遅延が生じてしまう。そのため、スレーブデバイスからマスターデバイスに送信されるデータに遅延が発生し、その遅延によりスレーブデバイスから送信されるデータがマスターデバイスにより供給されるクロックからずれてしまう。その結果、マスターデバイスはスレーブデバイスからデータを正しく受信することが困難になり、データの伝送が失敗してしまう。
【0007】
また、上記の例ではシリアライザ/デシリアライザが遅延の要因とされていたが、シリアライザ/デシリアライザ以外にも遅延の原因となりうる要素は存在する。こうした要素も考慮に入れ、伝送路においてクロックの同期が乱れる程度に遅延する要素が存在しても、その遅延による影響を受けずにデータが伝送されるようにする信号伝送技術が求められている。特に、既存のシリアルバスによる接続方式の枠組みを維持したまま、遅延要素となりうる部分に改良を加えることにより、遅延による影響を受けずに正しくデータをマスターデバイスに伝送できるようにする技術が求められている。
【0008】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、バスシステムに遅延要素が含まれていたとしても、その遅延要素を介して伝送されるデータを正しく受信できるように伝送することが可能な、新規かつ改良された信号処理装置、及び信号伝送方法を提供することにある。
【課題を解決するための手段】
【0009】
上記課題を解決するために、本発明のある観点によれば、第1のバスに接続されたマスター機器から供給されるクロックと、当該クロックに同期して前記マスター機器から送信されるデータとを受信するマスター側受信部と、前記マスター側受信部によりデータが受信された場合に前記マスター機器の通信動作を一時停止させるマスター動作停止部と、前記第1のバスとは異なる第2のバスに接続されたスレーブ機器に対し、前記マスター側受信部により受信されたクロック及びデータを送信するスレーブ側送信部と、前記スレーブ側送信部により送信されたクロックに同期して前記スレーブ機器から送信されたデータを受信するスレーブ側受信部と、前記スレーブ側受信部によりデータが受信された場合に前記マスター機器の通信動作を再開させるマスター動作再開部と、前記マスター動作再開部により通信動作が再開された前記マスター機器から供給されるクロックに同期して前記スレーブ側受信部により受信されたデータを前記マスター機器に送信するマスター側送信部と、を備える、信号処理装置が提供される。
【0010】
また、前記信号処理装置は、シリアル伝送路により接続された第1及び第2のモジュールにより形成されており、前記スレーブ側送信部は、前記マスター側受信部により受信されたクロック及びデータをシリアル化してシリアル信号を生成し、前記シリアル伝送路を通じて当該シリアル信号を送信する、前記第1のモジュールに設けられたシリアライザと、前記シリアル伝送路を通じて送信されたシリアル信号を受信して前記クロック及びデータを復元する、前記第2のモジュールに設けられたデシリアライザと、を含み、前記スレーブ側受信部は、前記スレーブ機器から送信されたデータをシリアル化してシリアル信号を生成し、前記シリアル伝送路を通じて当該シリアル信号を送信する、前記第2のモジュールに設けられたシリアライザと、前記シリアル伝送路を通じて送信されたシリアル信号を受信して前記データを復元する、前記第1のモジュールに設けられたデシリアライザと、を含むように構成されていてもよい。
【0011】
また、前記第1及び第2のバスは、I2C方式のシリアルバスであってもよい。
【0012】
また、前記マスター動作停止部は、前記マスター機器から供給されるクロックを固定するクロック・ストレッチを用いて前記マスター機器の通信動作を一時停止させ、前記マスター動作再開部は、前記クロック・ストレッチを解除することにより前記マスター機器の通信動作を再開させるように構成されていてもよい。
【0013】
また、前記第1のモジュールは、少なくとも表示データを出力する演算処理部をさらに有し、前記第2のモジュールは、入力された表示データを表示する表示部をさらに有し、前記第1のモジュールに設けられたシリアライザは、前記演算処理部から出力された表示データ及びクロックをシリアル化して送信し、前記第2のモジュールに設けられたデシリアライザは、前記シリアル伝送路を通じて送信されたシリアル信号を受信し、前記クロック及び表示データを復元して前記表示部に入力するように構成されていてもよい。
【0014】
また、前記信号処理装置は、前記マスター機器から受信したデータの送信先が前記第2のバスに接続されたスレーブ機器であるか否かを判定する送信先判定部をさらに備え、前記マスター動作停止部、前記スレーブ側送信部、前記スレーブ側受信部、前記マスター動作再開部、前記マスター側送信部は、前記送信先判定部による判定結果に応じて、前記送信先が前記第2のバスに接続されたスレーブ機器である場合に動作するように構成されていてもよい。
【0015】
また、前記信号処理装置は、無線伝送路により接続された第1及び第2のモジュールにより形成されており、前記スレーブ側送信部は、前記マスター側受信部により受信されたクロック及びデータを無線信号に変換し、前記無線伝送路を通じて送信する、前記第1のモジュールに設けられた無線送信部と、前記無線伝送路を通じて送信された無線信号を受信して前記クロック及びデータを復元する、前記第2のモジュールに設けられた無線受信部と、を含み、前記スレーブ側受信部は、前記スレーブ機器から送信されたデータを無線信号に変換し、前記無線伝送路を通じて送信する、前記第2のモジュールに設けられた無線送信部と、前記無線伝送路を通じて送信された無線信号を受信して前記データを復元する、前記第1のモジュールに設けられた無線受信部と、を含むように構成されていてもよい。
【0016】
また、上記課題を解決するために、本発明の別の観点によれば、第1のバスに接続されたマスター機器から供給されるクロックと、当該クロックに同期して前記マスター機器から送信されるデータとを受信するマスター側受信ステップと、前記マスター側受信ステップでデータが受信された場合に前記マスター機器の通信動作を一時停止させるマスター動作停止ステップと、前記第1のバスとは異なる第2のバスに接続されたスレーブ機器に対し、前記マスター側受信ステップで受信されたクロック及びデータを送信するスレーブ側送信ステップと、前記スレーブ側送信ステップで送信されたクロックに同期して前記スレーブ機器から送信されたデータを受信するスレーブ側受信ステップと、前記スレーブ側受信ステップでデータが受信された場合に前記マスター機器の通信動作を再開させるマスター動作再開ステップと、前記マスター動作再開ステップで通信動作が再開された前記マスター機器から供給されるクロックに同期して前記スレーブ側受信ステップで受信されたデータを前記マスター機器に送信するマスター側送信ステップと、を含む、信号伝送方法が提供される。
【発明の効果】
【0017】
以上説明したように本発明によれば、バスシステムに遅延要素が含まれていたとしても、その遅延要素を介して伝送されるデータを正しく受信できるように伝送することが可能になる。
【図面の簡単な説明】
【0018】
【図1】携帯端末の構造の一例を示す説明図である。
【図2】I2C方式に係る携帯端末の構成例を示す説明図である。
【図3】SERDESを用いてヒンジ部の配線数を減らしたI2C方式に係る携帯端末の構成例を示す説明図である。
【図4】本発明の一実施形態に係る携帯端末の構成例を示す説明図である。
【図5】本実施形態に係る携帯端末が有するSERDESの構成例を示す説明図である。
【図6】I2C方式に係る信号伝送方法の一例(コントロール・バイトの伝送)を示す説明図である。
【図7】I2C方式に係る信号伝送方法の一例(クロック・ストレッチ)を示す説明図である。
【図8】SERDESによる具体的な伝送遅延の発生状況を示す説明図である。
【図9】SERDESを通さずにスレーブデバイスにコントロール・バイトを伝送し、スレーブデバイスからNACKを受け取る際の通信シーケンスを示す説明図である。
【図10】SERDESを通じてスレーブデバイスにコントロール・バイト(Read試行)を伝送し、スレーブデバイスからNACKを受け取る際の通信シーケンスを示す説明図である。
【図11】SERDESを通さずにスレーブデバイスにコントロール・バイト(Read試行)を伝送し、スレーブデバイスからデータを受け取る際の通信シーケンスを示す説明図である。
【図12】SERDESを通じてスレーブデバイスにコントロール・バイト(Read試行)を伝送し、スレーブデバイスからデータを受け取る際の通信シーケンスを示す説明図である。
【図13】SERDESを通さずにスレーブデバイスにコントロール・バイト(Read試行)を伝送し、スレーブデバイスから複数のデータを受け取る際の通信シーケンスを示す説明図である。
【図14】SERDESを通じてスレーブデバイスにコントロール・バイト(Read試行)を伝送し、スレーブデバイスから複数のデータを受け取る際の通信シーケンスを示す説明図である。
【図15】SERDESを通さずにスレーブデバイスにコントロール・バイト(Write試行)を伝送し、スレーブデバイスからNACKを受け取る際の通信シーケンスを示す説明図である。
【図16】SERDESを通じてスレーブデバイスにコントロール・バイト(Write試行)を伝送し、スレーブデバイスからNACKを受け取る際の通信シーケンスを示す説明図である。
【図17】SERDESを通さずにスレーブデバイスにコントロール・バイト(Write試行)を伝送し、スレーブデバイスにデータを書き込む際の通信シーケンスを示す説明図である。
【図18】SERDESを通じてスレーブデバイスにコントロール・バイト(Write試行)を伝送し、スレーブデバイスにデータを書き込む際の通信シーケンスを示す説明図である。
【図19】SERDESを通さずにスレーブデバイスにコントロール・バイト(Write試行)を伝送し、スレーブデバイスに複数のデータを書き込み、スレーブデバイスからNACKを受け取る際の通信シーケンスを示す説明図である。
【図20】SERDESを通じてスレーブデバイスにコントロール・バイト(Write試行)を伝送し、スレーブデバイスに複数のデータを書き込み、スレーブデバイスからNACKを受け取る際の通信シーケンスを示す説明図である。
【図21】SERDESを通さずにスレーブデバイスにコントロール・バイトを伝送し、スレーブデバイスからNACKを受け取った後、リピート・スタート・コンディションを発行する際の通信シーケンスを示す説明図である。
【図22】SERDESを通してスレーブデバイスにコントロール・バイトを伝送し、スレーブデバイスからNACKを受け取った後、リピート・スタート・コンディションを発行する際の通信シーケンスを示す説明図である。
【図23A】操作部側のSERDESによる処理の流れを示す説明図である。
【図23B】操作部側のSERDESによる処理の流れを示す説明図である。
【図23C】操作部側のSERDESによる処理の流れを示す説明図である。
【図24A】表示部側のSERDESによる処理の流れを示す説明図である。
【図24B】表示部側のSERDESによる処理の流れを示す説明図である。
【図24C】表示部側のSERDESによる処理の流れを示す説明図である。
【図25】本実施形態に係る信号伝送方法に用いる送信フレームの伝送フォーマットの構成例を示す説明図である。
【発明を実施するための形態】
【0019】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0020】
[説明の流れについて]
ここで、以下に記載する本発明の実施形態に関する説明の流れについて簡単に述べる。まず、図1を参照しながら、本実施形態で想定される携帯端末の構造について説明する。次いで、図2を参照しながら、デバイス間をI2Cバスにより接続した携帯端末の構成について説明する。この中で、図6、図7を参照しながら、I2C通信の仕組みについて簡単に説明する。次いで、図3を参照しながら、ヒンジ部の配線を通る信号をシリアル化して伝送することが可能な携帯端末の構成について説明する。この中で、図8を参照しながら、I2C方式の信号伝送方法にSERDESを用いたシリアル伝送方法を組み合わせることで生じてしまう問題点を抽出する。
【0021】
次いで、図4、図5を参照しながら、本実施形態に係る携帯端末100の構成について説明する。次いで、図9〜図22を参照しながら、本実施形態に係る信号伝送方法について説明する。また、図23A〜図23C、図24A〜図24Cを参照しながら、本実施形態に係る携帯端末100に設けられたSERDESの動作について説明する。さらに、図25を参照しながら、本実施形態に係る信号伝送方法を実現するために用いられる送信フレームの伝送フォーマットについて説明する。最後に、本実施形態の技術的思想について纏め、当該技術的思想から得られる作用効果について簡単に説明する。
【0022】
(説明項目)
1:一般的な携帯端末の構成
1−1:パラレル伝送方式について
1−2:シリアル伝送方式について
1−3:SERDESによる遅延について
2:実施形態
2−1:携帯端末の構成
2−1−1:全体構成
2−1−2:SERDESの機能構成
2−2:信号伝送方法
2−2−1:Read試行 → NACK応答
2−2−2:Read試行 → データ応答
2−2−3:Read試行 → 複数データ応答
2−2−4:Write試行 → NACK応答
2−2−5:Write試行 → データ書き込み
2−2−6:Write試行 → 複数データ書き込み
2−2−7:リピート・スタート・コンディションの発行
2−3:SERDESの動作
2−3−1:操作部側SERDESの動作
2−3−2:表示部側SERDESの動作
2−4:伝送フォーマット
3:まとめ
【0023】
<1:一般的な携帯端末の構成>
まず、本発明の実施形態について説明するに先立ち、図1〜図3を参照しながら、一般的な携帯端末の構成、及び一般的な携帯端末が抱える課題について説明する。ここでは説明の都合上、一般的な携帯端末の一例として折り畳み式の携帯電話を想定する。
【0024】
まず、図1を参照する。図1には、一般的な携帯端末の外形が示されている。図1に示すように、携帯端末は、表示部と、ヒンジ部と、操作部とにより構成されている。表示部には、例えば、LCD(Liquid Crystal Display)やELD(Electro Luminescence Display)等が搭載されている。以下では、表示部にLCDが搭載されるものとして説明する。また、表示部は、ヒンジ部を介して操作部に接続されている。ヒンジ部は、可動部材により構成されている。そのため、ユーザは、ヒンジ部の可動範囲内で表示部と操作部の相対位置を変更することができる。
【0025】
また、操作部には、例えば、操作キーが搭載されている。さらに、操作部の内部には、CPU(Central Processing Unit)やバッテリーが搭載されている。そして、CPUから出力される一部のデータは、操作部から表示部に伝送される。例えば、表示データは、操作部から表示部に伝送され、表示部に搭載されたLCDに入力される。また、バッテリーから出力される電流は、表示部の電源として操作部から表示部に供給される。このように、操作部から表示部へはデータや電源が伝送される。
【0026】
また、表示部には、カメラ、センサ、スイッチ、RFアンテナ等、様々なデバイスが搭載されていることが多い。そのため、表示部から操作部へも様々なデータが伝送される。これらのデータを伝送するため、ヒンジ部には、複数の信号線が配線される。しかし、ヒンジ部に多くの信号線が配線されていると、ヒンジ部の変形に伴って配線が捻れたり、引っ張られたりするため、配線が断線してしまう恐れがある。逆に、配線の断線を避けるためにヒンジ部の可動範囲を抑制すると、表示部と操作部との位置関係を自由に変化させることが難しくなり、ユーザの利便性が低下してしまう。
【0027】
[1−1:パラレル伝送方式について]
上記の通り、多くの携帯端末には、図2に示すように、操作部側にも表示部側にも多くのデバイスが搭載されている。そして、これらのデバイスの間は、複数本のシリアルバスにより接続されている。シリアルバスによる接続方式としては、例えば、SPI方式やI2C方式等が知られている。ここではI2C方式を例に挙げて説明する。図2に示すように、I2C方式の場合、2本のシリアルバス(以下、I2Cバス)を用いてデバイス間でデータのやり取りが行われる。
【0028】
2本のI2Cバスは、SCL(Serial Clock Line)、SDA(Serial Data Line)と呼ばれる2つの信号ラインにより構成される。以下、SCLを流れるクロックをSCL信号又はクロックと表記し、SDAを流れるデータをSDA信号又はデータと表記する。また、I2Cバスにより構成されるバスシステムでは、各デバイスにマスター(Master)又はスレーブ(Slave)の属性が割り当てられる。例えば、CPUはマスターデバイスして扱われ、操作キー(KEY)、赤外線通信デバイス(IrDA)、カメラ、及びLCDはスレーブデバイスとして扱われる。
【0029】
SCL信号は、I2Cバスによりデータを伝送するためのクロックであり、マスターデバイスにより供給される。SDA信号は、SCL信号に同期して伝送されるデータである。以下の説明において、信号の伝送方向を区別するため、マスターデバイスからスレーブデバイスへと伝送されるSDA信号をSDA信号(X)と表記し、スレーブデバイスからマスターデバイスへと伝送されるSDA信号をSDA信号(Y)と表記する。なお、信号の伝送方向は、マスターデバイスにより制御される。ここで、伝送方向の制御を含めたI2Cに係る伝送制御の仕組みについて簡単に説明する。
【0030】
I2C方式の通信(以下、I2C通信)は、マスターデバイスによりスタート・コンディションと呼ばれるコマンドが発行されることにより開始される。スタート・コンディションの発行は、SCL信号がHレベルのときにマスターデバイスによりSDA信号(X)がHレベルからLレベルに変更されることでスレーブデバイスに通知される。このとき、スタート・コンディションは、I2Cバスに接続された全てのスレーブデバイスに通知される。全てのスレーブデバイスがスタート・コンディションを受信すると、マスターデバイスは、コントロール・バイト(CB;Control Byte)と呼ばれるSDA信号(X)を送信する。
【0031】
コントロール・バイトには、通信対象のスレーブデバイスを示すアドレス情報と、SDA信号の伝送方向を示すR/Wフラグとが含まれる。このコントロール・バイトは、I2Cバスに接続された全てのスレーブデバイスにより受信される。各スレーブデバイスは、コントロール・バイトを受信し、それに含まれるアドレス情報と自身のアドレスとが一致しているか否かを判定する。コントロール・バイトに含まれるアドレス情報と自身のアドレスとが一致しているスレーブデバイスはSDA信号の送受信に備え、不一致のスレーブデバイスは再びスタート・コンディションが発行されるまで待機する。
【0032】
SDA信号の送受信は、コントロール・バイトに含まれるR/Wフラグが示す方向に従って行われる。例えば、R/WフラグがReadの場合、スレーブデバイスからマスターデバイスへとSDA信号(Y)の伝送が行われる。一方、R/WフラグがWriteの場合、マスターデバイスからスレーブデバイスへとSDA信号(X)の伝送が行われる。SDA信号は、マスターデバイスが出力するSCL信号に同期して1クロック毎に1ビットずつ、例えば、1度に8クロック分だけ送信される。そして、9クロック目のタイミングで受信側から送信側へとACK(SDA信号=Lレベル)又はNACK(SDA信号=Hレベル)が返される(図6を参照)。
【0033】
I2C通信を終了する際には、ストップ・コンディションと呼ばれるコマンドが発行される。ストップ・コンディションは、SCL信号がHレベルのときにマスターデバイスによりSDA信号をLレベルからHレベルに変化させることで発行される。ストップ・コンディションが発行されると、スレーブデバイスは、再びスタート・コンディションが発行されるまで待機状態となる。つまり、ストップ・コンディションによりI2Cバスが開放される。
【0034】
このように、I2C通信の開始時にマスターデバイスにより通信対象のスレーブデバイスとデータの伝送方向とが決定される。但し、I2C通信には、スタート・コンディションとストップ・コンディションとの間で伝送方向や通信対象を変えるコマンド(リピート・スタート・コンディション)も用意されている。そのため、リピート・スタート・コンディションを利用して、本来スタート・コンディションとストップ・コンディションとの間で固定されている伝送方向や通信対象を変更することができる。
【0035】
リピート・スタート・コンディションの発行方法は、スタート・コンディションの発行方法と同じである。但し、リピート・スタート・コンディションは、スタート・コンディションとストップ・コンディションとの間で発行される。リピート・スタート・コンディションを発行した後、マスターデバイスは、変更後のアドレス情報及びR/Wフラグを含むコントロール・バイトをスレーブデバイスに向けて送信する。そして、このコントロール・バイトにより新たな伝送方向と通信対象とが再決定される。
【0036】
また、I2C通信には、マスターデバイスに対して通信の一時停止を要求するコマンド(クロック・ストレッチ;図7を参照)が定義されている。クロック・ストレッチとは、スレーブデバイスがマスターデバイスから供給されるSCL信号を強制的にLレベル出力にするというものである。クロック・ストレッチの間、SCL信号がLレベルに固定されるため、マスターデバイスはI2C通信を一時停止する。スレーブデバイスによりSCL信号のLレベル出力が解除されると、マスターデバイスは、I2C通信を再開する。このように、クロック・ストレッチを利用することで、スレーブデバイスの制御によりマスターデバイスのI2C通信を一時停止させることができる。
【0037】
以上、I2C方式に係る伝送制御の仕組みについて簡単に説明した。このように、I2C方式においては、SCLとSDAとを組み合わせてデータの伝送が行われる。そのため、I2C方式においては2本のI2Cバスがデータの送受信に必要とされる。操作部内のマスターデバイスと表示部内のスレーブデバイスとの間でデータの送受信を実現しようとすると、電源線等も含め、ヒンジ部には複数本の配線が通ることになる。
【0038】
先に述べた通り、ヒンジ部に複数本の配線が通ると、ヒンジ部の変形に伴って信号線が断線してしまう危険性がある。そのため、ヒンジ部の配線数を極力低減させる工夫が必要になる。この問題に対する一つの解決策は、ヒンジ部を通る複数の信号(例えば、SCL、SDA等)をシリアル化したり、シリアル化された信号を電源に重畳して伝送することである。なお、電源に重畳する場合には、シリアル信号をDCフリーの符号に符号化しておく必要がある。DCフリーの符号に符号化しておくことで、DC電源に重畳しても、受信側でDCカットすることによりシリアル信号を容易に分離することができるようになる。
【0039】
[1−2:シリアル伝送方式について]
さて、ヒンジ部を通る信号をシリアル化するには、図3に示すように、操作部及び表示部の双方にシリアライザ/デシリアライザ(SERDES(#1)、SERDES(#2))を設ければよい。図3のように、シリアライザ/デシリアライザを設け、伝送信号をシリアル化して多重することにより、ヒンジ部を通る信号線を大幅に低減させることができる。例えば、伝送信号をDCフリーの符号に符号化し、シリアル化して多重すると共に電源を重畳して伝送することにより、電源線を含めたヒンジ部の配線を1〜2本程度の同軸ケーブルに纏めることが可能になる。
【0040】
(SERDESの動作)
ここで、図3を参照しながら、シリアライザ/デシリアライザの動作について説明する。なお、操作部側のシリアライザ/デシリアライザをSERDES(#1)と表記し、表示部側のシリアライザ/デシリアライザをSERDES(#2)と表記している。シリアライザ/デシリアライザは、いずれもシリアライザ(SER)と、デシリアライザ(DES)とにより構成される。なお、以下の説明においては、操作部側にマスターデバイスが配置され、表示部側にスレーブデバイスが配置されているものとする。
【0041】
まず、マスターデバイスからSCL信号、SDA信号(X)が入力されると、SERDES(#1)は、シリアライザにより、入力されたSCL信号、SDA信号(X)等をシリアル化して多重し、シリアル伝送信号を生成する。なお、SERDES(#1)、SERDES(#2)には、シリアル化用のクロックMCKがマスターデバイスから入力されているものとする。SERDES(#1)により生成されたシリアル伝送信号は、同軸ケーブルを通じてSERDES(#2)に伝送される。シリアル伝送信号を受信すると、SERDES(#2)は、デシリアライザにより、シリアル伝送信号をパラレル化してSCL信号、SDA信号(X)等を分離し、スレーブデバイスに向けて送信する。
【0042】
逆に、表示部側のスレーブデバイスからSDA信号(Y)を伝送する場合には、スレーブデバイスからSDA信号(Y)がSERDES(#2)に入力される。SERDES(#2)に入力されたSDA信号(Y)は、シリアライザによりMCKに同期するようにシリアル化され、同軸ケーブルを通じてSERDES(#1)に伝送される。SERDES(#1)では、受信したSDA信号(Y)のシリアル信号をMCKに同期してサンプリングし、SCL信号に同期してマスターデバイス向けに出力する。このように、シリアライザ/デシリアライザを設けることで、ヒンジ部を通る信号がシリアル化され、ヒンジ部の配線数を低減することができる。
【0043】
[1−3:SERDESによる遅延について]
しかしながら、図8に示すように、SERDES(#1)、SERDES(#2)の内部で行われる処理により、スレーブデバイスに到達するSDA信号(X)には遅延が発生してしまい、SERDES(#1)に入力されたSCL信号との同期が乱れてしまう。そして、SERDES(#2)は、遅延したSCL信号に同期してSDA信号(X)をスレーブデバイスに送信してしまう。但し、スレーブデバイスは、SERDES(#2)から出力される遅延したSCL信号に同期してSDA信号(X)を正しく受信することができる。
【0044】
しかし、SDA信号(X)に応じてスレーブデバイスから出力されるSDA信号(Y)(例えば、ACK/NACK等)は、遅延したSCL信号に同期して送信されるため、SERDES(#2)に遅延したSDA信号(Y)が入力される。このSDA信号(Y)をSERDES(#2)、SERDES(#1)により伝送するため、その伝送処理により遅延が拡大してしまう。その結果、SDA信号(Y)は、マスターデバイスから供給されるSCL信号の同期タイミングから大きく外れてしまう。そして、マスターデバイスは、SERDES(#2)、SERDES(#1)を経由してスレーブデバイスから伝送されたSDA信号(Y)を正しく受信することが難しくなる。
【0045】
なお、シリアライザ/デシリアライザを経由せず、操作部内のデバイス同士でSDA信号をやり取りする場合には、図6のように、SCL信号に同期したタイミングでSDA信号(X)、SDA信号(Y)の送受信が正しく行われる。しかし、SERDES(#2)、SERDES(#1)を経由してやり取りされるSDA信号(X)、SDA信号(Y)には、図8に示すような遅延が生じ、本来、図8のタイミング(A)で受信されるべき1ビットのSDA信号(Y)がマスターデバイスにより受信できなくなってしまう。
【0046】
シリアライザ/デシリアライザによる遅延は、例えば、SERDES(#1)においてMCKに同期してSDA信号(X)をサンプリングする際のサンプリングタイミングにより生じる。また、SERDES(#1)、SERDES(#2)の内部で行われる処理(例えば、シリアル化、パラレル化、符号化等)によっても遅延が生じる。但し、スレーブデバイスに対してはSCL信号に同期してSDA信号(X)が送信されるため、スレーブデバイスがSDA信号(X)を受信する分には正しく受信を行うことができる(図8を参照)。
【0047】
しかし、スレーブデバイスがSERDES(#2)から供給されるSCL信号に同期してSDA信号(Y)を送信すると、そのSDA信号(Y)は、SERDES(#2)に入力された時点で既にマスターデバイスから供給されているSCL信号から遅延したものとなる。さらに、SERDES(#2)により受信されたSDA信号(Y)は、SERDES(#2)、SERDES(#1)により更なる遅延を受けて伝送される。その結果、SERDES(#1)から出力されるSDA信号(Y)は、図8に示すように、SCL信号から大きく遅延してしまう。
【0048】
このように大きな遅延が発生してしまうと、マスターデバイスにおいてSDA信号(Y)を正しく受信することが難しくなる。例えば、図8の例においてSCL信号の立ち上がりエッジに同期してSDA信号(Y)をサンプリングした場合には、正しくSDA信号(Y)を受信することができない。このような理由から、シリアライザ/デシリアライザを経由することにより遅延が生じたとしてもマスターデバイスでSDA信号(Y)を正しく受信できるようにする信号伝送技術が求められるのである。
【0049】
このような課題に対し、例えば、MCKを十分に高速化し、SCL信号を十分に低速化することにより、サンプリングタイミングにより生じる遅延を小さくことができる。しかし、MCKを高速化すると消費電力が大幅に増大してしまう。また、ヒンジ部を通過する信号のクロック周波数が高まるため、通信電波への電磁干渉(EMI)が問題となる。さらに、SCL信号を低速化するとI2Cバスの伝送速度が低下し、パフォーマンスが大幅に低下してしまう。
【0050】
また、マスターデバイスがシリアライザ/デシリアライザによる遅延を考慮してSDA信号(Y)の受信タイミングを調整する方法も考えられるが、遅延の原因がサンプリングタイミングや各種処理時間、SERDES(#1)とSERDES(#2)との間の距離にあるため、十分な精度でタイミング調整を行うことは現実的に困難である。以下、このような課題を解決するための具体的な方法について説明する。
【0051】
<2:実施形態>
本発明の一実施形態について説明する。本実施形態は、シリアライザ/デシリアライザにより遅延が発生したとしても、マスターデバイスにおいて正しくSDA信号(Y)を受信できるようにする信号伝送方法を提案するものである。なお、当該信号伝送方法は、I2C方式等、既存のバスシステムの枠組みを変更せずに上記の課題を解決しようとするものである。ここでは、説明の都合上、I2C方式のバスシステムを前提に説明するが、本実施形態に係る技術の適用範囲はI2C方式のバスシステムに限定されるものではなく、I2C方式と同様の仕組みが定義されたバスシステムにおいて好適に用いられる。
【0052】
[2−1:携帯端末の構成]
以下、本実施形態に係る携帯端末100の構成について説明する。
【0053】
(2−1−1:全体構成)
まず、図4を参照しながら、本実施形態に係る携帯端末100の全体的な構成について説明する。図4は、本実施形態に係る携帯端末100の全体的な構成例を示す説明図である。なお、図4には、折り畳み式の携帯電話を模した携帯端末100の外形が記載されているが、本実施形態に係る技術の適用範囲は、折り畳み式の携帯電話に限定されるものではない。例えば、ノートPC、携帯型ゲーム機、携帯情報端末等、任意の電子機器に対して適用することが可能である。
【0054】
図4に示すように、携帯端末100は、表示部102と、ヒンジ部104と、操作部106とにより構成される。表示部102と操作部106とは、ヒンジ部104により接続されている。また、ヒンジ部104は可動部材で形成されており、ヒンジ部104の可動範囲内において表示部102と操作部106との位置関係を変更することができる。さらに、ヒンジ部104には同軸ケーブルが配線されており、表示部102と操作部106とが電気的に接続されている。
【0055】
また、表示部102には、シリアライザ/デシリアライザ140(SERDES(#2))と、スレーブデバイス142(I2C Slave(3)、I2C Slave(3))とが搭載されている。そして、操作部106には、シリアライザ/デシリアライザ120(SERDES(#1))と、マスターデバイス122(I2C Master)と、スレーブデバイス124(I2C Slave(1)、I2C Slave(2))とが搭載されている。
【0056】
マスターデバイス122としては、例えば、CPUやベースバンドプロセッサ等が想定される。ベースバンドプロセッサは、通信制御やアプリケーションの実行等を行うデバイスである。また、スレーブデバイス124、142としては、例えば、操作キー、赤外線通信デバイス、カメラデバイス、ディスプレイデバイス等が想定される。もちろん、ここで例示したデバイス以外にも、マスターデバイス122、スレーブデバイス124、142として利用可能なデバイスは存在し、実施の態様に応じて適切なデバイスにマスター/スレーブの属性が割り当てられる。
【0057】
(マスターデバイス122 − スレーブデバイス124)
ここで、マスターデバイス122とスレーブデバイス124との間でデータ(SDA信号(X)、SDA信号(Y))のやり取りが行われる際の動作フローについて説明する。
【0058】
まず、マスターデバイス122により、スタート・コンディションが発行され、コントロール・バイトを用いてスレーブデバイス124が選択される。コントロール・バイトに含まれるR/WフラグがWriteの場合、マスターデバイス122から、選択されたスレーブデバイス124へとSDA信号(X)が送信される。一方、コントロール・バイトに含まれるR/WフラグがReadの場合、スレーブデバイス124からマスターデバイス122へとSDA信号(Y)が送信される。このとき、スレーブデバイス124には、マスターデバイス122からSCL信号が供給されており、SDA信号(X)、SDA信号(Y)はSCL信号に同期して送信される。
【0059】
スレーブデバイス124は、マスターデバイス122と同じ操作部106に設けられており、直接I2Cバス110に接続されている。そのため、シリアライザ/デシリアライザ120、140をSDA信号(X)、SDA信号(Y)が通ることはない。従って、このケースにおいて、SDA信号(X)、SDA(Y)は、シリアライザ/デシリアライザ120、150により生じる遅延とは無関係である。従って、マスターデバイス122は、R/WフラグがReadの場合、SCL信号に同期して正しくSDA信号(Y)を受信することができる。また、スレーブデバイス124は、R/WフラグがWriteの場合、SCL信号に同期して正しくSDA信号(X)を受信することができる。
【0060】
従って、マスターデバイス122と同じ操作部106に設けられたスレーブデバイス124に対するデータの送受信については、シリアライザ/デシリアライザ120、150による遅延への対策を講じる必要はない。
【0061】
(マスターデバイス122 − スレーブデバイス142)
次に、マスターデバイス122とスレーブデバイス142との間でデータ(SDA信号(X)、SDA信号(Y))のやり取りが行われる際の動作フローについて説明する。
【0062】
まず、マスターデバイス122により、スタート・コンディションが発行され、コントロール・バイトを用いてスレーブデバイス142が選択される。但し、スレーブデバイス142が表示部102側に設けられているため、コントロール・バイトは、シリアライザ/デシリアライザ120、140を介して表示部102にシリアル伝送される。このとき、シリアライザ/デシリアライザ120、140における各種処理等により、コントロール・バイトには遅延が生じる。遅延が生じたコントロール・バイトは、I2Cバス108を通じてシリアライザ/デシリアライザ140からスレーブデバイス142に伝送される。
【0063】
コントロール・バイトを受信すると、スレーブデバイス142は、ACK(成功)又はNACK(失敗)をマスターデバイス122に向けて送信する。このとき、スレーブデバイス142は、シリアライザ/デシリアライザ140から供給されるSCL信号に同期してACK/NACKを伝送する。但し、シリアライザ/デシリアライザ140から供給されるSCL信号には遅延が含まれているため、スレーブデバイス142から送信されるACK/NACKは、マスターデバイス122から供給されたSCL信号から遅延したものとなる。
【0064】
スレーブデバイス142から送信されたACK/NACKは、I2Cバス108を通じてシリアライザ/デシリアライザ140に伝送される。そして、このACK/NACKは、シリアライザ/デシリアライザ140、120を介してマスターデバイス122に伝送される。このとき、シリアライザ/デシリアライザ140、120における各種処理等により、ACK/NACKに更なる遅延が生じる(図8を参照)。先に述べた通り、このまま送信すると、マスターデバイス122が正しくACK/NACKを受信することができなくなる。
【0065】
そこで、本実施形態に係るシリアライザ/デシリアライザ120は、マスターデバイス122からコントロール・バイトを受信した時点でクロック・ストレッチ(図7を参照)を開始し、マスターデバイス122の通信動作を一時停止させる。そして、シリアライザ/デシリアライザ140から伝送されたACK/NACKを送信する際にクロック・ストレッチを解除し、マスターデバイス122から再び供給されるSCL信号に同期してACK/NACKを送信する。なお、コントロール・バイトに対するACK/NACKの応答に限らず、シリアライザ/デシリアライザ120、140を介してSDA信号(Y)を伝送する際には遅延が生じる。そのため、このような場合にも本実施形態においては同様の対策が講じられる。
【0066】
上記のような対策を講じることにより、シリアライザ/デシリアライザ120、140で伝送遅延が生じたとしても、マスターデバイス122により正しくSDA信号(Y)を受信することができるようになる。以下、シリアライザ/デシリアライザ120、140の機能構成について、より詳細に説明する。
【0067】
(2−1−2:SERDESの機能構成)
ここでは、図5を参照しながら、本実施形態に係るシリアライザ/デシリアライザ120、140の機能構成について説明する。図5は、本実施形態に係るシリアライザ/デシリアライザ120、140の機能構成例を示す説明図である。上記の通り、シリアライザ/デシリアライザ120は、スレーブデバイス140へのSDA信号(Y)の要求(SDA信号(X))を受け付けた時点でクロック・ストレッチを開始し、SDA信号(Y)をマスターデバイス122に送信する時点でクロック・ストレッチを解除する。このような制御を行うことにより、SDA信号(Y)をマスターデバイス122が正しく受信することができるようになる。
【0068】
(シリアライザ/デシリアライザ120の構成)
図5に示すように、シリアライザ/デシリアライザ120は、I2Cインターフェース130と、I2Cスレーブ機能提供部132と、送信部134と、PHYレイヤ機能提供部136と、受信部138とを有する。なお、シリアライザ/デシリアライザ120には、マスターデバイス122からシリアル伝送用のクロックMCKが供給されているものとする。
【0069】
(シリアライザ/デシリアライザ140の構成)
また、シリアライザ/デシリアライザ140は、PHYレイヤ機能提供部150と、受信部152と、I2Cマスタ機能提供部154と、I2Cインターフェース156と、送信部158とを有する。なお、シリアライザ/デシリアライザ150には、マスターデバイス122からシリアル伝送用のクロックMCKが供給されているものとする。
【0070】
(動作)
以下、シリアライザ/デシリアライザ120、140の動作について説明する。
【0071】
スタート・コンディションが発行されると、マスターデバイス122からコントロール・バイトが送信され、シリアライザ/デシリアライザ120に入力される。このとき、マスターデバイス122からはSCL信号が供給され、SDAを通じてSCL信号に同期したコントロール・バイトが入力される。SCL信号、コントロール・バイトは、I2Cインターフェース130を通じてI2Cスレーブ機能提供部132に入力される。I2Cスレーブ機能提供部132は、コントロール・バイトに含まれるアドレス情報を参照し、スレーブデバイス142のアドレスに一致するか否かを判定する。
【0072】
アドレス情報がスレーブデバイス142のアドレスに一致しない場合には、次にスタート・コンディションが発行されるまで待機する。一方、アドレス情報がスレーブデバイス142のアドレスに一致する場合、I2Cスレーブ機能提供部132は、クロック・ストレッチを開始し、マスターデバイス122の通信動作を一時停止する。そして、I2Cスレーブ機能提供部132は、コントロール・バイト及びSCL信号を送信部134に入力し、PHYレイヤ機能提供部136を通じてシリアライザ/デシリアライザ140にシリアル伝送する。
【0073】
シリアライザ/デシリアライザ140にシリアル伝送されたコントロール・バイト及びSCL信号は、PHYレイヤ機能提供部150を通じて受信部152により受信され、パラレル化されてI2Cマスタ機能提供部154に入力される。コントロール・バイト及びSCL信号が入力されると、I2Cマスタ機能提供部154は、I2Cインターフェース156を介して、入力されたSCL信号をスレーブデバイス142に供給すると共に、そのSCL信号に同期してコントロール・バイトを送信する。
【0074】
このとき、シリアライザ/デシリアライザ120、140における各種処理等により、コントロール・バイト及びSCL信号には遅延が生じているが、スレーブデバイス142では、そのSCL信号に同期してコントロール・バイトを正しく受信することができる。コントロール・バイトを受信したスレーブデバイス142は、マスターデバイス122に向けてACK又はNACKを送信する。このとき、スレーブデバイス142は、シリアライザ/デシリアライザ140から供給されるSCL信号に同期してACK又はNACKを送信する。
【0075】
スレーブデバイス142から送信されたACK又はNACKは、I2Cインターフェース156を通じてI2Cマスタ機能提供部154に入力される。ACK又はNACKが入力されると、I2Cマスタ機能提供部154は、入力されたACK又はNACKを送信部158に入力し、PHYレイヤ機能提供部150を通じてシリアライザ/デシリアライザ120にACK/NACKをシリアル伝送する。シリアライザ/デシリアライザ140からシリアル伝送されたACK/NACKは、PHYレイヤ機能提供部136を通じて受信部138により受信され、パラレル化されてI2Cスレーブ機能提供部132に入力される。
【0076】
ACK/NACKが入力されると、I2Cスレーブ機能提供部132は、クロック・ストレッチを解除し、マスターデバイス122から再び供給されるSCL信号に同期してI2CインターフェースによりACK/NACKを送信する。このようにしてI2Cスレーブ機能提供部132から送信されたACK/NACKは、SCL信号に同期して正しく受信することができる。そのため、シリアライザ/デシリアライザ120、140において伝送遅延が発生したとしても、マスターデバイス122において正しくACK/NACKを受信することができるようになる。なお、ACK/NACK以外のSDA信号(Y)についても同様である。
【0077】
なお、シリアル信号をDCフリーの符号に符号化して伝送する場合、その符号化処理は、送信部134、158において行われる。また、復号処理は、受信部138、152において行われる。さらに、シリアル信号にDC電源を重畳して伝送する場合、DC電源の重畳はPHYレイヤ機能提供部136において行われ、DC電源の分離はPHYレイヤ機能提供部150において行われる。このような構成にすることにより、DC電源とシリアル信号とを重畳して伝送することができるようになるため、シリアライザ/デシリアライザ120、140間の配線数を減らすことができる。
【0078】
以上、本実施形態に係るシリアライザ/デシリアライザ120、140の機能構成について説明した。以下では、本実施形態に係る信号伝送方法について説明すると共に、シリアライザ/デシリアライザ120、140の動作についても、より詳細に説明する。
【0079】
[2−2:信号伝送方法]
以下、本実施形態に係る信号伝送方法について説明する。
【0080】
先に述べた通り、I2C通信では、スタート・コンディションの発行後にマスターデバイス122から送信されるコントロール・バイトにより、伝送方向と通信対象とが特定される。さらに、リピート・スタート・コンディションの発行により、伝送方向、通信対象を変更することができる。また、スレーブデバイス124、142の応答内容に応じて通信シーケンスが異なる。そのため、本実施形態に係る通信シーケンスには多数のパターンが存在する。以下では、その一部のパターンを例に挙げて本実施形態に係る信号伝送方法について説明する。
【0081】
(2−2−1:Read試行 → NACK応答)
まず、図9、図10を参照しながら、R/WフラグがReadの場合に、コントロール・バイトに対してNACKが返されるまでの通信シーケンスについて具体的に説明する。なお、図中において、ADはアドレス情報を示し、RはReadを示すR/Wフラグを示し、NはNACKを示す。また、Sはスタート・コンディションを示し、Pはストップ・コンディションを示す。
【0082】
スタート・コンディションSが発行されると、マスターデバイス122からコントロール・バイトが全てのスレーブデバイス124、142に送信される。そのうち、スレーブデバイス124に向けて送信されるものは、シリアライザ/デシリアライザ120、140を通さずに伝送される。一方、スレーブデバイス142に向けて送信されるものは、シリアライザ/デシリアライザ120、140を通して伝送される。以下、それぞれのケースについて個々に説明する。
【0083】
(SERDESを通さない伝送)
まず、図9を参照しながら、シリアライザ/デシリアライザ120、140を通さずにSDA信号のやり取りが行われるケースについて説明する。
【0084】
図9に示すように、まず、マスターデバイス122によりスタート・コンディションSが発行される。次いで、マスターデバイス122によりアドレス情報(7ビット)及びR/Wフラグ(1ビット)を含むコントロール・バイトがSDAを通じて送信される。次いで、スレーブデバイス124は、マスターデバイス122により送信されたコントロール・バイトを受信し、次のビットクロック(SCL信号)に同期してNACK(1ビット)をマスターデバイス122に送信する。NACKを受信すると、マスターデバイス122は、ストップ・コンディションPを発行してI2C通信を終了する。
【0085】
このように、シリアライザ/デシリアライザ120、140を通さない場合には遅延が生じないため、コントロール・バイトの送信に用いた8ビット分のビットクロックに続く1ビット分のビットクロックに同期してNACKが送信される。そのため、マスターデバイス122は、SCL信号に同期してコントロール・バイトに対するNACKを正しく受信することができる。
【0086】
(SERDESを通す伝送)
次に、図10を参照しながら、シリアライザ/デシリアライザ120、140を通じてSDA信号のやり取りが行われるケースについて説明する。
【0087】
図10に示すように、まず、マスターデバイス122によりスタート・コンディションSが発行される。次いで、マスターデバイス122によりアドレス情報及びR/Wフラグを含むコントロール・バイトがSDAを通じて送信される。SDAを通じて送信されたコントロール・バイトは、シリアライザ/デシリアライザ120に入力される。コントロール・バイトが入力されると、シリアライザ/デシリアライザ120は、クロック・ストレッチを開始し、マスターデバイス122の通信動作を一時停止する。そして、シリアライザ/デシリアライザ120は、入力されたコントロール・バイト及びSCL信号をシリアライザ/デシリアライザ140に伝送する。
【0088】
伝送されたコントロール・バイト及びSCL信号を受信すると、シリアライザ/デシリアライザ140は、スタート・コンディションを発行し、受信したSCL信号に同期してコントロール・バイトをスレーブデバイス142に送信する。シリアライザ/デシリアライザ140により送信されたコントロール・バイトを受信すると、スレーブデバイス142は、コントロール・バイトの送信に利用されたビットクロックの次のビットクロックに同期してNACKを送信する。スレーブデバイス142により送信されたNACKは、シリアライザ/デシリアライザ140により受信され、シリアライザ/デシリアライザ120に伝送される。
【0089】
シリアライザ/デシリアライザ140からNACKを受信すると、シリアライザ/デシリアライザ120は、クロック・ストレッチを解除し、マスターデバイス122から再び供給されるSCL信号に同期してNACKを送信する。シリアライザ/デシリアライザ120により送信されたNACKを受信すると、マスターデバイス122は、ストップ・コンディションPを発行して操作部106側におけるI2C通信を終了する。また、操作部106側のストップ・コンディションPの通知が表示部102側にも伝達される。操作部106側におけるI2C通信が終了すると、シリアライザ/デシリアライザ140もストップ・コンディションPを発行し、表示部102側におけるI2C通信を終了する。
【0090】
このように、シリアライザ/デシリアライザ120、140により遅延が生じる場合でも、クロック・ストレッチによりSCL信号の送信が停止されているため、コントロール・バイトの送信に用いた8ビット分のビットクロックに続く1ビット分のビットクロックに同期してNACKが送信される。そのため、マスターデバイス122は、SCL信号に同期してコントロール・バイトに対するNACKを正しく受信することができる。
【0091】
(2−2−2:Read試行 → データ応答)
次に、図11、図12を参照しながら、R/WフラグがReadの場合に、コントロール・バイトに対してデータが返されてから通信が終了するまでの通信シーケンスについて具体的に説明する。なお、図中において、ADはアドレス情報を示し、RはReadを示すR/Wフラグを示し、NはNACKを示し、AはACKを示し、Dはデータを示す。また、Sはスタート・コンディションを示し、Pはストップ・コンディションを示す。
【0092】
スタート・コンディションSが発行されると、マスターデバイス122からコントロール・バイトが全てのスレーブデバイス124、142に送信される。そのうち、スレーブデバイス124に向けて送信されるものは、シリアライザ/デシリアライザ120、140を通さずに伝送される。一方、スレーブデバイス142に向けて送信されるものは、シリアライザ/デシリアライザ120、140を通して伝送される。以下、それぞれのケースについて個々に説明する。
【0093】
(SERDESを通さない伝送)
まず、図11を参照しながら、シリアライザ/デシリアライザ120、140を通さずにSDA信号のやり取りが行われるケースについて説明する。
【0094】
図11に示すように、まず、マスターデバイス122によりスタート・コンディションSが発行される。次いで、マスターデバイス122によりアドレス情報及びR/Wフラグを含むコントロール・バイトがSDAを通じて送信される。次いで、スレーブデバイス124は、マスターデバイス122により送信されたコントロール・バイトを受信し、次のビットクロックに同期してACKをマスターデバイス122に送信する。
【0095】
さらに、スレーブデバイス124は、次のビットクロックに同期して1ビットずつ8ビットのデータDをマスターデバイス122に送信する。8ビットのデータDを全て送信すると、スレーブデバイス124は、データDの送信に利用されたビットクロックの次のビットクロックに同期してNACK(1ビット)をマスターデバイス122に送信する。NACKを受信すると、マスターデバイス122は、ストップ・コンディションPを発行してI2C通信を終了する。
【0096】
このように、シリアライザ/デシリアライザ120、140を通さない場合には遅延が生じないため、コントロール・バイトの送信に用いた8ビット分のビットクロックに続く1ビット分のビットクロックに同期してACKが送信され、続く8ビット分のビットクロックに同期して8ビットのデータDが送信され、続く1ビット分のビットクロックに同期してNACKが送信される。そのため、マスターデバイス122は、SCL信号に同期してコントロール・バイトに対するACK、及びデータDを正しく受信することができる。
【0097】
(SERDESを通す伝送)
次に、図12を参照しながら、シリアライザ/デシリアライザ120、140を通じてSDA信号のやり取りが行われるケースについて説明する。
【0098】
図12に示すように、まず、マスターデバイス122によりスタート・コンディションSが発行される。次いで、マスターデバイス122によりアドレス情報及びR/Wフラグを含むコントロール・バイトがSDAを通じて送信される。
【0099】
SDAを通じて送信されたコントロール・バイトは、シリアライザ/デシリアライザ120に入力される。コントロール・バイトが入力されると、シリアライザ/デシリアライザ120は、クロック・ストレッチを開始し、マスターデバイス122の通信動作を一時停止する。そして、シリアライザ/デシリアライザ120は、入力されたコントロール・バイト及びSCL信号をシリアライザ/デシリアライザ140に伝送する。
【0100】
伝送されたコントロール・バイト及びSCL信号を受信すると、シリアライザ/デシリアライザ140は、スタート・コンディションSを発行し、受信したSCL信号に同期してコントロール・バイトをスレーブデバイス142に送信する。
【0101】
シリアライザ/デシリアライザ140により送信されたコントロール・バイトを受信すると、スレーブデバイス142は、コントロール・バイトの送信に利用されたビットクロックの次のビットクロックに同期してACKを送信する。
【0102】
さらに、スレーブデバイス142は、ACKに続く8ビット分のビットクロックに同期して8ビットのデータDを送信する。スレーブデバイス142により送信されたACK及びデータDは、シリアライザ/デシリアライザ140により受信され、シリアライザ/デシリアライザ120にシリアル伝送される。
【0103】
シリアライザ/デシリアライザ140からACK及びデータDを受信すると、シリアライザ/デシリアライザ120は、クロック・ストレッチを解除し、マスターデバイス122から再び供給されるSCL信号に同期してACK及びデータDを送信する。
【0104】
シリアライザ/デシリアライザ120により送信されたACK及びデータDを受信すると、マスターデバイス122は、データDの送信に利用されたビットクロックに続くビットクロックに同期してNACKを送信する。そして、マスターデバイス122は、ストップ・コンディションPを発行して操作部106側におけるI2C通信を終了する。
【0105】
マスターデバイス122により送信されたNACKは、シリアライザ/デシリアライザ120、140によりシリアル伝送され、I2Cバス108を通じてシリアライザ/デシリアライザ140からスレーブデバイス142に送信される。
【0106】
また、操作部106側のストップ・コンディションPの通知が表示部102側にも伝達される。NACK及びストップ・コンディションPの通知がスレーブデバイス142に伝達されると、シリアライザ/デシリアライザ140は、ストップ・コンディションPを発行し、表示部102側におけるI2C通信を終了する。
【0107】
このように、シリアライザ/デシリアライザ120、140により遅延が生じる場合でも、クロック・ストレッチによりSCL信号の伝送が停止されているため、コントロール・バイトの送信に用いた8ビット分のビットクロックに続く1ビット分のビットクロックに同期してACKが送信され、続く8ビット分のビットクロックに同期して8ビットのデータDが送信され、続く1ビット分のビットクロックに同期してNACKが送信される。そのため、マスターデバイス122は、SCL信号に同期してコントロール・バイトに対するACK、データDを正しく受信することができる。
【0108】
(2−2−3:Read試行 → 複数データ応答)
次に、図13、図14を参照しながら、R/WフラグがReadの場合に、コントロール・バイトに対して複数のデータが返されて通信が終了するまでの通信シーケンスについて具体的に説明する。なお、図中において、ADはアドレス情報を示し、RはReadを示すR/Wフラグを示し、NはNACKを示し、AはACKを示し、D1、D2、D3はデータを示す。また、Sはスタート・コンディションを示し、Pはストップ・コンディションを示す。
【0109】
スタート・コンディションSが発行されると、マスターデバイス122からコントロール・バイトが全てのスレーブデバイス124、142に送信される。そのうち、スレーブデバイス124に向けて送信されるものは、シリアライザ/デシリアライザ120、140を通さずに伝送される。一方、スレーブデバイス142に向けて送信されるものは、シリアライザ/デシリアライザ120、140を通して伝送される。以下、それぞれのケースについて個々に説明する。
【0110】
(SERDESを通さない伝送)
まず、図13を参照しながら、シリアライザ/デシリアライザ120、140を通さずにSDA信号のやり取りが行われるケースについて説明する。なお、図13の例では、2つのデータD1、D2がスレーブデバイス124からマスターデバイス122に伝送される。
【0111】
図13に示すように、まず、マスターデバイス122によりスタート・コンディションSが発行される。次いで、マスターデバイス122によりアドレス情報及びR/Wフラグを含むコントロール・バイトがSDAを通じて送信される。次いで、スレーブデバイス124は、マスターデバイス122により送信されたコントロール・バイトを受信し、次のビットクロックに同期してACKをマスターデバイス122に送信する。
【0112】
さらに、スレーブデバイス124は、ACKの次のビットクロックに同期して1ビットずつ8ビットのデータD1をマスターデバイス122に送信する。このデータD1を受信すると、マスターデバイス122は、データD1の送信に利用されたビットクロックに続く1ビット分のビットクロックに同期してACKをスレーブデバイス124に送信する。このACKを受信すると、スレーブデバイス124は、ACKの送信に利用されたビットクロックに続く8ビット分のビットクロックに同期してデータD2をマスターデバイス122に送信する。
【0113】
8ビットのデータD2を全て送信すると、スレーブデバイス124は、データD2の送信に利用されたビットクロックに続く1ビット分のビットクロックに同期してNACK(1ビット)をマスターデバイス122に送信する。NACKを受信すると、マスターデバイス122は、ストップ・コンディションPを発行してI2C通信を終了する。
【0114】
このように、シリアライザ/デシリアライザ120、140を通さない場合には遅延が生じないため、コントロール・バイトの送信に用いた8ビット分のビットクロックに続く1ビット分のビットクロックに同期してACKが送信され、続く8ビット分のビットクロックに同期して8ビットのデータD1が送信される。そして、続く1ビット分のビットクロックに同期してACKが送信され、続く8ビット分のビットクロックに同期して8ビットのデータD2が送信され、続く1ビット分のビットクロックに同期してNACKが送信される。そのため、マスターデバイス122は、SCL信号に同期してコントロール・バイトに対するACK、データD1、D2を正しく受信することができる。
【0115】
(SERDESを通す伝送)
次に、図14を参照しながら、シリアライザ/デシリアライザ120、140を通じてSDA信号のやり取りが行われるケースについて説明する。なお、図14の例では、3つのデータD1、D2、D3がスレーブデバイス142からマスターデバイス122に伝送される。
【0116】
図14に示すように、まず、マスターデバイス122によりスタート・コンディションSが発行される。次いで、マスターデバイス122によりアドレス情報(7ビット)及びR/Wフラグ(1ビット)を含むコントロール・バイトがSDAを通じて送信される。
【0117】
SDAを通じて送信されたコントロール・バイトは、シリアライザ/デシリアライザ120に入力される。コントロール・バイトが入力されると、シリアライザ/デシリアライザ120は、クロック・ストレッチを開始し、マスターデバイス122の通信動作を一時停止する。そして、シリアライザ/デシリアライザ120は、入力されたコントロール・バイト及びSCL信号をシリアライザ/デシリアライザ140にシリアル伝送する。
【0118】
シリアル伝送されたコントロール・バイト及びSCL信号を受信すると、シリアライザ/デシリアライザ140は、スタート・コンディションSを発行し、受信したSCL信号に同期してコントロール・バイトをスレーブデバイス142に送信する。
【0119】
シリアライザ/デシリアライザ140により送信されたコントロール・バイトを受信すると、スレーブデバイス142は、コントロール・バイトの送信に利用されたビットクロックの次のビットクロックに同期してACKを送信する。さらに、スレーブデバイス142は、ACKに続く8ビット分のビットクロックに同期して8ビットのデータD1を送信する。スレーブデバイス142により送信されたACK及びデータD1は、シリアライザ/デシリアライザ140により受信され、シリアライザ/デシリアライザ120にシリアル伝送される。
【0120】
シリアライザ/デシリアライザ140からACK及びデータD1を受信すると、シリアライザ/デシリアライザ120は、クロック・ストレッチを解除し、マスターデバイス122から再び供給されるSCL信号に同期してACK及びデータD1を送信する。
【0121】
シリアライザ/デシリアライザ120により送信されたACK及びデータD1を受信すると、マスターデバイス122は、データD1の送信に利用されたビットクロックに続くビットクロックに同期してACKをシリアライザ/デシリアライザ120に送信する。ACKを受信すると、シリアライザ/デシリアライザ120は、再びクロック・ストレッチを開始し、マスターデバイス122の通信動作を一時停止する。
【0122】
そして、シリアライザ/デシリアライザ120は、入力されたACKをシリアライザ/デシリアライザ140にシリアル伝送する。シリアル伝送されたACKを受信すると、シリアライザ/デシリアライザ140は、受信したACKをスレーブデバイス142に送信する。
【0123】
シリアライザ/デシリアライザ140により送信されたACKを受信すると、スレーブデバイス142は、ACKの送信に利用されたビットクロックに続く8ビット分のビットクロックに同期して8ビットのデータD2を送信する。スレーブデバイス142により送信されたデータD2は、シリアライザ/デシリアライザ140により受信され、シリアライザ/デシリアライザ120にシリアル伝送される。
【0124】
シリアライザ/デシリアライザ140からデータD2を受信すると、シリアライザ/デシリアライザ120は、クロック・ストレッチを解除し、マスターデバイス122から再び供給されるSCL信号に同期してデータD2を送信する。
【0125】
シリアライザ/デシリアライザ120により送信されたデータD2を受信すると、マスターデバイス122は、データD2の送信に利用されたビットクロックに続く1ビット分のビットクロックに同期してACKをシリアライザ/デシリアライザ120に送信する。ACKを受信すると、シリアライザ/デシリアライザ120は、再びクロック・ストレッチを開始し、マスターデバイス122の通信動作を一時停止する。
【0126】
そして、シリアライザ/デシリアライザ120は、入力されたACKをシリアライザ/デシリアライザ140にシリアル伝送する。シリアル伝送されたACKを受信すると、シリアライザ/デシリアライザ140は、受信したACKをスレーブデバイス142に送信する。シリアライザ/デシリアライザ140により送信されたACKを受信すると、スレーブデバイス142は、ACKの送信に利用されたビットクロックに続く8ビット分のビットクロックに同期して8ビットのデータD3を送信する。スレーブデバイス142により送信されたデータD3は、シリアライザ/デシリアライザ140により受信され、シリアライザ/デシリアライザ120にシリアル伝送される。
【0127】
シリアライザ/デシリアライザ140からデータD3を受信すると、シリアライザ/デシリアライザ120は、クロック・ストレッチを解除し、マスターデバイス122から再び供給されるSCL信号に同期してデータD3を送信する。
【0128】
シリアライザ/デシリアライザ120により送信されたデータD3を受信すると、マスターデバイス122は、データD3の送信に利用されたビットクロックに続く1ビット分のビットクロックに同期してNACKをシリアライザ/デシリアライザ120に送信する。そして、マスターデバイス122は、ストップ・コンディションPを発行して操作部106側におけるI2C通信を終了する。
【0129】
マスターデバイス122により送信されたNACKは、シリアライザ/デシリアライザ120、140によりシリアル伝送され、I2Cバス108を通じてシリアライザ/デシリアライザ140からスレーブデバイス142に送信される。
【0130】
また、操作部106側のストップ・コンディションPの通知が表示部102側にも伝達される。NACK及びストップ・コンディションPの通知がスレーブデバイス142に伝達されると、シリアライザ/デシリアライザ140は、ストップ・コンディションPを発行し、表示部102側におけるI2C通信を終了する。
【0131】
このように、シリアライザ/デシリアライザ120、140により遅延が生じる場合でも、クロック・ストレッチによりSCL信号の伝送が停止されているため、コントロール・バイトの送信に用いた8ビット分のビットクロックに続く1ビット分のビットクロックに同期してACKが送信され、続く8ビット分のビットクロックに同期してデータD1が送信される。そして、続く1ビット分のビットクロックに同期してACKが送信され、続く8ビット分のビットクロックに同期してデータD2が送信される。さらに、続く1ビット分のビットクロックに同期してACKが送信され、続く8ビット分のビットクロックに同期してデータD3が送信され、続く1ビット分のビットクロックに同期してNACKが送信される。そのため、マスターデバイス122は、SCL信号に同期してコントロール・バイトに対するACK、及びデータD1、D2、D3を正しく受信することができる。
【0132】
(2−2−4:Write試行 → NACK応答)
次に、図15、図16を参照しながら、R/WフラグがWriteの場合に、コントロール・バイトに対してNACKが返されるまでの通信シーケンスについて具体的に説明する。なお、図中において、ADはアドレス情報を示し、WはWriteを示すR/Wフラグを示し、NはNACKを示す。また、Sはスタート・コンディションを示し、Pはストップ・コンディションを示す。
【0133】
スタート・コンディションSが発行されると、マスターデバイス122からコントロール・バイトが全てのスレーブデバイス124、142に送信される。そのうち、スレーブデバイス124に向けて送信されるものは、シリアライザ/デシリアライザ120、140を通さずに伝送される。一方、スレーブデバイス142に向けて送信されるものは、シリアライザ/デシリアライザ120、140を通して伝送される。以下、それぞれのケースについて個々に説明する。
【0134】
(SERDESを通さない伝送)
次に、図15を参照しながら、シリアライザ/デシリアライザ120、140を通さずにSDA信号のやり取りが行われるケースについて説明する。
【0135】
図15に示すように、まず、マスターデバイス122によりスタート・コンディションSが発行される。次いで、マスターデバイス122によりアドレス情報及びR/Wフラグを含むコントロール・バイトがSDAを通じて送信される。次いで、スレーブデバイス124は、マスターデバイス122により送信されたコントロール・バイトを受信し、次のビットクロックに同期してNACKをマスターデバイス122に送信する。NACKを受信すると、マスターデバイス122は、ストップ・コンディションPを発行してI2C通信を終了する。
【0136】
このように、シリアライザ/デシリアライザ120、140を通さない場合には遅延が生じないため、コントロール・バイトの送信に用いた8ビット分のビットクロックに続く1ビット分のビットクロックに同期してNACKが送信される。そのため、マスターデバイス122は、SCL信号に同期してコントロール・バイトに対するNACKを正しく受信することができる。
【0137】
(SERDESを通す伝送)
次に、図16を参照しながら、シリアライザ/デシリアライザ120、140を通じてSDA信号のやり取りが行われるケースについて説明する。
【0138】
図16に示すように、まず、マスターデバイス122によりスタート・コンディションSが発行される。次いで、マスターデバイス122によりアドレス情報及びR/Wフラグを含むコントロール・バイトがSDAを通じて送信される。SDAを通じて送信されたコントロール・バイトは、シリアライザ/デシリアライザ120に入力される。
【0139】
コントロール・バイトが入力されると、シリアライザ/デシリアライザ120は、クロック・ストレッチを開始し、マスターデバイス122の通信動作を一時停止する。そして、シリアライザ/デシリアライザ120は、入力されたコントロール・バイト及びSCL信号をシリアライザ/デシリアライザ140に伝送する。
【0140】
伝送されたコントロール・バイト及びSCL信号を受信すると、シリアライザ/デシリアライザ140は、スタート・コンディションSを発行し、受信したSCL信号に同期してコントロール・バイトをスレーブデバイス142に送信する。
【0141】
シリアライザ/デシリアライザ140により送信されたコントロール・バイトを受信すると、スレーブデバイス142は、コントロール・バイトの送信に利用されたビットクロックの次のビットクロックに同期してNACKを送信する。スレーブデバイス142により送信されたNACKは、シリアライザ/デシリアライザ140により受信され、シリアライザ/デシリアライザ120にシリアル伝送される。
【0142】
シリアライザ/デシリアライザ140からNACKを受信すると、シリアライザ/デシリアライザ120は、クロック・ストレッチを解除し、マスターデバイス122から再び供給されるSCL信号に同期してNACKを送信する。
【0143】
シリアライザ/デシリアライザ120により送信されたNACKを受信すると、マスターデバイス122は、ストップ・コンディションPを発行して操作部106側におけるI2C通信を終了する。また、操作部106側のストップ・コンディションPの通知が表示部102側にも伝達される。操作部106側におけるI2C通信が終了すると、シリアライザ/デシリアライザ140もストップ・コンディションPを発行し、表示部102側におけるI2C通信を終了する。
【0144】
このように、シリアライザ/デシリアライザ120、140により遅延が生じる場合でも、クロック・ストレッチによりSCL信号の送信が停止されているため、コントロール・バイトの送信に利用された8ビット分のビットクロックに続く1ビット分のビットクロックに同期してNACKが送信される。そのため、マスターデバイス122は、SCL信号に同期してコントロール・バイトに対するNACKを正しく受信することができる。
【0145】
(2−2−5:Write試行 → データ書き込み)
次に、図17、図18を参照しながら、R/WフラグがWriteの場合に、コントロール・バイトに対してデータが書き込まれて通信が終了するまでの通信シーケンスについて具体的に説明する。なお、図中において、ADはアドレス情報を示し、WはWriteを示すR/Wフラグを示し、AはACKを示し、Dはデータを示す。また、Sはスタート・コンディションを示し、Pはストップ・コンディションを示す。
【0146】
スタート・コンディションSが発行されると、マスターデバイス122からコントロール・バイトが全てのスレーブデバイス124、142に送信される。そのうち、スレーブデバイス124に向けて送信されるものは、シリアライザ/デシリアライザ120、140を通さずに伝送される。一方、スレーブデバイス142に向けて送信されるものは、シリアライザ/デシリアライザ120、140を通して伝送される。以下、それぞれのケースについて個々に説明する。
【0147】
(SERDESを通さない伝送)
まず、図17を参照しながら、シリアライザ/デシリアライザ120、140を通さずにSDA信号のやり取りが行われるケースについて説明する。
【0148】
図17に示すように、まず、マスターデバイス122によりスタート・コンディションSが発行される。次いで、マスターデバイス122によりアドレス情報及びR/Wフラグを含むコントロール・バイトがSDAを通じて送信される。次いで、スレーブデバイス124は、マスターデバイス122により送信されたコントロール・バイトを受信し、次のビットクロックに同期してACKをマスターデバイス122に送信する。
【0149】
ACKを受信すると、マスターデバイス122は、ACKの送信に利用されたビットクロックに続く8ビット分のビットクロックに同期して8ビットのデータDをスレーブデバイス124に送信する。データDを受信すると、スレーブデバイス124は、データDの書き込み処理を実行する。
【0150】
データDの書き込み処理が完了すると、スレーブデバイス124は、データDの送信に利用されたビットクロックに続く1ビット分のビットクロックに同期してACKをマスターデバイス122に送信する。ACKを受信すると、マスターデバイス122は、ストップ・コンディションPを発行してI2C通信を終了する。
【0151】
このように、シリアライザ/デシリアライザ120、140を通さない場合には遅延が生じないため、コントロール・バイトの送信に用いた8ビット分のビットクロックに続く1ビット分のビットクロックに同期してACKが送信され、続く8ビット分のビットクロックに同期して8ビットのデータDが送信され、続く1ビット分のビットクロックに同期してACKが送信される。そのため、マスターデバイス122は、SCL信号に同期してコントロール・バイトに対するACK、及びデータDの書き込み完了に伴うACKを正しく受信することができる。
【0152】
(SERDESを通す伝送)
次に、図18を参照しながら、シリアライザ/デシリアライザ120、140を通じてSDA信号のやり取りが行われるケースについて説明する。
【0153】
図18に示すように、まず、マスターデバイス122によりスタート・コンディションSが発行される。次いで、マスターデバイス122によりアドレス情報及びR/Wフラグを含むコントロール・バイトがSDAを通じて送信される。SDAを通じて送信されたコントロール・バイトは、シリアライザ/デシリアライザ120に入力される。
【0154】
コントロール・バイトが入力されると、シリアライザ/デシリアライザ120は、クロック・ストレッチを開始し、マスターデバイス122の通信動作を一時停止する。そして、シリアライザ/デシリアライザ120は、入力されたコントロール・バイト及びSCL信号をシリアライザ/デシリアライザ140に伝送する。
【0155】
伝送されたコントロール・バイト及びSCL信号を受信すると、シリアライザ/デシリアライザ140は、スタート・コンディションを発行し、受信したSCL信号に同期してコントロール・バイトをスレーブデバイス142に送信する。
【0156】
シリアライザ/デシリアライザ140により送信されたコントロール・バイトを受信すると、スレーブデバイス142は、コントロール・バイトの送信に利用されたビットクロックの次のビットクロックに同期してACKを送信する。スレーブデバイス142により送信されたACKは、シリアライザ/デシリアライザ140により受信され、シリアライザ/デシリアライザ120にシリアル伝送される。
【0157】
シリアライザ/デシリアライザ140からACKを受信すると、シリアライザ/デシリアライザ120は、クロック・ストレッチを解除し、マスターデバイス122から再び供給されるSCL信号に同期してACKを送信する。
【0158】
シリアライザ/デシリアライザ120により送信されたACKを受信すると、マスターデバイス122は、ACKの送信に利用されたビットクロックに続く8ビット分のビットクロックに同期してデータDを送信する。マスターデバイス122により送信されたデータDは、シリアライザ/デシリアライザ120、140によりシリアル伝送され、I2Cバス108を通じてシリアライザ/デシリアライザ140からスレーブデバイス142に送信される。
【0159】
シリアライザ/デシリアライザ140により送信されたデータDを受信すると、スレーブデバイス142は、データDの書き込み処理を実行する。そして、データDの書き込み処理が完了すると、スレーブデバイス142は、データDの送信に利用されたビットクロックの次のビットクロックに同期してACKを送信する。スレーブデバイス142により送信されたACKは、シリアライザ/デシリアライザ140により受信され、シリアライザ/デシリアライザ120にシリアル伝送される。
【0160】
シリアライザ/デシリアライザ140からACKを受信すると、シリアライザ/デシリアライザ120は、クロック・ストレッチを解除し、マスターデバイス122から再び供給されるSCL信号に同期してACKを送信する。シリアライザ/デシリアライザ120からACKを受信すると、マスターデバイス122は、ストップ・コンディションPを発行して操作部106側におけるI2C通信を終了する。
【0161】
また、操作部106側のストップ・コンディションPの通知が表示部102側にも伝達される。ストップ・コンディションPの通知がスレーブデバイス142に伝達されると、シリアライザ/デシリアライザ140は、ストップ・コンディションPを発行し、表示部102側におけるI2C通信を終了する。
【0162】
このように、シリアライザ/デシリアライザ120、140により遅延が生じる場合でも、クロック・ストレッチによりSCL信号の伝送が停止されているため、コントロール・バイトの送信に用いた8ビット分のビットクロックに続く1ビット分のビットクロックに同期してACKが送信される。さらに、続く8ビット分のビットクロックに同期して8ビットのデータDが送信され、続く1ビット分のビットクロックに同期してACKが送信される。そのため、マスターデバイス122は、SCL信号に同期してコントロール・バイトに対するACK、及びデータDの書き込み完了を示すACKを正しく受信することができる。
【0163】
(2−2−6:Write試行 → 複数データ書き込み)
次に、図19、図20を参照しながら、R/WフラグがWriteの場合に、コントロール・バイトの送信後に複数のデータが書き込まれて通信が終了するまでの通信シーケンスについて具体的に説明する。なお、図中において、ADはアドレス情報を示し、WはWriteを示すR/Wフラグを示し、NはNACKを示し、AはACKを示し、D1、D2、D3はデータを示す。また、Sはスタート・コンディションを示し、Pはストップ・コンディションを示す。
【0164】
スタート・コンディションSが発行されると、マスターデバイス122からコントロール・バイトが全てのスレーブデバイス124、142に送信される。そのうち、スレーブデバイス124に向けて送信されるものは、シリアライザ/デシリアライザ120、140を通さずに伝送される。一方、スレーブデバイス142に向けて送信されるものは、シリアライザ/デシリアライザ120、140を通して伝送される。以下、それぞれのケースについて個々に説明する。
【0165】
(SERDESを通さない伝送)
まず、図19を参照しながら、シリアライザ/デシリアライザ120、140を通さずにSDA信号のやり取りが行われるケースについて説明する。なお、図19の例では、2つのデータD1、D2がマスターデバイス122からスレーブデバイス124に伝送される。
【0166】
図19に示すように、まず、マスターデバイス122によりスタート・コンディションSが発行される。次いで、マスターデバイス122によりアドレス情報及びR/Wフラグを含むコントロール・バイトがSDAを通じて送信される。次いで、スレーブデバイス124は、マスターデバイス122により送信されたコントロール・バイトを受信し、次のビットクロックに同期してACKをマスターデバイス122に送信する。
【0167】
ACKを受信すると、マスターデバイス122は、ACKの送信に利用されたビットクロックの次のビットクロックに同期して1ビットずつ8ビットのデータD1をスレーブデバイス124に送信する。このデータD1を受信すると、スレーブデバイス124は、データD1の書き込み処理を実行する。
【0168】
データD1の書き込み処理が完了すると、スレーブデバイス124は、データD1の送信に利用されたビットクロックに続く1ビット分のビットクロックに同期してACKをスレーブデバイス124に送信する。このACKを受信すると、マスターデバイス122は、ACKの送信に利用されたビットクロックに続く8ビット分のビットクロックに同期してデータD2をスレーブデバイス124に送信する。
【0169】
このデータD2を受信すると、スレーブデバイス124は、データD2の書き込み処理を実行する。データD2の書き込み処理に失敗すると、スレーブデバイス124は、データD2の送信に利用されたビットクロックに続く1ビット分のビットクロックに同期してNACKをスレーブデバイス124に送信する。このNACKを受信すると、マスターデバイス122は、ストップ・コンディションPを発行してI2C通信を終了する。
【0170】
このように、シリアライザ/デシリアライザ120、140を通さない場合には遅延が生じないため、コントロール・バイトの送信に用いた8ビット分のビットクロックに続く1ビット分のビットクロックに同期してACKが送信され、続く8ビット分のビットクロックに同期して8ビットのデータD1が送信される。そして、続く1ビット分のビットクロックに同期してACKが送信され、続く8ビット分のビットクロックに同期して8ビットのデータD2が送信され、続く1ビット分のビットクロックに同期してNACKが送信される。そのため、マスターデバイス122は、SCL信号に同期してコントロール・バイトに対するACK、データD1の書き込み成功を示すACK、データD2の書き込み失敗を示すNACKを正しく受信することができる。
【0171】
(SERDESを通す伝送)
次に、図20を参照しながら、シリアライザ/デシリアライザ120、140を通じてSDA信号のやり取りが行われるケースについて説明する。なお、図20の例では、2つのデータD1、D2がマスターデバイス122からスレーブデバイス124に伝送される。
【0172】
図20に示すように、まず、マスターデバイス122によりスタート・コンディションSが発行される。次いで、マスターデバイス122によりアドレス情報及びR/Wフラグを含むコントロール・バイトがSDAを通じて送信される。
【0173】
SDAを通じて送信されたコントロール・バイトは、シリアライザ/デシリアライザ120に入力される。コントロール・バイトが入力されると、シリアライザ/デシリアライザ120は、クロック・ストレッチを開始し、マスターデバイス122の通信動作を一時停止する。そして、シリアライザ/デシリアライザ120は、入力されたコントロール・バイト及びSCL信号をシリアライザ/デシリアライザ140に伝送する。
【0174】
伝送されたコントロール・バイト及びSCL信号を受信すると、シリアライザ/デシリアライザ140は、スタート・コンディションSを発行し、受信したSCL信号に同期してコントロール・バイトをスレーブデバイス142に送信する。
【0175】
シリアライザ/デシリアライザ140により送信されたコントロール・バイトを受信すると、スレーブデバイス142は、コントロール・バイトの送信に利用されたビットクロックの次のビットクロックに同期してACKを送信する。スレーブデバイス142により送信されたACKは、シリアライザ/デシリアライザ140により受信され、シリアライザ/デシリアライザ120にシリアル伝送される。
【0176】
シリアライザ/デシリアライザ140からACKを受信すると、シリアライザ/デシリアライザ120は、クロック・ストレッチを解除し、マスターデバイス122から再び供給されるSCL信号に同期してACKを送信する。
【0177】
シリアライザ/デシリアライザ120により送信されたACKを受信すると、マスターデバイス122は、ACKの送信に利用されたビットクロックに続くビットクロックに同期してデータD1をシリアライザ/デシリアライザ120に送信する。データD1を受信すると、シリアライザ/デシリアライザ120は、再びクロック・ストレッチを開始し、マスターデバイス122の通信動作を一時停止する。
【0178】
そして、シリアライザ/デシリアライザ120は、入力されたデータD1をシリアライザ/デシリアライザ140にシリアル伝送する。シリアル伝送されたデータD1を受信すると、シリアライザ/デシリアライザ140は、受信したデータD1をスレーブデバイス142に送信する。
【0179】
シリアライザ/デシリアライザ140により送信されたデータD1を受信すると、スレーブデバイス142は、受信したデータD1の書き込み処理を実行する。データD1の書き込み処理が完了すると、スレーブデバイス142は、データD1の送信に利用されたビットクロックに続く1ビット分のビットクロックに同期してACKを送信する。スレーブデバイス142により送信されたACKは、シリアライザ/デシリアライザ140により受信され、シリアライザ/デシリアライザ120にシリアル伝送される。
【0180】
シリアライザ/デシリアライザ140からACKを受信すると、シリアライザ/デシリアライザ120は、クロック・ストレッチを解除し、マスターデバイス122から再び供給されるSCL信号に同期してACKを送信する。
【0181】
シリアライザ/デシリアライザ120により送信されたACKを受信すると、マスターデバイス122は、ACKの送信に利用されたビットクロックに続く8ビット分のビットクロックに同期してデータD2をシリアライザ/デシリアライザ120に送信する。データD2を受信すると、シリアライザ/デシリアライザ120は、再びクロック・ストレッチを開始し、マスターデバイス122の通信動作を一時停止する。
【0182】
そして、シリアライザ/デシリアライザ120は、入力されたデータD2をシリアライザ/デシリアライザ140にシリアル伝送する。シリアル伝送されたデータD2を受信すると、シリアライザ/デシリアライザ140は、受信したデータD2をスレーブデバイス142に送信する。
【0183】
シリアライザ/デシリアライザ140により送信されたデータD2を受信すると、スレーブデバイス142は、データD2の書き込み処理を実行する。そして、データD2の書き込み処理が失敗すると、スレーブデバイス142は、データD2の送信に利用されたビットクロックに続く1ビット分のビットクロックに同期してNACKを送信する。スレーブデバイス142により送信されたNACKは、シリアライザ/デシリアライザ140により受信され、シリアライザ/デシリアライザ120にシリアル伝送される。
【0184】
シリアライザ/デシリアライザ140からNACKを受信すると、シリアライザ/デシリアライザ120は、クロック・ストレッチを解除し、マスターデバイス122から再び供給されるSCL信号に同期してNACKを送信する。シリアライザ/デシリアライザ120により送信されたNACKを受信すると、マスターデバイス122は、ストップ・コンディションPを発行して操作部106側におけるI2C通信を終了する。また、ストップ・コンディションPの通知がスレーブデバイス142に伝達されると、シリアライザ/デシリアライザ140は、ストップ・コンディションPを発行し、表示部102側におけるI2C通信を終了する。
【0185】
このように、シリアライザ/デシリアライザ120、140により遅延が生じる場合でも、クロック・ストレッチによりSCL信号の伝送が停止されているため、コントロール・バイトの送信に利用された8ビット分のビットクロックに続く1ビット分のビットクロックに同期してACKが送信され、続く8ビット分のビットクロックに同期してデータD1が送信され、続く1ビット分のビットクロックに同期してACKが送信される。さらに、続く8ビット分のビットクロックに同期してデータD2が送信され、続く1ビット分のビットクロックに同期してNACKが送信される。そのため、マスターデバイス122は、SCL信号に同期してコントロール・バイトに対するACK、データD1の書き込み成功を示すACK、データD2の書き込み失敗を示すNACKを正しく受信することができる。
【0186】
(2−2−7:リピート・スタート・コンディションの発行)
次に、図21、図22を参照しながら、コントロール・バイトに対してNACKが返された後にリピート・スタート・コンディションが発行される場合の通信シーケンスについて具体的に説明する。なお、図中において、AD、AD’はアドレス情報を示し、X、X’はR/Wフラグを示し、NはNACKを示す。但し、ADとAD’とは等しくてもよいし、異なっていてもよい。また、XとX’とは等しくてもよいし、異なっていてもよい。なお、Sはスタート・コンディションを示し、Pはストップ・コンディション、RSはリピート・スタート・コンディションを示す。
【0187】
スタート・コンディションSが発行されると、マスターデバイス122からコントロール・バイトが全てのスレーブデバイス124、142に送信される。そのうち、スレーブデバイス124に向けて送信されるものは、シリアライザ/デシリアライザ120、140を通さずに伝送される。一方、スレーブデバイス142に向けて送信されるものは、シリアライザ/デシリアライザ120、140を通して伝送される。なお、リピート・スタート・コンディションRSの発行に伴うコントロール・バイトの送信に関しても同様である。以下、それぞれのケースについて個々に説明する。
【0188】
(SERDESを通さない伝送)
まず、図21を参照しながら、シリアライザ/デシリアライザ120、140を通さずにSDA信号のやり取りが行われるケースについて説明する。
【0189】
図21に示すように、まず、マスターデバイス122によりスタート・コンディションSが発行される。次いで、マスターデバイス122によりアドレス情報及びR/Wフラグを含むコントロール・バイトがSDAを通じて送信される。次いで、スレーブデバイス124は、マスターデバイス122により送信されたコントロール・バイトを受信し、次のビットクロックに同期してNACKをマスターデバイス122に送信する。NACKを受信すると、マスターデバイス122は、リピート・スタート・コンディションRSを発行する。
【0190】
リピート・スタート・コンディションRSを発行した場合、マスターデバイス122は、再びコントロール・バイトを送信する。このとき、マスターデバイス122は、コントロール・バイトに含まれるアドレス情報及びR/Wフラグを変更することができる。ここでは、アドレス情報ADがAD’(スレーブデバイス124)に設定され、R/WフラグがXからX’に設定されたものとする。リピート・スタート・コンディションRSが発行されると、スレーブデバイス124は、その発行後に受信したコントロール・バイトに含まれるアドレス情報AD’、及びR/WフラグX’に基づいてI2C通信を行う。
【0191】
このように、リピート・スタート・コンディションRSが発行されるまでの通信シーケンスは、これまで説明してきた通信シーケンスと同じである。また、リピート・スタート・コンディションRSが発行された後の通信シーケンスは、その発行後に送信されるコントロール・バイトの内容に応じて変更される。但し、リピート・スタート・コンディションRSの発行後に実行される通信シーケンスの内容も、これまで説明してきた通信シーケンスと実質的に同じである。
【0192】
(SERDESを通す伝送)
次に、図22を参照しながら、シリアライザ/デシリアライザ120、140を通じてSDA信号のやり取りが行われるケースについて説明する。
【0193】
図22に示すように、まず、マスターデバイス122によりスタート・コンディションSが発行される。次いで、マスターデバイス122によりアドレス情報及びR/Wフラグを含むコントロール・バイトがSDAを通じて送信される。SDAを通じて送信されたコントロール・バイトは、シリアライザ/デシリアライザ120に入力される。コントロール・バイトが入力されると、シリアライザ/デシリアライザ120は、クロック・ストレッチを開始し、マスターデバイス122の通信動作を一時停止する。そして、シリアライザ/デシリアライザ120は、入力されたコントロール・バイト及びSCL信号をシリアライザ/デシリアライザ140に伝送する。
【0194】
伝送されたコントロール・バイト及びSCL信号を受信すると、シリアライザ/デシリアライザ140は、スタート・コンディションを発行し、受信したSCL信号に同期してコントロール・バイトをスレーブデバイス142に送信する。シリアライザ/デシリアライザ140により送信されたコントロール・バイトを受信すると、スレーブデバイス142は、コントロール・バイトの送信に利用されたビットクロックの次のビットクロックに同期してNACKを送信する。スレーブデバイス142により送信されたNACKは、シリアライザ/デシリアライザ140により受信され、シリアライザ/デシリアライザ120にシリアル伝送される。
【0195】
シリアライザ/デシリアライザ140からNACKを受信すると、シリアライザ/デシリアライザ120は、クロック・ストレッチを解除し、マスターデバイス122から再び供給されるSCL信号に同期してNACKを送信する。シリアライザ/デシリアライザ120により送信されたNACKを受信すると、マスターデバイス122は、リピート・スタート・コンディションRSを発行する。リピート・スタート・コンディションRSの発行後、マスターデバイス122は、アドレス情報及びR/Wフラグを再設定したコントロール・バイトを送信する。
【0196】
リピート・スタート・コンディションRSが発行されると、シリアライザ/デシリアライザ120は、リピート・スタート・コンディションRSの発行後に受信したコントロール・バイトに含まれるアドレス情報が表示部102側のスレーブデバイス142のアドレスに一致するか否かを判定する。アドレス情報がスレーブデバイス142のアドレスに一致する場合、シリアライザ/デシリアライザ120は、シリアライザ/デシリアライザ140にコントロール・バイトをシリアル伝送し、I2C通信を継続する。一方、アドレス情報がスレーブデバイス142のアドレスに一致しない場合、シリアライザ/デシリアライザ120は、再びスタート・コンディションS(又は、リピート・スタート・コンディションRS)が発行されるまで待機する。
【0197】
このように、リピート・スタート・コンディションRSが発行されるまでの通信シーケンスは、これまで説明してきた通信シーケンスと同じである。また、リピート・スタート・コンディションRSが発行された後の通信シーケンスは、その発行後に送信されるコントロール・バイトの内容に応じて変更される。但し、リピート・スタート・コンディションRSの発行後に実行される通信シーケンスの内容も、これまで説明してきた通信シーケンスと実質的に同じである。
【0198】
以上、本実施形態に係る信号伝送方法について具体的に説明した。上記の通り、本実施形態に係る信号伝送方法を適用することにより、シリアライザ/デシリアライザ120、140で伝送遅延が発生する場合においても、マスターデバイス122がSDA信号(Y)を正しく受信することが可能になる。
【0199】
[2−3:SERDESの動作]
次に、図23A〜図23C、図24A〜図24Cを参照しながら、本実施形態に係るシリアライザ/デシリアライザ120、140により実行される処理の流れについて詳細に説明する。なお、図23A〜図23Cは、シリアライザ/デシリアライザ120の動作に関するものである。一方、図24A〜図24Cは、シリアライザ/デシリアライザ140の動作に関するものである。以下、それぞれについて説明する。
【0200】
(2−3−1:操作部側SERDESの動作)
まず、図23A〜図23Cを参照する。図23Aに示すように、まず、シリアライザ/デシリアライザ120は、スタート・コンディションSが発行されたか否かを判定する(S102)。スタート・コンディションSが発行された場合、シリアライザ/デシリアライザ120は、ステップS104の処理に進行する。一方、スタート・コンディションSが発行されていない場合、シリアライザ/デシリアライザ120は、再びステップS102の処理を繰り返す。
【0201】
ステップS104の処理に進行した場合、シリアライザ/デシリアライザ120は、マスターデバイス122からコントロール・バイト(アドレス情報AD+R/WフラグX)を受信する(S104)。次いで、シリアライザ/デシリアライザ120は、受信したコントロール・バイトに含まれるアドレス情報ADが表示部102側のスレーブデバイス142が持つアドレスに一致するか否かを判定する(S106)。アドレス情報ADがスレーブデバイス142のアドレスに一致する場合、シリアライザ/デシリアライザ120は、ステップS108の処理に進行する。一方、アドレス情報ADがスレーブデバイス142のアドレスに一致しない場合、シリアライザ/デシリアライザ120は、図23CのステップS148の処理に進行する。
【0202】
ステップS108の処理に進行した場合、シリアライザ/デシリアライザ120は、R/WフラグXがX=Readであるか、X=Writeであるかを判定する(S108)。X=Readの場合、シリアライザ/デシリアライザ120は、ステップS110の処理に進行する。一方、X=Writeの場合、シリアライザ/デシリアライザ120は、ステップS118の処理に進行する。
【0203】
ステップS110の処理に進行した場合、シリアライザ/デシリアライザ120は、表示部102側にあるシリアライザ/デシリアライザ140にスタート・コンディションSの発行通知、及びコントロール・バイト(AD+X)を伝送する(S110)。次いで、シリアライザ/デシリアライザ120は、クロック・ストレッチを開始する(S112)。次いで、シリアライザ/デシリアライザ120は、表示部102側にあるシリアライザ/デシリアライザ140からの応答を待ち、応答が得られた場合に、その応答がACK及びデータDであるか、NCKであるかを判定する(S114)。応答がACK及びデータDである場合、シリアライザ/デシリアライザ120は、ステップS116の処理に進行する。一方、応答がNACKである場合、シリアライザ/デシリアライザ120は、図23CのステップS146の処理に進行する。
【0204】
ステップS116の処理に進行した場合、シリアライザ/デシリアライザ120は、クロック・ストレッチを解除し、シリアライザ/デシリアライザ140から取得したACK及びデータDをマスターデバイス122に伝送する(S116)。次いで、シリアライザ/デシリアライザ120は、図23BのステップS126の処理に進行し、マスターデバイス122からの応答を待ち受ける(S126)。マスターデバイス122からの応答が得られた場合、シリアライザ/デシリアライザ120は、マスターデバイス122からの応答がACKであるか、NACKであるかを判定する(S128)。マスターデバイス122からの応答がACKである場合、シリアライザ/デシリアライザ120は、ステップS130の処理に進行する。一方、マスターデバイス122からの応答がNACKである場合、シリアライザ/デシリアライザ120は、図23CのステップS146の処理に進行する。
【0205】
ステップS130の処理に進行した場合、シリアライザ/デシリアライザ120は、表示部102側にあるシリアライザ/デシリアライザ140にACKをシリアル伝送する(S130)。次いで、シリアライザ/デシリアライザ120は、クロック・ストレッチを開始し、マスターデバイス122の通信動作を一時停止させる(S132)。次いで、シリアライザ/デシリアライザ120は、表示部102側にあるシリアライザ/デシリアライザ140を通じてスレーブデバイス142からデータDを取得する(S134)。
【0206】
次いで、シリアライザ/デシリアライザ120は、クロック・ストレッチを解除し、シリアライザ/デシリアライザ140から受信したデータDをマスターデバイス122に伝送する(S136)。そして、シリアライザ/デシリアライザ120は、再びステップS126の処理に進行し、ステップS126以降の処理を実行する。
【0207】
さて、ステップS108においてR/WフラグXがWriteの場合、シリアライザ/デシリアライザ120は、ステップS118の処理に進行し、表示部102側にあるシリアライザ/デシリアライザ140にスタート・コンディションSの発行通知、及びコントロール・バイト(AD+X)をシリアル伝送する(S118)。次いで、シリアライザ/デシリアライザ120は、クロック・ストレッチを開始し、マスターデバイス122の通信動作を一時停止させる(S120)。
【0208】
次いで、シリアライザ/デシリアライザ120は、表示部102側にあるシリアライザ/デシリアライザ140からの応答を待ち、その応答がACKであるか、NACKであるかを判定する(S122)。応答がACKである場合、シリアライザ/デシリアライザ120は、ステップS124の処理に進行する。一方、その応答がNACKである場合、シリアライザ/デシリアライザ120は、図23CのステップS146の処理に進行する。
【0209】
ステップS124の処理に進行した場合、シリアライザ/デシリアライザ120は、クロック・ストレッチを解除し、シリアライザ/デシリアライザ140から取得したACKをマスターデバイス122に伝送する(S124)。
【0210】
次いで、シリアライザ/デシリアライザ120は、図23CのステップS138の処理に進行し、マスターデバイス122からの応答を待ち受ける(S138)。次いで、シリアライザ/デシリアライザ120は、マスターデバイス122からの応答が得られた場合、その応答がリピート・スタート・コンディションRSの発行であるか、ストップ・コンディションPの発行であるか、データDであるかを判定する(S140)。
【0211】
マスターデバイス122からの応答がリピート・スタート・コンディションRSの発行である場合、シリアライザ/デシリアライザ120は、図23AのステップS104の処理に再び戻り、ステップS104以降の処理を実行する。また、マスターデバイス122からの応答がストップ・コンディションPの発行である場合、シリアライザ/デシリアライザ120は、ステップS144の処理に進行する。さらに、マスターデバイス122からの応答がデータDである場合、シリアライザ/デシリアライザ120は、ステップS142の処理に進行する。
【0212】
ステップS144の処理に進行した場合、シリアライザ/デシリアライザ120は、表示部102側のシリアライザ/デシリアライザ140にストップ・コンディションPの発行通知を送信し(S144)、再び図23AのステップS102の処理に戻る。また、ステップS142の処理に進行した場合、シリアライザ/デシリアライザ120は、表示部102側にあるシリアライザ/デシリアライザ140にデータDをシリアル伝送し(S142)、図23AのステップS120以降の処理を実行する。
【0213】
ところで、図23AのステップS114、S122、及び図23BのステップS128の処理において応答がNACKである場合、シリアライザ/デシリアライザ120は、図23CのステップS146の処理に進行し、マスターデバイス120にNACKを伝送する(S146)。このとき、シリアライザ/デシリアライザ120は、クロック・ストレッチを解除し、マスターデバイス122から再び供給されるSCL信号に同期してNACKを伝送する。
【0214】
次いで、シリアライザ/デシリアライザ120は、マスターデバイス122による応答を待ち受け、応答が得られ場合、その応答がリピート・スタート・コンディションRSの発行であるか、ストップ・コンディションPの発行であるかを判定する(S148)。応答がリピート・スタート・コンディションRSの発行である場合、シリアライザ/デシリアライザ120は、図23AのステップS104の処理に進行し、ステップS104以降の処理を実行する。一方、応答がストップ・コンディションPの発行である場合、シリアライザ/デシリアライザ120は、ステップS144の処理に進行し、表示部102側のシリアライザ/デシリアライザ140にストップ・コンディションPの発行通知を送信して(S144)、再び図23AのステップS102の処理に戻る。
【0215】
以上、シリアライザ/デシリアライザ120の動作について説明した。
【0216】
(2−3−2:表示部側SERDESの動作)
次に、図24A〜図24Cを参照する。図24Aに示すように、まず、シリアライザ/デシリアライザ140は、操作部106側にあるシリアライザ/デシリアライザ120からスタート・コンディションSの発行通知が伝送されたか否かを判定する(S202)。スタート・コンディションSの発行通知が検出された場合、シリアライザ/デシリアライザ140は、ステップS204の処理に進行する。一方、スタート・コンディションSの発行通知が検出されていない場合、シリアライザ/デシリアライザ140は、再びステップS202の処理を繰り返す。
【0217】
ステップS204の処理に進行した場合、シリアライザ/デシリアライザ140は、操作部106側のシリアライザ/デシリアライザ120からコントロール・バイトを受信する(S204)。次いで、シリアライザ/デシリアライザ140は、スレーブデバイス142にスタート・コンディションSを発行し、コントロール・バイトを送信する(S206)。
【0218】
次いで、シリアライザ/デシリアライザ140は、コントロール・バイトに含まれるR/WフラグXがX=Readであるか、X=Writeであるかを判定する(S208)。X=Readである場合、シリアライザ/デシリアライザ140は、ステップS210の処理に進行する。一方、X=Writeである場合、シリアライザ/デシリアライザ140は、ステップS214の処理に進行する。
【0219】
ステップS210に進行した場合、シリアライザ/デシリアライザ140は、スレーブデバイス142からの応答を待機し、応答を受信した場合には、その応答がACK及びデータDであるか、NACKであるかを判定する(S210)。応答がACK及びデータDである場合、シリアライザ/デシリアライザ140は、ステップS212の処理に進行する。一方、応答がNACKである場合、シリアライザ/デシリアライザ140は、図24CのステップS236の処理に進行する。
【0220】
ステップS212に進行した場合、シリアライザ/デシリアライザ140は、スレーブデバイス142から取得したACK及びデータDをシリアル化して操作部106側のシリアライザ/デシリアライザ120に伝送する(S212)。次いで、シリアライザ/デシリアライザ140は、図24BのステップS218の処理に進行し、操作部106側にあるシリアライザ/デシリアライザ120からの応答を待ち受ける(S218)。
【0221】
次いで、シリアライザ/デシリアライザ140は、操作部106側からの応答を受信した場合に、その応答がACKであるか、NACKであるかを判定する(S220)。応答がACKである場合、シリアライザ/デシリアライザ140は、ステップS222の処理に進行する。一方、その応答がNACKである場合、図24CのステップS236の処理に進行する。
【0222】
ステップS222の処理に進行した場合、シリアライザ/デシリアライザ140は、操作部106側にあるシリアライザ/デシリアライザ120から受信したACKをスレーブデバイス142に伝送する(S222)。次いで、シリアライザ/デシリアライザ140は、スレーブデバイス142からデータDを取得する(S224)。次いで、シリアライザ/デシリアライザ140は、スレーブデバイス142から取得したデータDを操作部106側のシリアライザ/デシリアライザ120にシリアル伝送し(S226)、再びステップS218の処理に戻る。
【0223】
さて、ステップS208においてR/WフラグXがWriteである場合、シリアライザ/デシリアライザ140は、ステップS214の処理に進行し、スレーブデバイス142からの応答がACKであるか、NACKであるかを判定する(S214)。応答がACKの場合、シリアライザ/デシリアライザ140は、ステップS216の処理に進行する。一方、その応答がNACKの場合、シリアライザ/デシリアライザ140は、図24CのステップS236の処理に進行する。
【0224】
ステップS216の処理に進行した場合、シリアライザ/デシリアライザ140は、スレーブデバイス142から取得したACKを操作部106側にあるシリアライザ/デシリアライザ120にシリアル伝送する(S216)。次いで、シリアライザ/デシリアライザ140は、図24CのステップS228の処理に進行し、操作部106側にあるシリアライザ/デシリアライザ120からの応答を待ち受ける(S228)。
【0225】
次いで、シリアライザ/デシリアライザ140は、操作部106側のシリアライザ/デシリアライザ120から応答を受信すると、その応答がストップ・コンディションPの発行通知であるか、データDであるかを判定する(S230)。応答がストップ・コンディションPの発行通知である場合、シリアライザ/デシリアライザ140は、ステップS234の処理に進行する。一方、その応答がデータDである場合、シリアライザ/デシリアライザ140は、ステップS232の処理に進行する。
【0226】
ステップS234の処理に進行した場合、シリアライザ/デシリアライザ140は、シリアライザ/デシリアライザ120から取得したストップ・コンディションPの発行通知をスレーブデバイス142に伝送し(S234)、再び図24AのステップS202の処理に戻る。一方、ステップS232の処理に進行した場合、シリアライザ/デシリアライザ140は、シリアライザ/デシリアライザ120から取得したデータDをスレーブデバイス142に伝送し(S232)、図24AのステップS214の処理に進行して、ステップS214以降の処理を実行する。
【0227】
ところで、図24AのステップS210、S214、及び図24BのステップS220において、応答がNACKであった場合、シリアライザ/デシリアライザ140は、図24CのステップS236の処理に進行する。ステップS236の処理に進行すると、シリアライザ/デシリアライザ140は、操作部106側にあるシリアライザ/デシリアライザ120にNACKを伝送する(S236)。
【0228】
次いで、シリアライザ/デシリアライザ140は、操作部106側のシリアライザ/デシリアライザ120からストップ・コンディションPの発行通知を取得し(S238)、ステップS234の処理に進行する。次いで、シリアライザ/デシリアライザ140は、スレーブデバイス142にストップ・コンディションPの発行通知を伝送し(S234)、再び図24AのステップS202の処理に戻る。
【0229】
以上、シリアライザ/デシリアライザ140の動作について説明した。
【0230】
[2−4:伝送フォーマット]
次に、図25を参照しながら、本実施形態に係る信号伝送方法にて利用する伝送フォーマットについて説明する。図25は、本実施形態に係る信号伝送方法にて利用する伝送フォーマットの一例を示す説明図である。
【0231】
本実施形態に係る信号伝送方法は、例えば、図25に示すような7種類のフレームを用いて実現することができる。当該フレームは、3ビットのヘッダ、及び8ビットのデータにより構成される。
【0232】
3ビットのヘッダにより区別されるデータの種類は、(1)スタート・コンディションSの発行時に送信されるコントロール・バイト、(2)リピート・スタート・コンディションRSの発行時に送信されるコントロール・バイト、(3)ストップ・コンディションPの発行通知、(4)ACK、(5)ACK+データ、(6)NACK、(7)データの7通りである。
【0233】
但し、将来的なフォーマットの拡張に対応するために、図25の例に示すような予備(予約)を設けておく方がよい。このような伝送フォーマットを用いることにより、本実施形態に係る信号伝送方法を実現することができる。
【0234】
以上、本実施形態に係る携帯端末100の構成、信号伝送方法、及び当該信号伝送方法に用いるフレームの構成について説明した。本実施形態の技術を適用することにより、I2Cのようなバスシステムにおいて、SERDESを介したマスターデバイスとスレーブデバイスとの間の信号伝送が実現される。なお、上記の例はI2Cの仕様に準拠しているため、I2Cバスシステムに適用する場合には、これまでのハードウェア資産、ソフトウェア資産に特別な手を加えることなく、本実施形態の技術により得られる効果を享受することができる。つまり、本実施形態に係る技術を適用することで、既存のI2CバスシステムにSERDESの構成を容易に追加することができるようになる。もちろん、I2Cと同様の仕様を有するバスシステムに対しても同様のことが言える。
【0235】
<3:まとめ>
最後に、本実施形態に係る技術内容について簡単に纏める。ここで述べる技術内容は、例えば、PC、携帯電話、携帯ゲーム機、携帯情報端末、情報家電、カーナビゲーションシステム等、種々の電子機器に対して適用することができる。
【0236】
上記の電子機器の機能構成は次のように表現することができる。当該電子機器は、第1のバスに接続されたマスター機器から供給されるクロックと、当該クロックに同期して前記マスター機器から送信されるデータとを受信するマスター側受信部と、前記マスター側受信部によりデータが受信された場合に前記マスター機器の通信動作を一時停止させるマスター動作停止部と、前記第1のバスとは異なる第2のバスに接続されたスレーブ機器に対し、前記マスター側受信部により受信されたクロック及びデータを送信するスレーブ側送信部と、を有する。
【0237】
さらに、上記の電子機器は、前記スレーブ側送信部により送信されたクロックに同期して前記スレーブ機器から送信されたデータを受信するスレーブ側受信部と、前記スレーブ側受信部によりデータが受信された場合に前記マスター機器の通信動作を再開させるマスター動作再開部と、前記マスター動作再開部により通信動作が再開された前記マスター機器から供給されるクロックに同期して前記スレーブ側受信部により受信されたデータを前記マスター機器に送信するマスター側送信部とを有する。
【0238】
上記構成のように、第1のバスに接続されたマスター機器から第2のバスに接続されたスレーブ機器にデータを送信する際、マスター機器の動作を一時停止することにより、マスター機器から供給されるクロックが一時停止される。このようにしてクロックを一時停止させた状態で第2のバスに接続されたスレーブ機器にデータを送信し、当該スレーブ機器から応答データを受信することにより、スレーブ機器との間のデータ伝送に関する処理で遅延が生じたとしても、その遅延時間の間はマスター機器から供給されるクロックが進むことはない。
【0239】
そして、スレーブ機器から受信した応答データをマスター機器に送信する際に、マスター機器の動作を再開させ、再び供給されるクロックに同期して送信することで、マスター機器は、クロックに同期して正しく応答データを受信することができるようになる。その結果、伝送遅延による受信不良を回避することができる。
【0240】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【0241】
例えば、上記の説明においては、シリアライザ/デシリアライザ120、140の間で行われるシリアル伝送に関する処理が信号遅延の要因とされていた。しかし、信号遅延の要因は、これに限定されない。
【0242】
例えば、マスターデバイスとスレーブデバイスとの間に電圧変換を行うブリッジ機器が挿入されている場合、そのブリッジ機器が伝送遅延の原因となることがある。また、マスターデバイスとスレーブデバイスとの間の距離が非常に長い場合に伝送遅延が発生してしまうことがある。
【0243】
このような場合に本実施形態に係る信号伝送方法をブリッジ機器に適用し、マスターデバイスとスレーブデバイスとの間に挿入することにより、伝送遅延が発生しても、スレーブデバイスからマスターデバイスへと正しくデータを伝送することが可能になる。このような変形についても、上で説明した本実施形態の技術的範囲に含まれる。
【0244】
また、上記説明においては、シリアライザ/デシリアライザ120、140間の伝送路を同軸ケーブルで構成する例を示したが、シリアライザ/デシリアライザ120、140に代えて無線送受信部を設けることにより、伝送路を無線に変更することができる。この場合、シリアライザ/デシリアライザ120、140の構成の中で、シリアル化/パラレル化する要素を無線変調/無線復調する要素に置き換えることで、上記説明と同様に本実施形態に係る信号伝送方法を適用することが可能になる。
【符号の説明】
【0245】
100 携帯端末
102 表示部
104 ヒンジ部
106 操作部
108、110 I2Cバス
120、140 シリアライザ/デシリアライザ
122 マスターデバイス
124、142 スレーブデバイス
130 I2Cインターフェース
132 I2Cスレーブデバイス機能提供部
134、158 送信部
136、150 PHYレイヤ機能提供部
138、152 受信部
154 I2Cマスタ機能提供部
156 I2Cインターフェース
【特許請求の範囲】
【請求項1】
第1のバスに接続されたマスター機器から供給されるクロックと、当該クロックに同期して前記マスター機器から送信されるデータとを受信するマスター側受信部と、
前記マスター側受信部によりデータが受信された場合に前記マスター機器の通信動作を一時停止させるマスター動作停止部と、
前記第1のバスとは異なる第2のバスに接続されたスレーブ機器に対し、前記マスター側受信部により受信されたクロック及びデータを送信するスレーブ側送信部と、
前記スレーブ側送信部により送信されたクロックに同期して前記スレーブ機器から送信されたデータを受信するスレーブ側受信部と、
前記スレーブ側受信部によりデータが受信された場合に前記マスター機器の通信動作を再開させるマスター動作再開部と、
前記マスター動作再開部により通信動作が再開された前記マスター機器から供給されるクロックに同期して前記スレーブ側受信部により受信されたデータを前記マスター機器に送信するマスター側送信部と、
を備える、信号処理装置。
【請求項2】
前記信号処理装置は、シリアル伝送路により接続された第1及び第2のモジュールにより形成されており、
前記スレーブ側送信部は、
前記マスター側受信部により受信されたクロック及びデータをシリアル化してシリアル信号を生成し、前記シリアル伝送路を通じて当該シリアル信号を送信する、前記第1のモジュールに設けられたシリアライザと、
前記シリアル伝送路を通じて送信されたシリアル信号を受信して前記クロック及びデータを復元する、前記第2のモジュールに設けられたデシリアライザと、
を含み、
前記スレーブ側受信部は、
前記スレーブ機器から送信されたデータをシリアル化してシリアル信号を生成し、前記シリアル伝送路を通じて当該シリアル信号を送信する、前記第2のモジュールに設けられたシリアライザと、
前記シリアル伝送路を通じて送信されたシリアル信号を受信して前記データを復元する、前記第1のモジュールに設けられたデシリアライザと、
を含む、請求項1に記載の信号処理装置。
【請求項3】
前記第1及び第2のバスは、I2C方式のシリアルバスである、請求項2に記載の信号処理装置。
【請求項4】
前記マスター動作停止部は、前記マスター機器から供給されるクロックを固定するクロック・ストレッチを用いて前記マスター機器の通信動作を一時停止させ、
前記マスター動作再開部は、前記クロック・ストレッチを解除することにより前記マスター機器の通信動作を再開させる、請求項3に記載の信号処理装置。
【請求項5】
前記第1のモジュールは、少なくとも表示データを出力する演算処理部をさらに有し、
前記第2のモジュールは、入力された表示データを表示する表示部をさらに有し、
前記第1のモジュールに設けられたシリアライザは、前記演算処理部から出力された表示データ及びクロックをシリアル化して送信し、
前記第2のモジュールに設けられたデシリアライザは、前記シリアル伝送路を通じて送信されたシリアル信号を受信し、前記クロック及び表示データを復元して前記表示部に入力する、請求項4に記載の信号処理装置。
【請求項6】
前記信号処理装置は、前記マスター機器から受信したデータの送信先が前記第2のバスに接続されたスレーブ機器であるか否かを判定する送信先判定部をさらに備え、
前記マスター動作停止部、前記スレーブ側送信部、前記スレーブ側受信部、前記マスター動作再開部、前記マスター側送信部は、前記送信先判定部による判定結果に応じて、前記送信先が前記第2のバスに接続されたスレーブ機器である場合に動作する、請求項1に記載の信号処理装置。
【請求項7】
前記信号処理装置は、無線伝送路により接続された第1及び第2のモジュールにより形成されており、
前記スレーブ側送信部は、
前記マスター側受信部により受信されたクロック及びデータを無線信号に変換し、前記無線伝送路を通じて送信する、前記第1のモジュールに設けられた無線送信部と、
前記無線伝送路を通じて送信された無線信号を受信して前記クロック及びデータを復元する、前記第2のモジュールに設けられた無線受信部と、
を含み、
前記スレーブ側受信部は、
前記スレーブ機器から送信されたデータを無線信号に変換し、前記無線伝送路を通じて送信する、前記第2のモジュールに設けられた無線送信部と、
前記無線伝送路を通じて送信された無線信号を受信して前記データを復元する、前記第1のモジュールに設けられた無線受信部と、
を含む、請求項1に記載の信号処理装置。
【請求項8】
第1のバスに接続されたマスター機器から供給されるクロックと、当該クロックに同期して前記マスター機器から送信されるデータとを受信するマスター側受信ステップと、
前記マスター側受信ステップでデータが受信された場合に前記マスター機器の通信動作を一時停止させるマスター動作停止ステップと、
前記第1のバスとは異なる第2のバスに接続されたスレーブ機器に対し、前記マスター側受信ステップで受信されたクロック及びデータを送信するスレーブ側送信ステップと、
前記スレーブ側送信ステップで送信されたクロックに同期して前記スレーブ機器から送信されたデータを受信するスレーブ側受信ステップと、
前記スレーブ側受信ステップでデータが受信された場合に前記マスター機器の通信動作を再開させるマスター動作再開ステップと、
前記マスター動作再開ステップで通信動作が再開された前記マスター機器から供給されるクロックに同期して前記スレーブ側受信ステップで受信されたデータを前記マスター機器に送信するマスター側送信ステップと、
を含む、信号伝送方法。
【請求項1】
第1のバスに接続されたマスター機器から供給されるクロックと、当該クロックに同期して前記マスター機器から送信されるデータとを受信するマスター側受信部と、
前記マスター側受信部によりデータが受信された場合に前記マスター機器の通信動作を一時停止させるマスター動作停止部と、
前記第1のバスとは異なる第2のバスに接続されたスレーブ機器に対し、前記マスター側受信部により受信されたクロック及びデータを送信するスレーブ側送信部と、
前記スレーブ側送信部により送信されたクロックに同期して前記スレーブ機器から送信されたデータを受信するスレーブ側受信部と、
前記スレーブ側受信部によりデータが受信された場合に前記マスター機器の通信動作を再開させるマスター動作再開部と、
前記マスター動作再開部により通信動作が再開された前記マスター機器から供給されるクロックに同期して前記スレーブ側受信部により受信されたデータを前記マスター機器に送信するマスター側送信部と、
を備える、信号処理装置。
【請求項2】
前記信号処理装置は、シリアル伝送路により接続された第1及び第2のモジュールにより形成されており、
前記スレーブ側送信部は、
前記マスター側受信部により受信されたクロック及びデータをシリアル化してシリアル信号を生成し、前記シリアル伝送路を通じて当該シリアル信号を送信する、前記第1のモジュールに設けられたシリアライザと、
前記シリアル伝送路を通じて送信されたシリアル信号を受信して前記クロック及びデータを復元する、前記第2のモジュールに設けられたデシリアライザと、
を含み、
前記スレーブ側受信部は、
前記スレーブ機器から送信されたデータをシリアル化してシリアル信号を生成し、前記シリアル伝送路を通じて当該シリアル信号を送信する、前記第2のモジュールに設けられたシリアライザと、
前記シリアル伝送路を通じて送信されたシリアル信号を受信して前記データを復元する、前記第1のモジュールに設けられたデシリアライザと、
を含む、請求項1に記載の信号処理装置。
【請求項3】
前記第1及び第2のバスは、I2C方式のシリアルバスである、請求項2に記載の信号処理装置。
【請求項4】
前記マスター動作停止部は、前記マスター機器から供給されるクロックを固定するクロック・ストレッチを用いて前記マスター機器の通信動作を一時停止させ、
前記マスター動作再開部は、前記クロック・ストレッチを解除することにより前記マスター機器の通信動作を再開させる、請求項3に記載の信号処理装置。
【請求項5】
前記第1のモジュールは、少なくとも表示データを出力する演算処理部をさらに有し、
前記第2のモジュールは、入力された表示データを表示する表示部をさらに有し、
前記第1のモジュールに設けられたシリアライザは、前記演算処理部から出力された表示データ及びクロックをシリアル化して送信し、
前記第2のモジュールに設けられたデシリアライザは、前記シリアル伝送路を通じて送信されたシリアル信号を受信し、前記クロック及び表示データを復元して前記表示部に入力する、請求項4に記載の信号処理装置。
【請求項6】
前記信号処理装置は、前記マスター機器から受信したデータの送信先が前記第2のバスに接続されたスレーブ機器であるか否かを判定する送信先判定部をさらに備え、
前記マスター動作停止部、前記スレーブ側送信部、前記スレーブ側受信部、前記マスター動作再開部、前記マスター側送信部は、前記送信先判定部による判定結果に応じて、前記送信先が前記第2のバスに接続されたスレーブ機器である場合に動作する、請求項1に記載の信号処理装置。
【請求項7】
前記信号処理装置は、無線伝送路により接続された第1及び第2のモジュールにより形成されており、
前記スレーブ側送信部は、
前記マスター側受信部により受信されたクロック及びデータを無線信号に変換し、前記無線伝送路を通じて送信する、前記第1のモジュールに設けられた無線送信部と、
前記無線伝送路を通じて送信された無線信号を受信して前記クロック及びデータを復元する、前記第2のモジュールに設けられた無線受信部と、
を含み、
前記スレーブ側受信部は、
前記スレーブ機器から送信されたデータを無線信号に変換し、前記無線伝送路を通じて送信する、前記第2のモジュールに設けられた無線送信部と、
前記無線伝送路を通じて送信された無線信号を受信して前記データを復元する、前記第1のモジュールに設けられた無線受信部と、
を含む、請求項1に記載の信号処理装置。
【請求項8】
第1のバスに接続されたマスター機器から供給されるクロックと、当該クロックに同期して前記マスター機器から送信されるデータとを受信するマスター側受信ステップと、
前記マスター側受信ステップでデータが受信された場合に前記マスター機器の通信動作を一時停止させるマスター動作停止ステップと、
前記第1のバスとは異なる第2のバスに接続されたスレーブ機器に対し、前記マスター側受信ステップで受信されたクロック及びデータを送信するスレーブ側送信ステップと、
前記スレーブ側送信ステップで送信されたクロックに同期して前記スレーブ機器から送信されたデータを受信するスレーブ側受信ステップと、
前記スレーブ側受信ステップでデータが受信された場合に前記マスター機器の通信動作を再開させるマスター動作再開ステップと、
前記マスター動作再開ステップで通信動作が再開された前記マスター機器から供給されるクロックに同期して前記スレーブ側受信ステップで受信されたデータを前記マスター機器に送信するマスター側送信ステップと、
を含む、信号伝送方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23A】
【図23B】
【図23C】
【図24A】
【図24B】
【図24C】
【図25】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23A】
【図23B】
【図23C】
【図24A】
【図24B】
【図24C】
【図25】
【公開番号】特開2011−44100(P2011−44100A)
【公開日】平成23年3月3日(2011.3.3)
【国際特許分類】
【出願番号】特願2009−193425(P2009−193425)
【出願日】平成21年8月24日(2009.8.24)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
【公開日】平成23年3月3日(2011.3.3)
【国際特許分類】
【出願日】平成21年8月24日(2009.8.24)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
[ Back to top ]