(57)【要約】【課題】プロセッサ処理時間の増加及びソフトウェア準備のための記憶装置の増加を抑えた２線式シリアルデータ転送制御方法、プログラム及び２線式シリアルデータ転送制御装置を提供する。【解決手段】マスタ装置に２線式シリアルデータ転送手段で接続される１つ以上のスレーブ装置を含み、１つ以上のスレーブ装置からなるアドレス空間を１つのアドレス空間とする２線式シリアルデータ転送制御システム装置の線式シリアルデータ転送制御方法であって、アクセスを開始するアドレスから転送相手となるスレーブアドレスを生成する。【選択図】図１
2011109515.tif 000002
【特許請求の範囲】
【請求項１】
マスタ装置に２線式シリアルデータ転送手段で接続される１つ以上のスレーブ装置を含み、前記１つ以上のスレーブ装置からなるアドレス空間を１つのアドレス空間とする２線式シリアルデータ転送制御システム装置の線式シリアルデータ転送制御方法であって、
アクセスを開始するアドレスから転送相手となるスレーブアドレスを生成することを特徴とする２線式シリアルデータ転送制御方法。
【請求項２】
前記マスタ装置と前記スレーブ装置とのシリアルデータ転送中に前記スレーブ装置のメモリアドレス空間の上限を超えた場合、２線式シリアルデータ転送を終了させ、そのメモリアドレスから、次の転送相手となるスレーブアドレスを生成し、連続したアドレス空間からのシリアルデータ転送を再開させることを特徴とする請求項１記載の２線式シリアルデータ転送制御方法。
【請求項３】
前記マスタ装置と前記スレーブ装置とのシリアルデータ転送中に前記スレーブ装置のメモリアドレス空間の上限を超えた場合もしくは下限に満たない場合、２線式シリアルデータ転送を終了させ、そのメモリアドレスから、次の転送相手となるスレーブアドレスを生成し、連続したアドレス空間からのシリアルデータ転送を再開させるシーケンス装置を有することを特徴とする請求項１記載の２線式シリアルデータ転送制御方法。
【請求項４】
マスタ装置に２線式シリアルデータ転送手段で接続される１つ以上のスレーブ装置を含み、前記１つ以上のスレーブ装置からなるアドレス空間を１つのアドレス空間とする２線式シリアルデータ転送制御システム装置の２線式シリアルデータ転送制御用のプログラムであって、
アクセスを開始するアドレスから転送相手となるスレーブアドレスを生成するため、
コンピュータに、
前記マスタ装置が、前記マスタ装置と前記スレーブ装置とのシリアルデータ転送中に前記スレーブ装置のメモリアドレス空間の上限を超えたか否かを判断する手順、
前記マスタ装置が、前記上限を超えた場合に２線式シリアルデータ転送を終了させる手順、
前記マスタ装置が、前記メモリアドレスから、次の転送相手となるスレーブアドレスを生成させる手順、
前記マスタ装置が、連続したアドレス空間からのシリアルデータ転送を再開させる手順、
を実行させることを特徴とするプログラム。
【請求項５】
マスタ装置と、該マスタ装置に２線式シリアルデータ転送手段で接続される１つ以上のスレーブ装置とを含み、前記１つ以上のスレーブ装置からなるアドレス空間を１つのアドレス空間とする２線式シリアルデータ転送制御システム装置に用いられる２線式シリアルデータ転送制御装置であって、
前記マスタ装置は、前記２線式シリアルデータ転送制御装置を含み、該２線式シリアルデータ転送制御装置は、アクセスを開始するアドレスから転送相手となるスレーブアドレスを生成する生成装置を有することを特徴とする２線式シリアルデータ転送制御装置。
【請求項６】
前記マスタ装置は、
前記スレーブ装置とのシリアルデータ転送中に前記スレーブ装置のメモリアドレス空間の上限を超えた場合、２線式シリアルデータ転送を終了させ、そのメモリアドレスから、次の転送相手となるスレーブアドレスを生成し、連続したアドレス空間からのシリアルデータ転送を再開させるシーケンス装置を有することを特徴とする請求項４記載の２線式シリアルデータ転送制御装置。
【請求項７】
前記マスタ装置は、
前記スレーブ装置とのシリアルデータ転送中に前記スレーブ装置のメモリアドレス空間の上限を超えた場合もしくは下限に満たない場合、２線式シリアルデータ転送を終了させ、そのメモリアドレスから、次の転送相手となるスレーブアドレスを生成し、連続したアドレス空間からのシリアルデータ転送を再開させるシーケンス装置を有することを特徴とする請求項４記載の２線式シリアルデータ転送制御装置。
【請求項８】
前記マスタ装置は、メモリアドレスを設定するメモリアドレス設定装置と、連続したアドレス空間上のメモリアドレスから任意のアドレスを設定することによりデータ転送の対象となるスレーブ装置を決定するスレーブアドレス選択装置とを有することを特徴とする請求項６または７記載の２線式シリアルデータ転送制御装置。
【請求項９】
前記スレーブアドレス選択装置は、アドレス上限及びアドレス下限を設定する設定装置と、前記設定装置からのアドレス設定値と上限アドレス設定値、アドレス設定値と下限アドレス設定値についてそれぞれ範囲内か範囲外かを検知する演算装置と、両演算装置の検知結果からアドレス設定値が上限アドレス設定値から下限アドレス設定値の範囲内にあるか否かを検出し、スレーブアドレス選択信号を発する論理回路と、を有することを特徴とする請求項８記載の２線式シリアルデータ転送制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２線式シリアルデータ転送制御方法、プログラム及び２線式シリアルデータ転送制御装置に関する。
【背景技術】
【０００２】
近年、データ転送手段に関する技術が種々開発されている。
例えば、特許文献１に記載の発明は、複数のスレーブ装置と接続されるマスタ装置が、各スレーブ装置(RAM:Random Access Memory)と個別に接続する制御線(チップセレクト信号：CS:Chip Selector)の出力先を切り換えて各スレーブ装置と通信を行うように構成され、複数のスレーブ装置とマスタ装置との共通のデータ線については差動信号を用いている高速な通信システムにおいて、CSの切り替え手段を送/受信データ数とあらかじめ送/受信に関して記憶されたデータ数との比較によって行っている。また転送はDMA(Direct Memory Access)転送で行う。特許文献１に記載の発明これらのことによりマスタ装置の負荷を低減している。
【０００３】
特許文献２に記載の発明は、マイコン制御システムに関するものであり、制御データ通信用バスを介してマイコンと外部回路とを接続するとともに、この制御データ通信用バス上では相互にＩＤデータで認証するマイコン制御システムであって、上記マイコンは、リセット時に上記制御データ通信用バスを介して上記外部回路のＩＤデータを送出してＡＣＫ信号が返答された場合に当該外部回路が装着されているものとして初期設定するものである。すなわち、スレーブアドレス(ID)の送出をマイコン制御によって行っている。特許文献２に記載の発明は、このことから、ポートを消費することなく、且つ、配線作業の手間を軽減することが可能としている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
２線式シリアルデータ転送(フィリップス社が提唱するI2C(Inter-Integrated Circuit)仕様)でデータ転送を行なうシステム（図１０の001）では、マスタ装置M001と１つ以上のスレーブ装置S001〜S00nとが１つのクロックライン002(SCL)と１つのデータライン003(SDA)とに接続されている。
【０００５】
図１０は、一般に用いられている２線式シリアルデータ転送装置である。
図１０に示すM001はマスタ装置、S001、S002、S003、…、S00nはスレーブ装置、002、003はクロックライン及びシリアルデータライン、004はプルアップ素子をそれぞれ示す。
【０００６】
マスタ装置M001は、転送を行ないたいスレーブ装置S001〜S00nに対して、クロック及び、スレーブアドレスをシリアルデータラインに送出し、スレーブ装置S001〜S00nは自己のスレーブアドレスとマスタ装置M001が送出したスレーブアドレスとの比較を行ない、一致すればマスタ装置M001にアクノリッジ信号を返すことで通信が確立され、その後に続く通信プロトコルによりシリアルデータ転送が行われる。
【０００７】
また通信プロトコル上ではスレーブ装置S001〜S00nが持つ記憶装置（図示せず）に対して何番地のアドレスからデータ転送を行なうかを明示する仕様となっている。
【０００８】
一般的にマスタ装置は、マイコン装置やI2Cコントローラを含むLSI装置内蔵のプロセッサを介してのソフトウェア処理により、任意にスレーブアドレスを設定し送出することが可能となっている。例えば、特許文献２記載の発明ではマイコン制御を介してスレーブアドレス(ID) を送出する装置となっている。
【０００９】
また、スレーブ装置が持つ記憶装置に対してのアドレスも同様なマイコン制御により送出可能となっているものも一般的な技術である。
【００１０】
図１に示す様な２線式シリアルデータ転送システムにおいて、スレーブ装置１(S001)、スレーブ装置２(S002)、…、スレーブ装置ｎ(S00n)の切り換えはマスタ装置M001からのスレーブアドレス発行により行われるが、この発行がマイコン装置やプロセッサ制御すなわちソフトウェア処理で行われ、スレーブ装置S001〜S00nが持つ記憶装置に対してのアドレスの発行においてもマイコン装置やプロセッサ制御すなわちソフトウェア処理で行われることは周知な技術であると言える。
【００１１】
例えば、マスタ装置M001からスレーブ装置１(S001)へのシリアル転送では、スレーブ装置１(S001)のスレーブアドレスをソフトウェア上に準備し、続いてスレーブ装置２(S002)とのシリアル転送を行う際にもスレーブ装置２(S002)のスレーブアドレスをソフトウェア上に準備し、続いてスレーブ装置３(S003)とのシリアル転送を行う際にもスレーブ装置３(S003)のスレーブアドレスをソフトウェア上に準備することとなる。
この様に転送相手となるスレーブ装置S001〜S00nに対してのスレーブアドレスをソフトウェア上に準備する必要がある。
【００１２】
さらなる例として、スレーブ装置１〜３(S001〜S003)の記憶エリアが連続したアドレス空間として扱うことが可能なシステム構成であった場合も同様に、スレーブ装置１〜３(S001〜S003)ごとに対応したソフトウェアを準備する必要がある。
【００１３】
この様にシリアル転送制御をマイコン装置やプロセッサ制御で行なうことは、プロセッサ処理時間の増加及びソフトウェア準備のための記憶装置の増加が懸念される。
【００１４】
そこで本発明の目的は、プロセッサ処理時間の増加及びソフトウェア準備のための記憶装置の増加を抑えた２線式シリアルデータ転送制御方法、プログラム及び２線式シリアルデータ転送制御装置を提供することにある。
【課題を解決するための手段】
【００１５】
上記課題を解決するため、本発明の請求項１に係る発明は、マスタ装置に２線式シリアルデータ転送手段で接続される１つ以上のスレーブ装置を含み、前記１つ以上のスレーブ装置からなるアドレス空間を１つのアドレス空間とする２線式シリアルデータ転送制御システム装置の線式シリアルデータ転送制御方法であって、アクセスを開始するアドレスから転送相手となるスレーブアドレスを生成することを特徴とする。
【００１６】
請求項２記載の発明は、請求項１記載の発明において、前記マスタ装置と前記スレーブ装置とのシリアルデータ転送中に前記スレーブ装置のメモリアドレス空間の上限を超えた場合、２線式シリアルデータ転送を終了させ、そのメモリアドレスから、次の転送相手となるスレーブアドレスを生成し、連続したアドレス空間からのシリアルデータ転送を再開させることを特徴とする。
【００１７】
請求項３記載の発明は、請求項１に記載の発明において、前記マスタ装置と前記スレーブ装置とのシリアルデータ転送中に前記スレーブ装置のメモリアドレス空間の上限を超えた場合もしくは下限に満たない場合、２線式シリアルデータ転送を終了させ、そのメモリアドレスから、次の転送相手となるスレーブアドレスを生成し、連続したアドレス空間からのシリアルデータ転送を再開させるシーケンス装置を有することを特徴とする。
【００１８】
請求項４記載の発明は、マスタ装置に２線式シリアルデータ転送手段で接続される１つ以上のスレーブ装置を含み、前記１つ以上のスレーブ装置からなるアドレス空間を１つのアドレス空間とする２線式シリアルデータ転送制御システム装置の２線式シリアルデータ転送制御用のプログラムであって、アクセスを開始するアドレスから転送相手となるスレーブアドレスを生成するため、コンピュータに、前記マスタ装置が、前記マスタ装置と前記スレーブ装置とのシリアルデータ転送中に前記スレーブ装置のメモリアドレス空間の上限を超えたか否かを判断する手順、前記マスタ装置が、前記上限を超えた場合に２線式シリアルデータ転送を終了させる手順、前記マスタ装置が、前記メモリアドレスから、次の転送相手となるスレーブアドレスを生成させる手順、前記マスタ装置が、連続したアドレス空間からのシリアルデータ転送を再開させる手順、を実行させることを特徴とする。
【００１９】
請求項５記載の発明は、マスタ装置と、該マスタ装置に２線式シリアルデータ転送手段で接続される１つ以上のスレーブ装置とを含み、前記１つ以上のスレーブ装置からなるアドレス空間を１つのアドレス空間とする２線式シリアルデータ転送制御システム装置に用いられる２線式シリアルデータ転送制御装置であって、前記マスタ装置は、前記２線式シリアルデータ転送制御装置を含み、該２線式シリアルデータ転送制御装置は、アクセスを開始するアドレスから転送相手となるスレーブアドレスを生成する生成装置を有することを特徴とする。
【００２０】
請求項６記載の発明は、請求項４記載の発明において、前記マスタ装置は、前記スレーブ装置とのシリアルデータ転送中に前記スレーブ装置のメモリアドレス空間の上限を超えた場合、２線式シリアルデータ転送を終了させ、そのメモリアドレスから、次の転送相手となるスレーブアドレスを生成し、連続したアドレス空間からのシリアルデータ転送を再開させるシーケンス装置を有することを特徴とする。
【００２１】
請求項７記載の発明は、請求項４記載の発明において、前記マスタ装置は、前記スレーブ装置とのシリアルデータ転送中に前記スレーブ装置のメモリアドレス空間の上限を超えた場合もしくは下限に満たない場合、２線式シリアルデータ転送を終了させ、そのメモリアドレスから、次の転送相手となるスレーブアドレスを生成し、連続したアドレス空間からのシリアルデータ転送を再開させるシーケンス装置を有することを特徴とする。
【００２２】
請求項８記載の発明は、請求項６または７記載の発明において、前記マスタ装置は、メモリアドレスを設定するメモリアドレス設定装置と、連続したアドレス空間上のメモリアドレスから任意のアドレスを設定することによりデータ転送の対象となるスレーブ装置を決定するスレーブアドレス選択装置とを有することを特徴とする。
【００２３】
請求項９記載の発明は、請求項８記載の発明において、前記スレーブアドレス選択装置は、アドレス上限及びアドレス下限を設定する設定装置と、前記設定装置からのアドレス設定値と上限アドレス設定値、アドレス設定値と下限アドレス設定値についてそれぞれ範囲内か範囲外かを検知する演算装置と、両演算装置の検知結果からアドレス設定値が上限アドレス設定値から下限アドレス設定値の範囲内にあるか否かを検出し、スレーブアドレス選択信号を発する論理回路と、を有することを特徴とする。
【発明の効果】
【００２４】
本発明によれば、スレーブ装置の記憶エリアが連続したアドレス空間である場合、転送を開始するアドレスを準備することで、スレーブ装置をまたぐ場合でもスレーブアドレスおよびそのスレーブ装置とのデータ転送を開始する記憶エリアのアドレスをソフトウェア上に準備する必要が無くなるので、ソフトウェア準備のための記憶装置の増加が抑えられる。またソフトウェア上に他のソフトウェアを準備することが無いので、プロセッサ処理時間が減少し、処理時間を短縮したり、他の処理を行ったりすることが可能となり効率化が図れる。
【図面の簡単な説明】
【００２５】
【図１】本発明に係る２線式シリアルデータ転送制御装置に用いられるマスタ装置の構成例である。
【図２】（ａ）、（ｂ）は、２線式シリアルデータ転送(フィリップス社が提唱するI2C仕様)でデータ転送を行なうシステムの構成例である。
【図３】本発明に係る２線式シリアルデータ転送制御装置に用いられるスレーブアドレス生成装置の構成例である。
【図４】図３に示したスレーブアドレス生成装置608の動作を説明するための説明図である。
【図５】本発明に係る２線式シリアルデータ転送制御装置に用いられるスレーブアドレス生成装置712の動作を説明する説明図である。
【図６】本発明に係る２線式シリアルデータ転送制御装置に用いられるマスタ装置の他の構成例である。
【図７】本発明に係る２線式シリアルデータ転送制御装置に用いられるマスタ装置の他の構成例である。
【図８】本発明に係る２線式シリアルデータ転送制御装置の動作例を示す図である。
【図９】本発明に係る２線式シリアルデータ転送制御方法を説明するためのフローチャートの一例である。
【図１０】一般に用いられている２線式シリアルデータ転送装置である。
【図１１】２線式シリアルデータ転送(フィリップス社が提唱するI2C仕様)でデータ転送を行なうシステムの構成例である。
【図１２】マスタ装置の一般的な構成例である。
【発明を実施するための形態】
【００２６】
本発明の実施の形態について図面を参照して説明する。
図１１に２線式シリアルデータ転送(フィリップス社が提唱するI2C仕様)でデータ転送を行なうシステムの構成例を示し、図１２にマスタ装置の一般的な構成例を示し、図１に本発明に係る２線式シリアルデータ転送制御装置に用いられるマスタ装置の一実施の形態を示す。
【００２７】
＜構  成＞
図１１では、M201はマスタ装置を示し、S201〜S203はスレーブ装置１〜３を示しており、各装置M201、S201〜S203は、201(SCL)、202(SDA)で示すクロックライン、及びシリアルデータラインで接続されている。
【００２８】
本構成例では、スレーブ装置１〜３(S201〜S203)の記憶装置部は0000h〜7FFFhのアドレス空間(32kワード)を持ち、スレーブ装置１〜３(S201〜S203)の記憶装置部(図示せず)を連続アドレスの空間(00000h〜07FFFh、08000h〜0FFFFh、10000h〜17FFFh)で取り扱えるシステム構成とする。
【００２９】
なお、各スレーブ装置１〜３(S201〜S203)の記憶装置部のアドレス空間、スレーブ装置の総数は限定されるものでは無い。
【００３０】
図１２は、マスタ装置の一般に用いられている構成例を示し、その主要構成として301のプロセッサ、302のプログラムメモリ、303の２線式シリアルデータ転送制御装置を含む。
また303の２線式シリアルデータ転送制御装置は、304の送受信設定装置、305のメモリアドレス設定装置、306のスレーブアドレス設定装置を含んでいる。
307は２線式シリアルデータ転送シーケンス装置であり、プロセッサ301からの処理を介さない自走によるシリアルデータ転送プロトコルの開始(リセット解除後など)、プロセッサ301を介してのシリアルデータ転送プロトコルの開始、終了が可能な装置である。プロセッサ301からの命令308(SCL)、309(SDA)は２線式シリアルデータ転送でのクロックライン、及びシリアルデータラインを示す。
【００３１】
＜比較例＞
以下、一般の技術による説明を行なう。
図１２に示したマスタ装置は、２線式シリアルデータ転送シーケンス装置307に対して転送開始時の情報を与えるために、プログラムメモリ302に格納されたプログラムを介して、送受信設定、メモリアドレス設定、スレーブアドレス設定を行なう。この設定を元にシリアルデータ転送が開始されることになる。
【００３２】
例えば次の様なデータ転送を行なう場合、
(1)スレーブ装置１(スレーブアドレスを「0000001b」とする)のメモリアドレス0010hからデータ受信
(2)スレーブ装置２(スレーブアドレスを「0000010b」とする)のメモリアドレス0020hからデータ受信
(3)スレーブ装置３(スレーブアドレスを「0000011b」とする)のメモリアドレス0030hからデータ受信
(4)スレーブ装置１(スレーブアドレスを「0000001b)とする)のメモリアドレス0110hからデータ受信
(5)スレーブ装置２(スレーブアドレスを「0000010b」とする)のメモリアドレス0120hからデータ受信
【００３３】
(6)スレーブ装置３(スレーブアドレスを「0000011b」とする)のメモリアドレス0130hからデータ受信
(7)スレーブ装置１(スレーブアドレスを「0000001b」とする)のメモリアドレス0210hからデータ受信
(8)スレーブ装置２(スレーブアドレスを「0000010b」とする)のメモリアドレス0220hからデータ受信
(9)スレーブ装置３(スレーブアドレスを「0000011b」とする)のメモリアドレス0230hからデータ受信
(10)スレーブ装置１(スレーブアドレスを「0000001b」とする)のメモリアドレス0310hからデータ受信
【００３４】
(11)スレーブ装置２(スレーブアドレスを「0000010b」とする)のメモリアドレス0320hからデータ受信
(12)スレーブ装置３(スレーブアドレスを「0000011b」とする)のメモリアドレス0330hからデータ受信
(13)スレーブ装置１(スレーブアドレスを「0000001b」とする)のメモリアドレス0410hからデータ受信
(14)スレーブ装置２(スレーブアドレスを「0000010b」とする)のメモリアドレス0420hからデータ受信
(15)スレーブ装置３(スレーブアドレスを「0000011b」とする)のメモリアドレス0430hからデータ受信
【００３５】
(16)スレーブ装置１(スレーブアドレスを「0000001b」とする)のメモリアドレス0510hからデータ受信
(17)スレーブ装置２(スレーブアドレスを「0000010b」とする)のメモリアドレス0520hからデータ受信
(18)スレーブ装置３(スレーブアドレスを「0000011b」とする)のメモリアドレス0530hからデータ受信
【００３６】
プロセッサの処理としては、以下の５４個の命令をプログラムメモリに格納する必要がある。
(1-1)：プロセッサを介して送受信設定装置に受信設定を行なう
(1-2)：プロセッサを介してメモリアドレス設定装置に「0010h」の設定を行なう
(1-3)：プロセッサを介してスレーブアドレス設定装置に「0000001b」の設定を行なう
【００３７】
(2-1)：プロセッサを介して送受信設定装置に受信設定を行なう
(2-2)：プロセッサを介してメモリアドレス設定装置に「0020h」の設定を行なう
(2-3)：プロセッサを介してスレーブアドレス設定装置に「0000010b」の設定を行なう
【００３８】
(3-1)：プロセッサを介して送受信設定装置に受信設定を行なう
(3-2)：プロセッサを介してメモリアドレス設定装置に「0030h」の設定を行なう
(3-3)：プロセッサを介してスレーブアドレス設定装置に「0000011b」の設定を行なう
【００３９】
(4-1)：プロセッサを介して送受信設定装置に受信設定を行なう
(4-2)：プロセッサを介してメモリアドレス設定装置に「0110h」の設定を行なう
(4-3)：プロセッサを介してスレーブアドレス設定装置に「0000001b」の設定を行なう
【００４０】
(5-1)：プロセッサを介して送受信設定装置に受信設定を行なう
(5-2)：プロセッサを介してメモリアドレス設定装置に「0120h」の設定を行なう
(5-3)：プロセッサを介してスレーブアドレス設定装置に「0000010b」の設定を行なう
【００４１】
(6-1)：プロセッサを介して送受信設定装置に受信設定を行なう
(6-2)：プロセッサを介してメモリアドレス設定装置に「0130h」の設定を行なう
(6-3)：プロセッサを介してスレーブアドレス設定装置に「0000011b」の設定を行なう
【００４２】
(7-1)：プロセッサを介して送受信設定装置に受信設定を行なう
(7-2)：プロセッサを介してメモリアドレス設定装置に「0210h」の設定を行なう
(7-3)：プロセッサを介してスレーブアドレス設定装置に「0000001b」の設定を行なう
【００４３】
(8-1)：プロセッサを介して送受信設定装置に受信設定を行なう
(8-2)：プロセッサを介してメモリアドレス設定装置に「0220h」の設定を行なう
(8-3)：プロセッサを介してスレーブアドレス設定装置に「0000010b」の設定を行なう
【００４４】
(9-1)：プロセッサを介して送受信設定装置に受信設定を行なう
(9-2)：プロセッサを介してメモリアドレス設定装置に「0230h」の設定を行なう
(9-3)：プロセッサを介してスレーブアドレス設定装置に「0000011b」の設定を行なう
【００４５】
(10-1)：プロセッサを介して送受信設定装置に受信設定を行なう
(10-2)：プロセッサを介してメモリアドレス設定装置に「0310h」の設定を行なう
(10-3)：プロセッサを介してスレーブアドレス設定装置に「0000001b」の設定を行なう
【００４６】
(11-1)：プロセッサを介して送受信設定装置に受信設定を行なう
(11-2)：プロセッサを介してメモリアドレス設定装置に「0320h」の設定を行なう
(11-3)：プロセッサを介してスレーブアドレス設定装置に「0000010b」の設定を行なう
【００４７】
(12-1)：プロセッサを介して送受信設定装置に受信設定を行なう
(12-2)：プロセッサを介してメモリアドレス設定装置に「0330h」の設定を行なう
(12-3)：プロセッサを介してスレーブアドレス設定装置に「0000011b」の設定を行なう
【００４８】
(13-1)：プロセッサを介して送受信設定装置に受信設定を行なう
(13-2)：プロセッサを介してメモリアドレス設定装置に「0410h」の設定を行なう
(13-3)：プロセッサを介してスレーブアドレス設定装置に「0000001b」の設定を行なう
【００４９】
(14-1)：プロセッサを介して送受信設定装置に受信設定を行なう
(14-2)：プロセッサを介してメモリアドレス設定装置に「0420h」の設定を行なう
(14-3)：プロセッサを介してスレーブアドレス設定装置に「0000010b」の設定を行なう
【００５０】
(15-1)：プロセッサを介して送受信設定装置に受信設定を行なう
(15-2)：プロセッサを介してメモリアドレス設定装置に「0430h」の設定を行なう
(15-3)：プロセッサを介してスレーブアドレス設定装置に「0000011b」の設定を行なう
【００５１】
(16-1)：プロセッサを介して送受信設定装置に受信設定を行なう
(16-2)：プロセッサを介してメモリアドレス設定装置に「0510h」の設定を行なう
(16-3)：プロセッサを介してスレーブアドレス設定装置に「0000001b」の設定を行なう
【００５２】
(17-1)：プロセッサを介して送受信設定装置に受信設定を行なう
(17-2)：プロセッサを介してメモリアドレス設定装置に「0520h」の設定を行なう
(17-3)：プロセッサを介してスレーブアドレス設定装置に「0000010b」の設定を行なう
【００５３】
(18-1)：プロセッサを介して送受信設定装置に受信設定を行なう
(18-2)：プロセッサを介してメモリアドレス設定装置に「0530h」の設定を行なう
(18-3)：プロセッサを介してスレーブアドレス設定装置に「0000011b」の設定を行なう
【００５４】
＜構  成＞
次に、本発明に係る実施の形態について説明を行なう。
図１は、本発明に係る２線式シリアルデータ転送制御装置に用いられるマスタ装置の構成例を示し、その主要構成としてプロセッサ401、プログラムメモリ402、及び２線式シリアルデータ転送制御装置403を含む。また２線式シリアルデータ転送制御装置403は、送受信設定装置404、メモリアドレス設定装置405、及びスレーブアドレス選択装置406を含む。408(SCL)、409(SDA)は２線式シリアルデータ転送でのクロックライン、シリアルデータラインを示す。
【００５５】
図１に示したマスタ装置は、２線式シリアルデータ転送シーケンス装置に対して転送開始時の情報を与えるために、プログラムメモリ402に格納されたプログラムを介して、送受信設定、メモリアドレス設定を行なう。スレーブアドレス設定についてはスレーブアドレス選択装置406からの情報が２線式シリアルデータ転送シーケンス装置に対して与えられることとなる。
【００５６】
＜スレーブアドレス選択装置＞
ここで、スレーブアドレス選択装置406について説明を行なう。
図１１のシステム構成において説明した通り、複数からなるスレーブ装置S201〜S203の記憶装置部のアドレス空間が連続した空間としているシステム構成であることから、スレーブアドレス選択装置406は、連続したアドレス空間上のメモリアドレスから任意のアドレスを設定することによりデータ転送の対象となるスレーブ装置が決定できる装置である。
つまり、
メモリアドレスが「00000h〜07FFFh」であればスレーブ装置１であるスレーブアドレス「0000001b」、
メモリアドレスが「08000h〜0FFFFh」であればスレーブ装置２であるスレーブアドレス「0000010b」、
メモリアドレスが「10000h〜17FFFh」であればスレーブ装置３であるスレーブアドレス「0000011b」
を選択的に２線式シリアルデータ転送シーケンス装置に与えることが可能な装置である。
【００５７】
例えば次の様なデータ転送を行なう場合での本発明での具体的な技術例を図２（ａ）、（ｂ）、図３を参照して挙げて説明する。
【００５８】
(1)'メモリアドレス「00010h」からデータ受信
(2)'メモリアドレス「08020h」からデータ受信
(3)'メモリアドレス「10030h」からデータ受信
(4)'メモリアドレス「00110h」からデータ受信
(5)'メモリアドレス「08120h」からデータ受信
【００５９】
(6)'メモリアドレス「10130h」からデータ受信
(7)'メモリアドレス「00210h」からデータ受信
(8)'メモリアドレス「08220h」からデータ受信
(9)'メモリアドレス「10230h」からデータ受信
(10)'メモリアドレス「00310h」からデータ受信
【００６０】
(11)'メモリアドレス「08320h」からデータ受信
(12)'メモリアドレス「10330h」からデータ受信
(13)'メモリアドレス「00410h」からデータ受信
(14)'メモリアドレス「08420h」からデータ受信
(15)'メモリアドレス「10430h」からデータ受信
【００６１】
(16)'メモリアドレス「00510h」からデータ受信
(17)'メモリアドレス「08520h」からデータ受信
(18)'メモリアドレス「10530h」からデータ受信
【００６２】
＜スレーブアドレス選択信号生成装置＞
図２（ａ）、（ｂ）にスレーブアドレス選択信号生成装置(507)を示した。
501は、図１のメモリアドレス設定装置405と同じメモリアドレス設定装置である。502、503は１つのスレーブ装置の記憶装置部の連続なるアドレス空間上の下限アドレスと上限アドレスとを設定する装置である。504、505は演算器であり、アドレス設定値と上限アドレス設定値、及びアドレス設定値と下限アドレス設定値についてそれぞれ範囲内か範囲外かを検知する。さらに論理回路506において両者の検知結果からアドレス設定値が上限アドレス設定値から下限アドレス設定値の範囲内にあるか否かを検出し、その結果をスレーブアドレス選択信号として出力する。
【００６３】
例えば、上限アドレス設定値を「07FFFh」とし、下限アドレス設定値を「00000h」とした場合、アドレス設定値が「00010h」の場合は範囲内にあることから、スレーブアドレス選択信号の出力は“１”となり、アドレス設定値が「08020h」の場合は上限アドレス設定値を超えることからスレーブアドレス選択信号の出力は“０”となる。なお演算器はアドレスの全ビットを用いる必要は無いことは明らかで、必要なビットのみでの演算すなわちこの例では有効ビット上位２ビットを対象とすることでスレーブアドレス選択信号の決定が可能となる。
【００６４】
図２（ｂ）にこの場合での実施の形態を示す。
構成は図２（ａ）と同じとするが、図２（ａ）における上限アドレス設定装置(502)及び下限アドレス設定装置(503)の機能をアドレス上/下限装置(502b)が有する。
【００６５】
＜スレーブアドレス生成装置＞
図３に本発明に係る２線式シリアルデータ転送制御装置に用いられるスレーブアドレス生成装置(608)の一構成例を示した。
601は、図１に示したメモリアドレス設定装置405と同様のメモリアドレス設定装置である。602、603、604は図２（ａ）に示したスレーブアドレス選択信号生成装置507と同様の装置である。605、606、607は各スレーブ装置のスレーブアドレス設定装置である。607はスレーブアドレス選択信号からスレーブアドレスを選択出力する選択器である。さらに具体的な例として図４を参照して説明する。
【００６６】
＜動  作  １＞
図４は、図３に示したスレーブアドレス生成装置608の動作を説明するための説明図である。
図４において、712は図３に示したスレーブアドレス生成装置608と同様のスレーブアドレス生成装置である。
701はアドレス設定装置であり、その上位２bitがスレーブアドレス選択信号生成装置604で使用される。
702、703、704はアドレス上/下限設定値であり、705、706、707は図２（ａ）のアドレス設定装置501と同様の機能を有するスレーブアドレス選択信号生成装置である。708、709、710はスレーブ装置１〜３(S201〜S203)に対応するスレーブアドレス設定値、711、712、713は705、706、707からのスレーブアドレス選択信号出力、714は図３に示した選択器607と同様の機能を有する選択器であり、スレーブアドレスが選択出力(715)される。
【００６７】
＜動  作  ２＞
図５に本発明に係る２線式シリアルデータ転送制御装置に用いられるスレーブアドレス生成装置712の動作を説明する説明図を示した。
アドレス設定値の上位２ビットがいずれのアドレス上/下限設定値内に入るかを示し、その時に選択出力されるスレーブアドレスがスレーブ装置１〜３(S201〜S203)のいずれのスレーブアドレスを出力するかを記載した。例えばアドレス設定値(全13bit)＝00010hならばその上位２ビットは「00b」であることから、上限、下限ともに「00b」に当てはまることからスレーブ装置１のアドレス範囲内にあることとなり、選択器714からのスレーブアドレス出力はスレーブ装置１のスレーブアドレスである「0000001b」となる。
【００６８】
この技術により先の(1)〜(18)に対するプロセッサ処理は、
(A-1)：プロセッサを介してスレーブアドレス設定装置(708)に「0000001b」の設定を行なう
(A-2)：プロセッサを介してスレーブアドレス設定装置(709)に「0000010b」の設定を行なう
(A-3)：プロセッサを介してスレーブアドレス設定装置(710)に「0000011b」の設定を行なう
【００６９】
(B-1)：プロセッサを介してアドレス上/下限設定装置(702)に「00b」の設定を行なう
(B-2)：プロセッサを介してアドレス上/下限設定装置(703)に「01b」の設定を行なう
(B-3)：プロセッサを介してアドレス上/下限設定装置(704)に「10b」の設定を行なう
【００７０】
(1-1)：プロセッサを介して送受信設定装置に受信設定を行なう
(1-2)：プロセッサを介してメモリアドレス設定装置に「00010h」の設定を行なう
【００７１】
(2-1)：プロセッサを介して送受信設定装置に受信設定を行なう
(2-2)：プロセッサを介してメモリアドレス設定装置に「08020h」の設定を行なう
【００７２】
(3-1)：プロセッサを介して送受信設定装置に受信設定を行なう
(3-2)：プロセッサを介してメモリアドレス設定装置に「10030h」の設定を行なう
【００７３】
(4-1)：プロセッサを介して送受信設定装置に受信設定を行なう
(4-2)：プロセッサを介してメモリアドレス設定装置に「00110h」の設定を行なう
【００７４】
(5-1)：プロセッサを介して送受信設定装置に受信設定を行なう
(5-2)：プロセッサを介してメモリアドレス設定装置に「08120h」の設定を行なう
【００７５】
(6-1)：プロセッサを介して送受信設定装置に受信設定を行なう
(6-2)：プロセッサを介してメモリアドレス設定装置に「10130h」の設定を行なう
【００７６】
(7-1)：プロセッサを介して送受信設定装置に受信設定を行なう
(7-2)：プロセッサを介してメモリアドレス設定装置に「00210h」の設定を行なう
【００７７】
(8-1)：プロセッサを介して送受信設定装置に受信設定を行なう
(8-2)：プロセッサを介してメモリアドレス設定装置に「08220h」の設定を行なう
【００７８】
(9-1)：プロセッサを介して送受信設定装置に受信設定を行なう
(9-2)：プロセッサを介してメモリアドレス設定装置に「10230h」の設定を行なう
【００７９】
(10-1)：プロセッサを介して送受信設定装置に受信設定を行なう
(10-2)：プロセッサを介してメモリアドレス設定装置に「00310h」の設定を行なう
【００８０】
(11-1)：プロセッサを介して送受信設定装置に受信設定を行なう
(11-2)：プロセッサを介してメモリアドレス設定装置に「08320h」の設定を行なう
【００８１】
(12-1)：プロセッサを介して送受信設定装置に受信設定を行なう
(12-2)：プロセッサを介してメモリアドレス設定装置に「10330h」の設定を行なう
【００８２】
(13-1)：プロセッサを介して送受信設定装置に受信設定を行なう
(13-2)：プロセッサを介してメモリアドレス設定装置に「00410h」の設定を行なう
【００８３】
(14-1)：プロセッサを介して送受信設定装置に受信設定を行なう
(14-2)：プロセッサを介してメモリアドレス設定装置に「08420h」の設定を行なう
【００８４】
(15-1)：プロセッサを介して送受信設定装置に受信設定を行なう
(15-2)：プロセッサを介してメモリアドレス設定装置に「10430h」の設定を行なう
【００８５】
(16-1)：プロセッサを介して送受信設定装置に受信設定を行なう
(16-2)：プロセッサを介してメモリアドレス設定装置に「00510h」の設定を行なう
【００８６】
(17-1)：プロセッサを介して送受信設定装置に受信設定を行なう
(17-2)：プロセッサを介してメモリアドレス設定装置に「08520h」の設定を行なう
【００８７】
(18-1)：プロセッサを介して送受信設定装置に受信設定を行なう
(18-2)：プロセッサを介してメモリアドレス設定装置に「10530h」の設定を行なう
【００８８】
以上より、プロセッサの処理としては４２個の命令をプログラムメモリに格納する必要がある。
この結果より一般の技術例よりもプログラムメモリに格納すべきプログラムが減っていることがわかる。この技術により一般の技術で必要とされてきた２線式シリアルデータ転送が開始されるごとに必要であったスレーブアドレス設定のためのプログラム準備が不要となり、プログラム準備のために必要な記憶装置は減り、さらにプロセッサ処理にかかる時間も減ることとなる。
【００８９】
続いて、スレーブ装置とのシリアルデータ転送中にスレーブ装置のメモリアドレス空間の上限を超えた場合、２線式シリアルデータ転送を終了させる手段(シーケンス装置908)、そのメモリアドレスから次の転送相手となるスレーブアドレスを生成し、連続したアドレス空間からのシリアルデータ転送を再開させるための手段(シーケンス装置908)についての実施の形態を図６、７に示した。
【００９０】
図６は、本発明に係る２線式シリアルデータ転送制御装置に用いられるマスタ装置の他の構成例である。
図６において、903は２線式シリアルデータ転送制御装置であり、901はプロセッサである。902はプログラムメモリであり、904はメモリアドレス設定装置である。905は転送数カウンタであり、906は上限アドレス設定値である。907は比較器であり、908は２線式シリアルデータ転送シーケンス装置である。909、910は２線式シリアル転送用のクロックライン(SCL)及びシリアルデータライン(SDA)である。
【００９１】
上限アドレス設定装置への設定はプロセッサを介して行なわれ、例えばスレーブ装置１(S201)のアドレス空間は「00000-07FFFh」であることから設定値は「07FFFh」となる。なおこの設定はシステム構成が変わらないことから、１度の設定で良いこととなる。
【００９２】
メモリアドレス設定装置への設定もプロセッサを介して行なわれるが、この設定は転送プロトコル開始ごとに設定が必要である。
例としてメモリアドレス設定値が「00010h」として説明する。
【００９３】
２線式シリアルデータ転送が開始される前に、メモリアドレス設定値は転送数カウンタ905へロードされる。このロード値またはカウンタ値がメモリアドレス912としてシーケンス装置908で使用される。
【００９４】
一般的には２線式シリアルデータ転送が開始されるとシーケンス装置908はシリアルデータ送信や受信動作に対して、転送データの単位である１バイト中のあるビット目のデータが送信されたことや１バイトデータが送信されたこと、１バイト中のあるビット目を受信したことや１バイトデータの受信が終わったことなどをプロセッサに知らせる手段を有する。
【００９５】
この通知を元にプロセッサを介して送信データの準備や受信データの退避が行われる。この手段を利用して１バイトが転送されるごとに転送数カウンタをカウントアップするための信号を転送データ検出クロック911として示した。このカウント値と上限アドレス設定値906を比較器907で比較し、一致すれば上限アドレスまでの転送が完了したこととなり、転送プロトコル終了信号913としてシーケンス装置908に通知する。シーケンス装置908はこの信号から現在の転送プロトコルを終了させるための動作を行なうように回路化されているものとなる。
【００９６】
なお、上限アドレスとのデータ転送終了後にシーケンス装置に転送プロトコル終了信号を通知しても、シーケンス装置908が次のデータ転送を開始する制御に移っている場合などは、カウンタ値またはアドレス設定値の変更を行なっておく手段を持つことで、シーケンス装置908の制御に合わせて転送プロトコル終了信号を発生することも可能である。
【００９７】
シーケンス装置は、転送プロトコル終了信号を受け取った後、現在のプロトコルを終了させる様に回路化され、このシーケンスに含まれる動作として転送プロトコルを開始する様に回路化されている。
【００９８】
アドレス設定値904である「00010h」が転送数カウンタ905にロードされたことで、「00010h」はシーケンス装置908に入力される。スレーブアドレスの生成は先述の図４での動作で行われるものとする。
【００９９】
シリアルデータ転送開始に当たってのスレーブアドレスとメモリアドレスはこの手段によるものとなる。転送が開始されると、ある決まったタイミングで転送データ検出クロック911が発行され、転送カウンタ905がカウントアップされる。カウントアップ値は転送中または転送したアドレスを指し、このカウンタ値(アドレス値)と上限アドレス値とが比較器907により比較される。カウンタ値が上限アドレス値「07FFFh」となれば比較器907は転送プロトコル終了信号をシーケンス装置908に通知し、シーケンサ装置908はこの信号を元に転送プロトコルを終了する動作に移ることとなる。
【０１００】
図７は、本発明に係る２線式シリアルデータ転送制御装置に用いられるマスタ装置の他の構成例である。
図７において、1003は２線式シリアルデータ転送制御装置であり、1001はプロセッサである。1002はプログラムメモリであり、1004はメモリアドレス設定装置である。1005は転送数カウンタであり、1006は転送データ検出クロック信号である。1007はメモリアドレスであり、1008は２線式シリアルデータ転送シーケンス装置である。1009、1010は２線式シリアル転送用のクロックライン(SCL)及びシリアルデータライン(SDA)である。
【０１０１】
1020、1021、1022は図４に示した705、708、711と同様の構成を有し、1030、1031、1032は図４に示した706、709、711と同様の構成を示す。1040、1041、1042は図４に示した707、710、713と同様の構成を示し、1023、1024、1025、(1033、1034、1035)、(1043、1044、1045)は図６に示した906、907、913と同様の構成を示す。
【０１０２】
＜動  作  ３＞
引き続き動作の説明を行う。
先述の図６の動作説明による転送プロトコル終了後にシーケンス装置は次のプロトコル開始動作に移行するようにシーケンス制御されているものとする。
このプロトコル開始前には、スレーブアドレス、メモリアドレス発行のための準備が必要であるが、本発明ではソフトウェアによる準備では無く、先のプロトコル終了判定に用いたカウンタからの値を使用して、メモリアドレス、スレーブアドレスの準備を行なうこととなる。
【０１０３】
図８は、本発明に係る２線式シリアルデータ転送制御装置の動作例を示す図である。
図８において、シリアルデータ転送が続きカウンタ値が「07FFFh」になったことで上限アドレス設定値と一致し、転送プロトコル終了信号がシーケンス装置に通知されシリアルデータ転送は終了する。
ここで次のスレーブ装置との開始に当たり、シーケンス装置はカウンタ値を１つカウントアップし「08000h」となる。この値は次のシリアルデータ転送を行うスレーブ装置の開始メモリアドレス(連続したアドレス空間としてのアドレスであり、転送プロトコル上でのメモリアドレスはこの場合「0000h」)になる。
【０１０４】
また先述の図４の説明と同様にこのメモリアドレスを使ってスレーブアドレスが決定される手段を持つことから、スレーブアドレス、メモリアドレスの準備が整うこととなり、スレーブ装置２へのシリアルデータ転送が開始される。さらにシリアルデータ転送が続きカウンタ値が「0FFFFh」になったことで上限アドレス設定値と一致し、転送プロトコル終了信号がシーケンス装置に通知されシリアルデータ転送は終了する。
【０１０５】
ここで次のスレーブ装置との開始に当たり、シーケンス装置はカウンタ値を１つカウントアップし「10000h」となる。この値は次のシリアルデータ転送を行うスレーブ装置の開始メモリアドレス(連続したアドレス空間としてのアドレスであり、転送プロトコル上でのメモリアドレスはこの場合「0000h」)になる。同様にこのメモリアドレスを使ってスレーブアドレスが決定される手段を持つことから、スレーブアドレス、メモリアドレスの準備が整うこととなり、スレーブ装置３へのシリアルデータ転送が開始される。
【０１０６】
また、アドレス設定値の初期値を０番地になるように設定し、上限メモリアドレス設定値の初期値をそのシステムで使用するスレーブ装置の上限アドレスとなるように回路化しておくことで、プロセッサの処理を介すことなく連続してスレーブ装置からの転送が可能となる。
【０１０７】
これは例えばスレーブ装置に一般的なI2C-EEPROMをブート用デバイスとして構成し、システムで用いるプロセッサの処理プログラムが１つのI2C-EEPROMの容量を越えるプログラムが必要である場合、すなわち複数のI2C-EEPROMが必要となる場合、ブート用のソフトウェアが必要となり本来のシステム用のソフトウェア以外に別途ブート用のソフトウェアが必要となり、この例ではブートデバイス(I2C-EEPROM)の容量が増加することとなる。
しかし本発明に係る２線式シリアルデータ転送制御装置ではプロセッサを介さずに複数のスレーブ装置からの連続してデータ転送が可能となることから、ブート専用のソフトウェアは不要となり、ブートデバイスの増加は発生しないこととなる。
【０１０８】
図９は、本発明に係る２線式シリアルデータ転送制御方法を説明するためのフローチャートの一例である。
動作の主体はマスタ装置(実質的にはシーケンス装置)である。
まず、マスタ装置は、シリアルデータ転送中か否かを判断し（ステップＳ１）、シリアルデータ転送中でないと判断した場合は待機し（ステップＳ１／Ｎｏ）、シリアルデータ転送中であると判断した場合はステップＳ２に進む（ステップＳ１／Ｙｅｓ）。
マスタ装置は、ステップＳ２にて、シリアルデータの転送中にスレーブ装置のメモリアドレス空間の上限を超えたか否かを判断する。マスタ装置は、シリアルデータの転送量がメモリアドレス空間の上限を超えていないと判断した場合にはそのまま転送し（ステップＳ２／Ｎｏ）、シリアルデータの転送量がメモリアドレス空間の上限を超えたと判断した場合（ステップＳ２／Ｙｅｓ）、２線式シリアルデータ転送を終了させる（ステップＳ３）。
マスタ装置は、スレーブ装置のメモリアドレスから、次の転送相手となるスレーブアドレスを生成する（ステップＳ４）。
マスタ装置は、連続したアドレス空間からのシリアルデータ転送を再開させる（ステップＳ４）。
【０１０９】
＜プログラム＞
以上で説明した本発明にかかる２線式シリアルデータ転送制御装置は、コンピュータで処理を実行させるプログラムによって実現されている。コンピュータとしては、例えばパーソナルコンピュータやワークステーションなどの汎用的なものが挙げられるが、本発明はこれに限定されるものではない。よって、一例として、プログラムにより本発明を実現する場合の説明を以下で行う。
【０１１０】
例えば、図９、１０に示すフローチャートにおいて、
マスタ装置に２線式シリアルデータ転送手段で接続される１つ以上のスレーブ装置を含み、１つ以上のスレーブ装置からなるアドレス空間を１つのアドレス空間とする２線式シリアルデータ転送制御システム装置の２線式シリアルデータ転送制御用のプログラムであって、
アクセスを開始するアドレスから転送相手となるスレーブアドレスを生成するため、
コンピュータに、
(a)マスタ装置が、マスタ装置とスレーブ装置とのシリアルデータ転送中にスレーブ装置のメモリアドレス空間の上限を超えたか否かを判断する手順、
(b)マスタ装置が、上限を超えた場合に２線式シリアルデータ転送を終了させる手順、
(c)マスタ装置が、メモリアドレスから、次の転送相手となるスレーブアドレスを生成させる手順、
(d)マスタ装置が、連続したアドレス空間からのシリアルデータ転送を再開させる手順、
を実行させるプログラムが挙げられる。
これにより、プログラムが実行可能なコンピュータ環境さえあれば、どこにおいても本発明にかかる装置を実現することができる。
このようなプログラムは、コンピュータに読み取り可能な記憶媒体に記憶されていてもよい。
【０１１１】
＜記憶媒体＞
ここで、記憶媒体としては、例えば、CD-ROM（Compact Disc Read Only Memory）、フレキシブルディスク（FD）、CD-R（CD Recordable）などのコンピュータで読み取り可能な記憶媒体、フラッシュメモリ、RAM（Random Access Memory）、ROM（Read Only Memory）、FeRAM（強誘電体メモリ）等の半導体メモリやHDD（Hard Disc Drive）が挙げられる。
【０１１２】
＜作用効果＞
本実施形態によれば、２線式シリアルデータ転送手段で接続されるマスタ装置と１つ以上のスレーブ装置とで構成されるシリアルデータ転送システム装置であり、１つ以上のスレーブ装置からなるアドレス空間を１つのアドレス空間とするシステム装置において、マスタ装置は、アクセスを開始するアドレスから転送相手となるスレーブアドレスを生成する手段を有するので、２線式シリアルデータ転送プロトコル上に必要なスレーブアドレス値を発行するためのソフトウェア準備が不要となり、ソフトウェア記憶装置を削減することが可能となる。またこのことからプロセッサ処理の負担が減ることとなりプロセッサ処理時間が短縮できる。
【０１１３】
また、本実施形態によれば、スレーブ装置とのシリアルデータ転送中にスレーブ装置のメモリアドレス空間の上限を超えた場合、２線式シリアルデータ転送を終了させる手段(シーケンス装置)を有し、そのメモリアドレスから、次の転送相手となるスレーブアドレスを生成し、連続したアドレス空間からのシリアルデータ転送を再開させるための手段(シーケンス装置)を有するので、スレーブ装置のアドレス境界を検知してプロトコルの終了が可能となり、さらに次のスレーブ装置への転送開始が自動化されることから、プロセッサにかかっていたこれら一連の処理を軽減することが可能となりプロセッサ処理時間が短縮できる。
【０１１４】
さらにこのプロセッサ処理のためのソフトウェアを準備することが不要となり、プロセッサのためのソフトウェア記憶装置を減少させることが可能となる。
【０１１５】
なお、上述した実施の形態は、本発明の好適な実施の形態の一例を示すものであり、本発明はそれに限定されることなく、その要旨を逸脱しない範囲内において、種々変形実施が可能である。
【符号の説明】
【０１１６】
４０１    プロセッサ
４０２    プログラムメモリ
４０３    ２線式シリアルデータ転送制御装置
４０４    送受信設定装置
４０６    スレーブアドレス選択装置
４０７    ２線式シリアルデータ転送シーケンス装置
４０８    クロックライン
４０９    シリアルデータライン
【先行技術文献】
【特許文献】
【０１１７】
【特許文献１】特開２００８−１３５８４０号公報
【特許文献２】特開平１１−１２６１７８号公報
【図１】
2011109515.tif 000003
【図２】
2011109515.tif 000004
【図３】
2011109515.tif 000005
【図４】
2011109515.tif 000006
【図５】
2011109515.tif 000007
【図６】
2011109515.tif 000008
【図７】
2011109515.tif 000009
【図８】
2011109515.tif 000010
【図９】
2011109515.tif 000011
【図１０】
2011109515.tif 000012
【図１１】
2011109515.tif 000013
【図１２】
2011109515.tif 000014