(57)【要約】【課題】送受信フォーマットの異なるマスター装置との間でシリアルデータの送受信をおこなうこと。【解決手段】インターフェイス回路１０３は、ＣＰＵ１０１から周辺デバイス１０２へシリアルクロックを送出するとともに、シリアルクロックによって周辺デバイス１０２のアドレス情報とデータ情報とを含むシリアルデータを送受信するシステムの周辺デバイス１０２に設けられるクロック同期式シリアルインターフェイス回路である。インターフェイス回路１０３は、モード選択部２０１などによって、シリアルデータのうち所定のビットの状態に基づいて、ＣＰＵ１０１のシリアルデータの送信フォーマットを判別する。そして、Ｓ／Ｐ変換部２０４によってＣＰＵ１０１の送信フォーマットに合わせてシリアルデータを受信する。【選択図】図２
2007206878.tif 000002
【特許請求の範囲】
【請求項１】
マスター装置からスレーブ装置へシリアルクロックを送出するとともに、前記シリアルクロックによって前記スレーブ装置のアドレス情報とデータ情報とを含むシリアルデータを送受信するシステムの前記スレーブ装置に設けられるクロック同期式シリアルインターフェイス回路であって、
前記シリアルデータのうち所定のビットの状態に基づいて、前記マスター装置から送出される前記シリアルデータの送信フォーマットを判別する判別手段と、
前記判別手段によって判別された前記送信フォーマットに合わせて前記シリアルデータを受信する受信手段と、
を備えることを特徴とするクロック同期式シリアルインターフェイス回路。
【請求項２】
マスター装置からスレーブ装置へシリアルクロックを送出するとともに、前記シリアルクロックによって前記スレーブ装置のアドレス情報とデータ情報とを含むシリアルデータを送受信するシステムの前記スレーブ装置に設けられるクロック同期式シリアルインターフェイス回路であって、
前記シリアルデータのうち所定のビットの状態に基づいて、前記マスター装置の前記シリアルデータの受信フォーマットを判別する判別手段と、
前記判別手段によって判別された前記受信フォーマットに合わせて前記シリアルデータを送信する送信手段と、
を備えることを特徴とするクロック同期式シリアルインターフェイス回路。
【請求項３】
前記送信手段は、前記シリアルクロックのうち前記シリアルデータの送信タイミングを示すクロックエッジを選択可能なことを特徴とする請求項２に記載のクロック同期式シリアルインターフェイス回路。
【請求項４】
マスター装置からスレーブ装置へシリアルクロックを送出するとともに、前記シリアルクロックによって前記スレーブ装置のアドレス情報とデータ情報とを含むシリアルデータを送受信するシステムの前記スレーブ装置に設けられるクロック同期式シリアルインターフェイス回路であって、
前記アドレス情報が前記スレーブ装置のアドレス空間を構成するビット数よりも大きい場合に、剰余となる前記アドレス情報のビットの状態に基づいて、前記スレーブ装置内部の共有アドレスを構成する領域に前記データ情報を同時に書き込む書込手段を備えることを特徴とするクロック同期式シリアルインターフェイス回路。
【請求項５】
マスター装置からスレーブ装置へシリアルクロックを送出するとともに、前記シリアルクロックによって前記スレーブ装置のアドレス情報とデータ情報とを含むシリアルデータを送受信するシステムの前記スレーブ装置に設けられるクロック同期式シリアルインターフェイス回路であって、
前記シリアルクロックおよび前記シリアルデータ以外の２つの信号を前記マスター装置から取得する取得手段と、
前記取得手段によって取得された前記２つの信号の論理レベルの組み合わせに基づいて、前記マスター装置から送出された前記データ情報を連続転送するか否かを判断する判断手段と、
前記判断手段によって連続転送すると判断された場合、前記スレーブ装置内部のアドレスを前記シリアルクロックによって生成される所定のカウンタ値に同期して更新する更新手段と、
を備えることを特徴とするクロック同期式シリアルインターフェイス回路。
【請求項６】
マスター装置からスレーブ装置へシリアルクロックを送出するとともに、前記シリアルクロックによって前記スレーブ装置のアドレス情報とデータ情報とを含むシリアルデータを送受信するシステムの前記スレーブ装置に設けられるクロック同期式シリアルインターフェイス回路であって、
前記シリアルクロックおよび前記シリアルデータ以外の２つの信号を前記マスター装置から取得する取得手段と、
前記取得手段によって取得された前記２つの信号に基づいて、前記マスター装置から送出された前記シリアルデータのライトタイミングを制御する制御クロックを生成する生成手段と、
前記シリアルクロックおよび前記２つの信号の異常状態を前記制御クロックの状態に基づいてそれぞれ検出する検出手段と、
前記検出手段によって異常を検出した場合、前記マスター装置との間での前記シリアルデータの送受信動作を停止する停止手段と、
前記検出手段によって異常を検出した場合、前記異常状態を報知する報知手段と、
を備えることを特徴とするクロック同期式シリアルインターフェイス回路。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、マスター装置からスレーブ装置へシリアルクロックを送出し、前記シリアルクロックによって前記スレーブ装置のアドレス情報とデータ情報とを含むシリアルデータを送受信するクロック同期式シリアルインターフェイス回路に関する。
【背景技術】
【０００２】
従来、メモリなどの周辺デバイスをＣＰＵに接続する場合、ＣＰＵがマスター装置となり、周辺デバイスがスレーブ装置として動作するシステムが構成される。このようなシステムにおいては、マスター装置が同期のためのシリアルクロックをスレーブ装置に供給するとともに、ＣＰＵマスター装置はシリアル信号の送受先となるスレーブ装置をセレクト信号によって選択する（たとえば、下記特許文献１および２参照。）。
【０００３】
たとえば、下記特許文献１にかかるシリアル伝送装置は、スレーブアドレス選択部によって、マスターコントローラからのブロック選択信号に基づいて、第１または第２のスレーブアドレス選択部のいずれかを選択して出力する。そして、比較部によって、スレーブアドレス検出部によって検出されたスレーブアドレスと、スレーブアドレス選択部から供給されたスレーブアドレスを比較し、結果を出力する。
【０００４】
また、下記特許文献２にかかるクロック同期式シリアルインターフェイス回路は、マスターからスレーブへシリアルクロックを送出する際に、シリアル信号送受の相手となるスレーブを、スレーブセレクト信号によって選択するシステムにおいて、スレーブ側に設けられるクロック同期式シリアルインターフェイス回路である。
【０００５】
具体的には、マスターが送出するシリアルクロックの極性を、スレーブセレクト信号に基づいて自動的に判別するシリアルクロック極性判別回路と、極性判別回路の判別結果に基づいて、マスターから受け取ったシリアルクロックから当該スレーブが必要とする種類のクロックを生成するクロック生成部とを備えている。
【０００６】
【特許文献１】特開２０００−１７２６３５号公報
【特許文献２】特開２０００−０１０９１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来技術によれば、１つのスレーブデバイスに対して、複数種類のマスター装置からのアクセスが可能なインターフェイス変換機能を有する構成ではないため、複数種類のマスター装置に対しては、それぞれ固有のインターフェイスを持ち合わせるシリアル伝送装置、ならびにシリアルインターフェイス回路が必要であるという問題点がある。
【０００８】
また、スレーブデバイスにおいて、マスターデバイスからの転送データを複数のアドレス空間に同時に書き込む構成を備えていないものがある場合や、マスターデバイスから連続でスレーブデバイスへデータを書き込む際の制御信号の制御をソフトウェアでおこなうなど、システム制御の面で解決すべき問題点がある。
【０００９】
この発明は、上述した従来技術による問題点を解消するため、異なる送受信フォーマットを有する複数のマスター装置とのシリアルデータの送受信に、効率的に対応できるクロック同期式シリアルインターフェイス回路を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するため、請求項１の発明にかかるクロック同期式シリアルインターフェイス回路は、マスター装置からスレーブ装置へシリアルクロックを送出するとともに、前記シリアルクロックによって前記スレーブ装置のアドレス情報とデータ情報とを含むシリアルデータを送受信するシステムの前記スレーブ装置に設けられるクロック同期式シリアルインターフェイス回路であって、前記シリアルデータのうち所定のビットの状態に基づいて、前記マスター装置から送出される前記シリアルデータの送信フォーマットを判別する判別手段と、前記判別手段によって判別された前記送信フォーマットに合わせて前記シリアルデータを受信する受信手段と、を備えることを特徴とする。
【００１１】
この請求項１の発明によれば、マスター装置の送信フォーマットに合わせてシリアルデータを受信する受信手段を有することによって、１つのスレーブ装置で、複数のマスター装置の送信フォーマットに対応させることが可能となり、システムの拡張性を広げることができる。また、送信フォーマットに合わせて複数のスレーブ装置を揃える必要がなく、システムの運営においてコストダウンを図ることができる。
【００１２】
また、請求項２の発明にかかるクロック同期式シリアルインターフェイス回路は、マスター装置からスレーブ装置へシリアルクロックを送出するとともに、前記シリアルクロックによって前記スレーブ装置のアドレス情報とデータ情報とを含むシリアルデータを送受信するシステムの前記スレーブ装置に設けられるクロック同期式シリアルインターフェイス回路であって、前記シリアルデータのうち所定のビットの状態に基づいて、前記マスター装置の前記シリアルデータの受信フォーマットを判別する判別手段と、前記判別手段によって判別された前記受信フォーマットに合わせて前記シリアルデータを送信する送信手段と、を備えることを特徴とする。
【００１３】
この請求項２の発明によれば、マスター装置の受信フォーマットに合わせてシリアルデータを送信する送信手段を有することによって、１つのスレーブ装置で、複数のマスター装置の受信フォーマットに対応させることが可能となり、システムの拡張性を広げることができる。また、受信フォーマットに合わせて複数のスレーブ装置を揃える必要がなく、システムの運営においてコストダウンを図ることができる。
【００１４】
また、請求項３の発明にかかるクロック同期式シリアルインターフェイス回路は、請求項２に記載の発明において、前記送信手段は、前記シリアルクロックのうち前記シリアルデータの送信タイミングを示すクロックエッジを選択可能なことを特徴とする。
【００１５】
この請求項３の発明によれば、送信手段でクロックエッジを選択可能なことによって、マスター装置の受信フォーマットに応じた回路を自由に設定でき、システムの拡張性をさらに向上させることができる。
【００１６】
また、請求項４の発明にかかるクロック同期式シリアルインターフェイス回路は、マスター装置からスレーブ装置へシリアルクロックを送出するとともに、前記シリアルクロックによって前記スレーブ装置のアドレス情報とデータ情報とを含むシリアルデータを送受信するシステムの前記スレーブ装置に設けられるクロック同期式シリアルインターフェイス回路であって、前記アドレス情報が前記スレーブ装置のアドレス空間を構成するビット数よりも大きい場合に、剰余となる前記アドレス情報のビットの状態に基づいて、前記スレーブ装置内部の共有アドレスを構成する領域に前記データ情報を同時に書き込む書込手段を備えることを特徴とする。
【００１７】
この請求項４の発明によれば、スレーブ装置内部の共有アドレスを構成する領域に、マスター装置からのデータ情報を同時に書き込むことによって、フルカラーの画像データなど、容量が大きいデータを扱う場合においてコマンド設定時間を短縮するなど、データ処置効率を向上させることができる。
【００１８】
また、請求項５の発明にかかるクロック同期式シリアルインターフェイス回路は、マスター装置からスレーブ装置へシリアルクロックを送出するとともに、前記シリアルクロックによって前記スレーブ装置のアドレス情報とデータ情報とを含むシリアルデータを送受信するシステムの前記スレーブ装置に設けられるクロック同期式シリアルインターフェイス回路であって、前記シリアルクロックおよび前記シリアルデータ以外の２つの信号を前記マスター装置から取得する取得手段と、前記取得手段によって取得された前記２つの信号の論理レベルの組み合わせに基づいて、前記マスター装置から送出された前記データ情報を連続転送するか否かを判断する判断手段と、前記判断手段によって連続転送すると判断された場合、前記スレーブ装置内部のアドレスを前記シリアルクロックによって生成される所定のカウンタ値に同期して更新する更新手段と、を備えることを特徴とする。
【００１９】
この請求項５の発明によれば、連続転送時のスレーブ装置内部のアドレスを、シリアルクロックによって生成される特定のカウンタ値に同期して更新することによって、スレーブ装置へのデータ転送時間を飛躍的に短縮し、シリアルデータの通信時間のマージンを拡大することができる。
【００２０】
また、請求項６の発明にかかるクロック同期式シリアルインターフェイス回路は、マスター装置からスレーブ装置へシリアルクロックを送出するとともに、前記シリアルクロックによって前記スレーブ装置のアドレス情報とデータ情報とを含むシリアルデータを送受信するシステムの前記スレーブ装置に設けられるクロック同期式シリアルインターフェイス回路であって、前記シリアルクロックおよび前記シリアルデータ以外の２つの信号を前記マスター装置から取得する取得手段と、前記取得手段によって取得された前記２つの信号に基づいて、前記マスター装置から送出された前記シリアルデータのライトタイミングを制御する制御クロックを生成する生成手段と、前記シリアルクロックおよび前記２つの信号の異常状態を前記制御クロックの状態に基づいてそれぞれ検出する検出手段と、前記検出手段によって異常を検出した場合、前記マスター装置との間での前記シリアルデータの送受信動作を停止する停止手段と、前記検出手段によって異常を検出した場合、前記異常状態を報知する報知手段と、を備えることを特徴とする。
【００２１】
この請求項６の発明によれば、シリアルデータの転送期間中に異常を検出した場合は、マスター装置とスレーブ装置間でのシリアルデータ送受信動作を停止するとともに、異常状態を通知する。これにより、シリアルコマンドインターフェイスの各信号線に何らかの異常が発生しても、直ちにそれを検出し、同時にマスター装置への通知をおこなうため、システムや装置の暴走といった異常動作を未然に防止することができる。
【発明の効果】
【００２２】
本発明にかかるクロック同期式シリアルインターフェイス回路によれば、異なる送受信フォーマットを有する複数のマスター装置とのシリアルデータの送受信に、効率的に対応することができる。
【発明を実施するための最良の形態】
【００２３】
以下に添付図面を参照して、この発明にかかるクロック同期式シリアルインターフェイス回路の好適な実施の形態を詳細に説明する。
【００２４】
（実施の形態）
（データ転送システムのシステム構成）
はじめに、実施の形態にかかるデータ転送システム１００のシステム構成について説明する。図１は、実施の形態にかかるデータ転送システム１００のシステム構成を示す説明図である。実施の形態にかかるデータ転送システム１００は、マスター装置としてのＣＰＵ１０１（１０１ａ〜１０１ｃ）と、スレーブ装置としての周辺デバイス１０２によって構成される。また、周辺デバイス１０２は、インターフェイス回路１０３およびデバイス本体１０４とによって構成される。ＣＰＵ１０１および周辺デバイス１０２は、それぞれ複数設けられ、それぞれのＣＰＵ１０１と周辺デバイス１０２との間で、データの転送がおこなわれている。
【００２５】
インターフェイス回路１０３は、マスター装置（ＣＰＵ１０１）からスレーブ装置（周辺デバイス１０２）にシリアルクロックを送出し、シリアルクロックによって周辺デバイス１０２のアドレス情報とデータ情報とを含むシリアルデータの送受信をおこなうクロック同期式シリアルインターフェイス回路である。
【００２６】
インターフェイス回路１０３は、シリアルクロックおよびシリアルデータ以外の２つの異なる信号を、それぞれＣＰＵ１０１から供給するとともに、周辺デバイス１０２にシリアルクロックとは独立したクロックを与えることによって、ＣＰＵ１０１から周辺デバイス１０２へのライトタイミングの制御をおこなう。このとき、転送されるシリアルデータの特定ビットの状態によって、ＣＰＵ１０１の送信フォーマットを特定し、特定したＣＰＵ１０１の送信フォーマットに合わせたシリアルデータ受信回路とを有する。
【００２７】
本実施の形態において、データがシリアル転送される周辺デバイス１０２は、最大１３ｂｉｔのアドレス空間、１アドレス１６ｂｉｔ構成のレジスタを持つものとする。また、シリアル転送においては、通常はＣＰＵ１０１からの送信フォーマットを考慮して、シリアルクロックに同期して８ｂｉｔ（１ｂｙｔｅ）単位のデータが転送されるものとする。
【００２８】
この構成において、ＣＰＵ１０１からデータがシリアル転送される場合、最初の１６ｂｉｔ（２ｂｙｔｅ）においては、１３ｂｉｔアドレスデータに加えて、リード／ライトの識別ｂｉｔ、パリティｂｉｔなどを付加したデータをＣＰＵ１０１で設定して転送する。その後、アドレスポインタに対応する１６ｂｉｔデータを、つぎの１６ｂｉｔ（２ｂｙｔｅ）データとして周辺デバイス１０２に転送する。
【００２９】
つぎに、インターフェイス回路１０３の回路構成について説明する。図２は、インターフェイス回路１０３の回路構成を示すブロック図である。インターフェイス回路１０３は、モード選択部２０１、Ｆ／Ｆ２０２（２０２ａ，２０２ｂ）、シリアルカウンタ２０３、Ｓ／Ｐ変換部２０４、セレクタ２０５（２０５ａ〜２０５ｃ）、アドレス・データ生成部２０６、レジスタ群２０７、Ｐ／Ｓ変換部２０８、異常検出部２０９によって構成される。なお、各部の具体的な動作については、図１０〜図２２を参照して説明する。
【００３０】
（データ転送時のデータフォーマットおよびタイミングチャート）
つづいて、ＣＰＵ１０１から周辺デバイス１０２にデータを転送する際のデータフォーマットおよびタイミングチャートについて、データ：０１２３４５６７ｈをシリアル転送する場合を例として説明する。データの転送には、１ｂｙｔｅごとに分割したデータのうち最下位のバイトから順番に記録・送信するリトルエンディアン方式と、最上位のバイトから順番に記録・送信するビッグエンディアン方式とがある。
【００３１】
まず、リトルエンディアン方式でデータを転送する場合について説明する。図３は、リトルエンディアン方式でシリアルデータ転送をおこなう場合のデータフォーマットを示す説明図である。また、図４は、リトルエンディアン方式でシリアルデータ転送をおこなう場合のタイミングチャートである。
【００３２】
図３のデータフォーマット表には、ＣＰＵ内部アドレス３０１、ワードデータ３０２、バイトデータ３０３、ＣＰＵ転送順序３０４、周辺デバイスへの転送データ３０５がそれぞれ示されている。
【００３３】
また、図４のタイミングチャートには、送受信クロック４０１および送受信データ４０２が示されている。送受信データ４０２において、データ４２１は１ｂｙｔｅ目のデータであり、２３×ｈを示す（図３参照）。データ４２２は２ｂｙｔｅ目のデータであり、０１×ｈを示す。同様に、データ４２３は３ｂｙｔｅ目のデータであり、６７×ｈを、データ４２４は４ｂｙｔｅ目のデータであり、４５×ｈをそれぞれ示す。なお、横軸は時刻ｔである。
【００３４】
リトルエンディアン方式のＣＰＵ１０１から周辺デバイス１０２にデータ：０１２３４５６７ｈをシリアル転送する場合、その転送順序は、２３ｈ→０１ｈ→６７ｈ→４５ｈとなる。
【００３５】
つぎに、ビッグエンディアン方式でデータを転送する場合について説明する。図５は、ビッグエンディアン方式でシリアルデータ転送をおこなう場合のデータフォーマットを示す説明図である。また、図６は、ビッグエンディアン方式でシリアルデータ転送をおこなう場合のタイミングチャートである。
【００３６】
図５のデータフォーマット表には、ＣＰＵ内部アドレス５０１、ワードデータ５０２、バイトデータ５０３、ＣＰＵ転送順序５０４、周辺デバイスへの転送データ５０５がそれぞれ示されている。
【００３７】
また、図６のタイミングチャートには、送受信クロック６０１および送受信データ６０２が示されている。送受信データ６０２において、データ６２１は１ｂｙｔｅ目のデータであり、０１×ｈを示す（図５参照）。データ６２２は２ｂｙｔｅ目のデータであり、２３×ｈを示す。同様に、データ６２３は３ｂｙｔｅ目のデータであり、４５×ｈを、データ６２４は４ｂｙｔｅ目のデータであり、６７×ｈをそれぞれ示す。なお、横軸は時刻ｔである。
【００３８】
ビッグエンディアン方式のＣＰＵ１０１から周辺デバイス１０２にデータ：０１２３４５６７ｈをシリアル転送する場合、その転送順序は、０１ｈ→２３ｈ→４５ｈ→６７ｈとなる。
【００３９】
このように、送信フォーマットが異なる複数のＣＰＵ１０１から周辺デバイス１０２にデータを転送するには、周辺デバイス１０２でＣＰＵ１０１の送信フォーマット（エンディアンなど）を合わせる必要がある。本実施の形態では、周辺デバイス１０２に送信フォーマットを合わせるインターフェイス回路１０３を設け、複数のＣＰＵ１０１からのデータ送信に対応できるようにしている。
【００４０】
つぎに、各送信フォーマットに対するインターフェイス回路１０３の同期転送について説明する。まず、リトルエンディアン方式のＣＰＵ１０１（以下、ＣＰＵ１０１ａという）からのクロック同期シリアルデータ転送について説明する。図７は、リトルエンディアン方式でクロック同期シリアルデータ転送をおこなう場合のタイミングチャートである。なお、以下図７〜図９に示すタイミングチャートは、ＣＰＵ１０１（ＣＰＵ１０１ａ〜１０１ｃ）から周辺デバイス１０２のアドレス０１２３番地に「４５６７ｈ」をライトする場合を示している。
【００４１】
図７のタイミングチャートには、周辺デバイスのチップセレクト信号（ＳＹＣＳ＿Ｎ）７０１、シリアルクロック（ＣＬＫ＿ＳＹ）７０２、シリアル転送データ（ＳＹＤＩ＿Ｎ）７０３、周辺デバイスからのシリアル転送データ（ＳＹＤＯ＿Ｎ）７０４、後述する連続ライトモード信号（ＳＹＨＳ＿Ｎ）７０５が示されている。
【００４２】
周辺デバイス１０２のレジスタ構成は、アドレス空間１３ｂｉｔ、１アドレス１６ｂｉｔ構成とし、ＣＰＵ１０１ａからの送信フォーマットに従って、８ｂｉｔ×４回のシリアル転送で１回のレジスタライト動作がおこなわれるものとする。このとき、１３ｂｉｔアドレス転送時の残り３ｂｉｔのうち、１ｂｉｔを周辺デバイス１０２でリード／ライトを切り分けるＲＷｂｉｔとし、残りの２ｂｉｔは未使用ｂｉｔとして０を転送する。
【００４３】
つぎに、ビッグエンディアン方式のＣＰＵ１０１（以下、ＣＰＵ１０１ｂという）からのクロック同期シリアルデータ転送について説明する。図８は、ビッグエンディアン方式でクロック同期シリアルデータ転送をおこなう場合のタイミングチャートである。図８のタイミングチャートには、図７と同様に周辺デバイスのチップセレクト信号（ＳＹＣＳ＿Ｎ）８０１、シリアルクロック（ＣＬＫ＿ＳＹ）８０２、シリアル転送データ（ＳＹＤＩ＿Ｎ）８０３、周辺デバイスからのシリアル転送データ（ＳＹＤＯ＿Ｎ）８０４、後述する連続ライトモード信号（ＳＹＨＳ＿Ｎ）８０５が示されている。
【００４４】
この場合もリトルエンディアン方式のＣＰＵ１０１の場合と同様に、周辺デバイス１０２のレジスタ構成は、アドレス空間１３ｂｉｔ、１アドレス１６ｂｉｔ構成とし、ＣＰＵ１０１ｂからの送信フォーマットに従って、８ｂｉｔ×４回のシリアル転送で１回のレジスタライト動作がおこなわれるものとする。
【００４５】
さらに、ＣＰＵ１０１ｂとは別のビッグエンディアン方式のＣＰＵ１０１（以下、ＣＰＵ１０１ｃという）からのクロック同期シリアルデータ転送について説明する。ＣＰＵ１０１ｃは、ＣＰＵ１０１ｂと異なり、アドレス空間１３ｂｉｔ、１アドレス１６ｂｉｔ構成の周辺デバイス１０２に対し、３２ｂｉｔ×１回のシリアル転送で１回のレジスタライト動作をおこなうものとする。
【００４６】
図９は、ビッグエンディアン方式でクロック同期シリアルデータ転送をおこなう場合のタイミングチャートである。図９のタイミングチャートには、図７および図８と同様に周辺デバイスのチップセレクト信号（ＳＹＣＳ＿Ｎ）９０１、シリアルクロック（ＣＬＫ＿ＳＹ）９０２、シリアル転送データ（ＳＹＤＩ＿Ｎ）９０３、周辺デバイスからのシリアル転送データ（ＳＹＤＯ＿Ｎ）９０４、後述する連続ライトモード信号（ＳＹＨＳ＿Ｎ）９０５が示されている。
【００４７】
前述のようにＣＰＵ１０１ｃは、アドレス空間１３ｂｉｔ、１アドレス１６ｂｉｔ構成の周辺デバイス１０２に対し、３２ｂｉｔ×１回のシリアル転送で１回のレジスタライト動作をおこなう。このとき、１３ｂｉｔアドレス転送時の残りの３ｂｉｔは、１ｂｉｔを周辺デバイス１０２でリード／ライトを切り分けるＲＷ  ｂｉｔとし、残りの２ｂｉｔについては未使用ｂｉｔとして０を転送するが、図７に示した場合と異なり、８ｂｉｔごとにデータを入れ替えてＣＰＵ１０１ｃから転送されることになる。
【００４８】
なお、図７〜図９のいずれにおいても、ＳＹＣＳ＿Ｎ７０１，８０１，９０１およびＳＹＨＳ＿Ｎ７０５，８０５，９０５が、ＣＬＫ＿ＳＹ７０２，８０２，９０２に同期してＣＰＵ１０１からシリアル転送される時、ＳＹＣＳ＿Ｎ＝Ｌ，ＳＹＨＳ＿Ｎ＝Ｈとして制御するものとする。ここで、信号線の＿Ｎはローアクティブを意味する名称と定義する。
【００４９】
（インターフェイス回路１０３の動作）
つぎに、図２に示したインターフェイス回路１０３の各構成の動作について説明する。まず、モード選択部２０１は、ＣＰＵ１０１から、シリアルクロック（ＣＬＫ＿ＳＹ）に同期して、シリアルデータ（ＳＹＤＩ＿Ｎ）が周辺デバイス１０２にクロック同期入力された際に、周辺デバイス１０２のチップセレクト信号（ＳＹＣＳ＿Ｎ）および連続ライトモード信号の論理積をとった各信号で、通常のライト／リードモード状態、および、連続ライトモード状態を生成する。
【００５０】
ここで、通常のライト／リードモード状態は、ＳＹＣＳ＿Ｎ＝Ｌ，ＳＹＨＳ＿Ｎ＝Ｈとする。また、連続ライトモード状態は、ＳＹＣＳ＿Ｎ＝Ｌ，ＳＹＨＳ＿Ｎ＝Ｌとする。これらは、シリアルクロックが周辺デバイス１０２に与えられている期間中、有効な信号とする。
【００５１】
Ｆ／Ｆ２０２ａは、ＳＹＣＳ＿Ｎ信号のネゲートエッジをＣＬＫ＿ＲＥＦで同期して、シリアルカウンタ２０３および周辺デバイス１０２のリード時に用いられるＰ／Ｓ変換部２０８のリセット信号を生成する。ＳＹＣＳ＿Ｎ信号のネゲートエッジを用いることで、ＣＰＵ１０１からの１回のシリアルデータ（アドレス情報＋データ）転送ごとにカウンタがクリアされ、周辺デバイス１０２の内部回路を初期化することができる。
【００５２】
ＣＰＵ１０１からのシリアルデータ（ＳＹＤＩ＿Ｎ）は、シリアルクロック同期で入力されると、シリアルカウンタ２０３で内部カウンタを起動し、同時にＳ／Ｐ変換部２０４で、入力ビット数分のパラレルデータに変換される。ここで、周辺デバイス１０２のレジスタへのデータ書き込みは、シリアルクロックとは独立したクロックによるライトパルスを生成しておこなう。この独立したクロックとは、周辺デバイス１０２のリファレンスクロックである。
【００５３】
図１０は、リファレンスクロックを使用したライトパルス生成時のタイミングチャートである。なお、図１０に示すタイミングチャートは、リトルエンディアン方式のＣＰＵ１０１から周辺デバイス１０２のアドレス０１２３番地に「４５６７ｈ」をライトする場合を示している。
【００５４】
図１０のタイミングチャートには、周辺デバイスのチップセレクト信号（ＳＹＣＳ＿Ｎ）１００１、シリアルクロック（ＣＬＫ＿ＳＹ）１００２、シリアル転送データ（ＳＹＤＩ＿Ｎ）１００３、ＣＬＫ＿ＲＥＦ周波数１００４、ｗｒｅｎパルス１００５、およびレジスタアドレスの決定タイミング１００６、シフトデータの決定タイミング１００７、ｎ番地データの決定タイミング１００８が示されている。
【００５５】
周辺デバイス１０２のリファレンスクロックは、電源ＯＮの間は一定の周波数で停止することなく与えられる。元のシリアルクロックでライトパルスを生成しない理由としては、ＣＰＵ１０１で一定ｂｉｔ数を送信するごとにシリアルクロックを停止（Ｈｉｇｈ状態）する制御が発生する場合があり、このクロック停止によって、所望のレジスタへのライトタイミングの遅れが発生したり、あるいはライトし損なうなど、タイミング上制約が発生することが考えられるためである。
【００５６】
図１０では、リトルエンディアン方式のＣＰＵ１０１からのシリアルデータ転送であるので、シリアルデータは１３ｂｉｔアドレスであり、１６ｂｉｔデータは図１０に示したようなタイミングで入力される。これを、周辺デバイス１０２のアドレス・データ生成部２０６でデータを入れ替え、通常ライトか連続ライトかをセレクタ２０５ｂで選択する。
【００５７】
そして、Ｆ／Ｆ２０２ｂによって、リファレンスクロックから同期生成したｗｒｅｎパルスによって、４５６７ｈデータをレジスタ群２０７の所望のアドレス（＝０１２３ｈ番地）にライトする。なお、ここでは、タイミング制御のマージンを取るために、ＣＬＫ＿ＲＥＦ周波数＞ＣＬＫ＿ＳＹ周波数としている。このように、エンディアン方式の異なるＣＰＵ１０１からのデータを受信するには、周辺デバイス１０２でのシリアル／パラレル変換（Ｓ／Ｐ変換）データ構成を、ＣＰＵ１０１の送信フォーマットに合わせる必要がある。
【００５８】
そこで、どちらのエンディアン方式のＣＰＵ１０１であっても、周辺デバイス１０２で選択が可能となるような固有データを、ＣＰＵ１０１から転送する。そして、周辺デバイス１０２でそのデータを受信した時に、ＣＰＵ１０１の選択回路、および、データ送信フォーマット切り替え回路であるセレクタ２０５が起動するような構成としている。
【００５９】
つづいて、前述した各エンディアン方式のＣＰＵ１０１ａ〜１０１ｃを周辺デバイス１０２のディフォルト選択設定とした時に、エンディアン方式の異なるＣＰＵ１０１を選択してシリアルデータ転送をおこなう場合について説明する。はじめに、リトルエンディアン方式のＣＰＵ１０１ａをディフォルト選択設定として、ビッグエンディアン方式のＣＰＵ１０１ｂを選択する場合について説明する。
【００６０】
図１１は、ディフォルトがリトルエンディアン方式の時に、ビッグエンディアン方式のＣＰＵを選択する場合のシリアル転送データのタイミングチャートである。本タイミングチャートは、周辺デバイス１０２に「ＦＦＦＥｈ」を書き込む場合を示している。
【００６１】
図１１のタイミングチャートには、周辺デバイスのチップセレクト信号（ＳＹＣＳ＿Ｎ）１１０１、シリアルクロック（ＣＬＫ＿ＳＹ）１１０２、シリアル転送データ（ＳＹＤＩ＿Ｎ）１１０３、ＣＰＵ１０１ａのアサート状態１１０４、ＣＰＵ１０１ｂのアサート状態１１０５、周辺デバイスからのシリアル転送データ（ＳＹＤＯ＿Ｎ）１１０６、連続ライトモード信号（ＳＹＨＳ＿Ｎ）１１０７が示されている。なお、表記の便宜上、以降の図中において、ＣＰＵ１０１ａのアサート状態をＣＰＵ１０１＜ａ＞、ＣＰＵ１０１ｂのアサート状態をＣＰＵ１０１＜ｂ＞、ＣＰＵ１０１ｃのアサート状態をＣＰＵ１０１＜ｃ＞とそれぞれ表記する。
【００６２】
ＣＰＵ１０１ａからのシリアル転送データ（ＳＹＤＩ＿Ｎ）１１０３は、シリアルクロック（ＣＬＫ＿ＳＹ）１１０２の立ち下がりエッジに同期して入力されるものとし、以下のような手順でＣＰＵ選択回路を起動させる。
【００６３】
まず、ＣＰＵ１０１ａから周辺デバイス１０２に、「ＦＦＦＥｈ」をライトする。つぎに、後続の１６ｂｉｔデータとしてダミーデータを転送する。ＲＷ  ｂｉｔ＝１は従来通りであるが、通常ライト時に余りの２つのｂｉｔを０としていた部分については、それぞれ１を与えて周辺デバイス１０２に転送する。
【００６４】
つまり、ＣＰＵ１０１を選択するための転送時のみ、余りｂｉｔに１を与えて転送することによって、従来のライト転送と区別する。これにより、周辺デバイス１０２のシリアルデータ受信フォーマットが、ディフォルトのＣＰＵ１０１ａからＣＰＵ１０１ｂに変更され、つぎの転送からは、後述する図１２の説明に従って、ＣＰＵ１０１ｂからのシリアルデータを受信することが可能となる。また、このとき、図２のセレクタ２０５ａでは、状態信号のアサートがＣＰＵ１０１ａからＣＰＵ１０１ｂへと変化する。
【００６５】
つぎに、リトルエンディアン方式のＣＰＵ１０１ａをディフォルト選択設定として、３２ｂｉーｔ転送のビッグエンディアン方式のＣＰＵ１０１ｃを選択する場合について説明する。
【００６６】
図１２は、ディフォルトがリトルエンディアン方式の時に、３２ｂｉｔ転送のビッグエンディアン方式のＣＰＵを選択する場合のシリアル転送データのタイミングチャートである。本タイミングチャートは、周辺デバイス１０２に「ＦＦＦＣｈ」を書き込む場合を示している。
【００６７】
図１２のタイミングチャートには、図１１と同様に、周辺デバイスのチップセレクト信号（ＳＹＣＳ＿Ｎ）１２０１、シリアルクロック（ＣＬＫ＿ＳＹ）１２０２、シリアル転送データ（ＳＹＤＩ＿Ｎ）１２０３、ＣＰＵ１０１ａのアサート状態１２０４、ＣＰＵ１０１ｃのアサート状態１２０５、周辺デバイスからのシリアル転送データ（ＳＹＤＯ＿Ｎ）１２０６、連続ライトモード信号（ＳＹＨＳ＿Ｎ）１２０７が示されている。
【００６８】
図１２に示す場合も図１１と同様に、まず、ＣＰＵ１０１ａから周辺デバイス１０２に、「ＦＦＦＣｈ」をライトする。つぎに、後続の１６ｂｉｔデータとしてダミーデータを転送する。このとき、転送フォーマットは、ＣＰＵ１０１ａからＣＰＵ１０１ｃへと切り替わっている（状態信号のアサートがＣＰＵ１０１ａからＣＰＵ１０１ｃへと変化する）。このため、図９に示したように、ＣＰＵ１０１ｃからのシリアルデータを受信することが可能となる。
【００６９】
以上の手順によって、各エンディアン方式のＣＰＵ１０１ａ〜１０１ｃを周辺デバイス１０２のディフォルト選択設定とした時に、エンディアン方式の異なるＣＰＵ１０１を選択してシリアルデータ転送をおこなう。他のＣＰＵ１０１どうしの組み合わせも同様に、デフォルトのＣＰＵ１０１からのシリアルデータを周辺デバイスに転送し、ＣＰＵ１０１を選択する。
【００７０】
図１３は、ディフォルトが３２ｂｉｔ転送のビッグエンディアン方式の時に、リトルエンディアン方式のＣＰＵを選択する場合のシリアル転送データのタイミングチャートである。本タイミングチャートは、周辺デバイス１０２に「ＦＦＦＤｈ」を書き込む場合を示している。
【００７１】
また、図１４は、ディフォルトが３２ｂｉｔ転送のビッグエンディアン方式の時に、８ｂｉｔ転送のビッグエンディアン方式のＣＰＵを選択する場合のシリアル転送データのタイミングチャートである。本タイミングチャートは、周辺デバイス１０２に「ＦＦＦＣｈ」を書き込む場合を示している。
【００７２】
また、図１５は、ディフォルトがビッグエンディアン方式の時に、リトルエンディアン方式のＣＰＵを選択する場合のシリアル転送データのタイミングチャートである。本タイミングチャートは、周辺デバイス１０２に「ＦＦＦＦｈ」を書き込む場合を示している。
【００７３】
図１６は、ディフォルトが８ｂｉｔ転送のビッグエンディアン方式の時に、３２ｂｉｔ転送のビッグエンディアン方式のＣＰＵを選択する場合のシリアル転送データのタイミングチャートである。本タイミングチャートは、周辺デバイス１０２に「ＦＦＦＣｈ」を書き込む場合を示している。
【００７４】
図１３〜図１６のタイミングチャートには、図１２と同様に、周辺デバイスのチップセレクト信号（ＳＹＣＳ＿Ｎ）１３０１，１４０１，１５０１，１６０１、シリアルクロック（ＣＬＫ＿ＳＹ）１３０２，１４０２，１５０２，１６０２、シリアル転送データ（ＳＹＤＩ＿Ｎ）１３０３，１４０３，１５０３，１６０３、ＣＰＵ１０１のアサート状態１３０４，１３０５，１４０４，１４０５，１５０４，１５０５，１６０４，１６０５、周辺デバイスからのシリアル転送データ（ＳＹＤＯ＿Ｎ）１３０６，１４０６，１５０６，１６０６、連続ライトモード信号（ＳＹＨＳ＿Ｎ）１３０７，１４０７，１５０７，１６０７がそれぞれ示されている。
【００７５】
図１１〜図１６に示すように、周辺デバイスへのシリアルデータの先頭１２ｂｉｔが「ＦＦＦｈ」である時、ＣＰＵ１０１の送信フォーマット選択動作であることを検出し、続く４ｂｉｔデータの値（「Ｆｈ」「Ｅｈ」など）によってどのＣＰＵ１０１の送信フォーマットであるかを特定する。
【００７６】
インターフェイス回路１０３は、ＣＰＵ１０１から周辺デバイス１０２への最初の１２ｂｉｔのデータを用いて通常ライト／ＣＰＵ選択を判定し、続く４ｂｉｔのデータを用いて、ＣＰＵ１０１ａ〜ＣＰＵ１０１ｃのいずれかを選択することとしている。なお、リード時のタイミングに関しては、ＣＰＵ１０１の選択制御は起動せず、通常のまま動作をおこなう。
【００７７】
このように、転送されたシリアルデータを周辺デバイス１０２で判別することによって、ＣＰＵ１０１の送信フォーマットを特定する。そして、特定されたフォーマットに合わせたシフト回路を周辺デバイス１０２で選択することとしている。なお、周辺デバイス１０２は、ＣＰＵ１０１ａをディフォルト選択としているため、もし、ＣＰＵ１０１ａからＣＰＵ１０１ｂ、あるいはＣＰＵ１０１ｃを選択後、ＣＰＵ１０１ａに戻したい場合は、図１３および図１４に示した送信フォーマットによって、周辺デバイス１０２に固有のシリアルデータを転送すればよい。
【００７８】
つぎに、周辺デバイス１０２からＣＰＵ１０１へとデータを出力する場合について説明する。図１７は、周辺デバイスからリトルエンディアン方式のＣＰＵにリードデータを出力する場合のシリアル転送データのタイミングチャートである。本タイミングチャートは、周辺デバイス１０２のアドレス０１２３番地のデータをリトルエンディアン方式のＣＰＵ１０１ａにリードする場合を示している。
【００７９】
また、図１８は、周辺デバイスからビッグエンディアン方式のＣＰＵにリードデータを出力する場合のシリアル転送データのタイミングチャートである。本タイミングチャートは、周辺デバイス１０２のアドレス０１２３番地のデータをビッグエンディアン方式のＣＰＵ１０１ａにリードする場合を示している。
【００８０】
図１７および図１８のタイミングチャートには、周辺デバイスのチップセレクト信号（ＳＹＣＳ＿Ｎ）１７０１，１８０１、シリアルクロック（ＣＬＫ＿ＳＹ）１７０２，１８０２、シリアル転送データ（ＳＹＤＩ＿Ｎ）１７０３，１８０３、シリアルリードデータ（ＳＹＤＯ＿Ｎ）１７０４，１８０４、連続ライトモード信号（ＳＹＨＳ＿Ｎ）１７０５，１８０５が、それぞれ示されている。
【００８１】
図１７と図１８とを対比すると、シリアルリードデータ（ＳＹＤＯ＿Ｎ）１７０４，１８０４を８ｂｉｔ単位で入れ替えている（図２のＰ／Ｓ変換部２０８参照）。これは、リードデータを受け取るＣＰＵ１０１の受信フォーマットを考慮したものである。さらに、周辺デバイス１０２のデバッグ用などに、リードデータを８ｂｉｔ単位で入れ替えをおこなうレジスタフラグを設けておいてもよい。これは、ＣＰＵ１０１から周辺デバイス１０２にシリアルデータをライトする場合にも適用できる。
【００８２】
また、図１７および図１８において、ＣＰＵ１０１へのシリアルデータ送信回路に、クロックエッジの選択手段を設けてもよい。具体的には、周辺デバイス１０２の内部レジスタに、シリアルクロックのエッジ選択用レジスタフラグを設け、任意の送受信フォーマットのＣＰＵ１０１に対して、シリアルクロックのいずれかのエッジを用いてシリアルデータを転送するようにする。
【００８３】
このようにして、ＣＰＵ１０１の変更に伴って、周辺デバイス１０２のレジスタフラグの設定をおこなえば、容易に動作の切り替えをすることができる（図２のセレクタ２０５ｃ参照）。この場合、フラグのディフォルト設定値は、最初に設定されるＣＰＵ１０１の動作エッジに合わせておく。図１７では、ＣＰＵ１０１への出力を、シリアルクロックの立ち下がりエッジでおこなっている。また、図１８は、ＣＰＵ１０１への出力を、シリアルクロックの立ち上がりエッジでおこなっている。
【００８４】
また、ＣＰＵ１０１から転送されるアドレス情報は、周辺デバイス１０２のアドレス空間を構成するビット数よりも大きいものとし、剰余となるアドレス情報のビットの状態に応じて、周辺デバイス１０２の共有アドレスを構成する領域に、ＣＰＵ１０１からのデータ情報を同時に書き込むこととしてもよい。
【００８５】
図１９は、リトルエンディアン方式のＣＰＵからレジスタへ同時ライトする場合のタイミングチャートである。図１９のタイミングチャートには、周辺デバイスのチップセレクト信号（ＳＹＣＳ＿Ｎ）１９０１、シリアルクロック（ＣＬＫ＿ＳＹ）１９０２、シリアル転送データ（ＳＹＤＩ＿Ｎ）１９０３、レジスタアドレス１９０４、チップセレクト１９０５、リファレンスクロック（ＣＬＫ＿ＲＥＦ）１９０６、ｗｒｅｎパルス１９０７、データ１９０８、シリアルリードデータ（ＳＹＤＯ＿Ｎ）１９０９、連続ライトモード信号（ＳＹＨＳ＿Ｎ）１９１０が、それぞれ示されている。
【００８６】
図１９に示すように、アドレス空間がａｄｄ［１１：０］で構成される周辺デバイス１０２に対して、ａｄｄ［１２］ビットをＣＰＵ１０１から剰余ビットとして与える。このａｄｄ［１２］ビットは、ＣＰＵ１０１から周辺デバイス１０２へのデータ転送では、通常使用しない領域のビットであるため、０に設定しておく。
【００８７】
一方、フルカラーの画像形成装置などに用いられる周辺デバイス１０２は、各色に対応させるため、１つの周辺デバイス１０２の内部に色ごとの領域を確保し、共通のアドレス空間には、それぞれ同一機能のレジスタを配置することがある。たとえば、Ｙ（イエロー）、Ｍ（マゼンタ）、Ｃ（シアン）、ＢＫ（ブラック）に各対応するγ補正テーブルデータを、ａｄｄ［１１：０］のうちの任意のアドレスに配置する。
【００８８】
通常、これらのテーブルデータを設定する際は、ＣＰＵ１０１からそれぞれのブロックごとにシリアルデータを転送する方法が一般的であるが、これでは、同一データを設定する場合などは、データ転送に色の数に相当する４倍の時間がかかってしまう。このため、ＣＰＵ１０１からの剰余ビットであるａｄｄ［１２］ビットを１に設定することにより、共通機能のレジスタに同一データを一度にライトする。
【００８９】
図１９に示すように、１０ＸＸｈのアドレス情報をＣＰＵ１０１から転送することによって、図２のレジスタ群２０７の内部でａｄｄ［１２］ビット状態を検出する。検出されるビット状態は、１であることから、ｃｓ００ＸＸ，ｃｓ０１ＸＸ，ｃｓ０２ＸＸ，ｃｓ０３ＸＸの４つのレジスタのチップセレクトを同時にアサートする。
【００９０】
これにより、ｗｒｅｎパルスのアサートでライトデータをラッチし、１回のシリアルデータ転送で、周辺デバイス１０２の４つのレジスタ空間にデータを書き込むことができ、通信時間の短縮を図ることができる。なお、一度に同時に書き込む必要がない場合は、通常通り、ａｄｄ［１２］ビットを０に戻して、ＣＰＵ１０１からデータを送信すればよい。
【００９１】
また、２つの信号の論理レベルの組み合わせによって、ＣＰＵ１０１から周辺デバイス１０２にデータ情報を連続転送する選択回路を設け、連続転送時の周辺デバイス１０２の内部アドレスを、シリアルクロックによって生成される特定のカウンタ値に同期して更新することとしてもよい。具体的には、周辺デバイス１０２内部の任意のレジスタアドレスから自動的にインクリメントしていき、ＣＰＵ１０１からの連続データ転送（１６ｂｉｔ単位）に対応する手段を与える。
【００９２】
図２０は、リトルエンディアン方式のＣＰＵからレジスタへ高速ライトする場合のタイミングチャートである。図２０のタイミングチャートには、周辺デバイスのチップセレクト信号（ＳＹＣＳ＿Ｎ）２００１、シリアルクロック（ＣＬＫ＿ＳＹ）２００２、シリアル転送データ（ＳＹＤＩ＿Ｎ）２００３、シリアルカウンタ値２００４、アドレス２００５、シリアルリードデータ（ＳＹＤＯ＿Ｎ）２００６、連続ライトモード信号（ＳＹＨＳ＿Ｎ）２００７が、それぞれ示されている。
【００９３】
図２０に示すように、まず周辺デバイス１０２の任意のアドレス（ｎ番地）に通常のライト動作をおこなうために、シリアル転送をおこなう。先に説明したように、チップセレクト信号はＳＹＣＳ＿Ｎ、連続ライトモード信号はＳＹＣＳ＿Ｎ＝Ｌ，ＳＹＨＳ＿Ｎ＝Ｈとして制御されている。このとき、周辺デバイス１０２では、ＣＰＵ１０１から転送されたアドレス値＝ｎが保持される。
【００９４】
ここで、インターフェイス回路１０３は、通常ライトモードを連続ライトモードに切り替えるが、ＣＰＵ１０１で、ＳＹＣＳ＿Ｎ＝Ｌ，ＳＹＨＳ＿Ｎ＝Ｌと信号レベルの設定を変更する。また、周辺デバイス１０２のアドレス＝ｎに相当するデータに続いて、ＣＰＵ１０１からの１６ｂｉｔのシリアルデータは、以降ｎ＋１，ｎ＋２，・・・と連続で周辺デバイス１０２にライトされる。
【００９５】
なお、アドレスのインクリメントタイミングは、シリアルデータの１６ｂｉｔ転送の間に動作する内部カウンタ（たとえば、シリアルクロック同期のカウンタであれば、０からＦまでの間）の任意の値で実行すればよい。図２０では、リトルエンディアン形式のＣＰＵ１０１からの連続ライトデータに対して、シリアルカウンタが６０４＝０５ｈを検出した後、直近のＣＬＫ＿ＳＹの立ち上がりエッジで、内部アドレスを自動インクリメントする例を示している。
【００９６】
ただし、Ｆ／Ｆ２０２ｂからレジスタ群２０７へ出力されるライトパルス信号（ｗｒｅｎ）は、リファレンスクロックによって同期化されたパルス信号を用いるため、シリアルクロックとの間で非同期の関係が生じる。さらに、互いのクロック周波数の比率によって、たとえば、リファレンスクロック周波数よりシリアルクロック周波数が大きい場合、アドレスをインクリメントするタイミングの方が、ライトパルス信号（ｗｒｅｎ）を生成するタイミングよりも早くなり、ｎ番地にライトすべきデータが、ｎ＋１番地にライトされてしまう場合もある。
【００９７】
このような場合、互いの周波数比に応じて、アドレスインクリメントのタイミングを任意に変更するレジスタフラグなどを設けておくか、十分にタイミングマージンを取って、レジスタアドレスの自動インクリメントをおこなえばよい。
【００９８】
また、異常検出部２０９は、シリアルクロックおよび２つの異なる制御信号（周辺デバイスのチップセレクト信号および連続転送制御信号）の異常状態を、それぞれシリアルクロックとは独立したクロックで検出する。さらに、異常検出部２０９は、ＣＰＵ１０１からのシリアルデータ転送中に異常を検出した場合、ＣＰＵ１０１と周辺デバイス１０２との間のシリアルデータ送受信動作を停止するとともに、異常状態を通知する。
【００９９】
具体的には、異常検出部２０９は、シリアルクロックや、２つの制御信号（周辺デバイスのチップセレクト信号および連続転送制御信号）の波形異常（クロック抜け、ノイズ）などを検出し、転送時のシリアルデータのパリティエラー以外の異常を検出する。
【０１００】
図２１は、リトルエンディアン方式のＣＰＵから周辺デバイスへの正常なライトタイミングを示すタイミングチャートである。図２１のタイミングチャートには、周辺デバイスのチップセレクト信号（ＳＹＣＳ＿Ｎ）２１０１、シリアルクロック（ＣＬＫ＿ＳＹ）２１０２、シリアル転送データ（ＳＹＤＩ＿Ｎ）２１０３、シリアルカウンタ値２１０４、リファレンスクロック（ＣＬＫ＿ＲＥＦ）２１０５、保持カウンタ値２１０６、異常検出パルス２１０７、ｗｒｅｎパルス２１０８、シリアルリードデータ（ＳＹＤＯ＿Ｎ）２１０９、連続ライトモード信号（ＳＹＨＳ＿Ｎ）２１１０が、それぞれ示されている。
【０１０１】
図２１に示すように、たとえば、周辺デバイス１０２へのライト動作中にシリアルクロックに抜けが発生した場合（図２１中のＰで示す部分）、内部のシフト動作が正常におこなわれず、シリアルカウンタが誤った値となる。その結果、本来であれば、シリアルカウンタ＝１ｆｈ（３１）のつぎのＣＬＫ＿ＳＹの立ち上がりで動作が開始されるＦ／Ｆ２０２ｂ（ｗｒｅｎパルス生成部）が動作せず、０１２３ｈ番地レジスタへのライト動作がおこなわれないこととなってしまう。
【０１０２】
このため、インターフェイス回路１０３では、１回のライト動作に必要なシリアルクロックのパルス数をあらかじめ記憶しておく。そして、実際の１回の転送処理が終了するごと（本実施の形態では、チップセレクト信号：ＳＹＣＳ＿Ｎのネゲートエッジを検出）に、リファレンスクロック（ＣＬＫ＿ＲＥＦ）でシリアルクロック（ＣＬＫ＿ＳＹ）の数をカウントし、あらかじめ記録された記録値と比較する。この比較結果が異なった時に異常と判断し、異常検出部２０９は、ＣＰＵ１０１に異常状態信号を送出する。
【０１０３】
図２２は、リトルエンディアン方式のＣＰＵから周辺デバイスへの異常なライトタイミングを示すタイミングチャートである。図２２のタイミングチャートには、図２１と同様に、周辺デバイスのチップセレクト信号（ＳＹＣＳ＿Ｎ）２２０１、シリアルクロック（ＣＬＫ＿ＳＹ）２２０２、シリアル転送データ（ＳＹＤＩ＿Ｎ）２２０３、シリアルカウンタ値２２０４、リファレンスクロック（ＣＬＫ＿ＲＥＦ）２２０５、保持カウンタ値２２０６、異常検出パルス２２０７、ｗｒｅｎパルス２２０８、シリアルリードデータ（ＳＹＤＯ＿Ｎ）２２０９、連続ライトモード信号（ＳＹＨＳ＿Ｎ）２２１０が、それぞれ示されている。
【０１０４】
なお、シリアルクロック（ＣＬＫ＿ＳＹ）のカウント方法は、その立ち上がり、あるいは立ち下がりエッジを、リファレンスクロック（ＣＬＫ＿ＲＥＦ）でカウントすればよく、上述した方法に限定されるものではない。
【０１０５】
以上のように、異常検出部２０９は、ノイズなどの余分なクロックの発生や、クロック抜けなどによる異常を検出する。検出された異常状態下では、周辺デバイス１０２へのデータ書き込みはおこなわず、あわせてＣＰＵ１０１に異常状態を通知する。この構成は、周辺デバイス１０２からＣＰＵ１０１へのレジスタリード動作時において適用される。
【０１０６】
また、チップセレクト信号（ＳＹＣＳ＿Ｎ）、および、連続ライトモード信号（ＳＹＨＳ＿Ｎ）は、通常のライト／リード動作、連続ライト動作のようにモード判別をおこなうために使用されている。このため、これらの信号に異常が発生した場合、内部シリアルカウンタの初期化、あるいは、内部シリアルカウンタの遷移の異常が発生する。その結果、通常ライト／リード、および、連続ライトモードの各モード遷移が正常に機能しないこととなる。
【０１０７】
従って、前述した制御信号に異常が発生したことを検出する方法として、シリアルクロック（ＣＬＫ＿ＳＹ）と同様に、１回の転送処理の終了前に、チップセレクト信号（ＳＹＣＳ＿Ｎ）、連続ライトモード信号（ＳＹＨＳ＿Ｎ）のレベルに変化があった場合は、異常と判断するように制御する。そして、クロック抜けの場合と同様に、周辺デバイス１０２へのデータ書き込みはおこなわず、あわせてＣＰＵ１０１に異常状態を通知する。
【０１０８】
以上のように、異常検出部２０９で図２２のような異常タイミングを検出することによって、一般的なパリティエラー以外での状態異常に対するエラー処理に対応することができる。なお、異常検出部２０９は、前述のように各入力信号の状態変化を保持し、それを正常な状態と比較することで異常と判断できる構成であれば、他の信号を用いて異常を検出してもよい。
【０１０９】
なお、本実施の形態では、周辺デバイス１０２で選択すべきＣＰＵ１０１を３種類としたが、ＣＰＵ１０１からのシリアルデータの組み合わせと、特定すべきＣＰＵ１０１の認識条件を考慮することによって、３種類以上の種類のＣＰＵ１０１を選択することもできる。これにより、より拡張性の高いシステムの構築が可能となる。また、本実施の形態では、ＣＰＵ１０１のエンディアン方式は、主にリトルエンディアン方式の場合について説明したが、ビッグエンディアン方式や他の方式のＣＰＵ１０１に関しても、同様に適用することができ、さらに、フルカラー画像形成装置などの機器に対しても実施することができる。
【０１１０】
以上説明したように、本実施の形態にかかるクロック同期式シリアルインターフェイス回路によれば、マスター装置の送受信フォーマットに合わせてシリアルデータを送受信することによって、１つのスレーブ装置で、複数のマスター装置の送受信フォーマットに対応させることが可能となり、システムの拡張性を広げることができる。また、送受信フォーマットに合わせて複数のスレーブ装置を揃える必要がなく、システムの運営においてコストダウンを図ることができる。
【０１１１】
また、シリアルクロックのクロックエッジを選択可能なことによって、マスター装置の送受信フォーマットに応じた回路を自由に設定でき、システムの拡張性をさらに向上させることができる。
【０１１２】
また、スレーブ装置内部の共有アドレスを構成する領域に、マスター装置からのデータ情報を同時に書き込むことによって、フルカラーの画像データなど、容量が大きいデータを扱う場合においてコマンド設定時間を短縮するなど、データ処置効率を向上させることができる。
【０１１３】
シリアルデータの転送期間中に異常を検出した場合は、マスター装置とスレーブ装置間でのシリアルデータ送受信動作を停止するとともに、異常状態を通知する。これにより、シリアルコマンドインターフェイスの各信号線に何らかの異常が発生しても、直ちにそれを検出し、同時にマスター装置への通知をおこなうため、システムや装置の暴走といった異常動作を未然に防止することができる。
【産業上の利用可能性】
【０１１４】
以上のように、本発明にかかるクロック同期式シリアルインターフェイス回路は、異なる送受信フォーマットを有するマスター装置とのデータ送受信に有用であり、特に、デジタルフルカラープリンタ、デジタルフルカラー複写機、デジタル複合機などの画像形成装置、および通信装置に適している。
【図面の簡単な説明】
【０１１５】
【図１】実施の形態にかかるデータ転送システム１００のシステム構成を示す説明図である。
【図２】インターフェイス回路１０３の回路構成を示すブロック図である。
【図３】リトルエンディアン方式でシリアルデータ転送をおこなう場合のデータフォーマットを示す説明図である。
【図４】リトルエンディアン方式でシリアルデータ転送をおこなう場合のタイミングチャートである。
【図５】ビッグエンディアン方式でシリアルデータ転送をおこなう場合のデータフォーマットを示す説明図である。
【図６】ビッグエンディアン方式でシリアルデータ転送をおこなう場合のタイミングチャートである。
【図７】リトルエンディアン方式でクロック同期シリアルデータ転送をおこなう場合のタイミングチャートである。
【図８】ビッグエンディアン方式でクロック同期シリアルデータ転送をおこなう場合のタイミングチャートである。
【図９】ビッグエンディアン方式でクロック同期シリアルデータ転送をおこなう場合のタイミングチャートである。
【図１０】リファレンスクロックを使用したライトパルス生成時のタイミングチャートである。
【図１１】ディフォルトがリトルエンディアン方式の時に、ビッグエンディアン方式のＣＰＵを選択する場合のシリアル転送データのタイミングチャートである。
【図１２】ディフォルトがリトルエンディアン方式の時に、３２ｂｉｔ転送のビッグエンディアン方式のＣＰＵを選択する場合のシリアル転送データのタイミングチャートである。
【図１３】ディフォルトが３２ｂｉｔ転送のビッグエンディアン方式の時に、リトルエンディアン方式のＣＰＵを選択する場合のシリアル転送データのタイミングチャートである。
【図１４】ディフォルトが３２ｂｉｔ転送のビッグエンディアン方式の時に、８ｂｉｔ転送のビッグエンディアン方式のＣＰＵを選択する場合のシリアル転送データのタイミングチャートである。
【図１５】ディフォルトがビッグエンディアン方式の時に、リトルエンディアン方式のＣＰＵを選択する場合のシリアル転送データのタイミングチャートである。
【図１６】ディフォルトが８ｂｉｔ転送のビッグエンディアン方式の時に、３２ｂｉｔ転送のビッグエンディアン方式のＣＰＵを選択する場合のシリアル転送データのタイミングチャートである。
【図１７】周辺デバイスからリトルエンディアン方式のＣＰＵにリードデータを出力する場合のシリアル転送データのタイミングチャートである。
【図１８】周辺デバイスからビッグエンディアン方式のＣＰＵにリードデータを出力する場合のシリアル転送データのタイミングチャートである。
【図１９】リトルエンディアン方式のＣＰＵからレジスタへ同時ライトする場合のタイミングチャートである。
【図２０】リトルエンディアン方式のＣＰＵからレジスタへ高速ライトする場合のタイミングチャートである。
【図２１】リトルエンディアン方式のＣＰＵから周辺デバイスへの正常なライトタイミングを示すタイミングチャートである。
【図２２】リトルエンディアン方式のＣＰＵから周辺デバイスへの異常なライトタイミングを示すタイミングチャートである。
【符号の説明】
【０１１６】
１００  データ転送システム
１０１  ＣＰＵ
１０２  周辺デバイス
１０３  インターフェイス回路
２０１  モード選択部
２０２ａ，２０２ｂ  Ｆ／Ｆ
２０３  シリアルカウンタ
２０４  Ｓ／Ｐ変換部
２０５ａ〜２０５ｃ  セレクタ
２０６  アドレス・データ生成部
２０７  レジスタ群
２０８  Ｐ／Ｓ変換部
２０９  異常検出部
【図１】
2007206878.tif 000003
【図２】
2007206878.tif 000004
【図３】
2007206878.tif 000005
【図４】
2007206878.tif 000006
【図５】
2007206878.tif 000007
【図６】
2007206878.tif 000008
【図７】
2007206878.tif 000009
【図８】
2007206878.tif 000010
【図９】
2007206878.tif 000011
【図１０】
2007206878.tif 000012
【図１１】
2007206878.tif 000013
【図１２】
2007206878.tif 000014
【図１３】
2007206878.tif 000015
【図１４】
2007206878.tif 000016
【図１５】
2007206878.tif 000017
【図１６】
2007206878.tif 000018
【図１７】
2007206878.tif 000019
【図１８】
2007206878.tif 000020
【図１９】
2007206878.tif 000021
【図２０】
2007206878.tif 000022
【図２１】
2007206878.tif 000023
【図２２】
2007206878.tif 000024