(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-01
(45)【発行日】2023-09-11
(54)【発明の名称】オーディオ信号同期制御装置及びオーディオ装置
(51)【国際特許分類】
H04L 7/00 20060101AFI20230904BHJP
G10K 15/02 20060101ALI20230904BHJP
【FI】
H04L7/00 080
H04L7/00 040
G10K15/02
(21)【出願番号】P 2021501731
(86)(22)【出願日】2020-01-22
(86)【国際出願番号】 JP2020002116
(87)【国際公開番号】W WO2020174943
(87)【国際公開日】2020-09-03
【審査請求日】2022-12-09
(31)【優先権主張番号】P 2019032462
(32)【優先日】2019-02-26
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】316005926
【氏名又は名称】ソニーセミコンダクタソリューションズ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】滑川 敦夫
(72)【発明者】
【氏名】高木 裕
【審査官】阿部 弘
(56)【参考文献】
【文献】特開平2-240894(JP,A)
【文献】米国特許出願公開第2008/0201507(US,A1)
【文献】特開2003-196230(JP,A)
【文献】特開2000-138998(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 7/00
G10K 15/02
(57)【特許請求の範囲】
【請求項1】
ホストコントローラ、
複数のオーディオデバイス、
同報通信が可能で、複数のオーディオデバイスに対して別々に設定されるデバイス制御用アドレスとデバイス共通の同期用アドレスを持ち、ホストコントローラから複数のオーディオデバイスを制御するための通信手段、及び、
複数のオーディオデバイスに対して同じ源発振のクロックをマスタークロックとして供給するクロック発振器を備えており、
ホストコントローラは、複数のオーディオデバイスに対して同期用アドレスで同報通信を行い、
複数のオーディオデバイスはそれぞれ、
同期用アドレスで同報通信された場合、同期リセット信号を生成する同期制御部、
同期制御部で生成された同期リセット信号に応答して、タイミング信号を生成するクロックリセット制御部、及び、
クロックリセット制御部で生成されたタイミング信号に従って、オーディオデータを処理するオーディオ信号処理部を有する、
オーディオ信号同期制御装置。
【請求項2】
通信手段は、同報通信が可能なバス型トポロジーである、
請求項1に記載のオーディオ信号同期制御装置。
【請求項3】
通信手段は、I2Cバスである、
請求項2に記載のオーディオ信号同期制御装置。
【請求項4】
複数のオーディオデバイスは、デバイス共通の同期用アドレスでの同報通信コマンドを受信した場合、複数のデバイスで同時に同報通信コマンドの受理を行い、デバイスの識別情報に基づく所定のオーディオデバイスのみACK応答を行う、
請求項3に記載のオーディオ信号同期制御装置。
【請求項5】
複数のオーディオデバイスは、デバイス制御用アドレスでの同報通信コマンドを受信した場合、選択されたオーディオデバイスのみ応答する、
請求項3に記載のオーディオ信号同期制御装置。
【請求項6】
同期制御部は、同期用アドレスで同報通信された場合、同期リセットを開始し、所定の時間経過後リセットを解除する、
請求項1に記載のオーディオ信号同期制御装置。
【請求項7】
クロックリセット制御部は、マスタークロックの周波数がオーディオデータのサンプリング周波数f
sの512倍の場合、1f
s,2f
s,4f
s,128f
sの周波数のパルスクロックを生成する、
請求項1に記載のオーディオ信号同期制御装置。
【請求項8】
オーディオ信号処理部は、デバイス制御用アドレス及び同期用アドレスで設定されたレジスタ内容に従ってオーディオデータを処理する、
請求項1に記載のオーディオ信号同期制御装置。
【請求項9】
オーディオ信号処理部は、モノラルの複数チャンネルのアナログ回路部、及び、ステレオのデジタル回路部から成る、
請求項1に記載のオーディオ信号同期制御装置。
【請求項10】
ホストコントローラと複数チャンネルのアナログ回路部とは、I2Cバスで接続されている、
請求項9に記載のオーディオ信号同期制御装置。
【請求項11】
デジタル回路部は、デジタル用コントローラを内蔵しており、
デジタル用コントローラは、I2Cバスと異なるインターフェースのホストコントローラである、
請求項10に記載のオーディオ信号同期制御装置。
【請求項12】
デジタル回路部は、同期制御を行うためのクロック同期制御部を有しており、
デジタル用コントローラは、同期制御を行うための同期開始タイミング信号をクロック同期制御部に供給する、
請求項11に記載のオーディオ信号同期制御装置。
【請求項13】
同期開始タイミング信号は、デジタル回路部を起点に、複数チャンネルのアナログ回路部に対して同期開始タイミングを伝える信号である、
請求項12に記載のオーディオ信号同期制御装置。
【請求項14】
クロック同期制御部は、デジタル用コントローラから与えられる同期開始タイミング信号に基づいて同期制御を行う、
請求項12に記載のオーディオ信号同期制御装置。
【請求項15】
クロック同期制御部は、マスタークロックの単位で、同期制御部へ伝える同期開始タイミングを、コマンド発行タイミングから遅延させることができる同期開始タイミング微調整部を有する、
請求項12に記載のオーディオ信号同期制御装置。
【請求項16】
同期開始タイミング微調整部は、同期リセット信号の開始タイミングを示すトグル信号を生成し、同期制御部へ供給する、
請求項15に記載のオーディオ信号同期制御装置。
【請求項17】
同期制御部は、同期開始タイミング微調整部からのトグル信号を受けて同期リセット信号を生成し、クロックリセット制御部へ供給する、
請求項16に記載のオーディオ信号同期制御装置。
【請求項18】
クロックリセット制御部は、あらかじめ設定された期間に亘って同期リセットをかけ、同期リセット解除からクロックの生成を開始する、
請求項17に記載のオーディオ信号同期制御装置。
【請求項19】
デジタル回路部は、デジタル用コントローラによる同期制御コマンドを受けて、あらかじめ指定した期間に亘って同期リセットをかけて、リセット解除タイミングを起点にクロック生成をやり直すことができる、
請求項12に記載のオーディオ信号同期制御装置。
【請求項20】
ホストコントローラ、
複数のオーディオデバイス、
同報通信が可能で、複数のオーディオデバイスに対して別々に設定されるデバイス制御用アドレスとデバイス共通の同期用アドレスを持ち、ホストコントローラから複数のオーディオデバイスを制御するための通信手段、及び、
複数のオーディオデバイスに対して同じ源発振のクロックをマスタークロックとして供給するクロック発振器を備えており、
ホストコントローラは、複数のオーディオデバイスに対して同期用アドレスで同報通信を行い、
複数のオーディオデバイスはそれぞれ、
同期用アドレスで同報通信された場合、同期リセット信号を生成する同期制御部、
同期制御部で生成された同期リセット信号に応答して、タイミング信号を生成するクロックリセット制御部、及び、
クロックリセット制御部で生成されたタイミング信号に従って、オーディオデータを処理するオーディオ信号処理部を有する、
オーディオ信号同期制御装置を用いるオーディオ装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、オーディオ信号同期制御装置及びオーディオ装置に関する。
【背景技術】
【0002】
複数のスレーブデバイスに対して共通の外部割込み線を配線して、ホストコントローラから汎用入出力ピン(General-purpose input/output:GPIO)経由で同期信号を生成する一方、スレーブデバイス側では、外部割り込みとして処理して同期を取る方法がある。この方法の場合、ホストコントローラからI2C(登録商標)(Inter-Integrated Circuit)バス(以下、「I2Cバス」と記述する)によるレジスタアクセスとは別に、GPIO(汎用入出力ピン)を制御する必要があるとともに、ホストコントローラとスレーブデバイス側との間に別途同期用の外部割込み線を配線する必要がある。
【0003】
複数のスレーブデバイスに対して共通の外部割込み線を配線せずに、既存のI2Cバス等のインターフェースを使いながら、スレーブデバイス間の同期を取る従来技術として、特許文献1に記載の技術や、特許文献2に記載の技術がある。特許文献1には、「スレーブ対スレーブ同期通信」の技術が記載されており、特許文献2には、「デイジーチェーンされたマルチノードネットワークにおけるGPIO対GPIO通信」の技術が記載されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2017-135711号公報
【文献】特開2017-135709号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記の特許文献1及び特許文献2に記載の従来技術では、複数のスレーブデバイスに対して共通の外部割込み線を配線する必要が無いものの、ホストコントローラと複数のスレーブデバイスとの間に新たな2線式バスで接続するマスタ及びスレーブノードを追加しなければならない。
【0006】
ところで、オーディオの分野において、近年、左チャンネル(Lch)と右チャンネル(Rch)とが別々の完全ワイヤレスヘッドフォンが各社から販売され、小型・低消費電力のモノラルのオーディオデバイスが開発されている。このモノラルのオーディオデバイスを複数のスレーブデバイスとして接続して、ステレオやマルチチャンネルでも利用できることが望まれている。
【0007】
本開示は、モノラルのオーディオデバイスを複数のスレーブデバイスとして接続して、ステレオやマルチチャンネルでも利用できるように、同期用の外部割込み信号を追加することなく、既存のバス型ネットワークトポロジーのままで、複数のオーディオデバイスを同期制御することができる技術を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記の目的を達成するための本開示のオーディオ信号同期制御装置は、
ホストコントローラ、
複数のオーディオデバイス、
同報通信が可能で、複数のオーディオデバイスに対して別々に設定されるデバイス制御用アドレスとデバイス共通の同期用アドレスを持ち、ホストコントローラから複数のオーディオデバイスを制御するための通信手段、及び、
複数のオーディオデバイスに対して同じ源発振のクロックをマスタークロックとして供給するクロック発振器を備えている。そして、
ホストコントローラは、複数のオーディオデバイスに対して同期用アドレスで同報通信を行う。
複数のオーディオデバイスはそれぞれ、
同期用アドレスで同報通信された場合、同期リセット信号を生成する同期制御部、
同期制御部で生成された同期リセット信号に応答して、タイミング信号を生成するクロックリセット制御部、及び、
クロックリセット制御部で生成されたタイミング信号に従って、オーディオデータを処理するオーディオ信号処理部を有する。
【0009】
また、上記の目的を達成するための本開示のオーディオ装置は、上記の構成のオーディオ信号同期制御装置を用いる。
【図面の簡単な説明】
【0010】
【
図1】
図1は、本開示の第1実施形態に係るオーディオ信号同期制御装置のシステム構成を示すブロック図である。
【
図2】
図2は、I2Cスレーブインターフェース及び同期制御部の詳細について説明するブロック図である。
【
図3】
図3は、同期制御コマンドの非同期クロック乗り換えについて説明する図である。
【
図4】
図4は、第1実施形態に係るオーディオ信号同期制御装置における同期制御の手順の一例を示すフローチャートである。
【
図5】
図5は、第1実施形態の応用例に係るオーディオ信号同期制御装置のシステム構成を示すブロック図である。
【
図6】
図6は、本開示の第2実施形態に係るオーディオ信号同期制御装置のシステム構成を示すブロック図である。
【
図7】
図7は、第2実施形態に係るオーディオ信号同期制御装置における同期開始タイミングの微調整について説明するためのタイミングダイアグラムである。
【
図8】
図8は、第2実施形態に係るオーディオ信号同期制御装置における同期制御の手順の一例を示すフローチャートである。
【
図9】
図9は、本開示の第3実施形態に係るオーディオ装置のシステム構成を示すブロック図である。
【発明を実施するための形態】
【0011】
以下、本開示の技術を実施するための形態(以下、「実施形態」と記述する)について図面を用いて詳細に説明する。本開示の技術は実施形態に限定されるものではなく、実施形態における種々の数値などは例示である。以下の説明において、同一要素又は同一機能を有する要素には同一符号を用いることとし、重複する説明は省略する。尚、説明は以下の順序で行う。
1.本開示のオーディオ信号同期制御装置及びオーディオ装置、全般に関する説明
2.本開示の第1実施形態(同報通信コマンドによる複数のオーディオデバイスの同期制御の構成例)
2-1.システム構成(スレーブデバイスが2つの例)
2-2.Lchのオーディオデバイスの構成例
2-3.Rchのオーディオデバイスの構成例
2-4.同期制御部における同期制御の手順
2-5.第1実施形態の応用例(スレーブデバイスが3つ以上の例)
3.本開示の第2実施形態(オーディオ信号処理部を、モノラルの複数のアナログ回路部、及び、ステレオのデジタル回路部に分離した構成で、同期制御を実現する例)
3-1.システム構成
3-2.デジタル回路部の構成例
3-3.Lchのアナログ回路部の構成例
3-4.Rchのアナログ回路部の構成例
3-5.同期開始タイミングの微調整について
3-6.オーディオ信号処理の流れについて
3-7.第2実施形態の同期制御の手順
4.本開示の第3実施形態(オーディオ装置の例)
5.本開示がとることができる構成
【0012】
<本開示のオーディオ信号同期制御装置及びオーディオ装置、全般に関する説明>
本開示のオーディオ信号同期制御装置及びオーディオ装置にあっては、通信手段が、同報通信が可能なバス型トポロジー、好ましくは、I2Cバスである構成とすることができる。
【0013】
上述した好ましい構成を含む本開示のオーディオ信号同期制御装置及びオーディオ装置にあっては、複数のオーディオデバイスについて、デバイス共通の同期用アドレスでの同報通信コマンドを受信した場合、複数のデバイスで同時に同報通信コマンドの受理を行い、デバイスの識別情報に基づく所定のオーディオデバイスのみACK応答を行う構成とすることができる。更に、複数のオーディオデバイスについて、デバイス制御用アドレスでの同報通信コマンドを受信した場合、選択されたオーディオデバイスのみ応答する構成とすることができる。
【0014】
また、上述した好ましい構成を含む本開示のオーディオ信号同期制御装置及びオーディオ装置にあっては、同期制御部について、同期用アドレスで同報通信された場合、同期リセットを開始し、所定の時間経過後リセットを解除する構成とすることができる。また、クロックリセット制御部について、マスタークロックの周波数がオーディオデータのサンプリング周波数fsの512倍の場合、1fs,2fs,4fs,128fsの周波数のパルスクロックを生成する構成とすることができる。
【0015】
また、上述した好ましい構成を含む本開示のオーディオ信号同期制御装置及びオーディオ装置にあっては、オーディオ信号処理部について、デバイス制御用アドレス及び同期用アドレスで設定されたレジスタ内容に従ってオーディオデータを処理する構成とすることができる。
【0016】
また、上述した好ましい構成を含む本開示のオーディオ信号同期制御装置及びオーディオ装置にあっては、オーディオ信号処理部について、モノラルの複数チャンネルのアナログ回路部、及び、ステレオのデジタル回路部から成る構成とすることができる。そして、ホストコントローラと複数チャンネルのアナログ回路部とが、I2Cバスで接続されている構成とすることが好ましい。
【0017】
また、上述した好ましい構成を含む本開示のオーディオ信号同期制御装置及びオーディオ装置にあっては、デジタル回路部には、デジタル用コントローラ(ホストコントローラ)が内蔵されており、当該デジタル用コントローラについて、I2Cバスと異なるインターフェースのホストコントローラである構成とすることができる。
【0018】
また、上述した好ましい構成を含む本開示のオーディオ信号同期制御装置及びオーディオ装置にあっては、デジタル回路部には、同期制御を行うためのクロック同期制御部が設けられており、当該デジタル用コントローラについて、同期制御を行うための同期開始タイミング信号をクロック同期制御部に供給する構成とすることができる。同期開始タイミング信号は、デジタル回路部を起点に、複数チャンネルのアナログ回路部に対して同期開始タイミングを伝える信号であることが好ましい。
【0019】
また、上述した好ましい構成を含む本開示のオーディオ信号同期制御装置及びオーディオ装置にあっては、クロック同期制御部について、デジタル用コントローラから与えられる同期開始タイミング信号に基づいて同期制御を行う構成とすることができる。
【0020】
また、上述した好ましい構成を含む本開示のオーディオ信号同期制御装置及びオーディオ装置にあっては、クロック同期制御部について、マスタークロックの単位で、同期制御部へ伝える同期開始タイミングを、コマンド発行タイミングから遅延させることができる同期開始タイミング微調整部を有する構成とすることができる。また、同期開始タイミング微調整部について、同期リセット信号の開始タイミングを示すトグル信号を生成し、同期制御部へ供給する構成とすることができる。
【0021】
また、上述した好ましい構成を含む本開示のオーディオ信号同期制御装置及びオーディオ装置にあっては、同期制御部について、同期開始タイミング微調整部からのトグル信号を受けて同期リセット信号を生成し、クロックリセット制御部へ供給する構成とすることができる。また、クロックリセット制御部について、あらかじめ設定された期間に亘って同期リセットをかけ、同期リセット解除からクロックの生成を開始する構成とすることができる。
【0022】
また、上述した好ましい構成を含む本開示のオーディオ信号同期制御装置及びオーディオ装置にあっては、デジタル回路部について、デジタル用コントローラによる同期制御コマンドを受けて、あらかじめ指定した期間に亘って同期リセットをかけて、リセット解除タイミングを起点にクロック生成をやり直すことができる構成とすることができる。
【0023】
<第1実施形態>
本開示の第1実施形態は、同報通信コマンドによる複数のオーディオデバイスの同期制御の構成例である。第1実施形態に係るオーディオ信号同期制御装置のシステム構成のブロック図を
図1に示す。ここでは、複数のスレーブデバイスとして、左チャンネル(以下、「Lch」と記述する)、及び、右チャンネル(以下、「Rch」と記述する)のオーディオデバイスの場合を例示するが、Lch,Rchの2チャンネルに限られるものではなく、3チャンネル以上のオーディオデバイスであってもよい。
【0024】
[システム構成]
第1実施形態に係るオーディオ信号同期制御装置10は、ホストコントローラ11とLchのオーディオデバイス12、及び、Rchのオーディオデバイス13を備える構成となっている。そして、ホストコントローラ11と複数のスレーブデバイス、即ち、Lchのオーディオデバイス12及びRchのオーディオデバイス13との間は、既存のバス型ネットワークトポロジー(シリアル通信のバス)の一例であるI2Cバス14によって接続されている。
【0025】
I2Cバス14は、ホストコントローラ11と複数のスレーブデバイスとの間を、2本の信号線SCL(シリアル・クロック・ライン),SDA(シリアル・データ・ライン)でパーティーライン状に接続する。このシステム構成においては、ホストコントローラ11が常に権限を持っており、ホストコントローラ11が送信するクロックを基準にして、データ信号が信号線SDA上で転送される。
【0026】
ここでは、ホストコントローラ11からLch,Rchのオーディオデバイス12,13を制御するための通信手段として、I2Cバスを例示しているが、I2Cバスに限定されるものではない。すなわち、複数のスレーブデバイスに対し、同時に同一内容の通報の送信を行う同報通信が可能な通信手段の一例であるバス型ネットワークトポロジーの接続であればよい。
【0027】
ホストコントローラ11は、I2Cバス規格のマスタインターフェース(I/F)111を搭載している。また、Lch,Rchのオーディオデバイス12,13は、後述するように、I2Cバス規格のスレーブインターフェース121,131を搭載している。そして、ホストコントローラ11とLch,Rchのオーディオデバイス12,13とは、I2Cバス14によって接続される。I2Cバス14の2本の信号線SCL,SDAは、Lchのオーディオデバイス12及びRchのオーディオデバイス13とで共有して接続される。
【0028】
Lchのオーディオデバイス12及びRchのオーディオデバイス13は、モノラルのオーディオ信号を処理するデバイスである。Lchのオーディオデバイス12には、Lchのオーディオ信号が入力され、Rchのオーディオデバイス13には、Rchのオーディオ信号が入力される。
【0029】
第1実施形態に係るオーディオ信号同期制御装置10は、ホストコントローラ11及びLch,Rchのオーディオデバイス12,13の他に、クロック発振器15を備えている。クロック発振器15は、複数のスレーブデバイス、即ち、Lch,Rchのオーディオデバイス12,13に対して同じ源発振のクロックを生成し、当該クロックをマスタークロックMCLKとしてLch,Rchのオーディオデバイス12,13に供給する。
【0030】
Lch,Rchのオーディオデバイス12,13には、ホストコントローラ11からのI2Cコマンド送信に先立って、Lch,Rchのオーディオデバイス12,13に固有のIDに対応した、異なるスレーブアドレスがあらかじめ設定される。I2Cバス14のスレーブアドレスは、規格上、7ビット又は10ビットである。ここでは、オーディオデバイス12,13のアドレス設定ピンADDSELで7ビットのスレーブアドレスの下位1ビットを変更できるようにしている。
【0031】
そして、下位1ビットをID値としてスレーブデバイスを区別する場合、ID=0のLchについては、アドレス設定ピンをADDSEL=0(Lowレベル)に電気的に固定し、ID=1のRchについては、アドレス設定ピンをADDSEL=1(Highレベル)に電気的に固定する。これにより、ホストコントローラ11から個別にスレーブデバイス、即ち、Lchのオーディオデバイス12及びRchのオーディオデバイス13を制御することができる。
【0032】
以下、ホストコントローラ11から個別にスレーブデバイスを制御するためのアドレスをデバイス制御用アドレスと呼び、これらデバイスのIDによらない、デバイス共通のアドレスを同期用アドレスと呼ぶ。
【0033】
スレーブアドレスの設定については、不揮発性メモリにあらかじめIDを書き込んでおき、ID値とベースアドレスとの和をスレーブアドレスとして通信できるようにしてもよい。
【0034】
ホストコントローラ11とスレーブデバイス(即ち、Lchのオーディオデバイス12及びRchのオーディオデバイス13)との間の通信手段であるI2Cバス14は、次の2つのアドレス(a),(b)を持つ。
(a)スレーブデバイスのIDに対応して別々に設定されるデバイス制御用アドレス
(b)スレーブデバイスのIDに依らずデバイス共通の同期用アドレス
【0035】
[Lchのオーディオデバイスの構成例]
Lchのオーディオデバイス12とRchのオーディオデバイス13とは、異なるIDを持つだけで、構成は同じである。従って、以下では、Lchのオーディオデバイス12の構成について詳細に説明する。
【0036】
Lchのオーディオデバイス12は、I2Cスレーブインターフェース121、同期制御部122、クロックリセット制御部123、及び、オーディオ信号処理部124を有する構成となっている。
【0037】
・I2Cスレーブインターフェース
I2Cスレーブインターフェース121は、ホストコントローラ11からI2Cバス14で送信されたデータが、デバイス制御用アドレスであるか、デバイス共通の同期用アドレスであるかを識別する。そして、I2Cスレーブインターフェース121は、同期用アドレスでの同報通信コマンドの場合、デバイスのID(識別情報)に基づく所定のオーディオデバイス、具体的には、ID=0のLchのオーディオデバイス12のみがACK応答を行い、ID=0以外のデバイスはACK応答を行わないようにしている。すなわち、ホストコントローラ11から同期用コマンドが複数のスレーブデバイス宛てに同報通信されても、同時に複数のスレーブデバイスがACK応答しないようにしている。これにより、複数のスレーブデバイスが同時に応答することによる不要な電力消費を無くすことができるため、システム全体の消費電力の増加を抑えることができる。
【0038】
I2Cスレーブインターフェース121及び同期制御部122の詳細について
図2を用いて説明する。I2Cスレーブインターフェース121には、例えば、1段のフリップフロップFF
11から成る同期制御用の同期開始タイミングレジスタ1211が用意されている。I2Cスレーブインターフェース121には更に、図示を省略するが、リセット時間設定レジスタ等も用意されている。同期制御部122には、例えば、2段のフリップフロップFF
21,FF
22から成る非同期乗り換えレジスタ1221、及び、1段のフリップフロップFF
23から成るエッジ検出部1222が用意されている。同期制御部122には更に、図示を省略するが、リセット時間計測用の同期リセットタイマー等も用意されている。ホストコントローラ11からスレーブアドレスとして同期用アドレスを使って、1バイト目のスレーブアドレスの後の2バイト目で同期開始タイミングレジスタ1211のアドレスを指定し、3バイト目でライトデータ(0ビット目にアサインされていれば、0x01)を同報通信する。これにより、2つのオーディオデバイス12,13へ同じタイミングで同期開始を命令することができる。同期開始タイミングレジスタ1211は、0x01をライトする度にレベルが0から1、又は、1から0へトグルする同期開始タイミング信号を同期制御部122へ出力する。以下では、この同期開始タイミング信号を同期開始コマンドと呼ぶ場合がある。
【0039】
同期開始コマンドにより、同期開始タイミング信号がI2Cスレーブインターフェース121から同期制御部122へ配信される。前段のI2Cスレーブインターフェース121は、I2Cバス14のSCLクロックドメイン、同期制御部122以降はマスタークロックドメインで動作しているため、非同期クロック乗り換えが必要である。
【0040】
同期制御コマンドの非同期クロック乗り換えについて、
図3を参照して説明する。ここでは、マスタークロックMCLKは、サンプリング周波数48kHzの512倍の24.576MHz、I2Cバス14は、Fast-modeの400kHzを一例として示している。
【0041】
I2Cバスの規格によれば、SCLクロックの立ち上がり時間は最小20ns~最大300nsとなっており、2つのスレーブデバイス、即ち、Lchのオーディオデバイス12及びRchのオーディオデバイス13の非同期乗り換えタイミングが立ち上がりセンスポイントの違いでずれるとしても、最大300nsの半分程度でマスタークロックMCLKの周期約40nsの4クロックである。これはサンプリング周波数fsの128倍の128fsであり、マスタークロックMCLKの4分周の128fsで処理を行う、後述するオーディオ信号処理部124と同じである。
【0042】
実際は、I2Cバス14の信号線SDAと信号線SCLの立ち上がり時間は、プルアップ抵抗の調整で100ns以内にできる。従って、同期開始タイミング信号は、10ns~50ns程度のずれとなり、非同期乗り換え後、マスタークロックMCLKで1~2クロック程度と推定される。尚、オーディオ信号処理部124は、マスタークロックMCLKの4分周の128fsで処理を行うため、半サイクル程度に収めることができる。
【0043】
【0044】
・同期制御部
同期制御部122は、マスタークロックMCLKへの非同期乗り換え後の同期開始タイミングで同期リセットを開始し、あらかじめ設定された時間に亘ってリセットをかける同期リセット信号をクロックリセット制御部123へ配信し、クロック生成をリセットする。また、同期制御部122は、同期開始タイミングレジスタ1211に1をライトされた場合(以下、このことを「同期開始コマンド」と呼ぶ)、マスタークロックMCLKへの非同期乗り換え、及び、エッジ検出後の同期開始タイミングで同期リセットを開始し、タイマーで所定の時間カウント後にリセットを解除する同期リセット信号をクロックリセット制御部123へ配信し、クロック生成をリセットする。
【0045】
・クロックリセット制御部
クロックリセット制御部123は、同期制御部122が生成した同期リセット信号に応答して、デバイス内部のクロックやタイミング信号を生成する。例えば、マスタークロックMCLKの周波数がオーディオデータのサンプリング周波数fsの512倍(以下、「512fs」と記述する)の場合、クロックリセット制御部123は、1fs,2fs,4fs,128fs等の周波数のパルスクロックを生成する。128fsのパルスクロックは4つの位相状態があり、これを揃えるために、クロックリセット制御部123は、同期リセット解除タイミングを起点に、全ての周波数のクロックを生成する仕組みとなっている。
【0046】
クロックリセット制御部123は、512fsのマスタークロックMCLKに対して4つの位相状態をもつ128fsのクロックパルスを同じか1クロックずれで開始させることができる。128fsの1クロックずれは許容されるが、生成されたクロックをモニターしてずれを検出する手段を追加して、ずれを検出した場合に再び同期開始コマンドを送信して同期をかけ直すことができる。
【0047】
・オーディオ信号処理部
オーディオ信号処理部124は、A/D(アナログ/デジタル)制御部1241、デジタル信号処理部1242、及び、D/A(デジタル/アナログ)制御部1243によって構成されており、クロックリセット制御部123で生成されたクロックやタイミング信号に従って、オーディオ信号の処理を行う。
【0048】
具体的には、A/D制御部1241は、外部から入力されるアナログのオーディオ信号をデジタルのオーディオデータに変換する制御を行う。デジタル信号処理部1242は、A/D制御部1241でA/D変換されたオーディオデータ、又は、外部から直接入力されるオーディオデータに対して所定の信号処理を施す。例えば、オーディオ信号処理部124は、I2Cバス14のデバイス制御用アドレス、及び、デバイス共通の同期用アドレスで設定されたボリューム等のレジスタ内容に従ってオーディオデータを処理する。D/A制御部1243は、デジタル信号処理部1242で信号処理されたオーディオデータをD/A変換する制御を行い、アナログのオーディオ信号をデバイス外部へ出力する。
【0049】
[Rchのオーディオデバイスの構成例]
Rchのオーディオデバイス13も、Lchのオーディオデバイス12と同じ構成となっている。すなわち、Rchのオーディオデバイス13は、I2Cスレーブインターフェース131、同期制御部132、クロックリセット制御部133、及び、オーディオ信号処理部134を有する構成となっている。また、オーディオ信号処理部134も、オーディオ信号処理部124と同様に、A/D制御部1341、デジタル信号処理部1342、及び、D/A制御部1343によって構成されている。
【0050】
上記のように、Lchのオーディオデバイス12とRchのオーディオデバイス13とは、異なるIDを持つだけで、内部構成は同じである。Lchのオーディオデバイス12とRchのオーディオデバイス13とで異なる値を設定したい場合は、デバイス制御用アドレスでレジスタ設定し、ブロックのイネーブル、ボリューム等についてLch, Rch同時に同じ値を設定したい場合は、同期用アドレスでレジスタ設定を行うことで2つのオーディオデバイス12,13に同時に同じ値を設定することが可能となる。
【0051】
上述したように、第1実施形態に係るオーディオ信号同期制御装置10では、ホストコントローラ11から複数のオーディオデバイス、本例では、Lch,Rchのオーディオデバイス12,13に対して同期用アドレスを使って同報通信が行われるようになっている。これにより、Lch,Rchのオーディオデバイス12,13が同じタイミングで同期リセットがかけられるため、オーディオデータの同期が達成される。また、デバイス共通の同期用アドレスでの同期リセットだけでなく通常のレジスタ設定もできるようになっている。これにより、Lchのオーディオデバイス12及びRchのオーディオデバイス13で同時にボリューム制御が可能となる。
【0052】
従って、第1実施形態に係るオーディオ信号同期制御装置10によれば、同期用の外部割込み信号を追加することなく、既存のバス型ネットワークトポロジーのままで、複数のオーディオデバイスを同期制御することができる。これにより、モノラルのオーディオデバイスを複数のスレーブデバイスとして接続して、ステレオやマルチチャンネルでも利用できるようにすることができる。
【0053】
[第1実施形態の同期制御の手順]
第1実施形態に係るオーディオ信号同期制御装置10における同期制御の手順の一例について、
図4のフローチャートを用いて説明する。この同期制御は、ホストコントローラ11による制御、より具体的には、ホストコントローラ11を構成するプロセッサ(CPU)による制御の下に、同期制御部122及び同期制御部132で実行される。
【0054】
電源投入により、ホストコントローラ11は、非同期のパワーオンリセットで、Lchのオーディオデバイス12及びRchのオーディオデバイス13を起動し(ステップS11)、次いで、各デバイス12,13のアナログ部、主にデジタルロジックと関係ない電源関連のアナログ部の初期設定を行う(ステップS12)。
【0055】
次に、ホストコントローラ11は、マスタークロックMCLKの入力イネーブルで、クロック発振器15で生成されたマスタークロックMCLKをLchのオーディオデバイス12に入力させる(ステップS13)。Rchのオーディオデバイス13には、Lchのオーディオデバイス12の発振クロックを入力させる。これにより、同じ源発振のマスタークロックMCLKが、Lchのオーディオデバイス12及びRchのオーディオデバイス13の双方に入力されることになる。
【0056】
但し、クロックリセット回路の動作開始が、Lchのオーディオデバイス12とRchのオーディオデバイス13とで異なるため、クロックリセット制御部123,133の内部カウンタの値は、Lchのオーディオデバイス12とRchのオーディオデバイス13では異なる値となっている。従って、このままパルスクロックをイネーブルにしても、オーディオデータは、Lchのオーディオデバイス12とRchのオーディオデバイス13とで周期が同じで、ずれた位相のタイミングで処理される可能性が高く、同期が必要な状態になっている。
【0057】
次に、ホストコントローラ11は、Lchのオーディオデバイス12及びRchのオーディオデバイス13に対して、同期リセット時間の設定を行う(ステップS14)。具体的には、ホストコントローラ11は、パルスクロックの最も周期の長いクロック、例えばサンプリング周波数fsの周期の16倍のクロック周期を同期リセット時間としてあらかじめレジスタで設定する。
【0058】
次に、ホストコントローラ11は、Lchのオーディオデバイス12及びRchのオーディオデバイス13に対して、同期用アドレスで同期開始コマンドを発行する(ステップS15)。この同期開始コマンドの発行により、Lchのオーディオデバイス12の同期制御部122、及び、Rchのオーディオデバイス13の同期制御部133では、同じタイミングで同期リセットが開始される。
【0059】
次に、ホストコントローラ11は、ステップS14で設定した同期リセット時間に亘って、同期リセットをクロックリセット制御部123及びクロックリセット制御部133へ配信する(ステップS16)。この同期リセットの配信により、Lchのオーディオデバイス12及びRchのオーディオデバイス13では同じタイミングでリセットが解除され、Lchのオーディオデバイス12及びRchのオーディオデバイス13の同期がとられ、同期制御が完了する(ステップS17)。
【0060】
[第1実施形態の応用例]
以上説明した第1実施形態では、アドレス設定ピンADDSELを1つとし、2つのスレーブデバイス(即ち、2チャンネルのオーディオデバイス)に対して異なるIDを付与する場合を例に挙げて説明したが、これに限られるものではない。
【0061】
以下に、アドレス設定ピンADDSELを2つ以上とし、3つ以上のスレーブデバイスに対して異なるIDを付与する場合について、第1実施形態の応用例として説明する。アドレス設定ピンADDSELを2つ以上とすることで、3チャンネル以上のオーディオデバイスに対して異なるIDを付与し、デバイス制御用アドレスについてもID毎に異なるアドレスを付与することができる。
【0062】
図5は、第1実施形態の応用例に係るオーディオ信号同期制御装置のシステム構成を示すブロック図である。ここでは、I2Cバス規格のマスタインターフェース(I/F)111に対し、N+1個のスレーブデバイス(即ち、オーディオデバイス)のI2Cバス規格のスレーブインターフェース121
_0~121
_Nが接続されたシステム構成を例示している。
図5に記載の式(ID=0 && I2C.add=common || I2C.add=base+ID)において、||は論理ORを表しており、デバイス共通の同期用アドレス(common)のときは、ID=0のスレーブデバイスのみ応答という意味である。
【0063】
上記のシステム構成のオーディオ信号同期制御装置では、スレーブデバイスに固有のIDに対応するスレーブアドレスが、デバイス共通の同期用アドレス(
図5では、common)の場合は、ID=0のスレーブデバイスのみSDA outが有効となり、ID=0以外のスレーブデバイスのSDA outが無効となる。また、スレーブアドレスが、個別にスレーブデバイスを制御するためのデバイス制御用アドレス(
図5では、base+ID)の場合は、選択されたスレーブデバイスのみSDA outが有効となる。
【0064】
<第2実施形態>
オーディオの分野において、オーディオ信号のハイレゾ(ハイレゾリューション)化、ノイズキャンセリング、無線通信機能等により、デジタル信号処理部について、プロセッサを内蔵できる高い集積度と動作周波数、低消費電力のための最先端のプロセスを使う要求が高い。一方、A/D制御部、D/A制御部等のアナログ部は、低ノイズ、コストの観点から、実績のある古いプロセスの要求が高いため、別デバイスや別チップ(同一パッケージ内)で構成する場合がある。
【0065】
このような構成にも対応できるように、本開示の第2実施形態では、I2Cバスと異なるホストインターフェースを有するデバイスとの間で、安定したデータ通信のための同期用のタイミング信号(以下、「同期開始タイミング信号SYNC」と記述する)、及び、同期開始タイミングの微調整機能を追加することにより、複数のオーディオデバイスの同期制御を実現する。
【0066】
すなわち、本開示の第2実施形態は、オーディオ信号処理部を、モノラルの複数チャンネルのアナログ回路部、及び、ステレオのデジタル回路部に分離したシステム構成で、同期制御を実現する例である。尚、アナログ回路部は、主にアナログ回路部から成るが、当該アナログ回路部には、インターフェース(I/F)等でデジタルロジック部が搭載されている。
【0067】
[システム構成]
第2実施形態に係るオーディオ信号同期制御装置のシステム構成のブロック図を
図6に示す。ここでは、複数チャンネルとして、Lch,Rchの2チャンネルの場合を例示するが、Lch,Rchの2チャンネルに限られるものではなく、3チャンネル以上であってもよい。
【0068】
第2実施形態に係るオーディオ信号同期制御装置20は、I2Cバス規格のホストコントローラ21、Lch,Rchのモノラルのアナログ回路部22,23、クロック発振器25、及び、ステレオのデジタル回路部26を備える構成となっている。換言すれば、第2実施形態に係るオーディオ信号同期制御装置20は、オーディオ信号処理部を、モノラルのアナログ回路部22,23、及び、ステレオのデジタル回路部26に分離した構成となっている。そして、I2Cバス規格のホストコントローラ21とLch,Rchのアナログ回路部22,23とは、I2Cバス24によって接続されている。
【0069】
クロック発振器25は、Lch,Rchのアナログ回路部22,23及びステレオのデジタル回路部26に対して同じ源発振のクロックを生成し、当該クロックをマスタークロックMCLKとしてLch,Rchのアナログ回路部22,23及びステレオのデジタル回路部26に供給する。マスタークロックMCLKは、例えば32MHzの周波数のクロックである。
【0070】
[デジタル回路部の構成例]
デジタル回路部26は、ホストコントローラ261、クロック逓倍/分周部262、クロック同期制御部263、Lchのデジタル信号処理部264、及び、Rchのデジタル信号処理部265を有する構成となっている。
【0071】
・ホストコントローラ
デジタル回路部26に内蔵のデジタル用ホストコントローラ261(以下、単に「ホストコントローラ261」と記述する)は、I2Cバス24と異なるインターフェースのホストコントローラである。従って、ホストコントローラ261を内蔵するデジタル回路部26は、第1実施形態の場合のように、I2Cバスで同報通信の同期開始タイミングのコマンドを発行して同期を取ることができない。ホストコントローラ261としては、例えば、ARM社のAMBAバスで接続されるARM CPU等を例示することができる。
【0072】
ホストコントローラ261は、内蔵する同期開始制御レジスタ(図示せず)への書き込みによる同期開始コマンドの発行により、同期制御を行うための同期開始タイミング信号SYNCを出力し、クロック同期制御部263に与える。同期開始タイミング信号SYNCは、マスタークロックMCLKに同期した立ち上がりエッジの信号で、デジタル回路部26の外部へも出力され、Lchのアナログ回路部22及びRchのアナログ回路部23に供給される。
【0073】
同期開始タイミング信号SYNCは、デジタル回路部を起点に、複数チャンネルのアナログ回路部に対して同期開始タイミングを伝える専用の信号である。同期開始タイミング信号SYNCについては、デバイス間の外部信号のため、デバイス合成時に推定できるデバイス内部の遅延と異なり、I/Oピンや配線による大きな遅延やグリッチが付加される可能性があることを考慮する必要がある。
【0074】
尚、本例では、ホストコントローラ261について、デジタル回路部26に内蔵した構成としているが、デジタル回路部26に内蔵する構成に限られるものではない。但し、システム全体の小型化の観点からすると、ホストコントローラ261をデジタル回路部26の外部に設ける構成よりも、内蔵する構成の方が好ましい。
【0075】
・クロック逓倍/分周部
クロック逓倍/分周部262は、例えばPLL(Phase Locked Loop)回路から成り、ホストコントローラ261を高い周波数で動作させることができる。但し、逓倍されたクロックを分周してアナログ回路部22,23と同じ周波数に合わせても、別の回路部であるアナログ回路部22やアナログ回路部23とは位相が揃わないため、位相を調整する仕組みが必要である。
【0076】
・クロック同期制御部
クロック同期制御部263は、同期開始タイミング微調整部2631、同期制御部2632、クロックバッファON/OFF制御部2633、及び、クロックリセット制御部2634を有しており、ホストコントローラ261から与えられる同期開始タイミング信号SYNCに基づいて同期制御を行う。
【0077】
同期開始タイミング微調整部2631は、マスタークロックMCLK(本例では、周波数が32MHz、周期が31.25ns)の単位で、同期制御部2632へ伝える同期開始タイミングを、コマンド発行タイミングから遅延させることができる。同期開始タイミング微調整部2631は、同期リセット信号(パルス)の開始タイミングを示すトグル信号を生成し、同期制御部2632へ供給する。
【0078】
同期制御部2632は、同期開始タイミング微調整部2631からのトグル信号を受けて同期リセット信号を生成し、クロックリセット制御部2634へ供給する。クロックリセット制御部2634には、クロック逓倍/分周部262を経由したマスタークロックMCLKが、クロックバッファON/OFF制御部2633を経て供給される。
【0079】
クロックバッファON/OFF制御部2633は、クロックイネーブラーともいわれる回路部であって、オーディオ信号処理が不要な場合は、マスタ―クロックMCLKの供給を停止させる機能をもつクロックバッファである。このクロックバッファが持つ機能により、マスタ―クロックMCLKの供給を選択的に停止させることで、低消費電力化を図ることができる。
【0080】
クロックリセット制御部2634は、オーディオ信号を処理するLchのデジタル信号処理部264及びRchのデジタル信号処理部265へ供給するクロック及びリセット信号を生成する。
図6では図示を省略しているが、クロックリセット制御部2634は、デジタル信号処理部264,265に対して、例えば、マスタークロックMCLKの32MHz、即ち、サンプリング周波数f
s(=62.5kHz)の512倍の512f
sを1/4の8MHzの周期に間引いたパルスクロックを供給する。
【0081】
クロックリセット制御部2634は、レジスタ(図示せず)であらかじめ設定された期間に亘って同期リセットをかけて、同期リセット解除から、分周されたパルスクロックを含む全てのクロックの生成を開始するようになっている。クロックリセット制御部2634には、同期制御部2632から同期リセット信号が供給される。同期制御部2632及びクロックリセット制御部2634の構成は、基本的に、第1実施形態の同期制御部122及びクロックリセット制御部123の構成と同様である。
【0082】
デジタル回路部26は、ホストコントローラ261による同期制御コマンドを受けて、クロック同期制御部263の同期開始タイミング微調整部2631、同期制御部2632、及び、クロックリセット制御部2634によって、あらかじめ指定した期間に亘って同期リセットをかけて、リセット解除タイミングを起点に全てのクロック生成をやり直すことができる。同期開始タイミング微調整部2631によって同期開始タイミングを微調整できる点が第1実施形態と異なる。
【0083】
[Lchのアナログ回路部の構成例]
第2実施形態では、ホストコントローラ261から出力される同期開始タイミング信号SYNCで同期制御を行うため、Lchのアナログ回路部22については、第1実施形態における同期用のスレーブアドレスのコマンドをデコードする特別なI2Cスレーブインターフェース121を持たなくてもよい。但し、
図6では図示が省略されているが、通常のI2Cスレーブインターフェースは必要である。
【0084】
Lchのアナログ回路部22では、デジタル回路部26から与えられる同期開始タイミング信号SYNCに同期して、具体的には、同期開始タイミング信号SYNCの立ち上がりエッジを検出して同期制御が行われる。同期開始タイミング信号SYNCは、デジタル回路部26内の同期制御コマンドにより出力される信号である。
【0085】
Lchのアナログ回路部22は、アナログ部221の他、ロジック部222を内蔵している。アナログ部221は、オーディオ信号を処理するADC(アナログ-デジタル変換器)2211及びDAC(デジタル-アナログ変換器)2212のアナログ回路から構成されている。ADC2211には、Lchのアナログオーディオ信号が入力され、DAC2212からは、Lchのアナログオーディオ信号が出力される。
【0086】
ロジック部222は、クロック同期制御部2221、A/D制御部2222、及び、D/A制御部2223から構成されている。
図6では、クロック同期制御部2221の内部の構成の詳細については図示を省略しているが、基本的に、デジタル回路部26のクロック同期制御部263と同じ構成となっている。すなわち、クロック同期制御部2221は、同期開始タイミング微調整部、同期制御部、クロックバッファON/OFF制御部、及び、クロックリセット制御部を内部にもち、同期リセットをかけてリセット解除タイミングを起点に全てのクロック生成をやり直すことができる。
【0087】
[Rchのアナログ回路部の構成例]
Rchのアナログ回路部23についても、Lchのアナログ回路部22と同様に、第1実施形態における同期用のスレーブアドレスのコマンドをデコードする特別なI2Cスレーブインターフェース131を持たなくてもよいが、通常のI2Cスレーブインターフェースは必要である。また、Rchのアナログ回路部23でも、Lchのアナログ回路部22と同様に、デジタル回路部26から与えられる同期開始タイミング信号SYNCの立ち上がりエッジを検出して同期制御が行われる。
【0088】
Rchのアナログ回路部23は、Lchのアナログ回路部22と同様の構成となっている。すなわち、Rchのアナログ回路部23は、アナログ部231の他、ロジック部232を内蔵している。そして、アナログ部231は、ADC2311及びDAC2312のアナログ回路から構成され、ロジック部232は、クロック同期制御部2321、A/D制御部2322、及び、D/A制御部2323から構成されている。クロック同期制御部2321は、デジタル回路部26のクロック同期制御部263と同様に、同期開始タイミング微調整部、同期制御部、クロックバッファON/OFF制御部、及び、クロックリセット制御部を内部にもち、同期リセットをかけてリセット解除タイミングを起点に全てのクロック生成をやり直すことができる。
【0089】
[同期開始タイミングの微調整について]
上記の構成の第2実施形態に係るオーディオ信号同期制御装置20では、デジタル回路部26内の同期開始タイミング微調整部2631、及び、Lch,Rchのアナログ回路部22,23内の同期開始タイミング微調整部(図示せず)の遅延量を調整することができる。そして、この遅延量の調整により、デバイス間のデータ通信の安定化を図ることができるとともに、Lch,Rchのオーディオデータの同期制御を行うことができる。
【0090】
例えば、オーディオデータのサンプリングクロックの周波数が62.5kHz(周期:16μs)で、マスタークロックMCLKの周波数がサンプリング周波数fsの512倍の32MHz(周期:31.25ns)であるシステムにおいて、マスタークロックMCLKの1/4の128fs(周期:125ns)で処理される。アナログ回路部の複数のチャンネル(本例では、Lch,Rchの2チャンネル)でサンプリング周期以上ずれないこと、及び、アナログ回路部22,23とデジタル回路部26との間でセットアップ・ホールド条件を満たして、安定して通信が実行されることが重要である。
【0091】
以下に、同期開始タイミングの微調整について、
図7のタイミングダイアグラムを用いて具体的に説明する。
図7のタイミングダイアグラムにおいて、一点鎖線よりも上段には、デジタル回路部26の同期開始コマンドの発行及び同期開始タイミング信号SYNCの出力のタイミングを示し、一点鎖線よりも下段には、Lch,Rchのアナログ回路部22,23の同期開始タイミング信号SYNCの入力から同期開始タイミングの微調整のタイミングを示している。
【0092】
デジタル回路部26において、クロック逓倍/分周部262のPLL回路等で遅延が付加された同期開始タイミング信号SYNCに対し、アナログ回路部22,23のロジック部222,232へは、クロックバッファで小さな遅延が付加された同期開始タイミング信号SYNCが入力される。同期開始タイミング信号SYNCを生成するマスタークロックMCLKの周波数については、一例として、32MHz(周期:31.25ns)としている。
【0093】
ここでは、デジタル回路部26内、及び、アナログ回路部22,23内の同期開始タイミング信号SYNCをSYNC(create)とし、立ち上がり及び立ち下がりの各エッジに位相を示す番号(1),(2),(3),・・・を付与している。オーディオ信号処理のクロック周波数がマスタークロックMCLKの1/4の8MHzとすると、クロックの立ち上がりの位相が(1),(3),(5),(7)の4つ存在する。
【0094】
デジタル回路部26のホストコントローラ261から同期開始コマンドの立ち上がりエッジ信号が入力される。デジタル回路部26では、エッジ検出と2段フリップフロップによる非同期乗り換えで3段フリップフロップ(3段F/F)のラッチを行う。同時に、同期開始コマンドのタイミング信号を同期開始タイミング信号SYNCとしてアナログ回路部22,23へ出力する。
【0095】
アナログ回路部22,23では、非同期の同期開始タイミング信号SYNCについて、エッジ検出と非同期乗り換えの3段フリップフロップ(3段F/F)のラッチを行う。デジタル回路部26の同期開始コマンドは、MCLK同期のため、非同期乗り換えは不要であるが、回路流用の観点でアナログ回路部22,23と同じ3段フリップフロップとしている。
【0096】
例えば、デジタル回路部26は、微調整値SYNC_FINE_DELAYを0(FINE_DELAY=0と図示)とすると、同期開始タイミングは同期開始タイミング信号SYNC(create)の位相(7)になっている。簡単のため同期リセット区間を省略しているが、同期リセット時間はオーディオ信号処理クロックであるマスタークロックMCLKの1/4の周波数の単位のため、リセット解除タイミングのクロックの位相は同じ位相(7)となる。
【0097】
アナログ回路部22,23では、同期開始タイミング信号SYNCの配線遅延による差を図示している。この例では、同期開始タイミング信号SYNCの到達が遅いLchの微調整値SYNC_FINE_DELAYを1とし、Rchの微調整値SYNC_FINE_DELAYを2として、オーディオ信号処理のクロックの位相を位相(3)としている。
【0098】
この同期開始タイミングの微調整機能によって、LchとRchの位相ずれについて、同期開始タイミング信号SYNCを生成しているマスタークロックMCLKの周期の単位で微調整が可能となる。オーディオデータは、マスタークロックMCLKの4サイクルに1回の変化であり、同期開始タイミング信号SYNCの1,2クロック程度のずれは許容できる。
【0099】
アナログ回路部22,23では、位相(3)のクロックでデータが変化するが、デバイス毎やデバイスの状態によって遅延バラツキがあるために、図に網掛けを付して示すように、データの不安定部分が存在する。この信号を受け取るデジタル回路部26のオーディオ信号処理クロックの位相は位相(7)のため、アナログ回路部22,23のロジック部222,232で処理されたオーディオ信号を、安定したタイミングで受け取ることができる。さらに、デジタル回路部26のオーディオ信号処理クロックの位相は位相(7)のため、デジタル回路部26から出力されるデータ信号の遅延バラツキによる不安定部分は(7)の付近にあり、この信号を受け取るアナログ回路部22,23のロジック部222,232で受け取るクロックの位相は位相(3)のため、安定したタイミングで受け取ることができる。
【0100】
図7のタイミングダイアグラムにおいて、Deley1がLchのアナログ回路部22側の微調整量であり、Deley1+Deley2がRchのアナログ回路部23の微調整量である。
【0101】
[オーディオ信号処理の流れについて]
次に、上記の構成の第2実施形態に係るオーディオ信号同期制御装置20におけるオーディオ信号処理の流れについて説明する。尚、第2実施形態では、モノラルのアナログ回路部が2つの場合を例示しているが、モノラルのアナログ回路部が3つ以上のマルチチャンネルの構成とすることもできる。
【0102】
Lchのアナログ回路部22には、Lchのアナログオーディオ信号が入力され、Rchのアナログ回路部23には、Rchのアナログオーディオ信号が入力される。Lchのアナログオーディオ信号は、アナログ部221のADC2211でデジタル信号に変換される。ADC2211から出力されるデジタルオーディオ信号LD1は、ロジック部222のA/D制御部2222に供給される。A/D制御部2222は、アナログ部221のADC2211の制御を行い、デジタル回路部26のLchのデジタル信号処理部264向けのデジタルオーディオ信号LD2に変換し、Lchのデジタル信号処理部264に供給する。
【0103】
Lchのデジタル信号処理部264では、デジタルオーディオ信号LD2に対してボリューム調整等の信号処理が行われ、デジタルオーディオ信号LD3として出力される。デジタルオーディオ信号LD3は、再び、アナログ回路部22に供給され、ロジック部222のD/A制御部2223を経て、アナログ部221のDAC2212向けのデジタルオーディオ信号LD4として当該DAC2212に供給される。そして、DAC2212は、デジタルオーディオ信号LD4をアナログ信号に変換してLchのアナログオーディオ信号として出力する。
【0104】
同様に、Rchのアナログオーディオ信号は、アナログ部231のADC2311でデジタル信号に変換される。ADC2311から出力されるデジタルオーディオ信号RD1は、ロジック部232のA/D制御部2322に供給される。A/D制御部2322は、アナログ部231のADC2311の制御を行い、デジタル回路部26のRchのデジタル信号処理部265向けのデジタルオーディオ信号RD2に変換し、Rchのデジタル信号処理部265に供給する。
【0105】
Rchのデジタル信号処理部265では、デジタルオーディオ信号RD2に対してボリューム調整等の信号処理が行われ、デジタルオーディオ信号RD3として出力される。デジタルオーディオ信号RD3は、再び、アナログ回路部23に供給され、ロジック部232のD/A制御部2323を経て、アナログ部231のDAC2312向けのデジタルオーディオ信号RD4として当該DAC2312に供給される。そして、DAC2312は、デジタルオーディオ信号RD4をアナログ信号に変換してRchのアナログオーディオ信号として出力する。
【0106】
[第2実施形態の同期制御の手順]
第2実施形態に係るオーディオ信号同期制御装置20における同期制御の手順の一例について、
図8のフローチャートを用いて説明する。この同期制御は、基本的に、デジタル回路部26内のホストコントローラ261による制御、より具体的には、ホストコントローラ261を構成するプロセッサ(CPU)による制御の下に実行される。
【0107】
また、レジスタ設定については、デジタル回路部26では、内部CPUより設定され、アナログ回路負部22,23では、I2Cバス24経由でI2Cバス規格のホストコントローラ21より設定される。
【0108】
電源投入により、ホストコントローラ261は、非同期のパワーオンリセットで、Lchのアナログ回路部22、Rchのアナログ回路部23、及び、デジタル回路部26を起動し(ステップS21)、次いで、アナログ回路部22,23のアナログ部221,231の初期設定を行う(ステップS22)。
【0109】
次に、ホストコントローラ261は、デジタル回路部26内のクロック逓倍/分周器262、及び、クロック同期制御部263のクロックバッファON/OFF制御部2633を制御して、クロックリセット制御部2634にクロック発振器25からの外部マスタークロックMCLKを供給させる(ステップS23)。このとき、アナログ回路部22,23についても、ロジック部222,232内のクロック同期制御部2221,2321に対して同様に外部マスタークロックMCLKを供給させる。
【0110】
次に、ホストコントローラ261は、デジタル回路部26のクロック同期制御部263内の同期開始タイミング微調整部2631、I2Cバス規格のホストコントローラ21は、アナログ回路部22,23のクロック同期制御部2221,2321内の同期開始タイミング微調整部(図示せず)の微調整値SYNC_FINE_DELAYを設定する(ステップS24)。この微調整値SYNC_FINE_DELAYの設定により、入力される同期開始タイミングをマスタークロックMCLK(本例では、512fs=32MHz)の単位で遅延させることができる。いずれも遅延のみの設定であるが、アナログ回路部22,23について、デジタル回路部26よりもタイミングを早くしたい場合、デジタル回路部26の方をアナログ回路部22,23よりも大きな値に設定することで相対的に早めることができる。
【0111】
次に、ホストコントローラ261は、デジタル回路部26のクロック同期制御部263内の同期制御部2632で生成する同期リセット信号のパルス幅、即ち、同期リセット時間の設定を行う(ステップS25)。このとき、クロックリセット制御部2634で生成されるパルスクロックの最も長い周期、例えばサンプリング周波数fsの周期の16倍の周期を同期リセット時間としてあらかじめレジスタで設定する。アナログ回路部22,23のクロック同期制御部2221,2321についても同様に同期リセット時間の設定を、I2Cバス規格のホストコントローラ21で行う。
【0112】
次に、ホストコントローラ261、及び、アナログ回路部22,23に対してI2Cバス規格のホストコントローラ21は、レジスタ設定で同期制御機能を有効(SYNC_EN=1)にする(ステップS26)。同期制御機能を有効にすることで、デジタル回路部26のクロック同期制御部263内の同期開始タイミング微調整部2631、及び、アナログ回路部22,23のクロック同期制御部2221,2321内の同期開始タイミング微調整部(図示せず)のステートマシーンは同期開始コマンド待ちの状態になる。
【0113】
次に、ホストコントローラ261は、同期開始コマンドを発行すると同時に、同期開始タイミング信号SYNC(0→1の立ち上りエッジ)を、クロック同期制御部263及びアナログ回路部22,23に対して出力する(ステップS27)。このとき、デジタル回路部26のクロック同期制御部263内の同期開始タイミング微調整部2631、及び、アナログ回路部22,23のクロック同期制御部2221,2321内の同期開始タイミング微調整部(図示せず)のステートマシーンは、同期開始タイミング信号SYNCの遅延制御の状態になる。
【0114】
そして、上記のステートマシーンは、ホストコントローラ261による制御の下に、ステップS24で設定した微調整値SYNC_FINE_DELAYだけ同期開始タイミングを遅延させた後、トグル信号を生成し、同期制御部2632へ供給する(ステップS28)。トグル信号は、同期リセット信号の開始タイミングを示す信号である。
【0115】
ステップS28の処理では、ステップS25で設定した同期リセット時間の時間幅の同期リセット信号、即ち、リセット期間に亘ったLowレベルが続くような長いパルスを生成する。クロックリセット制御部2634は、リセット解除タイミングを起点に全てのパルスクロックの生成を開始する。このとき、上記のステートマシーンは、ステップS26の同期制御機能が有効の間、グリッチ(同期開始タイミング信号SYNCの短いLowレベル)の有無をチェックする状態になる。同期開始タイミング信号SYNCは、開始タイミングを示す0→1のトグル信号で1に変化した後、1が継続しなければならない。外部ノイズ等でLowレベルに落ちた場合は、異常な同期開始タイミング信号としてエラー通知する。
【0116】
次に、ホストコントローラ261は、レジスタ設定で同期制御機能を無効(SYNC_EN=0)にする(ステップS29)。アナログ回路部22,23についても、I2Cバス規格のホストコントローラ21で同期制御機能を無効にする。
【0117】
次に、ホストコントローラ261は、デジタル回路部26で同期制御レジスタを設定し、同期開始タイミング信号SYNCを1→0にする、即ち、同期開始タイミング信号SYNCの出力をOFFにする(ステップS30)。
【0118】
次に、I2Cバス規格のホストコントローラ21は、グリッチを検出したか否かを判断し(ステップS31)、レジスタ通知より、グリッチを検出した場合(S31のYES)、ステップS27に戻って、同期制御についてリトライする。このように、グリッチの発生時は、同期制御についてリトライを行うことで、グリッチの発生による同期の誤動作を回避することができる。
【0119】
尚、ここでは、グリッチの発生時に、同期制御についてリトライを行うとしたが、同期開始タイミング信号SYNCについて、第1実施形態のトグル(両エッジ)有効から、外部ノイズの影響を受ける第2実施形態では、立ち上がりエッジのみ有効に変更し、入力受信期間を制限することで、グリッチの発生を抑制することができる。
【0120】
ホストコントローラ261、及び、I2Cバス規格のホストコントローラ21は、グリッチを検出しない場合(S31のNO)、Lchのアナログ回路部22、Rchのアナログ回路部23、及び、デジタル回路部26の同期がとられたものとし、同期制御を完了する(ステップS32)。
【0121】
<第3実施形態>
本開示の第3実施形態は、オーディオ装置の例である。第3実施形態に係るオーディオ装置のシステム構成のブロック図を
図9に示す。第3実施形態に係るオーディオ装置としては、例えば、ヘッドフォン装置やスピーカ装置を例示することができる。
【0122】
本実施形態に係るオーディオ装置100は、ホストコントローラ11、Lch,Rchのオーディオデバイス12,13、クロック発振器15、スピーカドライバ16,17、及び、スピーカ18,19を備える構成となっている。そして、ホストコントローラ11とLch,Rchのオーディオデバイス12,13との間が、I2Cバス14によって接続されている。
【0123】
上記のシステム構成の第3実施形態に係るオーディオ装置100において、ホストコントローラ11、Lch,Rchのオーディオデバイス12,13、及び、クロック発振器15として、第1実施形態に係るオーディオ信号同期制御装置10のホストコントローラ11、Lch,Rchのオーディオデバイス12,13、及び、クロック発振器15を用いることができる。尚、ここでは、第3実施形態に係るオーディオ装置100に、第1実施形態に係るオーディオ信号同期制御装置10を適用するとしたが、第2実施形態に係るオーディオ信号同期制御装置20を適用するようにしてもよい。
【0124】
<本開示がとることができる構成>
尚、本開示は、以下のような構成をとることもできる。
【0125】
≪A.オーディオ信号同期制御装置≫
[A-1]ホストコントローラ、
複数のオーディオデバイス、
同報通信が可能で、複数のオーディオデバイスに対して別々に設定されるデバイス制御用アドレスとデバイス共通の同期用アドレスを持ち、ホストコントローラから複数のオーディオデバイスを制御するための通信手段、及び、
複数のオーディオデバイスに対して同じ源発振のクロックをマスタークロックとして供給するクロック発振器を備えており、
ホストコントローラは、複数のオーディオデバイスに対して同期用アドレスで同報通信を行い、
複数のオーディオデバイスはそれぞれ、
同期用アドレスで同報通信された場合、同期リセット信号を生成する同期制御部、
同期制御部で生成された同期リセット信号に応答して、タイミング信号を生成するクロックリセット制御部、及び、
クロックリセット制御部で生成されたタイミング信号に従って、オーディオデータを処理するオーディオ信号処理部を有する、
オーディオ信号同期制御装置。
[A-2]通信手段は、同報通信が可能なバス型トポロジーである、
上記[A-1]に記載のオーディオ信号同期制御装置。
[A-3]通信手段は、I2Cバスである、
上記[A-2]に記載のオーディオ信号同期制御装置。
[A-4]複数のオーディオデバイスは、デバイス共通の同期用アドレスでの同報通信コマンドを受信した場合、複数のデバイスで同時に同報通信コマンドの受理を行い、デバイスの識別情報に基づく所定のオーディオデバイスのみACK応答を行う、
上記[A-3]に記載のオーディオ信号同期制御装置。
[A-5]複数のオーディオデバイスは、デバイス制御用アドレスでの同報通信コマンドを受信した場合、選択されたオーディオデバイスのみ応答する、
上記[A-3]に記載のオーディオ信号同期制御装置。
[A-6]同期制御部は、同期用アドレスで同報通信された場合、同期リセットを開始し、所定の時間経過後リセットを解除する、
上記[A-1]乃至上記[A-5]のいずれかに記載のオーディオ信号同期制御装置。
[A-7]クロックリセット制御部は、マスタークロックの周波数がオーディオデータのサンプリング周波数fsの512倍の場合、1fs,2fs,4fs,128fsの周波数のパルスクロックを生成する、
上記[A-1]乃至上記[A-6]のいずれかに記載のオーディオ信号同期制御装置。
[A-8]オーディオ信号処理部は、デバイス制御用アドレス及び同期用アドレスで設定されたレジスタ内容に従ってオーディオデータを処理する、
上記[A-1]乃至上記[A-7]のいずれかに記載のオーディオ信号同期制御装置。
[A-9]オーディオ信号処理部は、モノラルの複数チャンネルのアナログ回路部、及び、ステレオのデジタル回路部から成る、
上記[A-1]乃至上記[A-8]のいずれかに記載のオーディオ信号同期制御装置。
[A-10]ホストコントローラと複数チャンネルのアナログ回路部とは、I2Cバスで接続されている、
上記[A-9]に記載のオーディオ信号同期制御装置。
[A-11]デジタル回路部は、デジタル用コントローラを内蔵しており、
デジタル用コントローラは、I2Cバスと異なるインターフェースのホストコントローラである、
上記[A-10]に記載のオーディオ信号同期制御装置。
[A-12]デジタル回路部は、同期制御を行うためのクロック同期制御部を有しており、
デジタル用コントローラは、同期制御を行うための同期開始タイミング信号をクロック同期制御部に供給する、
上記[A-11]に記載のオーディオ信号同期制御装置。
[A-13]同期開始タイミング信号は、デジタル回路部を起点に、複数チャンネルのアナログ回路部に対して同期開始タイミングを伝える信号である、
上記[A-12]に記載のオーディオ信号同期制御装置。
[A-14]クロック同期制御部は、デジタル用コントローラから与えられる同期開始タイミング信号に基づいて同期制御を行う、
上記[A-12]又は上記[A-13]に記載のオーディオ信号同期制御装置。
[A-15]クロック同期制御部は、マスタークロックの単位で、同期制御部へ伝える同期開始タイミングを、コマンド発行タイミングから遅延させることができる同期開始タイミング微調整部を有する、
上記[A-12]又は上記[A-13]に記載のオーディオ信号同期制御装置。
[A-16]同期開始タイミング微調整部は、同期リセット信号の開始タイミングを示すトグル信号を生成し、同期制御部へ供給する、
上記[A-15]に記載のオーディオ信号同期制御装置。
[A-17]同期制御部は、同期開始タイミング微調整部からのトグル信号を受けて同期リセット信号を生成し、クロックリセット制御部へ供給する、
上記[A-16]に記載のオーディオ信号同期制御装置。
[A-18]クロックリセット制御部は、あらかじめ設定された期間に亘って同期リセットをかけ、同期リセット解除からクロックの生成を開始する、
上記[A-17]に記載のオーディオ信号同期制御装置。
[A-19]デジタル回路部は、デジタル用コントローラによる同期制御コマンドを受けて、あらかじめ指定した期間に亘って同期リセットをかけて、リセット解除タイミングを起点にクロック生成をやり直すことができる、
上記[A-12]乃至上記[A-18]のいずれかに記載のオーディオ信号同期制御装置。
【0126】
≪B.オーディオ装置≫
[B-1]ホストコントローラ、
複数のオーディオデバイス、
同報通信が可能で、複数のオーディオデバイスに対して別々に設定されるデバイス制御用アドレスとデバイス共通の同期用アドレスを持ち、ホストコントローラから複数のオーディオデバイスを制御するための通信手段、及び、
複数のオーディオデバイスに対して同じ源発振のクロックをマスタークロックとして供給するクロック発振器を備えており、
ホストコントローラは、複数のオーディオデバイスに対して同期用アドレスで同報通信を行い、
複数のオーディオデバイスはそれぞれ、
同期用アドレスで同報通信された場合、同期リセット信号を生成する同期制御部、
同期制御部で生成された同期リセット信号に応答して、タイミング信号を生成するクロックリセット制御部、及び、
クロックリセット制御部で生成されたタイミング信号に従って、オーディオデータを処理するオーディオ信号処理部を有する、
オーディオ信号同期制御装置を用いるオーディオ装置。
[B-2]通信手段は、同報通信が可能なバス型トポロジーである、
上記[B-1]に記載のオーディオ装置。
[B-3]通信手段は、I2Cバスである、
上記[B-2]に記載のオーディオ装置。
[B-4]複数のオーディオデバイスは、デバイス共通の同期用アドレスでの同報通信コマンドを受信した場合、複数のデバイスで同時に同報通信コマンドの受理を行い、デバイスの識別情報に基づく所定のオーディオデバイスのみACK応答を行う、
上記[B-3]に記載のオーディオ装置。
[B-5]複数のオーディオデバイスは、デバイス制御用アドレスでの同報通信コマンドを受信した場合、選択されたオーディオデバイスのみ応答する、
上記[B-3]に記載のオーディオ装置。
[B-6]同期制御部は、同期用アドレスで同報通信された場合、同期リセットを開始し、所定の時間経過後リセットを解除する、
上記[B-1]乃至上記[B-5]のいずれかに記載のオーディオ装置。
[B-7]クロックリセット制御部は、マスタークロックの周波数がオーディオデータのサンプリング周波数fsの512倍の場合、1fs,2fs,4fs,128fsの周波数のパルスクロックを生成する、
上記[B-1]乃至上記[B-6]のいずれかに記載のオーディオ装置。
[B-8]オーディオ信号処理部は、デバイス制御用アドレス及び同期用アドレスで設定されたレジスタ内容に従ってオーディオデータを処理する、
上記[B-1]乃至上記[B-7]のいずれかに記載のオーディオ装置。
[B-9]オーディオ信号処理部は、モノラルの複数チャンネルのアナログ回路部、及び、ステレオのデジタル回路部から成る、
上記[B-1]乃至上記[B-8]のいずれかに記載のオーディオ装置。
[B-10]ホストコントローラと複数チャンネルのアナログ回路部とは、I2Cバスで接続されている、
上記[B-9]に記載のオーディオ装置。
[B-11]デジタル回路部は、デジタル用コントローラを内蔵しており、
デジタル用コントローラは、I2Cバスと異なるインターフェースのホストコントローラである、
上記[B-10]に記載のオーディオ装置。
[B-12]デジタル回路部は、同期制御を行うためのクロック同期制御部を有しており、
デジタル用コントローラは、同期制御を行うための同期開始タイミング信号をクロック同期制御部に供給する、
上記[B-11]に記載のオーディオ装置。
[B-13]同期開始タイミング信号は、デジタル回路部を起点に、複数チャンネルのアナログ回路部に対して同期開始タイミングを伝える信号である、
上記[B-12]に記載のオーディオ装置。
[B-14]クロック同期制御部は、デジタル用コントローラから与えられる同期開始タイミング信号に基づいて同期制御を行う、
上記[B-12]又は上記[B-13]に記載のオーディオ装置。
[B-15]クロック同期制御部は、マスタークロックの単位で、同期制御部へ伝える同期開始タイミングを、コマンド発行タイミングから遅延させることができる同期開始タイミング微調整部を有する、
上記[B-12]又は上記[B-13]に記載のオーディオ装置。
[B-16]同期開始タイミング微調整部は、同期リセット信号の開始タイミングを示すトグル信号を生成し、同期制御部へ供給する、
上記[B-15]に記載のオーディオ装置。
[B-17]同期制御部は、同期開始タイミング微調整部からのトグル信号を受けて同期リセット信号を生成し、クロックリセット制御部へ供給する、
上記[B-16]に記載のオーディオ装置。
[B-18]クロックリセット制御部は、あらかじめ設定された期間に亘って同期リセットをかけ、同期リセット解除からクロックの生成を開始する、
上記[B-17]に記載のオーディオ装置。
[B-19]デジタル回路部は、デジタル用コントローラによる同期制御コマンドを受けて、あらかじめ指定した期間に亘って同期リセットをかけて、リセット解除タイミングを起点にクロック生成をやり直すことができる、
上記[B-12]乃至上記[B-18]のいずれかに記載のオーディオ装置。
【符号の説明】
【0127】
10・・・第1実施形態に係るオーディオ信号同期制御装置、11,21・・・ホストコントローラ、12・・・Lchのオーディオデバイス、13・・・Rchのオーディオデバイス、14,24・・・I2Cバス、15,25・・・クロック発振器、20・・・第2実施形態に係るオーディオ信号同期制御装置、22・・・Lchのアナログ回路部、23・・・Rchのアナログ回路部、26・・・ステレオのデジタル回路部、100・・・第3実施形態に係るオーディオ装置