JP2004248279A - 異なるタイプのインタフェースからの入力信号、又は異なるタイプのインタフェースへの出力信号を共通フォーマットの中央演算処理でプリプロセスするための方法及び装置 - Google Patents

異なるタイプのインタフェースからの入力信号、又は異なるタイプのインタフェースへの出力信号を共通フォーマットの中央演算処理でプリプロセスするための方法及び装置 Download PDF

Info

Publication number
JP2004248279A
JP2004248279A JP2004032633A JP2004032633A JP2004248279A JP 2004248279 A JP2004248279 A JP 2004248279A JP 2004032633 A JP2004032633 A JP 2004032633A JP 2004032633 A JP2004032633 A JP 2004032633A JP 2004248279 A JP2004248279 A JP 2004248279A
Authority
JP
Japan
Prior art keywords
system clock
different
format
signal
word
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
Application number
JP2004032633A
Other languages
English (en)
Other versions
JP2004248279A5 (ja
Inventor
Ulrich Schreiber
シュライバー ウルリヒ
Markus Schneider
シュナイダー マルクス
Ulrich Gries
グリース ウルリヒ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of JP2004248279A publication Critical patent/JP2004248279A/ja
Publication of JP2004248279A5 publication Critical patent/JP2004248279A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/02Arrangements for generating broadcast information; Arrangements for generating broadcast-related information with a direct linking to broadcast information or to broadcast space-time; Arrangements for simultaneous generation of broadcast information and broadcast-related information
    • H04H60/04Studio equipment; Interconnection of studios
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/162Interface to dedicated audio devices, e.g. audio drivers, interface to CODECs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Communication Control (AREA)

Abstract

【課題】 異なるタイプのインタフェースからの入力信号又は異なるタイプのインタフェースへの出力信号に対する、共通のシステムクロックのプリプロセスを容易にする。
【解決手段】 音声処理技術では、異なるサンプルクロックの周波数、及び/又は異なるデータフレーム又は異なるデータワードのフォーマットに関連する異なるタイプのインタフェースが存在する。異なるタイプのインタフェースからの入力信号は、その後の共通フォーマットの中央演算処理のためにプリプロセスされる。このプリプロセスは、共通のシステムクロックに対する同期、異なるタイプのインタフェースに符合する異なるチャネルプロトコルに従うチャネルデコードに対する同期、及び該PCMビットストリームから、これよりサンプルワードが中央演算処理に供給される中間的な記憶装置に記憶されるサンプルワードを形成するように同期を利用する。
【選択図】 図1

Description

本発明は、共通のシステムクロックを利用して、異なるタイプのインタフェースからの入力信号、又は異なるタイプのインタフェースへの出力信号を共通フォーマットの中央演算処理でプリプロセスするための方法及び装置に関する。
デジタルIO向けのIEC958及びADAT、或いは主にAD/DAコンバータへの接続向けのAC−LINK及びI2Sのような、様々なA/Vシステム向けデジタルオーディオ入力/出力インタフェースが一般に使用されている。今日では、一般的なインタフェースアプリケーションは、単一のインタフェースタイプを超える機能を要求することもある。
かかるインタフェースの公知のビルディングブロックは、単一のインタフェースを通常実現する。たとえば、受信機は、雑音のないデータビットと、シリアルデータビットストリームから一連のサンプルワードを形成する後段の直列−並列変換向けのビットクロックとを出力するプロトコルのデコーダから構成されている。その後、このサンプルワードは、たとえば、ダイレクトメモリアクセス(DMA)及び/又は、割込み又はポーリングデータ転送、並びに必要であれば、オーディオデータをバッファリングするためのFIFOを利用して、処理システムのメモリに書き込まれる。
送信機は、対応して逆方向のデータ処理を実現する類似の構成要素から構成される。一般のシステムは、プロセッサのクロックとオーディオのサンプリング周波数の比により、データ転送向けのDMAを利用する。基本的なDMA転送動作は、処理速度が問題とされない場合にはソフトウェアで実行することができる。以下では、DMAの使用に対して時々言及するが、本発明では、それぞれのケースで、DMA入力及び出力を割込み又はポーリング機構により置き換えることができる。
(IEC958受信機のような)単一プロトコル向けの専用インタフェースは、専用の直列−並列コンバータ、すなわち、MSB first又はLSB firstを実現し、ビット数等はインタフェースの仕様に従うコンバータを一般に利用する(又は、送信機の場合には、並列−直列コンバータを利用する)。
共通すなわち中央のプロセッサと相互作用のために異なるタイプのオーディオインタフェースを結合するとき、複数の異なる動作条件が考慮されなければならない。基本的に、かかるインタフェースは、随伴する同期及びクロック信号をほとんど用いることなく或いは全く用いることなしに、オーディオデータのシリアル転送を利用する。さらに、オーディオインタフェースは、プロセッサ又はバスのシステムクロックに関連していない特別なオーディオに関連したクロックを使用している。したがって、1つ以上の同時に使用されているオーディオインタフェースを組み込むことは、アクティブなインタフェースあたり最多で1つの追加の異なるクロックまで、幾つかの独立なオーディオクロックが出現することになる。
全ての先に説明されたインタフェースは、最大24ビットのPCMデータワードを転送するものであり、これにより、幾つかの順次に転送されるPCMデータワードは、完全なオーディオサンプルを形成する(IEC958、I2STYPE2、ステレオ;ADAT type8;AC−Link type 2 to 6:マルチチャネル)。あるタイプのインタフェースについて、追加のサイド情報は、たとえば、SPDF: VUC; ADAT: User Bits; AC−Link: Tag, Cmd, Statusのようなオーディオ情報ビットとマージされる。シリアルPCMデータの転送は、LSB(最下位ビット) first又はMSB(最上位ビット) firstのいずれかとなることができる。
本発明により解決されるべき課題は、異なるタイプのインタフェースからの入力信号又は異なるタイプのインタフェースへの出力信号に対して、共通のシステムクロックのプリプロセスを容易にすることである。ここで、異なるインタフェースのタイプは、異なるサンプルクロック周波数、及び/又は異なるデータフレームのフォーマット又は異なるデータワードのフォーマットに関連している。また、本発明により解決されるべき課題は、共通のシステムクロックの動作領域をできるだけ広くすることである。この問題は、請求項1及び請求項2に開示される方法により解決される。本方法を利用する装置は、請求項3及び請求項4に開示されている。
以下の説明において、用語「オーディオサンプル」又は「サンプル」は、K個の番号(又はワード)からなる完全なKチャネルのサンプルを示している。1つの番号はチャネルの1つにそれぞれ対応しており、Kはオーディオチャネルの数である。これらの番号は、「サンプルワード」又は「ワード」と示される。
本発明のオーディオインタフェースのアーキテクチャは、パラメータ付きユニバーサルオーディオICセル又はユニットの実現に関連している。このユニットは、システムIC設計、PCB設計及びソフトウェア設計についてできるだけ高い柔軟性を保持するやり方で、中央演算処理システムにおいて、同時かつ様々な形態で、先に説明されたタイプのインタフェースの少なくとも全てから到来するデータ、又は先に説明されたタイプのインタフェースの少なくとも全てに供給されるデータを処理することができる。
本発明は、全体的なセル又はユニットのアーキテクチャ、及び特定の詳細な解決策に関連している。
DSP(デジタルシグナルプロセッサ)は、DSPデータワードからなる入力及び出力を様々な特殊なシリアルデータフォーマットにすることができる、一般的に機器構成可能なシリアルインタフェースSIO(シリアル入出力)を含んでいることがある。先に説明された単一プロトコル向け専用インタフェースの代替として、先に説明されたマルチタイプインタフェースのうちの1つを実現するために、かかるユニバーサルSIOを特定のプロトコルのデコーダ又はエンコーダと結合することができる。完全なユニットは、ビットクロック又はそれぞれのチャネルクロックで時間を計測することができる。プロセッサクロックを利用して、プロセッサによるパラレルサンプルワードへのアクセスが好適に提供される。
図1は、本発明によるデジタルオーディオインタフェースユニットの例示的なアーキテクチャを示している。シリアルオーディオデータ入力SADI信号及びシリアルオーディオデータ出力SADO信号が左側に示されており、システムプロセッサ(RISC、DSP又はμP、図示せず)に接続しているシステムバスSBが右側に示されている。全てのオーディオクロックに関連する信号は、できるだけ早く(入力)又はできるだけ遅く(出力)システムクロックに同期される。このシステムクロックは、バスクロックに等しい場合がある。有利なことに、これにより、システムクロックの処理領域、すなわちシステムクロックでのみ時間を計測されるロジックの部分をできるだけ広くすることができる。
汎用の入力ブロックGPI(同期ステージと、SADI信号を双方向かつ汎用的に使用するための制御ロジックとを含む)を介して、N個のオーディオデータ入力は、1つずつ、チャネルプロトコルのデコード(すなわち、IEC958、I2S、AC−Link、ADAT等のプロトコル)に対処するNチャネルデコーダユニット11に供給され、入力ビット当たりのデータビットのタイプ(たとえば、PCM、サブコード又はignore)を判定する。結果的に得られたN組の一般のPCMビットストリームフォーマット信号は、インタフェースのタイプに依存しないストリームユニット13に供給され、このユニット13は、N入力のうちの単一の入力又は複数の入力から、できる限り中間的なレジスタでの記憶装置を利用して、到来するシリアルデータビット(PCM及びサブコード)をサンプルワードとしてFIFO14に出力する。FIFO14は、バスインタフェース15を介して、その出力信号をバスSBに渡すことができる。
同様に、バスSBからのデータは、バスインタフェース15、FIFO14、ストリームユニット13、Mチャネルエンコーダユニット12及び汎用出力ブロックGPO(シリアルオーディオデータ出力のための同期ステージ、及びSADO信号を双方向かつ汎用的に使用するための制御ロジックを含む)を介して、M個のシリアルオーディオデータ出力信号SADOを供給する出力に渡す。これにより、MはNと異なる。
チャネルエンコーダユニット12は、一般のPCMビットストリームを異なるインタフェースフォーマットにエンコードする。すなわち、このユニット12は、1つ以上のIEC958、AC’97、I2S及びADATエンコーダを含んでいる。
ストリームユニット13は、直列−並列変換を実行する。このユニット13は、あるストリームに属する異なる入力信号から全ての到来するPCMビットを収集し、レジスタファイル19に記録する。この記録の内容は、その結果FIFO14に転送することができる。FIFO14から到来するデータについて逆も可能である。たとえば、最大16チャネルからそれぞれ構成される8つの同時のオーディオストリームを処理するために、8つの異なるストリームユニットが存在する。レジスタファイル18は、オーディオセルについて全ての制御及び状態レジスタを含んでいる。クロックユニット16は、同期された内部ビットクロック及びイネーブル信号を発生する。タイマーユニット17は、現在のシステムの時間のためのカウンタ、ローダブルタイマー、及び外部の基準信号でシステムの時間をサンプルするためのレジスタを含んでいる。
入力データSADI及び出力データSADOは、対応するビットクロックBCK、マスタークロックMCK、及び信号LRCKを伴う。この信号LRCKは、たとえば、I2S及びAC97といった、個別のクロック、データ及び同期信号を有するインタフェースタイプ向けの完全なオーディオサンプルの最初のPCMワードのうちの最初のビットを特定する。このクロック信号又は同期信号は、クロックユニット16により選択され、システムクロックに同期される。
プロトコルのコンバータは、直列−並列変換と同様に、共通のビットクロック/チャネルクロックによりクロックされる。
原理的に、本発明の方法は、共通のシステムクロックを使用して、共通のフォーマットの中央演算処理向けに異なるタイプのインタフェースからの入力信号をプリプロセス(pre−processing)するために適するものである。この異なるインタフェースのタイプは、異なるサンプルクロック周波数、及び/又は異なるデータフレームのフォーマット又は異なるデータワードのフォーマットに関連している。本方法は、以下のステップを含んでいる。
異なるタイプのインタフェースからの入力信号から、システムクロックに同期した入力信号を生成するステップ。
該異なるタイプのインタフェースに適合する異なるチャネルプロトコルに従い、該システムクロックに同期した入力信号をチャネルデコードし(channel decoding)、これにより、一様なワードフォーマットを有する対応するPCMビットストリームのフォーマット信号を供給するステップ。
該PCMビットストリームのフォーマット信号から、たとえばFIFOのような、これよりサンプルワードが中央演算処理に供給される中間的な記憶装置に記憶されるサンプルワードを形成するように、該PCMビットストリームのフォーマット信号をさらに処理するステップ。
或いは、本発明の方法は、共通のシステムクロックを使用して、共通フォーマットの中央演算処理において異なるタイプのインタフェースへの出力信号をプリプロセスするために適するものである。この異なるインタフェースのタイプは、異なるサンプルクロック周波数、及び/又は異なるデータフレームのフォーマット又は異なるデータワードのフォーマットに関連している。本方法は、以下のステップを含んでいる。
サンプルワードから、システムクロックに同期したPCMビットストリームのフォーマット信号を形成することにより、該中央演算処理から出力され、たとえばFIFOのような中間的な記憶装置に記憶されるサンプルワードをさらに処理するステップ。このPCMビットストリームのフォーマット信号は、一様なワードフォーマットを有しており、異なるタイプのインタフェースに適合する。
該異なるタイプのインタフェースに適合する異なるチャネルプロトコルに従い、一様なワードフォーマットを有する該システムクロックに同期したPCMビットストリームのフォーマット信号をチャネルエンコードし(channel encoding)、これにより、対応するシステムクロックに同期した出力信号を供給するステップ。
該システムクロックに同期した出力信号から、もはやシステムクロックに同期していないが、かかるインタフェースのタイプに従うインタフェースのタイプに適合した出力信号を発生するステップ。
原理的に、本発明の装置は、共通のシステムクロックを使用して、共通フォーマットの中央演算処理向けに異なるタイプのインタフェースからの入力信号をプリプロセスするために適するものである。かかる異なるインタフェースのタイプは、異なるサンプルクロック周波数、及び/又は異なるデータフレームのフォーマット又は異なるデータワードのフォーマットに関連している。本装置は、以下の構成要素を含んでいる。
異なるタイプのインタフェースからの入力信号から、システムクロックに同期した入力信号を発生するための手段。
該異なるタイプのインタフェースに適合する異なるチャネルプロトコルに従い、該システムクロックに同期した入力信号をチャネルデコードし、これにより、一様なワードフォーマットを有する対応するPCMビットストリームのフォーマット信号を供給するための手段。
該PCMビットストリームのフォーマット信号から、たとえば、FIFOのような、これよりサンプルワードが中央演算処理に供給される中間的な記憶装置に記憶されているサンプルワードを形成するように、該PCMビットストリームのフォーマット信号をさらに処理するための手段。
或いは、本発明の装置は、共通のシステムクロックを使用して、共通のフォーマットの中央演算処理において異なるタイプのインタフェースへの出力信号をプリプロセスするために適するものである。該異なるインタフェースのタイプは、異なるサンプルクロック周波数、及び/又は異なるデータフレームのフォーマット又は異なるデータワードのフォーマットに関連している。本装置は、以下の構成要素を含んでいる。
サンプルワードから、システムクロックに同期したPCMビットストリームのフォーマット信号を形成することにより、該中央演算処理から出力され、たとえばFIFOのような中間的な記憶装置に記憶されるサンプルワードをさらに処理するための手段。このPCMビットストリームのフォーマット信号は、一様なワードフォーマットを有しており、該異なるタイプのインタフェースに適合している。
該異なるタイプのインタフェースに適合する異なるチャネルプロトコルに従い、該システムクロックに同期したPCMビットストリームフォーマットをチャネルエンコードし、これにより、対応するシステムクロックに同期した出力信号を供給するための手段。
該システムクロックに同期した出力信号から、もはやシステムクロックに同期しないが該タイプのインタフェースに従うインタフェースのタイプに適合した出力信号を発生するための手段。
本発明の有効な追加の実施の形態は、それぞれ従属的な請求項に開示されている。本発明の典型的な実施の形態は、添付図面を参照して説明される。
図2〜図5は、IEC958サブフレームのフォーマットフレーム、ACフォーマットフレーム、ADATフォーマットフレーム及びI2Sフォーマットフレームをそれぞれ示している。これらの図から、フォーマットが非常に異なっていることが明らかである。
現在の最新技術による実現とは対照的に、図7に示されるチャネルデコーダのブロックは、要求されるプロトコルの全て又はほぼ全てをデコードする。この要求されるプロトコルは、固定された入力ピンに関連される。好都合なことに、プロトコルのデコーダ機能の全て又はほぼ全てを1つのユニットに実現することは、全ての個々のプロトコルのデコーダの追加される複雑さと同じ複雑さではない。これは、ロジックの一部(すなわち、IEC958,ADAT,AC’97及びI2Sボックス外のロジック)は、図7に示されるように共有することができるからである。IEC958及びADATデコーダにおけるクロックデータ分離器又はプリアンブル検出器のような特定の機能は、共有されていない。
他方で、マルチプロトコルのエンコーダ/デコーダ(コンバータ)に関連するI/O信号の数を、対応する簡単な単一プロトコルのエンコーダ/デコーダ(コンバータ)の更に多い数と比較したとき、同じ数のIOピン及び該ピンを接続するためのある種のマルチプレクサロジックにより、複数の単一プロトコルのエンコーダ/デコーダの解決策について更に低い複雑さとすることができるが、一般に、低いトランスペアレンシー及びフレキシビリティという犠牲を払うことになる。
ストリームユニット13は、多数の単方向のストリームの形式でデータ転送を実行する。それぞれのストリームに対して、1組のコンフィグレーションレジスタが割り当てられており、どの入力信号をFIFO14(したがって、その後の処理システム)に転送すべきか、及び利用可能なPCMサンプルのタイムスロット(すなわち、第一、第二等、1つの信号入力についてのサンプルワード)のうちのどのタイムスロットでFIFO14に転送すべきかが判定される。それぞれのストリームは、処理システムにより独立にアクセスすることができるそれ自身のFIFO(領域)を所有しており、結果として、ストリーム当たりの別個のDMAユニット(図示せず)は、適切なDMAデータ転送のために必要とされる(ストリームは、互いに独立に動作する)。入力ストリームは、複数の信号入力について構成される場合(「チャネルアグレゲーション」、たとえば、3×2チャネルストリームを形成する3つのIEC958インタフェース)、全ての信号は、同じインタフェースタイプに一致しなければならず、同じサンプリング周波数を有さなければならず、及び同位相でなければならない。ストリーム出力の処理及び特徴は、類似している。
ストリームユニットについて、幾つかの設計オプションが存在する。独立なFIFOを使用することに対して、ソフトウェアにより適切なサイズに作られた分離されたストリームFIFOに分割される単一のFIFO−RAMを使用し、FIFOからチャネルエンコーダ/デコーダにビットを直接転送するか、或いはチャネルエンコーダ/デコーダからFIFOにビットを直接転送することである。すなわち、任意の中間的なレジスタを必要とすることなしに、全ビットを連続して処理すること(全体のデータレートを制限する場合がある)、或いは、FIFO14とチャネルデコーダ11及びチャネルエンコーダ12の間に配置される中間的な(シフト)レジスタを使用することである。
先に説明されたように、1つ又は複数のストリームユニットだけでなく、全てのチャネルエンコーダ/デコーダは、信号I/Oピンに接近した同期のため、共通のシステムクロックでクロックされる。最新技術の処理では、幾つかの入力及び出力ストリームが同時に転送される典型的なオーディオシナリオでは、SIOタイプ(シリアル入出力)の実現は、幾つかの異なる(ビット/チャネル)クロックを一般に使用して、関連するSIOユニットを実行する。したがって、SIOユニットを一体化することによる全体の最適化が不可能であるが、本発明では、使用される単一の(system_)クロックのためにストリームユニット13にとって全体的な最適化が可能である。これにより、(ビット毎に、又は1回の読出し/修正/書込み用のレジスタを使用して)FIFOからシリアルオーディオビットストリームを直接読出すか、あるいはFIFOにシリアルオーディオビットストリームを直接書込むことで、多数の組のオーディオデータパスのレジスタなしに、1つ又は複数の完全なストリームユニットを実現することが可能である。別の容易に実現可能となる機能は、チャネルアグレゲーションであり、すなわち、幾つかの同じタイプのI/O信号を共通のストリームにマージすることである。それぞれの論理ストリームは、該ストリームについてどのI/O信号が使用されているかを選択し、これにより、I/O信号のマルチプレクサは、ストリームユニットに配置される。
図12の上半部分では、チャネルエンコーダ11及びチャネルデコーダ12における幾つかのタイミングは、図12の下半部分のストリームユニット13における幾つかの信号のタイミングと共に示されている。
先に説明されたように、システムクロックsys_clkでチャネルエンコーダ/デコーダをクロックすることにより、マルチプレクサにより選択された幾つかの可能なオーディオビットクロックのうちの任意の1つによる、図11に部分的に示されている同期装置ユニットの主要部分に対するクロックを回避する。最後の同期ステージTFF1,TFF2及びRFF0は、対応するオーディオビットクロックにより直接クロックされる。したがって、チップの入力パス付近の同期は、2つ以上のフリップフロップが同じゲート制御された立ち上がり/立ち下りエッジ(gated edge)でクロックされるのを回避する。この同期装置は、図1及び図6のクロックユニットブロック16にそれぞれ含まれている。
SIOタイプのものでさえ公知の実現は、複数のサンプルに関して動作しないだけでなく、現在のプロセッサ向けの単一サンプルのワードと典型的に同じプロセッサのマシンワードに関して動作しないという事実による問題点を有している。
好都合なことに、検出されていないチャネルの置き換え(permutation)、及びタイムスタンプを使用したタイミングの良い出力は、図1又は図6のそれぞれに従う構成で実現することが容易である。これは、ストリームユニットがワードに代えてオーディオサンプルを処理するためである。
幾つかの実施の形態が以下に説明される。
図1及び図6では、チャネルデコーダ/エンコーダ11,12とストリームユニット13の間のインタフェース信号は、対応する情報信号sframe_enable(サンプルフレームイネーブル)を含んでおり、この情報信号は、1つのシステムクロック(sys_clk)のサイクルパルスであり、このパルスは、新たなサンプルの開始を示しており、ストリームユニット13のチャネルエンコーダ又はチャネルデコーダにより発生される。信号pcm_enable及び信号subcode_enableのそれぞれの1サイクルのパルスは、関連するデータラインに有効な各PCMのサブコードビットを伝送又は要求するsys_clkサイクルを示している。
[基本的なオーディオPCM及びストリームフォーマット]
Pチャネルオーディオ信号(P=1,2,3,サポートされるストリーム当たりの最大チャネル数)を転送するオーディオストリームは、サンプルのシーケンシャルな形式で転送され、それぞれのサンプル(たとえば、ステレオ又は6チャネルサンプル)は、チャネル当たり1つのP個のデータワード(たとえば、32ビットのデータワード)から構成されることが想定されている。そのとき、考慮されるオーディオインタフェースにより転送される入力ワードのオーディオコンテンツのサイズは、最大24ビットを超えない、すなわち最大24ビットを超える必要がない。したがって、たとえば、通常のRISCプロセッサ又はある種のDSP、或いはダブルワード2×16ビットとしてのオーディオワードを記憶する16ビットDSP向けのような、選択されたプロセッサ/メモリシステムのため、ワード当たりより多くのビットが利用可能である場合、又はたとえば、24ビットDSPの場合において24ビットのうちの全てのビットが要求されない場合、追加のワードビットを使用して、他のサイド情報を転送することができる。
本発明の処理システムにデータを入力する場合、かかるサイド情報を取ることが要求される場合があるが、この処理は、追加の費用なしで、移動、スケーリング、整数から浮動小数点への変換、浮動小数点から整数への変換のような必要な他の動作とともに容易に実行することができる。
図8a及び図8bは、たとえば、FIFO14又はシステムメモリで処理されるような、32ビット及び24ビットのマシンワード(図8c)向けの、可能なサンプルフォーマットを示している。サイド情報のビットの簡単な変換/除去或いは挿入のために、(より長い)ワードにおいて左揃え又は右揃えのいずれかにされるPCMビットを表すフォーマットが使用される。したがって、これらの変形例のみが示されている。PCMビット、Fビット及びLビットに関して、全てのオーディオサンプルは、使用されるチャネルエンコーダ/デコーダとは無関係に同じ表現を有しており、2つの代替的なフォーマットのうちの1つのみがGPI/GPO又はステージについて選択され、したがって、ハードウェア又はソフトウェアに対して固有なサンプルを表している。
理解/表現を容易にするために、本実施の形態に関する以下の説明は、32ビットのフォーマットに限定される。全ての機能性、又はあるケースでは機能性のうちのサブセットは、より長いマシンワード又はより短いマシンワードで容易に実現することができる。
[サブコード]
個々のサンプルワードに挿入される第一のタイプのかかる追加の情報は、サブコード情報とすることができ、SODIF(VUCP)、ADAT(C1..C4)、AC97(Tags)のような幾つかのインタフェースは、サブコード情報を定義している。SPDIFのケースでは、サブコードビットは、それぞれのサンプルと既に直接関連付けされて、転送される。図8aは、例示的な32ビットのワードフォーマットであり、24ビットをデータに使用し、ワード当たり最大5ビットをサブコードに使用し、3ビットを更なる情報に使用する。サブコードの総量及び内容は、インタフェースのタイプに依存する。本発明によれば、オリジナルのサブコードの総量は保持されるが、サブコードのビットに使用されるビット位置は固定及びユニークに選択することができる。唯一の例外は、有効ビット(V)であり、それぞれのサンプルの有効性を示している。この情報項目は、信号入力の場合に、ストリームユニット13により特別な方法で解釈及び処理することができる。
a)入力ワードは、Vビットを含んでおり、受信されたときに送出され、これにより、有効な情報のソフトウェア処理が可能となる。
b)又は、全てのサンプルワードが無効である場合に、Pチャネルサンプルは廃棄される(FIFO/メモリへの書き込みを禁止する)。
c)又は、無効なワードがミュートされる。
d)又は、サンプルワードは、CDプレーヤのような既存の装置で公知の形式で周囲の有効なワードから補間される。
サブコードの転送のための好適な方法は、IEC958入力のケースにおいて関連するサンプルワードと共に、4つのVUCPサブコードビットを転送すること、
(4つのサブコードビットを有するフォーマットについて)Pチャネルサンプルのうちの第一のワードにおける全てのADATサブコードビットを転送すること、
I2Sのケースにおける隣接する非PCMの位置(non−pcm location)にサブコードのビットを埋め、単一のI2Sインタフェースを介してDSPのような装置との結合されたオーディオとサブコードのデータ交換を可能にし、
及び/又は(データスロットに関係する)AClinkのタグビットで有効ビットを埋める。
[チャネルの置き換えの回避]
オーディオ入力及び出力に関する1つの問題は、チャネルの置き換えに関する可能性である。これは、幾つかの典型的なマシンワード(典型的にはオーディオチャネル当たり1つ)が殆どのオーディオハードウェアの構成において単一のPチャネルサンプルを転送することが必要とされる事実による。したがって、プロセッサシステム(プロセッサ、DMAユニット、シリアルI/Oユニット、FIFO)は、個々のマシンワードに対応するのみであって、より大きなエンティティに対応するものではない。したがって、1つのデータワードがオーディオデータストリームから誤って挿入又は消去された場合、「マシン」ワードのシーケンスを読んでいる装置又はステージ(サブルーチン、スレッド、プロセッサ、オーディオインタフェースハードウェア等)は、どのワードがどのオーディオチャネルのうちの1つに関連されているかに関する情報のトラックを解放する可能性がある。
図6に説明されるようなシステムでは、システムプロセッサ、DMA、或いは割り込みベース又はポーリングベースのオーディオストリームの入力/出力を含んでおり、かかるチャネルの置き換えの原因は、誤ったFIFOアクセス、入力及び出力のインタイムのサービスを不可能にする一時的なプロセッサの計算負荷、或いは一時的に増加される割り込み遅延である場合がある。
したがって、適切なチャネルでストリーム入力及び出力を開始することは、入力/出力がその後に正しいことを保証しない。全ての先の影響がシステムエラーとして考慮された場合、及び正常の(デバックされた)状況下にあるように見えない場合であっても、正しいチャネルタイプの出力がチェックされる実用が存在する。図6に説明される例示的なオーディオインタフェースでは、説明される問題は、FIFO又はDMAコントローラにおいて生じる可能性がある。しかし、ストリームユニット13は、チャネルエンコーダ/デコーダにより転送されるsframe_enable信号のためサンプルの境界を認識しており、したがって、このチェックを実行することができる。
本発明の特徴は、チャネルの置き換えの検出及び補正を可能にすることであり、最終的なデータストリームの消費者によって識別することができるように、個々のサンプルをそれらのタイプで記録することである。安全かつ実現が容易な測定は、(特に使用されていない)ビットのうちの1つにより、オーディオサンプルのサンプルワードのうちの1つ、特に“L”ビット、すなわちサンプルの最初のワードを“1”に記録すなわち設定し、サンプルの全ての他のワードについて、このビットを“0”に設定することである。したがって、左揃え/右揃えのエラーは、1サンプル毎に検出可能となる。
一方で、オーディオデータ転送の一端にはプロセッサソフトウェアがあるので、このビット挿入、すなわちそれぞれのサンプルに対するこのチェックは、プロセッサにとって負荷が比較的高くなる。他方で、聴取者がチャネルの置き換えを検出するためにある程度の時間を必要とすることを考慮して、それぞれL番目のサンプル(Lは、たとえば0.1秒を下回る検出時間となるに十分に小さい数)のうちの最初のワードのみを記録/チェックすることは十分なことである。したがって、48キロヘルツ当たり1152/1024サンプルのレンジにおける典型的なオーディオコーデックのフレーム、又はDMAブロックサイズは、「Fビット(フレームビット)」のマークのための距離として使用することができる。
DMAブロックサイズの距離を使用することで(それぞれのDMAブロックの最初のサンプルのうちの最初のワードはF=“1”で記録される)、オーディオインタフェースハードウェアは、(処理システムのメモリにおける)DMAブロックの最初のサンプルと同じである、Fビットの組を有するサンプルが出力/入力されるポイントをタイミングよく正確に判定することができる。この特徴は、オーディオインタフェースのハードウェアによるタイムスタンプ及びブロックエラー(以下を参照)のような追加のサイド情報の測定、及び該サイド情報をDMAブロックと協力して転送/処理すること(完了)を容易にする。
オーディオ入力処理のケースでは、Fビットは、ストリームユニットハードウェアにより、FLENオーディオサンプルのそれぞれのシーケンスの最初のワードについて設定される。ストリームユニットのはじめのスタートアップ又はリスタートは、FIFO14に書き込まれた最初のサンプルの最初のワードがF=“1”で記録されるようなやり方で常に行われる。DMA(或いは割込み又はポーリング)データ入力は、関連する目的地のメモリ位置へのそれぞれ単一の(DMA)ブロックの転送後に発見される最初のワードが、常に、Fビットの組を有する当該ワードであるように、同じブロック長FLEN*Pを使用するためにセットアップされる。これは、(DMA)ブロック完了処理の間にチェックされる。かかる(DMA)ブロックの最初のワードが設定されていない場合、データ入力はミスアラインメントされており、このストリームユニット(及び関連するDMA)についての入力処理のリスタートが必要とされる。
出力処理の場合では、出力のために使用される(DMA)ブロックのサイズは、ストリームユニット13と同様に、FLEN*Pワードの値に再び初期化される。出力のためにソフトウェアにより準備されるそれぞれのDMAブロックについて、最初のFビットのみが設定され、他の全てのビットがリセットされる。ストリームユニット13の開始に応じて、関連するFIFO14(すなわち、当該ストリームに拘束されるその一部)は、空きメモリ状態にされなければならない。したがって、開始後にストリームユニット13により読み出される最初のワードは、Fビットの組を有するワードであり、その時、Fビットのリセットを有するFLEN*P−1ワードが後続する。FLEN*(P+P)番目のワードでは、Fビットが再び設定される等となる。
ストリームユニットのハードウェアは、Fビットの組の出現をチェックする。Fビットが誤入された場合、すなわち、FビットがPチャネルサンプルの最初として出力されないワードについて設定されている場合、Fビットの組を有するサンプルが前のサンプルから厳密にFLENサンプル離れていない場合、或いはFビットがFLENサンプルの間にゼロである場合、ストリームユニットは停止され、エラー状態にスイッチされる。この状態は、出力処理をリスタートすることができるように、ソフトウェアにより検出される(状態変化による割込み又はポーリング)。
図9には、ストリームユニット13で必要とされるハードウェアが示されている。フレームカウンタFCNT92及びフレーム長(すなわち(DMA)ブロックサンプルカウント)レジスタFLEN91は、オーディオ入力の間に、Fビットの組を挿入して、オーディオ出力の間にFビットの適切な出現をチェックすることが要求される。図9のサンプル実現について、FCNTは、それぞれ(Pチャネル)のサンプル(より詳細には、適切なチャネルユニットからのそれぞれのsframe_enableパルス)についてインクリメントされ、0からFLEN−1までカウントする。その後、FCNTは、“0”に再びリセットされる。最終的に、FLEN−1に達することは、次のサンプルの最初のワードがFビットの組で記録されるべきであることを示す。
Fビットを使用することの代替は、サンプル間にブロックベースで挿入されるSYNCワード(並びに、最終的にはブロック長、及び選択的にはチェックサム及び他のサイド情報)の挿入/チェックである。これは、ワード当たり1ビットを必要としないという利点を有する。代わりに、全てのビットは、オーディオデータ向けに使用することができるが、このメカニズムは、オーディオデータワードが同期ワードであるとして誤って解釈されるという可能性のため(このsyncコードが禁止されたデータワードである場合を除いて)、完全に問題がないわけではない。検出がチェックサムにより更に確実に行われたとしても、スタートアップは、SYNCワードの繰り返される出現の後にのみ実行される。別の代替は、(ワード当たりの追加ビット、すなわち追加のポインタにより)FIFO14においてブロックの最初のワードを記録し、それぞれのブロック転送の後、このポインタ対実際のDMA(又は割込み)ポインタをチェックすることである。この実施の形態は、DMAの連鎖を排除するものである。
更なる代替は、専用DMAユニット(図示せず)を使用することであり、FIFOが使用される場合にFIFOのワード記録と共に、できる限りオーディオセル/インタフェースに組み込まれる。この場合、ストリームハードウェア及びDMAハードウェアは、DMAブロックの転送とストリームユニットのFCNT/FLENブロックが同相であるように動作するか、DMAユニットがワードの概念を採用するように動作する。それにもかかわらず、この代替は、汎用のDMAユニットに代わって、専用DMAユニットを必要とするという不都合を有する。
[FLビットフィールド、ドントケア定義]
Figure 2004248279
オーディオインタフェースセルによる出力のためにDMAバッファを準備するとき、プロセッサ動作の回数を低減するために、Fビットが拡張されてFL2ビットフィールドにとなる。表1及び図8aを参照されたい。表によれば、LF=01は、DMAブロックの最初のサンプル(F=1)のうちの最初のワード(L=0)を示しており、LF=10は、サンプルの最初でないワードを示している。他の2つのコードLF=00及びLF=11は、「特定的ではないサンプル」を定義している。
オーディオデータの入力に応答して、ストリームユニット13は、コードLF=01及びLF=10のみを挿入し、したがって、各サンプルは、L又はFのいずれかで正しく記録され、個々のサンプルのアラインメントと同様にDMAブロックをチェックすることができる。オーディオデータの出力の間、ソフトウェアは、はじめに、LF=00又はLF=11コードを有する符号拡張かつ右揃え24ビットPCMのビット数(32ビット以内)、又は下位8ビットが最初は0である左揃え24ビットPCMのビット数のいずれかを有するDMA出力バッファを準備する。ストリームユニット13は、コードLF=00及びLF=11を「特定的でないサンプル情報」として解釈し、該サンプルを次のワードとして出力する。それぞれのDMAバッファの真の最初のワードは、DMAブロック出力を開始する前に、LF=10コード、すなわちストリームユニットによるFビットのチェックを導くコードでソフトウェアにより記録される。チェック結果が「真ではない」場合、ストリームユニットは停止し、ソフトウェアにより出力処理を再開することができる。上記説明を参照されたい。
オーディオ入力処理により得られるLFビットフィールドは、DMAブロック長及びチャネル数が等しい場合にオーディオ出力処理について当てはまるように、再使用することができる。
[タイムスタンプ、ブロックエラー、SPTS]
先に説明したストリームユニット13の拡張は、それぞれ独立な入力又は出力ストリーム当たりの1つの拡張、すなわちカウンタ92FCNT、レジスタ91FLEN、及びFビットメカニズムであり、DMAバッファ(図示せず)の真の最初のワードに関連するレジスタ95における正確なPTSタイムスタンプを取込むこと、及びDMAブロックにおける正確なサンプルのためのエラー情報を収集する累積的なエラーレジスタSERROR99を取込むことを容易にする。これは、比較結果93FCNT=FLEN−1及び当該取込みを可能にするためのsframe_enableを使用して行われる。
図9におけるカウンタ94CTS(現在の時間)は、それぞれのシステムクロックをカウントし、最大値0xFFFF FFFFに達したときに“0”に巻き直しするマシンワード幅(32ビット)のアップカウンタを表している。カウンタCTSの出力は、オーディオインタフェースセルのための時間基準として使用することができる。ステージ95PTS(プレゼンテーション・タイム・スタンプ)は、以下に基づいてCTS値を取込むことである。
(FCNT=FLEN−1)AND sframe_enable
チャネルエラー記憶装置96CERRORは、SERRORレジスタ99によりサンプリングされたときクリアされ、その後、(たとえば、(FCNT=FLEN−1)AND sframe_enableで)再びサンプルされるまで、入力又は出力信号に関連する全てのエラー情報を収集する。したがって、SERRORは、まさに終了されたDMAブロック/終了されようとしているDMAブロックの全てのサンプルに関連するチャネルのエラー情報を正確に含んでいる。オーディオ入力の間、アクティブ状態にあるSERRORは、完全な入力ブロックがエラーについて更に検査されるべきであるか、又はミュート或いは無視されるべきかのいずれかであることを示し、後者の2つの機能は、ブロックベースで都合よくエラーを処理することができる。
オーディオ入力の間、はじめに、ストリームユニット13は、(FCNT=FLEN−1)のブロックエンド、サンプルPTS及び情報アイテムSERRORを発見し、次のサンプルをF=1で記録することができる。次いで、FIFO14から最後のブロックサンプルを読み出した後、DMAユニットは、そのブロック完了信号(割込み)を発生する。したがって、PTS及びSERRORレジスタの値は、DMA完了の割り込みの間に、ソフトウェアにより都合よく読み出すことができ、まさに終了されたDMAブロック又は次のDMAブロックに付属させることができる(後者は、両者の値がブロックエンドでサンプリングされるため、PTSにとって都合がよい)。
明らかに、これは、「使用されるFIFOサイズ<FLEN*P」及び「割込み遅延<DMAフレーム周期」であることを要求しており、さもなければ、サンプリングされたPTS/SERROR値とDMAブロック値との間の関係が失われる可能性がある。「使用されるFIFOサイズ」は、実際に記憶されるサンプルワード数を示す。「DMAフレーム周期」は、時間間隔FLEN/Fを示し、Fはサンプリング周波数である。
簡単な代替では、「割込み遅延<FLEN/F」を使用することができる。
オーディオ出力について、DMA完了状態は、サンプリングがFIFO遅延のために発生する前に生じる場合がある。したがって、DMA完了状態の間にPTSとSERRORとを読み出すことは適切ではない。代わりに、たとえば、割り込みにより、又はPTSを読出す代わりに、及びSPTSレジスタ97(その時間でのサンプルPTS)を読出すことにより、DMAブロックの中央(すなわち、FCNT=FLEN/2)、及びサンプルの両方の値を読むことは、「使用されるFIFOサイズ<0.5*FLEN*P」及び「割り込み遅延<0.5*FLEN*1/F」である限り使用することができる。ここで、Fはサンプリング周波数である。たとえば、sys_clk発振器について最も悪いケースである100ppmの精度、及びサンプリング周波数44100Hzでの1152サンプルのDMAフレームサイズによれば、DMAフレーム周期は26.1msとなり、その結果、約5.2μsという最も悪いケースのタイムスタンプ精度となり、この精度は、基準クロック発振器が100ppmの精度を有する場合にも達成可能である。
[タイムド・スタートアップ]
図9と共に説明される更なる機能は、正確に時間設定されたストリームユニット13の起動である。ストリームユニットは、空きメモリ状態のFIFO14、及び停止されたストリームユニットシーケンサ(図示せず)で開始される。PTSレジスタ95は、(CTSに関連する)適切な開始時間、及びストリーム状態マシン98に発生されるRUN命令でロードされる。CTSが開始時間に進んだ後、すなわち、条件mod(CTS−PTS)≧0が真である場合、ランイネーブル信号RUN_ENがストリーム状態マシン98に発生される。
[共通のI/Oタイミング]
入力信号及び出力信号は、「ビットクロック(bck)領域」から更に高いシステムクロック(sys_clk)領域に同期することができ、それによって、ビットクロック領域の入力から出力まで“input−to−output”の遅延は、簡単な複数の「ビットクロック」周期により表現することができ、「システムクロック」周波数とは完全に独立である。先に説明したようなI2S(図5参照、BIT_CLKに同期するDATA/LRCK)又はAClink(AC97)インタフェースのような、別々のクロック、並びにデータ及び/又は同期信号を有するシリアルオーディオデータインタフェースに関連する信号は、インタフェースのビットクロック又はチャネルクロックに代わり、共通の(更に高い)システムクロック(図10、sys_clk)のみを使用するロジックにより処理される場合(図10におけるBCK=bck、図5におけるBIT_CLK)、オーディオインタフェースの1つ以上のクロックが固定位相を有さず、かつシステムクロックの整数倍の正確な周波数を有さない限り、追加のクロック同期ステージが必要とされる。このクロック同期は、図10に示されるようなRFF1/RFF2及び/又はCFF0/CFF1のそれぞれのような2つのDフリップフロップの構成を使用することで達成することができる。これらのDフリップフロップは、システムクロックsys_clkでクロックされる。同期されるべき1つ以上の入力信号(RFF0の出力Qでの信号及び/又はクロックbck)は、第一のフリップフロップCFF0及びRFF1のそれぞれのD入力に供給される。このように、「同期された」入力信号は、第二のフリップフロップCFF1及びRFF2のQ出力で利用可能である。かかる2つのフリップフロップ回路は、「準安定」という公知の影響のため、第一のフリップフロップのエラーの確率を十分に低い量に低減する。ホールドウィンドウに関する第一のフリップフロップの入力のセットアップの妨害により、技術に依存した確率に関係する所与の期間の間、フリップフロップの未定義の出力状態がもたらされる。フリップフロップのかかる準安定状態は、不安定である。しかし、2つのフリップフロップ回路により、それぞれのフリップフロップは、好都合なことに、約1クロック周期内でその2つの安定状態のうちの1つに強制的に再び設定される。
より詳細には、図10における基準クロックbckについて一般に使用される同期装置の形態は、(CFF0及びCFF1のような)かかる準安定抑圧回路、及び(たとえば、フリップフロップCFF2、ANDゲートA及びフリップフロップCFF3による立ち上がりエッジについて具体化される)その後のエッジ検出器からなる構成を使用し、単一のシステムクロックサイクルを示すイネーブル信号bck_enを取得する(たとえば、オリジナルのクロックbckのそれぞれの立ち上がりエッジ当たり1つのイネーブルサイクル)。この場合、類似の入力回路(「入力同期装置」101)の出力は、後続する同期ロジック(同期装置101におけるRFF3)により読むことができる。入力同期装置101及びビットクロック同期装置102の(システムクロック数で測定される)遅延を殆ど同一に維持することは、たとえば、約1周期のシステムクロックsys_clkのウィドウ内で信号bckの立ち上がりエッジ付近で入力信号(RFF0.Q)をサンプリングするとして説明することができる入力側(bck、RFF0.Q)のシステム動作となる。したがって、クロックbckに同期し、かつシステムクロックsys_clkに非同期である入力信号(RFF0.Q)は、システムクロックsys_clkが、同期されるクロックbckよりも幾分高い限り、たとえば、クロックbckの立ち上がりエッジ付近で正しく読む込むことができる。フリップフロップRFF0は、適切に定義された(小さな)セットアップを達成するために、ビットクロックbckで入力信号Dinをサンプリングし、システムクロックsys_clkのサイクルタイムにより決定される(より大きな)ウィンドウのみを達成する代わりに、入力データDinの範囲(たとえば、bckの立ち上がりの傾斜付近)をホールドする。
図11のタイミングチャートは、図10の入力同期回路内で生じる各種信号をその時間的な関係において示している。サンプルウィンドウ、すなわち入力信号のサンプリングを行うことができる期間は、入力信号Dinに関して示されている。
図10に関連して、代わりに、クロックbckの立ち下がりエッジ又は両方のエッジに関してサンプリングする等価回路を使用することができる。
図10の回路では、同期(sys_clk)領域からインタフェースの形式特定の領域へのデータの出力は、システムクロックsys_clkでクロックされ、信号bck_enでイネーブルされるTFF0のようなフリップフロップの出力信号を使用することにより、出力同期装置103において達成することができる。(sys_clk周波数)/(bck周波数)の整数比が、たとえば、次のbckの立ち上がりエッジの前で十分に大きい限り、(フリップフロップのクロックから出力までの“clock−to−output”遅延を加えて)bck_enサイクルの終了で、したがって、たとえば、bck_enパルスが生成されるクロックbckの立ち上がりエッジの後に出力データが現れる。bckエッジに関連して適切に定義された時間での出力ポイントを取得するために、TFF0の出力は、たとえば、bckの立ち上がりエッジでフリップフロップTFF1によりリサンプリングされ、これにより、その出力Qは、オーディオインタフェース向けに使用される標準的なI/O機能に準拠するために、bck_enの立ち下がりエッジでフリップフロップTFF2によりリサンプルされる。入力は、ビットクロックの立ち上がりエッジでサンプリングされ、出力は、ビットクロックの立ち下がりエッジで変化する。また、図11のタイミングチャートは、図10の出力同期回路内で発生する対応する信号をそれらの時間的な関係で示している。
代わりに、クロックbckの立ち下がりエッジ又は両サイドのエッジに関してサンプリングする等価な出力同期回路を使用することもできる。
フリップフロップTFF0及びTFF2は、ある種の範囲で選択的である。
また、TFF0は、同期装置の外部に配置することができ、これにより、(図10における信号sDoutについても当てはまるように)sys_clkの同期ロジック領域のそれぞれの出力信号は、同じ特性、すなわち、sys_clkでクロックされ、bck_enでイネーブルされるフリップフロップから生じる特性を有していなければならない。
TFF2は、オーディオインタフェース向けに使用される先の標準的なI/O特性が要求される場合にのみ必要とされる。TFF2が必要とされない場合、入力サンプリング及び出力変化は、クロックbckの同じタイプのエッジ、たとえば立ち上がりエッジにより影響を受ける。
クロック選択ユニット104は、同期処理のために使用される、外部のビットクロックBCK又は内部のビットクロックbckのいずれかを選択する。内部クロック源が使用される場合、この同じクロックをBCKに出力することができ、又は出力しないこともできる。また、クロック選択ユニットは、通過する信号を反転する。
入力/出力/クロック同期装置の組は、以下の構成からなる。
ビットクロックbckの同じタイプの「サンプル」エッジ(たとえば、立ち上がりエッジ)でクロックされる入力ステージRFF0及び出力ステージTFF1。反対のタイプの「出力」エッジでクロックされる第二の選択的な出力ステージTFF2。ビットクロックbck(CFF0,CFF1)及びデータ入力Din(RFF1、RFF2)のための準安定「抑圧」回路、すなわち、少なくとも1つのフリップフロップが、SYS_clkでクロックされ、かつbck_enでイネーブルされるsys_clk領域で動作し(RFF3及びTFF0)、以下の特性を有している(フリップフロップTFF0を用いることなしに、正確な値は図10における好適な実施の形態で適用される)。
a)bckに対するDinのセットアップ及びホールド間隔は、sys_clk特性とは独立に、RFF0により決定される。b)bckの「出力エッジ」(たとえば、立下りエッジ)からDoutまでの伝播遅延は、(使用された場合には)TFF2又は(さもなければ)TFF1のクロックからデータ出力までの遅延により特徴付けられ、sys_clkパラメータにより特徴付けられるものではない。c)比(sys_clk周波数)/(bck周波数)が3....4,よりも大きい限り、DinとDoutの間の2つのbckサイクルのうちの有効な「同期装置の一定の遅延」(図11参照、T)が適用される。
この遅延は、sDoutとsDinが直接連動している場合(一点破線)であって、TFF0フリップフロップが省略される場合に適用される。(TFF0のような)ループに挿入されるそれぞれの追加のフリップフロップは、別のbckサイクルをこの遅延に加える。すなわち、システムクロックは、ビットクロックよりも有意に高くなければならないが、同期領域のためのロジックは、周波数の比とは独立に設計することができる。
準安定抑圧回路及びエッジ検出器の変形例が可能である。同じ信号の異なるクロックエッジに関してクロックすること、及び/又はCFF1とCFF2のフリップフロップを1つのフリップフロップに結合することで、同じ準安定なエラーの確率を達成するために、最大の可能なsys_clk周波数を低下する代償として、要求される(sys_clk周波数)/(bck周波数)の比を減少することができる。図10における例示的な実現は、その周波数の比を約“2”に低下するが、同じシステムクロックが使用された場合、準安定を決定するために利用可能な時間が要素“2”を超える分だけ短縮される。
オーディオインタフェースのうちの幾つか(I2SインタフェースではLRCK=左右指示、AC97インタフェースではSYNC、或いは通常のシリアルDSPインタフェース向けのワードストローブ)においてのみ必要とされ、存在する同期信号は、原則として、同期信号のエッジを有する、それぞれシリアル転送されるオーディオ(mチャネル)サンプルのうちの最初のサンプル(又はある他のビットn)を示すものであって、Din及びDout信号のように扱うことができる。同期信号を入力同期装置(図10、101)に入力すること、かかる同期信号を出力同期装置(図10、103)に出力することができる。これは、これらの同期信号は、データ信号と同じタイミング又は類似のタイミングを典型的に有しているためである(入力がBCKの一方のエッジでサンプリングされ、出力がBCKの反対のエッジでサンプリングされる)。クロック同期装置は、ビットクロックのみに必要とされ、このビットクロックに同期される転送された全ての他の信号は、入力及び出力同期装置のセルにより処理される。
結果的に、データ入力信号に対する同期信号は、データ出力信号に対する同期信号と同様に、同期ロジックのために異なる遅延を受けないが、出力サイドに対する入力サイドは(データ出力に対する同期入力のように)、図11にDoutに対するDinのケースについて示されるように、遅延Tを受ける。
本発明のストリームユニット及び同期装置の効果は、以下に示される。チャネル(Fビット)の置き換えを回避することができる。FLビット関係、ドントケア出力同期信号、(PTS)ブロックのタイムスタンプが使用される、タイムド・スタートアップが実行可能である、ブロックエラー処理をストリームユニットに組み込むことができる。
より低い構成の複雑さ。これは、典型的な要求されるストリームユニットの数がプロトコルユニット/シフタユニットの数よりも少ないことによる。
単一のソフトウェアによる実現が可能。これは、単一のストリームユニットでの実現及びオーディオデータと共にサイド情報を処理することによる。
一定のビットクロック遅延を有する同期装置に関して、一方で、同期されるビットクロックよりも有意に高いシステムクロックが要求され、したがって、すべての同期ケース向けに適用することができない。しかし、このシステムクロックは、オーディオアプリケーション向けに適用することができる。これは、典型的なオーディオビットクロック周波数は、実際のIC技術向けに、及びある程度に現在のFPGA技術向けに適用できるシステムクロックよりも有意に低いためである。この一定のビットクロック遅延は、全ての比sys_clk/bit_blk>Nについて達成することができる。ここで、Nは選択された同期ロジックに依存する。
本発明のデジタルオーディオインタフェースユニットに関する簡略化されたブロック図である。 IEC958サブフレームフォーマットを示す図である。 AC’97フォーマットフレームを示す図である。 ADATフォーマットフレームを示す図である。 I2Sフォーマットフレームを示す図である。 図1のブロック図のさらに詳細な図である。 チャネルデコーダのブロック図である。 FIFO又はシステムメモリ(図示せず)における記憶のためのフォーマット例である。 ストリームユニットで使用されるカウンタ回路を示すブロック図である。 GPI/シンクロナイザユニットのブロック図である。 同期タイミングを説明するタイミングチャートである。 チャネルエンコーダ/デコーダ及びストリームユニットのタイミングを説明するタイミングチャートである。
符号の説明
11:チャネルエンコーダユニット
12:チャネルデコーダユニット
13:ストリームユニット
14:FIFO
15:バスインタフェース
16:クロックユニット
17:タイマーユニット
18,19:レジスタファイル
101:入力同期回路
102:ビットクロック同期装置
103:出力同期回路
104:クロック選択ユニット

