(57)【特許請求の範囲】
【請求項１】
制御側デバイスと、レジスタデバイスと、複数の被制御側デバイスとがシリアルバスを介して相互に接続され、前記制御側デバイスが一連の複数の制御命令を前記レジスタデバイスを介して、前記複数の被制御側デバイスにシリアル転送する際のシリアル転送制御方法において、
前記一連の複数の制御命令を、各制御命令の内容に基づいて、前記レジスタデバイス内の同一レジスタにシリアル転送可能な制御命令が存在した際には、制御側デバイスが前記レジスタデバイス内の同一レジスタへの転送可否を判定し、
前記判定された制御命令を基準にして前記一連の複数の制御命令を再配置し、前記再配置した複数の制御命令を前記同一レジスタにシリアル転送することを特徴とするシリアル転送制御方法。
【請求項２】
前記レジスタデバイス内の同一レジスタφに作用する、前記複数の制御命令に処理手順上はさまれた位置に存在する、レジスタδに作用する制御命令を、レジスタφの遷移状態の間にはさみ込むように再配置し、
前記制御側デバイスが発信する１つのチップアドレスに属する前記一連の制御命令として、前記シリアルバスに転送することを特徴とする請求項１記載のシリアル転送制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、シリアル転送制御方法に関する。
【０００２】
【従来の技術】
例えば、アンプ、チューナ、コンパクトディスクプレーヤ等が一体化されているオーディオ装置において、コンパクトディスク再生中に、アンプに備え付けられたセレクタスイッチによって、チューナへ切り替える動作をユーザが行う際、メカニカルなスイッチ機構によって切り替えを行うと、ノイズが発生し、回路に影響を及ぼすことが知られている。
【０００３】
そこで従来、コンパクトディスクプレーヤやチューナといったデバイスのＩ／Ｏ切り替えを含む制御全体をマイコンで行っており、具体的には以下に示すマイコン制御用のプログラムによって実施されている場合が多い。
【０００４】
１.コンパクトディスクプレーヤに接続している出力チャンネル上のボリュームをミュート（無音状態）する。
２.コンパクトディスクプレーヤに接続されていた出力チャンネルをチューナへ切り替える。
３．出力チャンネル上のボリュームのミュートを解除する。
【０００５】
これらのオーディオ機器における制御手順はマイコンおよび周辺チップ間を接続するシリアルバスを介して実施されている。
【０００６】
従来のマイコンおよび周辺チップ等を含むＩＣチップにおいては、チップアドレスとＩＣが１対１対応であり、同様に一つのレジスタとそれに係るサブアドレスおよびデータバイトも１対１の対応をなしている。
【０００７】
従来のシリアルバスを用いたシリアル制御において、前例のような“出力チャンネルのボリュームのミュート→ミュートの解除”といった、ネスティング（入れ子構造）とされるべき処理を実行させた場合、シリアルバス上のデータ転送を少なくとも２回以上行う必要があった。
【０００８】
前記の“ミューティング→スイッチ切り替え→ミューティング解除”の例を一般論に言い換えれば、
【０００９】
１．レジスタφの設定を
データバイトＤＢφによって      １→０に設定し・・・処理１
２．レジスタｎ＋１の設定を
データバイトＤＢδによって      ０→１に設定し・・・処理２
３．レジスタφの設定を
データバイトＤＢｎ＋１によって  ０→１に戻す  ・・・処理１'
の様な処理を行った場合がこれにあたる。
【００１０】
最も単純なデータ転送として考えられるケースは、
処理１、処理２、処理１'  を順次行う３回転送である。
【００１１】
または処理１と処理２を同時に行ない、処理１＋処理２、処理１'とするか、あるいは処理２と処理１'を同時に行ない、処理１、処理２＋処理１'とする２回転送が考えられる。
【００１２】
前例において、処理１と処理１'はネスティングの掛かりとなる処理であり、レジスタ（サブアドレス）とそれに係るデータバイトが１対１対応の前提においては、処理１＋処理２＋処理１'とすることは不可能である。
【００１３】
また、前例の目的とする制御を更に拡張して処理２にあたる段階が多段階であった場合や、対となる処理１と処理１'に相当する制御が重なった場合や別に存在した場合、サブアドレスの番地は増加し、目的とする処理を完了するまでに各制御データの転送が少なくとも２回以上の複数回必要なため、処理時間およびプログラミングの工数が多く掛かるのが一般的である。
【００１４】
このような特性をもったバスにＩ2Ｃｂｕｓ（登録商標）がある。
【００１５】
レジスタ：サブアドレス（データバイト）＝１：１の関係にある前記Ｉ2Ｃｂｕｓでは、原則としてチップアドレス、サブアドレス、データバイトを１セットとしてシリアルバスに転送した後に、転送終了データがシリアルバスに転送されることによって、次の制御に移行することが原則であるが、プログラミングを簡便にするために、設定データであるデータバイトだけを転送すると、自動的にサブアドレス番地が１つづつ増加して行くオートインクリメントモードという機能が実装されている。
【００１６】
しかしながら、異なるレジスタを時間軸上ずらして設定して行くという条件下においては、シリアルバスに対し複数回のデータ転送が必要となることに差異はない。
【００１７】
【発明が解決しようとする課題】
本発明の課題は、同一のレジスタに対して作用する時間軸上ずれた位置に存在する２つの特定サブアドレスおよび特定データバイト、例えばＳＡφ，ＤＢφとＳＡｎ＋１，ＤＢｎ＋１が規定されている場合、レジスタ：サブアドレス（データバイト）＝１：ｎの関係でアクセス可能に、すなわち１対多のアクセスに対応することにより、その時間軸上の中間でネスティングされるべき前記とは異なるレジスタへの単独制御の実行時における、シリアルバス上のデータ転送を１回で行うことを目的とした、シリアル制御方法を提供することである。
【００１８】
【課題を解決するための手段】
前記課題を解決するため、本発明のシリアルバス転送制御方法では、
制御側デバイスと、レジスタデバイスと、複数の被制御側デバイスとがシリアルバスを介して相互に接続され、前記制御側デバイスが一連の複数の制御命令を前記レジスタデバイスを介して、前記複数の被制御側デバイスにシリアル転送する際のシリアル転送制御方法において、
前記一連の複数の制御命令を、各制御命令の内容に基づいて、前記レジスタデバイス内の同一レジスタにシリアル転送可能な制御命令が存在した際には、制御側デバイスが前記レジスタデバイス内の同一レジスタへの転送可否を判定し、
前記判定された制御命令を基準にして前記一連の複数の制御命令を再配置し、前記再配置した複数の制御命令を前記同一レジスタにシリアル転送することを特徴としている。
【００１９】
また、前記レジスタデバイス内の同一レジスタφに作用する、前記複数の制御命令に処理手順上はさまれた位置に存在する、レジスタδに作用する制御命令を、レジスタφの遷移状態の間にはさみ込むように再配置し、
前記制御側デバイスが発信する１つのチップアドレスに属する前記一連の制御命令として、前記シリアルバスに転送することによって、より多くの工数を必要とする処理にあっても、課題の解決を可能としている。
【００２０】
【発明の実施の形態】
以下、図を参照して本発明の実施の形態を説明する。
【００２１】
図１は、本発明の基本概念を説明するための模式図である。
【００２２】
図１において、チップアドレスＣＡとＩＣが１対１対応であっても、図１に示すように２つのサブアドレスＳＡφ，データバイトＤＢφおよびサブアドレスＳＡｎ＋１，データバイトＤＢｎ＋１が１つのレジスタφに作用することが規定されている場合、異なるチップアドレスＣＡを発生させることなく、共にレジスタφにアクセスできるようにした。
【００２３】
そして、前記２つの各サブアドレスＳＡ，データバイトＤＢの発生時間軸の間に位置するサブアドレスＳＡδやＳＡｎ等で実行されるレジスタの設定を、前記ＳＡφおよびＳＡｎ＋１で設定されたレジスタφの設定状態ではさみ込むことによって、１つのチップアドレスＣＡによって転送が可能となることを示している。
【００２４】
つまり、時間軸上で順次行われることにより達成するシリアル制御を実施するにあたって、シリアルバスへのデータ転送回数が１回で完了することを示している。
【００２５】
ただし、前記の条件においてＳＡδやＳＡｎは各レジスタに対して１対１対応である。
【００２６】
また本発明との差異を明確にするために、図１で用いたサブアドレスＳＡ、データバイトＤＢを、従来技術で処理する場合を図１と比較する従来技術の基本概念を説明するための模式図として図２に示す。
【００２７】
図１と同様に、図２に示す従来の制御内容は、３つのレジスタφ，δ，ｎに対し合計４回のシリアル転送を順次行う制御の例であるが、全てのサブアドレスの前にチップアドレスＣＡが存在する点が、図１とは異なっている。
【００２８】
つまり、シリアルバスへのデータ転送回数は、前述の従来技術の説明において述べたように、最低２回、通常は３回必要であることを示している。
【００２９】
次に、構成を説明する。
図３は、本発明を適応したコンピュータシステム内における制御部および制御の作用がおよぶデバイスの要部構成を示す図である。
【００３０】
制御部４０は、Ｉ／Ｏインターフェース４３を介して接続されるデバイスＤ１からデバイスＤｎに対して入出力および各デバイス固有の動作、例えば、チューナによる指定チャンネルへのチューニング等に関する制御を行う。
【００３１】
入出力および各デバイス固有の動作に関する制御は、ローカルプログラムメモリ４２内格納されたプログラムにより実行される。
【００３２】
このプログラムは、入力部３０からのユーザの入力指示が、中央処理部２０において受信された際に、該当する処理プログラムがローカルプログラムメモリ４２から読み出されて、データ転送制御部４１に伝送され実行される。
【００３３】
データ転送制御部４１は、ローカルプログラムメモリ４２から読み出された当該処理プログラムに従って、当該処理に係るデータを順次レジスタ４４に転送する。
【００３４】
レジスタ４４は、データ転送制御部４１から転送されたデータがデバイスＤ１〜デバイスＤｎに関する入出力制御データであった場合には、Ｉ／Ｏインターフェース４３を介して該当するデバイスＤ１〜Ｄｎに伝送して、指示された処理を実行させる。
【００３５】
なお、図３では本実施の形態の説明を簡略化するために、シリアル制御プログラムをローカルプログラムメモリ４２の組み込み型プログラムの様に示したが、ハードディスクドライブ等の外部記憶装置に記憶される場合においても本発明のシリアル制御方法は適応可能である。
【００３６】
図４〜６は、図１において説明したシリアル制御の概念を、図３のコンピュータシステムに適用した場合に、具体的な作用部位と、各デバイスにおけるパラメータ変位の例を示した図である。
【００３７】
まず、図４で示すシリアル制御の処理手順を一般化した場合、
｛制御Ａ＋（制御Ｂ）＋（制御Ｃ）＋制御Ａ'｝  の形で表せる。
【００３８】
図４において、データバイトＤＢφ，ＤＢｎ＋１がレジスタφで対となるパラメータ変位を実行する。
【００３９】
レジタφはデバイスＤ１を作用させる。
【００４０】
この時、データバイトＤＢφとデータバイトＤＢｎ＋１にはさみ込まれた位置に存在するデータバイトＤＢδはレジスタδに対するパラメータ変位を実行し、同様にデータバイトＤＢｎもレジスタｎに対するパラメータ変位を実行する。
【００４１】
レジスタδはデバイスＤ２を作用させ、レジスタｎはデバイスＤｎを作用させる。
【００４２】
各作用デバイスのパラメータ変位を見た場合、デバイスＤ２とデバイスＤｎに係るパラメータ変位は、デバイスＤ１の対となるパラメータの遷移状態の中で変位している。
【００４３】
なお図４では、説明を簡略化するために、各データバイトＤＢの直前に存在するべきサブアドレスＳＡについては、データバイトＤＢφの前に存在するサブアドレスＳＡφのみを図示し、サブアドレスＳＡφの後に順次発生する各データバイトＤＢと対になるサブアドレスＳＡは省略している。
【００４４】
図５は、図４において説明した例を拡張し、ネスティングの掛かりとなる制御部位が複数存在する場合における作用部位と、各デバイスにおけるパラメータ変化の例を示した図である。
【００４５】
図５で示すシリアル制御の処理手順を一般化した場合、
〔制御Ａ＋｛制御Ｂ＋（制御Ｃ）＋（制御Ｄ）＋制御Ｂ'｝+制御Ａ'〕
の形で表せる。
【００４６】
図５においては、データバイトＤＢφとデータバイトＤＢｎ＋２がレジスタφに対となるパラメータ変位を実行する。
【００４７】
レジスタφはデバイスＤ１を作用させる。
【００４８】
この時、データバイトＤＢ１とデータバイトＤＢｎ＋１がレジスタ１に対となるパラメータ変位を実行する。
【００４９】
レジスタ１はデバイスＤ２を作用させる。
【００５０】
前記レジスタφのパラメータ遷移状態と、前記レジスタ１のパラメータ遷移状態にはさみ込まれた位置に存在するデーバイトＤＢδはレジスタδに対するパラメータ変位を実行し、同様にデータバイトＤＢｎもレジスタｎに対するパラメータ変位を実行する。
【００５１】
レジスタδはデバイスＤ３に作用し、またレジスタｎはデバイスＤｎに作用している。
【００５２】
各作用デバイスのパラメータ変位を見た場合、デバイスＤ３とデバイスＤｎに係るパラメータ変位は、デバイスＤ２の対となるパラメータの遷移状態の中で変位している。
【００５３】
さらに、デバイスＤ２の対となるパラメータ遷移は、デバイスＤ１の対となるパラメータ遷移の中で変位している。
【００５４】
なお図５では、図４においての説明と同様に、各データバイトＤＢの直前に存在するべきサブアドレスＳＡについては、データバイトＤＢφの前に存在するサブアドレスＳＡφのみを図示し、サブアドレスＳＡφの後に順次発生する各データバイトＤＢと対になるサブアドレスＳＡは省略している。
【００５５】
図６は、図５で説明した２つのパラメータ遷移状態にあるレジスタφおよびレジスタ１が厳密にネスティングされなくとも実行可能であることを示す図である。
【００５６】
なお、図４および図５において、
｛制御Ａ＋（制御Ｂ）＋（制御Ｃ）＋制御Ａ'｝
〔制御Ａ＋｛制御Ｂ＋（制御Ｃ）＋（制御Ｄ）＋制御Ｂ'｝+制御Ａ'〕
【００５７】
のように数学的矛盾なく、括弧でくくられるケースを説明したが、これは理解を簡便にするためのものでる。
【００５８】
よって、図６で示すように、
制御Ａ＋制御Ｃ＋制御Ｂ＋制御Ａ'＋制御Ｃ'
のように２つ以上のレジスタに対となる処理を行う場合、厳密にネスティング処理の形式をとっていなくとも本発明は適応可能であり、１回転送の条件には違反しない。
【００５９】
【実施例】
次に本発明におけるシリアル制御方法を適応した事例について具体的に図を用いて説明する。
【００６０】
（実施例１）
図４に示したパターンを応用した、アンプ，チューナ，グラフィックイコライザ，コンパクトディスクプレーヤ等が一体化されているオーディオ装置におけるセレクタスイッチ操作時のデバイス（ソース）切り替えの実施例について述べる。
【００６１】
図４に示したパターンにおいて、例えば、データバイトＢＤφおよびデータバイトＤＢｎ＋１は各デバイスからのアンプの入力チャンネルボリュームに係るレジスタに相当する。
【００６２】
また、図４に示したパターンにおいて、例えば、データバイトＢＤδはコンパクトディスクプレーヤからチューナへの出力チャンネル切り替えに係るレジスタ設定に相当する。
【００６３】
図４に示したパターンにおいて残るデータバイトＤＢｎは、例えば前記の切り替えられたチューナの出力情報に適した再生周波数帯の強弱を設定するグラフィックイコライザのＯＮ／ＯＦＦに係るレジスタ設定に相当する。
【００６４】
前記の条件において、ユーザがアンプのセレクタスイッチ操作によって、コンパクトディスクプレーヤで再生中のコンパクトディスクの演奏状態から、チューナへ入力チャンネルを切り替えると共に、チューナから出力されデータにあった周波数帯の強弱に関する調整を行ない、チューナからの出力をスピーカーに伝えるという目的にあたって、途中でノイズの発生が無いよう移行するために、各レジスタは順次、以下に示す設定の変更を行うことによってノイズの軽減されたソース間の切り替えを行うことができる。
【００６５】
（プログラム発生条件）
ユーザのセレクタスイッチの操作をきっかけとして、当該ミュートプラグラムがチップアドレスＣＡを伴ってシリアルバス内に転送される。
【００６６】
（プログラム構造）
当該ミュートプログラムの概要は以下の構造をもって構成される。
１．チップアドレスＣＡに続くサブアドレスＳＡφ（以下サブアドレスＳＡは省略）によってデータバイトＤＢφはアンプの入力チャンネル上のボリューをミュートする。
２.データバイトＤＢφ続くデータバイトＤＢδはコンパクトディスクプレーヤの出力チャンネルをチューナの出力チャンネルへ切り替える。
３．データバイトＤＢδに続くデータバイトＤＢｎは、切り替えられたチューーナの出力情報に適した再生周波数帯の強弱を設定するグラフィックイコライザの設定をＯＮにする。
４．データバイトＤＢｎに続くデータバイトＤＢｎ＋１は、前記１.によって設定されたアンプの入力チャンネル上のボリュームミュートを開放する。
【００６７】
以上のプログラム発生条件およびプログラム構造によって、シリアルバス制御においては、本発明を適応した場合１回のチップアドレスに由来するシリアルバス転送によって実施が可能である。
【００６８】
図７は、ミューティングを伴った入力ソースの切り替えの効果を各ソースのボリュームレベルを時間軸と共に示した模式図である。
【００６９】
図７を前記（実施例１）の効果をより視覚的に理解するために図示する。
【００７０】
前述のように、実施例１に本発明を適用した場合、コンパクトディスクプレーヤによる再生の状態から、グラフィックイコライザによる再生周波数帯の強弱調整が済んだ状態のチューナの再生への移行が、ノイズの発生を伴わずに正確かつ短時間で実施することが可能となる。
【００７１】
（実施例２）
図８に本発明を適応した、２つ以上のアンテナから送信される電波の強度に感応し適宜切り替えることによって、最適な受信を試みるアンテナダイバーシティを構築した場合の構成図を基に実施例について述べる。
【００７２】
図８において、例えばデバイス１はアンテナＡＮＴ１とアンテナＡＮＴ２を切り替える機能を有し、デバイス２はアンテナＡＮＴ１とアンテナＡＮＴ２を切り替えるための情報をデバイス１に供給する機能によって構成されている。
【００７３】
前記条件下において、レシーバがデバイス１を初期設定する間に、例えばレシーバが受信した、アンテナＡＮＴ１およびアンテナＡＮＴ２の電波強度が類似している等の状況下において、デバイス１のアンテナＡＮＴ１またはアンテナＡＮＴ２の切り替えをスムーズに行うため、デバイス１のアンテナＡＮＴ１またはアンテナＡＮＴ２の切り替えを、一旦はデバイス１のアンテナＡＮＴ１またはアンテナＡＮＴ２の何れかに固定したいという要求があるとする。
【００７４】
このときデバイス２はバス２を通してデバイス１の、例えば特定レジスタを参照し、アンテナＡＮＴ１とアンテナＡＮＴ２の切り替えを行おうとした場合、
レシーバがバス１を介してデバイス１を設定するときに本発明を適応することで、  特定レジスタの固定  →  デバイス１の設定  →  特定レジスタの開放
の段階制御がバス１を介した１回のデータ転送による実施が可能である。
【００７５】
前述ように、実施例２に本発明を適用した場合、ある位置に存在するレシーバにとって最適な電波出力を発しているアンテナを短時間で選択することが可能となる。
【００７６】
【発明の効果】
本発明は、以上に説明したようなものであるから、以下に記載されるような効果を奏する。
【００７７】
本発明のシリアル制御方法では、複数のレジスタに対しての設定変更を順次時間軸上ずらして実行することを要件とするシリアル制御において、複数のチップアドレスからなる制御要素を、シリアルバスへの多段階転送によらず、１つのチップアドレスによるシリアルバスへの１回のデータ転送が可能なことから、目的の制御を完了するまでに掛かる時間を短縮することができる。
【００７８】
そして、所定シリアル制御プログラムを記述する際のプログラミング工数も圧縮でき、従来に比較して効率的なプログラミングを行う事ができる。
【００７９】
また、前記のプログラミング工数が少ない事を言い換えれば、個々のシリアル制御プログラム容量の圧縮につながり、特にマイコンの組み込みプログラムであった場合には、従来に比して多くのシリアル制御プログラムを組み込むことができる。
【図面の簡単な説明】
【図１】本発明の基本概念を説明するための模式図である。
【図２】図１と比較する従来技術の基本概念を説明するための模式図である。
【図３】本発明を適応したコンピュータシステム内における制御部および制御の作用がおよぶデバイスの要部構成を示す図である。
【図４】図１において説明した構成を、図３において説明した本発明を適応したコンピュータシステム内機器に対応させた場合における作用部位と、各デバイスにおけるパラメータ変位の例を示した図である。
【図５】図４において説明した例を拡張し、ネスティングの掛かりとなる制御部位が複数存在する場合における作用部位と、各デバイスにおけるパラメータ変化の例を示した図である。
【図６】図５で説明した２つのパラメータ遷移状態にあるレジスタが必ずしもネスティングされなくとも実行可能であることを示す図である。
【図７】ミューティングを伴った入力ソースの切り替えの効果を各ソースのボリュームレベルを時間軸と共に示した模式図である。
【図８】２つ以上のアンテナから送信される電波の強度に感応し適宜切り替えることによって最適な受信を試みるアンテナダイバーシティを構築した場合の構成図である。
【符号の説明】
１０  シリアルバス
２０  中央処理部
３０  入力部
４０  シリアル制御部
４１  データ転送制御部
４２  ローカルプログラムメモリ
４３  Ｉ／Ｏインターフェース
４４  レジスタ
５０  出力部
【図１】
0003893317.tif 000002
【図２】
0003893317.tif 000003
【図３】
0003893317.tif 000004
【図４】
0003893317.tif 000005
【図５】
0003893317.tif 000006
【図６】
0003893317.tif 000007
【図７】
0003893317.tif 000008
【図８】
0003893317.tif 000009