JP3752809B2 - Digital television receiving method and digital television receiving terminal device - Google Patents
Digital television receiving method and digital television receiving terminal device Download PDFInfo
- Publication number
- JP3752809B2 JP3752809B2 JP32449697A JP32449697A JP3752809B2 JP 3752809 B2 JP3752809 B2 JP 3752809B2 JP 32449697 A JP32449697 A JP 32449697A JP 32449697 A JP32449697 A JP 32449697A JP 3752809 B2 JP3752809 B2 JP 3752809B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- buffer
- frame
- transfer
- cell
- 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
- Television Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
【0001】
【発明の属する技術分野】
この発明は、ATMセル等の固定長のセルを受信し、共通バッファを有効利用してシステムのメインメモリ上で可変長フレームを組み立てるフレーム組立装置を有するデジタルテレビ受信方法、およびその受信方法を用いたデジタルテレビ受信端末装置に関するものである。
【0002】
【従来の技術】
ATMセル等の固定長セルを受信して、上位レイヤに渡す可変長フレームを組み立てるフレーム組立装置において、上記固定長セルを一旦蓄積するメモリのバッファリング方式の1つに、共通バッファ方式がある。共通バッファ方式では、コネクションの異なるフレームを組み立てる場合に、バッファをコネクション毎に設けるのではなく、複数のコネクションでバッファを共有するため、メモリ使用効率の優れた方式である。
【0003】
共通バッファ方式では、受信した固定長セルを格納するRAM等のメモリを固定サイズのバッファに論理的に分割し、上記分割されたバッファの先頭アドレスをこのバッファを示すアドレスとする。バッファ内にはポインタを格納するフィールドがあり、このポインタが自バッファに続くバッファを示すことにより、必要なバッファ列を形成する(本明細書ではバッファが1つの場合にもバッファ列と称する場合がある)。
【0004】
図11は、特開平4−237238号公報に示された従来の受信バッファ管理方式を示す図であり、111−1〜111−3はサイズがaの空き受信バッファ(以下、「空きバッファ」と称す)、112−1〜112−4はサイズがb(b<a)の空きバッファである。113−1は受信パケットが格納されているサイズがbの受信バッファ(以下、「受信済みバッファ」と称する)である。バッファ111−1〜111−3、112−1〜112−4、113−1は、メインメモリ等で構成されるバッファ部14におかれている。
121,122は、後述する空きバッファ列の先頭空きバッファのポインタを格納する空きバッファディスクリプタ、123は後述する受信済みバッファ列の先頭空きバッファのポインタを格納する受信済みバッファディスクリプタである。
【0005】
次に動作について説明する。図11では、空きバッファ111−1〜111−3は、空きバッファ111−1を先頭バッファとし、空きバッファ111−3を最終バッファとするサイズa用の空きバッファ列(空きバッファチェイン)を構成している。また、空きバッファ112−1〜112−4は、空きバッファ112−1を先頭バッファとし、空きバッファ112−4を最終バッファとするサイズb用の空きバッファ列(空きバッファチェイン)を構成している。
【0006】
サイズLのデータパケットの受信時には、a≧L>bであればサイズaの空きバッファの列の先頭111−1が、また、b≧Lであればサイズbの空きバッファの列の先頭バッファ112−1が、対応する空きバッファ列からはずされ、次の空きバッファ112−2がこの空きバッファ列の先頭になり、空きバッファ列からはずされたバッファに、固定長の受信データが順次格納される。空きバッファ列からはずされたバッファに全受信データが格納されて可変長フレームが組み立てられると、上記バッファは受信済みバッファ列(受信済みバッファチェイン)の最後につながれ、受信パケット格納処理が終了する。
【0007】
上記従来例には記載されていないが、受信済みバッファ列に受信済みバッファ113−1がつながれると、この受信済みバッファ113−1の可変長フレームデータを上位レイヤに渡すために、上位レイヤ管理ブロックに受信済みバッファからのデータの転送を要求する。一般的に、上位レイヤはシステムのCPUが管理、上位レイヤに渡されるデータはシステムのメインメモリに転送される。受信済みバッファからのデータ転送を要求されたCPUは、受信済みバッファ113−1の可変長フレームデータを、システムのメインメモリにDMA等で転送する。データの転送が終了すると、受信済みバッファ113−1は受信済みデータバッファからはずされ、再び空きバッファ列に戻される。
【0008】
【発明が解決しようとする課題】
従来例では、共通メモリで可変長フレームを組立て完了してから上位レイヤに転送するように構成されているので、ATMセル等の固定長セルを受信して可変長フレームを組み立てるためのバッファには、一可変長フレームの全データを格納できるように、受信し得るフレームデータの最大長のサイズを用意する必要があった。
【0009】
また、上記従来例では、サイズの異なる空きバッファ列を複数設けることにより、サイズの小さな受信データが大きなサイズのバッファを無駄に占有することを防ぎ、メモリ領域を有効に利用できるという利点があるが、それでも受信し得るフレームデータの最大長のサイズのバッファは用意されなければならない。
さらに、同時に受信し得る複数コネクションに対応するだけの複数のバッファを用意する必要があるので、これはメモリサイズに余裕を持たすことのできないシステムにとっては負担が大きくなるという問題があった。
【0010】
また、受信し得るデータの最大長データを、同時受信し得る最大コネクション数分格納することのできるバッファを用意していても、受信データサイズが最大長である同時受信最大コネクション数の受信データを同時に受信すると、空きバッファ列から全ての空きバッファがはずされるので、空きバッファ列に残る空きバッファはなくなる。この時に複数コネクションの受信データが連続して受信終了すると、複数のバッファが連続して受信済みバッファとなり、この受信済みバッファからフレームデータを上位レイヤにDMA転送し、受信済みバッファが再び空きバッファ列につなぎかえられるまでに発生する待ち時間の間、空きバッファ列には空きバッファが存在しないことになり、連続して新しい受信セルを受信すると、この受信セルのデータを取りこぼすという問題が発生する。
【0011】
この問題を解決するには、受信し得るデータの最大長を同時受信し得る最大コネクション数分格納できるサイズより多くのメモリを共通メモリに持てばよいが、メモリサイズに余裕を持たすことのできないシステムにとっては負担が大きい。
【0012】
上記従来例以外に、小さいサイズの空き受信バッファを多数チェインしておき、必要なだけのバッファをチェインからはずして使用する方法も考えられている。この方法も、小さな受信データが大きなサイズの受信バッファを無駄に占有することを防ぎ、メモリを有効利用できるが、上記従来例と同じく、フレームの組立てを完了してから上位レイヤへデータを転送するから、受信し得る最大長のフレームの全データが格納できるトータルのバッファサイズを共通メモリに確保する必要があった。
【0013】
さらに、バッファサイズが小さく、かつ受信セルから組み立てるフレームのデータサイズが大きい場合には、複数のバッファに上記フレームデータが分割して格納され、上記複数バッファのリンク情報が必要となる。これらの複数のバッファのリンク情報を格納するメモリ領域が必要になり、メモリサイズに余裕を持たすことのできないシステムにとっては負担が大きくなる。
【0014】
受信固定長セルを受信し、可変長フレームを組み立て、可変長フレームデータを上位レイヤのアクセスするシステムのメインメモリに転送する方法において、仮にフレーム組立て装置にローカルな共通メモリを使用せずに、メインメモリのみを用いて可変長フレームの組立をするとすれば、共通メモリは不要になり、メモリを節約することができる。
しかし、上記の方法では受信固定長セルを受信する毎に、データ転送リクエスト等のオーバヘッドがシステムのメインバスに発生するため、メインメモリだけを使用して可変長フレームを組み立てる方法は、上記オーバーヘッドに費やされるメインバスの使用率を考慮すると、適当な方法ではない。
【0015】
この発明は上記のような課題を解決するためになされたもので、メモリサイズに余裕を持たすことのできない家庭用デジタルテレビ受信端末(STB)等において、データバッファを効率的に利用する小規模な共通メモリと、システムのメインメモリとを用いて受信可変長フレームの組立を実現するデジタルテレビ受信方法およびこの受信方法を用いたデジタルテレビ受信端末装置を得ることを目的とする。
【0016】
【課題を解決するための手段】
本発明に係る受信装置は、入力されたセルデータに基づいて、当該セルデータから構成されるフレームデータを組立てる受信装置であって、上記セルデータが格納される複数のデータバッファと、上記データバッファへの上記セルデータの格納、および上記データバッファに格納された上記セルデータの出力を制御するフレーム組立て手段と、上記データバッファから出力された上記セルデータを格納する記憶手段と、上記フレーム組立て手段の制御に応じて、上記データバッファから上記記憶手段への上記セルデータの転送を制御する制御手段とを備え、上記複数のデータバッファにおける各データバッファの記憶容量は、上記フレームデータのデータサイズよりも小さく構成され、上記フレーム組立て手段は、上記セルデータに含まれる所定の情報に基づいて上記データバッファに上記セルデータを格納する手段と、上記データバッファの残量の終了を示す残量終了情報を出力する手段と、上記残量終了情報に応じて上記データバッファに格納された上記セルデータを上記記憶手段に出力する旨の転送情報を出力する手段とを備え、上記制御手段は、上記転送情報に応じて上記データバッファに格納された上記セルデータを上記記憶手段に転送した後に、上記フレームデータの最終データに対応する上記セルデータを上記記憶手段に転送することによって上記フレームデータを組立てるように構成される。
【0026】
【発明の実施の形態】
以下、この発明をその実施の形態を示す図面に基づいて具体的に説明する。
実施の形態1.
図1はこの発明の実施の形態1であるデジタルテレビ受信端末装置を示す図である。図において、1は固定長の受信セル、3はRAM等のメモリで、論理的に固定長のバッファに分割されていて、受信した固定長セル1を格納して可変長フレーム2を組み立てるための固定長のデータバッファ4b〜4fと、データバッファ4b〜4fに格納されたデータの属性情報が書き込まれる属性情報バッファ4aとで構成されている、フレーム組み立て装置12にローカルな共通メモリである。
【0027】
12はフレーム組立装置であり、5は受信固定長セル属性管理部で、受信固定長セルの様々な属性を検出し、受信固定長セル1を受信したことを通知するセル受信通知5eと、受信固定長セル1のコネクション情報5dと、受信固定長セル1から組み立てられる可変長フレーム2のレングスを通知するレングス情報5aと、受信固定長セル1のスタートセル情報5c、またはエンドセル情報5bとを出力する。6はメモリリード制御部で、後述するCPU13から共通メモリ3のデータをリードするために、後述するDMAコントローラ15からリードする共通メモリ3のリードアドレスポインタ6cを受信してリードアドレスデータ6aとリード制御パルス6bを出力する。
【0028】
7はメモリライト制御部で、共通メモリ3にデータをライトするためのアドレスデータ7aとライト制御パルス7bを出力する。8は空きバッファ管理部で、後述するCPU13から転送終了情報13aと、後述する組立フレーム管理部10から空きバッファ使用情報10dを受信して、データバッファ4b〜4fの空きバッファを管理し、空きバッファ情報8aを出力する。
【0029】
10は組立フレーム管理部で、受信固定長セル属性管理部5からレングス情報5a、エンドセル情報5b、スタートセル情報5c、コネクション情報5d、セル受信通知5eと、空きバッファ管理部8から空きバッファ情報8aと、後述する組立バッファ管理部11からバッファ残量終了情報11aとを受信して、組立中の可変長フレーム2のフレームレングスを管理し、受信固定長セル1を格納する共通メモリ3のアドレスポインタ10aと、共通メモリ3の属性情報バッファ4aに書き込む属性情報10bと、可変長フレーム2の組立が終了したか可変長フレーム2の組立中に共通メモリ3のデータバッファ4b〜4fのバッファ残量がなくなるかした時にデータ終了情報10cと、未使用の空きバッファに受信データを格納したことを示す空きバッファ使用情報10dを出力する。
【0030】
11は組立バッファ管理部で、可変長フレーム2を組立中であるデータバッファ4b〜4fのバッファ残量を管理しバッファ残量がなくなった時にバッファ残量終了情報11aを出力する。9は転送バッファ管理部で、バッファ終了情報11aを受信して、データバッファ4b〜4fと属性情報バッファ4aデータのメインメモリ14への転送をCPU13に要求するための転送リクエスト9aと、転送するデータバッファ4b〜4fに格納されているデータの属性を示す転送バッファ属性情報9bをCPU13に出力する。
【0031】
13はシステムのCPUで、フレーム組立装置12の転送バッファ管理部9から転送リクエスト9aと転送バッファ属性情報9bを受信して、転送バッファ属性情報9bに従って共通メモリ3から可変長フレームデータ2をシステムのメインメモリ14にDMA転送し、メインメモリ14上での可変長フレームの組立完成を管理する機能を有する。15はCPU13が共通メモリ3からデータをメインメモリ14にDMA転送する際に起動するDMAコントローラ、18はシステムのメインバスで、メインメモリ14、CPU13、DMAコントローラ15、フレーム組み立て装置12はメインバス18によってお互いにデータの送受信を行う。
【0032】
図2はデータバッファ4bと属性情報バッファ4aの構成を示す図である。1つのデータバッファ4bに対して、このデータバッファ4bに格納された受信データの属性情報が表示される1つの属性情報バッファ4aが存在する。データバッファ4bには、受信した固定長セル1のデータが格納され、データバッファ4bのサイズは固定長セル1のデータサイズと同じかそれよりも大きく、受信固定長セル1から組み立てられる可変長フレーム2のデータサイズと同等程度かそれよりも小さくする。
【0033】
たとえば、ATM通信においてはデータバッファ4bは48バイト以上である。属性情報バッファ4aには図1に示す組立フレーム管理部10から出力される属性情報10bが書き込まれる。属性情報10bにはコネクション情報4a−1、フレームレングス情報4a−2、フレームエンド情報4a−3等が含まれる。コネクション情報4a−1はデータバッファ4bに格納された受信固定長セル1のコネクションを表示する領域、フレームレングス情報4a−2はデータバッファ4bとメインメモリ14で組み立てられる可変長フレーム2のバイト長を表示する領域、フレームエンド情報4a−3は受信固定長セル1のデータで組み立てられる可変長フレーム2のエンドデータがデータバッファ4bに格納された場合にフレームエンド情報を表示する領域である。
【0034】
図3〜図7は、共通メモリ13のデータバッファ4b〜4fに受信固定長セル1a〜1hが格納され、データバッファ4b〜4fが満たされると、データバッファ4b〜4fに格納されたデータがメインメモリ14に転送されていく様子の一例を示した図である。受信固定長セル1a、1d、1eは同一コネクション、1b、1fは同一コネクション、さらに1g、1hは同一コネクションのセルであり、受信固定長セル1a、1b、1c、1gはスタートセル、1eはエンドセルである。たとえば同一コネクションの受信固定長セル1a、1d、1eは、1aがスタートセル、1eがエンドセルであり、上記の3つの受信固定長セル1a、1d、1eのデータで1つの可変長フレーム14aが組み立てられる。
【0035】
動作例1.
次に、実施の形態1の動作例1について説明する。
まず、フレーム組立装置12が受信固定長セル1を受信すると、受信固定長セル属性管理部5は受信固定長セル1のコネクションと、前記受信固定長セル1が可変長フレーム2のスタートセルであるかエンドセルであるかと、受信固定長セル1に示される受信固定長セル1のデータから組み立てられる可変長フレーム2のデータ長(データレングス)とを検出し、セル受信通知5e、コネクション情報5d、スタートセル情報5c、エンドセル情報5b、レングス情報5aとして組立フレーム管理部10に出力する。
【0036】
セル受信通知5eとスタートセル情報5cにより可変長フレーム2のスタートセルの受信を通知されると、組立フレーム管理部10は、空きバッファ管理部8が出力する空きバッファ情報8aを参照して、フレーム組立装置12が管理する共通メモリ3のデータバッファ列から一つの空きデータバッファを選択し、このデータバッファをコネクション情報5dで通知されたコネクションのフレーム用のデータバッファとして登録し、このデータバッファ4bのアドレスポインタ10aをメモリライト制御部7に出力する。
【0037】
アドレスポインタ10aを通知されたメモリライト制御部7は、アドレスデータ7aとライト制御パルス7bを出力して受信固定長セル1のデータをデータバッファ4bに格納する。
図3は異なるコネクションのスタートセルである受信固定長セル1a、1b、1cがそれぞれ空きバッファである4b、4c、4dに格納される様子を示している。
【0038】
次に、フレーム組立装置12がスタートセル、エンドセルのどちらでもない受信固定長セル1を受信した場合、組立フレーム管理部10は受信固定長セル属性管理部5から通知されるコネクション情報5dを参照して、以前に受信した同一コネクションのデータが既に格納されているデータバッファ4bを選択し、データバッファ4bの既格納データの続きに受信データを格納するため、データバッファ4bの続きのアドレスポインタ10aを出力する。
図4は受信固定長セル1dが、同一コネクションのセルデータが既に格納されているデータバッファ4bに格納される様子を示している。
【0039】
同一コネクションの複数受信固定長セル1がデータバッファ4bに格納されていて、エンドセルの受信前、つまり可変長フレーム2の組立完了前にデータバッファ4bが受信データで満たされた場合は、データバッファ4bに格納されているデータを可変長フレーム2の分割データとして、メインメモリ14に転送する。データバッファ4bの残量は組立バッファ管理部11で管理されていて、データバッファ4bのバッファの残量がなくなるとバッファ残量終了情報11aが組立バッファ管理部11から組立フレーム管理部10に通知される。
【0040】
バッファ残量終了情報11aを受信すると、組立フレーム管理部10は、データバッファ4bに格納したデータの属性情報10bを書き込むためのアドレスポインタ10aと属性情報10bを属性情報バッファ4aに出力し、データバッファ4bへのデータ格納が終了したことを示すデータ終了情報10cを転送バッファ管理部9に通知する。データ終了情報10cを受信すると転送バッファ管理部9はメインメモリ14にデータ転送を要求するための転送リクエスト9aと、転送するデータが格納されているデータバッファ4bのアドレスポインタ、コネクション等の情報を示す転送バッファ属性情報9bをCPU13に通知する。
【0041】
転送リクエスト9aを受信すると、CPU13は転送バッファ属性情報9bを参照してDMAコントローラ15を起動し、DMAコントローラ15は共通メモリ3からメインメモリ14にデータを転送する。この際、CPU13は、属性情報4a−1〜4a−3を参照して、データバッファ4bに格納されているデータの属性を認識する。上記の場合、CPU13はフレームエンド情報4a−3を参照して、転送データが可変長フレーム2のエンドデータを含んでいないことを認識し、転送データは可変長フレームの分割データとして、メインメモリ14に格納される。図5は、データバッファ4bがデータで満たされた後、メインメモリ14にデータが転送される様子を示している。
【0042】
上記のように、転送データに可変長フレーム2のエンドデータが含まれていない場合、フレーム組立装置12が次に受信する上記転送データと同一コネクションの受信固定長セル1のデータは、上記転送済みの可変長フレーム2の分割データの続きの分割データとして、フレーム組立管理部10が空きバッファ情報8aを参照して新しく選択する空きデータバッファに格納される。
図5は転送済みデータバッファ4bに格納されていたデータの続きのデータセルである受信固定長セル1eが、空きであったデータバッファ4eに格納される様子を示している。
【0043】
受信固定長セル1がエンドセルである場合、この受信固定長セル1の受信をもって、一つの可変長フレーム2の受信は完了する。フレーム組立装置12がエンドセルを受信すると、受信固定長セル属性管理部5はフレーム組立管理部10にエンドセル情報5cを通知する。エンドセル情報5cを受信すると、フレーム組立管理部10は受信固定長セル1のデータをデータバッファに格納した後、可変長フレーム2の受信終了を示すデータ終了情報10cを転送バッファ管理部9に通知する。データ終了情報10cを受信すると転送バッファ管理部9はCPU13にデータ転送を要求するための転送リクエスト9aと転送バッファ属性情報9bを通知する。
【0044】
CPU13は、転送バッファ属性情報9bに示される転送データのコネクション情報を参照し、既にメインメモリ14への転送が終了しているデータ列に、上記コネクション情報と同一コネクションで可変長フレームのエンドデータが含まれていない分割フレームデータがある場合には、データバッファ4bのデータを上記分割フレームデータの続きのデータとして認識し、メインメモリ14にDMA転送するため、DMAコントローラ15を起動する。
図6は、データバッファ4eに、エンドセルである受信固定長セル1が格納された後、メインメモリ14へ転送される様子を示している。
【0045】
メインメモリ14へのデータのDMA転送が終了すると、CPU13は転送終了情報13aを空きバッファ管理部8に通知し、空きバッファ管理部8は転送データが格納されていたデータバッファ4bを再び空きバッファとして認識する。再び空きバッファとなったデータバッファ4bには、次の受信データの格納が可能になる。図6および図7は、図5においてデータが転送されているバッファ4bが転送終了後に再び空きバッファとなり、続いて受信する受信固定長セル1g、1hの各データが格納される様子を示している。
【0046】
CPU13は、転送リクエスト9aを受信する毎に、データバッファのサイズに分割された可変長フレーム2のデータを共通メモリ3からメインメモリ14へ転送し、フレーム組立装置12から受信する上記データのコネクション情報、レングス情報を参照してメインメモリ14上で、可変長フレーム2の組立を完成させる。CPU13は組立が完了した可変長フレーム2のデータを上位レイヤに渡し、一連のフレーム受信処理が終了する。
図6および図7は、データバッファ4bに格納されていた受信固定長セル1セル1a、1dのデータ14aと、データバッファ4eに格納されていた受信固定長セル1eのデータがメインメモリ14に転送されて可変長フレーム2aに組み立てられる様子を示している。
【0047】
次に、CPUがデータ転送リクエスト9aを受信してデータ転送を行う制御の内容を、図8のデータ転送を行う際のCPUの制御内容を示したフローチャートに従って説明する。
CPU13はフレーム組み立て装置12からデータ転送リクエスト9aを受信すると(s1)、フレーム組み立て装置12から通知される転送バッファ属性情報9bを受信し(s2)、上記転送バッファ属性情報9bに示される共通メモリのアドレスポインタ、転送データのコネクション情報からデータを転送すべきメインメモリのアドレスと転送するデータのサイズを算出する(s3)。
【0048】
CPU13は、DMAコントローラ15に共通メモリ3のアドレスポインタ、メインメモリ14のアドレスポインタおよび転送するデータのサイズを設定し(s4)、DMAコントローラを起動して(s5)共通メモリ3とメインメモリ間のデータのDMA転送を行う(s6)。DMA転送が終了するとDMAコントローラ15はCPUにDMA転送終了を通知し(s7)、CPU13はデータ転送終了情報13aをフレーム組み立て装置12に通知する。さらに、CPU13は共通メモリ3の属性情報バッファ4aに格納されていたフレームエンド情報4a−3を参照して、転送データにフレームエンドデータが含まれていたことを認識すると(s8)、可変長フレームデータのデータ処理を行う上位レイヤにデータ受信を通知する(s9)。
【0049】
以上のように、受信固定長セル1から可変長フレーム2を組み立てる手順として、まずフレーム組立装置12の管理する共通メモリ3のデータバッファ4bに、可変長フレームを複数受信固定長セルデータサイズずつ受信順に分割して格納し、次に上記分割された可変長フレームデータをシステムのメインメモリにDMA転送し、複数回のDMA転送を繰り返してメインメモリで可変長フレームの組立を完成させるようにしているので、データバッファ4bのサイズが可変長フレームのデータ長より短い場合には、可変長フレームを組み立てる際に一つの可変長フレームの全データを共通メモリ3に格納する必要がなくなる。
【0050】
また、可変長フレームの分割データ2をメインメモリ14にDMA転送終了する毎に転送データが格納されていた共通メモリ3の領域を、次の受信固定長セルデータの格納に再利用することができる。さらに、データバッファ4bのサイズが2受信固定長セルサイズ以上である場合には、受信固定長セル1の1セル受信毎にデータをメインメモリに転送することに比較すれば、共通メモリ3のデータバッファ4bで複数の受信固定長セルデータをまとめてからメインメモリ14に転送するので、システムのメインバスを占有するDMA転送の手続きに必要なオーバヘッドが軽減できる。
【0051】
動作例2.
システムが主に受信する受信可変長フレームのデータサイズは、どのような通信を行いどのようなデータを主に受信するかで、システムの種類や主に受信するデータの種類によって異なる。この動作例2は、CPU13が、共通メモリ3内のデータバッファサイズ4bのサイズを管理し、システムが主に受信する可変長フレームのデータサイズに応じて、データバッファ4bのサイズをフレーム組立装置12に任意に設定、変更する。
【0052】
CPU13は、主に受信するフレームのデータレングスの予想値、共通メモリ3のメモリサイズ等の情報から、データバッファ4bに最適なサイズを算出し、データバッファサイズをフレーム組立て装置12に設定する。フレーム組立装置12の組立バッファ管理部11は、受信中の受信固定長セル1を格納しているデータバッファ4bに設定されたデータサイズの受信データを格納すると、組立フレーム管理部10にバッファ残量終了情報11aを通知する。以後の動作は、上記動作例1と同様である。
【0053】
例えば、主に受信する可変長フレームのデータサイズが小さい場合には、データバッファのサイズを、主に受信する可変長フレームのデータサイズと同等の小サイズに設定することで、データバッファ4bを無駄なく利用できる。
また、共通メモリ3のサイズが小さいシステムでも、データバッファ4bのサイズを小さく設定すれば、同時に受信する複数コネクションの可変長フレームを組み立てる共通メモリとして使用することができる。
また、共通メモリ3のサイズが大きくとれるシステムでは、データバッファのサイズを、受信し得る可変長フレームの最大長のデータサイズに設定すれば、共通メモリ3からメインメモリ14への一回のDMA転送で1可変長フレームの全データを転送することができる。
【0054】
なお、この動作例2において、共通メモリ3を構成するRAMは、システムの中で例えばグラフィックス機能などの他の機能のメモリーとしても使用することができ、複数機能でシェアし、ある部分を共通メモリ3として使用することが考えられる。この様な場合には、共通メモリ3に割り当てられるサイズが、他の機能で必要とされるメモリサイズとの関係で、動作中に変更されることも有り得る。共通メモリ3に存在するデータバッファ4bのサイズが任意に変更可能であれば、動作中に共通メモリ3のサイズが小さく変更されても、受信コネクション数を減らすことなく動作できる。
【0055】
動作例3.
この動作例3は、上記動作例2のシステムにおいて、CPU13が設定するデータバッファのサイズが、複数サイズある場合である。
CPU13は、受信するフレームのデータレングスの予想値、共通メモリ3のメモリサイズ等の情報から、データバッファ4bのサイズを複数サイズ決定し、フレーム組立て装置12に設定する。フレーム組立装置12の組立フレーム管理部10は固定長セル1を受信すると、この固定長セルデータから組み立てられる受信可変長フレーム2のサイズに応じて、CPU13が設定した複数サイズのデータバッファの中から最適なサイズのデータバッファを選択し、受信データを格納する。組立バッファ管理部11は、データバッファ4bに各々に設定されたデータサイズの受信データが格納されると、組立フレーム管理部10にバッファ残量終了情報11aを通知する。以後の動作は、上記動作例1と同様である。
【0056】
この動作例3によれば、受信し得る可変長フレームのサイズ、コネクション数から最適なバッファサイズを複数準備することで、小サイズのフレームは小サイズのデータバッファに、大サイズのフレームは大サイズのデータバッファに格納することができ、DAM転送の回数を減らしながら共通メモリ3のサイズを減らすことが可能である。
【0057】
動作例4.
この動作例4は、上記動作例1のシステムにおいて、CPU13がデータバッファ4bの個数を設定できる場合である。
CPU13は、共通メモリ3のメモリサイズや受信する最大コネクション数などの情報から、共通メモリ3のデータバッファ4bの個数を決定し、フレーム組立装置12の空きバッファ管理部8にバッファ数を設定する。空きバッファ管理部8は、CPU13から設定されたバッファ数に従って、空きバッファ情報8aを作成し、組立フレーム管理部10に通知する。以後の動作は動作例1と同様である。
【0058】
CPU13は、共通メモリ3のデータバッファ4bから受信データをメインメモリ14へ転送終了後、転送終了情報13aを、空きバッファ管理部9に通知しないことで、転送データが格納されていたデータバッファ4bを空きバッファに戻さず、データバッファ4bのメモリ領域を例えば他の機能のメモリ領域として使用することも可能である。この様に転送済みデータバッファ4bを空きバッファにしないことで、データバッファ4bの個数を調整することもできる。
【0059】
この動作例4によれば、共通メモリ3のデータバッファ4bの数を制御することで、受信のトラフィックの状況に応じて最低限必要とされるバッファ数を確保することができ、共通メモリ3のサイズを状況に応じて調整することができる。また、共通メモリ3を構成するRAMのある領域が、例えば他の機能によって使用される場合、他機能での使用メモリサイズが増加することが予想される時などに、共通メモリ3の領域を1データバッファずつ共通メモリ領域からはずして、他機能で使用し、他機能でこのメモリ領域が不用になれば共通メモリ3領域に戻す、という制御が簡単に実現できる。
【0060】
動作例5.
上記動作例1においては共通メモリ3の一つのデータバッファ4bが受信データで満たされると転送リクエスト9aを出力したが、この動作例5は、複数のデータバッファ4bが受信データで満たされるまで転送リクエスト9aを出力しない。
フレーム組立装置12の組立てフレーム管理部10がデータ終了情報10cを転送バッファ管理部9に通知するまでは、動作例1と同様の動作をする。データ終了情報10cを受信後、転送バッファ管理部9は、データ終了情報10cを任意の数、受信するまで、または、ある一定の時間が経過するまで、転送リクエスト9aを出力しない。上記の条件が満たされると、転送バッファ管理部9は、CPU13に対して転送リクエスト9aを出力する。また、転送バッファ属性情報9bに、転送待ちの全てのデータバッファの属性を示し、CPU13に通知する。以後の動作は、上記動作例1と同様である。
【0061】
この動作例5によれば、複数のデータバッファ4bのデータをまとめて、転送リクエスト9aを出力することにより、DMA転送の回数を減らすことができるので、DMA転送に伴うオーバーヘッドを軽減できる。
【0062】
実施の形態2.
上記実施の形態1では、共通メモリ3のデータバッファ4bで組み立てた可変長フレームの分割データを、CPU13がシステムのメインメモリ14にDMA転送して、メインメモリ14で可変長フレームの組立を完成するようにしたが、この実施の形態2は、フレーム組立装置12がシステムのメインバスのバスマスターになって共通メモリ3の固定長データバッファ4bで組み立てた可変長フレームの分割データをシステムのメインメモリに転送して、メインメモリ14上で可変長フレーム10立を完成し、上位レイヤに組立が終了した可変長フレームデータを渡す。
【0063】
図9は、この実施の形態2であるデジタルテレビ受信端末装置を示す図で、図1と同一符号はそれぞれ同一部分または相当部分を示している。図において、16はバスマスター部で、転送バッファ管理部9から転送リクエスト9aと転送バッファ属性情報9bを受信すると、システムのメインバス18のバスマスターになるためのバスリクエスト1 6aを出力し、システムのバスマスターとなって共通メモリ3からメインメモリ14へデータを転送する。17はバス調停部で、バスマスター部16からバスリクエスト16aを受信してシステムのメインバスのバスマスターを決定するためのバス調停を行い、バスマスター許可信号17aをバスマスター部16に返送する。
【0064】
動作例1.
次に、実施の形態2の動作例1について説明する。フレーム組立装置12が受信固定長セル1を受信して、共通メモリ3の固定長のデータバッファ4bで可変長フレームの分割データを組立て、転送バッファ管理部9が転送リクエスト9aと転送バッファ属性情報9bを出力するまでの動作は、実施の形態1と同様である。
【0065】
転送リクエスト9aと転送バッファ属性情報9b は、フレーム組立装置12内のバスマスター部16に出力され、転送リクエスト9aと転送バッファ属性情報9bを受信したバスマスター部16は、システムのメインバス18に接続されるメインメモリ14にデータを転送するバスマスターになるために、バス調停部17にバスリクエスト16aを出力する。バス調停部17では、システムのメインバス18のバスマスターになる各ブロックからのバスリクエストを受付け、バスマスター優先順位に応じてバスマスターの権利を与えるブロックを決定している。
【0066】
フレーム組立装置12のバスマスター部16にバスマスターの権利が与えられると、バスマスター許可信号17aがバスマスター部16に通知される。バスマスター許可信号17aを受信すると、バスマスター部16は転送バッファ属性情報9bを参照して共通メモリ3のアドレスポインタをメモリリード制御部6に出力して、共通メモリ3のデータバッファ4bから可変長フレームの分割データ2を読み出す。可変長フレームデータ2はシステムメインバス18に出力され、バスマスター部16は可変長フレームデータ2の共通メモリ3からの出力タイミングに同期してメインメモリ14のライトアドレス1 6bをメインバス8に出力し、メインメモリ14に共通メモリ3から読み出した可変長フレーム分割データ2を書き込む。
【0067】
データの転送が終了すると、バスマスター部16はバスマスターの権利を放棄する。バスマスター部16が転送リクエスト9aを受信するごとに、上記のように転送バッファ属性情報9bを参照しながら共通メモリ3からメインメモリ14に可変長フレーム分割データ2を転送し、メインメモリ14で可変長フレームの組立を完成させる。可変長フレーム2の組立が完了すると、バスマスター部16は上位レイヤであるCPU13に、メインメモリ13のアドレスポインタ、可変長フレームのコネクション、可変長フレームのレングス等の情報を示す可変長フレーム組立情報16dを通知する。
【0068】
以上のように、受信固定長セル1から可変長フレーム2を組み立てる手順として、まずフレーム組立装置12の管理する共通メモリ3のデータバッファ4bに、可変長フレームを複数受信固定長セルデータサイズずつ受信順に分割して格納し、次にフレーム組立装置12がバスマスターになって上記可変長フレームの分割データを受信順にメインメモリ14に転送し、メインメモリ14で可変長フレームの組立を完成させるようにしているので、可変長フレームを組み立てる際に一つの可変長フレームの全データを共通メモリ3に格納する必要がない。
【0069】
また、可変長フレームの分割データ2をメインメモリ14に転送終了する毎に転送データが格納されていた共通メモリ3の領域を、次の受信固定長セルデータの格納に再利用することができる。
さらに、受信固定長セル1の1セル受信毎にデータをメインメモリに転送することに比較すれば、共通メモリで複数の受信固定長セルデータをまとめてからメインメモリ14に転送するので、システムのメインバスを占有する転送の手続きのために必要なオーバヘッドが軽減できる。
【0070】
また、フレーム組立装置12が組立情報を管理してメインメモリ14上で可変長フレームの組立てを完成させるので、CPU13が可変長フレームの組立に携わる実施の形態1と比べてCPU13の負荷が軽減される。
さらに、DMAコントローラ15がデータ転送する場合には、共通メモリ3へのアクセスもメインメモリ14へのアクセスもメインバスを利用するため、同時に両者にアクセスすることは不可能であり、共通メモリ3のデータをリードした後にリードデータをメインメモリ14にライトする動作を行うが、フレーム組立て装置12がバスマスターになる場合は、共通メモリ3へのアクセスはフレーム組立て装置12にローカルなバスで行われるので、共通メモリ3のデータをリードすると同時にメインメモリ14にライトでき、DMA転送に比較してメインバス18を占有する時間が短くなる。
【0071】
実施の形態3.
実施の形態1では、可変長フレーム2が受信され、フレーム組立装置12から転送リクエスト9aが出力すると、CPU13がDMAコントローラ15を起動して共通メモリ3からメインメモリ14へのデータの転送を実施するが、処理速度の遅いCPU13や他の処理等の影響でデータ転送の開始が遅れる、データ転送速度が遅い等の事態が起こると、データ転送が終了する前に次の転送リクエストが発生し、転送待ちのデータバッファが複数できる場合がある。
この実施の形態3は、転送待ちのデータバッファが複数発生した場合に、フレーム組立装置12が、これらの転送待ちのデータバッファを転送リクエストが発生した順に転送するために、転送リクエスト9aと転送バッファ属性情報9b の出力を制御する。
【0072】
図10は、この実施の形態3であるデジタルテレビ受信端末装置を示すブロック図で、図1と同一符号はそれぞれ同一部分または相当部分を示している。図において、19は転送待ち管理部で、上記のように、転送待ちのデータバッファが複数発生した場合、これらの転送待ちのデータバッファを転送リクエストが発生した順に転送するために、転送リクエスト9aと転送データバッファ毎の転送データ属性情報9bを管理する。19aは転送待ち管理部19がCPU13に通知する転送リクエスト、19bは転送バッファ属性情報、13bは転送リクエスト19aを受信したCPU13がDMA転送を開始する際にフレーム組立装置12に通知する転送開始情報である。
【0073】
動作例1.
次に、実施の形態3の動作例1を説明する。フレーム組立装置12が受信固定長セル1を受信して、共通メモリ3のデータバッファ4bに受信データを格納し、データバッファ4bが受信データで満たされるか、可変長フレームのエンドデータを受信するかすると、組立フレーム管理部10が、転送リクエスト9aを出力するまでは、実施の形態1で記載の動作内容と同様である。
【0074】
組立てフレーム管理部10が出力する転送リクエスト9aと、転送バッファ属性情報9b は、転送待ち管理部19が受信する。転送待ち管理部19は、転送リクエスト9aと転送バッファ属性情報9bを、転送待ち管理部19が制御するレジスタを用いて構成するFIFOメモリーに書き込む。このFIFOの読み出しデータである転送リクエスト19aと転送属性情報19bをCPU13に通知する。CPU13は転送リクエスト19aを受けてDMA転送を起動し、転送開始情報13bをフレーム組立装置12の転送待ち管理部19に通知する。
【0075】
転送開始情報13bを受信すると、転送待ち管理部19はFIFOの先頭の転送リクエストデータを破棄し、次の転送リクエストデータを読み出す。この際に、転送リクエスト9aが2つ以上FIFOに書かれていた場合は、続いて転送リクエスト19aがCPU13に出力されるが、転送リクエスト9aが1つしかFIFOに書かれていなかった場合は、FIFOの先頭データが破棄された時点で、CPU13への転送リクエスト19aが停止する。転送リクエスト19aと同期して転送バッファ属性情報19bも、FIFOを経てCPU13に順に出力される。転送リクエスト19aを受信したCPU13がDMA転送を開始した後の動作は、実施の形態1の動作と同様である。
【0076】
以上のように動作するので、システムの処理速度が遅い等の理由により、フレーム組立装置12が転送リクエスト9aを出力してから、次の転送リクエスト9aが発生するまでの間に、前のデータ転送が終了していない、または開始していない様な事態が発生しても、CPU13からの転送開始情報13bを受信するまでは転送リクエスト9a 、転送バッファ属性情報9b の各情報が失われず、転送リクエストが発生した順に、データバッファ4bのデータをメインメモリ14にDMA転送することができる。
このため他の機能がメインバス18を頻繁に使用する必要が生じている場合には、共通メモリからメインメモリへのデータ転送を待たせることができ、システム全体としてメインバスの有効な利用が可能になる。
【0077】
動作例2.
この動作例2は、転送待ち管理部19における転送リクエスト9aと転送バッファ属性情報9bを格納するFIFOメモリーを、共通メモリ3を構成するRAMの一領域を利用して構成したものである。
【0078】
この動作例2によれば、多数の転送待ちデータバッファが発生すると予想されるシステムにおいて、転送バッファ属性情報9bを複数組のレジスタで保持することは負担が大きいが、共通メモリ3を構成するRAMにおいては、わずかなサイズにしかならない。フレーム組立装置12に多くのレジスタを持てないシステムでは、RAMの領域を利用することで多数のレジスタ削減が期待できる。
【0079】
【発明の効果】
この発明は、以上説明したように構成されているので、以下に示すような効果を奏する。
【0080】
受信固定長セルデータを格納する小サイズのデータバッファ列で構成される共通メモリを備え、一つのデータバッファが受信データで満たされる毎に、上記データバッファに格納されたデータをシステムのメインメモリに転送し、データバッファからメインメモリへの複数回のデータ転送を繰り返すことによりメインメモリ上で可変長フレームの組立を完成させる構成としたので、可変長フレームを組み立てる際に一つの可変長フレームの全データを一旦全て共通メモリに格納する必要がなくなるので、共通メモリのサイズを小さくすることができる。
また、可変長フレームの分割データを上位レイヤにDMA転送終了する毎に転送データが格納されていた共通メモリのデータバッファの領域を次の受信固定長セルデータの格納に再利用することができ、データを格納中のデータバッファ以外は空きバッファとして扱えるので、より有効に共通メモリを利用することができ、共通メモリのサイズを小さくすることができる。
また、共通メモリで複数の受信固定長セルデータをまとめてシステムのメインメモリに転送することにより、システムのメインバスを占有するオーバヘッドが軽減でき、システム全体の処理能力を上げることができるという効果がある。
【0081】
また、より有効に共通メモリを利用することができ、共通メモリのサイズを小さくすることができる。また、CPUの負荷が軽減できるので、システム全体に関するCPUの処理能力を上げることができる。さらに、システムのメインバスを占有する時間が短縮でき、システム全体の処理能力を上げることができる。
【0082】
また、共通メモリをシステムに最適なサイズで小さくすることができる。
【0083】
また、効率のよい共通メモリの利用が実現でき、共通メモリを小さくすることができる。
【0084】
また、共通メモリをシステムに最適なサイズで小さくすることができる。
【0085】
また、共通メモリからメインメモリへのDMA転送のリクエストに必要なオーバーヘッドを小さくすることができ、メインバスが効率よく利用できる。
【0086】
また、共通メモリからメインメモリへのデータ転送のためのバスマスター調停に必要なオーバーヘッドを小さくすることができ、メインバスが効率よく利用できる。
【0087】
また、メインバスが他機能に使用されていない時間まで待って、共通メモリからメインメモリへデータを転送でき、システムメインバスを有効に利用することができる。
【0088】
また、メインバスが他のブロックに使用されていない時間まで待って、共通メモリからメインメモリへデータを転送でき、メインバスを有効に使用することができる。
さらに、フレーム組み立て装置のレジスタを少なくすることができる。
【0089】
また、効率よく共通メモリとメインバスを使用しながら受信可変長フレームを組み立てることができるので、小サイズの共通メモリしか搭載されていなくても、システム全体の処理能力が低下しない。
【図面の簡単な説明】
【図1】 この発明の実施の形態1であるデジタルテレビ受信端末装置を示すブロック図である。
【図2】 実施の形態1のフレーム組立装置の共通メモリに存在するバッファの構成を示す図である。
【図3】 実施の形態1のフレーム組立装置の共通メモリに存在するデータバッファに受信データが格納される様子の一例を示した図である。
【図4】 実施の形態1のフレーム組立装置の共通メモリに存在するデータバッファに受信データが格納される様子の一例を示した図である。
【図5】 実施の形態1のフレーム組立装置の共通メモリに存在するデータバッファに受信データが格納される様子の一例を示した図である。
【図6】 実施の形態1のフレーム組立装置の共通メモリに存在するデータバッファに受信データが格納される様子の一例を示した図である。
【図7】 実施の形態1のフレーム組立装置の共通メモリに存在するデータバッファに受信データが格納される様子の一例を示した図である。
【図8】 実施の形態1においてデータ転送を行うCPUの制御内容を示すフローチャートである。
【図9】 この発明の実施の形態2であるデジタルテレビ受信端末装置を示すブロック図である。
【図10】 この発明の実施の形態3であるデジタルテレビ受信端末装置を示すブロック図である。
【図11】 従来のフレーム組立装置の受信バッファ管理方式を示す図である。
【符号の説明】
1,1a〜1h 受信固定長セル、2,2a 可変長フレームデータ、3 共通メモリ、4a 属性情報バッファ、4a−1 コネクション情報、4a−2 フレームレングス情報、4a−3 フレームエンド情報、4b〜4f データバッファ、5 受信固定長セル属性管理部、5a レングス情報、5b エンドセル情報、5c スタートセル情報、5d コネクション情報、5e セル受信通知、6 メモリリード制御部、6a リードアドレスデータ、6b リード制御パルス、6c リードアドレスポインタ、7 メモリライト制御部、7a ライトアドレスデータ、7b ライト制御パルス、8 空きバッファ管理部、8a 空きバッファ情報、9 転送バッファ管理部、9a 転送リクエスト、9b 転送バッファ属性情報、10 組立フレーム管理部、10a アドレスポインタ、10b 属性情報、10c データ終了情報、10d 空きバッファ使用情報、11 組立バッファ管理部、11a バッファ残量終了情報、12 フレーム組立装置、13 CPU、13a 転送終了情報、13b 転送開始情報、14 メインメモリ、14a〜14b 可変長フレーム途中データ、15 DMAコントローラ、16 バスマスター部、16a バスリクエスト、16b ライトアドレス、16d 可変長フレーム組立情報、17 バス調停部、17a バスマスター許可信号、18 システムメインバス、111−1〜111−3 空きバッファ(サイズa)、112−1〜112−4 空きバッファ(サイズb)、121〜122 空きバッファディスクリプタ、123 受信済みバッファディスクリプタ。[0001]
BACKGROUND OF THE INVENTION
The present invention uses a digital television receiving method having a frame assembling apparatus that receives a fixed-length cell such as an ATM cell and assembles a variable-length frame on a main memory of the system by effectively using a common buffer, and the receiving method. The present invention relates to a digital television receiving terminal device.
[0002]
[Prior art]
In a frame assembling apparatus that receives a fixed-length cell such as an ATM cell and assembles a variable-length frame to be passed to an upper layer, there is a common buffer method as one of memory buffering methods for temporarily storing the fixed-length cell. In the common buffer method, when assembling frames with different connections, a buffer is not provided for each connection, but a buffer is shared by a plurality of connections.
[0003]
In the common buffer system, a memory such as a RAM for storing received fixed-length cells is logically divided into fixed-size buffers, and the start address of the divided buffer is set as an address indicating this buffer. There is a field for storing a pointer in the buffer, and this pointer indicates a buffer following the own buffer, thereby forming a necessary buffer string (in this specification, even when there is only one buffer, it may be referred to as a buffer string). is there).
[0004]
FIG. 11 is a diagram showing a conventional reception buffer management method disclosed in Japanese Patent Application Laid-Open No. 4-237238. 111-1 to 111-3 are empty reception buffers having a size (hereinafter referred to as “empty buffer”). 112-1 to 112-4 are empty buffers of size b (b <a). Reference numeral 113-1 denotes a reception buffer having a size b in which received packets are stored (hereinafter referred to as “received buffer”). Buffers 111-1 to 111-3, 112-1 to 112-4, and 113-1 are placed in a
121 and 122 are empty buffer descriptors that store the pointers of the first empty buffer in the empty buffer string described later, and 123 is a received buffer descriptor that stores a pointer of the first empty buffer in the received buffer string described later.
[0005]
Next, the operation will be described. In FIG. 11, the free buffers 111-1 to 111-3 constitute a free buffer string (free buffer chain) for size a in which the free buffer 111-1 is the first buffer and the free buffer 111-3 is the final buffer. ing. The empty buffers 112-1 to 112-4 constitute a size b empty buffer sequence (empty buffer chain) in which the empty buffer 112-1 is the first buffer and the empty buffer 112-4 is the final buffer. .
[0006]
When a data packet of size L is received, the head 111-1 of the column of the empty buffer of size a is satisfied if a ≧ L> b, and the
[0007]
Although not described in the above conventional example, when the received buffer 113-1 is connected to the received buffer string, the upper layer management is performed in order to pass the variable length frame data of the received buffer 113-1 to the upper layer. Request the block to transfer data from the received buffer. Generally, the upper layer is managed by the CPU of the system, and data passed to the upper layer is transferred to the main memory of the system. The CPU requested to transfer data from the received buffer transfers the variable-length frame data in the received buffer 113-1 to the main memory of the system by DMA or the like. When the data transfer is completed, the received buffer 113-1 is removed from the received data buffer and returned to the empty buffer column again.
[0008]
[Problems to be solved by the invention]
In the conventional example, since the variable length frame is assembled in the common memory and then transferred to the upper layer, the buffer for receiving the fixed length cell such as an ATM cell and assembling the variable length frame is used as a buffer. Therefore, it is necessary to prepare a maximum length size of frame data that can be received so that all data of one variable length frame can be stored.
[0009]
Further, in the above-described conventional example, by providing a plurality of empty buffer columns having different sizes, there is an advantage that it is possible to prevent the received data having a small size from occupying a buffer having a large size and use the memory area effectively. The buffer of the maximum length of frame data that can still be received must be prepared.
Furthermore, since it is necessary to prepare a plurality of buffers corresponding to a plurality of connections that can be received at the same time, this has a problem that a burden is increased for a system that cannot afford a memory size.
[0010]
In addition, even if there is a buffer that can store the maximum length of data that can be received for the maximum number of connections that can be received simultaneously, the received data of the maximum number of simultaneous receptions that has the maximum reception data size can be stored. If received at the same time, all the empty buffers are removed from the empty buffer string, so there is no empty buffer remaining in the empty buffer string. At this time, when reception data of a plurality of connections is continuously received, a plurality of buffers are continuously received buffers, frame data is DMA-transferred from the received buffers to an upper layer, and the received buffers are again empty buffer strings. During the waiting time that occurs before switching to the vacant buffer, there will be no vacant buffer in the vacant buffer column, and if a new received cell is received continuously, there will be a problem that the data of this received cell is missed. .
[0011]
To solve this problem, it is sufficient to have more memory in the common memory than the maximum number of connections that can receive the maximum length of data that can be received at the same time. The burden is great for.
[0012]
In addition to the above-described conventional example, a method is conceived in which a large number of small reception buffers of a small size are chained and as many buffers as necessary are removed from the chain. This method also prevents small reception data from occupying a large reception buffer unnecessarily, and can effectively use the memory. However, as in the above-described conventional example, data is transferred to the upper layer after frame assembly is completed. Therefore, it is necessary to secure a total buffer size capable of storing all the data of the maximum length frame that can be received in the common memory.
[0013]
Further, when the buffer size is small and the data size of the frame assembled from the reception cell is large, the frame data is divided and stored in a plurality of buffers, and link information of the plurality of buffers is required. A memory area for storing the link information of the plurality of buffers is required, which increases the burden on a system that cannot afford a memory size.
[0014]
In a method of receiving a reception fixed-length cell, assembling a variable-length frame, and transferring variable-length frame data to a main memory of a system that is accessed by an upper layer, the frame assembly device does not use a local common memory. If the variable length frame is assembled using only the memory, the common memory becomes unnecessary and the memory can be saved.
However, in the above method, every time a received fixed-length cell is received, an overhead such as a data transfer request is generated in the main bus of the system. Therefore, a method of assembling a variable-length frame using only the main memory has the above overhead. Considering the main bus usage rate that is spent, it is not an appropriate method.
[0015]
The present invention has been made to solve the above-described problems, and is a small scale that efficiently uses a data buffer in a home digital television receiving terminal (STB) or the like that cannot afford a memory size. It is an object of the present invention to obtain a digital television reception method that realizes assembly of a reception variable length frame using a common memory and a main memory of a system, and a digital television reception terminal device using this reception method.
[0016]
[Means for Solving the Problems]
A receiving apparatus according to the present invention is a receiving apparatus that assembles frame data composed of cell data based on input cell data, the data buffer storing the cell data, and the data buffer Frame assembly means for controlling the storage of the cell data in the memory and the output of the cell data stored in the data buffer, storage means for storing the cell data output from the data buffer, and frame assembly means Control means for controlling the transfer of the cell data from the data buffer to the storage means according to the control, and the storage capacity of each data buffer in the plurality of data buffers is greater than the data size of the frame data Is also made small The frame assembly means stores means for storing the cell data in the data buffer based on predetermined information contained in the cell data, and means for outputting remaining amount end information indicating the end of the remaining amount of the data buffer. And means for outputting transfer information indicating that the cell data stored in the data buffer is output to the storage means according to the remaining amount end information, and the control means is responsive to the transfer information. After the cell data stored in the data buffer is transferred to the storage means, the frame data is assembled by transferring the cell data corresponding to the final data of the frame data to the storage means. The
[0026]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, the present invention will be specifically described with reference to the drawings showing embodiments thereof.
FIG. 1 is a diagram showing a digital television receiving terminal apparatus according to
[0027]
Reference numeral 12 denotes a frame assembling apparatus, and
[0028]
A memory write control unit 7 outputs address data 7a and a write control pulse 7b for writing data to the
[0029]
[0030]
Reference numeral 11 denotes an assembly buffer management unit that manages the remaining buffer capacity of the data buffers 4b to 4f that are assembling the
[0031]
A
[0032]
FIG. 2 is a diagram showing the configuration of the
[0033]
For example, in ATM communication, the
[0034]
3 to 7 show that when the reception fixed-length cells 1a to 1h are stored in the data buffers 4b to 4f of the
[0035]
Operation Example 1
Next, an operation example 1 of the first embodiment will be described.
First, when the frame assembling apparatus 12 receives the reception fixed
[0036]
When the reception of the start cell of the
[0037]
The memory write controller 7 notified of the address pointer 10a outputs the address data 7a and the write control pulse 7b, and stores the data of the reception fixed
FIG. 3 shows how received fixed-length cells 1a, 1b, and 1c, which are start cells of different connections, are stored in
[0038]
Next, when the frame assembling apparatus 12 receives the reception fixed
FIG. 4 shows how the received fixed-length cell 1d is stored in the
[0039]
If multiple reception fixed-
[0040]
When the buffer remaining amount end information 11a is received, the assembly
[0041]
When the transfer request 9a is received, the
[0042]
As described above, when the end data of the
FIG. 5 shows a state in which the received fixed-length cell 1e, which is a data cell following the data stored in the transferred
[0043]
When the reception fixed
[0044]
The
FIG. 6 shows how the received fixed-
[0045]
When the DMA transfer of data to the
[0046]
Each time the
6 and 7 show that the data 14a of the reception fixed length cell 1a, 1d stored in the
[0047]
Next, the contents of control in which the CPU receives the data transfer request 9a and performs data transfer will be described with reference to the flowchart showing the control contents of the CPU when performing data transfer in FIG.
When the
[0048]
The
[0049]
As described above, as a procedure for assembling the variable-
[0050]
In addition, the area of the
[0051]
Example of
The data size of the reception variable-length frame that is mainly received by the system differs depending on the type of system and the type of data that is mainly received depending on what communication is performed and what data is mainly received. In this operation example 2, the
[0052]
The
[0053]
For example, when the data size of a variable-length frame that is mainly received is small, the
Further, even in a system where the size of the
In a system in which the size of the
[0054]
In this operation example 2, the RAM constituting the
[0055]
Operation Example 3
This operation example 3 is a case where there are a plurality of data buffer sizes set by the
The
[0056]
According to this operation example 3, by preparing a plurality of optimum buffer sizes based on the size of the variable-length frame that can be received and the number of connections, a small frame is stored in a small data buffer, and a large frame is stored in a large size. The size of the
[0057]
Operation Example 4
This operation example 4 is a case where the
The
[0058]
After the transfer of received data from the
[0059]
According to this operation example 4, by controlling the number of
[0060]
Example of
In the above operation example 1, when one
The same operation as in the operation example 1 is performed until the assembly
[0061]
According to the fifth operation example, the number of DMA transfers can be reduced by collecting the data in the plurality of
[0062]
In the first embodiment, the
[0063]
FIG. 9 is a diagram showing a digital television receiving terminal apparatus according to the second embodiment. The same reference numerals as those in FIG. 1 denote the same or corresponding parts. In the figure,
[0064]
Operation Example 1
Next, an operation example 1 of the second embodiment will be described. The frame assembling apparatus 12 receives the reception fixed-
[0065]
The transfer request 9a and the transfer buffer attribute information 9b are output to the
[0066]
When the bus master right is given to the
[0067]
When the data transfer is completed, the
[0068]
As described above, as a procedure for assembling the variable-
[0069]
Further, every time transfer of the divided
Furthermore, compared with the case where data is transferred to the main memory every time one cell of the reception fixed
[0070]
Further, since the frame assembly device 12 manages the assembly information and completes the assembly of the variable length frame on the
Further, when the
[0071]
In the first embodiment, when the variable-
In the third embodiment, when a plurality of data buffers waiting to be transferred are generated, the frame assembly device 12 transfers the data buffers waiting for transfer in the order in which the transfer requests are generated. Controls the output of attribute information 9b.
[0072]
FIG. 10 is a block diagram showing a digital television receiving terminal apparatus according to the third embodiment. The same reference numerals as those in FIG. 1 denote the same or corresponding parts, respectively. In the figure,
[0073]
Operation Example 1
Next, an operation example 1 of the third embodiment will be described. Whether the frame assembling apparatus 12 receives the reception fixed
[0074]
The transfer
[0075]
When the transfer start information 13b is received, the transfer waiting
[0076]
Since the operation is performed as described above, the previous data transfer is performed after the frame assembly apparatus 12 outputs the transfer request 9a until the next transfer request 9a is generated due to a slow processing speed of the system. Even if a situation occurs such that the transfer request 9a and the transfer buffer attribute information 9b are not lost until the transfer start information 13b is received from the
For this reason, when other functions need to use the
[0077]
Example of
In this operation example 2, the FIFO memory for storing the transfer request 9 a and the transfer buffer attribute information 9 b in the transfer waiting
[0078]
According to this operation example 2, in a system in which a large number of transfer-waiting data buffers are expected to be generated, it is burdensome to hold the transfer buffer attribute information 9b with a plurality of sets of registers, but the RAM constituting the
[0079]
【The invention's effect】
Since the present invention is configured as described above, the following effects can be obtained.
[0080]
A common memory consisting of a small-sized data buffer array for storing received fixed-length cell data is provided. Every time one data buffer is filled with received data, the data stored in the data buffer is stored in the system main memory. Transfer, and repeating the data transfer from the data buffer to the main memory a plurality of times to complete the assembly of the variable length frame on the main memory, so when assembling the variable length frame, Since it is not necessary to store all the data in the common memory, the size of the common memory can be reduced.
In addition, each time the DMA transfer of the variable length frame divided data to the upper layer is completed, the data buffer area of the common memory in which the transfer data is stored can be reused for storing the next received fixed length cell data. Since the data buffer other than the data buffer storing data can be handled as an empty buffer, the common memory can be used more effectively, and the size of the common memory can be reduced.
Also, by transferring a plurality of received fixed-length cell data in a common memory to the main memory of the system, the overhead that occupies the main bus of the system can be reduced, and the processing capacity of the entire system can be increased. is there.
[0081]
In addition, the common memory can be used more effectively, and the size of the common memory can be reduced. In addition, since the load on the CPU can be reduced, the processing capacity of the CPU related to the entire system can be increased. Furthermore, the time for occupying the main bus of the system can be shortened, and the processing capacity of the entire system can be increased.
[0082]
In addition, the common memory can be reduced to an optimum size for the system.
[0083]
Further, efficient use of the common memory can be realized, and the common memory can be reduced.
[0084]
In addition, the common memory can be reduced to an optimum size for the system.
[0085]
In addition, overhead required for a DMA transfer request from the common memory to the main memory can be reduced, and the main bus can be used efficiently.
[0086]
Also, the overhead required for bus master arbitration for data transfer from the common memory to the main memory can be reduced, and the main bus can be used efficiently.
[0087]
In addition, after waiting for a time when the main bus is not used for other functions, data can be transferred from the common memory to the main memory, and the system main bus can be used effectively.
[0088]
In addition, data can be transferred from the common memory to the main memory after waiting until the main bus is not used for other blocks, and the main bus can be used effectively.
Further, the number of registers in the frame assembly device can be reduced.
[0089]
In addition, since the reception variable length frame can be assembled using the common memory and the main bus efficiently, even if only a small common memory is mounted, the processing capacity of the entire system does not deteriorate.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a digital television receiving terminal apparatus according to
FIG. 2 is a diagram illustrating a configuration of a buffer existing in a common memory of the frame assembling apparatus according to the first embodiment.
3 is a diagram showing an example of how received data is stored in a data buffer existing in a common memory of the frame assembling apparatus of
4 is a diagram showing an example of how received data is stored in a data buffer existing in a common memory of the frame assembling apparatus of
FIG. 5 is a diagram showing an example of how received data is stored in a data buffer existing in a common memory of the frame assembling apparatus according to the first embodiment;
6 is a diagram showing an example of how received data is stored in a data buffer existing in a common memory of the frame assembling apparatus of
7 is a diagram showing an example of how received data is stored in a data buffer existing in a common memory of the frame assembling apparatus of
FIG. 8 is a flowchart illustrating control contents of a CPU that performs data transfer in the first embodiment.
FIG. 9 is a block diagram showing a digital television receiving terminal device according to a second embodiment of the present invention.
FIG. 10 is a block diagram showing a digital television receiving terminal apparatus according to
FIG. 11 is a diagram illustrating a reception buffer management method of a conventional frame assembling apparatus.
[Explanation of symbols]
1, 1a to 1h Receive fixed length cell, 2, 2a Variable length frame data, 3 Common memory, 4a Attribute information buffer, 4a-1 Connection information, 4a-2 Frame length information, 4a-3 Frame end information, 4b to 4f Data buffer, 5 reception fixed length cell attribute management unit, 5a length information, 5b end cell information, 5c start cell information, 5d connection information, 5e cell reception notification, 6 memory read control unit, 6a read address data, 6b read control pulse, 6c read address pointer, 7 memory write control unit, 7a write address data, 7b write control pulse, 8 free buffer management unit, 8a free buffer information, 9 transfer buffer management unit, 9a transfer request, 9b transfer buffer attribute information, 10 assembly Frame management unit, 10a add Les pointer, 10b attribute information, 10c data end information, 10d free buffer usage information, 11 assembly buffer management unit, 11a buffer remaining amount end information, 12 frame assembly device, 13 CPU, 13a transfer end information, 13b transfer start information, 14 Main memory, 14a-14b Variable length frame intermediate data, 15 DMA controller, 16 Bus master unit, 16a Bus request, 16b Write address, 16d Variable length frame assembly information, 17 Bus arbitration unit, 17a Bus master enable signal, 18 System main Bus, 111-1 to 111-3 Free buffer (size a), 112-1 to 112-4 Free buffer (size b), 121 to 122 Free buffer descriptor, 123 Received buffer descriptor.
Claims (8)
上記セルデータが格納される複数のデータバッファと、
上記データバッファへの上記セルデータの格納、および上記データバッファに格納された上記セルデータの出力を制御するフレーム組立て手段と、
上記データバッファから出力された上記セルデータを格納する記憶手段と、
上記フレーム組立て手段の制御に応じて、上記データバッファから上記記憶手段への上記セルデータの転送を制御する制御手段とを備え、
上記複数のデータバッファにおける各データバッファの記憶容量は、上記フレームデータのデータサイズよりも小さく構成され、
上記フレーム組立て手段は、
上記セルデータに含まれる所定の情報に基づいて上記データバッファに上記セルデータを格納する手段と、
上記データバッファの残量の終了を示す残量終了情報を出力する手段と、
上記残量終了情報に応じて上記データバッファに格納された上記セルデータを上記記憶手段に出力する旨の転送情報を出力する手段とを備え、
上記制御手段は、上記転送情報に応じて上記データバッファに格納された上記セルデータを上記記憶手段に転送した後に、上記フレームデータの最終データに対応する上記セルデータを上記記憶手段に転送することによって上記フレームデータを組立てるように構成されてなる受信装置。A receiving device that assembles frame data composed of the cell data based on the input cell data,
A plurality of data buffers for storing the cell data;
Frame assembly means for controlling the storage of the cell data in the data buffer and the output of the cell data stored in the data buffer;
Storage means for storing the cell data output from the data buffer;
Control means for controlling transfer of the cell data from the data buffer to the storage means in accordance with the control of the frame assembling means;
The storage capacity of each data buffer in the plurality of data buffers is configured to be smaller than the data size of the frame data ,
The frame assembling means is
Means for storing the cell data in the data buffer based on predetermined information contained in the cell data;
Means for outputting remaining amount end information indicating the end of the remaining amount of the data buffer;
Means for outputting transfer information indicating that the cell data stored in the data buffer is output to the storage means according to the remaining amount end information;
The control means transfers the cell data corresponding to the final data of the frame data to the storage means after transferring the cell data stored in the data buffer to the storage means according to the transfer information. A receiving apparatus configured to assemble the frame data by:
上記制御手段は、上記複数のデータバッファのうち、一のデータバッファに格納されたセルデータを転送する旨を示す一の転送情報が上記転送待ち管理手段に入力された後、上記一のデータバッファに格納された上記セルデータの上記記憶手段への転送が終了するまでの間に、他のデータバッファに格納されたセルデータを転送する旨を示す他の転送情報が上記転送待ち管理手段に入力された場合、上記転送情報が発生した順に、当該転送情報に対応する上記セルデータを転送するように構成されてなる請求項1に記載の受信装置。Further comprising transfer waiting management means for managing the transfer information,
The control means receives the transfer information indicating that cell data stored in one data buffer of the plurality of data buffers is transferred to the transfer waiting management means, and then transfers the one data buffer. Other transfer information indicating that cell data stored in another data buffer is to be transferred is input to the transfer waiting management means until the transfer of the cell data stored in the memory to the storage means is completed. If it is, in the order in which the forwarding information is generated, the receiving apparatus according to claim 1 configured to transfer the cell data corresponding to the transfer information.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32449697A JP3752809B2 (en) | 1997-11-26 | 1997-11-26 | Digital television receiving method and digital television receiving terminal device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32449697A JP3752809B2 (en) | 1997-11-26 | 1997-11-26 | Digital television receiving method and digital television receiving terminal device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11163930A JPH11163930A (en) | 1999-06-18 |
JP3752809B2 true JP3752809B2 (en) | 2006-03-08 |
Family
ID=18166463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP32449697A Expired - Fee Related JP3752809B2 (en) | 1997-11-26 | 1997-11-26 | Digital television receiving method and digital television receiving terminal device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3752809B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6473435B1 (en) * | 2000-06-30 | 2002-10-29 | Marconi Communications, Inc. | Method and apparatus for transferring packets to a memory |
-
1997
- 1997-11-26 JP JP32449697A patent/JP3752809B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11163930A (en) | 1999-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6414961B1 (en) | ATM switching with virtual circuit FIFO buffers | |
JP2848400B2 (en) | Switching device for prioritized information packets | |
CN112084136B (en) | Queue cache management method, system, storage medium, computer device and application | |
US6252879B1 (en) | Single counter for controlling multiple finite state machines in a multi-port bridge for local area network | |
JPS60142439A (en) | Store buffer device | |
US6301256B1 (en) | Selection technique for preventing a source port from becoming a destination port in a multi-port bridge for a local area network | |
JP2628701B2 (en) | Switch for prioritized information packets | |
US7216185B2 (en) | Buffering apparatus and buffering method | |
KR100348545B1 (en) | Communication dma device | |
JP3752809B2 (en) | Digital television receiving method and digital television receiving terminal device | |
US8073999B2 (en) | Data input-output control apparatus | |
JP3186707B2 (en) | ATM communication controller | |
JPH0831877B2 (en) | Packet switch | |
JP2937218B2 (en) | Buffer memory management method for data link protocol controller | |
JPH02310649A (en) | Reception frame transfer system and communication controller | |
JP3476660B2 (en) | ATM switch | |
JPS62221238A (en) | Packet transfer processor | |
JP2789654B2 (en) | Buffer control method | |
JP3094346B2 (en) | Image memory device | |
JP2527066B2 (en) | Reception queue processor | |
JPH06334705A (en) | Communication controller | |
JPH0298764A (en) | File data transfer control system | |
JPS61256847A (en) | Packet exchange | |
JPS63237156A (en) | Picture input processing system | |
JPH0728750A (en) | Interface converter |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20040625 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050201 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050208 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050407 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050817 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050920 |
|
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: 20051122 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051205 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091222 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091222 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101222 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111222 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111222 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121222 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |