(57)【特許請求の範囲】
【請求項１】
ＵＳＢプロトコルに定められたインタフェースを用いたデバイスとホストとの間のデータ転送方法であって、
前記インタフェースの信号線に外部から印加される電気的なノイズの影響による異常データを検出し、前記異常データの長さが予め定めた第１のＵＳＢフレーム数以下である場合は、当該異常となったデータを再度前記デバイスから読み出し、前記異常データの長さが前記第１のＵＳＢフレーム数を超えて予め定めた第２のＵＳＢフレーム数以下である場合は、当該異常データの次のデータを前記デバイスから読み出し、前記異常データの長さが前記第２のＵＳＢフレーム数を超える場合は、リセット動作を行ってデバイスの先頭からデータを読み出すことを特徴とするデータ転送方法。
【請求項２】
前記デバイスから前記ホストへのデータ転送が、ＵＳＢプロトコルに定められたバルク転送により行われること特徴とする請求項１に記載のデータ転送方法。
【請求項３】
前記第２のＵＳＢフレーム数が、前記ホスト内において強制リセットがなされるフレーム数未満であることを特徴とする請求項１または２のうちいずれか一項に記載のデータ転送方法。
【請求項４】
前記デバイスには、音声データまたは映像データが記録されていることを特徴とする請求項１乃至３のうちいずれか一項に記載のデータ転送方法。
【請求項５】
ＵＳＢプロトコルに定められたインタフェースを用いたデバイスとの間でデータ転送を行うデータ転送手段としてコンピュータを機能させるデータ転送プログラムであって、
前記インタフェースの信号線に外部から印加される電気的なノイズによる異常データを検出する検出手段と、
前記異常データの長さが第１のＵＳＢフレーム数以下である場合は、前記データ転送手段に当該異常となったデータを再度前記デバイスから読み出させ、前記異常データの長さが前記第１のＵＳＢフレーム数を超えて予め定めた第２のＵＳＢフレーム数以下である場合は、前記データ転送手段に当該異常データの次のデータを前記デバイスから読み出させ、前記異常データの長さが前記第２のＵＳＢフレーム数を超える場合は、前記データ転送手段にリセット動作を行わせてデバイスの先頭からデータを読み出すように制御する制御手段として、前記コンピュータを機能させることを特徴とするデータ転送プログラム。
【請求項６】
請求項５に記載のデータ転送プログラムを格納したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＵＳＢ（Universal Serial Bus）プロトコルに定められたインタフェースでデータ転送を行うデータ転送方法、データ転送プログラムおよびデータ転送プログラムを格納した記録媒体に関する。
【背景技術】
【０００２】
近年、ＵＳＢプロトコルに定められたインタフェース（ＵＳＢインタフェース）を備えた半導体メモリを用いた記録媒体であるＵＳＢメモリが様々な用途に用いられるようになっている。
【０００３】
この種のＵＳＢメモリはパーソナルコンピュータ等の外部記憶装置として用いる以外に、例えば、音楽データや映像データを記録して、ＵＳＢインタフェースを備えたステレオ機器やテレビなどの電子機器に装着することで、ＵＳＢメモリに記録された音楽データや映像データを再生するような用途に用いられることもある。
【０００４】
このようなＵＳＢメモリなどのデバイスとステレオ機器やテレビなどの電子機器（ホスト）とを接続するＵＳＢインタフェースの信号線に、静電気や無線ＬＡＮなどの無線通信の電磁波の影響によるノイズが印加されると、再生中の音声や映像に不具合が生じたり、再生そのものが停止してしまうなどといった問題があった。
【０００５】
上述した問題に対して、例えば特許文献１に記載のＵＳＢ機器が提案されている。特許文献１に記載のＵＳＢ機器は、追加したリセット回路により、ＵＳＢ機器の暴走時などにリセットを行って、ＵＳＢ機器の初期化を行っている。
【特許文献１】特開２００２−３７３０３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載のＵＳＢ機器は、リセット回路というハードウェアを追加しているために、ハードウェアの増大化および複雑化や当該リセット回路自身の電気的な弊害の検証が必要となることなどから開発コストの増大という問題があった。
【０００７】
そこで、本発明は、例えばハードウェアの追加を行わずに、ノイズによる影響を少なくするデータ転送方法、データ転送プログラムおよびデータ転送プログラムを格納した記録媒体を提供することを課題とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、請求項１に記載のデータ転送方法は、ＵＳＢプロトコルに定められたインタフェースを用いたデバイスとホストとの間のデータ転送方法であって、前記インタフェースの信号線に外部から印加される電気的なノイズの影響による異常データを検出し、前記異常データの長さが予め定めた第１のＵＳＢフレーム数以下である場合は、当該異常となったデータを再度前記デバイスから読み出し、前記異常データの長さが前記第１のＵＳＢフレーム数を超えて予め定めた第２のＵＳＢフレーム数以下である場合は、当該異常データの次のデータを前記デバイスから読み出し、前記異常データの長さが前記第２のＵＳＢフレーム数を超える場合は、リセット動作を行ってデバイスの先頭からデータを読み出すことを特徴としている。
【０００９】
請求項５に記載のデータ転送プログラムは、ＵＳＢプロトコルに定められたインタフェースを用いたデバイスとの間でデータ転送を行うデータ転送手段としてコンピュータを機能させるデータ転送プログラムであって、前記インタフェースの信号線に外部から印加される電気的なノイズによる異常データを検出する検出手段と、前記異常データの長さが第１のＵＳＢフレーム数以下である場合は、前記データ転送手段に当該異常となったデータを再度前記デバイスから読み出させ、前記異常データの長さが前記第１のＵＳＢフレーム数を超えて予め定めた第２のＵＳＢフレーム数以下である場合は、前記データ転送手段に当該異常データの次のデータを前記デバイスから読み出させ、前記異常データの長さが前記第２のＵＳＢフレーム数を超える場合は、前記データ転送手段にリセット動作を行わせてデバイスの先頭からデータを読み出すように制御する制御手段として、前記コンピュータを機能させることを特徴としている。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の一実施形態にかかるデータ転送方法を説明する。本発明の一実施形態にかかるデータ転送方法は、印加される電気的なノイズの影響による異常データの長さが、予め定めた第１のＵＳＢフレーム数以下である場合は、当該データを再度読み出し、第１のＵＳＢフレーム数を超えて予め定めた第２のＵＳＢフレーム数以下である場合は、当該データの次のデータを読み出し、第２のＵＳＢフレーム数を超える場合は、リセット動作を行ってデバイスの先頭からデータを読み出すので、ノイズの影響の大きさ（長さ）によって再送信、読み飛ばし（マスク）、リセットと、動作を変更することができ、ノイズの影響に応じた低減策によりノイズの影響を少なくすることができる。また、データが異常であるか否かでノイズ印加の検出を行い、データの扱いを変更しているのみであるので、ハードウェアの追加等が不要となり、開発コストを抑えながらノイズの影響を少なくすることができる。さらに、判定基準がＵＳＢプロトコルに定められたフレームの数によって予め定められているので、特別なタイマなどを用いずに単にフレーム数をカウントするカウンタなどで計測することができるので、判定を容易にすることができる。
【００１１】
また、デバイスからホストへのデータ転送が、ＵＳＢプロトコルに定められたバルク転送によりデータの転送が行われてもよい。このようにすることにより、バルク転送を用いたデータ転送においてノイズの影響を少なくすることができる。
【００１３】
また、第２のＵＳＢフレーム数が、前記ホスト内において強制リセットがなされるフレーム数未満であってもよい。このようにすることにより、強制リセットがなされて、ホスト内が初期化されることなく、デバイスとのデータ転送のみの初期化を行うことができる。
【００１４】
また、デバイスには、音声データまたは映像データが記録されていてもよい。このようにすることにより、音声データや映像データを転送して再生する際に、極力再生を継続しつつ、ノイズ印加による影響を少なくすることができる。
【００１５】
また、本発明の一実施形態にかかるデータ転送プログラムは、検出手段で検出された印加される電気的なノイズの影響による異常データの長さが、予め定めた第１のＵＳＢフレーム数以下である場合は、データ転送手段に当該データを再度読み出させ、第１のＵＳＢフレーム数を超えて予め定めた第２のＵＳＢフレーム数以下である場合は、データ転送手段に当該データの次のデータを読み出させ、第２のＵＳＢフレーム数を超える場合は、データ転送手段にリセット動作を行わせてデバイスの先頭からデータを読み出すようにそれぞれ制御手段で制御するので、ノイズの影響の大きさ（長さ）によって再送信、読み飛ばし（マスク）、リセットと、動作を変更することができ、ノイズの影響に応じた低減策によりノイズの影響を少なくすることができる。また、データが異常であるか否かでノイズ印加の検出を行い、データの扱いを変更しているのみであるので、ハードウェアの追加等が不要となり、開発コストを抑えながらノイズの影響を少なくすることができる。さらに、判定基準がＵＳＢプロトコルに定められたフレームの数によって予め定められているので、特別なタイマなどを用いずに単にフレーム数をカウントするカウンタなどで計測することができるので、判定を容易にすることができる。
【００１６】
また、上述のデータ転送プログラムをコンピュータ読み取り可能な記録媒体に格納してもよい。このようにすることにより、データ転送プログラムを機器に組み込む以外に単体でも流通させることができ、バージョンアップ等も容易に行える。
【実施例】
【００１７】
本発明の一実施例にかかるデータ転送方法を図１乃至図４を参照して説明する。本発明の一実施例にかかるデータ転送方法は、図１に示すようなＵＳＢ機器１に適用されている。ＵＳＢ機器１は、図１に示すように、ＵＳＢメモリ２と、本体部３と、を備え、ＵＳＢメモリ２と本体部３とはＵＳＢプロトコルに定められたインタフェースによって接続されている。
【００１８】
デバイスとしてのＵＳＢメモリ２は、フラッシュメモリなどの不揮発性メモリが用いられた記録装置であり、ＵＳＢインタフェースに則した接続端子を備えている。本実施例ではＵＳＢメモリ２にはＭＰ３（MPEG Audio Layer-3）やＡＡＣ（Advanced Audio Coding）などで符号化された音楽データが記録されている。勿論音楽データが符号化されたデータに限らないことは言うまでもない。
【００１９】
ホストとしての本体部３は、ＵＳＢホスト部４と、マイコン５と、メモリ６と、デコーダ７と、音声出力端子８と、を備えている。
【００２０】
ＵＳＢホスト部４は、ＵＳＢインタフェースに則した接続端子を備え、マイコン５からの指示によってＵＳＢメモリ２とＵＳＢプロトコルに規定された通信を行い、ＵＳＢメモリ２からのデータの読み出しやＵＳＢメモリ２の制御などを行う。
【００２１】
データ転送手段、検出手段、制御手段としてのマイコン５は、ＣＰＵ（Central Processing Unit）やＲＡＭ（Random Access Memory）およびＲＯＭ（Read Only Memory）などを内蔵したマイクロコンピュータであり、本体部３全体の制御やＵＳＢホスト部４とＵＳＢメモリ２間のデータ転送やノイズの影響による異常データ検出時の制御などを行う。
【００２２】
メモリ６は、ＵＳＢメモリ２から読み出された音楽データを一時蓄積する半導体メモリである。
【００２３】
デコーダ７は、メモリ６に蓄積された音楽データを読み出して復号化し、その後アナログ信号に変換して音声出力端子８から出力する。
【００２４】
次に、上述した構成のＵＳＢ機器１において、ＵＳＢメモリ２と本体部３との間のデータ転送時のノイズによる異常発生時の処理について図２ないし図４のフローチャートを参照して説明する。図２ないし図４に示したフローチャートはマイコン５内のＲＯＭに記録されたプログラムによって構成されマイコン５内のＣＰＵが実行する。
【００２５】
まず、ステップＳ１において、ＵＳＢデバイスとの接続状態を定期的に確認し、ステップＳ２に進む。本ステップでは、ＵＳＢプロトコルに定められたバルク転送でＵＳＢホスト４にＵＳＢメモリ２から音楽データを読み出させて、その音楽データを受信したら、フレーム単位にＡＣＫまたはＮＡＫコマンドをＵＳＢメモリ２に送出させる。ＡＣＫおよびＮＡＫコマンドはＵＳＢプロトコルに規定され、ＡＣＫは正常に受信できたことを示し、ＮＡＫは正常に受信できなかったことを示すコマンドである。
【００２６】
次に、ステップＳ２において、異常データを受信したか否かを判断し、異常データを受信した場合（ＹＥＳの場合）はステップＳ３に進み、そうでない場合（ＮＯの場合）はステップＳ１に戻る。異常データとは、ＵＳＢインタフェースの信号線であるＤＰ（Ｄ＋ともいう）およびＤＭ（Ｄ−ともいう）が両方ともＬｏｗレベルの状態になっている場合をいう。ＵＳＢプロトコルでは、転送されるデータの“０”や“１”を意味するＤＰとＤＭとの組み合わせが規定されており、転送されるデータとしてＤＰ、ＤＭともにＬｏｗという組み合わせはあり得ない。したがって、このようなデータとしてあり得ない組み合わせが検出された場合は異常データとして認識する。特に、外部から静電気や無線通信からの電磁波が原因とされるノイズが信号線に印加された場合は、このような異常データとしてＵＳＢインタフェースの信号線上に現れることが多いので、この異常データを検出することでノイズの検出を行うことができる。すなわち、外部から印加される電気的なノイズの影響による異常データを検出している。
【００２７】
次に、ステップＳ３において、ステップＳ２で検出した異常データは第１の時間としての１フレーム以内か否かを判断し、１フレーム以内の場合はステップＳ４に進み、１フレームを超える場合はステップＳ６に進む。本ステップにおける判定はＵＳＢフレームごとに行う。つまり、１つのＵＳＢフレームにおいて１ビットでも異常データが検出された場合はそのＵＳＢフレームは異常と判断する。したがって、１フレームを超える場合とは、１ビットでも異常データが検出されたＵＳＢフレームが連続して２フレーム以上検出されたか否かということを意味する。なお、この第１の時間は１フレーム以内に限らないが、少なくとも後述する第２の時間よりも短い時間としなければならない。
【００２８】
次に、ステップＳ４において、ＵＳＢメモリ２に対してＮＡＫを返答し、再度同じ１フレームを要求してステップＳ５に進む。つまり、異常データが検出されたＵＳＢフレームの再送信を要求している。
【００２９】
次に、ステップＳ５において、ＮＡＫ返答して再送信されてきたフレームデータを上書きし、正常なデータに変更してステップＳ１に戻る。つまり、再送信されたＵＳＢフレームをメモリ６の当該ＵＳＢフレームが書き込まれるアドレスに上書きさせる。このようにすることで、１フレーム期間程度のノイズであれば再送信を行ってメモリ６のデータを上書きするので、デコーダ７のデコード動作に影響することなく、音声信号が途切れることなく再生が継続される。
【００３０】
ステップＳ６においては、ステップＳ２で検出した異常データは第２の時間としてのマスク処理可能なフレーム数か否かを判断し、マスク処理可能なフレーム数の場合はステップＳ７に進み、マスク処理不可能なフレーム数（マスク処理可能なフレーム数を超える）の場合はステップＳ８に進む。マスク処理とは異常データとなったＵＳＢフレームを再生しないで読み飛ばすことを意味し、マスク処理可能なフレーム数は予め定められたフレーム数である。ただし、この予め定められたフレーム数は、マイコン５とＵＳＢホスト４とを接続するバスの仕様により、バスの通信が行われずマイコン５が暴走したなどの正常な状態でないとして、マイコン５に対して割り込みなどによって強制的にリセットを行う時間よりも短い時間とする。つまり、強制的にリセットを行う時間より長く設定してしまうと、マイコン５に強制リセットがかかってしまい再生が継続できなくなってしまうのと、マイコン５自身がリセットされるとマイコン５のプログラムも初期化されてしまうので、復帰時間がかかってしまう恐れがあるため、強制的にリセットを行う時間よりは短くすることでプログラム上で処理ができるようにしている。
【００３１】
次に、ステップＳ７において、予め定めた数フレームマスクし、次のＳＯＦ、Ａｄｒｅｓｓ、ＳｔｒｅａｍＤａｔａを要求してステップＳ１に戻る。ＳＯＦ（Start Of Flame）やＡｄｒｅｓｓおよびＳｔｒｅａｍＤａｔａとはＵＳＢフレームに含まれるデータである。つまり、異常データと判断されたフレームはデコーダ７によるデコード処理を行わせない。ＵＳＢメモリ２に対してはマスクしたフレームの次のアドレスのデータを要求し、次のアドレスのデータから再生を継続する。
【００３２】
ステップＳ８においては、ＵＳＢホスト部４にＵＳＢメモリ２に対してＵＳＢリセットを送出させてステップＳ９に進む。ＵＳＢリセットとはＤＰ、ＤＭ両信号ともＬｏｗレベルにすることである。このようにすることで、ＵＳＢメモリ２の動作が初期化される。
【００３３】
次に、ステップＳ９において、ＵＳＢホスト部４からＧｅｔ  ＤｅｓｃｒｉｐｔｏｒをＵＳＢメモリ２に対して送出させて、ステップＳ１０に進む。本ステップでは、ＵＳＢメモリ２のアドレス０に格納されたＵＳＢメモリ２を識別するための情報などＵＳＢメモリ２を改めて認識するための情報を得るコマンドを送出している。
【００３４】
次に、ステップＳ１０において、再度ＵＳＢリセットを送出させてステップＳ１０に進む。本ステップの２回目のリセットを行うことで、ＵＳＢメモリ２を確実に初期化することができる。
【００３５】
次に、ステップＳ１１において、ＵＳＢホスト部４からデバイス（ＵＳＢメモリ２）にＵＳＢアドレスを割り当てて、Ｓｅｔ  ＡｄｒｅｓｓをＵＳＢメモリ２に送出させてステップＳ１に戻る。これで、ＵＳＢメモリ２の再セットアップが完了し、音楽データの読み出しを再開することができる。
【００３６】
本実施例によれば、本体部３と音楽データが記録されたＵＳＢメモリ２とがＵＳＢインタフェースによって接続されたＵＳＢ機器１において、ＵＳＢインタフェースの信号線上に電気的なノイズが印加されたことを、データとして規定されていない異常なデータによって検出し、その異常データが検出されたＵＳＢフレームが１フレーム以下の場合は異常データが検出されたＵＳＢフレームを再送信させ、異常データが検出されたＵＳＢフレームが１フレームを超えてマスク可能なフレーム数以下の場合は異常データが検出されたＵＳＢフレームをマスクし次のＵＳＢフレームから再生させ、マスク可能なフレーム数を超えた場合はＵＳＢメモリ２に対してリセットをして再セットアップを行うことで、異常データが検出されたフレーム数に応じてノイズの影響の低減策を行うことができる。また、データが異常であるか否かでノイズ印加の検出を行っているので、ハードウェアの追加等が不要となり、開発コストを抑えることができる。
【００３７】
また、ＵＳＢプロトコルに定められたバルク転送によりデータの転送が行われているので、バルク転送を用いた音楽データなどの転送においてノイズの影響を少なくすることができる。
【００３８】
また、ノイズの影響（異常データの長さ）を判定するためにＵＳＢフレーム数を用いているので、フレーム数をカウントするのみでよく、判定を容易にすることができる。
【００３９】
また、マスク可能なフレーム数をマイコン外部からの強制リセットがかかる時間よりも短くすることで、極力再生を継続してノイズによってマイコン５の初期化が発生しないようにすることができる。
【００４０】
なお、ＵＳＢメモリ２に記録されるデータは音楽データ（音声データ）に限らず映像データとしてもよい。本発明ではマスク（読み飛ばし）を行うために、音楽や映像などデータの欠落が発生しても影響が少ない（音飛びや映像の乱れなどは発生するものの少なくとも再生は継続できる）ようなデータであれば適用することができる。
【００４１】
前述した実施例によれば、以下のデータ転送方法およびデータ転送プログラムが得られる。
【００４２】
（付記１）ＵＳＢプロトコルに定められたインタフェースを用いたＵＳＢメモリ２と本体部３との間のデータ転送方法であって、
インタフェースの信号線に外部から印加される電気的なノイズの影響による異常データを検出し、異常データの長さが１フレーム以下である場合は、当該異常となったデータを再度ＵＳＢメモリ２から読み出し、異常データの長さがイフレームを超えてマスク可能な時間以下である場合は、当該異常データの次のデータをＵＳＢメモリ２から読み出し、異常データの長さがマスク可能な時間を超える場合は、リセット動作を行ってＵＳＢメモリ２の先頭からデータを読み出すことを特徴とするデータ転送方法。
【００４３】
このデータ転送方法によれば、ノイズの影響の大きさ（長さ）によって再送信、読み飛ばし（マスク）、リセットと、動作を変更することができるのでノイズの影響を少なくすることができる。また、データが異常であるか否かでノイズ印加の検出を行い、データの扱いを変更しているのみであるので、ハードウェアの追加等が不要となり、開発コストを抑えながらノイズの影響を少なくすることができる。
【００４４】
（付記２）ＵＳＢプロトコルに定められたインタフェースを用いたＵＳＢメモリ２と本体部３との間でデータ転送を行うマイコン５としてコンピュータを機能させるデータ転送プログラムであって、
インタフェースの信号線に外部から印加される電気的なノイズによる異常データを検出するマイコン５と、
異常データの長さが１フレーム以下である場合は、マイコン５に当該異常となったデータを再度ＵＳＢメモリ２から読み出させ、異常データの長さがイフレームを超えてマスク可能な時間以下である場合は、マイコン５に当該異常データの次のデータをＵＳＢメモリ２から読み出させ、異常データの長さがマスク可能な時間を超える場合は、マイコン５にリセット動作を行わせてＵＳＢメモリ２の先頭からデータを読み出すように制御するマイコン５として、コンピュータを機能させることを特徴とするデータ転送プログラム。
【００４５】
このデータ転送プログラムによれば、ノイズの影響の大きさ（長さ）によって再送信、読み飛ばし（マスク）、リセットと、動作を変更することができるのでのノイズの影響を少なくすることができる。また、データが異常であるか否かでノイズ印加の検出を行い、データの扱いを変更しているのみであるので、ハードウェアの追加等が不要となり、開発コストを抑えながらノイズの影響を少なくすることができる。
【００４６】
なお、前述した実施例は本発明の代表的な形態を示したに過ぎず、本発明は、実施例に限定されるものではない。すなわち、本発明の骨子を逸脱しない範囲で種々変形して実施することができる。
【図面の簡単な説明】
【００４７】
【図１】本発明の一実施例にかかるデータ転送方法が適用されるＵＳＢ機器のブロック図である。
【図２】図１に示されたＵＳＢ機器におけるＵＳＢメモリ２と本体部３との間のデータ転送時のノイズによる異常発生時の処理を示したフローチャートの第１の部分である。
【図３】図１に示されたＵＳＢ機器におけるＵＳＢメモリ２と本体部３との間のデータ転送時のノイズによる異常発生時の処理を示したフローチャートの第２の部分である。
【図４】図１に示されたＵＳＢ機器におけるＵＳＢメモリ２と本体部３との間のデータ転送時のノイズによる異常発生時の処理を示したフローチャートの第３の部分である。
【符号の説明】
【００４８】
１        ＵＳＢ機器
２        ＵＳＢメモリ（デバイス）
３        本体部（ホスト）
５        マイコン（データ転送手段、検出手段、制御手段）
【図１】
0005022939.tif 000002
【図２】
0005022939.tif 000003
【図３】
0005022939.tif 000004
【図４】
0005022939.tif 000005