JP4184458B2 - 通信インタフェースで受信されたパケットデータからの制御情報の抽出方法ならびにビデオデータパケット制御回路 - Google Patents
通信インタフェースで受信されたパケットデータからの制御情報の抽出方法ならびにビデオデータパケット制御回路 Download PDFInfo
- Publication number
- JP4184458B2 JP4184458B2 JP11112897A JP11112897A JP4184458B2 JP 4184458 B2 JP4184458 B2 JP 4184458B2 JP 11112897 A JP11112897 A JP 11112897A JP 11112897 A JP11112897 A JP 11112897A JP 4184458 B2 JP4184458 B2 JP 4184458B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- dma
- packet
- address
- logic
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Multi Processors (AREA)
- Processing Or Creating Images (AREA)
- Synchronizing For Television (AREA)
- Information Transfer Systems (AREA)
Description
【関連する特許明細書】
本明細書は、ここでも参照されている米国特許明細書連続番号第(TI−22691)号、暫定特許明細書として1996年4月26日に登録された、”受信データパケットにチャンネル番号を割り付けるための方法、装置ならびにシステム”、現米国特許第 号の続きである。
【0002】
【発明の属する技術分野】
本発明は一般的には電子機器の分野に関し、更に詳細にはパケット化されたデータに関する通信インタフェース装置に関し、また更に詳細にはIEEE標準1394標準または同様のコンピュータインタフェースに準拠したプラットフォーム指定通信インタフェース機器を経由して転送されたパケット化されたデータから制御情報を抽出するための方法に関する。
【0003】
【従来の技術】
多くのマルチメディアアプリケーションに関して処理装置速度だけが重要なのではなくて、入出力帯域幅もまたパーソナルコンピュータ上でのアプリケーションを制限する重大な要因である。この制限を解消するために、IEEE1394標準では高性能マルチメディア接続を、キャムコーダ(camcorder )、テレビ、ステレオ、CD交換機、セットトップボックス(set-top boxes )、ミキシングコンソールならびにミュージックキーボード、同様に従来からのパーソナルコンピュータ機器との間で可能にしている。”ファイヤワイヤ(FireWire)”標準として知られているIEEE1394は携帯型ならびにデスクトップコンピュータ環境でのバスインタフェース標準を提供している。このIEEE1394標準は消費者とコンピュータ市場とを繋ぐ重要なリンク技術として機能しており、高度通信プロトコルで駆動されるシリアルバスを記述している。IEEE1394シリアルバスは廉価なシステムコストで、一方高性能周辺機器バスに必要なデータ転送速度を提供するように設計されている。
【0004】
電気電子技術者協会(IEEE)ならびにその会員コンピュータ会社によって策定されたIEEE1394標準はシリアルバスインタフェースであって、低価格、高速ディジタルデータ転送ならびに通信を可能とする。装置間の転送速度は最大400メガビット毎秒(mbps)にまで達し、非同期および等時間間隔データ転送モードの両方を介して実現できる。IEEE1394標準インタフェースはそれ自体ビデオアプリケーションに適しているが、それは等時間間隔時分割システムで動作しているからである。例えば、仮にシステムが1フレームを1/15秒毎に出力するように構成されていたとすると、少なくとも1フレームが出力される全てのパケットの中に存在するはずである。この結果ビデオが滑らかに見えることになる。この理由によりIEEE1394標準インタフェースは、これもまた等時間間隔モードで動作する非同期転送モード(ATM: asynchronous transfer mode)の様な技術と高い互換性を有する。
【0005】
IEEE1394標準の利点はデータの実時間転送にあり、これはマルチメディアアプリケーションの相互接続として理想的な利点を提供する。小型で耐久性がありしかもフレキシブルなケーブルおよびケーブル接続器を使用することにより、IEEE1394標準は価格の節約を実現しある種のケーブル仕様に対する要求を不要とする。IEEE1394標準は汎用入出力相互接続を提供し、これは入出力ポートを統合する一方でプリント回路基板のスペースを合併整理する。更に、IEEE1394標準はピア・ツウ・ピア通信構造を提供し、これは周辺機器がホスト装置に負荷を課することなく互いに直接通信することを可能とする。
【0006】
IEEE1394標準は高速シリアルバスを提供し、これはヘッダを含むパケット化されたデータを使用する。ヘッダはルーティング情報を含む。更に、パケット化されたデータはペイロードデータを含む。媒体の物理特性は長距離伝送用に設計される必要はない。IEEE1394標準は、机上バスで動作するローカルエリアネットワークの様な短距離用に設計されている。その距離はしばしば単なる机上というよりは長くなるが、IEEE1394標準はローカルエリアネットワーク動作で使用されることは意図していない。従って、基本的にIEEE1394標準は、ワークステーション、家庭用コンピュータ、テレビ、VCR、キャムコーダの様な装置に、オーディオ、ビデオ、文字の様な種々の媒体型式がアクセスするためのシリアルバスおよびパラレルバスを置き換えるための高速相互接続を提供する。
【0007】
既存のインタフェース機器に関連する制約の1つは、例えばソニー製デスクトップカメラの様な多くの種類のデスクトップカメラからビデオパケットを受信し、またビデオデータのペイロードを表示インタフェースバスに送信するための自動パスを提供する効率的な方法が存在しないことである。IEEE1394標準バスからPCの中へビデオデータを導くための1つの方法は、ズームまたはビデオデータを、関連するコンピュータの中へズームビデオデータ入力を可能とするポートの中へ供給することである。現在知られているビデオチップセットは、ズームポートから入力されるウィンドウをハードウェアの中で管理する能力を有する。これはビデオ画像をハードウェアで管理されたウィンドウの中で、ソフトウェア操作の支援を受けることなく自律的に表示することを可能とする。
【0008】
制御情報を抽出するための既存の方法に関する非常に重大な制約は、データフォーマットに関係している。例えば、ある種のソニーカメラはYUVデータを提供し、これはリアルタイムデータであり、IEEE1394標準バスを経由して転送されるものである。この生のデータに関連する制約事項は、これが一般的ではないフォーマットで入力され、別のカメラからの別のフォーマットにはなじまないことである。
【0009】
パケット化されたデータから制御情報を抽出することに関しての別の問題点は、IEEE1394標準は比較的新しく利用できるようになったPCIインタフェース標準であり、既に利用可能なシステムの全てがIEEE1394標準に厳密な意味で同一の方法で準拠しているわけでは無い点である。この制約はたとえIEEE1394標準に準拠しているシステムであっても中には互いに簡単に互換性を持てないものも作りうる可能性がある。
【0010】
IEEE1394標準または同様の標準に基づくパケット化されたデータ転送の制御および使用に関連する更に別の重要な制約は、データパケットから水平および垂直同期ヘッダを切り離す事に関連して存在する。既存のIEEE1394標準バスおよび関連するPCIシリアルバスインタフェース機器に関して、表示を制御しかつ関連するビデオ画像データを適切に使用するための水平および垂直同期信号を切り出すための効率的でかつ迅速な機構が存在しないことである。
【0011】
【発明が解決しようとする課題】
上記の制約事項を鑑みると、IEEE1394標準または同様の通信インタフェースバス用のインタフェース機器からのズームビデオポート出力を統合する事の可能なPCIインタフェース機器からのズームビデオポート出力を統合する方法ならびにシステムが必要である。
【0012】
更に、IEEE1394標準および同様のPCIインタフェース標準に準拠するシステムならびに構成部品を展開するために好適に働くデータ符号化および圧縮を行うための標準を確立する上で手助けとなる方法およびシステムが必要である。
【0013】
また更に、IEEE1394バスを経由して転送されるデータパケット転送からのビデオアプリケーション用の制御信号を自律的に生成するための方法およびシステムが必要である。
【0014】
本発明によれば、パケット化されたデータから制御情報を抽出するための方法およびシステムが提供されており、これは従来開発されたIEEE1394標準または同様のPCIインタフェース機器内のパケット化されたデータから制御情報を抽出するために従来開発された方法およびシステムに関連した欠点および問題点を基本的に取り除くかまたは軽減するものである。
【0015】
本発明の1つの特徴として、ヘッダ部分とビデオデータ部分とを含むデータパケットからビデオデータを自律的に出力するための方法およびシステムが提供されている。この方法およびシステムはデータパケットをPCIインタフェース機器内に受信する。データパケットはアドレスに関係し、データパケット内に複数のアドレスフィールドを含む。本発明は更にヘッダ部分とアドレスとを復号して、ヘッダ部分が垂直同期信号を含むかを判定し、データ部分アドレスを復号してデータ部分が水平同期信号を含むかの判定を行う手順を含む。更に、本発明の方法およびシステムはヘッダ部分をビデオデータ部分から切り離し、ビデオデータ部分をズームポートの中に流し込む手順を含む。
【0016】
本発明の技術的特長は、IEEE1394標準または同様のバスを経由してハードウェアが管理するウィンドウに転送されるビデオデータおよび制御情報を、システムが動作する時点でソフトウェアの支援を受けることなく自律的に取得するための方法を提供することである。
【0017】
本発明の別の技術的特長は、パーソナルコンピュータのズームポート用の制御情報を、指定されたビデオカメラ機器からのパケットヘッダおよびデータフィールド内に含まれるある種のパケット情報に基づいて生成しかつ同期させるための方法を提供することである。
【0018】
本発明のまた別の技術的特長は、水平同期信号または垂直同期信号の様な制御情報を、符号化ビデオの様な組み込み型制御情報を含むパケット化されたデータから自律的に抽出する際の問題点を解決する事である。
【0019】
本発明の更に別の技術的特長は、これが正しい環境に組み込まれた際に自律的制御信号を生成し出力するための機構を提供することである。
【0020】
本発明の別の技術的特長は、アドレスまたはデータパターンを変更することによるフレキシブルな制御信号生成法を提供することである。
【0021】
本発明の更に別の技術的特長は、外部からの介入を最小としてデータストリームから制御信号を選択するための機構を提供することである。これはマイクロプロセッサの外部で生成されたデータから自律的垂直および水平同期信号情報を提供する。
【0022】
本発明及びその特長は添付図面を参照して行う以下の説明より更に完全な理解が得られるであろう。添付図面に於いて同一の参照番号は同一の事象を示す。
【0023】
【発明の実施の形態】
本発明の提出された実施例は添付図面に図示されており、ここで同一番号は種々の図面に渡って同一の対応する部品を参照する。
【0024】
図1はパーソナルコンピュータ環境10を概念的に図示しており、これは点線の箱12で示されるパーソナルコンピュータ12と点線の箱14で示される関連の周辺機器とを含む。パーソナルコンピュータ12の内部には種々のバス及びノードが存在しパーソナルコンピュータの動作を制御する。例えば、インタフェースバス16は3ポート物理層インタフェース18と本発明によるインタフェース機器20との間の通信を支援する。シリアルEPROM22はPCIインタフェース機器20の動作を支援する。PCIインタフェース機器20は更にPCIバス24と補助ポートローカルバス26とのインタフェースを行う。またPCIバス24を経由してローカルバス28ならびにPCI取り扱い機器30,32も通信を行っている。PCIホストブリッジ34はローカルバス28とPCIバス24との間のホストブリッジ機能を実行する。補助ポートローカルバス26はフラッシュPROM(またはRPL ROM)36、直接メモリアクセス(DMA)チャンネル制御静的RAM(SRAM)38、使用者定義機能(AUX)40、およびビデオ入出力用ズームビデオ(ZV)ポート42と通信を行う。ホストローカルバス28はホストCPU44およびローカルメモリ46と通信を行う。
【0025】
物理層インタフェース18と通信を行う周辺機器14には、CD ROM装置48、レーザプリンタ50、デスクトップカメラ52、そしてビデオケーブルセットトップボックス56とのインタフェースを行うディジタルビデオカセットレコーダ(VCR)54が考えられる。
【0026】
図1に於いて、PCIインタフェースASIC20は、PCIバス24をサポートする環境で動作する機器と例えばIEEE1394−1995標準環境が確立する高速入出力周辺機器環境で動作する機器との間の、データパケット送信制御の基本機能を実行する。本実施例のPCIインタフェースASIC20はIEEE標準1394−1995ならびにPCI仕様版2.0に適合する。更にPCIインタフェースASIC20はサイクルマスタの機能を、特にIEEE1394−1995環境に於いて実行し、喪失されたサイクル開始メッセージ検出能力を有する。PCIインタフェースASIC20は32ビット周期的冗長検査(CRC)信号をIEEE1394標準パケット送信用に生成し、同様に32ビットCRC検査をIEEE1394パケット受信時に実行する。PCIインタフェースASIC20はPCIインタフェースASIC20と物理層インタフェース18との間の等時間間隔バリアをサポートする。更に、PCIインタフェースASIC20はIEEE1394標準送信速度100、200および400mbpsをサポートし、同様に3サイズのプログラム可能FIFO(例えば、非同期送信、等時間間隔送信、そして一般受信)をサポートする。
【0027】
以下に説明するように、PCIインタフェースASIC20はプログラム可能チャンネルアドレス比較器ロジックを受信した入力データパケットに対して実施し、それらに対してDMAチャンネルを割り当てる。本発明は、少なくとも1つの実施例に於いて5つのスキャッタ・ギャザ(scatter-gather)DMAチャンネルを提供し、ここで各々のチャンネルのデータパケット操作が、(1)非同期パケット送信、(2)等時間間隔パケット送信、(3)非同期パケット受信、そして(4)等時間間隔パケット受信機能をサポートするようにプログラムされる。
【0028】
PCIインタフェースASIC20はまた、DMA操作をサポートするためのPCIマスタバス機能と、また同様に内部レジスタへの読み取りおよび書き込みアクセスを行うためのPCIスレーブ機能をも提供する。32ビットPCIアドレスデータ経路を実現するために、PCIインタフェースASIC20はPCIアドレスデータパリティ検査のみならず、割り込み事象へのソフトウェア制御も提供する。PCIインタフェースASIC20は、外部ロジックへの専用経路を実現するためのプログラム可能外部ローカルバスを提供する。更に加えて、PCIインタフェースASIC20は8ビットまたは16ビットインタフェースを、ズームビデオ(ZV)ポートに提供し、ビデオデータを直接外部モーションビデオメモリ搬送機に転送する。
【0029】
図2はブロック図58を提示し、これは本発明のPCIインタフェースASIC20の機能分割を示す。PCIインタフェースASIC20内のロジックはPCIバスロジック60を含み、これはシリアルEPROM22との通信を行うためのシリアルEPROMインタフェース62を含む。PCIマスタロジック64およびPCIスレーブロジック66、同様にPCI構成制御ならびに状態レジスタ68はPCIバス24との通信に必要なロジックを提供する。ローカルバスインタフェースロジック70は補助ポートローカルバス26とのインタフェースに必要な制御ロジックを提供する。
【0030】
PCIインタフェースASIC20内のDMAロジック72は、DMAエンジン74およびDMA制御ならびに状態レジスタ76を含み、PCIバスロジック60とFIFOロジック78との間の動作と通信とを制御する。FIFOロジック78は汎用受信FIFO80、非同期送信FIFO82、等時間間隔送信FIFO84、ポインタアドレス写像ロジック86、およびFIFO制御ならびに状態レジスタ88を含む。
【0031】
リンク層制御ロジック90は制御ならびに状態レジスタ92を含み、これはリンク層制御ロジック90内の全ての機能の制御を行いかつ状態のレポートを行う。パケット送信制御ロジック98およびパケット受信制御ロジック102はロジック、サイクルタイマ94およびサイクルモニタ96と共に働く。物理リンクインタフェースロジック104はパラレル/シリアル変換ならびにシリアル/パラレル変換機能を含む。
【0032】
図2に於いて、PCIバスロジック60はPCIインタフェースASIC20とPCIバス24とのインタフェースロジックを実行する。PCIスレーブロジック66は外部PCI取り扱い機器に対してスレーブインタフェース制御ロジックへの読み取りおよび書き込み機能を提供して、PCIインタフェース20制御ならびに状態レジスタ68、76、88、92を評価できるようにしているが、これらはアプリケーションソフトウェアがPCIインタフェースASIC20を制御しその動作状況を監視する際に要求されるものである。PCIマスタロジック64はDMAロジック72に対してマスタ機器としてPCIバス24上でのデータ送信を開始する機能を提供する。PCI構成制御ならびに状態レジスタ68は、PCIインタフェースASIC20の構成およびプログラミングを行うためのパーソナルコンピュータシステム12アプリケーションソフトウェアで使用可能である。これはPCIが要求する制御および基本レジスタを含み、同様にPCIインタフェースASIC20用の割り込み制御および状態信号ならびにその他の制御ならびに状態レジスタをも含む。ローカルバスインタフェースロジック70はRAM,ROM、補助機能、ズームビデオポート、および4つのGPIOインタフェースとインタフェースしかつ制御するための補助ポートを含む。更に、シリアルEPROMインタフェース62は、PCIが必要とするある種の構成データと一定のシステム制御レジスタ情報とを電源投入後に提供する。
【0033】
シリアルEPROMインタフェース62はPCIインタフェースASIC20とシリアルEPROM22(図1)との間の通信を提供する。電源投入時、シリアルEPROMインタフェース62はPCI構成レジスタ68の僅かな部分をシリアルEPROM22から初期化する。シリアルEPROM状態機械がシリアルEPROM22にアクセスしている間、全てのPCIスレーブアクセス入力は再試行状態で終了される。
【0034】
シリアルEPROM22はまたPCI構成制御ならびに状態レジスタ68用の構成データをも含む。この情報はホストCPU44で読み取りおよび書き込みが行われるが、これはシリアルEPROM22用制御レジスタを通して2線式シリアルバスプロトコルをエミュレートしている。この2線式シリアルバスはホストCPU44から、シリアルEPROM22出力可能化ビットを”1”の値に設定するように操作され、続いて2線式シリアルバスプロトコルをエミュレートするためにデータおよびクロックビットにアクセスする。PCI構成制御ならびに状態レジスタ68はタイマビットを含み、これは2線式シリアルバスプロトコル事象のタイミングを取るための時間基準を提供する。
【0035】
PCIマスタロジック64はPCIインタフェースASIC20がPCIバス24をマスタ機器として操作するために必要な制御を実行する。このロジックはメモリ読み取り、メモリ書き込み、メモリ読み取り線、メモリ書き込み線、および書き込み無効命令操作を可能とする。メモリ読み取り機能に関して、PCIインタフェースASIC20のDMA読み取り操作の結果、PCIバス上にメモリ読み取り線命令によるメモリ読み取りが行われる。メモリ書き込み操作に関して、PCIインタフェースASIC20DMA書き込み操作の結果PCIメモリ書き込みが行われるか、PCIバス上にメモリ書き込み線命令またはメモリ書き込み無効命令が出される。
【0036】
PCIスレーブロジック66はPCIインタフェースASIC20がPCIバスをスレーブ機器として操作するために必要な制御ロジックを実行する。可能化されるとPCIスレーブ機能66は68に含まれる基本アドレスレジスタで指定されるPCIメモリアドレス範囲での、メモリ読み取りまたは書き込み命令に応答する。PCIスレーブロジック66は、その他の制御レジスタ内のスレーブバーストビットで可能化された際に、スレーブバースト転送を実行する。PCIスレーブロジック66はその他の制御レジスタ内の制御ビットで可能化された際に、宛先指定書き込み操作を実行する。
【0037】
PCI構成制御ならびに状態レジスタ68はシステムおよびアプリケーションソフトウェアに対して、PCIインタフェースASIC20のPCI演算構成を実行する機能を提供する。
【0038】
ローカルバスインタフェースロジック70は、共通ロジックを共有する特殊入出力ポートグループを提供する。これらのポートはPCIバス24またはDMAエンジン74のいずれからもアクセス可能である。これらのポート上の外部機器はマスタ機器として機能することは出来ない。これらのポートはPCIインタフェースASIC20を外部機器またはインタフェースに接続し、この様な機器との間に自動データ転送を行うことを可能としている。ズームビデオバスインタフェースを除く全てのローカルバスインタフェースは、ローカルクロックに同期しており、これはPCIクロックから提供されるものである。ZVポートクロックはPCIクロック、IEEE1394クロック、または外部クロックに基づいてプログラムされている。
【0039】
ローカルバスインタフェースロジック70は共有ローカルアドレスバスを提供し、これは本発明では16ビットアドレスバス、共有8ビットまたは16ビット読み取りまたは書き込みデータバスであり、プログラム可能待ち状態および準備完了条件を具備したものである。ローカルバスアドレスおよびデータバスはROM,RAM,AUX,およびズームポート機能の中で共有されている。ZV出力ポートは水平同期、垂直同期データ有効、およびZV−PIXEL.CLR.を提供する。ローカルバスインタフェースロジック70用のその他の入出力は4つの汎用I/O(GPIO)ピンを含み、これはプログラム可能方向および極性機能を実現する。ローカルバスインタフェースロジック70の本実施例に於けるその他の信号としては、ローカルバスクロック出力、リセット出力、割り込み入力、そして外部準備完了入力が含まれる。PCI構成制御ならびに状態レジスタ68はローカルバスインタフェースロジック70の動作を構成する上で必要な制御命令ならびに情報を提供する。
【0040】
PCIインタフェースASIC20はリモートプログラムロード(RPL)読み取り専用メモリ(ROM)を含み、これはパーソナルコンピュータ12に対して付属のRPL ROMからブートコードを読み取る機能を提供する。これによりたとえシステムが特定のIEEE1394ブートコードを電源リセット時に喪失していたとしても、システムをIEEE1394機器からブートすることが可能となる。更に、ROMインタフェースを汎用化してRPL ROMにアクセスするだけではないその他の機能を提供するようにも出来る。ローカルバスインタフェースロジック70はPCIスレーブおよび内部DMAが、フラッシュPROM36、SRAM38ならびにその他の図1に示されるRAM相当機器の様な機器へ読み取り/書き込みアクセスすることをサポートする。ROMへのアクセスはPCI構成制御ならびに状態レジスタ68で制御され、ROM基本アドレスレジスタの最下位ビットに1を書き込むことにより可能化される。ROMインタフェースは8ビットまたは16ビット幅データのいずれかで、指定された数の待ち状態または同様機能として構成できる。ROMオプションは電源リセット時にシリアルEPROM22経由で構成されPCIスレーブアクセス経由で入力される。
【0041】
RAMインタフェースはPCI構成制御ならびに状態レジスタ68内の第二PCIメモリに基づくレジスタを通してアクセスされる。このメモリはDMA制御構造またはデータバッファまたは、ディジタル信号処理装置の様なその他の機能への共有メモリインタフェースとして使用できる。RAMインタフェースは8ビットまたは16ビット幅データのいずれかで、指定された数の待ち状態または外部準備完了調歩として構成できる。
【0042】
補助インタフェースは汎用入出力ポートであって、これはPCI構成制御ならびに状態レジスタ68内の第三PCIメモリベースアドレスレジスタを通してアクセスされる。このポートは圧縮/伸長(decompression )ロジックまたはビデオプロセッサ/フレームバッファの様な外部専用資源への高速データ経路を実現するために使用される。もしもZVポートが可能化されていると、AUXアドレス空間の1つのポートがそのZVポートに写像される。それ以外の場合は、この空間は提出された実施例の補助アドレスベースの一部として利用可能である。本実施例に於いて補助インタフェースは8ビットまたは16ビット幅データのいずれかで、指定された数の待ち状態または外部準備完了調歩として構成できる。
【0043】
FIFOロジックは提出された実施例では単一の256x33でクロックを掛けられた二重ポートRAMの回りに設計されており、3つの論理FIFOに分割されている。各々のFIFOは0から256ワードのサイズでプログラムされている。与えられたFIFOサイズの組み合わせに対して、3つのFIFOサイズの合計は256ワード以下でなければならない。
【0044】
汎用受信FIFO(GRF)80は読み取りおよび書き込みポインタ対を含み、FIFO二重ポートRAMへアクセスする際に使用される。各々のポインタは0からそのfifo_size_value 引く1の範囲で計数する。各々のポインタに対するFIFO RAMアドレス指定範囲は、オフセット値を生成するロジックによって設定される。そのオフセットをポインタの値に加算して、RAMアドレスの唯一無二の範囲に写像されるようにする。動作中のDMAチャンネルは読み取りポインタを使用して、RAMのPCI側から非同期または等時間間隔パケットを読み取り、それらをホストメモリの中に書き込む。書き込みポインタはIEEE1394受信機で使用され、IEEE1394バス上に受信された、非同期または等時間間隔パケットをFIFO RAMのリンク側に書き込む。2つのポインタはFIFO RAMの両側で同期化ロジックを通して通信されるが、これはFIFO二重ポートRAMの両側が異なるクロック領域に存在するからである。
【0045】
非同期送信FIFO82はFIFO二重ポートRAMへアクセスするための読み取りおよび書き込みポインタ対を含む。各々のポインタは0からそのfifo_size_value 引く1の範囲で計数する。各々のポインタに対するFIFO RAMアドレス指定範囲は、オフセット値を生成するロジックによって設定される。そのオフセットをポインタの値に加算して、アドレスの唯一無二の範囲に写像されるようにする。動作中のDMAチャンネルは書き込みポインタを使用して、ホストメモリから非同期パケットを読み取り、それをRAMのPCI側の中に書き込む。読み取りポインタはIEEE1394送信機で使用され、これは読み取りポインタを用いて非同期パケットをFIFO RAMのリンク側から読み取り、それをIEEE1394バス上に送信する。二つのポインタはFIFO RAMの両側で同期化ロジックを通して通信されるが、これはFIFO二重ポートRAMの両側が異なるクロック領域に存在するからである。
【0046】
等時間間隔送信FIFO84はFIFO二重ポートRAMへアクセスするための読み取りおよび書き込みポインタ対を含む。各々のポインタは0からそのfifo_size_value 引く1の範囲で計数する。各々のポインタに対するFIFO RAMアドレス指定範囲は、オフセット値を生成するロジックによって設定される。そのオフセットをポインタの値に加算して、アドレスの唯一無二の範囲に写像されるようにする。動作中のDMAチャンネルは書き込みポインタを使用して、ホストメモリから等時間間隔パケットを読み取り、それをFIFO RAMのPCI側の中に書き込む。IEEE1394送信機は読み取りポインタを用いて等時間間隔パケットをFIFO RAMのリンク側から読み取り、それをIEEE1394バス上に送信する。読み取りおよび書き込みポインタはFIFO RAMの両側で同期化ロジックを通して通信されるが、これはFIFO二重ポートRAMの両側が異なるクロック領域に存在するからである。
【0047】
ポインタ二重ポートアドレス写像ロジック86はFIFOサイズレジスタから3つのサイズ値を使用して、各々のFIFO読み取り書き込みポインタ対をFIFO二重ポートRAM内の唯一無二のアドレス範囲に写像する。ポインタアドレス写像機能は下記の表に示される式に基づいて生成される。
【表1】
【0048】
FIFO制御ならびに状態レジスタ88はFIFOロジック78の制御ならびに状態レジスタセットを実行する。FIFO制御ならびに状態レジスタ88は各々の論理FIFOのサイズを設定するためのFIFOサイズレジスタを含む。このレジスタは3つのサイズのパラメータを具備し、等時間間隔送信FIFO84、非同期送信FIFO82および汎用受信FIFO80のサイズをプログラムする。このレジスタはPCIスレーブ66読み取りまたは書き込み操作を介してアクセスされる。PCI側FIFOポインタ書き込み読み取りポートはソフトウェア用のPCIスレーブ66書き込み読み取りポートを具備し、これはPCI側ポインタの現在値を取り込んだりまたはそこに値を書き込むためのものである。リンク側FIFOポインタ書き込み読み取りポートはソフトウェア用のPCIスレーブ読み取りポートを具備し、これはリンク側ポインタの現在値を取り込んだりまたはそこに値を書き込むためのものである。汎用受信FIFOポップ・プッシュポートは32ビットスレーブ書き込みを受信し、GRF80の先頭にプッシュされるデータクウォドレット(data quadlet)とする。このポートからの32ビットスレーブ読み取りは、GRF80の先頭からデータクウォドレットをポップオフさせる。非同期送信FIFOポップ・プッシュポートはこのポートへの32ビットスレーブ書き込みを受信し、非同期送信FIFOの先頭へプッシュされるデータクウォドレットとする。このポートからの32ビットスレーブ読み取りは、非同期送信FIFO82の先頭からデータクウォドレットをポップオフさせる。等時間間隔送信FIFOポップ・プッシュポートはこのポートへの32ビットスレーブ書き込みを受信し、等時間間隔送信FIFO84の先頭へプッシュされるデータクウォドレットとする。このポートからの32ビットスレーブ読み取りは、等時間間隔送信FIFO84の先頭からデータクウォドレットをポップオフさせる。FIFO制御トークン状態読み取りポートはスレーブ読み取りを具備し、先にアクセスされた3つのFIFOの1つからポップされた最後のデータクウォドレットのビット33の値を戻す。FIFO診断テストならびに制御レジスタはソフトウェア用PCIスレーブ読み取り書き込みポートを具備し、診断テストおよびその動作を制御するためのFIFOロジックを構築する。また、送信FIFO閾値レジスタはソフトウェア用PCIスレーブ読み取り書き込みポートを具備し、非同期および等時間間隔送信FIFO用の送信閾値を設定する。
【0049】
CRCロジック100は種々の機能を実施するロジックを実行し、これらには送信機ロジックで生成されたパケットデータストリームのヘッダ部分上での32ビット自動DIN CRCエラーコードの生成が含まれる。送信機はこのコードをヘッダ後部のデータストリームの中に挿入する。データペイロードを有するデータパケットに関しては、CRCロジック100は32ビット自動DIN CRCエラーコードを、送信機ロジックで生成されたパケットストリームのデータペイロード部分の上に生成する。送信機はこのコードをパケットストリームの終わりに挿入する。CRCロジック100は32ビット自動DIN CRCエラーコードを入力されるパケットデータストリームのヘッダ部分の上に生成する。もしも計算されたコードがパケットと共に送られたヘッダCRCコードに等しい場合は、受信機はヘッダが正しいと判断する。更に、CRCロジック100は32ビット自動DIN CRCエラーコードを入力されるパケットデータストリームのペイロード部分の上に生成する。もしも計算されたコードがパケットと共に送られたデータCRCコードに等しい場合は、受信機はデータペイロードが正しいと判断する。
【0050】
1394リンク層ロジック90はIEEE1394リンク層制御ロジック(LLC)をIEEE1394−1995標準で規定された通りに実行する。この機能はIEEE1394パケットデータのFIFOロジック78とその他のIEEE1394バス上の機器との間での送受信を制御する。
【0051】
1394リンク層制御ならびに状態レジスタ92はアプリケーションソフトウェアで要求される、LLCの動作を制御しその動作を監視するための、制御ならびに状態レジスタロジックを実行する。1394バス番号・ノード番号レジスタはアプリケーションソフトウェアがバスならびにノード番号をプログラムするためのインタフェースを提供する。1394リンク層制御レジスタはアプリケーションソフトウェアがLLCの動作モードを制御するためのインタフェースを提供する。1394リンク層割り込み状態レジスタはアプリケーションソフトウェアがLLCで生成された割り込み原因を解読するためのインタフェースと、この割り込み状態を解消するための機構とを提供する。1394リンク層割り込み可能化レジスタはアプリケーションソフトウェアが割り込み状態レジスタ内の状態ビットを選択的に可能化してLLC割り込みを生成したり、またはLLC割り込みを生成することを不能化するためのインタフェースを提供する。1394サイクルタイマレジスタはアプリケーションソフトウェアがサイクルタイマに初期値をプログラムしたりまたはその現在値を読み込むためのインタフェースを提供する。LLCがサイクルマスタとして動作しているときは、このタイマはパケットの送信を開始する周期を125マイクロ秒毎に時間決めするために使用される。1394物理層アクセスレジスタはアプリケーションソフトウェアが物理層インタフェース18制御ならびに状態レジスタへのデータの書き込みまたはそこからのデータの読み取りを行うためのインタフェースを提供する。
【0052】
1394診断テスト制御レジスタはアプリケーションソフトウェアが1394LLCロジックの診断テストを実施するためのインタフェースを提供する。1394リンク層制御ならびに状態レジスタ92はまた、DMAチャンネル4−0ワード0受信パケット比較値レジスタを含む。各々のレジスタにはDMAチャンネル比較器ロジック機能が割り当てられている。DMAチャンネル比較器は比較値レジスタ内で選択された組のビット位置と、入力パケットの第一データクウォドレット(ワード0)の対応するビット位置との一致を取る。一致を取るビット位置はワード0受信パケット比較マスクレジスタ内に含まれるマスク値で指定される。DMAチャンネル4−0ワード0受信パケット比較マスクレジスタは、対応するDMAチャンネル比較器に割り当てられる。DMAチャンネル比較ロジックはこのレジスタ内のマスク値を使用して、ワード0内のビット位置を選択し、これがワード0受信比較値レジスタ内の対応するビット位置に対して一致が取られる。DMAチャンネル4−0ワード1受信パケット比較値レジスタはDMAチャンネル比較器ロジック機能に割り当てられる。DMAチャンネル比較器は比較値レジスタ内で選択された組のビット位置と、入力パケットの第二データクウォドレット(ワード1)の対応するビット位置との一致を取る。一致を取るビット位置はワード1受信パケット比較マスクレジスタ内に含まれるマスク値で指定される。またDMAチャンネル4−0ワード1受信パケット比較マスクレジスタは対応するDMAチャンネル比較器に割り当てられる。DMAチャンネル比較ロジックはこのレジスタ内のマスク値を使用してワード1内のビット位置を選択し、これがワード1受信比較値レジスタ内の対応するビット位置と一致が取られる。
【0053】
更に、1394リンク層制御ならびに状態レジスタ92は、ビジー再試行計数レジスタを含み、その内容は1394送信機が送り先ノードからビジー肯定確認が受信された際に、非同期パケット送信を再試行すべき回数を指定している。このレジスタはアプリケーションソフトウェアからPCIスレーブアクセスによって読み書きされる。ビジー再試行時間間隔レジスタは、ビジー肯定確認信号が各々の試行に対して受信された際に送信機が後続の再試行との間で遅延すべき時間間隔を含む。このレジスタはアプリケーションソフトウェアからPCIスレーブアクセス経由で読み書きされる。また、状態機械ベクトルレジスタがあって、これはソフトウェアに対してLLCに組み込まれている各々の状態機械の状態ベクトルを監視する機能を与える。更に、FIFOエラー計数器はパケット送信中に非同期および等時間間隔送信FIFO82,84で生じる未達(under-run )とパケット受信中にGRF80で生じる超過(over-run)とを計数する。
【0054】
パケット受信機制御ロジック102は入力されるIEEE1394パケットを受信するために必要なロジックを実行する。受信機制御ロジックはIEEE1394−1995で規定された詳細な機能要求に合致している。これらはバスおよびノードIDレジスタそして/またはDMAチャンネル受信パケット比較器を使用して入力された非同期または等時間間隔パケットを受信すべきかの判断を行うための下記の機能を含む。CRCロジック機能はヘッダCRCをチェックして入力パケットが正しく受信されているかの確認を行う。もしもパケットがペイロードを有する場合、データCRCがチェックされそのパケットがアドレス指定およびCRCチェックを通過すると、受信されたパケットはGRF80の中にロードされる。パケット受信機制御ロジック102は非同期受信パケット上に肯定確認を生成する。
【0055】
周期タイマロジック96は周期タイマ機能を実施するためのロジックを実行する。周期タイマロジック96はIEEE1394−1995標準で規定されている周期タイマ機能の要求に合致する。周期タイマは周期計数器と周期オフセットタイマとを含む。オフセットタイマは自由計時、または選択信号ピン上で低から高へ再ロードされるか、または受信機からの再ロード値を取るかであるが、これは1394LLC制御ならびに状態レジスタ92内の周期マスタおよび周期ソースビットの状態に基づいて選ばれる。周期タイマは等時間間隔データ転送を支援するように使用される。周期時間は32ビット幅である。本実施例に於いて、低位12ビットは3072を法とする計数器(modulo 3072 counter )として計数し、これは24.576MHzクロック周期、または(40.69ナノ秒)毎に更新される。次の高位の13ビットは8khz(または125マイクロ秒)を計数し、最高位7ビットは秒単位で計数する。
【0056】
周期監視ロジック94は周期監視機能を実施するためのロジックを実行する。周期監視ロジック94は等時間間隔データ転送を支援し、LLC動作を監視して等時間間隔動作のスケジュールを取り扱う。周期監視ロジック94が周期開始パケットを受信するかまたは送信すると、周期監視ロジック94はこれらの事象の発生を、周期開始または周期受信割り込みを生成することにより表示する。周期監視ロジック94はまた周期開始パケットの喪失も検出し、周期喪失割り込みを生成する。等時間間隔周期が完了すると、周期監視ロジック94は周期完了割り込みを発する。周期監視ロジック94は送信機に信号を発して周期開始パケットを送らせるが、これは周期マスタ可能化ビットが1394LLC制御ならびに状態レジスタ92内で発せられた時である。
【0057】
1394パケット送信制御ロジックはIEEE1394パケットを非同期送信FIFO82または等時間間隔送信FIFO84のいずれかから、物理リンクインタフェースロジック104へIEEE1394バス上を送信させるための動きを制御するためのロジックを実行する。送信制御ロジック98はIEEE1394−1995標準の中で規定された機能要求に合致する。パケット送信制御ロジック98は送信パケット形式にフォーマットする。
【0058】
1394パケット送信制御ロジック98はクウォドレットを非同期送信FIFO82から引き出し、これらを正しく32ビットパラレル1394非同期パケットストリームにフォーマットする。制御ロジック98は等時間間隔送信FIFO84から引き出し、これらを正しく32ビットパラレル1394等時間間隔パケットストリームにフォーマットする。CRCロジックを用いてパケットのヘッダおよびペイロード部分用のCRCコードを計算し、制御ロジック98はCRCコードをパケットストリームの時間スロットの中に送信されるパケットの形式からの要求に従って挿入する。1394パケット送信制御ロジック98はパラレルパケットストリームを物理リンクインタフェースロジックに入力し、物理インタフェースに送信するためにパラレルからシリアルデータストリームフォーマットに変換する。
【0059】
1394パケット送信制御ロジック98は、LLCが周期マスタとして動作するようにプログラムされている時には、周期開始パケットを送信する。1394パケット送信制御ロジック98は1394送信バス要求を物理インタフェースに送信する。物理インタフェース層はバスに対して調停を行い、バスの許可が受信されると送信を開始するために送信機に対して指示を送る。1394パケット送信制御ロジック98は、ビジー確認が非同期送信パケットへの応答として戻された時に、再試行送信をIEEE1394−1995標準で規定されている単相再試行Xプロトコルを使用して実行する。更に、1394パケット送信制御ロジック98はパケット送信速度を設定する。
【0060】
物理リンクインタフェースロジック104はPCIインタフェースASIC20を物理層チップにインタフェースさせるロジックを実行する。物理リンクインタフェースロジック104はIEEE1394−1995標準内のリンク物理インタフェース仕様の要求に合致している。この機能はPCIインタフェースASIC20に物理層サービスへのアクセスを提供する。物理リンクインタフェースロジック104は送信機からのパケット速度コードを使用し、生成させるシリアルデータストリームの数を選択する。速度コードが100mbpsに設定されている場合はパラレルデータストリームは、各々が50mbpsで送信する2本のシリアルデータストリームに変換される。速度コードが200mbpsに設定されている場合はパラレルデータストリームは、各々が50mbpsで送信する4本のシリアルデータストリームに変換される。物理リンクインタフェースロジック104は物理インタフェースが受信する速度表示を使用して、物理インタフェースからの入力シリアルデータストリームを受信制御ロジックへの入力のパラレルデータストリームに変換する。いかなる入力パケットに対しても、物理インタフェースはパケットが100mbpsで受信された場合はPCIインタフェースASIC20への2本のシリアルデータストリームを生成し、もしも200mbpsで受信された場合は4本のシリアルデータストリームを生成する。シリアルデータストリームは各々50MHzでクロックがかけられている。物理リンクインタフェースロジック104は物理インタフェースからのシリアル状態応答を受信し、それらをパラレル形式に変換する。状態応答は物理インタフェース割り込み表示そして/または戻りデータを物理インタフェースレジスタ読み取りアクセス要求に応答して搬送する。物理リンクインタフェースロジック104はシリアル肯定確認パケットを検出しかつ受信し、これらをパラレルフォーマットに変換する。更に、物理リンクインタフェースロジック104は送信機パケット送信要求または物理インタフェースレジスタ読み取り書き込みアクセス要求を受領し、これらを物理インタフェースへの送信用にシリアル要求ストリームにフォーマットする。更に、物理リンクインタフェースロジック104はオプションとして物理インタフェースとPCI−LYNX機器との間の電気的等時間間隔バリアとして動作する。
【0061】
DMAロジック72はPCIマスタロジック64を使用してPCIバス24を獲得し、マスタ機器として機能する。DMAロジック72はDMAエンジン74を含み、これは優先順位時間多重分割されている共通状態機械を含む。DMAエンジンはまた、割り当てられた優先順位レベルに基づいてチャンネルを動作させるための調停ロジックをも含む。更に、DMA制御ならびに状態レジスタ76は各々のDMAチャンネルに対してPCIスレーブ66と共にデータ経路制御を提供し、これらのレジスタへPCIインタフェースASIC20からのアクセスを行う。
【0062】
DMAエンジン74は状態機械ロジックを実行し、PCLから制御パラメータおよびデータバッファポインタを取り込む。状態機械ロジックまたはパケット処理装置はこれらのパラメータを使用して、データバッファ相互間のデータ転送を制御する。
【0063】
図3は1394パケット受信ロジック102内に含まれるヘッダ比較ロジックを図示し、これは32ビットパケットデータストリーム106を物理リンクインタフェースロジック104から受信する。32ビットパケットデータストリーム106はIEEE1394パケット受信機ロジック102と、参照番号110で示されているヘッダ比較ロジックとに入る。またPCIスレーブ66は32ビット読み取り/書き込みアクセスを番号110に含まれる比較器制御レジスタに提供する。線117はDMAチャンネル0に対するヘッダ比較一致出力を示す。線119はDMAチャンネル1に対するヘッダ比較一致を示す。線121はDMAチャンネル2に対するヘッダ比較一致を示す。線123はDMAチャンネル3に対するヘッダ比較一致を示す。これらの出力の各々は優先順位符号化器128ならびに論理OR回路129に入る。優先順位符号化器128は、DMAチャンネル出力130を生成し、これは1394受信機ロジック102に入る。論理OR回路129は受信機制御ロジックに比較器一致信号を提供し、0は一致が無いことを示し、または1は一致があることを線132に示し、これは1394受信機ロジック102に入る。
【0064】
DMAエンジン74は五つ(5)またはそれ以上の独立したDMAチャンネルをとして描かれており、これらは全て同時に動作する。実際に実施する場合は1つの主制御状態機械を使用し、時間に対してDMAチャンネルの間を多重分割する。優先順位監視等時間間隔ロジックは連続的に全てのチャンネルの現在の内容を調査し、状態機械に対して実行が保留されている動作を有するチャンネルに最高位の優先順位を割り当てる。
【0065】
図4は図3で説明した一般的概念を更に詳細に図示したものである。図4に於いて、受信データ106は、ワードWD0,WD1を有するヘッダデータ108を含む。ワードWD0,WD1はロジック110のN個のDMAチャンネルヘッダ比較ブロックの各々に具備されている(例えば、図3の4つのチャンネル0〜3)。ロジック110内の各DMAチャンネルに対するDMAヘッダ比較レジスタは回路内での命令を含み、これは108に於けるヘッダWD0と選択レジスタ内容120および制御値ロジック122との合致を比較する。同様に、109に於けるWD1は図に示されるように比較命令を用いてレジスタ124の内容および選択レジスタ126の内容と比較される。DMAヘッダ比較レジスタおよびロジックの出力はチャンネル選択[0]からチャンネル選択[N−1]として表される。図4は更に、優先順位符号化器128がチャンネル選択出力を受信してチャンネル番号をDMAチャンネル選択線130に生成し、アドレス合致出力132を出力する様子を図示している。図3ならびに添付の文章が説明するように、DMAチャンネル選択出力130およびアドレス合致出力132はIEEE1394パケット受信機ロジック102に流れている。
【0066】
DMAヘッダ比較レジスタおよびロジック110ならびに優先順位符号化器128は、入力されたパケットが受領されてGRF80にロードされるべきものであるかを判断するのに必要なロジックを実行する。図3は4つのDMAチャンネルをを示しており、5つまたはそれ以上のDMAチャンネルも本発明の範囲内である。各DMAヘッダ比較レジスタおよびロジック110は1つのDMAチャンネルを担当するように割り当てられている。1つの比較器はWD0フィールド選択レジスタ122、WD1選択レジスタ126、WD0比較値レジスタ120、WD1比較値レジスタ124および比較等時間間隔ロジックを含む。2つのフィールド選択マスクレジスタは入力パケットのWD0およびWD1内のビットフィールドを特定し、これは予想される値と比較器ロジックによって合致される。2つの比較値レジスタは予想されるビットパターンを特定し、これは入力パケットのワード0およびワード1内の選択されたビットフィールドに対して合致される。優先順位符号化器128はDMAチャンネル合致表示を各DMAヘッダ比較レジスタおよびロジック110から収集し、入力パケットを特定のDMAチャンネルに写像するためのビットコードを生成する。OR論理回路129はDMAヘッダ比較レジスタおよびロジック110からの選択表示を組み合わせて、IEEE1394受信機ロジック102に対して単一の比較器合致表示を生成する。IEEE1394受信機ロジックはDMAチャンネル番号、そして比較器合致表示を使用して入力パケットをGRF80に受け入れるべきかの判断を行う。
【0067】
本実施例に於いて、DMAパケット処理装置は全てが同時に実行される独立のDMAチャンネルとして動作する。実際に実現する場合は1つの主制御状態機械を用い、これが複数のDMAチャンネル(例えば、5つのDMAチャンネル)の間で多重時間分割する。優先順位監視等時間間隔(superisochronous)ロジックは、全チャンネルの現在の内容を連続的に調べそのチャンネルに対して保留中の機能の中の最高位の優先順位を割り当てて、状態機械が実行するようにする。DMAチャンネルはリセットの後静的状態に初期化し、この状態でパケット制御リスト開始アドレスレジスタに書き込まれるべき有効PCLポインタ、ならびにDMA制御レジスタに設定されるべきチャンネル可能化およびリンクビットを待っている。有効PCLポインタはパケット制御リスト開始アドレスレジスタのビット零の状態で判断される。1は無効アドレスを示し、0は有効アドレスを示す。続いてDMAはパケット制御リスト開始アドレスレジスタで指し示されるアドレスに行き、新たなアドレスを取ってきて、有効の場合はこれを現PCLアドレスとして実行を開始する。
【0068】
もしもこのアドレスが無効の場合は、リンクビットがDMA制御レジスタ内で消去され、DMA停止割り込みが、このチャンネルに対して割り込み状態レジスタ内の関連する状態と共に生成され、チャンネルは動作停止状態となる。この機構はPCLメモリ構造上の健全性チェックを提供し、同様に次のアドレスリンクが喪失された場合にチャンネルPCL実行を継続する比較的簡単な方法を提供する。有効な次PCLアドレスが検出されると、DMAはDMA制御レジスタ内にBUSYビットを立てPCLオフセット部の第一制御ワードを取ってくる。続いてその命令が受信か、送信か、PCLとローカルバスのどちら向きであるか、または補助命令であるかの判断をするためのチェックが行われる。優先順位符号化器128から、どのDMAチャンネルが合致しているかに依存して、合致を有する最高位の優先順位を持つチャンネルが、選択されるべき特定のDMAチャンネルを同定する。
【0069】
図5は本実施例に基づく、指定されたDMAチャンネルヘッダ比較ロジック120の動作の更に詳細を示す。例えば、ワードWD0,WD1を含む受信データはヘッダ比較ロジック120に入る。これはワードWD0のコードセグメント134を含み、これは行き先ID比較ロジック136に送られる。WD0の一部138は転送コード比較ロジック140へ送られる。WD0の一部142は比較ロジック144に送られ、WD0ビット15:6および3:0が比較される。更に比較ロジック146はWD1の一部148として示されているビット31:16を受信する。行き先ID比較ロジック136からの比較ロジック出力、転送コード比較ロジック140、WD0ビット3:0とWD0ビット15:6に作用する比較ロジック144、同様にWD1ビット31:16に対する比較ロジック146出力はAND機能150へ入力される。AND機能150の出力はチャンネル選択出力[x]であり、これはチャンネル選択[0]からチャンネル選択[N−1]であって、先に説明したように優先順位符号化器128はこれを受信してDMAチャンネル選択信号130とアドレス合致信号132とを生成する。
【0070】
図6、7、8および9はDMAチャンネルヘッダ比較ロジック120へ送られる受信データビットの詳細を示す。特に図6は非同期ヘッダ162の[7:4]を含む転送コード160を示す。同様に転送コードビット164は等時間間隔ヘッダ166のビット[7:4]を形成する。指定されたDMAチャンネルに於いて、合致データの組168はヘッダWD0162に対応するWD0合致データヘッダ170とヘッダ166に対応する選択合致データ組172とを含む。図6に示すように、[7:4]比較ビット174は比較選択WD0172の[7:4]ビット176で変更されて、受信ヘッダWD0ビット[7:4]に対する合致結果を判定する。この比較等時間間隔の出力は、その他の部分比較等時間間隔結果とANDが取られ、特定DMAチャンネルに対する合致値117を決定する。
【0071】
図6は特定フィールドに関する、考えられるターゲットデータ値配列を示す。本発明は受信データを一度に1つのフィールドで取り込み、比較ワードと選択ワードとを設定して特定の結果を受け取るために考えられる方法を示すように試行する。特に、図6は転送コード160フィールドに関する同時比較を示す。転送コード160または転送コード164の1つは演算コードを提供し、これは受信データバス16および1394シリアルデータ上のデータ型式を、等時間間隔または非同期データとして識別する。図6に示す例では、転送コードは同一フィールドに存在する。この同時比較は非同期ヘッダおよび等時間間隔ヘッダの両方に同様に働く。等時間間隔および非同期ヘッダを復号するのに異なる方法もあるであろう。それらは図示される様なものであっても良いし、または互いに統合することも可能である。実際のコーディングは様々であろうが、その動作は最終的に比較するかしないかと言う点で同様である。
【0072】
図7は非同期ヘッダ162の[3:0]ビット178および[15:8]ビット180、同様に等時間間隔ヘッダ166の[3:0]同期ビット182および[15:8]チャンネルビット184を強調している。ヘッダWD0の[3:0]ビット、一次ビット178または同期ビット182のいずれかは、172で示す比較選択WD0の[3:0]ビット188で修正された、170で示すWD0の[3:0]ビット186と比較される。更に170で示すヘッダWD0の[15:7]ビット、非同期ヘッダ162の[15:7]ビット180または等時間間隔ヘッダ166の[15:7]ビット184のいずれかは、172で示す比較選択WD0の[15:7]ビットで修正された、170で示す比較WD0の[15:7]ビット190と比較される。図7で生じるこれらの合致判定の結果は回路110の比較ロジック144のWD0ビット[3:0]および[15:7]に相当する。
【0073】
図8は更に別の同時比較を示し、DMAチャンネル比較ロジック110の行き先ID比較ロジック136に対応している。非同期ヘッダ162は行き先IDビット[31:15]を含み、これは参照番号200で表されている。これらの同一ビット位置、166で示すヘッダWD0の[31:16]ビットはデータ長ビット[31:16]を含み、これは等時間間隔データパケットに対する参照番号202で表されている。同様に、個々のリンク層制御レジスタ92のビット[31:16]、ここでは参照番号204で示されているものは、ノード番号とバス番号データとを含む。図8は162で示す非同期受信ヘッダWD0、または166で示す等時間間隔受信ヘッダWD0が、データセット172ビット208に従って変更されたデータセット170ビット206の[31:16]ビットと合致するかの同時比較を図示している。合致データセット210は行き先IDセットビット212としてビット[15:11]を含む。図8で実行される同時比較に基づいて、DMAチャンネル番号がロジックブロック146の中で導き出され、これはDMAチャンネル比較ロジック110のAND機能150へ送られる。
【0074】
非同期ヘッダWD0の上位ビット[31:16]に、IEEE1394標準が行き先識別子を取り扱う方法であるため、特別な意味を持たせることが可能である。例えば、IEEE1394符号化はブロードキャスト形式のメッセージを異なるヘッダに指定する。受信機ヘッダに関しては、比較ワード0とビット選択ワード0とがあって、これによって特定の受信ヘッダワードを選択することが可能である。加えて、比較選択ワード1[15:11]212内の各ビットは、個別に特定行き先ID同時比較式を選択する。
【0075】
図9は非同期ヘッダ162を示し、これは発信元IDビット[31:16]を220に含む。等時間間隔ヘッダ166内のこれらのビット位置222は変数データの一部である。WD1比較ロジック146内で、DMAチャンネル120は、226で示す比較選択ワード1ビット[31:16]に基づいて変更された合致データセット170のビット16〜31を220または222で示すヘッダWD1ビット[31:16]と比較する。
【0076】
図10はレジスタ書き込み回路250を示し、任意の個数のデータレジスタビットを一回のレジスタ書き込み操作で書き込むためのものである。回路250は任意の個数の同様な回路の内の1つを図示する。各回路は任意の数のデータビットの内の1つの特定ビットを制御する。レジスタ書き込み回路250に於いて、汎用I/O(GPIO)書き込みデータ入力252はデータフリップフロップ254に接続されている。データフリップフロップ254はまたクロック信号256およびAND機能260からの書き込み可能入力258も受信する。AND機能260はGPIOアドレス了承信号262、書き込み標準信号264およびGPIOアドレスビット入力266を入力とする。AND機能260はデータフリップフロップ254の書き込み可能ビット268に書き込み可能出力258を供給する。個々の指定されたアドレスビット266がa1のフリップフロップ254のみにそれぞれのGPIO書き込みデータ252が書き込まれる。
【0077】
レジスタ書き込み回路250はレジスタ内で変更しなければならないビットのみへの書き込みを可能とし、残りのビットの前回値は保存する。レジスタ書き込み回路250はまた、ソフトウェアが重要なビットを、読み出し、指定、または特定の動作に関係しないレジスタビットに操作することなく変更出来るようにしている。
【0078】
レジスタのアドレスが存在する場合、そこに対して書き込み可能ビット258、1から4のGPIOがアドレスフィールドに基づいて書き込まれる。[GPIO]アドレス番号入力266内のAxはこの書き込みの基本となるアドレスビットを表し、このビットに対して書き込みを行うか否かの判断を行う。書き込みストローブ264はこれが書き込み操作であることを告げる。GPIOアドレス了承262は全レジスタに対しての基本的なアドレス復号信号である。フリップフロップ250への書き込み可能入力258はAND機能の出力である。書き込み可能がアクティブの時、入力書き込みデータ252がフリップフロップ254に書き込まれ、フリップフロップ出力270に出現する。
【0079】
図11はアドレスフィールド272を示し、これはGPIOレジスタアドレスビット274および個別ビット選択フィールド276アドレスビットA0,A1,A2,およびA3を含み、これはアドレスフィールド272内の関連するビットの値、0または1に基づく。アドレスフィールド272の最後の二つのビット278は通常零の値と考えられる。アドレス272の中で最下位の2ビットは零値と仮定されているが、これはバスアーキテクチャの要請である。次のA0,A1,A2,およびA3と指定されている4ビットは、個別にまたは異なる組み合わせで4ビットのアドレス指定を可能としている。より高位または最上位ビットは、この個別の機能に対して特定または割り当てられている個別のアドレスである。従って固定のビットパターンの組み合わせが存在し、与えられたGPIOアドレス値のアドレス指定をして、特定のアドレスを選択する。その結果0000から1111まで(すなわち、16の異なる可能な組み合わせ)のアドレスの全配列がアドレス指定出来る。
【0080】
DMA優先順位選択器は、PCIデータ移動に対して最も緊急の必要性を有するチャンネルの内容を起動するための責任がある。DMAは主状態機械(dma_fsm.v)として構成されており、これは選択されたチャンネルの状態を実行する。選択されたチャンネルは同時に任意のひとつの点の格納された条件の番号を有する。これらの格納された条件はそのコンテクストと呼ばれる。チャンネルのコンテクストの一部は、主状態機械で実行されているその現在の状態である。
【0081】
状態機械はいくつかの空回り状態を有し、この状態ではチャンネルの実行を継続できるある種の条件が成立するまで待たなければならない。1つの明らかな場合は、有効PCLアドレスがロードされるまで、チャンネル可能ビットが設定されるまで、またリンクビットが設定されるまでチャンネルがアイドルまたは待機する時である。別の場合は、受信チャンネルが受信FIFO内のデータを待つ時である。もしも1つのチャンネルが受信データを待っていて、別のチャンネルは送信FIFOにデータ転送の準備が出来ている場合は、われわれはその転送を行わせる必要がある。この種のシナリオは多くの事例で生じる。
【0082】
これらの空回り状態の一つは”機会の窓”を表し、ここでは別のチャンネルの処理が実行される。優先順位選択器はこれらの考えられる全ての空回り状態を監視し、どの状態およびチャンネルがその時点で最高位の優先順位を有するかを選択する。
【0083】
図12は環境300内で処理されるDMA命令の一例を示す。図12に於いて、PCIレジスタ書き込みデータ302はマルチプレクサ304に入力される。マルチプレクサ304にはまたDMAレジスタ書き込みデータ306も入力される。適切なデータ源が、実行される操作に基づいて308で選択される。マルチプレクサ304の出力はDMAレジスタ310に入力され、図では例としてチャンネル0からチャンネル5までの6チャンネルを含むように図示されている。各々のチャンネルに関して、DMAフィールドは前回アドレスまたは暫定フィールド312、現PCIアドレスフィールド314、データバッファアドレス316、状態320、命令322、現状態324、準備完了ビット326を含む。DMAレジスタ書き込み調停選択回路328はまたDMAレジスタ310への入力を提供しており、これはPCIスレーブ信号330、PCIマスタ信号332、DMAPCIマスタ周期入力334およびスレーブ終了入力336に応答する。DMAチャンネル調停器340はロックチャンネル入力342を受信し、マルチプレクサ346への入力を提供する。スレーブレジスタ読み込みアドレス入力348はマルチプレクサ344の動作を制御する。DMAレジスタ読み取りデータ出力350はDMAレジスタデータをPCIインタフェースに戻す。マルチプレクサ346はその出力をDMA状態機械次回状態ロジック352に提供する。DMA状態機械次回状態値354は状態レジスタおよびその他の出力レジスタにマルチプレクサ304を経由して戻って書き込まれる。DMA命令処理環境300からの出力はFIFO読み取り、書き込み、および選択信号356ならびに多数の信号を含む。
【0084】
DMAチャンネル調停器340はどのチャンネルが実行されるべきかを制御する。この調停はFIFO358からの例えば”FIFO動作中チャンネルがデータを要求”および”FIFO動作中チャンネル”同様にどのFIFOがデータ転送準備完了状態でまたどのチャンネルが可能化されていて動作中であるかの信号に基づいて行われる。
【0085】
DMAレジスタ310は制御と状態レジスタの設定とを実行して、各DMAチャンネルの制御と状態の監視とを行う。DMAレジスタ310は各DMAチャンネルの多数の機能をサポートする。例えば、前回パケット制御リスト開始アドレス/暫定レジスタ312は非同期転送中に待ち行列を処理するとDMAエンジン74で更新されるレジスタを提供する。これはまた補助命令がデータをロードおよびストアする際の一時待避レジスタとしても使用される。パケット制御リスト開始アドレスレジスタ314はアプリケーションソフトウェアによって初期化され、PCLチェイン内の最初の(ダミー)PCLの開始点を指定する。DMAエンジン74はこのPCLにロードされた次アドレスを使用して最初の実PCLにリンクする。パケット制御リスト開始アドレスレジスタ314は、PCLが処理されると動作中のDMAチャンネルによって更新される。DMAバッファ開始アドレスレジスタ316には、動作中のDMAチャンネルがPCLを処理する際にPCLから取り込まれたデータバッファポインタがロードされる。DMA状態レジスタ320はこのPCL中に転送されたビット数の進行中の計数値を格納し、また転送の完了状態を含む。PCLの処理が完了した後、動作中DMAチャンネルはこのレジスタの状態情報をPCL内のオフセット0xCの場所に書き戻す。
【0086】
DMA制御レジスタ322は制御ビットを含み、アプリケーションソフトウェアがDMAチャンネルの動作を可能化または不能化して、リンクを張るためにPCLの次アドレスを再取り込み出来るようにしている。DMA制御レジスタ322はデータバッファ転送制御、転送ビット計数値、およびPCLから取り込まれた命令を格納する。DMA準備完了レジスタ326の最下位ビットはDMAチャンネルがXMT,RCV,LOAD,STORE,STORE0またはSTORE1命令の実行を継続する前に準備完了状態まで待機させることができる。この準備完了状態はPCLの制御ワード(1つまたは複数)で選択される。DMA準備完了レジスタ326の最下位ビットはBRANCH命令の実行中に、DMAチャンネルの条件付き分岐を可能とする。この条件はPCLの制御ワード(1つまたは複数)で選択される。現DMA状態レジスタ324はDMAチャンネルの状態ベクトルを格納する。このレジスタはDMAチャンネルの動作時間中に更新され、チャンネルが停止する直前に生成された最後の状態ベクトルを保持する。
【0087】
DMAレジスタ310はまた受信パケット計数値レジスタ(図示せず)を含むことも可能であり、これは現在受信されているパケット計数値を含む。DMAエンジン74はこのレジスタにGRF80トークンワード内を通過した受信パケット計数値をロードする。この計数値はそのデータがPCIバス24に転送される毎に減数される。また、DMAグローバルレジスタ(図示せず)を含むことも可能であり、これは状態機械が非同期転送パケットの実行を追跡する際に使用する、状態フラグを含む。このDMAグローバルレジスタはキャッシュラインサイズレジスタと共に使用される下限ビットを格納し、PCIマスタが要求するバーストサイズを決定する。
【0088】
図21はセクション135で静止状態にリセットされた後DMAチャンネルが初期化される様子を示す。各DMAレジスタ310は有効PCLポインタがパケット制御リスト開始アドレスレジスタ314に書き込まれるまで待機し、チャンネル可能化およびリンクビットがDMA制御レジスタ内に設定される。有効PCLポインタは現パケット制御リスト(PCL)アドレスレジスタの第0ビットで判断される。値が1の場合は無効アドレスを表し、値が0の場合は有効アドレスを表す。次にDMAは現PCLアドレスレジスタ開始アドレスレジスタで指定されたアドレスへ行き、次PCLアドレスを取り込んで、もしも有効であればこれを現PCLアドレスとして実行を開始する。もしもこのアドレスが無効の場合は、DMA制御レジスタ内のリンクビットが消去されて、DMA停止割り込みがこのチャンネルに対して生成され、同時に割り込み状態レジスタ内にも関連する状態が生成され、このチャンネルは停止される。この機構はPCLメモリ構造の健全性チェックを提供すると同時に、次アドレスリンクが喪失した場合(すなわち無効状態)に比較的簡単にチャンネルPCL実行を継続する方法を提供する。DMAエンジン74が有効な次PCLアドレスを検出すると、DMAエンジン74はDMA制御ならびに状態レジスタ76内部にBSYビットを設定し、適切なPCLのワードを取り込む。次にチェックを実施して、その命令が受信、転送、PCIとローカルバスとの間のどちら向きであるか、または補助命令かの判断を行う。
【0089】
図21は続いてセクション137でDMAエンジン74がGRF80内の等時間間隔および非同期データの受信操作をする様子を図示している。DMAエンジン74は待機状態が存在するか否かを見るためのチェックを実行する。待機状態がもはや存在しない場合、処理装置はデータ移送フェーズに入る。ここで、DMAエンジン74はループに入り、現在転送計数値が零となっているかのチェックを行う。その場合は、これがPCLバッファリストの最終データバッファであるかを確認するためのチェックが行われる。もしもこれが最終バッファでしかも特殊制御トークンワードをGRF80内に書き込む事によるパケット境界の表示が、リンク層制御ロジック90によってなされていない場合は、エラーが発生するがこれはバッファが保持できるより多くのパケットデータが転送されることになるためである。この場合、PKT ERRビットがDMA制御ならびに状態レジスタ76にセットされDMAエンジン74は残りのデータをパケット境界まで流し込む。もしも現在転送計数値が零まで減数されていて、PCLリスト内に別のバッファが存在する場合は、DMAエンジン74は新たなバッファアドレスと転送計数値とを獲得し転送を実行する。
【0090】
データをGRF80からPCIインタフェースロジック70へ移動させる一方で、DMAエンジン74はGRF80が十分なデータを持つまで待って、PCIバスマスタに転送実行要求を行う。この転送閾値に達するのは、1つまたは2つの条件が合致する場合である。DMAエンジン74は受信FIFO内のビット数が”高水位マーク”に達した際にPCIマスタに転送要求を行う。この高水位マークはキャッシュラインレジスタ以上かまたはDMAグローバルレジスタの下位境界フィールドに等しい。
【0091】
DMAはパケットのデータサイズの情報をリンクから得るが、これはパケットが最初にGRF80の中にリンク層制御ロジック90によって書き込まれた時である。この転送計数値を用いてGRF80内のデータがパケット内の残りのデータであるかを判断し、もしもそうであってそのサイズが高水位マークよりも小さい場合は、その転送計数値がこの残り部分に等しいPCIマスタロジック64の転送を要求する。DMAエンジン74がデータを転送する一方で、DMA制御ならびに状態レジスタ76内のデータバッファ開始アドレスレジスタおよびデータバッファ転送長ビットが、転送の現在状態を反映するように更新される。
【0092】
図22および図23のセクション139が示すように、リンク層制御ロジック90がパケットの最後に遭遇すると、これは特殊制御トークンワードをGRF80に書き込み、パケットの終わりを記す。この制御ワードに組み込まれているのは状態ビットであって、これはバス上でのパケットの完了状態を表示する。DMAエンジン74はこのパケットの終了印を用いてGRF80からPCIバス24へのデータ転送を終了する。もしもパケットの終了印が、IEEE1394ビジー肯定確認信号が存在することを示している場合は、DMAエンジン74はPCLの最初のバッファアドレスと転送計数値とを再獲得しパケットの全体の転送を開始する。ビジー肯定確認状態がパケットの終了印から表示されていない場合は、DMA制御ならびに状態レジスタ76はパケットの終了印の中にリンク層制御ロジック90から通過された肯定確認状態がロードされ、パケット完了ビットがセットされる。次にパケット完了状態がPCL状態ワード内メモリに書き込まれ、割り込み信号が発せられて割り込み状態レジスタ内の対応するビット内にラッチされる。もしも命令が受信および更新命令であった場合は、残りの転送計数値および次バッファアドレスが適切なPCLオフセットに書き込まれる。
【0093】
図13は表360を図示し、DMAチャンネル調停回路340の動作を示している。表360はもしもチャンネルがIEEE標準1394バス上で現在動作中の場合は、そのチャンネルはDMAチャンネル実行スケジュールの中で最上位の優先順位を持つことを示している。そうでない場合は、チャンネル優先順位はチャンネル番号順であり、0が最も高い優先順位を持つ。”無視”値には値”X”が362部分に割り当てられている。これはその他の値がどうであっても、現在動作中のチャンネルが最も高い優先順位であることを意味している。すなわちチャンネルは早い者勝ちでスケジュールされる。
【0094】
DMA命令処理の動作を下記の例で示す。DMAが現在チャンネル3で動作していると仮定する。従って、チャンネル3に対する全てのレジスタはDMA内のマルチプレクサ346経由で選択されている。DMAはレジスタの個々のスライスを選択してDMA状態機械上の現在状態および次状態ロジックに出現させる。
【0095】
図14は本発明のパーソナルコンピュータ環境12の簡略化された図を示し、これは自動ブート機能370を含む。PCIインタフェースASIC20のピン370は自動ブートPCIインタフェースASIC20への直接入力を提供する。結果としてPCIインタフェースASIC20は参照番号30のPCI機器#1、参照番号31のPCI機器#2に対してPCIバス24を通してホスト機器として動作する。PCIインタフェースASIC20に対する自律動作命令はRPL ROM36およびSRAM38を使用するはずである。更に、インタフェースバス16を通してPCIインタフェースASIC20は物理層インタフェース18と通信を行う。
【0096】
自動ブートピン370が動作中(すなわち持ち上げられている時)、本発明の自動ブートモードが選択される。自動ブートモードは多くの特徴を可能とし、これはPCIインタフェースASIC20を自律的に機能させる。自律動作は次の機能を含む、電源リセット後、DMAチャンネル0を使用して最初のパケット制御リストのアドレスを取り込む。また、電源リセット後、自動ブートモードはDMAマスタが外部RPL ROMにアクセスすることが出来るようにする。更に、電源リセット後、自動ブートモードはDMAマスタが内部リンクレジスタにアクセス出来るようにする。
【0097】
一度PCIバス24上でマスタとして可能化されると、PCIインタフェースASIC20はPCI構成、入力/出力、およびメモリ読み取りおよび書き込み命令をPCIバス24に発して、パケット制御リストを制御する際の適切なアドレス範囲を特定する。自動ブートモードの動作中、外部PCIアドレス空間は30ビットに制限される。最上位の2つのアドレスビットの値は常に0である。内部的にこれら2ビットはPCI命令を選択するために使用される。
【0098】
自動ブートピン370の状態は診断目的で、その他の制御レジスタ内の特別ビットから読むことができる。選択された自動ブートモードおよび外部ROMを用いて、本発明はPCIインタフェースASIC20をローカル処理装置として動作させ、全ての内部PCIインタフェースASIC20レジスタをセットアップし、PCIバス24上のその他の機器を初期化しそしてその他の複数のPCLを構築して連結することが可能である。種々のDMAチャンネルはこれらのPCLを実行してIEEE1394バス上でデータ転送を行わせることが可能である。
【0099】
外部ローカルバスRAMをPCIインタフェースASIC20に追加することにより、PCIスレーブメモリがPCIバス24上の機器に具備され、制御情報の獲得が行え、またデータ転送用のローカルメモリを持つことができる。PCLプログラムは機器制御/データをIEEE1394経由でその他のシステムに転送することが出来る。従って、本発明の自動ブートモードを採用している環境は、PCIインタフェース環境を管理する適切な処理装置を利用できない周辺機器で使用することができる。
【0100】
図14の回路は外部ピン経由でチップに対して別の動作モードを提供する。その効果はメモリマップの一部を可能化および事前指定して電源投入時にDMAエンジン74がアクセス可能な資源を十分に確保し、全ての要求された機能が十分に有効に働くようにすることである。また、その効果はDMAエンジン74の動作を変更して、DMA機械が特定モードの時に機械が動作停止となる代わりに専用のROMから新たな命令を要求するようにすることである。
【0101】
DMAエンジン74が動作中となり、命令を得るために或るアドレスを獲得する。これによりPCIインタフェースASIC20が単独独立モードで動作することが可能となる。これはまたPCIメモリ命令、およびPCIインタフェースASIC20からの全ての入力/出力命令の生成を可能とする。
【0102】
自動ブートピン370を使用することにより、本発明はROMおよびRAMに基づくアドレスレジスタのアクセスおよび初期化を可能化することにより、電源投入メモリマップの再構成を可能とする。これによりDMA機械が電源投入後に読み取りおよび書き込みアクセス出来るようになる。更に、本発明は自動ブートモードが選択された際のDMAエンジン74の挙動を変更する。これにより電源投入時に専用ROMアドレスから新たな命令を獲得することが出来るようになる。初期アクセスアドレスは本実施例ではまさに0である。本発明は更に通常の環境では要求されないバス命令およびプロトコルを生成する方法をも提供する。
【0103】
DMAエンジン74は自動ブートオプションが選択された際に、RPL ROM36から命令を獲得して実行することができる。これにより、DMAエンジン74が外部PCIバス上のマスタ機器として動作するために要求される命令を生成して、この外部バス上のその他のPCI機器を構成し、初期化しそして管理できるようになる。
【0104】
図15の表380は、自動ブート入力370が作動された際の、内部PCIアドレスバス[31:30]ビットのPCIバス上の命令への写像を示す。例えば、ビット31の値が0でビット30が任意の値の時、PCIメモリ命令が動作される。その後、アドレスビット31の値が1となり、アドレスビット30の値が0となると、PCI入出力命令が生じる。アドレスビット31の値が1で、かつアドレスビット30の値が1の場合、PCI構成命令がPCIインタフェースASIC20へ送られる。
【0105】
図16は、本発明のひとつの特徴に基づくローカルバスインタフェースブロック390の図を示す。ローカルバスインタフェースブロック390はローカルバス構成レジスタ392、ZV機械396と通信を行うズームビデオ(ZV)復号インタフェースブロック394とを含む。パック/アンパック状態機械398はアドレス/データ/ビット可能化保持レジスタ398を含む。ローカルバスインタフェースブロック390はまたローカルバスインタフェース状態機械400とスレーブ肯定確認割り込みブロック402とを含む。
【0106】
図2のZVポートは、IEEE1394標準バスからPCIインタフェースASIC20上の外部機器へデータを転送するための出力専用ポートである。正しくプログラムされると、ZVインタフェースロジックはIEEE1394ディジタルカメラパケットを受信し、そのペイロードを外部ZV適合機器に適切な制御信号と共に転送するための方法を提供する。
【0107】
ZV復号回路394は第三PCIメモリ準拠アドレスレジスタの副セット経由でアクセスされる。ZV復号回路394が可能化されると、補助アドレスの0xF000と0xFFFFの間がZVポートに写像される。ZVポートは6つの利用可能クロック源395の内のひとつがZV画素クロックとして選択された際に可能化される。もしも6つのクロックのいずれも選択されない場合は、ZVポートは不能化され、補助インタフェースは全アドレス空間を要求する。ZVポートが不能化されると、全てのZV関連出力はデータバスを除き中立状態となり、データバスは補助、RAMおよびROMアクセス中に駆動される。
【0108】
ZVポートで、IEEE1394等時間間隔パケットヘッダ同期フィールドが0x1に等しいと検出されると垂直同期信号が生成される。本実施例に於いて、データビット24は重要な同期フィールドデータを含む。この垂直同期ビットを検出すると、垂直同期出力が生成される。フレームの残り部分に関しては、ビデオデータをズームポートに転送する際に特別のアドレスがアクセスされる毎に水平同期出力が生成される。パケット制御リストを適切にプログラムすることにより、全てのIEEE1394ディジタルカメラパケットがZVポートを経由して転送出来る。
【0109】
図17は本発明の同期検出回路405のひとつの実施例を示し、これは垂直同期検出信号407と水平同期検出信号409を生成するためのものである。PCIスレーブアドレスビット[15:0]の値が0xF000と仮定され、スレーブデータビット28がバイナリ値の1と仮定される時には、比較回路411および413は信号をANDゲート415に送る。これは垂直同期検出信号を線407上に生成する。同様に、スレーブアドレスビット[15:0]が0XF004を比較回路417に送ると、水平同期検出信号が線409上に出現する。
【0110】
図18は本発明に基づくパケットズームポートアドレスマップ410用の1つのビデオ走査線を示す。ズームポートアドレスマップ410はアドレス0XF000で始まる等時間間隔パケットヘッダ412と、参照番号414から424で詳細に示されるアドレス0XF004で始まり0XFFFFで終了する等時間間隔パケットデータ空間を含む。各々の等時間間隔パケットはズームポートアドレス空間に、アドレス0XF000に転送されるヘッダクウォドレットと共に転送され、第一データペイロードクウォドレット428はアドレス0XF004に転送され、パケット内の残りのクウォドレットは順番通りのアドレスにパケットペイロードデータの終わりが、パケットNクウォドレット長の場合はアドレス(0XF000+(N−1)))に達するまで転送される。
【0111】
図18は本発明が、ソフトウェアの支援を受けずにハードウェアが管理するウィンドウの中にビデオ画像表示を自律的に表示出来ることを示している。本発明は生データをIEEE1394バス上に送出し、ズームポートの中にビデオ制御器チップに入力データとして入るのと互換性のあるフォーマットで流し込むことを可能としている。これは水平および垂直フレーム同期を維持しながら自律的にデータを表示することを可能としている。
【0112】
動作中、ズームビデオポートはあるアドレス空間の中に写像されている。ヘッダはフレーム同期情報または信号を含む。正しい制御構造を構築することにより、ヘッダパケットデータを、ロジックがあるフィールドを探すアドレスに基づく特定アドレスに転送する。IEEEP1394ディジタルカメラ仕様に適合するソニーカメラの場合、等時間間隔ヘッダ同期フィールド内のビットはビデオフレームの開始位置を示す。この特定の等時間間隔ヘッダ同期フィールドビットを復号する事により、垂直同期信号が生成される。この情報を使用してズームポートデータのズームポートへの受信の同期を取ることができる。
【0113】
これを実現するのに2つの場合がある、1つは水平同期、そしてもう1つは垂直同期である。垂直同期に関しては、復号に際して特定アドレスと特定等時間間隔ヘッダ同期ビットが必要である。水平同期は別の特定アドレスを復号することにより生成される。
【0114】
本発明のビデオズーム機能は水平または垂直同期信号の様な制御情報を、符号化されたビデオの様な組込型制御情報を含むパケット化されたデータから、自律的に抽出する機能を提供する。同時比較ロジック411および413は、特定データ値で指定された行き先アドレスへの転送を検出する。
【0115】
本発明はまたパケットデータの異なるセグメントに対して適切な行き先を指定するための、ソフトウェアまたはハードウェア制御構造を提供する。DMAアーキテクチャは、特定のパケットを異なる行き先アドレスに異なる長さに分解して収集または配送することが可能としている。従って、本発明はヘッダフィールドを特定のアドレスに書き込みまた、データフィールドを別のアドレスに書き込む事が出来る。この特徴を利用して本発明はPCIインタフェース機器のどの部分がどのアドレスを見るかを制御出来る。
【0116】
本発明は更にプログラム可能計数器を提供し、これは特定アドレス位置そして/またはデータパターンへの多重アクセスを行う基本制御信号を生成するために使用される。これは計数器を使用することで水平走査線毎にまたは水平同期の間に多重パケットを与えるというオプションが生じる。従って、垂直同期の直後に水平同期信号が生成される。これはシステムが特定アドレスを通過する回数を計数する事を可能とする。システムは例えばそのアドレスを4回繰り返した後にのみ別の水平同期信号を生成するように出来る。これにより特定のカメラ、解像度などに従って4つのパケットを水平走査線にまとめることが可能となる。
【0117】
図19は、単一ビデオパケットを複数のビデオ走査線にズームポートアドレスマップ410を用いて写像する手順を示す。ズームポートアドレスマップ410は等時間間隔パケットヘッダ412を含み、これは等時間間隔パケットデータ414に隣接している。メモリ空間416から424は図17で説明したものと同様である。ズームビデオ等時間間隔パケット440はヘッダクウォドレット0を含み、これは等時間間隔ヘッダ同期フィールド内にフレーム開始ビットを含むはずである。クウォドレット1は第一ビデオデータペイロードクウォドレットであり、これはビデオ走査Aの開始部分を含む。水平同期信号はこのクウォドレットをアドレス0XF004に書き込むことにより生成される。同様に、データクウォドレット442をアドレス0XF004に書き込むことは水平同期を生成することによりビデオ走査A+1の開始部分を示す。0XF000から開始され[0XF000+(N−1)]まで続くデータの書き込みは、ズームビデオポートを通って出力される実際のデータ、すなわちズームデータである。ヘッダは取りはずされるのでデータフィールドの一部とはならない。
【0118】
従って、この場合垂直同期と水平同期とをビデオフレームの第一パケットに対して生成する。後続のパケットはビデオフレームヘッダの残りの部分を埋める後続の走査線を意味するが、これらのヘッダは同期フィールドは含まない。データの流れは全てのパケットに対して同一であり、各々そこにヘッダが存在する点0XF000から開始され、もしも同期ビットがヘッダ内に存在しない場合、垂直同期ビットは設定されない。もしもF004に書き込まれた時には水平同期が生成される。これは走査線の開始を生成し、これにより残りのデータが走査線の一部として流れ出る。
【0119】
更に多重の走査線がパケット毎に存在する状況もある。これを取り扱うために、パケット制御リストが使用される。
【0120】
本発明のDMAエンジン74はパケット制御リストまたはPCLと呼ばれるデータ構造により制御される。PCLは命令情報を含み、これをDMAは必要に応じてメモりから取り出す。これらの命令はDMAに対してデータの発信元と行き先、ならびにどれだけのバイト量が転送されるかを告げる。いくつかの命令はデータの塊をIEEE1394転送FIFOとPCIバス24との間、または汎用受信FIFO80とPCIバス24との間で移動させる。別の命令はデータをPCIバス24と補助ポートローカルバス26との間で移動させる。その他の命令は二次機能であって補助命令と呼ばれる。これらの補助命令はDMAが任意のPCIアドレスに対して指定されたデータのクウォドレットをのぞき見たり手を入れたり出来るようにし、またPCLを使用した条件付き分岐を可能としたりする。意図している使用目的は、DMAが特別なデータの移動制御を実行したりまた、PCLを自動ブートシーケンスで構築できる単独独立処理装置として機能出来るようにする事である。この機能の全範囲が系統立てられているわけでは無く、DMAのこれ以外の使用方法もこれから展開されるであろう。
【0121】
本発明のアプリケーションソフトウェアはDMAチャンネルの動作を、ホストメモリの中に存在するPCLデータ構造を用いてプログラムする。アプリケーションソフトウェアはPCLの構築およびメモリの記憶装置への配置の任を負う。PCLはメモリ配列の連続した組として組織され、これは命令、制御パラメータ、およびデータバッファポインタを含み、これらはDMAチャンネルが1つのIEEE1394データパケットの転送する時、またはデータをPCIバス24と補助ポートローカルバス26との間で移動するとき、または1つまたは複数の補助命令を実行する際に要求されるものである。PCLから要求されるメモリ配列の総数は、今回の実現例では一般的に32クウォドレットに制限されている。
【0122】
最低限の要求として、PCL開始アドレスはクウォドレットの境界部に並べられている。DMAの性能を最適とするために、PCL開始アドレスはキャッシュライン境界上のラインであることが推奨されている。データバッファポインタは任意のバイト境界に配列する事ができる。DMA性能を最適とするために、本発明ではデータバッファポインタをキャッシュライン境界上に配列している。もしもこれが不可能な場合は、データバッファポインタをクウォドレットの境界上に配列するのが次善の方法である。PCLで指定されるデータバッファサイズの合計は、IEEE1394ビット速度が100mbpsの場合はおよそ1キロビット、またはIEEE1394ビット速度が200mbpsの場合はおよそ2キロビットに制限される。
【0123】
本実施例に於いて、動作中DMAチャンネルは命令および制御パラメータをPCLから取り込み、これらを用いてチャンネル自体を構築して転送命令を実行する。
【0124】
アプリケーションソフトウェアプログラムで、DMAチャンネルが複数のIEEE1394データパケットを転送することを、複数のパケット制御リストをPCLリスト待ち行列の中で連鎖することにより可能とする。本発明はこの待ち行列を各PCLの次アドレスフィールドを、次PCLのメモリ内の開始アドレスを指示するようにセットすることで構成している。待ち行列の最後のPCLはDMA処理を停止させるか、待ち行列の先頭に戻るかまたは新たな待ち行列を指示するようにプログラム出来る。補助命令を含むPCLはPCL待ち行列内の何処にでも組み込むことが出来るが、両方を同時には出来ない。PCL待ち行列は、受信および送信また補助命令を混在させることが可能である;しかしながら非同期転送命令は別の非同期転送命令の次に無ければならず、これはパイプライン構造の転送を行うためと、またパケットの再試行の可能性があるためである。一方、非同期転送命令内の”状態待ち”ビットを設定することにより、この要求は排除される。
【0125】
図20は本発明の実施例に基づき、複数のパケット制御リストのリンクされたリストの例を図示する。図20に於いて、PCI待ち行列450は開始アドレス452から始まる。開始アドレス452から処理の流れはダミーパケット制御リスト454に入る。ダミーパケット制御リスト454は処理の流れを転送命令パケット制御リスト456に送る。転送命令パケット制御リスト0に於いて、データバッファ計数命令およびデータバッファアドレス情報は例えばデータバッファ460,データバッファ462,データバッファ464まで行き、この例では14個のデータバッファが使用される。
【0126】
参照番号456が示す、転送命令パケット制御リスト0は、次リストアドレス466を含み、これは参照番号470で示す補助命令パケット制御リスト1へ接続される。参照番号470で示す、補助命令パケット制御リスト1はロード命令472、発信元アドレスを474に、またストア命令および位置476に含む。ロード命令472はデータレジスタ478に接続され、これはDMAレジスタ480を供給する。ストア1命令476は入力をメモり位置482に提供する。参照番号470で示す、補助命令パケット制御リスト1はまた、条件成立時の行き先アドレス484をも含み、これは条件に応じてPCI工程制御を、参照番号486で示す転送命令パケット制御リスト2に送る。参照番号486で示す転送命令パケット制御リスト2は次リストアドレス488を含み、これは参照番号490で示されるように別のPCLへ接続するためのものであり、一方データ計数およびデータバッファアドレス492は、データバッファ494に接続され、以下は同様に接続される。条件成立時の行き先アドレス484がPCI待ち行列の処理の流れを制御している場合には、次リストアドレス468は参照番号486で示す、転送命令パケット制御リスト2に接続される。この情報は次に次リストアドレスから、参照番号490で示されるように別のPCIに送られ、データバッファ0アドレスおよび計数命令情報はデータバッファ1に送られる、以下同様である。
【0127】
典型的にホストCPU44が動作する場合は、パケット制御リストとダミーの次PCLアドレスを構築するためにメモリを配列するが、これは前回PCLが存在しないからである。ダミーの次PCLアドレスはメモリ位置を提供し、これは第一完全PCL、すなわちPCL0の開始ポインタである。次にホスト処理装置は必要なPCLのリストを構築し、データ転送または補助命令のいずれかの型式、例えば実際に処理装置相当の命令を行う補助命令の操作を実施させる。
【0128】
次PCLアドレス内の空間は、エラーアドレス、予約位置、および状態を含む。次の対は制御状態、転送計数値である。そのひとつ置いて次はデータバッファアドレスである。これら2つの長ワードは1つの命令または1つのデータバッファへのデータ転送を構成する。転送例はメモリ内のデータバッファ位置を指示するバッファアドレスであって、この場所へそのデータが転送されるかまたはそこから転送される。もしもデータが連続して転送される場合には、本実施例では連続データ転送のための大きな制御ループを形成できるようにしている。
【0129】
図21から図30および以下の説明で本発明の、PCIとポートローカルバスとの間の、受信、送信、または補助操作の動作を説明する。受信操作に於いて、図21が示すようにGRF80内の等時間間隔および非同期データに対して、処理の流れは待ち状態が存在しているか否をチェックすることから開始される。図27に示すように等時間間隔送信に関して、もしもチャンネル可能化が1に等しい場合、送信機能は準備完了であり、周期開始ビットは了承となって待ち状態は存在しない。待ち状態はデータバッファ制御ワード零の待ち選択器ビットによって判定される。待ち状態が存在しなくなると、処理装置はデータ移送フェーズに入る。ここでループに入り、現転送計数値が零となっているかの確認が行われる。もしも零となっていたら、それがPCLバッファリストの最後のデータバッファであるかのチェックが行われる。もしもそのデータバッファが最後のデータバッファであり、リンク層制御器が特別の制御トークンワードをGRF FIFOの中に書き込むことによってなされる、パケット境界の表示がなされていない場合は、エラーが生じるが、それはバッファが保持出来る以上のパケットデータが転送されようとしているためである。この場合パケットエラービットがDMA状態レジスタ内にセットされ、DMAは残りのデータをパケット境界まで押し流す。もしも現転送計数値が零まで減数されたと判断され、PCLリスト内に別のバッファが存在する場合は、DMAは新たなバッファアドレスと転送計数値とを獲得し、転送を継続する。
【0130】
PCIインタフェース内の受信FIFOからデータを移動する一方で、DMAはPCIバスマスタに対して転送の実行要求を行う前にFIFOが十分なデータを持つまで待機する。この転送閾値には1つまたは2つの条件が合致すると到達する。DMAは受信FIFO内のバイト数が”高水位マーク”に達すると必ずPCIマスタの転送を要求する。この高水位マークはキャッシュラインサイズレジスタの上限値またはDMAグローバルレジスタの下限境界フィールドに等しい。DMAはパケットのデータサイズの情報を、そのパケットが最初に長さ層制御器によってFIFOの中に書き込まれた時に、リンクから取得する。それはこの転送計数値を用いてFIFO内のデータがパケット内の残っているデータかを判断し、もしもそうであり、そのサイズが高水位マーク未満の場合は、その転送計数値がこの残りに等しいPCIマスタに対して転送を要求する。DMAがデータを転送する間、DMA制御レジスタ内の転送長ビットにバッファリングされたデータ内のデータバッファ開始アドレスレジスタは、転送の現在状況を反映するように更新される。
【0131】
リンク層制御器がパケットの終端に達すると、これは特別な制御トークンワードをFIFO内に書き込んでパケットの終わりを記す。この制御ワードの中に組み込まれているのは、バス上でそのパケットの完了状態を表す状態ビットである。DMAはこのパケット終了マーカーを用いてFIFOからPCIバスへのデータの転送を終了させる。パケット終了マーカーがIEEE1394ビジー肯定確認を表している場合は、DMAはPCLの第一バッファアドレスと転送計数値とを再獲得し、パケットの転送を再度開始する。パケット終了マーカーからビジー状態が表示され無い場合は、DMA状態レジスタにはリンク層制御器からパケット終了マーカーの中に送られた肯定確認状態がロードされ、パケットの完了がセットされる。次にこれはPCL状態ワード内のメモリに、このPCLへ転送されたビットの数と一緒に書き込まれる。もしもINTビットがPCL内のデータバッファ制御/バイト計数命令に対してセットされると、割り込み信号が発せられて割り込み状態レジスタ内の対応するDMA PCLビットの中にラッチされる。もしも命令が受信および更新命令の場合は、残りの転送計数値と次バッファアドレスとがPCLに書き込まれる。次にDMAは別のPCLが現PCLにリンクされているか否かを、現PCLの次リストアドレスフィールドを取り込む事によって判断する。リンクされているPCLが存在する場合は、DMAはそのリンクされているPCLを現PCLとして実行を継続する。現PCLに別のPCLがリンクされていない場合は、DMA停止割り込みがこのチャンネルに対して関連する状態と共に割り込み状態レジスタ内に生成され、そのチャンネルはアイドリング状態となる。
【0132】
DMA非同期転送操作に関して、図24から図26に示すように非同期転送は、有効PCLポインタがパケット制御リスト開始アドレスレジスタに書き込まれ、チャンネル可能化およびリンクビットがセットされた後に判断される。非同期パケット処理装置の最終的な目的は、リンク層制御器によってFIFOからIEEE1394バスに転送される現パケットより1パケット多く、残すことである。DMAの観点から見ると、バス上のこのパケットは前回パケットである。リンク層制御器から報告される全ての状態は、この前回パケットに関するものと考えられる;しかしながら、”状態待ち”ビットをPCL内の”データバッファ/バイト計数/命令”の中にセットすることにより、このパイプライン操作が防止される。DMAは前回パケット制御リスト開始アドレスのアドレスを、前回パケット制御リスト開始アドレス/暫定レジスタ内に保持する。”前回PCL有効”と呼ばれるフラグがDMAによってDMAグローバルレジスタ内に保持され、それが格納されていた有効アドレスであるかの記録をとる。非同期チャンネルでの転送操作は待ち状態が存在するかを確認しながら遂行される。待ち状態はPCL内の”データバッファ制御/バイト計数/命令”の待ち選択ビットにより判断される。”再試行”と呼ばれるフラグがDMAによってDMAグローバルレジスタ内に保持される。DMAはこのフラグを使用して、再試行中にはこれらの待ち状態が無視されるよう、待ち状態が評価されるように追跡する。
【0133】
待ち状態が存在しなくなると、DMAはパケットの先頭を表す制御トークンをFIFOに書き込み、データ移送フェーズに入る。ここでループに入って、現転送計数値がチェックされそれが零に達しているかの確認が行われる。もしもそうである場合は、これがPCLバッファリストの最終データバッファであるかを確認するためのチェックが行われる。もしもPCL内に別のバッファが存在する場合は、DMAは新たなバッファアドレスと転送計数値とを獲得し、転送を遂行する。データを非同期転送FIFOの中にPCIインタフェースから移送する一方で、DMAはPCIバスマスタが読み取り転送を実行するように要求する前に、FIFOが十分な空きを持つまで待機する。DMAはDMA受信操作に関して定義された高水位マークと等しいビット計数値を備えたPCIマスタの転送を要求する。DMAがデータを転送する間、DMA制御レジスタ内のデータバッファ開始アドレスレジスタおよびデータバッファ転送リンクビットは転送の現在状態を反映するように更新される。
【0134】
バッファからデータの最終ビットが非同期転送FIFOへ転送され、そのバッファが制御/バイト計数PCLワード内の最終バッファビットで示されるように、PCLリストの最後である時には、DMAはパケットの終端に達したことを知る。もしも前回パケットアドレスが有効であれば、DMAは状態のチェックを全パケットが転送FIFOの中に詰め込まれるまで遅らせる。この場合、状態待ちビットがセットされない限り、戻り状態は常に前回パケットに対するものである。もしも唯1つのパケットのみが転送されるのであれば、前回および現在パケットは同一である。もしも前回パケットアドレスが有効の場合は、DMAはパケット計数器を確認する。パケットがIEEE1394バスにリンク層制御器によって転送が完了し、このパケットの状態が有効の時は、リンク層制御器はパケット計数器を減数する。DMAはパケット計数器が零となって前回パケットに対して有効状態が適用出来ることを示すまで、空転して待機する。もしも状態が前回パケットが再試行されるべき事を示す場合は、DMAはFIFOの押し流し要求をリンク層制御器に対して行い、リンク層制御器が再試行表示を取り除くことでFIFOの押し流しが完了したことを示すまで待機する。次にDMAは前回パケットに”戻って”全体の転送を開始する。再試行が発生しない場合は、DMAはDMA状態レジスタをリンク層制御器から送られてきた肯定確認状態で更新し、パケットの完了をセットし、次に完了状態を前回PCL状態ワード内のメモリに、前回PCLとは関係しないはずの現在動作中のPCLに対して転送されるビット数と共に書き込む。もしも割り込みビットがPCLの中にセットされると、割り込み信号が発せられて対応する割り込み状態レジスタビットの中にラッチされる。
【0135】
状態のチェックが終わると、DMAは特別制御トークンを転送FIFOに書き込み、パケットの終了を記す。パケット計数値は1に減数されてリンク層制御器に対してパケットの終了がDMAによって書き込まれたことを示す。現PCLアドレスが前回PCLアドレスとして保存され、前回パケット制御リスト開始アドレスレジスタおよび”前回有効”フラグがDMAグローバルレジスタの中にセットされる。次にDMAは別のPCLが現PCLにリンクされているか否かを、次リストアドレス値を取り込むことによって判断する。もしもそれが有効な場合は、DMAはこれを現PCLアドレスとし実行を継続する。もしもそれが有効でないかまたは、状態待ちビットがセットされている場合は、DMAは現パケットがリンク層制御器によって転送されるまで待機する。パケット計数器が零に減数することで示されるように、有効状態が認められる場合は、DMAはパケットがIEEE1394ビジー状態で示されるように再試行されるべきかを確認するためのチェックを行う。もしもそうである場合は、FIFOは先に説明したように押し流され転送が再度試みられる。
【0136】
もしもリンク層制御器で示されるように転送時間切れ、再試行超過、またはFIFO未達が存在した場合は、パケットエラービットがDMA状態レジスタに肯定確認状態と共に送られる。この状態はPCL内で更新される。転送時間切れまたは再試行超過の場合は、対象ノードがもはや応答しないとすることが可能であろう。DMAはこの状況を、この特定ノードへのデータのストリームを形成するPCLをスキップ出来るようにすることで解消する。ソフトウェアはPCLの次PCLストリームの入口を転送データの次ストリーム(すなわち別の1394ノードへの次非同期転送)に対する第一PCLに指定することでセットできる。もしも次PCLストリームアドレスが有効な場合は、DMAはこのPCLで実行を継続する。もしもこのアドレスが有効で無い場合は、DMAチャンネルは次PCLアドレスが無効であると印される場合に遭遇したときと同様、アイドリング状態に入る。もしもこの次ストリーム内容が使用されない場合は、この値は次リストアドレスと同じ値にセットされるべきである。もしもDMAが停止すると、DMA停止割り込み状態を通知し次PCLストリーム導入が無効となるため、次PCLストリームの再書き込みが必要となる、それはDMAが次ストリーム取得状態にあり、DMAが次リストアドレスを無視するためである。従って、常に”次リストアドレス”および”次PCLストリーム”を同一アドレスにセットすることが、もしも次ストリーム内容が使用されない場合には必要であって、それは次PCLストリーム導入を実施する全ての非同期転送チャンネルが、エラーのために宙ぶらりんになることを防止するためである。
【0137】
図28、29は上記の非同期および等時間間隔転送操作で説明したのと同様の流れ図を示すが、DMAエンジン74の補助操作に適用されるものである。
【0138】
図30に示すように、PCIからローカルバスへ、またローカルバスからPCIへの転送操作は、PCIバスとローカルバスとの間のデータ転送を制御する。PCIアドレスおよび転送されるビット数は、転送の様なその他の転送命令と同様、PCL内のPCLデータバッファ制御/ビット計数/命令ワードから導かれる。違いは転送の行き先または発信元がFIFOではなくローカルバスであることである。そのローカルバスアドレスはAUX_ADRレジスタ(ハードウェアレジスタ定義参照)から生成される。
【0139】
PCIとLOCAL間操作は待ち状態が存在するか否かを確認するチェックを行うことで遂行される。待ち状態はPCLオフセット0x18のbuf0ctl/bit_cnt/cmdの待ち選択ビットにより判断される。待ち状態がもはや存在していない場合は、DMAはループに入りここで現転送計数値が零に達したかを確認するためのチェックが行われる。もしもそうである場合は、チェックを行ってこれがPCLバッファリストの最終データバッファであるかを確認する。PCLリスト内に別のバッファが存在する場合は、DMAは新たなバッファアドレスと転送計数値とを獲得し転送を遂行する。DMAがデータを転送する一方で、DMA制御レジスタ内のデータバッファ開始アドレスレジスタおよびデータバッファ転送長ビットは転送の現在状態を反映するように更新される。
【0140】
バッファからのデータの最終ビットがローカルバスとバッファとの間で転送され、しかもそのバッファが制御/ビット計数PCLワードの最終バッファビットで示されるようにPCLリストの最後である場合、DMAは転送の終端に達したことを知る。DMAはDMA状態レジスタを0x0001の状態で更新し、PKT CMPがセットされ、そしてPCLのオフセット0xCの所のPCL状態ワードに転送されたバイト数と共に書き込まれる。INTビットがPCLオフセット0x18のbuf0ctl/bit_cnt/cmdにセットされると、割り込み信号が発せられて、割り込み状態レジスタ内の対応する(DMA_PCL[x])ビット内にラッチされる。
【0141】
次にDMAは現PCLに別のPCLがリンクされているか否かの判断を、次リストアドレス(PCLオフセット0x00)を取り込むことで行う。もしもそれが有効であると、ビット0=0によって表示されている場合は、DMAはこれを現PCLアドレスとして、図に示すように実行を継続する。もしも別のPCLが現PCLにリンクされていない場合は、ビット0=1によって表示され、リンクおよびビジービットがDMA制御レジスタ内で消去され、DMA停止割り込みがこのチャンネルに対して関連する状態(DMA_HLT[x])と共に割り込み状態レジスタ内に生成され、そのチャンネルはアイドリング状態となる。
【0142】
図31、32はFIFO高レベル機能ブロック図500を示し、GRF80、非同期送信FIFO82、および等時間間隔送信FIFO84に関するFIFO操作を説明している。本発明のFIFOロジックはリンク側クロック領域502とPCI側クロック領域504とを含む。PCI側クロック領域504、FIFO制御ならびに状態レジスタ88は実時間でPCIバスインタフェースロジックにより書き込まれる。また、FIFO制御器状態レジスタ88はポインタアドレス写像ロジック86に対して入力を提供する。ポインタアドレス写像ロジック86はFIFO読み取り書き込みポインタに対するRAMアドレス写像オフセットを生成する。
【0143】
二重ポートRAM501はGRF80、非同期送信FIFO82、および等時間間隔送信FIFO84に対するデータ格納部となり、リンク側クロック領域502とPCI側クロック領域504との間の境界部に展開している。1つのPCI側クロック領域504、クロック領域ポインタ翻訳ロジック506はDMA
FIFO占有状態ロジック508への入力を生成する。DMA FIFO占有状態ロジック508はDMAロジック信号510に対してFIFO状態を生成する。1つのリンク側クロック領域502、クロック領域ポインタ翻訳ロジック512は、1394送信受信ロジック信号516に対してFIFO状態を生成する、1394FIFO送信機および受信機占有状態ロジック514に対して入力を提供する。
【0144】
二重ポートRAM501はマルチプレクサ518およびマルチプレクサ520からアドレス入力を受信する。マルチプレクサ518は汎用受信書き込みポインタ522、非同期送信読み取りポインタ524および等時間間隔送信読み取りポインタ526から入力を受信する。汎用受信書き込みポインタ522は1394受信機およびアドレス写像ロジックとから制御を受ける。非同期送信読み取りポインタ524および等時間間隔送信読み取りポインタ526は1394受信機およびアドレス写像ロジックとから制御を受ける。汎用受信書き込みポインタ522、非同期送信読み取りポインタ524および等時間間隔送信読み取りポインタ526からの出力は、全て送信機および受信機占有状態ロジック514、クロック領域ポインタ翻訳ロジック506およびマルチプレクサ518に送られる。
【0145】
汎用受信ポインタ528、非同期送信書き込みポインタ530、および等時間間隔送信書き込みポインタ532は全てDMAロジックおよびアドレス写像ロジックから制御を受ける。汎用受信ポインタ528、非同期送信書き込みポインタ530、および等時間間隔送信書き込みポインタ532は全てDMA FIFO状態ロジック508、クロック領域ポインタ翻訳ロジック512、およびマルチプレクサ520に出力を提供する。
【0146】
二重ポートRAM501はまた、1394受信ロジックから33ビットデータバス534経由でデータ入力、リンククロック25MHz信号536、そして制御を線538経由で1394送信/受信ロジックから受信する。また、1394送信/受信ロジック538からの制御はリンク側アドレスマルチプレクサ518に送られる。バイトパックロジック540はDMA読み取りデータをホストメモリから、DMAロジックからの制御を経由して受信し、出力を33ビットデータバス542上に提供し、これは二重ポートRAM501のPCI側データ入力に送られる。バイトアンパックロジック544は二重ポートRAM501PCI側データ出力33ビットバス546からデータ出力を受信し、ホストメモリに対してDMA書き込みデータを提供する。また、DMAロジックからの制御はバイトアンパックロジック544、マルチプレクサ520および二重ポートRAM501に送られる。零から33MHzPCIクロック信号は二重ポートRAM501に送られる。
【0147】
図2ならびに関連する説明文の中で行った説明に関連して、FIFO、GRF80、非同期送信FIFO82、および等時間間隔伝送FIFO84の機能に関する更に詳細な説明を以下に行う。
【0148】
FIFO状態ロジック514および516は各々の論理FIFOに対する占有状態を生成するのに必要なロジックを実行する。PCI側FIFO状態を計算する際に、リンクからPCIクロック領域への翻訳ロジックは、FIFOのリンク側上の各ポインタの現在値をサンプリングし、これらのサンプルをもとにリンククロック領域からリンククロック領域への翻訳を行う。各々の翻訳されたリンク側ポインタは、その対応するPCI側ポインタと比較され、各FIFOの占有状態が生成される。この状態はDMAロジックで使用されて、ホストメモリとFIFOとの間のデータ転送のペースがとられる。同様にリンク側FIFO状態を計算する際に、PCIからリンククロック領域への翻訳ロジックは、FIFOのPCI側上の各ポインタの現在値をサンプリングし、これらのサンプルのPCIクロック領域からリンククロック領域への翻訳を行う。各々の翻訳されたPCI側ポインタは、その対応するリンク側ポインタと比較され、各FIFOの占有状態が計算される。この状態は1394送信/受信ロジックで用いられ、1394バスとFIFOとの間のデータ転送のペースがとられる。
【0149】
バイトパックロジック540はホストメモリからの全クウォドレットデータ読み取りを、バイト単位で整列されたアドレス上に動作中DMAチャンネル経由で集合させるロジックを実行する。このロジックは好適に4つの8ビット幅レジスタと4つの8対1マルチプレクサとを含む。各レジスタとマルチプレクサとの対は1つのバイト列に対応する。各レジスタの入力は入力バイト列に接続され、これは動作中DMAチャンネルによってホストメモリに切り替えられる。各マルチプレクサの出力は出力バイト列に接続され、これはFIFOを駆動する。各々の8対1マルチプレクサに対して、4つの入力は1対1対応で各レジスタ出力に接続される。残りの4つの入力は1対1対応で各レジスタ入力に接続される。この構成により4つの入力バイト列からのビット配列DMA読み取りデータを異なる順序で4つの出力バイト列に切り替えることが可能となる。バイト列マルチプレクサの制御は動作中DMA読み取りチャンネルで行われる。
【0150】
バイトアンパックロジック544は、ホストメモリにバイト単位で整列されたアドレス上に動作中DMAチャンネル経由で、書き込むためにFIFOから個々の選択可能なバイトへクウォドレットデータ読み取りを解体するために必要なロジックを実行する。このロジックは4つの8ビット幅レジスタと4つの8対1マルチプレクサとで構成される。各レジスタとマルチプレクサとの対は1つのバイト列に対応する。各レジスタの入力は入力バイト列に接続され、これはFIFOから駆動される。各マルチプレクサの出力は出力バイト列に接続され、これはDMAチャンネルによってホストメモリに切り替えられる。各々の8対1マルチプレクサに対して4つの入力が1対1対応で各レジスタ出力に接続される。残りの4つの入力は1対1対応で各レジスタ入力に接続される。この構成でFIFOからのクウォドレット読み取りを異なる順序で出力バイト列上に切り替えることが可能となる。バイト列マルチプレクサの制御は動作中DMA書き込みチャンネルによって行われる。
【0151】
本発明を詳細に渡って説明してきたが、種々の変更、代入および改造が添付の請求項で定義された本発明の精神ならびに範囲から逸脱することなく実行できることを理解されたい。
【0152】
以上の説明に関して更に以下の項を開示する。
(1)ヘッダ部分およびビデオデータ部分を含むデータパケットからビデオデータを自律的に出力するための方法であって:
データパケットをデータパケット転送機器内に受信し;
データパケット内の複数のアドレスフィールドに1つのアドレスを関連づけ;
ヘッダ部分およびビデオデータ部分内のアドレスセグメントを復号して、ヘッダ部分が垂直同期信号を含むか否かの判断を行い;
アドレスセグメントを復号してビデオデータ部分が水平同期信号を含むか否かの判断を行い;
ヘッダ部分をビデオデータ部分から分離し;そして、
ビデオデータ部分をズームポートの中に流し込む、以上の手順を含む、前記方法。
【0153】
(2)第1項記載の方法が更に、ヘッダ部分をビデオデータ部分から分離した後で、ヘッダ部分を捨てる手順を含む、前記方法。
【0154】
(3)第1項記載の方法に於いて、前記流し込む手順が更に、前記垂直同期信号または水平同期信号をズームポートインタフェースの中に流し込む手順を含む、前記方法。
【0155】
(4)第1項記載の方法に於いて、前記復号手順が更に、予め定められたアドレスフィールドのビットのセットが垂直同期信号値に等しいときに前記ヘッダ部分を垂直同期信号として復号する手順を含む、前記方法。
【0156】
(5)第4項記載の方法に於いて、前記復号手順が更に、スレーブデータフィールドが垂直同期信号フラグ値に等しいときに垂直同期信号検出とみなす手順を含む、前記方法。
【0157】
(6)第1項記載の方法に於いて、前記復号手順が更に、予め定められたアドレスフィールドのビットのセットが水平同期信号値に等しいときに前記ヘッダ部分を水平同期信号として復号する手順を含む、前記方法。
【0158】
(7)第1項記載の方法に於いて、前記データパケットが複数のビデオ走査線を含み、更に前記流し込む手順が更に複数のビデオ走査線の各々に一貫した関連するアドレス位置のセットを関連づける手順を含む、前記方法。
【0159】
(8)ヘッダ部分およびビデオデータ部分を含むデータパケットからビデオデータを自律的に出力するためのビデオデータパケット制御回路であって:
データパケットをデータパケット転送機器内に受信する受信回路と;
前記データパケット内の複数のアドレスフィールドに1つのアドレスを関連づけるアドレス関連づけ命令と;
ヘッダ部分および前記ビデオデータ部分内のアドレスセグメントを復号して、ヘッダ部分が垂直同期信号または水平同期信号を含むか否かの判断を行う垂直同期信号復号回路と;
前記アドレスセグメントを復号して前記ビデオデータ部分が水平同期信号を含むか否かの判断を行う水平同期信号検出回路と;
ヘッダ部分をビデオデータ部分から分離するための分離命令と;そして、
ビデオデータ部分をズームポートの中に流し込むためのビデオデータ流入回路とを含む、前記ビデオデータパケット制御回路。
【0160】
(9)第8項記載のビデオデータパケット制御回路が更に、前記ヘッダ部分を前記ビデオデータ部分から分離した後で、前記ヘッダ部分を捨てるための回路を含む、前記ビデオデータパケット制御回路。
【0161】
(10)第8項記載のビデオデータパケット制御回路に於いて、前記流入回路が更に、前記垂直同期信号または水平同期信号をズームポートインタフェースの中に流し込むための回路を含む、前記ビデオデータパケット制御回路。
【0162】
(11)第8項記載のビデオデータパケット制御回路に於いて、前記復号回路が更に、予め定められたアドレスフィールドのビットのセットが垂直同期信号値に等しいときに前記ヘッダ部分を垂直同期信号として復号する回路を含む、前記ビデオデータパケット制御回路。
【0163】
(12)第11項記載のビデオデータパケット制御回路に於いて、前記復号回路が更に、スレーブデータフィールドが垂直同期信号フラグ値に等しいときに垂直同期信号とみなすための垂直同期信号回路を含む、前記ビデオデータパケット制御回路。
【0164】
(13)第8項記載のビデオデータパケット制御回路に於いて、前記復号回路が更に、予め定められたアドレスフィールドのビットのセットが水平同期信号値に等しいときに前記ヘッダ部分を水平同期信号として復号する回路を含む、前記ビデオデータパケット制御回路。
【0165】
(14)パーソナルコンピュータシステムであって:
データパケット転送バスを採用した少なくともひとつの周辺機器と;
コンピュータとを含み、
該コンピュータが、
PCIバスを含むホストCPUと
前記PCIバスと前記周辺機器との間のインタフェースを行うPCIインタフェース機器であって、ヘッダ部分とビデオデータ部分とを含むデータパケットからビデオデータを自律的に格納するためのビデオデータ回路を含むPCIインタフェース機器とを含み、
前記ビデオデータ回路は:
データパケットをデータパケット転送機器内に受信する受信回路と;
前記データパケット内の複数のアドレスフィールドに1つのアドレスを関連づけるアドレス関連づけ回路と;
ヘッダ部分および前記ビデオデータ部分内のアドレスセグメントを復号して、ヘッダ部分が垂直同期信号または水平同期信号を含むか否かの判断を行う、垂直同期信号復号回路と;
前記アドレスセグメントを復号して前記ビデオデータ部分が水平同期信号を含むか否かの判断を行う水平同期信号検出回路と;
ヘッダ部分をビデオデータ部分から分離するための分離命令と;そして、
ビデオデータ部分をズームポートの中に流し込むためのビデオデータ流入回路とを含む、前記パーソナルコンピュータシステム。
【0166】
(15)第14項記載のパーソナルコンピュータシステムが更に、前記ヘッダ部分を前記メモリの前記ビデオデータ部分ヘッダ位置から分離した後で、前記ヘッダ部分ビットを捨てるための回路を含む、前記パーソナルコンピュータシステム。
【0167】
(16)第14項記載のパーソナルコンピュータシステムに於いて、前記流入回路が更に、前記垂直同期信号または水平同期信号を、前記メモリのズームポートインタフェース位置の中に流し込むための回路を含む、前記パーソナルコンピュータシステム。
【0168】
(17)第14項記載のパーソナルコンピュータシステムに於いて、前記復号回路が更に、予め定められたアドレスフィールドのビットのセットが垂直同期信号値に等しいときに前記ヘッダ部分を垂直同期信号として復号する回路を含む、前記パーソナルコンピュータシステム。
【0169】
(18)第17項記載のパーソナルコンピュータシステムに於いて、前記復号回路が更に、スレーブデータフィールドが垂直同期信号フラグ値に等しいときに垂直同期信号とみなすための垂直同期信号回路を含む、前記パーソナルコンピュータシステム。
【0170】
(19)第14項記載のパーソナルコンピュータシステムに於いて、前記復号回路が更に、予め定められたアドレスフィールドのビットのセットが水平同期信号値に等しい時に前記ヘッダ部分を水平同期信号として復号する回路を含む、前記パーソナルコンピュータシステム。
【0171】
(20)第14項記載のパーソナルコンピュータシステムに於いて、前記データパケットが複数のビデオ走査線を含み、そして更に前記流入回路が前記複数のビデオ走査線を前記メモリの前記ズームポートアドレスの中に流し込む回路を含む、前記パーソナルコンピュータシステム。
【0172】
(21)PCIインタフェース機器(20)において、本発明はヘッダ部分(440)およびビデオデータ部分(430)を含むデータパケット(426)から自律的にビデオデータ(440)を出力する。本発明は、データパケット(440)をデータパケット転送機器(20)内に受信し、データパケット(426)内の複数のアドレスフィールド(428,418)に1つのアドレスを関連づける。ヘッダ部分(428)とビデオデータ部分内のアドレスセグメントの復号を行い、ヘッダ部分(428)が垂直同期信号(407)を含むか否かの判断を行う。また、ビデオデータ部分のアドレスセグメントを復号して、ビデオデータ部分が水平同期信号(409)を含むか否かの判断を行う。本発明は、ヘッダ部分をビデオデータ部分から分離し、ビデオデータ部分(430)をズームポートの中に流入させる。
【図面の簡単な説明】
【図1】本発明を組み入れたパーソナルコンピュータ環境の動作概要図を図示する。
【図2】本発明の機能ロジックの一般的動作概要図を示す。
【図3】本発明の比較ロジックの概念図を図示する。
【図4】本発明の比較ロジックの更に詳細な概念表現を示す。
【図5】本発明のパケット受信機ロジックのヘッダ比較機能の更に詳細を図示する。
【図6】本発明に適用される一致データセットフィールドとして考えられるデータ値を図示する。
【図7】本発明に適用される一致データセットフィールドとして考えられるデータ値を図示する。
【図8】本発明に適用される一致データセットフィールドとして考えられるデータ値を図示する。
【図9】本発明に適用される一致データセットフィールドとして考えられるデータ値を図示する。
【図10】本発明のプログラム可能選択的書き込み可能データフリップフロップのひとつの実施例を図示する。
【図11】本発明のプログラム可能ビット選択機能を実現するための、アドレスフィールド例を示す。
【図12】時分割多重処理されている直接メモリアクセス、多重チャンネル環境の図を示し、本発明のDMA命令処理動作を図示する。
【図13】現時点で動作中のチャンネルに基づく優先順位の割り当てを図示する表を示す。
【図14】自動ブート機能に適用可能な、本発明のインタフェース装置構造の一部を示す。
【図15】図14の自動ブートピンが動作中状態にセットされた際の、内部PCIアドレスバスのビット31及び30に対応するPCIマスタバス命令の表を示す。
【図16】本発明のローカルバスインタフェースをブロック図形式で示す。
【図17】水平および垂直同期信号を検出するための本発明のインタフェース装置のロジックを図式的に示す。
【図18】単一データパケットを単一走査線へ誘導する操作を含む、本発明の別の機能を図示する。
【図19】単一データパケットを多重ビデオ走査線に写像するための、本実施例の動作を示す。
【図20】本発明のDMAパケット処理装置で使用されるパケット制御リストデータ構造ならびにデータバッファのメモリマップを図示する。
【図21】DMA機械の部分的流れ図を示し、本発明のパケット処理装置動作を図示する。
【図22】DMA機械の部分的流れ図を示し、本発明のパケット処理装置動作を図示する。
【図23】DMA機械の部分的流れ図を示し、本発明のパケット処理装置動作を図示する。
【図24】DMA機械の部分的流れ図を示し、本発明の非同期送信動作を図示する。
【図25】DMA機械の部分的流れ図を示し、本発明の非同期送信動作を図示する。
【図26】DMA機械の部分的流れ図を示し、本発明の非同期送信動作を図示する。
【図27】DMA機械の部分的流れ図を示し、本発明の等時間間隔送信動作を図示する。
【図28】本発明の補助機能流れ図の例を示す。
【図29】本発明の補助機能流れ図の例を示す。
【図30】DMA機械の部分的流れ図を示し、本発明のローカルバス/PCIバス相互通信動作を図示する。
【図31】本発明のFIFO回路の中で生じる機能の、高いレベルでの概念図である。
【図32】本発明のFIFO回路の中で生じる機能の、高いレベルでの概念図である。
【符号の説明】
10 パーソナルコンピュータ環境
12 パーソナルコンピュータ
14 周辺機器
16 インタフェースバス
18 3ポート物理層インタフェース
20 PCIインタフェースASIC
22 シリアルEPROM
24 PCIバス
26 補助ポートローカルバス
28 ローカルバス
30、31 アドレスビット
34 PCIホストブリッジ
36 フラッシュPROM
38 (DMA)チャンネル制御静的RAM(SRAM)
40 使用者定義機能(AUX)
42 ビデオ入出力用ズームビデオ(ZV)ポート
46 ローカルメモリ
48 CD ROM装置
50 レーザプリンタ
52 デスクトップカメラ
56 ビデオケーブルセットトップボックス
60 PCIバスロジック
62 シリアルEPROMインタフェース
64 PCIマスタロジック
66 PCIスレーブロジック
68 PCI構成制御ならびに状態レジスタ
70 ローカルバスインタフェースロジック
72 DMAロジック
74 DMAエンジン
76 DMA制御ならびに状態レジスタ
78 FIFOロジック
80 汎用受信FIFO
82 非同期伝送FIFO
84 等時間間隔伝送FIFO
86 ポインタアドレス写像ロジック
88 FIFO制御ならびに状態レジスタ
90 リンク層制御ロジック
92 制御ならびに状態レジスタ
94 周期監視ロジック
96 周期タイマロジック
98 パケット伝送制御ロジック
100 CRCロジック
102 パケット受信機制御ロジック
104 物理リンクインタフェースロジック
106 受信データ
110 DMAヘッダ比較レジスタおよびロジック
120 DMAチャンネルヘッダ比較ロジック
128 優先順位符号化器
129 論理OR回路
136 行き先ID比較ロジック
140 転送コード比較ロジック
144 比較ロジック
150 AND機能
160 転送コード
162 非同期ヘッダ
164 転送コードビット
166 等時間間隔ヘッダ
250 レジスタ書き込み回路
252 汎用I/O(GPIO)書き込みデータ入力
254 データフリップフロップ
256 クロック信号
258 書き込み可能入力
260 AND機能
262 GPIOアドレス了承信号
264 書き込み標準信号
266 GPIOアドレスビット入力
300 DMA命令処理環境
302 PCIレジスタ書き込みデータ
304 マルチプレクサ
306 DMAレジスタ書き込みデータ
310 DMAレジスタ
312 前回アドレスまたは暫定フィールド
314 パケット制御リスト開始アドレスレジスタ
316 DMAバッファ開始アドレスレジスタ
320 DMA状態レジスタ
322 DMA制御レジスタ
324 現DMA状態レジスタ
326 準備完了ビット
328 DMAレジスタ書き込み調停選択回路
330 PCIスレーブ信号
332 PCIマスタ信号
334 DMAPCIマスタ周期入力
336 スレーブ終了入力
340 DMAチャンネル調停器
342 ロックチャンネル入力
344 マルチプレクサ
346 マルチプレクサ
348 スレーブレジスタ読み込みアドレス入力
350 DMAレジスタ読み取りデータ出力
370 自動ブート入力
390 ローカルバスインタフェースブロック
392 ローカルバス構成レジスタ
394 ズームビデオ(ZV)復号インタフェースブロック
396 ZV機械
398 アドレス/データ/ビット可能化保持レジスタ
400 ローカルバスインタフェース状態機械
402 スレーブ確認肯定割り込みブロック
410 ズームポートアドレスマップ
412 等時間間隔パケットヘッダ
414 等時間間隔パケットデータ
416 メモリ空間
440 ズームビデオ等時間間隔パケット
450 PCI待ち行列
452 開始アドレス
454 ダミーパケット制御リスト
456 転送命令パケット制御リスト
466 シーケンシャルリスト
472 論理機能
480 DMAレジスタ
484 条件成立時の行き先アドレス
501 二重ポートRAM
502 リンク側クロック領域
504 PCI側クロック領域
506 クロック領域ポインタ翻訳ロジック
508 DMA FIFO占有状態ロジック
510 DMAロジック信号
512 クロック領域ポインタ翻訳ロジック
514 送信機および受信機占有状態ロジック
516 1394送信受信ロジック信号
518 マルチプレクサ
520 マルチプレクサ
522 汎用受信書き込みポインタ
524 非同期送信読み取りポインタ
526 当時間間隔送信読み取りポインタ
528 汎用受信ポインタ
530 非同期送信書き込みポインタ
532 当時間間隔送信書き込みポインタ
536 リンククロック25MHz信号
538 1394送信/受信ロジック
540 バイトパックロジック
542 33ビットデータバス
546 PCI側データ出力33ビットバス
Claims (2)
- ヘッダ部分およびビデオデータ部分を含むデータパケットからビデオデータを自律的に出力するための方法であって、
データパケットをデータパケット転送機器内に受信し、
データパケット内の複数のアドレスフィールドに1つのアドレスを関連づけ、
前記ヘッダ部分が第一の所定値を有し、また前記ビデオデータ部内の前記アドレスが第二の所定値を有するときに、前記ヘッダ部分が垂直同期信号を含むと決定し、
前記ビデオデータ部分内の前記アドレスが第三の所定値を有するときに、前記ビデオデータ部分が水平同期信号を含むと決定し、
ヘッダ部分をビデオデータ部分から分離し、
復号された垂直同期信号、復号された水平同期信号及び分離されたビデオデータ部分をビデオポートの中に転送する、ステップを含む方法。 - ヘッダ部分およびビデオデータ部分を含むデータパケットからビデオデータを自律的に出力するためのビデオデータパケット制御回路であって、
データパケットをデータパケット転送機器内に受信する受信回路と、
前記データパケット内の複数のアドレスフィールドに1つのアドレスを関連づけるアドレス関連づけ命令と、
前記ヘッダ部分が第一の所定値を有し、また前記ビデオデータ部内の前記アドレスが第二の所定値を有するときに、前記ヘッダ部分が垂直同期信号を含むと決定する垂直同期信号復号回路と、
前記ビデオデータ部分内の前記アドレスが第三の所定値を有するときに、前記ビデオデータ部分が水平同期信号を含むと決定する水平同期信号検出回路と、
ヘッダ部分をビデオデータ部分から分離するための分離回路と、
復号化された垂直同期信号、復号化された水平同期信号及び分離されたビデオデータ部分をビデオポートの中に転送するためのビデオデータ転送回路と、を含むビデオデータパケット制御回路。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US1649396P | 1996-04-30 | 1996-04-30 | |
US016493 | 1996-04-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10117349A JPH10117349A (ja) | 1998-05-06 |
JP4184458B2 true JP4184458B2 (ja) | 2008-11-19 |
Family
ID=21777413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11112897A Expired - Fee Related JP4184458B2 (ja) | 1996-04-30 | 1997-04-28 | 通信インタフェースで受信されたパケットデータからの制御情報の抽出方法ならびにビデオデータパケット制御回路 |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP4184458B2 (ja) |
CN (1) | CN1175838A (ja) |
SG (1) | SG77134A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100397124B1 (ko) * | 2001-12-27 | 2003-09-06 | 엘지전자 주식회사 | 보드간 메시지 통신 시스템 및 방법 |
JP4685414B2 (ja) * | 2004-11-11 | 2011-05-18 | 三菱電機株式会社 | バス転送装置 |
CN107229858B (zh) * | 2017-05-19 | 2020-04-03 | 郑州云海信息技术有限公司 | 一种支持crc8校验的PECI总线主从机验证系统及验证方法 |
CN113722251B (zh) * | 2020-05-26 | 2023-12-26 | 上海汽车变速器有限公司 | 用于功能安全监控的双线spi通信系统及方法 |
CN111669635B (zh) * | 2020-06-15 | 2022-04-29 | 武汉精立电子技术有限公司 | 一种基于视频接口的时钟传输、恢复方法及装置 |
CN112559546B (zh) * | 2020-12-23 | 2024-03-19 | 平安银行股份有限公司 | 数据库同步方法、装置、计算机设备及可读存储介质 |
-
1997
- 1997-04-11 SG SG1997001177A patent/SG77134A1/en unknown
- 1997-04-28 JP JP11112897A patent/JP4184458B2/ja not_active Expired - Fee Related
- 1997-04-28 CN CN97110869A patent/CN1175838A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
JPH10117349A (ja) | 1998-05-06 |
CN1175838A (zh) | 1998-03-11 |
SG77134A1 (en) | 2000-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6333938B1 (en) | Method and system for extracting control information from packetized data received by a communications interface device | |
EP0803819B1 (en) | Method of assigning a data packet to a channel in a IEEE 1394 communications system | |
US6006286A (en) | System for controlling data packet transfers by associating plurality of data packet transfer control instructions in packet control list including plurality of related logical functions | |
US5996032A (en) | System for writing a plurality of data bits less than from the total number of bits in a data register using a single register write operation | |
US5983301A (en) | Method and system for assigning a direct memory access priority in a packetized data communications interface device | |
US6081852A (en) | Packet data transferring system for autonomously operating a DMA by autonomous boot mode select signal wherein the DMA is enabled to at least one program control list | |
JP3863912B2 (ja) | データ伝送の自動開始装置 | |
US7590133B2 (en) | Data communication system, data communication method, and data communication apparatus | |
JP3843667B2 (ja) | データ転送制御装置及び電子機器 | |
CA2247341C (en) | Asynchronous data pipe for automatically managing asynchronous data transfers between an application and a bus structure | |
JPH0865334A (ja) | マルチメディア通信装置及び方法 | |
JP3608441B2 (ja) | データ転送制御装置及び電子機器 | |
EP0803821A2 (en) | DMA channel assignment in a data packet transfer device | |
EP0803803B1 (en) | Method of configuring a data packet transfer device | |
US6904475B1 (en) | Programmable first-in first-out (FIFO) memory buffer for concurrent data stream handling | |
JP4184458B2 (ja) | 通信インタフェースで受信されたパケットデータからの制御情報の抽出方法ならびにビデオデータパケット制御回路 | |
JP2000049834A (ja) | デ―タ通信システム、装置及び方法並びに記憶媒体 | |
US6580711B1 (en) | Serial interface circuit and signal processing method of the same | |
EP0804008B1 (en) | Apparatus for data packet transfer control | |
JP4033915B2 (ja) | データストリーム制御方法及び装置 | |
JP3967792B2 (ja) | パケット化されたデータ通信インタフェース機器のpciシリアルバスインタフェース機器回路を自律的に動作させるための方法ならびに自律ブート回路 | |
JPH1069456A (ja) | パケットデータ通信システム内のdma機械を制御するためのパケット制御リストを形成するための方法ならびにそのフォーマット | |
JPH10336252A (ja) | シリアルデータ転送制御装置およびシリアルデータ転送方法 | |
JP3610982B2 (ja) | データ転送制御装置及び電子機器 | |
KR100605903B1 (ko) | 데이터 전송 제어장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040428 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070525 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070827 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070830 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070925 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070928 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071017 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080229 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080529 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080603 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080630 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080703 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080725 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080822 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080904 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110912 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120912 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130912 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |