(57)【特許請求の範囲】
【請求項１】
Ｂｉｐｈａｓｅ  Ｍａｒｋ  Ｃｏｄｅ（ＢＭＣ）方式によりエンコードされた受信信号の変化エッジを検出するエッジ検出部と、
前記変化エッジ間の期間であるインターバル値を測定するインターバル測定部と、
複数の前記インターバル値を用いて、第１の閾値に基づき第２の閾値を算出する閾値決定部と、
前記第２の閾値を用いて前記受信信号をデコードするＢＭＣデコード部と、を有し、
前記第１の閾値は、前記算出する際の初期値として与えられ、
前記閾値決定部は、前記複数のインターバル値の各々が前記第１の閾値よりも長いか短いかの判定を行い、
前記複数のインターバル値の長短の並びが所定の組み合わせだった場合に、前記複数のインターバル値の各々と前記第1の閾値との差分に基づき前記第２の閾値を生成する
ＢＭＣ処理回路。
【請求項２】
Ｂｉｐｈａｓｅ  Ｍａｒｋ  Ｃｏｄｅ（ＢＭＣ）方式によりエンコードされた受信信号の変化エッジを検出するエッジ検出部と、
前記変化エッジ間の期間であるインターバル値を測定するインターバル測定部と、
複数の前記インターバル値を用いて、第１の閾値に基づき第２の閾値を算出する閾値決定部と、
前記第２の閾値を用いて前記受信信号をデコードするＢＭＣデコード部と、を有し、
前記第１の閾値は、前記算出する際の初期値として与えられ、
前記インターバル測定部が、複数の前記インターバル値に基づいて前記第１の閾値を生成し、
前記インターバル測定部は、複数の前記インターバル値のうち最長の前記インターバル値を検出し、
最長の前記インターバル値との順序関係に基づいて、２番目に長い前記インターバル値
を推定し、
最長の前記インターバル値及び２番目に長い前記インターバル値の平均値と、その余の
前記インターバル値の平均値と、に基づいて前記第１の閾値を生成する
ＢＭＣ処理回路。
【請求項３】
Ｂｉｐｈａｓｅ  Ｍａｒｋ  Ｃｏｄｅ（ＢＭＣ）方式によりエンコードされた受信信号の変化エッジを検出するエッジ検出部と、
前記変化エッジ間の期間であるインターバル値を測定するインターバル測定部と、
複数の前記インターバル値を用いて、第１の閾値に基づき第２の閾値を算出する閾値決定部と、
前記第２の閾値を用いて前記受信信号をデコードするＢＭＣデコード部と、を有し、
前記第１の閾値は、前記算出する際の初期値として与えられ、
前記インターバル測定部が、複数の前記インターバル値に基づいて前記第１の閾値を生成し、
前記インターバル測定部は、複数の前記インターバル値のうち最長の前記インターバル値及び２番目に長い前記インターバル値を検出し、
最長の前記インターバル値及び２番目に長い前記インターバル値の平均値と、その余の前記インターバル値の平均値と、に基づいて前記第１の閾値を生成する
ＢＭＣ処理回路。
【請求項４】
前記インターバル測定部はさらに、前記検出された最長の前記インターバル値及び２番目に長い前記インターバル値の位置関係が、予め期待されたものであるか否かを検証する
請求項３記載のＢＭＣ処理回路。
【請求項５】
前記閾値決定部は、前記第２の閾値を複数回算出し、
前記ＢＭＣデコード部は、複数の前記第２の閾値の平均値を用いて前記受信信号をデコードする
請求項１乃至４いずれか１項記載のＢＭＣ処理回路。
【請求項６】
前記受信信号として、パケットのプリアンブル部分が用いられる
請求項１乃至５いずれか１項記載のＢＭＣ処理回路。
【請求項７】
前記第１の閾値及び前記第２の閾値のうち少なくともいずれか一方を格納する閾値格納部をさらに有し、
前記閾値決定部は、前記生成した前記第２の閾値により、前記閾値格納部を更新する
請求項１乃至６いずれか１項記載のＢＭＣ処理回路。
【請求項８】
ケーブルの通信線に接続されるＣＣ接続部と、
前記ケーブルの電力線に接続されるＶＢＵＳ接続部と、
前記ＣＣ接続部より前記受信信号を入力する請求項１乃至７いずれか１項記載の前記ＢＭＣ処理回路と、
前記ＢＭＣ処理回路がデコードした前記受信信号に基づいて、前記電力線にかかる電力制御を行う制御部と、を有する
ＵＳＢパワーデリバリコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＢＭＣ処理回路、ＵＳＢパワーデリバリコントローラ、ＢＭＣ受信方法及びプログラムに関し、例えば低消費電力で安定したＢＭＣ（Ｂｉｐｈａｓｅ  Ｍａｒｋ  Ｃｏｄｅ）の受信処理技術に関する。
【背景技術】
【０００２】
ＵＳＢ  Ｐｏｗｅｒ  Ｄｅｌｉｖｅｒｙは、ＵＳＢケーブルを通した電力供給の制御を行う規格である。ＵＳＢ  Ｐｏｗｅｒ  Ｄｅｌｉｖｅｒｙ規格においては、ＢＭＣ（ＢＩＰＨＡＳＥ  ＭＡＲＫ  ＣＯＤＥ）方式で情報通信を行うことにより、電力供給装置（Ｓｏｕｒｃｅ）及び電力消費装置（Ｓｉｎｋ）が電力供給にかかるネゴシエーションを行い得ることが規定されている。
【０００３】
ＢＭＣ方式は、従来、特にオーディオ信号の伝送分野において広く用いられてきた情報伝送方式である。
【０００４】
例えば特許文献１には、送信装置及び受信装置が、ＳＰＤＩＦ，ＥＳ３（Ａｕｄｉｏ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｓｏｃｉｅｔｙ３）フォーマットに従い、ＢＭＣ方式を使用して同期タイミングのネゴシエーションを行う手法が記載されている。具体的には、受信側装置は、受信パケットのプリアンブルが“Ｂ”（１１１０１０００又は０００１０１１１）、“Ｍ”（１１１０００１０又は０００１１１０１）、“Ｗ”（１１１００１００又は０００１１０１１）のいずれであるかに応じて、同期タイミングを“０．５Ｔ”、“１Ｔ”、“１．５Ｔ”のうちいずれか１つに決定する。
【０００５】
また、特許文献１記載の手法では、受信装置は、受信パケットのプリアンブルにおいて、受信信号のＨｉｇｈ期間を２期間分及びＬｏｗ期間を２期間分計測することにより、転送ビットレートの検出及びビット境界の検出を行う（ＦＩＧ．４Ａ及び４Ｂ参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国特許出願公開第２０１１／０２６１９６９号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１記載の手法は、受信パケットのプリアンブルがＳＰＤＩＦ規定のフォーマットであることを前提としており、受信装置における処理フローもＳＰＤＩＦに特化されたものとなる。そのため、ＵＳＢ  Ｐｏｗｅｒ  Ｄｅｌｉｖｅｒｙ規格にそったプリアンブルを持つ受信パケットを処理できない。
【０００８】
また、特許文献１記載の手法では、受信装置は”０．５Ｔ”、”１Ｔ”、”１．５Ｔ”の３種類のタイミングパラメータを使用して受信処理を行っている。そのため、ＲＡＴＥの決定において、受信した４つの信号幅から、”０．５Ｔ”、”１Ｔ”、”１．５Ｔ”の３つのタイミングパラメータのそれぞれに対して定義されたＭＩＮ−ＭＡＸの範囲に含まれているかどうか、および含まれている場合には３つのタイミングパラメータのどれに対応しているのかを繰り返し判定し、管理することが必要となり、処理が複雑になる。
【０００９】
さらに、特許文献１記載の手法は、受信信号のＨｉｇｈ期間とＬｏｗ期間とを独立に測定してビットを判別する。そのため、受信装置は期間測定のためのカウンタ等の回路を２重に持つことが必要となる。これにより、受信装置の回路規模及び消費電力が増大する可能性がある。
【００１０】
ＵＳＢ  Ｐｏｗｅｒ  Ｄｅｌｉｖｅｒｙ規格においては、ＢＭＣ方式による情報通信を行う場合、受信パケットに含まれるデータのビットレート（ｆＢｉｔＲａｔｅ）は最低２７０Ｋｂｐｓ〜最高３３０Ｋｂｐｓ、１ビット分のデータを示す信号の期間（ｔＵｎｉｔＩｎｔｅｒｖａｌ）は最低３．０３ｕｓ〜最高３．７０ｕｓと、それぞれ範囲が規定されている。すなわち、同規格においては、ビットレート（ｆＢｉｔＲａｔｅ）や１ビット分の信号の期間（ｔＵｎｉｔＩｎｔｅｒｖａｌ）に幅がある。
【００１１】
そのため、ＵＳＢ  Ｐｏｗｅｒ  Ｄｅｌｉｖｅｒｙ規格に準拠する受信装置は、受信パケットに含まれるデータのビットレートや１ビット分の信号の期間にばらつきがあるとしても、ビットを適切に判別できることが必要である。この点、例えば受信信号に対するサンプリングクロックレートを上昇させれば、ビットの判別精度を向上させることは可能である。しかし、サンプリングクロックレートの上昇は消費電力の増大というデメリットを伴う。
【００１２】
加えて、送信装置や受信装置のＧＮＤバウンスに起因する双方のＧＮＤレベルのずれや、受信装置のＬＳＩのレシーバ回路の立上り遅延及び立下り遅延の差異等の影響により、ビットの信号幅が随時変化することがある。したがって、例えば受信装置が２５ＭＨｚのサンプリングクロックレートで受信信号をオーバサンプリングするとしても、固定的なルール（閾値）によりビットの判別を行うならば、上記影響により、安定的な受信状態を維持できないことがある。
【００１３】
したがって、受信装置にあっては、幅のあるビットレート（ｆＢｉｔＲａｔｅ）や１ビット分の信号の期間（ｔＵｎｉｔＩｎｔｅｒｖａｌ）にもサンプリングクロックレートを上昇させることなく対応し、かつビットの信号幅の伸び縮みが発生しても安定した受信処理を実現することが望まれる。
【００１４】
本発明は、このような問題点を解決するためになされたものであり、低消費電力で安定したＢＭＣの受信処理を実現できるＢＭＣ処理回路、ＵＳＢパワーデリバリコントローラ、ＢＭＣ受信方法及びプログラムを提供することを目的とする。
【００１５】
その他の課題と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１６】
一実施の形態によれば、ＢＭＣ処理回路は、Ｂｉｐｈａｓｅ  Ｍａｒｋ  Ｃｏｄｅ（ＢＭＣ）方式によりエンコードされた受信信号から変化エッジを検出するエッジ検出部と、前記変化エッジ間の期間であるインターバル値を測定するインターバル測定部と、複数の前記インターバル値を用いて、第１の閾値を補正して第２の閾値を生成する閾値決定部と、前記第２の閾値を用いて前記受信信号をデコードするＢＭＣデコード部と、を有するものである。
【００１７】
一実施の形態によれば、ＵＳＢパワーデリバリコントローラは、ケーブルの通信線に接続されるＣＣ接続部と、前記ケーブルの電力線に接続されるＶＢＵＳ接続部と、前記ＣＣ接続部より前記受信信号を入力する上記ＢＭＣ処理回路と、前記ＢＭＣ処理回路がデコードした前記受信信号に基づいて、前記電力線にかかる電力制御を行う制御部と、を有するものである。
【００１８】
一実施の形態によれば、ＢＭＣ処理方法は、Ｂｉｐｈａｓｅ  Ｍａｒｋ  Ｃｏｄｅ（ＢＭＣ）方式によりエンコードされた受信信号から変化エッジを検出するエッジ検出ステップと、前記変化エッジ間の期間であるインターバル値を測定するインターバル測定ステップと、複数の前記インターバル値を用いて、第１の閾値を補正して第２の閾値を生成する閾値決定ステップと、前記第２の閾値を用いて前記受信信号をデコードするＢＭＣデコードステップと、を有するものである。
【００１９】
一実施の形態によれば、プログラムは、上記ＢＭＣ処理方法をコンピュータに実行させるものである。
【発明の効果】
【００２０】
本発明により低消費電力で安定したＢＭＣの受信処理を実現できるＢＭＣ処理回路、ＵＳＢパワーデリバリコントローラ、ＢＭＣ受信方法及びプログラムを提供することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の実施の形態１のＢＭＣ処理回路１１００の構成を示す図である。
【図２】本発明の実施の形態１のＢＭＣ処理回路１１００の動作を示す図である。
【図３】本発明の実施の形態１にかかる受信パケットの一例を示す図である。
【図４】本発明の実施の形態１にかかる受信パケットの一例を示す図である。
【図５】本発明の実施の形態１にかかる有効性判定処理を説明する図である。
【図６】本発明の実施の形態２の概要を示す図である。
【図７】本発明の実施の形態２の動作を示す図である。
【図８】本発明の実施の形態２にかかる有効性判定処理を説明する図である。
【図９】本発明の実施の形態３の概要を示す図である。
【図１０】本発明の実施の形態３の動作を示す図である。
【図１１】本発明の実施の形態３にかかる有効性判定処理を説明する図である。
【図１２】本発明の実施の形態１のＵＳＢパワーデリバリコントローラ１０００の構成を示す図である。
【図１３】本発明の実施の形態１のＵＳＢパワーデリバリコントローラ１０００を含むシステムの構成を示す図である。
【発明を実施するための形態】
【００２２】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【００２３】
＜実施の形態１＞
まず、図１、図１２及び図１３を用いて、本発明の実施の形態１にかかるＵＳＢパワーデリバリコントローラ１０００及びＢＭＣ処理回路１１００の構成について説明する。
【００２４】
図１３は、ＵＳＢパワーデリバリコントローラ１０００を含むシステムの全体図である。ＵＳＢパワーデリバリコントローラ１０００は、電力供給装置（Ｓｏｕｒｃｅ）及び電力消費装置（Ｓｉｎｋ）にそれぞれ備えられるコントローラであって、ＵＳＢ  Ｐｏｗｅｒ  Ｄｅｌｉｖｅｒｙ規格に準拠して電力供給又は受給を制御する機能を有する。
【００２５】
電力供給装置及び電力消費装置それぞれに備えられたＵＳＢパワーデリバリコントローラ１０００は、例えばＵＳＢ  Ｔｙｐｅ−Ｃケーブルに含まれる通信線ＣＣ又は電力線ＶＢＵＳを介して相互に通信し、電力制御のためのネゴシエーションを行う。そのネゴシエーションの結果に応じ、電力供給装置のパワーサプライコントローラが、電力線ＶＢＵＳを介して、電力消費装置の負荷に対し電力を供給する。
【００２６】
図１２は、ＵＳＢパワーデリバリコントローラ１０００の構成を示す図である。
【００２７】
ＵＳＢパワーデリバリコントローラ１０００は、ＢＭＣ処理回路１１００、制御部１２００、ＣＣ接続部１３００、ＶＢＵＳ接続部１４００、ＢＦＳＫ処理回路１６００を有する。
【００２８】
ＣＣ接続部１３００は、例えばＵＳＢ  Ｔｙｐｅ−Ｃケーブルの通信線ＣＣに接続される。
【００２９】
ＢＭＣ処理回路１１００は、電力制御のためのネゴシエーションをＢＭＣ方式で実施する回路である。ＢＭＣ処理回路１１００はＣＣ接続部１３００に接続され、通信線ＣＣを介して、対向側のＢＭＣ処理回路１１００と通信を行う。
【００３０】
ＶＢＵＳ接続部１４００は、例えばＵＳＢ  Ｔｙｐｅ−Ｃケーブルの電力線ＶＢＵＳに接続される。
【００３１】
ＢＦＳＫ処理回路１６００は、電力制御のためのネゴシエーションをＢＦＳＫ方式で実施する、公知の回路である。ＢＦＳＫ処理回路１６００はＶＢＵＳ接続部１４００に接続され、電力線ＶＢＵＳを介して、対向側のＢＦＳＫ処理回路１６００と通信を行う。
【００３２】
制御部１２００は、ＢＭＣ処理回路１１００及びＢＦＳＫ処理回路１６００に接続され、上記ネゴシエーションの結果に応じて、電力を供給又は受給すべき旨の要求を受ける。また、制御部１２００は、パワーサプライコントローラ又は負荷に接続され、上記要求に応じて、電力供給又は受給の指示を出力する。
【００３３】
図１は、ＢＭＣ処理回路１１００の構成を示す図である。なお、図１では、図１２で示したＢＭＣ処理回路１１００の構成要素のうち、ＢＭＣの受信に関連する構成要素のみを抜粋し、ＢＭＣの送信のみに用いられるＢＭＣエンコード部を割愛している。
【００３４】
ＢＭＣ処理回路１１００は、デジタルロウパスフィルタ回路１１０１、エッジ検出部１１０２、インターバルカウンタ１１０３、インターバル値格納部１１０４、閾値決定部１１０５、閾値格納部１１０６、及びＢＭＣデコード部１１０７を有する。
【００３５】
デジタルロウパスフィルタ回路１１０１は、通信線ＣＣを介して入力する受信信号からノイズ成分を除去する処理を行う。
【００３６】
エッジ検出部１１０２は、受信信号における信号状態の変化エッジを検出する処理を行う。
【００３７】
インターバルカウンタ１１０３は、受信信号におけるＬｏｗ期間（受信信号がＬｏｗであると認識される状態の継続時間）及びＨｉｇｈ期間（受信信号がＨｉｇｈあると認識される状態の継続時間）を測定し、測定値（インターバル値）をインターバル値格納部１１０４に格納する。
【００３８】
インターバル値格納部１１０４は、インターバルカウンタ１１０３が測定したインターバル値を格納するレジスタである。
【００３９】
閾値決定部１１０５は、インターバル値格納部１１０４に格納されたインターバル値を用いて、受信信号中のビットを判別するためのパラメータである閾値を決定する。
【００４０】
閾値格納部１１０６は、閾値決定部１１０５が決定した閾値を格納するレジスタである。
【００４１】
ＢＭＣデコード部１１０７は、閾値格納部１１０６に格納された閾値を用いて、受信データのデコード処理を行う。
【００４２】
つぎに、図３を用いて、本発明の実施の形態１にかかるＢＭＣ処理回路１１００が受信する、ＵＳＢ  Ｐｏｗｅｒ  Ｄｅｌｉｖｅｒｙ規格のパケットフォーマットについて説明する。
【００４３】
上記規格に準拠するパケットはそれぞれ先頭部分にプリアンブルを有する。プリアンブルは０で始まり、１で終わる、６４ビット分の０，１の繰り返しである。
【００４４】
図４に、上記規格に則ってＢＭＣ方式で符号化されたパケットの一例を示す。ＢＭＣ符号は、１ビットの信号を、Ｕｎｉｔ  Ｉｎｔｅｒｖａｌ（ｔＵｎｉｔＩｎｔｅｒｖａｌ）の期間の信号状態により表したものである。データが０である場合は、ビット境界で反転された信号状態がＵｎｉｔ  Ｉｎｔｅｒｖａｌの期間維持するものとして符号化される。データが１である場合は、ビット境界で反転された信号状態が閾値期間より前に再び変化し、Ｕｎｉｔ  Ｉｎｔｅｒｖａｌの期間が経過した時点では元の信号状態に戻るものとして符号化される。このように、ＢＭＣ符号化された信号はビット境界で必ず信号状態が反転するという特性がある。換言すれば、ＢＭＣ符号には、Ｕｎｉｔ  Ｉｎｔｅｒｖａｌの期間だけＬｏｗ又はＨｉｇｈ期間が維持される“長い”信号と、Ｕｎｉｔ  Ｉｎｔｅｒｖａｌのほぼ１／２の期間だけＬｏｗ又はＨｉｇｈ期間が維持される“短い”信号とが含まれる。そして１つの“長い”信号はビット“０”と解釈され、２つの連続する“短い”信号はビット“１”と解釈される。
【００４５】
つづいて、図２のフローチャートを用いて、本発明の実施の形態１にかかるＢＭＣ処理回路１１００の動作について説明する。
【００４６】
Ｓ２００：ビット無効期間又はパケット受信開始判定
上述のように、ＢＭＣ符号化された信号はビット境界で必ず信号状態が反転する。この特性を利用して、エッジ検出部１１０２は、受信信号から信号状態の変化エッジの有無を検出することにより、ビット無効期間又はパケット受信開始の判定を行う。すなわち、エッジ検出部１１０２は、変化エッジが検出されたとき、パケットの受信が開始されたものと判定する。一方、変化エッジが検出されていない間は、ビットの無効期間すなわちパケットは受信されていないものと判定する。
【００４７】
なお、受信信号が伝送路由来のノイズを含んでいる等の理由により、エッジ検出部１１０２が正しくエッジ検出を行えないことがある。このため、エッジ検出部１１０２によるエッジ検出に先立ち、まずデジタルロウパスフィルタ回路１１０１が、受信信号からノイズ成分の除去を行うことが好ましい。
【００４８】
Ｓ２０１：インターバル値測定及び格納
エッジ検出部１１０２がパケット受信開始の判定を行うと、インターバルカウンタ１１０３が直ちに、次の信号状態の変化エッジが検出されるまでの時間のカウントを開始する。エッジ検出部１１０２が次の信号状態の変化エッジを検出すると、インターバルカウンタ１１０３は、カウンタ値すなわち測定した時間をインターバル値格納部１１０４に格納する。同時に、インターバルカウンタ１１０３は、次の信号状態の変化エッジが検出されるまでの時間のカウントをリスタートする。
【００４９】
Ｓ２０２：所定回数分のインターバル値を格納
本実施の形態では、インターバル値格納部１０３は、連続する６期間のインターバル測定値を格納できるものとする。インターバルカウンタ１１０３は、パケット受信開始から、プリアンブルの冒頭部分にあたる連続する６期間のインターバル値の測定を行い、測定値を格納してゆく。
【００５０】
Ｓ２０３：期待ビットパターン判定
閾値決定部１１０５は、受信信号が、ＵＳＢ  Ｐｏｗｅｒ  Ｄｅｌｉｖｅｒｙ規格に準拠したパケットのプリアンブル部にあたるものか否かを確認する。閾値決定部１１０５はまず、閾値格納部１１０６に予め格納されている、閾値の初期値を取得する。ついで、閾値決定部１１０５は、取得した閾値の初期値を用いて、インターバル値格納部１１０４に格納された６つのインターバル値それぞれについて、それらの長さが“長”“短”いずれにあたるかを判定する。
【００５１】
ここで、閾値とは、受信信号から検出されるインターバル値の長さを、“長”“短”いずれかに分別するための基準値である。すなわち、インターバル値が閾値より小さければ、そのインターバル値の長さは“短”と判定される。インターバル値が閾値以上であれば、そのインターバル値の長さは“長”と判定される。
【００５２】
なお、閾値の初期値は必ずしも閾値格納部１１０６に格納されている必要はなく、例えば図示しない入力インターフェイスから閾値決定部１１０５に入力されても良く、図示しないＲＯＭに記録されていても良い。
【００５３】
また、閾値の初期値としては、上記規格で規定されたｔＵｎｉｔＩｎｔｅｒｖａｌのＭＩＮ−ＭＡＸビットレートにおけるワーストケースに対して、送信装置と受信装置のＧＮＤバウンスによる影響と受信装置の受信特性を考慮したインターバル値を予め算出し、設定しておくことが好ましい。
【００５４】
閾値決定部１１０５は、６つの連続するインターバル値の“長”“短”の判定が終了したならば、それらの判定結果のパターンが、以下の３種類の組合せのいずれかに該当するか否かを判定する。
（１）短  短  長  短  短  長
（２）短  長  短  短  長  短
（３）長  短  短  長  短  短
【００５５】
判定結果のパターンがこれらの３種類のうちいずれかに該当するならば、このビット列はＵＳＢ  Ｐｏｗｅｒ  Ｄｅｌｉｖｅｒｙ規格に準拠したパケットのプリアンブルであると推定される。上述のように、同規格のプリアンブルは“０１０１・・”のパターンが６４ビット分連続する形式であるところ、図５に示すように、このプリアンブルを検出すると、上記３種類のパターンのいずれかになる。したがって、閾値決定部１１０５はこの受信パケットを有効と判定し、Ｓ２０４にかかる閾値補正処理に遷移する。
【００５６】
一方、受信パケットが有効と判定されなかった場合、すなわち受信信号の“長”“短”のパターンが上記３種類のいずれの組合せにも当てはまらない場合、閾値決定部１１０５は、受信信号のプリアンブルを正しく認識できなかったものとして、Ｓ２０４にかかる閾値補正処理をスキップする。
【００５７】
Ｓ２０４：閾値補正
受信パケットが有効と判定された場合、閾値決定部１１０５は、閾値の初期値を補正して、実際に受信した受信信号のデコードに適した新たな閾値を決定する処理を行う。
新たな閾値は、例えば以下の計算式により算出できる。
新たな閾値＝“短い”インターバル値の最長値＋（（ａ）＋（ｂ））／２
（ａ）｜“長い”インターバル値−閾値｜  の最小値
（ｂ）｜“短い”インターバル値−閾値｜  の最小値
【００５８】
Ｓ２０５：所定回数繰返し
インターバルカウンタ１１０３及び閾値決定部１１０５は、Ｓ２０１乃至Ｓ２０５に係る処理を複数回繰返し実施し、複数の新たな閾値を得る。そして、閾値決定部１１０５は、これらの複数の新たな閾値の平均値を、受信信号に含まれるデータのデコードに用いる閾値として決定する。なお、上記繰返し回数は、これらの処理がプリアンブルを対象として実施されている限りにおいて任意である。
【００５９】
Ｓ２０６：新たな閾値を格納
閾値決定部１１０５は、Ｓ２０５において平均化された閾値を、閾値格納部１１０６に格納する。
【００６０】
Ｓ２０７：パケット本体処理
ＢＭＣデコード部１１０７は、Ｓ２０５において算出された新たな閾値を用いて、受信パケットのデータ部分の復号処理を実施する。
【００６１】
本実施の形態においては、インターバルカウンタ１１０３が、受信パケットのプリアンブル期間でインターバル値を測定し、閾値決定部１１０５が、あらかじめ設定された閾値を補正することにより新たな閾値を算出する。これにより、実際の受信パケットに適した閾値を使用した高精度なビット判別ができるため、安定的な受信及び復号を実現できる。
【００６２】
また、本実施の形態では、実際の受信信号からインターバルの長短を認識することで、実際の受信信号に即したビットの判定を行うことができる。
【００６３】
この点、従来の手法は、本実施の形態のように実際の受信信号に基づいて閾値を設定するものではなく、あらかじめ固定的に設定された閾値のみを使用して復号処理を行っていた。この際、閾値は、ビットレートやレシーバの特性ばらつきを考慮に入れて、十分なマージンを持たせて設定する必要がある。そのために、受信信号のサンプリングクロックレートを上げる必要があった。
【００６４】
これに対し、本実施の形態では、実際の受信信号からインターバルの長短を認識できればよいため、従来の手法より低サンプリングクロックレートでよい。したがって、消費電力を増大させることなく、実際の受信信号に即した安定した受信状態を維持することができる。
【００６５】
＜実施の形態２＞
本発明の実施の形態２は、閾値決定部１１０５による閾値の決定方法に特徴を有する。図６に示すように、実施の形態２では、閾値決定部１１０５が、２つの長いインターバル値の平均値と、残り４つの短いインターバル値の平均値と、これらの２つの平均値の平均値を算出することにより、閾値を決定する点に特徴を有する。
【００６６】
なお、実施の形態２にかかるデジタルロウパスフィルタ回路１１０１及びＢＭＣ処理回路１１００の構成は、実施の形態１と同様であるため説明を省略する。
【００６７】
つづいて、図７を用いて、本発明の実施の形態２にかかるＢＭＣ処理回路１１００の動作について説明する。
【００６８】
Ｓ７００：ビット無効期間又はパケット受信開始判定
実施の形態１のＳ２００と同様に、エッジ検出部１１０２は、受信信号から信号状態の変化エッジの有無を検出することにより、ビット無効期間又はパケット受信開始の判定を行う。
【００６９】
Ｓ７０１乃至Ｓ７０２：インターバル値測定、所定回数分のインターバル値を格納
Ｓ２０１と同様に、インターバルカウンタ１１０３がインターバル値を計測し、インターバル値格納部１１０４に格納する。この計測及び格納は、パケット受信開始が判定された時点から６期間分について実施する。この６期間は、通常、プリアンブルの冒頭部分にあたり、“０”“１”がそれぞれ２回ずつエンコードされている部分に相当する。
【００７０】
ここで、本実施の形態のインターバルカウンタ１１０３及びインターバル値格納部１１０４は、６期間における最長のインターバル値を特定する機構を有する。例えば、インターバル値格納部１１０４は、測定されたインターバル値を、Ｉｎｄｅｘ番号１〜６が付されたレジスタに順番に格納する。また、インターバル値格納部１１０４は、その時点で最長のインターバル値が格納されているＩｎｄｅｘ番号を、最長Ｉｎｄｅｘ番号として保持するものとする。
【００７１】
インターバルカウンタ１１０３は、測定したインターバル値をインターバル値格納部１１０４に格納する際に、その新たに格納するインターバル値と、最長Ｉｎｄｅｘ番号のインターバル値と、を比較する。もし新たに格納したインターバル値の方が、最長Ｉｎｄｅｘ番号のインターバル値よりも大きい場合、インターバルカウンタ１１０３は、最長Ｉｎｄｅｘ番号を、新たに格納したインターバル値のＩｎｄｅｘ番号により更新する。インターバルカウンタ１１０３は、６期間分のインターバル値を格納するまでこの処理を繰り返すことにより、６期間における最長のインターバル値を特定することができる。
【００７２】
なお、ここでは最長Ｉｎｄｅｘ番号の更新処理を新たなインターバル値の格納時に行う例を示したが、本実施の形態はこれに限定されるものでなく、例えば全てのインターバル値を格納した後、閾値算出の前処理として、格納された全てのインターバル値をサーチすることで行うこととしても構わない。
【００７３】
Ｓ７０３：閾値算出
閾値決定部１１０５は、インターバル値格納部１１０４に格納されている６期間のインターバル値を使用して、閾値を算出する。本実施の形態ではまず、インターバル値のパターンが図８のような正しい期待ビットパターン、すなわちＵＳＢ  Ｐｏｗｅｒ  Ｄｅｌｉｖｅｒｙ規格が定めるプリアンブル部分のビットバターンに従っているものと仮定して、インターバル値を“長”“短”に分別する処理を行う。
【００７４】
まず、“長”に相当するインターバル値を推定する。閾値決定部１１０５は、インターバル値格納部１１０４が保持する最長Ｉｎｄｅｘ番号に格納されているインターバル値を、“長”と判定する。また、最長Ｉｎｄｅｘ番号が１〜３期間目までに含まれている場合は最長Ｉｎｄｅｘ番号＋３、４〜６期間目に含まれている場合は最長Ｉｎｄｅｘ番号−３に格納されているインターバル値も、“長”と推定する。つぎに、残りの４つのＩｎｄｅｘ番号に格納されているインターバル値を、“短”と推定する。
【００７５】
そして、２つの“長い”インターバル値と、４つの“短い”インターバル値を用いて、以下の計算式により閾値を算出する。
閾値＝（（ａ）＋（ｂ））／２
（ａ）２つの“長い”インターバル値の平均値
（ｂ）４つの“短い”インターバル値の平均値
【００７６】
なお、上述の例ではまず最長Ｉｎｄｅｘ番号を決定し、ついで最長Ｉｎｄｅｘ番号との位置関係に基づいて他のＩｎｄｅｘ番号のインターバル値の“長”“短”を推定した。しかし、本実施の形態はこれに限定されず、例えばまず最短Ｉｎｄｅｘ番号を決定し、ついで最短Ｉｎｄｅｘ番号との位置関係に基づいて他のＩｎｄｅｘ番号のインターバル値の“長”“短”を推定することも可能である。
【００７７】
Ｓ７０４：新たな閾値を仮決定
閾値決定部１１０５は、Ｓ７０３の閾値算出処理が初回の場合は算出した閾値を、閾値算出処理が２回目以降であり既に閾値が算出されている場合はそれまでに算出した閾値の平均値を算出し、新たな閾値として仮決定する。
【００７８】
Ｓ７０５乃至Ｓ７０６：期待ビットパターンチェック
閾値決定部１１０５は、Ｓ７０４で仮決定した閾値を使って、インターバル値格納部１１０４に格納されている６つのインターバル値に対し、再度長短の判定を実施する。Ｓ７０３において“長”と判定した２つのインターバル値がどちらも仮の閾値よりも長いこと、“短”と判定した残り４つのインターバル値がいずれも仮の閾値よりも短いことを確認することで、これらのインターバル値が確かにＵＳＢ  Ｐｏｗｅｒ  Ｄｅｌｉｖｅｒｙ規格が定めるプリアンブル部分の期待ビットバターンに合致し、有効なものであることを検証できる。また、Ｓ７０４で仮決定した新しい閾値が有効なものであることを検証できる。
【００７９】
Ｓ７０７：新たな閾値を決定
Ｓ７０５でのチェックにより、インターバル値が有効と判定された場合は、Ｓ７０４で仮決定した閾値を、以降の処理において使用する新しい閾値として決定する。一方、Ｓ７０４でインターバル値が無効であると判定された場合には、その直前のＳ７０３で算出した閾値、及びＳ７０４で仮決定した閾値は破棄する。
【００８０】
Ｓ７０８：所定回数繰返し
Ｓ７０１乃至Ｓ７０７にかかる処理を、プリアンブルの受信期間内に複数回繰り返し実行する。
【００８１】
Ｓ７０９：新たな閾値を格納
閾値決定部１１０５は、Ｓ７０７において最後に有効と判定された新たな閾値を、閾値格納部１１０６に格納する。
【００８２】
Ｓ７１０：パケット本体処理
ＢＭＣデコード部１１０７は、Ｓ７０９において決定された新たな閾値を用いて、受信パケットのデータ部分の復号処理を実施する。
【００８３】
本実施の形態においては、まずインターバルカウンタ１１０３が受信信号を解析することで閾値を算出し、閾値決定部１１０５がそれを検証、補正することで閾値を確定する。これにより、実施の形態１のように閾値の初期値を予め用意しておく必要が無くなる。また、測定したインターバル値を基にした振り分け処理は単純な回路及び手順で実施することができるので、低コストかつ低負荷で閾値の算出を行うことができる。
【００８４】
＜実施の形態３＞
本発明の実施の形態３は、閾値決定部１１０５による閾値の決定方法に特徴を有する。図９に示すように、実施の形態３も、実施の形態２と同様に、閾値決定部１１０５が、２つの長いインターバル値の平均値と、残り４つの短いインターバル値の平均値と、これらの２つの平均値の平均値を算出する。しかしながら、実施の形態３は、各インターバル値の長短をチェックする工程を加えることで、判定の精度を向上させる点に特徴を有する。
【００８５】
なお、実施の形態３にかかるデジタルロウパスフィルタ回路１１０１及びＢＭＣ処理回路１１００の構成は、実施の形態１及び２と同様であるため説明を省略する。
【００８６】
つづいて、図１０を用いて、本発明の実施の形態３にかかるＢＭＣ処理回路１１００の動作について説明する。
【００８７】
Ｓ１０００：ビット無効期間又はパケット受信開始判定
実施の形態１のＳ２００と同様に、エッジ検出部１１０２は、受信信号から信号状態の変化エッジの有無を検出することにより、ビット無効期間又はパケット受信開始の判定を行う。
【００８８】
Ｓ１００１乃至Ｓ１００２：インターバル値測定、所定回数分のインターバル値を格納
Ｓ２０１と同様に、インターバルカウンタ１１０３がインターバル値を計測し、インターバル値格納部１１０４に格納する。この計測及び格納は、パケット受信開始が判定された時点から６期間分について実施する。
【００８９】
ここで、本実施の形態のインターバルカウンタ１１０３及びインターバル値格納部１１０４は、６期間における最長のインターバル値と、２番目に長いインターバル値と、を特定する機構を有する。例えば、インターバル値格納部１１０４は、測定されたインターバル値を、Ｉｎｄｅｘ番号１〜６が付されたレジスタに順番に格納する。また、インターバル値格納部１１０４は、その時点で最長のインターバル値が格納されているＩｎｄｅｘ番号である最長Ｉｎｄｅｘ番号と、２番目に長いＩｎｄｅｘ番号とを保持するものとする。
【００９０】
インターバルカウンタ１１０３は、測定したインターバル値をインターバル値格納部１１０４に格納する際に、その新たに格納するインターバル値と、最長Ｉｎｄｅｘ番号のインターバル値と、を比較する。もし新たに格納したインターバル値の方が、最長Ｉｎｄｅｘ番号のインターバル値よりも大きい場合、インターバルカウンタ１１０３は、最長Ｉｎｄｅｘ番号を、新たに格納したインターバル値のＩｎｄｅｘ番号により更新する。そして、以前の最長Ｉｎｄｅｘ番号を、２番目に長いＩｎｄｅｘ番号として保持する。インターバルカウンタ１１０３は、６期間分のインターバル値を格納するまでこの処理を繰り返すことにより、６期間における最長のインターバル値、及び２番目に長いインターバル値を特定することができる。
【００９１】
なお、ここでは最長Ｉｎｄｅｘ番号の更新処理を新たなインターバル値の格納時に行う例を示したが、本実施の形態はこれに限定されるものでなく、例えば全てのインターバル値を格納した後、閾値算出の前処理として、格納された全てのインターバル値をサーチすることで行うこととしても構わない。
【００９２】
Ｓ１００３：組合せチェック
本実施の形態でもまず、インターバル値のパターンがプリアンブル部の期待ビットバターンに従っているものと仮定して、インターバル値を“長”“短”に分別する処理を行う。
【００９３】
まず、閾値決定部１１０５は、インターバル値格納部１１０４が保持する最長Ｉｎｄｅｘ番号に格納されているインターバル値、及び２番目に長いＩｎｄｅｘ番号に格納されているインターバル値を、それぞれ“長”と判定する。そして、これら２つの“長い”インターバル値と、他の４つのインターバル値との位置関係が、図１１に示す６種類のパターンのいずれかに合致するか否かを判定する。ここで、図１１は、プリアンブル部分が受信された際に期待されるビットパタンを示している。
【００９４】
Ｓ１００４：閾値算出
合致すると判定された場合、閾値決定部１１０５は、これらのインターバル値を有効すなわちプリアンブルに相当するものとみなし、以下の計算式により閾値を算出する。
閾値＝（（ａ）＋（ｂ））／２
（ａ）２つの“長い”インターバル値の平均値
（ｂ）残り４つのインターバル値の平均値
【００９５】
Ｓ１００５：新たな閾値を仮決定
閾値決定部１１０５は、Ｓ７０３の閾値算出処理が初回の場合は算出した閾値を、閾値算出処理が２回目以降であり既に閾値が算出されている場合はそれまでに算出した閾値の平均値を算出し、新たな閾値として仮決定する。
【００９６】
Ｓ１００６乃至Ｓ１００７：期待ビットパターンチェック
閾値決定部１１０５は、Ｓ１００５で仮決定した閾値を使って、インターバル値格納部１１０４に格納されている６つのインターバル値に対し、再度長短の判定を実施する。Ｓ１００３において“長”と判定した２つのインターバル値がどちらも仮の閾値よりも長いこと、残り４つのインターバル値がいずれも仮の閾値よりも短いことを確認することで、これらのインターバル値が確かにＵＳＢ  Ｐｏｗｅｒ  Ｄｅｌｉｖｅｒｙ規格が定めるプリアンブル部分の期待ビットバターンに合致し、有効なものであることを検証できる。また、Ｓ１００５で仮決定した新しい閾値が有効なものであることを検証できる。
【００９７】
Ｓ１００８：新たな閾値を決定
Ｓ１００６でのチェックにより、インターバル値が有効と判定された場合は、Ｓ１００５で仮決定した閾値を、以降の処理において使用する新しい閾値として決定する。一方、Ｓ１００５でインターバル値が無効であると判定された場合には、その直前のＳ１００４で算出した閾値、及びＳ１００５で仮決定した閾値は破棄する。
【００９８】
Ｓ１００９：所定回数繰返し
Ｓ１００１乃至Ｓ１００８にかかる処理を、プリアンブルの受信期間内に複数回繰り返し実行する。
【００９９】
Ｓ１０１０：新たな閾値を格納
閾値決定部１１０５は、Ｓ１００８において最後に有効と判定された新たな閾値を、閾値格納部１１０６に格納する。
【０１００】
Ｓ１０１１：パケット本体処理
ＢＭＣデコード部１１０７は、Ｓ１０１０において決定された新たな閾値を用いて、受信パケットのデータ部分の復号処理を実施する。
【０１０１】
本実施の形態においては、閾値決定部１１０５が、最長のインターバル値のみでなく、２番目に長いインターバル値も測定し、それらのインターバル値の位置関係に基づいて受信信号の有効性をチェックする。これにより、実施の形態２に比べ、有効性判定の精度を向上させることができる。すなわち、実施の形態２は、最長のインターバル値のみに基づいて他のインターバル値の“長”“短”を推定するが、本実施の形態では、２番目に長いインターバル値も実測する工程を加えることで、上記推定過程における誤りを抑制することができる。
【０１０２】
＜実施の形態４＞
実施の形態１乃至３に示した閾値決定のための一連の処理は、パケット受信ごとに実行しても良く、任意の頻度又は任意のトリガに応じて随時実行しても良い。
【０１０３】
例えば、閾値決定処理を実行後に所定時間のカウンタトダウンタイマを動作させ、タイマが切れた後に受信するパケットに対して、再度閾値決定処理を実行しても良い。これにより、通信中の波形のなまりに適応することができる。
【０１０４】
また、ＵＳＢケーブルが接続されたことを検出した際に閾値決定処理を実行し、以降は任意のタイミングで定期的に閾値決定処理を行うこととしても良い。例えばＵＳＢ  Ｔｙｐｅ−Ｃ  ｒｅｃｅｐｔａｃｌｅ／ｐｌｕｇにおいては、２つあるＣＣピンのうちの１つが特定の抵抗を介してＧＮＤに接続されたことを検出することで、接続を検出することができる。
【０１０５】
なお、ＣＣピンを介した通信相手は１つとは限りらない。すなわち、ＵＳＢケーブル接続先のデバイスの他に、ケーブルの種類や特性を示すためケーブル内などに存在するデバイス（Ｃａｂｌｅ  Ｐｌｕｇ）とも通信をする場合がある。よって、上述のように接続をトリガとして閾値判定処理を行う場合には、通信相手ごとに閾値判定処理を実施することが好ましい。
【０１０６】
＜その他の実施の形態＞
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
【０１０７】
例えば、実施の形態１においては、閾値の初期値に代えて、実施の形態２のＳ７０３で算出される閾値を用いても良い。
【０１０８】
説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、ＣＰＵ、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
【０１０９】
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（ｔａｎｇｉｂｌｅ  ｓｔｏｒａｇｅ  ｍｅｄｉｕｍ）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、フラッシュＲＯＭ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【符号の説明】
【０１１０】
１０００  ＵＳＢパワーデリバリコントローラ
１１００  ＢＭＣ処理回路
１２００  制御部
１３００  ＣＣ接続部
１４００  ＶＢＵＳ接続部
１６００  ＢＦＳＫ処理回路
１１０１  デジタルロウパスフィルタ回路
１１０２  エッジ検出部
１１０３  インターバルカウンタ
１１０４  インターバル値格納部
１１０５  閾値決定部
１１０６  閾値格納部
１１０７  ＢＭＣデコード部
【図１】
0006510835.tif 000002
【図２】
0006510835.tif 000003
【図３】
0006510835.tif 000004
【図４】
0006510835.tif 000005
【図５】
0006510835.tif 000006
【図６】
0006510835.tif 000007
【図７】
0006510835.tif 000008
【図８】
0006510835.tif 000009
【図９】
0006510835.tif 000010
【図１０】
0006510835.tif 000011
【図１１】
0006510835.tif 000012
【図１２】
0006510835.tif 000013
【図１３】
0006510835.tif 000014