(57)【要約】【課題】回路構成が簡素化されてコストの低減化が図られたデータ受信機を提供する。【解決手段】復号化器１１から出力された受信データのヘッダの終点をヘッダ長レジスタ１８，ビットカウンタ２０，セレクタ２１，コンパレータ２２で検出し、ビット転送器１２，復号データレジスタ１３，コンパレータ１４，ワード転送器１５により、ヘッダおよびデータからなるワードサイズ分のビットデータの受取りを待たずに、これまでに受け取ったヘッダのワードサイズ分に満たないビットデータをデータメモリ１６に書き込むとともに、ワードポインタ１５ａをそのヘッダに続くデータの最初の部分が書き込まれる書込アドレスに更新する。【選択図】　　　　図１
2004135244.tif 000002
【特許請求の範囲】
【請求項１】
パケットデータを復号化してシリアルデータを出力する復号化器と、
所定ビット数単位でアクセスされるデータメモリと、
前記データメモリの書込アドレスを該データメモリへの書込みに同期して更新しながら保存するアドレスレジスタと、
前記復号化器からのシリアルデータを前記所定ビット数受け取るごとに受け取った所定ビット数のデータを前記アドレスレジスタに保持された書込アドレスに書込むデータ書込回路と、
前記復号化器から出力された前記シリアルデータのヘッダの終点の入力を検出するヘッダ終点検出回路とを備え、
前記ヘッダ終点検出回路でヘッダの終点が検出されたことを受けて、前記データ書込回路は、前記データメモリに前回書き込んだ後前記所定ビット数のデータの受取りを待たずに前回書き込んだ後これまでに受け取ったデータを該データメモリに書き込むとともに、前記アドレスレジスタは、該アドレスレジスタに保存する書込アドレスを、前記シリアルデータのヘッダに続く部分が書き込まれる書込アドレスに更新するものであることを特徴とするデータ受信機。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、通信分野におけるデータ受信機に関する。
【０００２】
【従来の技術】
通信分野においては、階層化されたプロトコルを用いてデータ通信が行なわれており、プロトコルの各層（レイヤと称する）では、そのレイヤ処理に必要な情報をヘッダとし、そのヘッダとデータとを結合して送受信が行なわれる。
【０００３】
ここで、データ受信機において、あるレイヤ処理を行なう場合、受信したヘッダとデータとからなるプロトコルデータユニットのうちのヘッダを参照してプロトコル処理を行ない、次いでヘッダを除去して上位レイヤにデータのみを転送するということが行なわれている。ここで、ヘッダとデータの分離位置を判定してデータ配置を行なうことにより、余分なデータの複写を避ける技術が提案されている（例えば、特許文献１参照）。
【０００４】
また、プロトコルのヘッダは、本来通信したいデータから見ればオーバヘッド部分とみなすことができる。伝送速度が決まっているチャネル上で、本来通信したいデータ自体の転送速度を上げるためには、できるだけプロトコルのヘッダが短いほうが好ましい。チャネル伝送速度が比較的高速な有線データ通信ではバイト単位の長さのヘッダが使用されることが多いのに対して、チャネル伝送速度を上げることが難しい無線データ通信ではオーバヘッドをできるだけ小さくするためにビット単位の長さのヘッダが使用されることもある。例えば、第３世代携帯電話の標準化団体である３ＧＰＰ（３ｒｄ　Ｇｅｎｅｒａｔｉｏｎ　Ｐａｒｔｎｅｒｓｈｉｐ　Ｐｒｏｊｅｃｔ）の定めた仕様によれぱ、ＭＡＣ（Ｍｅｄｉａ　Ａｃｃｅｓｓ　Ｃｏｎｔｒｏｌ：媒体アクセス制御）レイヤのヘッダ長はチャネル種別などにより４ビットであったりする。
【０００５】
通常、上位レイヤ処理はＣＰＵにてソフトウェアで行なわれることが多く、ビット単位の長さのヘッダが付加されたプロトコルデータユニットを上記のようにヘッダとデータを分離して処理する際には、少なくともバイトの境界にヘッダの先頭およびデータの先頭がくるようにシフト処理を施すことが好ましい。ＣＰＵでの処理効率を考慮すると、ＣＰＵがアクセスするメモリの上記境界を意識してデータ配置を行なうほうが効率的である。ここで、指定されたビット分だけデータをシフトする操作を行ないながらデータを転送する技術が提案されている（例えば、特許文献２参照）。
【０００６】
ところで、無線通信の分野では、データ伝送中にノイズの影響などを受けやすいという無線上の特性から、レイヤにおいて畳み込み符号化やターボ符号化が行なわれることがある。これは、データ送信機において本来送信したいデータビット列から、誤り訂正のための冗長ビット列を生成して送信し、データ受信機において受信した冗長ビット列を本来のデータビット列に復号化するものである。復号化処理においては、ある長さの冗長ビット列からデータビットを１ビット復号化する処理を順次繰り返し行ない、データビット列を生成する。即ち、データ受信機を構成する復号化器ではビット単位でデータが取り扱われる。
【０００７】
【特許文献１】
特開平６−７８００１号公報（第８頁−第９頁、第１３図）
【特許文献２】
特開平６−８３７５９号公報（第３頁、第１図）
【０００８】
【発明が解決しようとする課題】
従来のデータ受信機では、上述したように畳み込み符号化やターボ符号化されたデータをビット単位で復号化し、復号化されたデータをビット列としてバイト単位に結合してデータメモリに格納し、上位レイヤ処理を行なうためのＣＰＵへの転送時に再度ビット単位でヘッダとデータの分離位置を判定してデータ転送が行なわれる。このため、データ転送を行なうための回路構成が複雑になり、コストアップするという問題がある。
【０００９】
本発明は、上記事情に鑑み、回路構成が簡素化されてコストの低減化が図られたデータ受信機を提供することを目的とする。
【００１０】
【課題を解決するための手段】
上記目的を達成する本発明のデータ受信機は、
パケットデータを復号化してシリアルデータを出力する復号化器と、
所定ビット数単位でアクセスされるデータメモリと、
上記データメモリの書込アドレスをそのデータメモリへの書込みに同期して更新しながら保存するアドレスレジスタと、
上記復号化器からのシリアルデータを上記所定ビット数受け取るごとに受け取った所定ビット数のデータを上記アドレスレジスタに保持された書込アドレスに書込むデータ書込回路と、
上記復号化器から出力された上記シリアルデータのヘッダの終点の入力を検出するヘッダ終点検出回路とを備え、
上記ヘッダ終点検出回路でヘッダの終点が検出されたことを受けて、上記データ書込回路は、上記データメモリに前回書き込んだ後上記所定ビット数のデータの受取りを待たずに前回書き込んだ後これまでに受け取ったデータをそのデータメモリに書き込むとともに、上記アドレスレジスタは、そのアドレスレジスタに保存する書込アドレスを、上記シリアルデータのヘッダに続く部分が書き込まれる書込アドレスに更新するものであることを特徴とする。
【００１１】
本発明のデータ受信機は、復号化器から出力されたシリアルデータのヘッダの終点が検出されたことを受けて、データメモリに前回書込んだ後所定ビット数のデータの受取りを待たずに前回書き込んだ後これまでに受け取ったデータをそのデータメモリに書き込むとともに、上記シリアルデータのヘッダに続く部分が書き込まれる書込アドレスに更新するものである。このため、ヘッダの終点が検出された時点で、そのヘッダの所定ビット数に満たない部分をデータメモリに書き込み、次いでそのヘッダに続くデータの所定ビット数の部分をデータメモリに書き込むことができる。従って、ヘッダとデータとを区別せずに一律に所定ビット数のデータをデータメモリに格納しておき、上位レイヤ処理を行なうためのＣＰＵへの転送時に再度ビット単位でヘッダとデータの分離位置を判定してデータを転送する技術と比較し、回路構成が簡素化されてコストの低減化が図られる。
【００１２】
【発明の実施の形態】
以下、本発明の実施形態について説明する。
【００１３】
図１は、本発明の一実施形態のデータ受信機の構成を示す図である。
【００１４】
図１に示すデータ受信機１には、復号化器１１と、ビット転送器１２と、復号データレジスタ１３と、コンパレータ１４と、ワード転送器１５と、データメモリ１６とが備えられている。
【００１５】
復号化器１１は、誤り訂正符号化された受信データビット列の受信データ（パケットデータ）を入力し、入力された受信データを復号化してシリアルデータである復号ビットデータと復号出力トリガデータとを出力する。これら復号ビットデータと復号出力トリガデータは、ビット転送器１２に入力される。また、復号出力トリガデータは、後述するビットカウンタ２０にも入力される
ビット転送器１２は、復号出力トリガデータによりインクリメントするビットポインタ１２ａを有する。このビット転送器１２は、復号出力トリガデータが入力される毎に、入力された復号ビットデータを、復号データレジスタ１３の、ビットポインタ１２ａで指し示される位置に１ビットづつ順次格納する。
【００１６】
復号データレジスタ１３には、上述したようにして、復号ビットデータが格納される。即ち、受信データを構成するヘッダとデータとの双方が格納される。尚、復号データレジスタ１３のビット幅は「１６」とする。
【００１７】
コンパレータ１４は、ビットポインタ１２ａからのインクリメントされた値と、予め設定されている値「Ｋ」とを比較し、比較した結果が一致した場合、そのビットポインタ１２ａを初期値「０」に戻す（ここでは、値「Ｋ」は「１６」に設定されているものとする。従って、ビットポインタ１２ａは１６回インクリメントすると初期値「０」に戻る）。
【００１８】
ワード転送器１５は、データメモリ１６の書込アドレスをそのデータメモリ１６の書込みに同期して更新しながら保存するワードポインタ１５ａ（本発明にいうアドレスレジスタの一例に相当）を有する。このワード転送器１５は、データメモリ１６の、ワードポインタ１５ａで指定された書込みアドレスに、復号データレジスタ１３からのデータを格納する。
【００１９】
データメモリ１６は、所定ビット数単位（ここでは、１６ビット数単位）でアクセスされ、受信データを構成するヘッダおよびデータの双方が格納される。
【００２０】
ここで、上述したビット転送器１２，復号データレジスタ１３，コンパレータ１４，ワード転送器１５の、ワードポインタ１５ａを除く部分が、本発明にいうデータ書込回路の一例に相当する。
【００２１】
また、データ受信機１には、コントローラ１７と、ヘッダ長レジスタ１８と、ユニット長レジスタ１９と、ビットカウンタ２０と、セレクタ２１と、コンパレータ２２とが備えられている。
【００２２】
コントローラ１７は、最初の時点で、ヘッダ長レジスタ１８，ユニット長レジスタ１９，ワードポインタ１５ａに初期値を設定するとともに、ピットカウンタ２０，セレクタ２１，ビットポインタ１２ａをリセットする。具体的には、ヘッダ長レジスタ１８には、受信データを構成するヘッダ全体の長さを示す値が設定される。また、ユニット長レジスタ１９には、受信データを構成するデータ全体の長さを示す値が設定される。また、セレクタ２１は、リセットされた時点ではヘッダ長レジスタ１８を選択する。
【００２３】
ビットカウンタ２０は、復号化器１１からの復号出力トリガデータが入力される毎にインクリメントする。
【００２４】
コンパレータ２２は、ビットカウンタ２０からの値と、セレクタ２１を経由して入力されたヘッダ長レジスタ１８もしくはユニット長レジスタ１９からの値とを比較し、比較した結果が一致した場合、セレクタ２１を切り替えるとともにビットポインタ１２ａを初期値「０」に戻す。尚、ヘッダ長レジスタ１８，ビットカウンタ２０，セレクタ２１，コンパレータ２２が、本発明にいうヘッダ終点検出回路の一例に相当する。
【００２５】
次に、本実施形態のデータ受信機１の動作について説明する。
【００２６】
最初の時点では、コントローラ１７により、ヘッダ長レジスタ１８にヘッダ全体の長さを示す値が設定されるとともに、ユニット長レジスタ１９にデータ全体の長さを示す値が設定される。また、セレクタ２１はヘッダ長レジスタ１８を選択する。さらに、ワードポインタ１５ａに所望の初期値が設定されるとともに、ビットポインタ１２ａ，ピットカウンタ２０はリセットされる。
【００２７】
ここで、復号化器１１に、受信データを構成するヘッダが先ず入力される。すると、復号化器１１から復号ビットデータと復号出力トリガデータがビット単位で出力され、復号データレジスタ１３の、ビットポインタ１２ａで指し示される位置に、１ビットづつ順次にヘッダを構成するビットデータが格納され、さらにデータメモリ１６の、ワードポインタ１５ａで指し示される位置に、所定ビット数単位（１６ビット数単位）で格納される。ここで、コンパレータ２２によりヘッダ長レジスタ１８の値とビットカウンタ２０の値とが一致した旨が検出されると、そのコンパレータ２２によりセレクタ２１がユニット長レジスタ１９に切り替えられるとともにビットポインタ１２ａが初期値「０」に戻される。さらに、データメモリ１６の、ワードポインタ１５ａで指し示される位置に、復号データレジスタ１３に格納されたヘッダのビットデータ（ここでは、１６ビット数単位に満たないビットデータであるものとする）が格納される。また、コントローラ１７によりワードポインタ１５ａがインクリメントされる。
【００２８】
復号化器１１には、ヘッダに引き続いてデータが入力される。すると、前述したと同様にして、復号化器１１から復号ビットデータと復号出力トリガデータが出力され、これにより復号データレジスタ１３の、ビットポインタ１２ａで指し示される位置に、１ビットづつ順次にデータを構成するビットデータが格納され、さらに１６ビット数単位で、データメモリ１６の、ワードポインタ１５ａで指し示すアドレスに格納される。やがて、ユニット長レジスタ１９の値とビットカウンタ２０の値とが一致すると、コンパレータ２２によりセレクタ２１がヘッド長レジスタ１８に切り替えられるとともにビットポインタ１２ａが初期値「０」に戻されて、前述したヘッダの処理が行なわれる。
【００２９】
このように、本実施形態のデータ受信機１は、復号化器１１から出力された受信データのヘッダの終点が検出されたことを受けて、データメモリ１６に前回ヘッダの１６ビット分のビットデータを書込んだ後、ヘッダおよびデータ双方からなる１６ビット分のビットデータの受取りを待たずに、これまでに受け取ったヘッダの１６ビット分に満たないビットデータをデータメモリ１６に書き込む。次いで、そのヘッダに続くデータの最初の１６ビット分のビットデータをデータメモリ１６に書き込む。従って、ヘッダとデータとを区別せずに一律に所定ビット数のデータをデータメモリに格納しておき、上位レイヤ処理を行なうためのＣＰＵへの転送時に再度ビット単位でヘッダとデータの分離位置を判定してデータを転送する技術と比較し、回路構成が簡素化されてコストの低減化が図られる。
【００３０】
【発明の効果】
以上説明したように、本発明によれば、回路構成が簡素化されてコストの低減化が図られたデータ受信機を提供することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態のデータ受信機の構成を示す図である。
【符号の説明】
１　データ受信機
１１　復号化器
１２　ビット転送器
１２ａ　ビットポインタ
１３　復号データレジスタ
１４，２２　コンパレータ
１５　ワード転送器
１５ａ　ワードポインタ
１６　データメモリ
１７　コントローラ
１８　ヘッダ長レジスタ
１９　ユニット長レジスタ
２０　ビットカウンタ
２１　セレクタ
【図１】
2004135244.tif 000003