JP2013157851A - 通信機器、識別情報の取得方法、プログラム、および記録媒体 - Google Patents
通信機器、識別情報の取得方法、プログラム、および記録媒体 Download PDFInfo
- Publication number
- JP2013157851A JP2013157851A JP2012017939A JP2012017939A JP2013157851A JP 2013157851 A JP2013157851 A JP 2013157851A JP 2012017939 A JP2012017939 A JP 2012017939A JP 2012017939 A JP2012017939 A JP 2012017939A JP 2013157851 A JP2013157851 A JP 2013157851A
- Authority
- JP
- Japan
- Prior art keywords
- bit
- output
- waveform
- signal line
- communication device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】AV機器などの通信機器において、重複する識別情報を取得しないようにする。
【解決手段】AV機器2のCECコントローラ25は、自らが取得しようとする論理アドレスを含むポーリングメッセージを、その各ビットに対応するビット波形を含む信号であって、ランダムに波形が変動するビット波形を含む信号へ変換し、出力ポート部23から出力させる。
【選択図】 図1
【解決手段】AV機器2のCECコントローラ25は、自らが取得しようとする論理アドレスを含むポーリングメッセージを、その各ビットに対応するビット波形を含む信号であって、ランダムに波形が変動するビット波形を含む信号へ変換し、出力ポート部23から出力させる。
【選択図】 図1
Description
本発明は、通信機器、識別情報の取得方法、プログラム、および記録媒体に関する。
近年、AV機器ではデジタル化が進んでいる。
そして、AV機器の分野では、複数のAV(Audio Visual)機器をHDMI(High Definition Multimedia Interface)ケーブルなどで相互接続し、複数のAV機器の動作をCEC(Consumer Electronics Control)通信により協調制御する、AVシステムが提案されている(特許文献1)。
そして、AV機器の分野では、複数のAV(Audio Visual)機器をHDMI(High Definition Multimedia Interface)ケーブルなどで相互接続し、複数のAV機器の動作をCEC(Consumer Electronics Control)通信により協調制御する、AVシステムが提案されている(特許文献1)。
ところで、このように複数のAV機器を相互接続したAVシステムでは、相互通信のために、各AV機器に対して、互いを識別情報を割り当てる必要がある。
上述したCEC通信の場合、物理アドレスと、論理アドレスとが、この識別情報として機能する。AV機器は、AVシステム内で固有の論理アドレスを取得する際に、取得しようとする論理アドレスを含むポーリングメッセージを送信する。そして、この送信に対する応答が無い場合、AV機器は、送信した論理アドレスを、自らの論理アドレスとして取得する。
上述したCEC通信の場合、物理アドレスと、論理アドレスとが、この識別情報として機能する。AV機器は、AVシステム内で固有の論理アドレスを取得する際に、取得しようとする論理アドレスを含むポーリングメッセージを送信する。そして、この送信に対する応答が無い場合、AV機器は、送信した論理アドレスを、自らの論理アドレスとして取得する。
しかしながら、このようにポーリングメッセージの送信により論理アドレスの空きを確認する場合、複数のAV機器が同一の論理アドレスを取得してしまう可能性がある。
たとえば複数のAV機器が同時に同一の論理アドレスのポーリングメッセージを送信した場合、CEC通信用のシリアルバスライン上では、これらのポーリングメッセージの波形が重なる。送信をした各AV機器は、シリアルバスラインの状態により、他のAV機器が同一のポーリングメッセージを同時に送信していることを検出できない。その結果、送信をした複数のAV機器は、共にポーリングメッセージの送信を完了し、同一の論理アドレスを取得してしまう。
たとえば複数のAV機器が同時に同一の論理アドレスのポーリングメッセージを送信した場合、CEC通信用のシリアルバスライン上では、これらのポーリングメッセージの波形が重なる。送信をした各AV機器は、シリアルバスラインの状態により、他のAV機器が同一のポーリングメッセージを同時に送信していることを検出できない。その結果、送信をした複数のAV機器は、共にポーリングメッセージの送信を完了し、同一の論理アドレスを取得してしまう。
このようにAV機器などの通信機器では、重複する識別情報を取得しないようにすることが求められる。
請求項1に係る発明は、信号線により他の通信機器と接続され、前記信号線を通じて前記他の通信機器と通信データを送受する通信機器であって、自らが取得しようとする識別情報を含む通信データに対応する信号を前記信号線へ出力する出力部と、前記通信データを、該通信データの各ビットに対応するビット波形を含む信号であって、ランダムに波形が変動するビット波形を少なくとも1つ含む信号へ変換して、前記出力部から出力させる制御部と、を有することを特徴とする通信機器である。
請求項7に係る発明は、信号線により他の通信機器と接続され、前記信号線を通じて前記他の通信機器と通信データを送受する通信機器による識別情報の取得方法であって、前記通信機器は、自らが取得しようとする識別情報を含む通信データを送信する際に、該通信データの各ビットに対応するビット波形を含む信号であって、ランダムに波形が変動するビット波形を少なくとも1つ含む信号へ変換し、前記信号線へ出力する、ことを特徴とする識別情報の取得方法である。
請求項8に係る発明は、信号線により他の通信機器と接続され、前記信号線を通じて前記他の通信機器と通信データを送受する通信機器のコンピュータにより実行されるプログラムであって、前記コンピュータが、自らが取得しようとする識別情報を含む通信データを送信する際に、該通信データの各ビットに対応するビット波形を含む信号であって、ランダムに波形が変動するビット波形を少なくとも1つ含む信号へ変換し、前記信号線へ出力させる、ことを特徴とするプログラムである。
請求項9に係る発明は、信号線により他の通信機器と接続され、前記信号線を通じて前記他の通信機器と通信データを送受する通信機器のコンピュータにより実行されるプログラムを記録した記録媒体であって、前記コンピュータが、自らが取得しようとする識別情報を含む通信データを送信する際に、該通信データの各ビットに対応するビット波形を含む信号であって、ランダムに波形が変動するビット波形を少なくとも1つ含む信号へ変換し、前記信号線へ出力させる、ことを特徴とするプログラムを記録したコンピュータ読取可能な記録媒体である。
以下、本発明の実施形態を、図面に基づいて説明する。
図1は、本発明の実施形態に係る通信機器を有するAVシステム1の概略構成図である。
図1のAVシステム1では、TV受信機(TV)2A、AVアンプ装置(AV_AMP)2B、ディスク再生装置(PLY)2Cなどの複数のAV機器2が、HDMIケーブル3により相互接続される。AV機器2は、HDMIによる通信機能を有する通信機器である。
図1は、本発明の実施形態に係る通信機器を有するAVシステム1の概略構成図である。
図1のAVシステム1では、TV受信機(TV)2A、AVアンプ装置(AV_AMP)2B、ディスク再生装置(PLY)2Cなどの複数のAV機器2が、HDMIケーブル3により相互接続される。AV機器2は、HDMIによる通信機能を有する通信機器である。
HDMI接続により、ディスク再生装置2CのHDMIトランスミッタ(HDMI_TMTR)14と、AVアンプ装置2BのHDMIレシーバ(HDMI RCVR)13とが接続される。また、AVアンプ装置2BのHDMIトランスミッタ12と、TV受信機2AのHDMIレシーバ11とが接続される。
ディスク再生装置2Cのディスクドライブ部15は、挿入されたディスクに記録されたデータを読み込み、映像または音声のデジタル信号を出力する。このデジタル信号は、これらのHDMIトランスミッタ14,12およびHDMIレシーバ13,11を通じて、TV受信機2Aのディスプレイ部10へ送信される。これにより、TV受信機2Aのディスプレイ部10において、ディスクに記録された映像または音声が再生される。
ディスク再生装置2Cのディスクドライブ部15は、挿入されたディスクに記録されたデータを読み込み、映像または音声のデジタル信号を出力する。このデジタル信号は、これらのHDMIトランスミッタ14,12およびHDMIレシーバ13,11を通じて、TV受信機2Aのディスプレイ部10へ送信される。これにより、TV受信機2Aのディスプレイ部10において、ディスクに記録された映像または音声が再生される。
[CEC通信、論理アドレス]
ところで、HDMI規格では、CEC通信をサポートしている。
CEC通信のために、HDMIケーブル3で相互接続された複数のAV機器2は、シリアルバスライン4を構成する。AV機器2は、このシリアルバスライン4を用いて、他のAV機器2との間で、通信データとしてのメッセージを送受できる。
CEC通信において、AVシステム1に接続されたる複数のAV機器2は、各々に固有の物理アドレスと、各々に固有の論理アドレスとを有する。この物理アドレスまたは論理アドレスにより、AVシステム1において、各AV機器2を、他のAV機器2から識別できる。
ところで、HDMI規格では、CEC通信をサポートしている。
CEC通信のために、HDMIケーブル3で相互接続された複数のAV機器2は、シリアルバスライン4を構成する。AV機器2は、このシリアルバスライン4を用いて、他のAV機器2との間で、通信データとしてのメッセージを送受できる。
CEC通信において、AVシステム1に接続されたる複数のAV機器2は、各々に固有の物理アドレスと、各々に固有の論理アドレスとを有する。この物理アドレスまたは論理アドレスにより、AVシステム1において、各AV機器2を、他のAV機器2から識別できる。
図2は、CEC通信でのアドレス割り当て例を示す説明図である。
図2のAVシステム1では、TV受信機2A、AVアンプ装置2B、第1のディスク再生装置2C、および第2のディスク再生装置2Dが、HDMIケーブル3により相互接続されている。
そして、TV受信機2Aは、物理アドレス「0.0.0.0」および論理アドレス「0」が割り当てられる。
AVアンプ装置2Bには、物理アドレス「1.0.0.0」および論理アドレス「5」が割り当てられる。
第1のディスク再生装置2Cには、物理アドレス「1.1.0.0」および論理アドレス「4」が割り当てられる。
第2のディスク再生装置2Dには、物理アドレス「1.2.0.0」および論理アドレス「1」が割り当てられる。
物理アドレスは、たとえばTV受信機2Aを基準とした各AV機器2の接続位置に基づいて自動的に決定される。
これに対し、論理アドレスは、各AV機器2がCEC通信を実行して取得する。各AV機器2は、図3に示す論理アドレスリストから、取得しようとするアドレスを選択し、該論理アドレスをシリアルバスライン4へ送信し、その送信に対する応答が無い場合に該論理アドレスを自己のアドレスとして取得する。すなわち、各AV機器2は、図3に示す論理アドレスリストのうち、AVシステム1において使用されていない、未使用の論理アドレスを取得する。
図2のAVシステム1では、TV受信機2A、AVアンプ装置2B、第1のディスク再生装置2C、および第2のディスク再生装置2Dが、HDMIケーブル3により相互接続されている。
そして、TV受信機2Aは、物理アドレス「0.0.0.0」および論理アドレス「0」が割り当てられる。
AVアンプ装置2Bには、物理アドレス「1.0.0.0」および論理アドレス「5」が割り当てられる。
第1のディスク再生装置2Cには、物理アドレス「1.1.0.0」および論理アドレス「4」が割り当てられる。
第2のディスク再生装置2Dには、物理アドレス「1.2.0.0」および論理アドレス「1」が割り当てられる。
物理アドレスは、たとえばTV受信機2Aを基準とした各AV機器2の接続位置に基づいて自動的に決定される。
これに対し、論理アドレスは、各AV機器2がCEC通信を実行して取得する。各AV機器2は、図3に示す論理アドレスリストから、取得しようとするアドレスを選択し、該論理アドレスをシリアルバスライン4へ送信し、その送信に対する応答が無い場合に該論理アドレスを自己のアドレスとして取得する。すなわち、各AV機器2は、図3に示す論理アドレスリストのうち、AVシステム1において使用されていない、未使用の論理アドレスを取得する。
図3は、CEC通信で規定される複数の論理アドレスのリストを示す図である。
図3に示すように、論理アドレスは、AV機器2の種類に応じて予め定められる。
たとえば、TV受信機2Aには、論理アドレス「0」が割り当てられる。
記録装置には、論理アドレス「1」、「2」、「9」が割り当てられる。
チューナ装置には、論理アドレス「3」、「6」、「7」、「10」が割り当てられる。
記録再生装置には、論理アドレス「4」、「8」、「11」が割り当てられる。
オーディオシステムには、論理アドレス「5」が割り当てられる。
また、論理アドレス「15」は、ブロードキャストアドレスに割り当てられる。
図3に示すように、論理アドレスは、AV機器2の種類に応じて予め定められる。
たとえば、TV受信機2Aには、論理アドレス「0」が割り当てられる。
記録装置には、論理アドレス「1」、「2」、「9」が割り当てられる。
チューナ装置には、論理アドレス「3」、「6」、「7」、「10」が割り当てられる。
記録再生装置には、論理アドレス「4」、「8」、「11」が割り当てられる。
オーディオシステムには、論理アドレス「5」が割り当てられる。
また、論理アドレス「15」は、ブロードキャストアドレスに割り当てられる。
論理アドレスを取得するために、各AV機器2は、図3の論理アドレスリストにおいて、予め自らの機器の種類に割り当てられた1または複数のアドレスの中から、未使用の1個の論理アドレスを選択して取得する。
なお、AV機器2は、複数の機能を有する場合、その種類に対応した複数の論理アドレスを取得してもよい。たとえば、記録装置とチューナ装置の機能を有する機器の場合、それぞれの種類に対応した論理アドレスを取得してよい。
物理アドレスおよび論理アドレスを取得した各AV機器2は、送信先の他のAV機器2のアドレスおよび制御コマンドを含むメッセージを送信する。
制御コマンドは、AV機器2を連携制御するための通信データである。制御コマンドには、たとえば、AV機器2を起動または停止するためのもの、入出力等を切り替えるためのもの、などがある。
各AV機器2は、シリアルバスライン4の状態を監視し、自身のアドレスが送信先に指定されたメッセージを受信し、メッセージに含まれる制御コマンドを実行する。
これにより、AVシステム1では、たとえば1個のAV機器2の起動に応じて、それに接続された他のAV機器2を連動して起動したり、1個のAV機器2の停止に応じて、それに接続された他のAV機器2を連動して停止したりできる。
なお、AV機器2は、複数の機能を有する場合、その種類に対応した複数の論理アドレスを取得してもよい。たとえば、記録装置とチューナ装置の機能を有する機器の場合、それぞれの種類に対応した論理アドレスを取得してよい。
物理アドレスおよび論理アドレスを取得した各AV機器2は、送信先の他のAV機器2のアドレスおよび制御コマンドを含むメッセージを送信する。
制御コマンドは、AV機器2を連携制御するための通信データである。制御コマンドには、たとえば、AV機器2を起動または停止するためのもの、入出力等を切り替えるためのもの、などがある。
各AV機器2は、シリアルバスライン4の状態を監視し、自身のアドレスが送信先に指定されたメッセージを受信し、メッセージに含まれる制御コマンドを実行する。
これにより、AVシステム1では、たとえば1個のAV機器2の起動に応じて、それに接続された他のAV機器2を連動して起動したり、1個のAV機器2の停止に応じて、それに接続された他のAV機器2を連動して停止したりできる。
このようなCEC通信を実行する各AV機器2は、図1または図2に示すように、内部信号線21、プルアップ抵抗素子22、出力ポート部(CEC_S)23、入力ポート部(CEC_R)24、CECコントローラ(CEC_CTRL)25を有する。また、本実施形態の各AV機器2は、さらに、乱数発生部(RDM)26を有する。
なお、図1または図2において、TV受信機(TV)2Aの各部には、符号に「A」を付し、AVアンプ装置(AV_AMP)2Bの各部には、符号に「B」を付し、ディスク再生装置(PLY)2Cの各部には、符号に「C」を付し、第2のディスク再生装置2Dの各部には、符号に「D」を付している。
なお、図1または図2において、TV受信機(TV)2Aの各部には、符号に「A」を付し、AVアンプ装置(AV_AMP)2Bの各部には、符号に「B」を付し、ディスク再生装置(PLY)2Cの各部には、符号に「C」を付し、第2のディスク再生装置2Dの各部には、符号に「D」を付している。
内部信号線21は、CEC通信のためのAV機器2の内部の信号線である。内部信号線21は、1個または複数個の接続ピン27を有する。たとえば、図1のTV受信機2Aは、1個の接続ピン27Aを有する。AVアンプ装置2Bは、2本のHDMIケーブル3が接続されるため、2個の接続ピン27Bを有する。ディスク再生装置2Cは、1個の接続ピン27Cを有する。接続ピン27は、HDMIケーブル3のケーブル信号線31に接続される。
そして、複数のAV機器2の内部信号線21は、HDMIケーブル3のケーブル信号線31により、1組のAVシステム1において1本に接続される。
これにより、シリアルバスライン4が構成される。
なお、シリアルバスライン4は、図2に示すように、分岐してもよい。
そして、複数のAV機器2の内部信号線21は、HDMIケーブル3のケーブル信号線31により、1組のAVシステム1において1本に接続される。
これにより、シリアルバスライン4が構成される。
なお、シリアルバスライン4は、図2に示すように、分岐してもよい。
プルアップ抵抗素子22は、一端が内部信号線21に接続される。プルアップ抵抗素子22の他端は、たとえば所定の図示外の電源などに接続される。これにより、内部信号線21を含むシリアルバスライン4は、非通信状態では、電源の第1電位に保持される。なお、第1電位は、複数のAV機器2の間で共通していればよい。
出力ポート部23は、内部信号線21およびCECコントローラ25に接続される。出力ポート部23は、CECコントローラ25の制御の下で、メッセージを送信する。たとえば通信先のアドレスおよび制御コマンドを含むメッセージを送信する場合、出力ポート部23は、このメッセージの複数のビットに対応する複数のビット波形を順番に出力する。出力ポート部23は、各データビットについて、その値に応じた波形を出力する。メッセージは、出力ポート部23により、複数のビット波形を有する波形信号へ変換される。
入力ポート部24は、内部信号線21およびCECコントローラ25に接続される。入力ポート部24は、CECコントローラ25の制御の下で、内部信号線21でのメッセージ送信を監視する。そして、入力ポート部24は、たとえば自分の論理アドレスを宛先に含むメッセージを受信する。
CECコントローラ25は、出力ポート部23と、入力ポート部24とに接続される。CECコントローラ25は、出力ポート部23および入力ポート部24を用いて、他のAV機器2のCECコントローラ25との間でメッセージを送受する。
CECコントローラ25は、たとえば自機の動作状態に応じて、制御コマンドを他のAV機器2へ送信する。また、CECコントローラ25は、他のAV機器2から制御コマンドを受信して実行する。
なお、CECコントローラ25は、プログラムを実行するCPU(Central Processing Unit)と、該プログラムを記憶する記憶部とにより構成されればよい。また、記憶部に記憶されるプログラムは、たとえばコンピュータ読取可能な記録媒体に記録されていたものをインストールしたものであればよい。
CECコントローラ25は、たとえば自機の動作状態に応じて、制御コマンドを他のAV機器2へ送信する。また、CECコントローラ25は、他のAV機器2から制御コマンドを受信して実行する。
なお、CECコントローラ25は、プログラムを実行するCPU(Central Processing Unit)と、該プログラムを記憶する記憶部とにより構成されればよい。また、記憶部に記憶されるプログラムは、たとえばコンピュータ読取可能な記録媒体に記録されていたものをインストールしたものであればよい。
乱数発生部26は、CECコントローラ25に接続される。乱数発生部26は、たとえば乱数を発生してCECコントローラ25へ出力する。
[CECメッセージ]
図4は、CEC通信のメッセージの一般的なデータ構造の説明図である。
図4のメッセージは、スタートビット、ヘッダブロック、複数のデータブロックで構成される。データブロックの個数は、0から15個の範囲で任意に調整できる。
図4は、CEC通信のメッセージの一般的なデータ構造の説明図である。
図4のメッセージは、スタートビット、ヘッダブロック、複数のデータブロックで構成される。データブロックの個数は、0から15個の範囲で任意に調整できる。
スタートビットは、メッセージの先頭に配置される。
図5は、スタートビットのビット波形の説明図である。
図5のスタートビットのビット波形は、出力ポート部23が出力する波形である。
図5に示すように、スタートビットのビット波形は、約4.5ミリ秒の出力周期を有する。また、出力開始から約3.7ミリ秒後に、出力ポート部23の出力が、ローインピーダンスからハイインピーダンスへ切り替わる。
出力ポート部23は、該ビット波形を出力するために、まず、スタートビットの出力開始時点で、出力をローインピーダンスに制御する。次に、出力開始から約3.7ミリ秒後に、出力をハイインピーダンスに制御する。
これにより、シリアルバスライン4は、スタートビットの出力開始時点から約3.7ミリ秒までの制御期間において、ローインピーダンス状態に制御される。シリアルバスライン4の状態は、第2電位としてのローレベルになる。
また、出力ポート部23は、約3.7ミリ秒から約4.5ミリ秒までの非制御期間において、ハイインピーダンスを出力する。シリアルバスライン4は、ハイインピーダンス状態に制御される。シリアルバスライン4の状態は、他のAV機器2の出力がローインピーダンスに制御されていない場合、ハイレベルになる。これに対し、他のAV機器2の出力がローインピーダンスに制御されている場合、ローレベルになる。
このように、他のAV機器2がメッセージを出力していない場合、スタートビットのビット波形により、シリアルバスライン4は、ビット波形の前半においてローレベルとなり、後半においてハイレベルとなる。
図5は、スタートビットのビット波形の説明図である。
図5のスタートビットのビット波形は、出力ポート部23が出力する波形である。
図5に示すように、スタートビットのビット波形は、約4.5ミリ秒の出力周期を有する。また、出力開始から約3.7ミリ秒後に、出力ポート部23の出力が、ローインピーダンスからハイインピーダンスへ切り替わる。
出力ポート部23は、該ビット波形を出力するために、まず、スタートビットの出力開始時点で、出力をローインピーダンスに制御する。次に、出力開始から約3.7ミリ秒後に、出力をハイインピーダンスに制御する。
これにより、シリアルバスライン4は、スタートビットの出力開始時点から約3.7ミリ秒までの制御期間において、ローインピーダンス状態に制御される。シリアルバスライン4の状態は、第2電位としてのローレベルになる。
また、出力ポート部23は、約3.7ミリ秒から約4.5ミリ秒までの非制御期間において、ハイインピーダンスを出力する。シリアルバスライン4は、ハイインピーダンス状態に制御される。シリアルバスライン4の状態は、他のAV機器2の出力がローインピーダンスに制御されていない場合、ハイレベルになる。これに対し、他のAV機器2の出力がローインピーダンスに制御されている場合、ローレベルになる。
このように、他のAV機器2がメッセージを出力していない場合、スタートビットのビット波形により、シリアルバスライン4は、ビット波形の前半においてローレベルとなり、後半においてハイレベルとなる。
ヘッダブロックは、メッセージにおいて、スタートビットの次に配置される。
図6は、ヘッダブロックの説明図である。
ヘッダブロックは、図6(A)に示すように、10ビットのデータである。
ヘッダブロックの先頭の4ビットは、送信元の論理アドレスを示す。次の4ビットは、送信先の論理アドレスである。このように、ヘッダブロックにおいて、論理アドレスは、4ビットの2進数で表される。たとえば、論理アドレス「2」の場合、4ビットのフィールドには、「0、0、1、0」が格納される。
送信先(Destination)の論理アドレスには、以下の2通りがある。単一のAV機器2宛てのメッセージでは、送信先の論理アドレスに、0〜14のいずれかの値を指定する。全機器宛てのブロードキャストメッセージでは、送信先の論理アドレスに、「15」を指定する。
ヘッダブロックの9ビット目は、このブロックがメッセージの最後のブロックであるか否かを示すビットである。たとえば9ビット目の値が「0」である場合、該ブロック以降に、一つ以上のデータブロックが続くことを示す。「1」である場合、メッセージがこのブロックで終了することを示す。
図6は、ヘッダブロックの説明図である。
ヘッダブロックは、図6(A)に示すように、10ビットのデータである。
ヘッダブロックの先頭の4ビットは、送信元の論理アドレスを示す。次の4ビットは、送信先の論理アドレスである。このように、ヘッダブロックにおいて、論理アドレスは、4ビットの2進数で表される。たとえば、論理アドレス「2」の場合、4ビットのフィールドには、「0、0、1、0」が格納される。
送信先(Destination)の論理アドレスには、以下の2通りがある。単一のAV機器2宛てのメッセージでは、送信先の論理アドレスに、0〜14のいずれかの値を指定する。全機器宛てのブロードキャストメッセージでは、送信先の論理アドレスに、「15」を指定する。
ヘッダブロックの9ビット目は、このブロックがメッセージの最後のブロックであるか否かを示すビットである。たとえば9ビット目の値が「0」である場合、該ブロック以降に、一つ以上のデータブロックが続くことを示す。「1」である場合、メッセージがこのブロックで終了することを示す。
ヘッダブロックの10ビット目は、ACKビットと呼ばれる。送信先のAV機器2が、ヘッダブロックまたはデータブロックに対するアクノリッジを返すために使用される。
送信側のAV機器2は、この10ビット目において、常に「1(ハイインピーダンス)」を出力する。
送信先の論理アドレスが単一の機器宛ての場合、つまりDestinationが「15」以外の場合、Destinationフィールドが自機器宛てであると判断した送信先のAV機器2は、メッセージの各ブロックのACKビット(10ビット目)において、「0」を出力する。送信先ではないAV機器2は、ACKビットに出力しない。ハイインピーダンス出力を維持する。送信元のAV機器2は、ACKビットを監視し、「0」であれば正常に受信されたと判断する。
送信先の論理アドレスがブロードキャストの場合、つまりDestinationが「15」である場合、ブロードキャストメッセージに拒絶したいAV機器2は、ACKビットに「0」を出力する。メッセージを拒絶しないAV機器2は、ACKビットに出力しない。ハイインピーダンス出力を維持する。送信元のAV機器2は、ACKビットを監視し、「1」であれば、拒絶する機器はいないと判断する。逆に、「0」であれば、1台以上のAV機器2が拒絶したと判断する。
送信側のAV機器2は、この10ビット目において、常に「1(ハイインピーダンス)」を出力する。
送信先の論理アドレスが単一の機器宛ての場合、つまりDestinationが「15」以外の場合、Destinationフィールドが自機器宛てであると判断した送信先のAV機器2は、メッセージの各ブロックのACKビット(10ビット目)において、「0」を出力する。送信先ではないAV機器2は、ACKビットに出力しない。ハイインピーダンス出力を維持する。送信元のAV機器2は、ACKビットを監視し、「0」であれば正常に受信されたと判断する。
送信先の論理アドレスがブロードキャストの場合、つまりDestinationが「15」である場合、ブロードキャストメッセージに拒絶したいAV機器2は、ACKビットに「0」を出力する。メッセージを拒絶しないAV機器2は、ACKビットに出力しない。ハイインピーダンス出力を維持する。送信元のAV機器2は、ACKビットを監視し、「1」であれば、拒絶する機器はいないと判断する。逆に、「0」であれば、1台以上のAV機器2が拒絶したと判断する。
図6(B)は、値「0」のデータビットに対応するビット波形である。
データビットの値が「0」の場合、出力ポート部23は、約2.4ミリ秒の出力周期で、ビット波形を出力する。また、出力ポート部23は、出力周期の前半の約1.5ミリ秒の制御期間において、ローインピーダンスを出力する。出力周期の後半では、ハイインピーダンスを出力する。これにより、各ビットの出力周期の後半には、約1.5ミリ秒後から約2.4ミリ秒後までの約0.9ミリ秒の非制御期間のパルス幅のパルスが出力される。
データビットの値が「0」の場合、出力ポート部23は、約2.4ミリ秒の出力周期で、ビット波形を出力する。また、出力ポート部23は、出力周期の前半の約1.5ミリ秒の制御期間において、ローインピーダンスを出力する。出力周期の後半では、ハイインピーダンスを出力する。これにより、各ビットの出力周期の後半には、約1.5ミリ秒後から約2.4ミリ秒後までの約0.9ミリ秒の非制御期間のパルス幅のパルスが出力される。
図6(C)は、値「1」のデータビットに対応するビット波形である。
データビットの値が「1」の場合、出力ポート部23は、約2.4ミリ秒の出力周期で、ビット波形を出力する。また、出力ポート部23は、出力周期の前半の約0.6ミリ秒間の制御期間において、ローインピーダンスを出力する。出力周期の後半では、ハイインピーダンスを出力する。これにより、各ビットの出力周期の後半には、約0.6ミリ秒後から約2.4ミリ秒後までの約1.8ミリ秒の非制御期間のパルス幅のパルスが出力される。
データビットの値が「1」の場合、出力ポート部23は、約2.4ミリ秒の出力周期で、ビット波形を出力する。また、出力ポート部23は、出力周期の前半の約0.6ミリ秒間の制御期間において、ローインピーダンスを出力する。出力周期の後半では、ハイインピーダンスを出力する。これにより、各ビットの出力周期の後半には、約0.6ミリ秒後から約2.4ミリ秒後までの約1.8ミリ秒の非制御期間のパルス幅のパルスが出力される。
このように、各ビットに対応するビット波形は、シリアルバスライン4の電位の立下りから立上りまでの期間によって、論理値「0」または 論理値「1」を表す。値「1」のデータビットのパルス幅は、値「0」のデータビットのパルス幅より広い。CECコントローラ25は、たとえばCEC規格に規定された「Safe Sample Period」である、0.85ミリ秒後から1.25ミリ秒後までの期間中に入力ポート部24の値を取得することにより、各ビット波形から、該ビット波形に対応するデータビットの値を得ることができる。
なお、CEC通信では、スタートビットについて図5に示すように、値「0」のデータビットについて図6(B)に示すように、値「1」のデータビットについて図6(C)に示すように、これらのビット波形の出力期間について、多少の変動マージンが許容されている。また、出力期間中の出力切り替えタイミングについても、多少の変動マージンが許容されている。各AV機器2は、このマージンの範囲内で波形が変動するビット波形を出力できる。また、各AV機器2は、このマージンの範囲内で波形が変動するビット波形を正しく判別できる。
なお、CEC通信では、スタートビットについて図5に示すように、値「0」のデータビットについて図6(B)に示すように、値「1」のデータビットについて図6(C)に示すように、これらのビット波形の出力期間について、多少の変動マージンが許容されている。また、出力期間中の出力切り替えタイミングについても、多少の変動マージンが許容されている。各AV機器2は、このマージンの範囲内で波形が変動するビット波形を出力できる。また、各AV機器2は、このマージンの範囲内で波形が変動するビット波形を正しく判別できる。
データブロックは、メッセージにおいて、ヘッダブロックの次に配置される。
図7は、データブロックの説明図である。
データブロックは、図7に示すように、10ビットのデータである。
データブロックの先頭の8ビットは、たとえば制御コマンドなどの各ビットのデータである。メッセージデータの本体である。
データブロックの9ビット目および10ビット目は、ヘッダブロックの9ビット目および10ビット目と同様である。
出力ポート部23は、送信する通信データの各ビットの値に応じて、図6(B)のビット波形、または図6(C)のビット波形を出力する。
図7は、データブロックの説明図である。
データブロックは、図7に示すように、10ビットのデータである。
データブロックの先頭の8ビットは、たとえば制御コマンドなどの各ビットのデータである。メッセージデータの本体である。
データブロックの9ビット目および10ビット目は、ヘッダブロックの9ビット目および10ビット目と同様である。
出力ポート部23は、送信する通信データの各ビットの値に応じて、図6(B)のビット波形、または図6(C)のビット波形を出力する。
このCEC通信のメッセージにより、HDMIケーブル3で接続された複数のAV機器2は、制御コマンドなどの通信データを送受する。
CEC通信において、メッセージは、一つの送信側のAV機器2(Initiator)と、一つ以上の受信側のAV機器2(Follower)との間で送受される。同時にメッセージを送信できるAV機器2は、1つに制限される。送信しないAV機器2は、シリアルバスライン4を監視し、メッセージを受信する。そして、送信先に選択されたAV機器2は、アクノレッジビット(ACKビット)において、ローインピーダンス「0」を出力する。
CEC通信において、メッセージは、一つの送信側のAV機器2(Initiator)と、一つ以上の受信側のAV機器2(Follower)との間で送受される。同時にメッセージを送信できるAV機器2は、1つに制限される。送信しないAV機器2は、シリアルバスライン4を監視し、メッセージを受信する。そして、送信先に選択されたAV機器2は、アクノレッジビット(ACKビット)において、ローインピーダンス「0」を出力する。
メッセージを送信する場合、AV機器2のCECコントローラ25は、まず始めに、シリアルバスライン4がフリー状態かをテストする。
フリー状態を確認した後、CECコントローラ25は、出力ポート部23の出力をハイインピーダンスからローインピーダンスに切り替え、メッセージの送信を開始する。スタートビットおよびメッセージの各ビットは、各々に対応するビット波形により、シリアルバスライン4へ順番に出力される。データビットのビット波形は、ローインピーダンスからハイインピーダンスへ切り替わるタイミングが、各ビットデータの値に応じたタイミングになる。
シリアルバスライン4に接続された1個の出力ポート部23がローインピーダンスを出力すると、シリアルバスライン4は、ローレベルになる。
シリアルバスライン4に接続された全ての出力ポート部23がハイインピーダンスを出力すると、シリアルバスライン4は、プルアップ抵抗素子22により、ハイレベルになる。
フリー状態を確認した後、CECコントローラ25は、出力ポート部23の出力をハイインピーダンスからローインピーダンスに切り替え、メッセージの送信を開始する。スタートビットおよびメッセージの各ビットは、各々に対応するビット波形により、シリアルバスライン4へ順番に出力される。データビットのビット波形は、ローインピーダンスからハイインピーダンスへ切り替わるタイミングが、各ビットデータの値に応じたタイミングになる。
シリアルバスライン4に接続された1個の出力ポート部23がローインピーダンスを出力すると、シリアルバスライン4は、ローレベルになる。
シリアルバスライン4に接続された全ての出力ポート部23がハイインピーダンスを出力すると、シリアルバスライン4は、プルアップ抵抗素子22により、ハイレベルになる。
[アービトレーション機能]
このような通信を実現するために、CEC通信では、同時に複数のAV機器2がメッセージを送信しようとした場合のアービトレーション(調停)機能を備える。
CEC通信において、アービトレーション機能とは、複数のAV機器2が同時にメッセージを送信した場合に、1つのAV機器2のメッセージのみを有効とするために、その他のAV機器2によるメッセージの送信を直ちに停止させる機能をいう。
このアービトレーション機能により、複数のAV機器2がメッセージの送信を同時期に重複して開始することがあっても、1つのAV機器2のみがメッセージの送信を継続し、メッセージの送信を完了できる。複数のAV機器2が同時期に重複して送信する複数のメッセージの衝突を回避できる。
このような通信を実現するために、CEC通信では、同時に複数のAV機器2がメッセージを送信しようとした場合のアービトレーション(調停)機能を備える。
CEC通信において、アービトレーション機能とは、複数のAV機器2が同時にメッセージを送信した場合に、1つのAV機器2のメッセージのみを有効とするために、その他のAV機器2によるメッセージの送信を直ちに停止させる機能をいう。
このアービトレーション機能により、複数のAV機器2がメッセージの送信を同時期に重複して開始することがあっても、1つのAV機器2のみがメッセージの送信を継続し、メッセージの送信を完了できる。複数のAV機器2が同時期に重複して送信する複数のメッセージの衝突を回避できる。
具体的には、CECコントローラ25は、出力ポート部23からメッセージを送信しているアービトレーション期間において、入力ポート部24を用いてシリアルバスライン4の状態を監視する。
アービトレーション期間とは、メッセージのスタートビットの立下りで始まり、ヘッダブロック内の送信側のAV機器2の論理アドレス(Initiator)の終わりまでの期間をいう。
アービトレーション期間とは、メッセージのスタートビットの立下りで始まり、ヘッダブロック内の送信側のAV機器2の論理アドレス(Initiator)の終わりまでの期間をいう。
図8は、CEC通信でのアービトレーション処理を説明するタイミングチャートである。図面において、時間は左から右に流れる。
図8(A)は、論理アドレス「2」のAV機器2が送信するメッセージの波形である。図8(B)は、論理アドレス「1」のAV機器2が送信するメッセージの波形である。図8(C)は、シリアルバスライン4の信号波形である。図8(D)は、論理アドレス「4」のAV機器2が送信するメッセージの波形である。
図8(A)は、論理アドレス「2」のAV機器2が送信するメッセージの波形である。図8(B)は、論理アドレス「1」のAV機器2が送信するメッセージの波形である。図8(C)は、シリアルバスライン4の信号波形である。図8(D)は、論理アドレス「4」のAV機器2が送信するメッセージの波形である。
論理アドレス「2」のAV機器2と、論理アドレス「1」のAV機器2とは、図8(A)および(B)に示すように、タイミングT1から同時に、メッセージの送信を開始する。
この場合、互いのスタートビットのビット波形が重なっている。シリアルバスライン4の電位は、図8(C)に示すように、スタートビットのビット波形で変化する。このため、論理アドレス「2」のAV機器2と、論理アドレス「1」のAV機器2とは、メッセージの送信を継続し、各々の論理アドレスの送信を開始する。
この場合、互いのスタートビットのビット波形が重なっている。シリアルバスライン4の電位は、図8(C)に示すように、スタートビットのビット波形で変化する。このため、論理アドレス「2」のAV機器2と、論理アドレス「1」のAV機器2とは、メッセージの送信を継続し、各々の論理アドレスの送信を開始する。
タイミングT2において、論理アドレス「2」のAV機器2が送信するビット波形と、論理アドレス「1」のAV機器2が送信するビット波形とが、互いに異なる波形になる。図8(C)では、シリアルバスライン4の電位は、論理アドレス「1」のAV機器2が送信するビット波形で変化する。
よって、論理アドレス「2」のAV機器2のCECコントローラ25は、入力ポート部24を用いた監視により、シリアルバスライン4のレベルが、自らの送信波形によるレベルと相違することを検出する。この検出に基づいて、論理アドレス「2」のAV機器2のCECコントローラ25は、メッセージの送信を中止する。CECコントローラ25は、アービトレーションに負けたとみなし、メッセージの送信を停止する。
これに対して、論理アドレス「1」のAV機器2のCECコントローラ25は、タイミングT2においても、シリアルバスライン4のレベルが、自ら送信するビット波形によるレベルと一致していると判断する。CECコントローラ25は、メッセージの送信を継続する。
メッセージの送信先である論理アドレス「4」のAV機器2は、論理アドレス「1」のAV機器2から送信されたメッセージを受信し、図8(D)に示すように10ビット目のタイミングにおいて、所定の論理値「0」に対応するビット波形を出力する。
また、メッセージの送信元である論理アドレス「1」のAV機器2のCECコントローラ25は、10ビット目を監視し、10ビット目でのシリアルバスライン4のレベルが、自ら送信するビット波形によるレベルと一致していないことに基づいて、通信が正常になされたと判断する。
メッセージの送信先である論理アドレス「4」のAV機器2は、論理アドレス「1」のAV機器2から送信されたメッセージを受信し、図8(D)に示すように10ビット目のタイミングにおいて、所定の論理値「0」に対応するビット波形を出力する。
また、メッセージの送信元である論理アドレス「1」のAV機器2のCECコントローラ25は、10ビット目を監視し、10ビット目でのシリアルバスライン4のレベルが、自ら送信するビット波形によるレベルと一致していないことに基づいて、通信が正常になされたと判断する。
[論理アドレスの取得処理]
次に、各AV機器2による論理アドレスの取得処理について説明する。
各AV機器2は、自身の論理アドレスを取得する場合、取得しようとする論理アドレスを含むポーリングメッセージを送信して既使用の有無を確認し、送信した論理アドレスが使用されていない場合に、送信した論理アドレスを自己の論理アドレスとして取得する。
このため、CEC通信では、上述するアービトレーション機能を備えているにもかかわらず、たとえば複数のAV機器2が同時に同一の論理アドレスのポーリングメッセージを送信すると、該複数のAV機器2が同じ論理アドレスを重複して取得してしまう可能性がある。
次に、各AV機器2による論理アドレスの取得処理について説明する。
各AV機器2は、自身の論理アドレスを取得する場合、取得しようとする論理アドレスを含むポーリングメッセージを送信して既使用の有無を確認し、送信した論理アドレスが使用されていない場合に、送信した論理アドレスを自己の論理アドレスとして取得する。
このため、CEC通信では、上述するアービトレーション機能を備えているにもかかわらず、たとえば複数のAV機器2が同時に同一の論理アドレスのポーリングメッセージを送信すると、該複数のAV機器2が同じ論理アドレスを重複して取得してしまう可能性がある。
図9は、CEC通信でのポーリングメッセージのデータ構造の説明図である。
図10は、ポーリングメッセージのヘッダブロックのデータ構造の説明図である。
ポーリングメッセージは、図4の一般的なメッセージと異なり、スタートビットと、ヘッダブロックとで構成される。
ヘッダブロックは、送信元の論理アドレスの4ビット、送信先の論理アドレスの4ビットを含む。図10のヘッダブロックは、論理アドレス「3」を取得する場合に送信されるものである。
図10は、ポーリングメッセージのヘッダブロックのデータ構造の説明図である。
ポーリングメッセージは、図4の一般的なメッセージと異なり、スタートビットと、ヘッダブロックとで構成される。
ヘッダブロックは、送信元の論理アドレスの4ビット、送信先の論理アドレスの4ビットを含む。図10のヘッダブロックは、論理アドレス「3」を取得する場合に送信されるものである。
新たに接続されたAV機器2のCECコントローラ25が論理アドレスを取得する場合、CECコントローラ25は、AV機器2の種類に応じた論理アドレスを選択し、選択した論理アドレスを送信元および送信先に含むヘッダブロックのポーリングメッセージを送信する。
すなわち、CECコントローラ25は、取得したい論理アドレスを、ポーリングメッセージの送信元、送信先の両方にセットし、出力ポート部23に送信させる。出力ポート部23は、ACKビット(10ビット目)において「1」を出力する。
そして、入力ポート部24から入力されるACKビット(10ビット目)が「1」である場合、シリアルバスライン4上に、その論理アドレスを使用するAV機器2は存在しない。
CECコントローラ25は、入力ポート部24の監視結果に基づいて、送信した論理アドレスが使用されていないと判断する。CECコントローラ25は、送信した論理アドレスを、自らの論理アドレスとして取得する。
すなわち、CECコントローラ25は、取得したい論理アドレスを、ポーリングメッセージの送信元、送信先の両方にセットし、出力ポート部23に送信させる。出力ポート部23は、ACKビット(10ビット目)において「1」を出力する。
そして、入力ポート部24から入力されるACKビット(10ビット目)が「1」である場合、シリアルバスライン4上に、その論理アドレスを使用するAV機器2は存在しない。
CECコントローラ25は、入力ポート部24の監視結果に基づいて、送信した論理アドレスが使用されていないと判断する。CECコントローラ25は、送信した論理アドレスを、自らの論理アドレスとして取得する。
これに対し、すでにその論理アドレスを使用する別のAV機器2が存在する場合、そのAV機器2は、ACKビット(10ビット目)で「0」を出力する。
CECコントローラ25は、ACKビット(10ビット目)が「0」であることを検出し、送信した論理アドレスが使用されていると判断する。CECコントローラ25は、送信した論理アドレスをあきらめ、別の論理アドレスの取得を試みる。CECコントローラ25は、使用されていない論理アドレスを見つけるまで、別の論理アドレスを取得することと、出力ポート部23および入力ポート部24を用いてポーリングメッセージを送信することとを、繰り返す。
CECコントローラ25は、ACKビット(10ビット目)が「0」であることを検出し、送信した論理アドレスが使用されていると判断する。CECコントローラ25は、送信した論理アドレスをあきらめ、別の論理アドレスの取得を試みる。CECコントローラ25は、使用されていない論理アドレスを見つけるまで、別の論理アドレスを取得することと、出力ポート部23および入力ポート部24を用いてポーリングメッセージを送信することとを、繰り返す。
論理アドレスを取得すると、CECコントローラ25は、出力ポート部23から、<Report Physical Address> と呼ばれるメッセージをブロードキャスト送信する。シリアルバスライン4に接続された他のAV機器2のCECコントローラ25は、入力ポート部24を監視し、このメッセージを受信し、ブロードキャストされたAV機器2を、CEC通信先リストに追加する。
このように相互接続された複数のAV機器2は、各自が個別にポーリングメッセージを送信することにより、取得しようとする論理アドレスの使用状況を確認でき、未使用である固有の論理アドレスを取得して、CEC通信を正常に実行できる。
すなわち、複数のAV機器2が全く異なるタイミングでアドレスを取得する場合だけでなく、複数のAV機器2が各々のポーリングメッセージを重複するタイミングで送信したとしても、波形が一致していなければ、前述のアービトレーションのメカニズムにより、1つのAV機器2のみがポーリングメッセージの送信を完了でき、該ポーリングメッセージの論理アドレスを取得することができる。
複数のAV機器2が順番に論理アドレスを取得することができ、複数のAV機器2が、互いに異なる固有の論理アドレスを取得できる。
すなわち、複数のAV機器2が全く異なるタイミングでアドレスを取得する場合だけでなく、複数のAV機器2が各々のポーリングメッセージを重複するタイミングで送信したとしても、波形が一致していなければ、前述のアービトレーションのメカニズムにより、1つのAV機器2のみがポーリングメッセージの送信を完了でき、該ポーリングメッセージの論理アドレスを取得することができる。
複数のAV機器2が順番に論理アドレスを取得することができ、複数のAV機器2が、互いに異なる固有の論理アドレスを取得できる。
[論理アドレスの重複取得の可能性]
しかしながら、複数のAV機器2のポーリングメッセージの重複度合いが高くなると、前述のアービトレーションのメカニズムをもってしても、複数のAV機器2が重複する論理アドレスを取得してしまう可能性がある。
すなわち、複数のAV機器2が同じ論理アドレスを取得しようとして同時にポーリングメッセージを送信した場合、シリアルバスライン4においてそれらの信号波形が完全に重なっていると、複数のAV機器2は、共に、ポーリングメッセージの送信を継続して完了する。この場合、該複数のAV機器2は、同じ論理アドレスを取得してしまう。1組のAVシステム1において、複数のAV機器2が同じ論理アドレスを取得してしまうと、CEC通信が正常に実行できなくなる。
しかしながら、複数のAV機器2のポーリングメッセージの重複度合いが高くなると、前述のアービトレーションのメカニズムをもってしても、複数のAV機器2が重複する論理アドレスを取得してしまう可能性がある。
すなわち、複数のAV機器2が同じ論理アドレスを取得しようとして同時にポーリングメッセージを送信した場合、シリアルバスライン4においてそれらの信号波形が完全に重なっていると、複数のAV機器2は、共に、ポーリングメッセージの送信を継続して完了する。この場合、該複数のAV機器2は、同じ論理アドレスを取得してしまう。1組のAVシステム1において、複数のAV機器2が同じ論理アドレスを取得してしまうと、CEC通信が正常に実行できなくなる。
図11は、論理アドレス取得時のアービトレーション処理を説明するタイミングチャートである。
図11(A)は、論理アドレス「2」を取得しようとする第1のAV機器2によるポーリングメッセージの波形である。
図11(B)は、論理アドレス「2」を取得しようとする第2のAV機器2によるポーリングメッセージの波形である。
図11(C)は、シリアルバスライン4で伝送されているポーリングメッセージの波形である。
図11(A)は、論理アドレス「2」を取得しようとする第1のAV機器2によるポーリングメッセージの波形である。
図11(B)は、論理アドレス「2」を取得しようとする第2のAV機器2によるポーリングメッセージの波形である。
図11(C)は、シリアルバスライン4で伝送されているポーリングメッセージの波形である。
図11(A)および(B)に示すように、2台のAV機器2が同時に同一の論理アドレスを取得するためのポーリングメッセージを送信した場合、図11(C)に示すように、シリアルバスライン4で伝送される波形は、各々のポーリングメッセージと同一の波形になる。
この場合、図11(A)の第1のAV機器2の入力ポート部24は、アービトレーションにより負けたと判断することはなく、ポーリングメッセージの送信を継続して完了する。
同様に、図11(B)の第2のAV機器2の入力ポート部24は、アービトレーションにより負けたと判断することはなく、ポーリングメッセージの送信を継続して完了する。
その結果、第1のAV機器2および第2のAV機器2は、共に同じ論理アドレスを取得してしまう。
この場合、図11(A)の第1のAV機器2の入力ポート部24は、アービトレーションにより負けたと判断することはなく、ポーリングメッセージの送信を継続して完了する。
同様に、図11(B)の第2のAV機器2の入力ポート部24は、アービトレーションにより負けたと判断することはなく、ポーリングメッセージの送信を継続して完了する。
その結果、第1のAV機器2および第2のAV機器2は、共に同じ論理アドレスを取得してしまう。
[論理アドレスの重複取得の防止処理]
そこで、本実施形態では、この同一論理アドレスのポーリングメッセージの同時送信に起因する、論理アドレスの重複取得の問題を回避する。
本実施形態の各AV機器2は、図1に示すように乱数発生部26を有する。
CECコントローラ25は、アービトレーション期間中のスタートビットまたは送信元の論理アドレスの各ビットに対応して出力ポート部23から出力するビット波形を、この乱数により変動させる。
以下、その仕組みを、詳しく説明する。
そこで、本実施形態では、この同一論理アドレスのポーリングメッセージの同時送信に起因する、論理アドレスの重複取得の問題を回避する。
本実施形態の各AV機器2は、図1に示すように乱数発生部26を有する。
CECコントローラ25は、アービトレーション期間中のスタートビットまたは送信元の論理アドレスの各ビットに対応して出力ポート部23から出力するビット波形を、この乱数により変動させる。
以下、その仕組みを、詳しく説明する。
図12は、CEC通信に規定されるスタートビットおよびデータビットのビット波形マージンの説明図である。
CEC通信などの各種の通信規格では、伝送するビット波形について中央値、最小値、最大値などを規定する。
図12に示すように、CEC通信のスタートビットのビット波形については、ローインピーダンス期間(、すなわち出力切り替えまでの期間)と、ビット波形の出力期間と、が規定される。
論理アドレスなどのデータビットの論理「0」のビット波形については、ビットの開始点から立ち上がりまでのローインピーダンス期間(、すなわち出力切り替えまでの期間)と、ビットの開始点から次の立ち下がりまでの期間(、すなわちビット波形の出力期間)と、が規定される。
論理アドレスなどのデータビットの論理「1」のビット波形については、ビットの開始点から立ち上がりまでのローインピーダンス期間と、ビットの開始点から立ち下がりまでの出力周期である期間と、が規定される。
CEC通信などの各種の通信規格では、伝送するビット波形について中央値、最小値、最大値などを規定する。
図12に示すように、CEC通信のスタートビットのビット波形については、ローインピーダンス期間(、すなわち出力切り替えまでの期間)と、ビット波形の出力期間と、が規定される。
論理アドレスなどのデータビットの論理「0」のビット波形については、ビットの開始点から立ち上がりまでのローインピーダンス期間(、すなわち出力切り替えまでの期間)と、ビットの開始点から次の立ち下がりまでの期間(、すなわちビット波形の出力期間)と、が規定される。
論理アドレスなどのデータビットの論理「1」のビット波形については、ビットの開始点から立ち上がりまでのローインピーダンス期間と、ビットの開始点から立ち下がりまでの出力周期である期間と、が規定される。
CECコントローラ25は、各ビット波形の最小値から最大値の範囲を満たすビット波形を、出力ポート部23から送信できればよい。
また、CECコントローラ25は、ビット波形が最小値から最大値の範囲内で変動しても、これを入力ポート部24から受信できればよい。
また、CECコントローラ25は、ビット波形が最小値から最大値の範囲内で変動しても、これを入力ポート部24から受信できればよい。
このため、本実施形態では、このCEC通信の規格マージンを満たしながら、アービトレーションによる重複送信を高確率で検出するために、各AV機器2のCECコントローラ25は、各々で発生させた乱数により、出力する各ビット波形での出力切り替えまでの期間と、ビット波形の出力期間とを変動させる。CECコントローラ25は、規格で許されている最小値から最大値の間で意図的に、ビット波形毎にランダムな期間を決定し、そのタイミングで出力を切り替える。
たとえばスタートビットのビット波形または論理アドレスのビット波形について、ハイインピーダンスからローインピーダンスへ切り替えるタイミング、および/または、ローインピーダンスからハイインピーダンスへ切り替えるタイミングを変動させる。
たとえばスタートビットのビット波形または論理アドレスのビット波形について、ハイインピーダンスからローインピーダンスへ切り替えるタイミング、および/または、ローインピーダンスからハイインピーダンスへ切り替えるタイミングを変動させる。
図13は、スタートビットのビット波形について、規格マージンを利用して出力期間を変動させたことによる、コリジョンデテクト状態の説明図である。
図13(A)は、第1のAV機器2のポーリングメッセージにおける、スタートビットのビット波形である。
図13(B)は、第2のAV機器2のポーリングメッセージにおける、スタートビットのビット波形である。
図13(C)は、シリアルバスライン4で伝送されているポーリングメッセージのスタートビットの波形である。
図13(A)は、第1のAV機器2のポーリングメッセージにおける、スタートビットのビット波形である。
図13(B)は、第2のAV機器2のポーリングメッセージにおける、スタートビットのビット波形である。
図13(C)は、シリアルバスライン4で伝送されているポーリングメッセージのスタートビットの波形である。
そして、図13(A)に示す第1のAV機器2のCECコントローラ25は、乱数に基づいてスタートビットのビット波形を変動させ、出力期間の最大値に近い値で、出力ポート部23の出力を切り替える。
これに対し、図13(B)に示す第2のAV機器2のCECコントローラ25は、乱数に基づいてスタートビットのビット波形を変動させ、出力期間の中央値付近で、出力ポート部23の出力を切り替える。
この場合、図13(A)に示す第1のAV機器2のCECコントローラ25は、タイミングT11において、シリアルバスライン4のレベルが、出力ポート部23から送信しているビット波形によるレベルと一致しないことを検出する。CECコントローラ25は、出力ポート部23からのポーリングメッセージの送信を中止する。
これに対し、図13(B)に示す第2のAV機器2のCECコントローラ25は、乱数に基づいてスタートビットのビット波形を変動させ、出力期間の中央値付近で、出力ポート部23の出力を切り替える。
この場合、図13(A)に示す第1のAV機器2のCECコントローラ25は、タイミングT11において、シリアルバスライン4のレベルが、出力ポート部23から送信しているビット波形によるレベルと一致しないことを検出する。CECコントローラ25は、出力ポート部23からのポーリングメッセージの送信を中止する。
これに対し、図13(B)に示す第2のAV機器2のCECコントローラ25は、タイミングT11においても、シリアルバスライン4のレベルが、出力ポート部23から送信しているビット波形によるレベルと一致することを検出する。CECコントローラ25は、ポーリングメッセージの送信を継続して完了する。
このように、各AV機器2のCECコントローラ25が、乱数を用いてビット波形の出力周期を調整した場合、複数のAV機器2が同時に同一の論理アドレスを取得するためのポーリングメッセージの送信を開始したとしても、その中の1個のAV機器2のみが、ポーリングメッセージの送信を完了できるようになる。その結果、該1個のAV機器2のみが、該論理アドレスを取得できる。
このように、各AV機器2のCECコントローラ25が、乱数を用いてビット波形の出力周期を調整した場合、複数のAV機器2が同時に同一の論理アドレスを取得するためのポーリングメッセージの送信を開始したとしても、その中の1個のAV機器2のみが、ポーリングメッセージの送信を完了できるようになる。その結果、該1個のAV機器2のみが、該論理アドレスを取得できる。
なお、図12のスタートビットにおいて衝突が検出できない場合でも、各AV機器2のCECコントローラ25は、アービトレーション期間で送信する送信元の論理アドレスの各ビットのビット波形についても、乱数により波形を変動させる。
その結果、スタートビットのビット波形の出力周期のみを変動させる場合に比べて、ポーリングメッセージの重複送信を検出できる可能性が高くなる。
特に、スタートビットのビット波形の出力周期と、論理アドレスの各ビットのビット波形の出力周期とを共に変動させることにより、ポーリングメッセージの全体の長さが大幅に拡縮する。論理アドレスの最終ビットのビット波形では、大きな波形のずれが生じる可能性が高くなる。このずれにより、重複送信を高い確率で検出できる。
その結果、スタートビットのビット波形の出力周期のみを変動させる場合に比べて、ポーリングメッセージの重複送信を検出できる可能性が高くなる。
特に、スタートビットのビット波形の出力周期と、論理アドレスの各ビットのビット波形の出力周期とを共に変動させることにより、ポーリングメッセージの全体の長さが大幅に拡縮する。論理アドレスの最終ビットのビット波形では、大きな波形のずれが生じる可能性が高くなる。このずれにより、重複送信を高い確率で検出できる。
ところで、このようにCECコントローラ25が、出力するビット波形の出力期間や出力の切替タイミングを変動させる場合、入力ポート部24によりシリアルバスライン4を監視する期間についても、送信するビット波形に応じて変動させる必要がある。
CEC規格では、CECコントローラ25は、アービトレーション期間中に、シリアルバスライン4の状態を監視し、自機の出力ポート部23がハイインピーダンスを出力しているにもかかわらず、シリアルバスライン4がローレベルに制御されたか否かを検出する。そして、ハイインピーダンスの出力中にローレベルに制御されたことを検出すると、CECコントローラ25は、メッセージの送信を中止する。
これに対し、本実施形態のCECコントローラ25は、CEC規格に規定された「Safe Sample Period」だけでなく、出力ポート部23がハイインピーダンスを出力している期間においても、常に、シリアルバスライン4を監視する。
これにより、出力ポート部23がハイインピーダンスを出力している期間と、シリアルバスライン4を監視する期間とを整合できる。出力ポート部23がローインピーダンスを出力している期間において、シリアルバスライン4を監視しないようにできる。
CEC規格では、CECコントローラ25は、アービトレーション期間中に、シリアルバスライン4の状態を監視し、自機の出力ポート部23がハイインピーダンスを出力しているにもかかわらず、シリアルバスライン4がローレベルに制御されたか否かを検出する。そして、ハイインピーダンスの出力中にローレベルに制御されたことを検出すると、CECコントローラ25は、メッセージの送信を中止する。
これに対し、本実施形態のCECコントローラ25は、CEC規格に規定された「Safe Sample Period」だけでなく、出力ポート部23がハイインピーダンスを出力している期間においても、常に、シリアルバスライン4を監視する。
これにより、出力ポート部23がハイインピーダンスを出力している期間と、シリアルバスライン4を監視する期間とを整合できる。出力ポート部23がローインピーダンスを出力している期間において、シリアルバスライン4を監視しないようにできる。
ただし、シリアルバスライン4は、プルアップ抵抗素子22によるオープンコレクタ方式である。このため、出力ポート部23が出力をローインピーダンスからハイインピーダンスへ切り替えても、シリアルバスライン4は、遅れたタイミングでハイレベルへ切り替わる。そのため、入力ポート部24は、出力ポート部23が出力をローインピーダンスからハイインピーダンスへ切り替えた直後は、一定時間、シリアルバスライン4を監視しない。
CEC規格のタイミング規定によると、出力ポート部23が出力をローインピーダンスからハイインピーダンスへ切り替える際に許される一番遅いタイミングと、「Safe Sample Period」の一番早いタイミングとのタイミング差は、50マイクロ秒である。つまり、CEC規格では、出力ポート部23がハイインピーダンスを出力してから、遅くとも50マイクロ秒経過後には、シリアルバスライン4の状態がハイレベルとなること保証している。
よって、本実施形態では、このローインピーダンスからハイインピーダンスへ切り替えた直後の非監視期間を、50マイクロ秒とすればよい。
CEC規格のタイミング規定によると、出力ポート部23が出力をローインピーダンスからハイインピーダンスへ切り替える際に許される一番遅いタイミングと、「Safe Sample Period」の一番早いタイミングとのタイミング差は、50マイクロ秒である。つまり、CEC規格では、出力ポート部23がハイインピーダンスを出力してから、遅くとも50マイクロ秒経過後には、シリアルバスライン4の状態がハイレベルとなること保証している。
よって、本実施形態では、このローインピーダンスからハイインピーダンスへ切り替えた直後の非監視期間を、50マイクロ秒とすればよい。
[ビット波形の変形制御]
次に、ポーリングメッセージのビット波形の変動制御および監視制御について、詳しく説明する。
CECコントローラ25は、ポーリングメッセージを送信する際、ポーリングメッセージのビット毎に送信を制御する。
次に、ポーリングメッセージのビット波形の変動制御および監視制御について、詳しく説明する。
CECコントローラ25は、ポーリングメッセージを送信する際、ポーリングメッセージのビット毎に送信を制御する。
[スタートビットの送信制御]
図14は、ポーリングメッセージのスタートビットの送信制御のフローチャートである。
ポーリングメッセージを送信する場合、CECコントローラ25は、まず、シリアルバスライン4がフリー状態であるか否かを確認する(ステップST1)。入力ポート部24の入力レベルが、ハイレベルである場合、フリー状態であると判断すればよい。逆に、ローレベルである場合、フリー状態でないと判断すればよい。
フリー状態でない場合、CECコントローラ25は、ポーリングメッセージの送信をキャンセル(中止)する(ステップST13)。CECコントローラ25は、たとえば所定の待ち時間の後に、再びポーリングメッセージの送信を試みる。
図14は、ポーリングメッセージのスタートビットの送信制御のフローチャートである。
ポーリングメッセージを送信する場合、CECコントローラ25は、まず、シリアルバスライン4がフリー状態であるか否かを確認する(ステップST1)。入力ポート部24の入力レベルが、ハイレベルである場合、フリー状態であると判断すればよい。逆に、ローレベルである場合、フリー状態でないと判断すればよい。
フリー状態でない場合、CECコントローラ25は、ポーリングメッセージの送信をキャンセル(中止)する(ステップST13)。CECコントローラ25は、たとえば所定の待ち時間の後に、再びポーリングメッセージの送信を試みる。
シリアルバスライン4がフリー状態である場合、CECコントローラ25は、ポーリングメッセージの送信を開始する。
CECコントローラ25は、スタートビットのビット波形の出力を開始するために、出力ポート部23の出力を、ローインピーダンスに制御する(ステップST2)。シリアルバスライン4は、ローレベルに制御される。
また、CECコントローラ25は、スタートビットの出力開始時点からの経過時間の計測を開始する(ステップST3)。経過時間は、たとえば図示外のタイマにより計測させればよい。
CECコントローラ25は、スタートビットのビット波形の出力を開始するために、出力ポート部23の出力を、ローインピーダンスに制御する(ステップST2)。シリアルバスライン4は、ローレベルに制御される。
また、CECコントローラ25は、スタートビットの出力開始時点からの経過時間の計測を開始する(ステップST3)。経過時間は、たとえば図示外のタイマにより計測させればよい。
次に、CECコントローラ25は、スタートビットのビット波形について、ローインピーダンスに維持する立ち上がりまでの期間と、次のデータビットのための立下りまでの期間とを、決定する(ステップST4)。CECコントローラ25は、たとえば乱数発生部26から取得した乱数に対応した割合で、これらの期間の中央値を増減させる。CECコントローラ25は、決定される期間が、CEC規格での最小値から最大値までの範囲内となるように、演算を実行する。
スタートビットのビット波形を決定した後、CECコントローラ25は、計測時間が、ハイインピーダンスへの切替タイミングなったか否かを判断する(ステップST5)。
ハイインピーダンスへの切替タイミングになると、CECコントローラ25は、出力ポート部23に、ハイインピーダンスを出力させる(ステップST6)。シリアルバスライン4は、ハイインピーダンス状態に制御される。
また、出力ポート部23の出力を切り替えた後、CECコントローラ25は、非監視期間の経過を待つ(ステップST7)。この間に、ハイインピーダンス状態に制御されたシリアルバスライン4の電位は、プルアップ抵抗素子22によりローレベルからハイレベルへ変化する。
ハイインピーダンスへの切替タイミングになると、CECコントローラ25は、出力ポート部23に、ハイインピーダンスを出力させる(ステップST6)。シリアルバスライン4は、ハイインピーダンス状態に制御される。
また、出力ポート部23の出力を切り替えた後、CECコントローラ25は、非監視期間の経過を待つ(ステップST7)。この間に、ハイインピーダンス状態に制御されたシリアルバスライン4の電位は、プルアップ抵抗素子22によりローレベルからハイレベルへ変化する。
出力をハイインピーダンスに制御している非監視期間が経過すると、CECコントローラ25は、計測時間が、さらに、次のデータビットのためのロー出力タイミングになったか否かを判断する(ステップST8)。
次のデータビットのためのロー出力タイミングになると、CECコントローラ25は、シリアルバスライン4の状態を確認する(ステップST9)。CECコントローラ25は、入力ポート部24の入力レベルを確認する。CECコントローラ25は、ステップST9を実行する監視タイミングにおいて、シリアルバスライン4の状態を監視する。
そして、この次のデータビットのためのロー出力タイミングにおいて、自らのロー出力前に、シリアルバスライン4がローレベルになっている場合(ステップST10でYesの場合)、CECコントローラ25は、コリジョンデテクトと判断し、ポーリングメッセージの送信を終了する(ステップST14)。
次のデータビットのためのロー出力タイミングになると、CECコントローラ25は、シリアルバスライン4の状態を確認する(ステップST9)。CECコントローラ25は、入力ポート部24の入力レベルを確認する。CECコントローラ25は、ステップST9を実行する監視タイミングにおいて、シリアルバスライン4の状態を監視する。
そして、この次のデータビットのためのロー出力タイミングにおいて、自らのロー出力前に、シリアルバスライン4がローレベルになっている場合(ステップST10でYesの場合)、CECコントローラ25は、コリジョンデテクトと判断し、ポーリングメッセージの送信を終了する(ステップST14)。
これに対し、シリアルバスライン4がハイレベルである場合(ステップST10でNoの場合)、CECコントローラ25は、他のAV機器2がメッセージを通信していないと判断し、ポーリングメッセージの送信を継続する。CECコントローラ25は、論理アドレスの先頭ビットの出力のために、出力ポート部23からローインピーダンスを出力する(ステップST11)。シリアルバスライン4は、ローインピーダンス状態に制御される。
CECコントローラ25は、ポーリングメッセージの送信を継続する(ステップST12)。
CECコントローラ25は、ポーリングメッセージの送信を継続する(ステップST12)。
[送信元の論理アドレスの各ビットの送信制御]
図15は、ポーリングメッセージの送信元の論理アドレスの各ビットの送信制御のフローチャートである。
CECコントローラ25は、ポーリングメッセージのスタートビット後の送信元の論理アドレスの送信において、論理アドレスのビット毎に、図15のビット送信制御を実行する。
図15は、ポーリングメッセージの送信元の論理アドレスの各ビットの送信制御のフローチャートである。
CECコントローラ25は、ポーリングメッセージのスタートビット後の送信元の論理アドレスの送信において、論理アドレスのビット毎に、図15のビット送信制御を実行する。
送信元の論理アドレスの各ビットのビット波形の送信を開始する場合、CECコントローラ25は、直前のビット波形の送信終了時に、ローインピーダンスを出力している(ステップST21)。CECコントローラ25は、ローインピーダンスの出力開始時点からの経過時間の計測を開始する(ステップST22)。
次に、CECコントローラ25は、論理アドレスの各ビットの値に応じて、「0」用のビット波形、または「1」用のビット波形を選択する。
また、CECコントローラ25は、選択したビット波形について、ハイインピーダンスの出力を開始するまでの、ローインピーダンスに維持する期間と、次のデータビットまでのビットの出力期間と、を決定する(ステップST23)。CECコントローラ25は、たとえば乱数発生部26から取得した乱数に対応した割合で、これらの期間の中央値を増減させる。CECコントローラ25は、決定される期間が、CEC規格での最小値から最大値までの範囲内となるように、演算を実行する。
また、CECコントローラ25は、選択したビット波形について、ハイインピーダンスの出力を開始するまでの、ローインピーダンスに維持する期間と、次のデータビットまでのビットの出力期間と、を決定する(ステップST23)。CECコントローラ25は、たとえば乱数発生部26から取得した乱数に対応した割合で、これらの期間の中央値を増減させる。CECコントローラ25は、決定される期間が、CEC規格での最小値から最大値までの範囲内となるように、演算を実行する。
次に、CECコントローラ25は、計測時間が、ハイインピーダンスへの切替タイミングなったか否かを判断する(ステップST24)。
ハイインピーダンスへの切替タイミングになると、CECコントローラ25は、出力ポート部23から、ハイインピーダンスを出力する(ステップST25)。シリアルバスライン4は、ハイインピーダンス状態に制御される。
また、出力ポート部23の出力を切り替えた後、CECコントローラ25は、非監視期間の経過を待つ(ステップST26)。この間に、ハイインピーダンス状態に制御されたシリアルバスライン4の電位は、プルアップ抵抗素子22によりローレベルからハイレベルへ変化する。
ハイインピーダンスへの切替タイミングになると、CECコントローラ25は、出力ポート部23から、ハイインピーダンスを出力する(ステップST25)。シリアルバスライン4は、ハイインピーダンス状態に制御される。
また、出力ポート部23の出力を切り替えた後、CECコントローラ25は、非監視期間の経過を待つ(ステップST26)。この間に、ハイインピーダンス状態に制御されたシリアルバスライン4の電位は、プルアップ抵抗素子22によりローレベルからハイレベルへ変化する。
非監視期間が経過すると、CECコントローラ25は、シリアルバスライン4の状態を確認する(ステップST27)。CECコントローラ25は、入力ポート部24の入力レベルを確認する。
そして、シリアルバスライン4がローレベルになっている場合(ステップST28でYesの場合)、CECコントローラ25は、コリジョンデテクトと判断し、ポーリングメッセージの送信を中止する(ステップST32)。
そして、シリアルバスライン4がローレベルになっている場合(ステップST28でYesの場合)、CECコントローラ25は、コリジョンデテクトと判断し、ポーリングメッセージの送信を中止する(ステップST32)。
逆に、シリアルバスライン4がローレベルでない場合(ステップST28でNoの場合)、CECコントローラ25は、計測時間が、次のデータビットのためのロー出力タイミングになったか否かを判断する(ステップST29)。
CECコントローラ25は、計測時間がロー出力タイミングになるまで、シリアルバスライン4の状態を確認し、コリジョンデテクトを判断する(ステップST27〜ST29)。CECコントローラ25は、ステップST27〜ST29を実行する監視期間において、シリアルバスライン4の状態を監視する。
CECコントローラ25は、計測時間がロー出力タイミングになるまで、シリアルバスライン4の状態を確認し、コリジョンデテクトを判断する(ステップST27〜ST29)。CECコントローラ25は、ステップST27〜ST29を実行する監視期間において、シリアルバスライン4の状態を監視する。
コリジョンデテクトと判断することなく、計測時間がロー出力タイミングになると、CECコントローラ25は、他のAV機器2が通信していないと判断し、ポーリングメッセージの送信を継続する。
CECコントローラ25は、論理アドレスの次のビット等の出力のために、出力ポート部23を、ローインピーダンス出力に切り替える(ステップST30)。シリアルバスライン4は、ローインピーダンス状態に制御される。CECコントローラ25は、ポーリングメッセージの送信を継続する(ステップST31)。
CECコントローラ25は、論理アドレスの次のビット等の出力のために、出力ポート部23を、ローインピーダンス出力に切り替える(ステップST30)。シリアルバスライン4は、ローインピーダンス状態に制御される。CECコントローラ25は、ポーリングメッセージの送信を継続する(ステップST31)。
[実施形態の主な効果]
以上のように、本実施形態のAV機器2のCECコントローラ25は、論理アドレスを取得するためのポーリングメッセージを送信する際に、該メッセージのスタートビットおよび送信元の論理アドレスの各ビットに対応する複数のビット波形を、乱数に基づいてランダムに変形する。
よって、仮にたとえばシリアルバスライン4に接続された複数のAV機器2が、同時に、同一の論理アドレスを含むポーリングメッセージを送信することがあったとしても、これらのポーリングメッセージに対応する信号波形は、AV機器2毎に異なる。シリアルバスライン4の状態は、互いに異なる複数の信号波形の中の、1の信号波形にしたがう。
論理アドレスを含むポーリングメッセージを送信しているAV機器2のCECコントローラ25は、このビット波形の相違を、出力ポート部23の出力インピーダンスから予想されるシリアルバスライン4のレベルと、入力ポート部24により検出されるシリアルバスライン4の実際のレベルとの相違として検出でき、ビット波形の相違を検出したタイミングで、論理アドレスを含むポーリングメッセージの送信を中止できる。
その結果、本実施形態では、同時に、同一の論理アドレスを含むポーリングメッセージを送信した複数のAV機器2の中で、1のAV機器2のみが、ポーリングメッセージの送信を完了でき、論理アドレスが重複して取得されないようにできる。CEC規格違反の状態が発生しないようにできる。
以上のように、本実施形態のAV機器2のCECコントローラ25は、論理アドレスを取得するためのポーリングメッセージを送信する際に、該メッセージのスタートビットおよび送信元の論理アドレスの各ビットに対応する複数のビット波形を、乱数に基づいてランダムに変形する。
よって、仮にたとえばシリアルバスライン4に接続された複数のAV機器2が、同時に、同一の論理アドレスを含むポーリングメッセージを送信することがあったとしても、これらのポーリングメッセージに対応する信号波形は、AV機器2毎に異なる。シリアルバスライン4の状態は、互いに異なる複数の信号波形の中の、1の信号波形にしたがう。
論理アドレスを含むポーリングメッセージを送信しているAV機器2のCECコントローラ25は、このビット波形の相違を、出力ポート部23の出力インピーダンスから予想されるシリアルバスライン4のレベルと、入力ポート部24により検出されるシリアルバスライン4の実際のレベルとの相違として検出でき、ビット波形の相違を検出したタイミングで、論理アドレスを含むポーリングメッセージの送信を中止できる。
その結果、本実施形態では、同時に、同一の論理アドレスを含むポーリングメッセージを送信した複数のAV機器2の中で、1のAV機器2のみが、ポーリングメッセージの送信を完了でき、論理アドレスが重複して取得されないようにできる。CEC規格違反の状態が発生しないようにできる。
特に、本実施形態では、ポーリンクメッセージの先頭で送信されるスタートビットおよび送信元の論理アドレスのすべてのビットについて、ビット波形の出力周期等を調整する。これにより、ポーリンクメッセージに対応する信号波形は、全体の長さが伸び縮みする。送信元の論理アドレスまたはそれに続くデータビットのビット波形では、スタートビットなどの出力周期により、出力タイミングが前後にずれる。累積的な波形のずれによりポーリングメッセージの重複送信を検出し易くなる。
その結果、AVシステム1に、たとえば本実施形態のビット波形調整機能を備えていないAV機器2が存在したとしても、このAV機器2との間で重複した論理アドレスを取得しないようにできる可能性を高めることができる。
その結果、AVシステム1に、たとえば本実施形態のビット波形調整機能を備えていないAV機器2が存在したとしても、このAV機器2との間で重複した論理アドレスを取得しないようにできる可能性を高めることができる。
また、本実施形態では、CECコントローラ25は、ポーリングメッセージの送信中、常にシリアルバスライン4の状態を監視する。詳しくは、アービトレーション期間において出力ポート部23がハイインピーダンスを出力する期間において、常にシリアルバスライン4の状態を監視する。
そして、このCECコントローラ25がシリアルバスライン4の状態を監視する期間についても、ビット波形とともに調整される。
これにより、仮にたとえばCEC規格での標準のように「Safe Sample Period」でしかシリアルバスライン4の状態を検出しない場合に比べて、重複して送信されている複数のポーリングメッセージの波形のずれを検出できる可能性を高めることができる。
そして、このCECコントローラ25がシリアルバスライン4の状態を監視する期間についても、ビット波形とともに調整される。
これにより、仮にたとえばCEC規格での標準のように「Safe Sample Period」でしかシリアルバスライン4の状態を検出しない場合に比べて、重複して送信されている複数のポーリングメッセージの波形のずれを検出できる可能性を高めることができる。
また、本実施形態では、出力ポート部23の出力がローインピーダンスからハイインピーダンスへ切り替えられた直後に、非監視期間を設ける。
このような監視の不感帯を設けることにより、CECコントローラ25は、出力ポート部23がハイインピーダンスを出力している期間においてシリアルバスライン4がローレベルからハイレベルに切り替わる過度期間の状態を、ローインピーダンスに制御されたと誤って判断しないようにできる。
このような監視の不感帯を設けることにより、CECコントローラ25は、出力ポート部23がハイインピーダンスを出力している期間においてシリアルバスライン4がローレベルからハイレベルに切り替わる過度期間の状態を、ローインピーダンスに制御されたと誤って判断しないようにできる。
以上の実施形態は、本発明の好適な実施形態の例であるが、本発明は、これに限定されるものではなく、発明の要旨を逸脱しない範囲において、種々の変形または変更が可能である。
たとえば上記実施形態では、ポーリングメッセージのスタートビットおよび送信元の論理アドレスの出力期間を、CECコントローラ25が監視を実行するアービトレーション期間としている。この他にもたとえば、ポーリングメッセージの全体を、アービトレーション期間としてもよい。また、CECコントローラ25は、ポーリングメッセージ以外のメッセージについても、シリアルバスライン4の状態を監視し、その状態に応じてメッセージの送信を中止してもよい。
上記実施形態では、CECコントローラ25は、アービトレーション期間で出力するすべてのビット波形について、ランダムな波形制御を実行している。
この他にもたとえば、CECコントローラ25は、スタートビットおよび送信先の論理アドレスの複数のビットの中の、少なくとも1つのビットのビット波形について、ランダムな波形制御を実行してよい。
また、CECコントローラ25は、送信先の論理アドレスのビット、その他のデータビットのビット波形についてランダムな波形制御を実行し、監視してもよい。
この他にもたとえば、CECコントローラ25は、スタートビットおよび送信先の論理アドレスの複数のビットの中の、少なくとも1つのビットのビット波形について、ランダムな波形制御を実行してよい。
また、CECコントローラ25は、送信先の論理アドレスのビット、その他のデータビットのビット波形についてランダムな波形制御を実行し、監視してもよい。
上記実施形態では、CECコントローラ25は、スタートビットの出力の際には、次のビットを出力する直前のタイミングにおいて、シリアルバスライン4の状態を監視し、送信元の論理アドレスの各ビットの出力の際には、過度期間を除いたハイインピーダンスを出力している非制御期間の全体において、シリアルバスライン4の状態を監視している。
この他にもたとえば、CECコントローラ25は、スタートビットの出力の際に、過度期間を除いたハイインピーダンスを出力している非制御期間の全体について、シリアルバスライン4の状態を監視してもよい。
また、CECコントローラ25は、論理アドレスの各ビットの出力の際に、次のビットを出力する直前のタイミングについて、シリアルバスライン4の状態を監視してもよい。
この他にもたとえば、CECコントローラ25は、スタートビットの出力の際に、過度期間を除いたハイインピーダンスを出力している非制御期間の全体について、シリアルバスライン4の状態を監視してもよい。
また、CECコントローラ25は、論理アドレスの各ビットの出力の際に、次のビットを出力する直前のタイミングについて、シリアルバスライン4の状態を監視してもよい。
上記実施形態は、本発明をCEC通信での論理アドレス取得に適用した例である。
本発明は、これ以外の通信規格において、論理アドレスなどの識別情報の空きを通信により確認して取得する場合に適用できる。
本発明は、これ以外の通信規格において、論理アドレスなどの識別情報の空きを通信により確認して取得する場合に適用できる。
上記実施形態は、本発明を、AV機器2に適用した例である。
本発明は、AV機器2以外の電子機器について、通信機能を備えるものであれば適用できる。たとえば、携帯電話機、多機能携帯端末などに適用できる。また、複数の通信機器は、有線で接続されても、無線で接続されてもよい。
本発明は、AV機器2以外の電子機器について、通信機能を備えるものであれば適用できる。たとえば、携帯電話機、多機能携帯端末などに適用できる。また、複数の通信機器は、有線で接続されても、無線で接続されてもよい。
1 AVシステム
2 AV機器(通信機器)
3 HDMIケーブル
4 シリアルバスライン(信号線)
21 内部信号線
22 プルアップ抵抗素子
23 出力ポート部(出力部)
24 入力ポート部(入力部)
25 CECコントローラ(制御部)
26 乱数発生部
2 AV機器(通信機器)
3 HDMIケーブル
4 シリアルバスライン(信号線)
21 内部信号線
22 プルアップ抵抗素子
23 出力ポート部(出力部)
24 入力ポート部(入力部)
25 CECコントローラ(制御部)
26 乱数発生部
Claims (9)
- 信号線により他の通信機器と接続され、前記信号線を通じて前記他の通信機器と通信データを送受する通信機器であって、
自らが取得しようとする識別情報を含む通信データに対応する信号を前記信号線へ出力する出力部と、
前記通信データを、該通信データの各ビットに対応するビット波形を含む信号であって、ランダムに波形が変動するビット波形を少なくとも1つ含む信号へ変換して、前記出力部から出力させる制御部と、
を有することを特徴とする通信機器。 - 前記制御部は、
前記通信データの送信中に、前記信号線の状態の監視し、
前記出力部により出力された前記通信データに含まれる識別情報に対し、前記他の通信機器からの応答が無い場合に、前記識別情報を自らの識別情報として取得し、
前記信号線の状態が、前記出力部の出力から予想される応答と相違する場合に、前記通信データの送信を中止する、
ことを特徴とする請求項1に記載の通信機器。 - 前記制御部は、
前記出力部からビット波形が出力される度に、前記出力部の出力から予想される前記信号線のレベルと、前記入力部により検出される前記信号線のレベルとの相違を判断し、相違が判断された時点で、前記識別情報を含む通信データの送信を中止する、
ことを特徴とする請求項1または2記載の通信機器。 - 前記出力部から前記信号線へ出力される前記信号波形は、
該信号波形の先頭部分に含まれるビット波形について、ビット波形の出力期間および該出力期間中でのレベル切替タイミングの中の少なくとも一方を、ランダムに変動させる、
ことを特徴とする請求項1から3のいずれか一項記載の通信機器。 - 前記信号線を第1電位に接続する抵抗素子を有し、
各ビット波形の出力期間は、前記出力部が前記信号線を、前記第1電位とは異なる第2電位に制御する制御期間と、前記第2電位に制御しない非制御期間とを含み、
前記制御部は、各ビット波形の前記非制御期間において前記信号線のレベルを監視し、前記信号線のレベルが前記第1電位でない場合、前記識別情報を含む通信データの送信を中止する、
ことを特徴とする請求項1から4のいずれか一項記載の通信機器。 - 前記制御部は、
前記出力部の出力が第2電位に制御する状態から第2電位に制御しない状態に切り替わった後の過度期間では、前記非制御期間であっても、前記信号線のレベルを監視しない、
ことを特徴とする請求項5記載の通信機器。 - 信号線により他の通信機器と接続され、前記信号線を通じて前記他の通信機器と通信データを送受する通信機器による識別情報の取得方法であって、
前記通信機器は、
自らが取得しようとする識別情報を含む通信データを送信する際に、該通信データの各ビットに対応するビット波形を含む信号であって、ランダムに波形が変動するビット波形を少なくとも1つ含む信号へ変換し、前記信号線へ出力する、
ことを特徴とする識別情報の取得方法。 - 信号線により他の通信機器と接続され、前記信号線を通じて前記他の通信機器と通信データを送受する通信機器のコンピュータにより実行されるプログラムであって、
前記コンピュータが、
自らが取得しようとする識別情報を含む通信データを送信する際に、該通信データの各ビットに対応するビット波形を含む信号であって、ランダムに波形が変動するビット波形を少なくとも1つ含む信号へ変換し、前記信号線へ出力させる、
ことを特徴とするプログラム。 - 信号線により他の通信機器と接続され、前記信号線を通じて前記他の通信機器と通信データを送受する通信機器のコンピュータにより実行されるプログラムを記録した記録媒体であって、
前記コンピュータが、
自らが取得しようとする識別情報を含む通信データを送信する際に、該通信データの各ビットに対応するビット波形を含む信号であって、ランダムに波形が変動するビット波形を少なくとも1つ含む信号へ変換し、前記信号線へ出力させる、
ことを特徴とするプログラムを記録したコンピュータ読取可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012017939A JP2013157851A (ja) | 2012-01-31 | 2012-01-31 | 通信機器、識別情報の取得方法、プログラム、および記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012017939A JP2013157851A (ja) | 2012-01-31 | 2012-01-31 | 通信機器、識別情報の取得方法、プログラム、および記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013157851A true JP2013157851A (ja) | 2013-08-15 |
Family
ID=49052632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012017939A Pending JP2013157851A (ja) | 2012-01-31 | 2012-01-31 | 通信機器、識別情報の取得方法、プログラム、および記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013157851A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018155271A1 (ja) * | 2017-02-21 | 2018-08-30 | Necエナジーデバイス株式会社 | 電池モジュール、制御方法、プログラム、及び情報処理システム |
CN110639192A (zh) * | 2019-08-20 | 2020-01-03 | 苏宁智能终端有限公司 | 一种运动设备步数计算方法、步数核算方法及装置 |
-
2012
- 2012-01-31 JP JP2012017939A patent/JP2013157851A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018155271A1 (ja) * | 2017-02-21 | 2018-08-30 | Necエナジーデバイス株式会社 | 電池モジュール、制御方法、プログラム、及び情報処理システム |
JPWO2018155271A1 (ja) * | 2017-02-21 | 2019-12-12 | 株式会社エンビジョンAescエナジーデバイス | 電池モジュール、制御方法、プログラム、及び情報処理システム |
US11108589B2 (en) | 2017-02-21 | 2021-08-31 | Envision Aesc Energy Devices Ltd. | Battery module, control method, program, and information processing system |
CN110639192A (zh) * | 2019-08-20 | 2020-01-03 | 苏宁智能终端有限公司 | 一种运动设备步数计算方法、步数核算方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7668995B2 (en) | IIC bus communication system capable of suppressing freeze of IIC bus communication and method for controlling IIC bus communication | |
US20150089094A1 (en) | Determination of Physical Connectivity Status of Devices Based on Electrical Measurement | |
WO2009078507A1 (en) | Serial communication system and id grant method thereof | |
CN107465957B (zh) | 智能电视快速连接arc功放设备的方法 | |
EP3605348B1 (en) | Communication device, communication method, program, and communication system | |
JP2016042688A (ja) | 複数のスレーブ装置を用いるエッジベースの通信 | |
JP2010015403A (ja) | Cec通信装置、それを用いた映像音響装置およびcec通信方法 | |
JP2009130680A (ja) | 通信システム、電子機器、および通信方法 | |
US10721022B2 (en) | Communication apparatus, communication method, program, and communication system | |
CN113645112A (zh) | 一种总线通讯控制电路及其控制方法 | |
US10013374B2 (en) | Bidirectional communication method between a master terminal and a slave terminal on a single transmission line | |
JP2013157851A (ja) | 通信機器、識別情報の取得方法、プログラム、および記録媒体 | |
US8074004B2 (en) | Electronic device for contention detection of bidirectional bus and related method | |
JP6894043B2 (ja) | Dsiプロトコルに基づいて自動車両におけるセンサ装置を動作させるための方法 | |
US9569387B2 (en) | Master-slave detection method and master-slave detection circuit | |
US9372744B2 (en) | Method for detecting failure and slave station for use in same | |
CN107465487B (zh) | 一种总线数据发送方法、系统和分设备 | |
US11791934B2 (en) | Communication device, communication method, program, and communication system | |
JP6903645B2 (ja) | 通信装置、通信方法、プログラム、および、通信システム | |
JP6375922B2 (ja) | 映像送信装置およびエラー検出方法 | |
EP3285437B1 (en) | Electronic device and communications method thereof | |
KR20190008196A (ko) | 통신 장치, 통신 방법, 프로그램, 및, 통신 시스템 | |
JP5120994B1 (ja) | 伝送クロック信号異常検出方式、およびその方式に使用する子局ターミナル | |
JP7213100B2 (ja) | 電子機器 | |
US11493944B2 (en) | Electronic device system and power delivery method |