JP3752809B2 - Digital television receiving method and digital television receiving terminal device - Google Patents

Digital television receiving method and digital television receiving terminal device Download PDF

Info

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
Application number
JP32449697A
Other languages
Japanese (ja)
Other versions
JPH11163930A (en
Inventor
晶子 前野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP32449697A priority Critical patent/JP3752809B2/en
Publication of JPH11163930A publication Critical patent/JPH11163930A/en
Application granted granted Critical
Publication of JP3752809B2 publication Critical patent/JP3752809B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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 buffer unit 14 configured by a main memory or the like.
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 head buffer 112 of the column of the empty buffer of size b is satisfied if b ≧ L. -1 is removed from the corresponding empty buffer string, the next empty buffer 112-2 is the head of this empty buffer string, and fixed-length received data is sequentially stored in the buffer removed from the empty buffer string. . When all received data is stored in the buffer removed from the empty buffer string and a variable-length frame is assembled, the buffer is connected to the end of the received buffer string (received buffer chain), and the received packet storing process is completed.
[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.
Embodiment 1 FIG.
FIG. 1 is a diagram showing a digital television receiving terminal apparatus according to Embodiment 1 of the present invention. In the figure, reference numeral 1 is a fixed-length receiving cell, 3 is a memory such as a RAM, which is logically divided into fixed-length buffers, for storing the received fixed-length cell 1 and assembling a variable-length frame 2 This is a common memory local to the frame assembling apparatus 12, which is composed of fixed-length data buffers 4 b to 4 f and an attribute information buffer 4 a to which attribute information of data stored in the data buffers 4 b to 4 f is written.
[0027]
Reference numeral 12 denotes a frame assembling apparatus, and reference numeral 5 denotes a reception fixed-length cell attribute management unit, which detects various attributes of the reception fixed-length cell and notifies that the reception fixed-length cell 1 has been received, Output the connection information 5d of the fixed length cell 1, the length information 5a for notifying the length of the variable length frame 2 assembled from the reception fixed length cell 1, and the start cell information 5c or the end cell information 5b of the reception fixed length cell 1. To do. A memory read control unit 6 receives a read address pointer 6c of the common memory 3 to be read from a DMA controller 15 (to be described later) and reads the read address data 6a and the read control in order to read data of the common memory 3 from a CPU 13 (to be described later). The pulse 6b is output.
[0028]
A memory write control unit 7 outputs address data 7a and a write control pulse 7b for writing data to the common memory 3. An empty buffer management unit 8 receives transfer end information 13a from a CPU 13 (to be described later) and empty buffer usage information 10d from an assembly frame management unit 10 (to be described later), and manages the empty buffers of the data buffers 4b to 4f. Information 8a is output.
[0029]
Reference numeral 10 denotes an assembly frame management unit which receives length information 5a, end cell information 5b, start cell information 5c, connection information 5d, cell reception notification 5e from the reception fixed length cell attribute management unit 5, and free buffer information 8a from the free buffer management unit 8. And the buffer remaining amount end information 11a from the assembly buffer management unit 11 described later, manages the frame length of the variable length frame 2 being assembled, and stores the received fixed length cell 1 in the address pointer of the common memory 3 10a, the attribute information 10b to be written to the attribute information buffer 4a of the common memory 3, and the remaining buffer capacity of the data buffers 4b to 4f of the common memory 3 when the assembly of the variable length frame 2 is completed or during the assembly of the variable length frame 2 The data end information 10c and the received data stored in an unused empty buffer And outputs the be free buffer usage information 10d.
[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 variable length frame 2, and outputs the remaining buffer end information 11a when the remaining buffer capacity is exhausted. A transfer buffer management unit 9 receives the buffer end information 11a, and transfers a data transfer request 9a for requesting the CPU 13 to transfer the data buffers 4b to 4f and the attribute information buffer 4a data to the main memory 14, and data to be transferred. The transfer buffer attribute information 9b indicating the attribute of the data stored in the buffers 4b to 4f is output to the CPU 13.
[0031]
A system CPU 13 receives the transfer request 9a and the transfer buffer attribute information 9b from the transfer buffer management unit 9 of the frame assembling apparatus 12, and transfers the variable-length frame data 2 from the common memory 3 according to the transfer buffer attribute information 9b. It has a function of managing DMA assembly completion of variable length frames on the main memory 14 by DMA transfer to the main memory 14. Reference numeral 15 denotes a DMA controller which is started when the CPU 13 DMA-transfers data from the common memory 3 to the main memory 14. Reference numeral 18 denotes a system main bus. The main memory 14, the CPU 13, the DMA controller 15, and the frame assembly apparatus 12 are the main bus 18. Send and receive data to and from each other.
[0032]
FIG. 2 is a diagram showing the configuration of the data buffer 4b and the attribute information buffer 4a. For one data buffer 4b, there is one attribute information buffer 4a in which attribute information of received data stored in the data buffer 4b is displayed. The data buffer 4b stores the received data of the fixed-length cell 1, the size of the data buffer 4b is the same as or larger than the data size of the fixed-length cell 1, and the variable-length frame assembled from the received fixed-length cell 1 The data size is equal to or smaller than the data size of 2.
[0033]
For example, in ATM communication, the data buffer 4b is 48 bytes or more. Attribute information 10b output from the assembly frame management unit 10 shown in FIG. 1 is written in the attribute information buffer 4a. The attribute information 10b includes connection information 4a-1, frame length information 4a-2, frame end information 4a-3, and the like. The connection information 4a-1 is an area for displaying the connection of the reception fixed length cell 1 stored in the data buffer 4b, and the frame length information 4a-2 is the byte length of the variable length frame 2 assembled by the data buffer 4b and the main memory 14. The display area, frame end information 4a-3 is an area for displaying frame end information when the end data of the variable length frame 2 assembled with the data of the reception fixed length cell 1 is stored in the data buffer 4b.
[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 common memory 13, and the data buffers 4b to 4f are filled, the data stored in the data buffers 4b to 4f is main. It is the figure which showed an example of a mode that it was transferred to the memory. Reception fixed length cells 1a, 1d, and 1e are the same connection, 1b and 1f are the same connection, 1g and 1h are the same connection cells, reception fixed length cells 1a, 1b, 1c, and 1g are start cells, and 1e is an end cell. It is. For example, the reception fixed-length cells 1a, 1d, and 1e of the same connection have 1a as a start cell and 1e as an end cell, and one variable-length frame 14a is assembled with the data of the three reception fixed-length cells 1a, 1d, and 1e. It is done.
[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 length cell 1, the reception fixed length cell attribute management unit 5 is the connection of the reception fixed length cell 1, and the reception fixed length cell 1 is the start cell of the variable length frame 2. Or the end cell, and the data length (data length) of the variable-length frame 2 assembled from the data of the reception fixed-length cell 1 shown in the reception fixed-length cell 1 is detected, and the cell reception notification 5e, connection information 5d, start The cell information 5c, end cell information 5b, and length information 5a are output to the assembly frame management unit 10.
[0036]
When the reception of the start cell of the variable length frame 2 is notified by the cell reception notification 5e and the start cell information 5c, the assembly frame management unit 10 refers to the empty buffer information 8a output by the empty buffer management unit 8 and One empty data buffer is selected from the data buffer row of the common memory 3 managed by the assembling apparatus 12, and this data buffer is registered as a data buffer for the frame of the connection notified by the connection information 5d. The address pointer 10a is output to the memory write control unit 7.
[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 length cell 1 in the data buffer 4b.
FIG. 3 shows how received fixed-length cells 1a, 1b, and 1c, which are start cells of different connections, are stored in empty buffers 4b, 4c, and 4d, respectively.
[0038]
Next, when the frame assembling apparatus 12 receives the reception fixed length cell 1 that is neither the start cell nor the end cell, the assembly frame management unit 10 refers to the connection information 5 d notified from the reception fixed length cell attribute management unit 5. In order to select the data buffer 4b in which previously received data of the same connection has already been stored and store the received data following the already stored data in the data buffer 4b, the address pointer 10a following the data buffer 4b is set. Output.
FIG. 4 shows how the received fixed-length cell 1d is stored in the data buffer 4b in which cell data of the same connection is already stored.
[0039]
If multiple reception fixed-length cells 1 of the same connection are stored in the data buffer 4b, and the data buffer 4b is filled with the reception data before reception of the end cell, that is, before completion of assembly of the variable-length frame 2, the data buffer 4b Is transferred to the main memory 14 as divided data of the variable length frame 2. The remaining amount of the data buffer 4b is managed by the assembly buffer management unit 11, and when the buffer of the data buffer 4b runs out, the remaining buffer end information 11a is notified from the assembly buffer management unit 11 to the assembly frame management unit 10. The
[0040]
When the buffer remaining amount end information 11a is received, the assembly frame management unit 10 outputs the address pointer 10a for writing the attribute information 10b of the data stored in the data buffer 4b and the attribute information 10b to the attribute information buffer 4a. The transfer buffer management unit 9 is notified of data end information 10c indicating that data storage in 4b has ended. When the data end information 10c is received, the transfer buffer management section 9 indicates information such as a transfer request 9a for requesting data transfer to the main memory 14, and an address pointer and connection of the data buffer 4b in which the data to be transferred is stored. The CPU 13 is notified of the transfer buffer attribute information 9b.
[0041]
When the transfer request 9a is received, the CPU 13 refers to the transfer buffer attribute information 9b to activate the DMA controller 15, and the DMA controller 15 transfers data from the common memory 3 to the main memory 14. At this time, the CPU 13 refers to the attribute information 4a-1 to 4a-3 and recognizes the attribute of the data stored in the data buffer 4b. In the above case, the CPU 13 refers to the frame end information 4a-3 to recognize that the transfer data does not include the end data of the variable length frame 2, and the transfer data is the divided data of the variable length frame as the main memory 14 Stored in FIG. 5 shows how data is transferred to the main memory 14 after the data buffer 4b is filled with data.
[0042]
As described above, when the end data of the variable length frame 2 is not included in the transfer data, the data of the reception fixed length cell 1 having the same connection as the transfer data received next by the frame assembling apparatus 12 is transferred. Is stored in the empty data buffer that is newly selected by the frame assembly management unit 10 with reference to the empty buffer information 8a.
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 data buffer 4b, is stored in the empty data buffer 4e.
[0043]
When the reception fixed length cell 1 is an end cell, reception of one variable length frame 2 is completed upon reception of the reception fixed length cell 1. When the frame assembling apparatus 12 receives the end cell, the reception fixed length cell attribute management unit 5 notifies the frame assembly management unit 10 of the end cell information 5c. When the end cell information 5c is received, the frame assembly management unit 10 stores the data of the reception fixed length cell 1 in the data buffer, and then notifies the transfer buffer management unit 9 of the data end information 10c indicating the end of reception of the variable length frame 2. . When the data end information 10c is received, the transfer buffer management unit 9 notifies the CPU 13 of a transfer request 9a for requesting data transfer and transfer buffer attribute information 9b.
[0044]
The CPU 13 refers to the connection information of the transfer data indicated in the transfer buffer attribute information 9b, and in the data string that has already been transferred to the main memory 14, the end data of the variable length frame with the same connection as the connection information is stored. When there is divided frame data not included, the data in the data buffer 4b is recognized as data subsequent to the divided frame data, and the DMA controller 15 is activated to perform DMA transfer to the main memory 14.
FIG. 6 shows how the received fixed-length cell 1 as an end cell is stored in the data buffer 4e and then transferred to the main memory 14.
[0045]
When the DMA transfer of data to the main memory 14 is completed, the CPU 13 notifies the transfer end information 13a to the empty buffer management unit 8, and the empty buffer management unit 8 sets the data buffer 4b in which the transfer data is stored as an empty buffer again. recognize. The next received data can be stored in the data buffer 4b which has become an empty buffer again. 6 and 7 show a state in which the buffer 4b to which data is transferred in FIG. 5 becomes an empty buffer again after the transfer is completed, and each data of the received fixed-length cells 1g and 1h to be subsequently received is stored. .
[0046]
Each time the CPU 13 receives the transfer request 9a, it transfers the data of the variable-length frame 2 divided into the size of the data buffer from the common memory 3 to the main memory 14 and receives the connection information of the data received from the frame assembly device 12 The assembly of the variable length frame 2 is completed on the main memory 14 with reference to the length information. The CPU 13 passes the data of the variable-length frame 2 that has been assembled to the upper layer, and the series of frame reception processing ends.
6 and 7 show that the data 14a of the reception fixed length cell 1a, 1d stored in the data buffer 4b and the data of the reception fixed length cell 1e stored in the data buffer 4e are transferred to the main memory 14. This shows how the variable length frame 2a is assembled.
[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 CPU 13 receives the data transfer request 9a from the frame assembling apparatus 12 (s1), it receives the transfer buffer attribute information 9b notified from the frame assembling apparatus 12 (s2), and the CPU 13 receives the common memory indicated by the transfer buffer attribute information 9b. The address of the main memory to which data is to be transferred and the size of the data to be transferred are calculated from the address pointer and transfer data connection information (s3).
[0048]
The CPU 13 sets the address pointer of the common memory 3, the address pointer of the main memory 14 and the size of data to be transferred to the DMA controller 15 (s 4), activates the DMA controller (s 5), and connects the common memory 3 and the main memory. Data DMA transfer is performed (s6). When the DMA transfer ends, the DMA controller 15 notifies the CPU of the end of the DMA transfer (s7), and the CPU 13 notifies the frame assembly device 12 of the data transfer end information 13a. Further, when the CPU 13 recognizes that the transfer data includes the frame end data by referring to the frame end information 4a-3 stored in the attribute information buffer 4a of the common memory 3 (s8), the variable length frame Data reception is notified to an upper layer that performs data processing of data (s9).
[0049]
As described above, as a procedure for assembling the variable-length frame 2 from the reception fixed-length cell 1, first, a plurality of variable-length frames are received by the data buffer 4b of the common memory 3 managed by the frame assembling apparatus 12 for each reception fixed-length cell data size. The divided variable-length frame data are DMA-transferred to the main memory of the system, and the assembly of the variable-length frame is completed in the main memory by repeating a plurality of DMA transfers. Therefore, when the size of the data buffer 4b is shorter than the data length of the variable length frame, it is not necessary to store all the data of one variable length frame in the common memory 3 when assembling the variable length frame.
[0050]
In addition, the area of the common memory 3 in which the transfer data is stored every time when the DMA transfer of the divided data 2 of the variable length frame to the main memory 14 is completed can be reused for storing the next received fixed length cell data. . Further, when the size of the data buffer 4b is equal to or larger than 2 reception fixed length cell size, the data in the common memory 3 is compared with the case where the data is transferred to the main memory every time the reception fixed length cell 1 is received. Since a plurality of received fixed-length cell data are collected in the buffer 4b and then transferred to the main memory 14, the overhead required for the DMA transfer procedure that occupies the main bus of the system can be reduced.
[0051]
Example of operation 2.
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 CPU 13 manages the size of the data buffer size 4b in the common memory 3, and the size of the data buffer 4b is set according to the data size of the variable-length frame received mainly by the system. Set or change as desired.
[0052]
The CPU 13 calculates the optimum size for the data buffer 4b from information such as the expected value of the data length of the received frame and the memory size of the common memory 3, and sets the data buffer size in the frame assembling device 12. The assembly buffer management unit 11 of the frame assembly device 12 stores the received data having the set data size in the data buffer 4b storing the reception fixed-length cell 1 being received, and then stores the remaining buffer capacity in the assembly frame management unit 10. The end information 11a is notified. Subsequent operations are the same as those in the first operation example.
[0053]
For example, when the data size of a variable-length frame that is mainly received is small, the data buffer 4b is wasted by setting the data buffer size to a small size equivalent to the data size of the variable-length frame that is mainly received. It is available without.
Further, even in a system where the size of the common memory 3 is small, if the size of the data buffer 4b is set small, it can be used as a common memory for assembling variable length frames of a plurality of connections received simultaneously.
In a system in which the size of the common memory 3 can be increased, if the size of the data buffer is set to the maximum data size of a variable-length frame that can be received, one DMA transfer from the common memory 3 to the main memory 14 is performed. Thus, all data of one variable length frame can be transferred.
[0054]
In this operation example 2, the RAM constituting the common memory 3 can also be used as a memory for other functions such as a graphics function in the system, and is shared by a plurality of functions and a certain part is shared. It can be considered to be used as the memory 3. In such a case, the size allocated to the common memory 3 may be changed during operation in relation to the memory size required for other functions. If the size of the data buffer 4b existing in the common memory 3 can be arbitrarily changed, even if the size of the common memory 3 is changed during operation, the operation can be performed without reducing the number of reception connections.
[0055]
Operation Example 3
This operation example 3 is a case where there are a plurality of data buffer sizes set by the CPU 13 in the system of the above operation example 2.
The CPU 13 determines a plurality of sizes of the data buffer 4b from information such as the expected value of the data length of the received frame and the memory size of the common memory 3, and sets the data buffer 4b in the frame assembling device 12. When the assembly frame management unit 10 of the frame assembly device 12 receives the fixed-length cell 1, the assembly frame management unit 10 selects a data buffer from a plurality of sizes set by the CPU 13 in accordance with the size of the reception variable-length frame 2 assembled from the fixed-length cell data. Select the optimal data buffer size and store the received data. The assembly buffer management unit 11 notifies the assembly frame management unit 10 of the buffer remaining amount end information 11a when the received data having the data size set in each is stored in the data buffer 4b. Subsequent operations are the same as those in the first operation example.
[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 common memory 3 can be reduced while reducing the number of DAM transfers.
[0057]
Operation Example 4
This operation example 4 is a case where the CPU 13 can set the number of data buffers 4b in the system of the operation example 1.
The CPU 13 determines the number of data buffers 4 b in the common memory 3 from information such as the memory size of the common memory 3 and the maximum number of connections to be received, and sets the number of buffers in the empty buffer management unit 8 of the frame assembly device 12. The empty buffer management unit 8 creates empty buffer information 8 a according to the number of buffers set by the CPU 13 and notifies the assembly frame management unit 10 of the empty buffer information 8 a. Subsequent operations are the same as those in the first operation example.
[0058]
After the transfer of received data from the data buffer 4b of the common memory 3 to the main memory 14, the CPU 13 does not notify the empty buffer management unit 9 of the transfer end information 13a, so that the data buffer 4b in which the transfer data is stored is stored. It is also possible to use the memory area of the data buffer 4b as a memory area for other functions, for example, without returning to the empty buffer. Thus, the number of data buffers 4b can be adjusted by not making the transferred data buffer 4b empty.
[0059]
According to this operation example 4, by controlling the number of data buffers 4b in the common memory 3, it is possible to secure the minimum number of buffers required according to the status of received traffic. The size can be adjusted according to the situation. Further, when a certain area of the RAM constituting the common memory 3 is used by, for example, another function, the area of the common memory 3 is set to 1 when the memory size used by the other function is expected to increase. The control of removing the data buffer from the common memory area, using it for other functions, and returning to the common memory 3 area when this memory area becomes unnecessary for other functions can be easily realized.
[0060]
Example of operation 5.
In the above operation example 1, when one data buffer 4b of the common memory 3 is filled with the received data, the transfer request 9a is output. However, in this operation example 5, the transfer request is made until a plurality of data buffers 4b are filled with the received data. 9a is not output.
The same operation as in the operation example 1 is performed until the assembly frame management unit 10 of the frame assembly device 12 notifies the transfer buffer management unit 9 of the data end information 10c. After receiving the data end information 10c, the transfer buffer management unit 9 does not output the transfer request 9a until an arbitrary number of the data end information 10c is received or until a certain time elapses. When the above conditions are satisfied, the transfer buffer management unit 9 outputs a transfer request 9 a to the CPU 13. The transfer buffer attribute information 9b indicates the attributes of all data buffers waiting for transfer, and notifies the CPU 13 of the attributes. Subsequent operations are the same as those in the first operation example.
[0061]
According to the fifth operation example, the number of DMA transfers can be reduced by collecting the data in the plurality of data buffers 4b and outputting the transfer request 9a, thereby reducing the overhead associated with the DMA transfer.
[0062]
Embodiment 2. FIG.
In the first embodiment, the CPU 13 DMA-transfers the divided data of the variable length frame assembled in the data buffer 4b of the common memory 3 to the main memory 14 of the system, and the assembly of the variable length frame is completed in the main memory 14. However, according to the second embodiment, the divided data of the variable length frame assembled by the fixed length data buffer 4b of the common memory 3 with the frame assembly device 12 serving as the bus master of the main bus of the system is used as the main memory of the system. The variable length frame 10 is completed on the main memory 14, and the variable length frame data that has been assembled is passed to the upper layer.
[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, reference numeral 16 denotes a bus master unit. When a transfer request 9a and transfer buffer attribute information 9b are received from the transfer buffer management unit 9, a bus request 16a for becoming the bus master of the main bus 18 of the system is output. And transfer data from the common memory 3 to the main memory 14. A bus arbitration unit 17 receives a bus request 16 a from the bus master unit 16, performs bus arbitration for determining the bus master of the main bus of the system, and returns a bus master permission signal 17 a to the bus master unit 16.
[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-length cell 1 and assembles the divided data of the variable-length frame with the fixed-length data buffer 4b of the common memory 3, and the transfer buffer management unit 9 transfers the transfer request 9a and the transfer buffer attribute information 9b. The operation up to outputting is the same as in the first embodiment.
[0065]
The transfer request 9a and the transfer buffer attribute information 9b are output to the bus master unit 16 in the frame assembling apparatus 12, and the bus master unit 16 receiving the transfer request 9a and the transfer buffer attribute information 9b is connected to the main bus 18 of the system. In order to become a bus master for transferring data to the main memory 14, a bus request 16 a is output to the bus arbitration unit 17. The bus arbitration unit 17 receives a bus request from each block that becomes the bus master of the main bus 18 of the system, and determines a block to which the right of the bus master is given according to the bus master priority.
[0066]
When the bus master right is given to the bus master unit 16 of the frame assembling apparatus 12, a bus master permission signal 17a is notified to the bus master unit 16. When the bus master permission signal 17a is received, the bus master unit 16 refers to the transfer buffer attribute information 9b, outputs the address pointer of the common memory 3 to the memory read control unit 6, and has a variable length from the data buffer 4b of the common memory 3. Read the divided data 2 of the frame. The variable-length frame data 2 is output to the system main bus 18, and the bus master unit 16 outputs the write address 16 b of the main memory 14 to the main bus 8 in synchronization with the output timing of the variable-length frame data 2 from the common memory 3. Then, the variable-length frame division data 2 read from the common memory 3 is written into the main memory 14.
[0067]
When the data transfer is completed, the bus master unit 16 relinquishes the right of the bus master. Each time the bus master unit 16 receives the transfer request 9 a, the variable-length frame division data 2 is transferred from the common memory 3 to the main memory 14 while referring to the transfer buffer attribute information 9 b as described above. Complete long frame assembly. When the assembly of the variable length frame 2 is completed, the bus master unit 16 sends the variable length frame assembly information indicating information such as the address pointer of the main memory 13, the connection of the variable length frame, the length of the variable length frame to the CPU 13 which is the upper layer. 16d is notified.
[0068]
As described above, as a procedure for assembling the variable-length frame 2 from the reception fixed-length cell 1, first, a plurality of variable-length frames are received by the data buffer 4b of the common memory 3 managed by the frame assembling apparatus 12 for each reception fixed-length cell data size. Then, the frame assembly device 12 becomes the bus master and transfers the divided data of the variable length frame to the main memory 14 in the order of reception, so that the main memory 14 completes the assembly of the variable length frame. Therefore, it is not necessary to store all data of one variable length frame in the common memory 3 when assembling the variable length frame.
[0069]
Further, every time transfer of the divided data 2 of the variable length frame to the main memory 14 is completed, the area of the common memory 3 in which the transfer data is stored can be reused for storing the next received fixed length cell data.
Furthermore, compared with the case where data is transferred to the main memory every time one cell of the reception fixed length cell 1 is received, a plurality of reception fixed length cell data are transferred to the main memory 14 after being collected in the common memory. The overhead required for the transfer procedure that occupies the main bus can be reduced.
[0070]
Further, since the frame assembly device 12 manages the assembly information and completes the assembly of the variable length frame on the main memory 14, the load on the CPU 13 is reduced as compared with the first embodiment in which the CPU 13 is engaged in the assembly of the variable length frame. The
Further, when the DMA controller 15 transfers data, both the access to the common memory 3 and the access to the main memory 14 use the main bus, so that it is impossible to access both at the same time. After the data is read, the read data is written to the main memory 14, but when the frame assembling device 12 becomes a bus master, the access to the common memory 3 is performed on the bus local to the frame assembling device 12. The data in the common memory 3 can be read and written to the main memory 14 at the same time, and the time for occupying the main bus 18 is shortened compared to the DMA transfer.
[0071]
Embodiment 3 FIG.
In the first embodiment, when the variable-length frame 2 is received and the transfer request 9a is output from the frame assembling device 12, the CPU 13 activates the DMA controller 15 to transfer data from the common memory 3 to the main memory 14. However, if the data transfer start is delayed or the data transfer speed is slow due to the slow processing speed of the CPU 13 or other processing, the next transfer request is generated before the data transfer is completed. There may be multiple waiting data buffers.
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, reference numeral 19 denotes a transfer waiting management unit. As described above, when a plurality of data buffers waiting for transfer are generated, the transfer requests 9a and 19a are transferred in order to transfer the data buffers waiting for transfer in the order in which transfer requests are generated. The transfer data attribute information 9b for each transfer data buffer is managed. 19a is a transfer request notified by the transfer waiting management unit 19 to the CPU 13, 19b is transfer buffer attribute information, and 13b is transfer start information notified to the frame assembling apparatus 12 when the CPU 13 receiving the transfer request 19a starts DMA transfer. is there.
[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 length cell 1 and stores the reception data in the data buffer 4b of the common memory 3, and whether the data buffer 4b is filled with the reception data or receives the end data of the variable length frame Then, the operation contents described in the first embodiment are the same until the assembly frame management unit 10 outputs the transfer request 9a.
[0074]
The transfer request management unit 19 receives the transfer request 9 a and the transfer buffer attribute information 9 b output from the assembly frame management unit 10. The transfer wait manager 19 writes the transfer request 9a and the transfer buffer attribute information 9b in a FIFO memory configured using a register controlled by the transfer wait manager 19. The CPU 13 is notified of the transfer request 19a and the transfer attribute information 19b which are the read data of the FIFO. In response to the transfer request 19a, the CPU 13 activates the DMA transfer, and notifies the transfer start management unit 19 of the frame assembling apparatus 12 of the transfer start information 13b.
[0075]
When the transfer start information 13b is received, the transfer waiting management unit 19 discards the transfer request data at the head of the FIFO and reads out the next transfer request data. At this time, if two or more transfer requests 9a are written in the FIFO, then the transfer request 19a is output to the CPU 13, but if only one transfer request 9a is written in the FIFO, At the time when the first data of the FIFO is discarded, the transfer request 19a to the CPU 13 stops. In synchronization with the transfer request 19a, the transfer buffer attribute information 19b is also sequentially output to the CPU 13 via the FIFO. The operation after the CPU 13 that has received the transfer request 19a starts the DMA transfer is the same as the operation of the first embodiment.
[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 CPU 13, the transfer request is not lost. The data in the data buffer 4b can be DMA-transferred to the main memory 14 in the order in which the above occurred.
For this reason, when other functions need to use the main bus 18 frequently, data transfer from the common memory to the main memory can be made to wait, and the main bus can be effectively used as a whole system. become.
[0077]
Example of operation 2.
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 management unit 19 is configured by using one area of the RAM constituting the common memory 3.
[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 common memory 3 Is only a small size. In a system in which the frame assembling apparatus 12 cannot have many registers, a large number of registers can be expected to be reduced by using the RAM area.
[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 Embodiment 1 of the present invention.
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 Embodiment 1. FIG.
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 Embodiment 1. FIG.
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 Embodiment 1. FIG.
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 Embodiment 1. FIG.
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 Embodiment 3 of the present invention.
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:
上記転送情報に応じて、上記フレーム組立て手段がバスマスターとなって、上記セルデータの転送を行なうことを特徴とする請求項に記載の受信装置。2. The receiving apparatus according to claim 1 , wherein the frame assembly means serves as a bus master in accordance with the transfer information to transfer the cell data. 上記制御手段は、上記フレームデータのデータサイズに応じて、上記データバッファの記憶容量を変更するように構成されてなる請求項1または2に記載の受信装置。 3. The receiving apparatus according to claim 1, wherein the control unit is configured to change a storage capacity of the data buffer according to a data size of the frame data. 上記制御手段は、上記フレームデータのデータサイズおよび、上記データバッファを含んで構成される記憶手段の記憶容量に応じて、上記複数のデータバッファにおける、一のデータバッファの記憶容量と、他のデータバッファの記憶容量とを異なる記憶容量となるように設定するように構成されてなる請求項1または2に記載の受信装置。In accordance with the data size of the frame data and the storage capacity of the storage means configured to include the data buffer, the control means includes the storage capacity of one data buffer and other data in the plurality of data buffers. receiving apparatus according to claim 1 or 2 is configured comprising to set such that the storage capacity and different storage capacity of the buffer. 上記制御手段は、上記データバッファを含んで構成される記憶手段のサイズ、および上記セルデータの伝送されるコネクションの数に応じて、上記データバッファの個数を設定するように構成されてなる請求項1または2に記載の受信装置。The said control means is comprised so that the number of the said data buffers may be set according to the size of the memory | storage means comprised including the said data buffer, and the number of the connections to which the said cell data are transmitted. The receiving apparatus according to 1 or 2 . 上記フレーム組立て手段は、上記複数のデータバッファにおける所定数の上記データバッファの残量が終了した場合に上記転送情報を出力するように構成されてなる請求項に記載の受信装置。2. The receiving apparatus according to claim 1 , wherein the frame assembling unit is configured to output the transfer information when a predetermined number of remaining data buffers in the plurality of data buffers are completed. 上記フレーム組立て手段は、上記複数のデータバッファのうち、所定数の上記データバッファの残量が終了した場合に出力される上記転送情報に応じて、上記バスマスターとなるように構成されてなる請求項に記載の受信装置。The frame assembling means is configured to become the bus master in accordance with the transfer information output when a predetermined number of the data buffers of the plurality of data buffers have ended. Item 3. The receiving device according to Item 2 . 上記転送情報を管理する転送待ち管理手段を更に備え、
上記制御手段は、上記複数のデータバッファのうち、一のデータバッファに格納されたセルデータを転送する旨を示す一の転送情報が上記転送待ち管理手段に入力された後、上記一のデータバッファに格納された上記セルデータの上記記憶手段への転送が終了するまでの間に、他のデータバッファに格納されたセルデータを転送する旨を示す他の転送情報が上記転送待ち管理手段に入力された場合、上記転送情報が発生した順に、当該転送情報に対応する上記セルデータを転送するように構成されてなる請求項に記載の受信装置。
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.
JP32449697A 1997-11-26 1997-11-26 Digital television receiving method and digital television receiving terminal device Expired - Fee Related JP3752809B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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