Claims (9)

  1. 共通のシステムクロック(sys_clk)を使用して、共通フォーマットの中央演算処理のために、異なるタイプのインタフェース(IEC958,I2S,AC−Link,ADAT)からの入力信号(SADI)をプリプロセスするための方法であって、前記異なるインタフェースタイプは、異なるサンプルクロック周波数、及び/又は異なるデータフレーム又はデータワードのフォーマットに関連しており、
    前記異なるタイプのインタフェースからの入力信号(SADI)から、システムクロックに同期した入力信号を発生し(GPI)、
    前記異なるタイプのインタフェースに関連する前記異なるチャネルプロトコル(IEC958,I2S,AC−Link,ADAT)に従い、前記システムクロックに同期した入力信号をチャネルデコードし(11)、一様なワードフォーマットを有する対応するPCMビットストリームのフォーマット信号を供給し、
    前記PCMビットストリームのフォーマット信号から、たとえばFIFOのような、これよりサンプルワードが前記中央演算処理に供給される中間的な記憶装置(14)に記憶されるサンプルワードを形成するように、前記PCMビットストリームのフォーマット信号をさらに処理する(13)、
    ことを特徴とする方法。
  2. 共通のシステムクロック(sys_clk)を使用して、共通フォーマットの中央演算処理において、異なるタイプのインタフェース(IEC958,I2S,AC−Link,ADAT)への出力信号(SADO)をプリプロセスするための方法であって、前記異なるインタフェースタイプは、異なるサンプルクロック周波数、及び/又は異なるデータフレーム又はデータワードのフォーマットに関連しており、
    システムクロックに同期したPCMビットストリームのフォーマット信号をサンプルワードから形成することで、前記中央演算処理から出力され(SB)、たとえばFIFOのような中間的な記憶装置(14)に記憶される前記サンプルワードをさらに処理し(13)、PCMビットストリームのフォーマット信号は、一様なワードフォーマットを有し、かつ前記異なるタイプのインタフェース(IEC958,I2S,AC−Link,ADAT)に関連しており、
    前記異なるタイプのインタフェースに関連する前記異なるチャネルプロトコル(IEC958,I2S,AC−Link,ADAT)に従い、一様なワードフォーマットを有する前記システムクロックに同期したPCMビットストリームのフォーマット信号をチャネルエンコードして、対応するシステムクロックに同期した出力信号を供給し(12)、
    前記システムクロックに同期した出力信号から、もはやシステムクロックに同期しないが前記タイプのインタフェースに従うインタフェースタイプに適合した出力信号(SADO)を発生する(GPO)、
    ことを特徴とする方法。
  3. 共通のシステムクロック(sys_clk)を使用して、共通フォーマットの中央演算処理のために、異なるタイプのインタフェース(IEC958,I2S,AC−Link,ADAT)からの入力信号(SADI)をプリプロセスするための装置であって、前記異なるインタフェースタイプは、異なるサンプルクロック周波数、及び/又は異なるデータフレーム又はデータワードのフォーマットに関連しており、
    前記異なるタイプのインタフェースからの入力信号(SADI)から、システムクロックに同期した入力信号を発生するための手段(GPI)と、
    前記異なるタイプのインタフェースに関連する前記異なるチャネルプロトコル(IEC958,I2S,AC−Link,ADAT)に従い、前記システムクロックに同期した入力信号をチャネルデコードして、一様なワードフォーマットを有する対応するPCMビットストリームのフォーマット信号を供給するための手段(11)と、
    前記PCMビットストリームのフォーマット信号から、たとえばFIFOのような、これよりサンプルワードが前記中央演算処理に供給される中間的な記憶装置(14)に記憶されるサンプルワードを形成するように、前記PCMビットストリームのフォーマット信号をさらに処理するための手段(13)と、
    を備えることを特徴とする装置。
  4. 共通のシステムクロック(sys_clk)を使用して、共通フォーマットの中央演算処理において、異なるタイプのインタフェース(IEC958,I2S,AC−Link,ADAT)への出力信号(SADO)をプリプロセスするための装置であって、前記異なるインタフェースタイプは、異なるサンプルクロック周波数、及び/又は異なるデータフレーム又はデータワードのフォーマットに関連しており、
    システムクロックに同期したPCMビットストリームのフォーマット信号をサンプルワードから形成することで、前記中央演算処理から出力され(SB)、たとえばFIFOのような中間的な記憶装置(14)に記憶される前記サンプルワードをさらに処理するための手段と(13)、PCMビットストリームのフォーマット信号は、一様なワードフォーマットを有し、かつ前記異なるタイプのインタフェース(IEC958,I2S,AC−Link,ADAT)に関連しており、
    前記異なるタイプのインタフェースに関連する前記異なるチャネルプロトコル(IEC958,I2S,AC−Link,ADAT)に従い、一様なワードフォーマットを有する前記システムクロックに同期したPCMビットストリームのフォーマット信号をチャネルエンコードして、対応するシステムクロックに同期した出力信号を供給するための手段と(12)、
    前記システムクロックに同期した出力信号から、もはやシステムクロックに同期しないが前記タイプのインタフェースに従うインタフェースタイプに適合した出力信号(SADO)を発生するための手段(GPO)と、
    を備えることを特徴とする装置。
  5. 前記インタフェースのタイプは、IEC958、I2S、AC−Link及びADATのうちの少なくとも2つを含む、
    請求項1乃至4のいずれか記載の方法又は装置。
  6. チャネルの置き換えを検出して回避するために、システムクロックに同期した処理で、幾つかの個々のサンプルがそれらのチャネルタイプで記録又はチェックされ、前記チャネルの置き換えは、たとえばサンプルを挿入又は消去した場合に生じ、前記記録は、たとえば、前記システムクロックに同期した処理で特に使用されないサブコードのビットを使用して実行される、
    請求項1乃至5のいずれか記載の方法又は装置。
  7. 前記中間的な記憶装置(14)に関するDMAブロック転送のために、それぞれのDMAデータブロックの最初のワードについてLFの記録が実行され、該LF記録は、DMAバッファ出力を準備するときにプロセッサの処理数を低減するために評価される、
    請求項1乃至6のいずれか記載の方法又は装置。
  8. 前記サンプルワードの更なる処理を実行するストリームユニットの正確に時間設定されたスタートアップを容易にするために、内部発生されたタイムスタンプが中央演算処理により前記ストリームユニットに供給される、
    請求項1乃至7のいずれか記載の方法又は装置。
  9. 個別のクロック、及びデータ又は前記システムクロックに対する同期信号を有するインタフェース信号の同期のために、同期されるクロック(bck)の同じエッジでクロックされる2つの連続するDフリップフロップが使用される、
    請求項1乃至8のいずれか記載の方法又は装置。
JP2004032633A 2003-02-12 2004-02-09 異なるタイプのインタフェースからの入力信号、又は異なるタイプのインタフェースへの出力信号を共通フォーマットの中央演算処理でプリプロセスするための方法及び装置 Pending JP2004248279A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP03090038A EP1447739A1 (en) 2003-02-12 2003-02-12 Method and apparatus for preprocessing input/output signals of/to different types of interfaces using a common format

Publications (2)

Publication Number Publication Date
JP2004248279A true JP2004248279A (ja) 2004-09-02
JP2004248279A5 JP2004248279A5 (ja) 2007-03-08

Family

ID=32669012

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004032633A Pending JP2004248279A (ja) 2003-02-12 2004-02-09 異なるタイプのインタフェースからの入力信号、又は異なるタイプのインタフェースへの出力信号を共通フォーマットの中央演算処理でプリプロセスするための方法及び装置

Country Status (6)

Country Link
US (1) US7127537B2 (ja)
EP (1) EP1447739A1 (ja)
JP (1) JP2004248279A (ja)
KR (1) KR20040073344A (ja)
CN (1) CN100354798C (ja)
MX (1) MXPA04001263A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007115036A (ja) * 2005-10-20 2007-05-10 Fujitsu Ltd 非同期伝送装置、非同期伝送方法

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060020718A1 (en) * 2004-06-28 2006-01-26 Duresky Nicholas E Resource sharing apparatus, systems, and methods
US7773733B2 (en) 2005-06-23 2010-08-10 Agere Systems Inc. Single-transformer digital isolation barrier
US8213489B2 (en) * 2005-06-23 2012-07-03 Agere Systems Inc. Serial protocol for agile sample rate switching
KR100746003B1 (ko) * 2005-09-20 2007-08-06 삼성전자주식회사 어레이 마이크로폰의 아날로그 신호를 디지털 신호로변환하는 장치 및 이를 포함하는 컴퓨터 시스템
CN100365631C (zh) * 2005-11-22 2008-01-30 北京中星微电子有限公司 一种共相式多媒体集成播放系统和方法
KR101116617B1 (ko) * 2007-07-20 2012-03-07 삼성전자주식회사 I2S(Inter-IC Sound) 형식의 오디오전송과 처리에 관한 방법 및 그 장치
CN102522110B (zh) * 2011-11-30 2014-07-30 苏州顺芯半导体有限公司 数字音频接口发送电路中实现数据预加载的方法和装置
EP2672393A1 (en) 2012-06-04 2013-12-11 Dialog Semiconductor B.V. Circuit and methods to use an audio interface to program a device within an audio stream
US10171540B2 (en) * 2012-09-07 2019-01-01 High Sec Labs Ltd Method and apparatus for streaming video security
US9842071B2 (en) * 2014-11-11 2017-12-12 Microchip Technology Incorporated Multi-channel I2S transmit control system and method
KR102276895B1 (ko) * 2017-08-17 2021-07-12 삼성전자주식회사 반도체 장치 및 그 이벤트 프로파일링 방법
US10452345B1 (en) * 2018-05-15 2019-10-22 Sonos, Inc. Media playback system with virtual line-in
EP3573342B1 (en) * 2018-05-25 2021-03-31 Harman Becker Automotive Systems GmbH Multi-rate digital sensor synchronization
TWI699656B (zh) * 2018-12-27 2020-07-21 新唐科技股份有限公司 可切換的i2s介面
CN110086549B (zh) * 2019-04-02 2021-09-14 北京小米移动软件有限公司 音频数据传输方法及装置
CN111027284B (zh) * 2019-12-05 2023-08-25 集奥聚合(北京)人工智能科技有限公司 一种基于数据灵活接入标准化输出方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3886317A (en) * 1973-12-17 1975-05-27 Vidar Corp Synchronous data channel for pulse code modulation communications system
US4607345A (en) * 1982-01-07 1986-08-19 Rockwell International Corporation Serial data word transmission rate converter
DE3789543T2 (de) * 1987-01-27 1994-11-10 Hitachi Ltd Verfahren und Gerät zur PCM-Aufzeichnung und -Wiedergabe eines Audiosignals.
US5341368A (en) * 1992-05-05 1994-08-23 American Tel-A-Systems, Inc. Digital switching system interconnecting buses with imcompatible protocols
JP2941867B2 (ja) * 1989-12-15 1999-08-30 キヤノン株式会社 記録再生装置
JPH0816181A (ja) * 1994-06-24 1996-01-19 Roland Corp 効果付加装置
US6128681A (en) * 1997-08-07 2000-10-03 Avid Technology, Inc. Serial to parallel and parallel to serial, converter for a digital audio workstation
US6029221A (en) * 1998-06-02 2000-02-22 Ati Technologies, Inc. System and method for interfacing a digital signal processor (DSP) to an audio bus containing frames with synchronization data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007115036A (ja) * 2005-10-20 2007-05-10 Fujitsu Ltd 非同期伝送装置、非同期伝送方法

Also Published As

Publication number Publication date
CN100354798C (zh) 2007-12-12
CN1521599A (zh) 2004-08-18
MXPA04001263A (es) 2005-06-17
US20040161040A1 (en) 2004-08-19
KR20040073344A (ko) 2004-08-19
EP1447739A1 (en) 2004-08-18
US7127537B2 (en) 2006-10-24

Similar Documents

Publication Publication Date Title
JP2004248279A (ja) 異なるタイプのインタフェースからの入力信号、又は異なるタイプのインタフェースへの出力信号を共通フォーマットの中央演算処理でプリプロセスするための方法及び装置
US6385704B1 (en) Accessing shared memory using token bit held by default by a single processor
US6145007A (en) Interprocessor communication circuitry and methods
US7886271B2 (en) Embedding event information in the timing stream
US6782300B2 (en) Circuits and methods for extracting a clock from a biphase encoded bit stream and systems using the same
US7274313B2 (en) High speed data recording with input duty cycle distortion
US7739669B2 (en) Paced trace transmission
US20060255972A1 (en) Trace Receiver Data Compression
JPH05219141A (ja) 制御及びステータス情報を受信しかつ送信するための回路及び方法
US5214705A (en) Circuit and method for communicating digital audio information
US5479445A (en) Mode dependent serial transmission of digital audio information
US5960401A (en) Method for exponent processing in an audio decoding system
JP4336860B2 (ja) シリアルインタフェース回路、及びシリアル受信器
JP3451971B2 (ja) パケット転送装置
US7676697B2 (en) Using a delay line to cancel clock insertion delays
EP1455471A2 (en) Method and apparatus for preprocessing in a common-format, input signals of, or output signals for, interfaces of different type
CN115437988A (zh) 一种i2s音频时钟数据的同步方法、装置及应用
JP2948245B2 (ja) 通信ネットワーク局のための送受信同期化装置
JP3358581B2 (ja) パケット転送装置
JP3451973B2 (ja) パケット転送装置
TMS320C672x et al. Reference Guide
US7613951B2 (en) Scaled time trace
EP1540863B1 (en) Staged locking of phase locked loops
JP3451972B2 (ja) パケット転送装置
JP2005150860A (ja) データ送信装置及びデータ受信装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070122

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070122

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090813

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090825

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100202