(57)【要約】【課題】DLサブフレームを格納するバッファの容量を削減した通信装置を提供する。【解決手段】通信装置は，複数のバーストBurst#１〜nに対応し，バースト毎のデータユニットをそれぞれ格納する複数のPDUバッファ#1_711〜#n_71nを有するPDUバッファ71と，バーストBurst#iのデータユニットのMACヘッダ部（ヘッダ部）がバーストBurst#iに対応するPDUバッファ#i_71iに書き込まれると，このMACヘッダ部のエラーを検査するMACヘッダ検査部72と，このMACヘッダ部の書き込みに続き，MACヘッダ部にエラーがないデータユニットをPDUバッファ#i_71iに書き込むバッファ管理_書き込み制御部73と，このデータユニットを読み出す制御部74とを有する。【選択図】図７
2012129821.tif 000002
【特許請求の範囲】
【請求項１】
ヘッダ部を有するデータユニットを含む複数のバーストを受信する受信部と，
前記複数のバーストに対応し，バースト毎の前記データユニットをそれぞれ格納する複数のデータユニットバッファと，
前記ヘッダ部が前記対応する前記データユニットバッファに書き込まれると，当該ヘッダ部のエラーを検査する検査部と，
前記ヘッダ部にエラーがないデータユニットを前記対応するデータユニットバッファに書き込み，当該データユニットを読み出す制御部とを有する通信装置。
【請求項２】
請求項１において，
前記受信部は，前記バーストの一部分でありデータユニット長以下の部分データを順次出力し，
前記順次出力される部分データがそれぞれ対応するデータユニットバッファに書き込まれ，前記検査部は，前記部分データに含まれる前記ヘッダ部が前記データユニットバッファに書き込まれると，当該ヘッダ部のエラーを検査し，
前記制御部は，前記ヘッダ部にエラーがないデータユニットの部分データを前記データユニットバッファに書き込み，当該データユニットの全データの書き込みが終了すると当該データユニットを読み出す通信装置。
【請求項３】
ヘッダ部を有するデータユニットを含む複数のバーストを受信する受信部と，
前記複数のバーストに対応し，バースト毎の前記データユニットをそれぞれ格納する複数のデータユニットバッファと，
前記複数のデータユニットバッファの前段に設けられ，前記ヘッダ部を格納するヘッダバッファを有し，前記ヘッダ部が前記ヘッダバッファに書き込まれると，当該ヘッダ部のエラーを検査する検査部と，
前記ヘッダ部にエラーがないデータユニットを前記対応するデータユニットバッファに書き込み，当該データユニットを読み出す制御部とを有する通信装置。
【請求項４】
請求項３において，
前記受信部は，前記バーストの一部分でありデータユニット長以下の部分データを順次出力し，
前記順次出力される部分データが前記ヘッダバッファに書き込まれると，前記検査部は，前記ヘッダバッファに書き込まれた前記部分データに含まれる前記ヘッダ部のエラーを検査し，
前記制御部は，前記ヘッダ部にエラーがないデータユニットの部分データを前記データユニットバッファに書き込み，当該データユニットの全データの書き込みが終了すると当該データユニットを読み出す通信装置。
【請求項５】
ヘッダ部を有するデータユニットを含む複数のバーストを受信し，前記バーストの一部分でありデータユニット長以下の部分データを順次出力する受信部と，
前記複数のバーストに対応し，バースト毎の前記データユニットをそれぞれ格納する複数のデータユニットバッファと，
前記複数のバーストに対応し，前記複数のデータユニットバッファの前段に設けられ，前記ヘッダ部を検知するためのヘッダ検知用バッファを有し，前記ヘッダ検知用バッファに順次書き込まれた前記部分データの中からヘッダ部を検知し，当該ヘッダ部のエラーを検査する複数の検査部と，
前記部分データを前記対応する検査部に入力し，前記ヘッダ部にエラーがないデータユニットの部分データを前記対応するデータユニットバッファに書き込み，当該データユニットの全データの書き込みが終了すると当該データユニットを読み出す制御部とを有する通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，無線フレームを受信する機能を有する通信装置に関する。
【背景技術】
【０００２】
基地局と，例えば移動局として機能する通信装置との通信は，無線フレームを利用して行われる。図1は，基地局と移動局との間の通信をWiMAX（Worldwide Interoperability for Microwave Access）形式で行う際に利用される無線フレームの一例を示す。無線フレームは，基地局が移動局に対してデータを送信する際に利用するDownlinkサブフレーム（以下，DLサブフレームと記す）と，移動局が基地局に対してデータを送信する際に利用するUplinkサブフレーム（以下，ULサブフレームと記す）とを有する。
【０００３】
DLサブフレーム，ULサブフレームは，時間軸とサブチャネル軸とを有し，時間軸に対応するOFDMA（Orthogonal Frequency Division Multiple Access）シンボル番号（k，k＋1，k＋3…）毎にサブチャネル（s，s＋1，s＋2…s＋l）が対応する。DLサブフレームのPreamble，FCH，DL-MAP，UP-MAPには主に通信制御データが記録され，バーストDLburst#1〜#6には，ユーザデータが記録される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表2009-522840号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このような無線フレームを受信する通信装置の受信・復調段は，以下の処理を順次実行することにより，DLサブフレームを受信，復調する。まず，シンボル番号kに対応するサブチャネルs〜s＋lのデータ（Preamble）を受信，復調する。次いで，シンボル番号k＋1に対応するサブチャネルs〜s＋lのデータ（FCH，DL-MAP）を受信，復調し，シンボル番号k＋3…シンボル番号k＋15に対応するサブチャネルs〜s＋lのデータ（DL burst#2，#3，#1，#4，#5，#6）を受信，復調する。
【０００６】
このように，受信・復調段は，シンボル番号に対応するサブチャネルのデータを順次受信，復調し，自装置宛のDLバーストをバッファメモリ（以下，バッファと略記する）に書き込む。
【０００７】
このバッファは，DLサブフレームの全DLバーストが，自装置宛であると想定して，全DLバーストを格納できる容量を有する。この容量は，20MHz帯域においてWiMAX通信を行う場合，最大32,520バイトである。このように，DLサブフレームを受信する通信装置は，最大32,520バイトものバッファを有する必要があり，バッファ容量を削減する必要がある。
【０００８】
そこで，本発明の目的は，DLサブフレームを格納するバッファの容量を削減した通信装置を提供することにある。
【課題を解決するための手段】
【０００９】
通信装置の第1の側面は，ヘッダ部を有するデータユニットを含む複数のバーストを受信する受信部と，
前記複数のバーストに対応し，バースト毎の前記データユニットをそれぞれ格納する複数のデータユニットバッファと，
前記ヘッダ部が前記対応する前記データユニットバッファに書き込まれると，当該ヘッダ部のエラーを検査する検査部と，
前記ヘッダ部にエラーがないデータユニットを前記対応するデータユニットバッファに書き込み，当該データユニットを読み出す制御部とを有する。
【発明の効果】
【００１０】
第1の側面によれば，DLサブフレームを格納するバッファの容量を削減することができる。
【図面の簡単な説明】
【００１１】
【図１】無線フレームの一例を示す図である。
【図２】本実施の形態を説明するための通信装置の機能ブロック図である。
【図３】MAC部の機能ブロック図である。
【図４】バーストの識別情報と，バッファにバーストが書き込まれる状態を示す図である。
【図５】プロトコルデータユニットを説明する図である。
【図６】レイテンシが大きいことを説明する図である。
【図７】第1の実施の形態の通信装置におけるMAC_PDU構築部の機能ブロック図である。
【図８】本実施の形態によりレイテンシを小さくできることを説明する図である。
【図９】図7の各機能ブロックの処理，および，処理の流れを詳細に説明する第1のフロー図である。
【図１０】図7の各機能ブロックの処理，および，処理の流れを詳細に説明する第2のフロー図である。
【図１１】MACヘッダ部の一例を示す図である。
【図１２】第2の実施の形態の通信装置におけるMAC_PDU構築部の機能ブロック図である。
【図１３】図12の各機能ブロックの処理，および，処理の流れを詳細に説明する第1のフロー図である。
【図１４】図12の各機能ブロックの処理，および，処理の流れを詳細に説明する第2のフロー図である。
【図１５】第3の実施の形態の通信装置におけるMAC_PDU構築部の機能ブロック図である。
【図１６】MACヘッダ検査部の機能ブロック図である。
【図１７】MACヘッダ検査部の機能を説明する図である。
【図１８】図15の各機能ブロックの処理，および，処理の流れを詳細に説明する第1のフロー図である。
【図１９】図15の各機能ブロックの処理，および，処理の流れを詳細に説明する第2のフロー図である。
【発明を実施するための形態】
【００１２】
図2は，本実施の形態を説明するための通信装置の機能ブロック図である。移動局として機能する通信装置1は，基地局から送信される送信信号をアンテナATを介して受信し受信信号を出力するRF（Radio Frequency）部10と，受信信号の周波数をベースバンド帯域の周波数に変換しデジタル信号を出力するAFE（Analog Front End）部20と，DLサブフレームにおける時間軸に沿ってシンボル番号毎のサブチャネルのデジタル信号を復調し，復調データを出力するPHY（Physical Layer）部30と，復調データから復号データを得てサービスデータユニット（SDU：Service Data Unit）を出力するMAC（Medium Access Control）部40とを有する。RF部10，AFE部20，PHY部30が，ヘッダ部を有するプロトコルデータユニット（後述）を含む複数のバーストから構成される無線フレームを受信し，このバーストの一部分でありプロトコルデータユニット長以下の部分データを順次出力する受信部として機能する。
【００１３】
まず，図1で説明したDLサブフレームを受信，復調する処理について説明する。PHY部30は，シンボル番号kに対応するサブチャネルにおいて，無線フレームの区切りを判別するためのプリアンブル（Preamble）データを復調し，プリアンブルデータによりDLサブフレームの先頭部分を検知する。次いで，シンボル番号k＋1に対応するサブチャネルにおいて，DLサブフレームの構成情報が記録されたフレーム制御ヘッダ（FCH：Frame Control Header）を復調し，さらに，DLサブフレームにおけるダウンリンクバーストDL burst（以下，DLバーストと記す）の配置情報（DLバーストの記録領域情報，マッピング情報とも言う）が記録されたDLマップ（DL-MAP）を復調する。そして，PHY部30は，個々のDLバーストを識別する識別情報と個々のDLバーストのサイズ（バースト長とも言う）とをMAC部40に出力する。
【００１４】
次いで，シンボル番号k＋3に対応するサブチャネルにおいて，ULサブフレームにおけるUL burst（以下，ULバーストと記す）の配置情報が記録されるULマップ（UL-MAP）を復調する。
【００１５】
そして，シンボル番号k＋3に対応するサブチャネルにおいて，DL burst#2を復調し，復調したデータを例えば6バイト単位で後段のMAC部40に順次出力する。この復調データは，前方誤り訂正(FEC：Forward Error Correction)が実行されたデータである。以下，この復調データを部分データと記す。そして，シンボル番号k＋5に対応するサブチャネルにおいて，DL burst#3，#1，#2を復調しこれらの部分データを後段のMAC部40に順次出力する。以後，PHY部30は，シンボル番号k＋15まで，この復調，出力処理を実行する。以後の説明においては，DLバーストについて説明するので，DLバーストをバーストと略記し，DL burstをBurstと略記する。
【００１６】
図3は，MAC部40の機能ブロック図である。バーストに含まれるプロトコルデータユニット（PDU：Protocol Data Unit）を構築するMAC_PDU構築部41は，バーストを格納するバッファ（図示しない）を有し，バースト識別情報とバースト長とがPHY部30から入力されると，バーストをバッファに書き込むためのアドレステーブルを作成する。
【００１７】
図4（A）は，図1に示したDLサブフレームのバーストBurst#1〜#6の識別情報と，バーストBurst#1〜#6のバースト長を示す。MAC_PDU構築部41は，受信したバーストを，この識別情報とバースト長とに基づき，図4（B）に示すバッファ41aに書き込むためのアドレステーブルを作成する。図4（B）は，このアドレステーブルに基づき，バッファ41aにバーストBurst#1〜#6が書き込まれる状態を示す図である。
【００１８】
図4（B）に示したバッファ41aは，前述したように，DLサブフレームの全バーストが自装置宛であることを想定して，全バーストを格納できる容量を有する。この容量は，例えば最大32520バイトであり，バッファサイズが大きい。
【００１９】
また，DLサブフレームのバーストの中で他装置宛のバーストがある場合，MAC_PDU構築部41は，このバーストをバッファ41aに書き込まない。このような場合，使用しないバッファ領域が増え，バッファ資源が無駄になる。他にも，システム帯域により，使用しないバッファ領域が増えることがある。
【００２０】
また，このような通信装置1では，レイテンシが大きいという問題もある。この問題について，図5，図6を用いて説明する。
【００２１】
図5は，バーストBurst#nに含まれるプロトコルデータユニットを説明する図である。バーストBurst#nは，データユニットPDU#1〜#5を有し，データユニットPDUは，先頭部分にデータユニットの属性情報が記録されたMACヘッダ部と，ユーザデータが記録されたペイロード（Payload）部と，ペイロード部の誤り訂正を行うため巡回冗長検査CRC（Cyclic Redundancy Check）が記録されたCRC部(Option)とを有する。なお，巡回冗長検査CRCは，CRC32などがある。
【００２２】
図6は，レイテンシが大きいことを説明する図で，図6（A）は，バーストBurst#1〜#5の部分データがMAC部40のMAC_PDU構築部41に入力され，バッファ41ａに書き込まれるタイミングを示し，図6（B）は，MAC部40のMAC_PDU構築部41が，データユニットを後段のエラーチェック部42に出力するタイミングを示す。
【００２３】
MAC_PDU構築部41は，バーストBurst#2の全データをバッファ41aに書き込んだタイミングt0で，バーストBurst#2のデータユニットPDU#1をエラーチェック部42に出力する。なお，この際，データユニットPDU#1のMACヘッダ部のエラーチェックが実行される。次いで，データユニットPDU#2，PDU#3を出力する。そして，MAC_PDU構築部41は，バーストBurst#1の全データをバッファに格納したタイミングt1でバーストBurst#1についても同様の出力処理を実行する。以後，バーストBurst#3などについても同様である。
【００２４】
このように，MAC_PDU構築部41は，自装置宛の個々のバーストの全データをバッファ41aに格納したタイミング（タイミングt0，t1参照）で，データユニットをエラーチェック部42に出力しており，いわゆるレイテンシが大きい。そのため，システム全体の処理時間が遅延する。
【００２５】
図3の説明に戻る。MAC_PDU構築部41がデータユニットをエラーチェック部42に出力すると，エラーチェック部42はペイロード部のエラーチェックをCRC部に基づき実行し，エラーがある場合にはペイロード部の誤り訂正を行い復号部43に出力する。なお，エラーがない場合にはペイロード部をそのまま復号部43に出力する。復号部43は，入力されたペイロード部のデータを復号し，SDU抽出部44に出力する。SDU抽出部44は，入力された復号データからサービスデータユニットを抽出し，各種データ処理を実行してSDU処理部45に出力する。SDU処理部45は，入力されたサービスデータユニットを後段のホストに出力する。
【００２６】
以上説明した通信装置において，サブフレームを格納するバッファ容量を削減する要請があり，さらに，レイテンシを小さくする要請がある。そこで，バッファ容量を削減し，さらに，レイテンシを小さくする。
【００２７】
（第1の実施の形態）
図7は，第1の実施の形態の通信装置におけるMAC_PDU構築部の機能ブロック図である。MAC_PDU構築部70は，複数のバーストBurst#１〜nに対応し，バースト毎のデータユニットをそれぞれ格納する複数のPDUバッファ#1_711〜#n_71nを有するPDUバッファ71と，バーストBurst#iのデータユニットのMACヘッダ部（ヘッダ部）がバーストBurst#iに対応するPDUバッファ#i_71iに書き込まれると，このMACヘッダ部のエラーを検査するMACヘッダ検査部72と，このMACヘッダ部の書き込みに続き，MACヘッダ部にエラーがないデータユニットをPDUバッファ#i_71iに書き込むバッファ管理_書き込み制御部73と，このデータユニットを読み出す制御部74とを有する。nは2以上の整数であり，iは整数1〜nの中の何れかの整数である。
【００２８】
後述するように，PHY部30から順次入力される部分データ（受信データ）がそれぞれ対応するPDUバッファ#i_70iに書き込まれる。すると，MACヘッダ検査部72は，この部分データに含まれるMACヘッダ部がPDUバッファ#i_70iに書き込まれると，このMACヘッダ部のエラーを検査する。なお，MACヘッダ検査部72のHCS検査部72a，ヘッダパラメータ検査部72b，ヘッダ検査判定部72cの詳細については，後述する。
【００２９】
さらに，MAC_PDU構築部70は，読み出し制御部74の制御に基づき，PDUバッファ71から入力されたMACヘッダ部をMACヘッダ検査部72に出力し，同データユニットをデータ処理部76に出力するセレクタ（SEL）75を有する。データ処理部76は，セレクタ75の出力データを後段のエラーチェック部42に出力する処理を実行する。
【００３０】
PDUバッファ71の各PDUバッファ#i_71iは，少なくともデータユニットの最大長の容量を有すればよい。この容量は，WiMAXの場合，1つのデータユニットの最大長である2048バイトである。そして，WiMAXの場合，1シンボル単位に占有する最大バースト数は，10である。従って，フレームの受信処理に要するバッファの最大容量は，2048×10バイトで済む。本実施の形態では，前述したフレームのデータを格納する場合のバッファ容量である32520バイトに比べて，バッファの容量を約1/3削減することができる。
【００３１】
図8は，本実施の形態によりレイテンシを小さくできることを説明する図で，図8（A）は，バーストBurst#1〜#5の部分データがバッファ管理_書き込み制御部73に入力され，PDUバッファ#1_711〜#5_715に書き込まれるタイミングを示し，図8（B）は，読み出し制御部74が，データユニットを後段のエラーチェック部42に出力するタイミングを示す。
【００３２】
バッファ管理_書き込み制御部73が，バーストBurst#2の先頭部分データ（MACヘッダ部）をPDUバッファ#2_712に書き込むと，MACヘッダ検査部72は，MACヘッダ部のエラーを検査する。エラーがない場合，バッファ管理_書き込み制御部73は，バーストBurst#2の部分データの書き込みを継続する。タイミングt11で，バーストBurst#2のデータユニットPDU#1の書き込みが終了すると，読み出し制御部74は，データユニットPDU#1をPDUバッファ#2_712から読み出し，データ処理部76に出力する。このように，データユニットの書き込みが終了したタイミングで即座にデータユニットを出力することで，準リアルタイムにデータユニットの出力処理を実行することができる。その結果，レイテンシを小さくすることができる。
【００３３】
図9，図10は，図7の各機能ブロックの処理，および，処理の流れを詳細に説明するフロー図である。
【００３４】
ステップS1：まず，RF部10がDLサブフレームを受信し，PHY部30がこのサブフレームを復調し，復調データを部分データとして順次出力する。
【００３５】
ステップS2：PHY部30は，この復調の過程で，サブフレームのDL-MAPに記録されたバースト識別情報，バースト長をMAC_PDU構築部70のバッファ管理_書き込み制御部73に出力する。バッファ管理_書き込み制御部73は，このバースト識別情報，バースト長を取得する。図1の例では，バッファ管理_書き込み制御部73は，バーストBurst#1〜#6の識別情報，バーストBurst#1〜#6のバースト長を取得する。
【００３６】
ステップS3：バッファ管理_書き込み制御部73は，バースト識別情報により，バーストBurst#iとPDUバッファ#i_71iとを対応付けて管理する。図1の例では，バーストBurst#1〜#6の識別情報ID1〜ID6とPDUバッファ#1_711〜#6_716との関係は以下のようになる。Burst#2=PDUバッファ#1_711，Burst#3=PDUバッファ#2_712，Burst#1=PDUバッファ#3_713のように部分データの入力順に割り当て管理する。また，Burst#6はPDUバッファ#1_711に割り当てられる。これはBurst#2の処理が終わりPDUバッファ#1_711が解放されているからである。
【００３７】
ステップS4：バッファ管理_書き込み制御部73は，PHY部30からバーストBurst#iの最初の部分データが入力されると，この部分データをバーストBurst#iに対応付けて管理しているPDUバッファ#i_71iに書き込む。この部分データは，バーストBurst#iの最初の部分データであるのでMACヘッダ部が含まれる。なお，入力された部分データがどのバーストに含まれていたものであるかを判断して，この書き込みを実行する。この判断方法を例示する。例えば，PHY部30がバースト識別情報とバースト長とをバッファ管理_書き込み制御部73に出力する際に，復調したDL-MAPのバースト配置情報も出力する。バッファ管理_書き込み制御部73は，入力された部分データのバイト数をカウントし，このバースト配置情報とカウントしたバイト数とを参照することで，入力された部分データがどのバーストに含まれていたものであるかを判断する。また，PHY部30が，部分データと共にこの部分データが属するバーストの識別情報をバッファ管理_書き込み制御部73に出力してもよい。他にも，PHY部30が，部分データの出力タイミングにおいて，出力する部分データが属するバーストが直前に出力した部分データが属するバーストと異なるタイミングに，この出力する部分データが属するバーストの識別情報をバッファ管理_書き込み制御部73に出力してもよい。この場合，図8の例では，PHY部30は，タイミングt10，t12，t13，t16，t17で，それぞれバーストBurst#2，3，1，４，５の識別情報を出力することになる。
【００３８】
ステップS5：バッファ管理_書き込み制御部73は， MACヘッダ部を書き込んだか否かを判定する。MACヘッダ部の書き込みが終了すると（ステップS5／YES），ステップS6に移る。なお，書き込みが終了するまでは（ステップS5／NO），ステップS4の処理を実行する。MACヘッダ部を書き込んだか否かの判定は以下のようにする。まず，バッファ管理_書き込み制御部73が，初めてバーストBurst#iの部分データをPDUバッファ#i_71iに書き込むとMACヘッダ部を書き込んだと判定する。この判定を行うタイミングは，図8のタイミングt10，t12，t13，t16，t17に相当する。また，バッファ管理_書き込み制御部73が，同じバーストBurst#iに含まれる部分データをPDUバッファ#i_71iに順次書き込んでいる場合において，バーストBurst#iのデータユニットの出力が行われ，バーストBurst#iに含まれる部分データが書き込まれると，この部分データをMACヘッダ部と見なし，MACヘッダ部を書き込んだと判定する。この判定を行うタイミングは，図8のタイミングt11，t14，t15に相当する。データユニットの出力が行われたタイミングを検知する方法については，後述するステップS9，S10で説明する。
【００３９】
ステップS6：MACヘッダ部がPDUバッファ#i_71iに書き込まれると，MACヘッダ検査部72は，MACヘッダ部のエラー検査を実行する。具体的には，MACヘッダ部の書き込みが終了すると（ステップS5／YES），バッファ管理_書き込み制御部73は，MACヘッダ部（部分データ）を格納したPDUバッファ#i_71iの識別情報とMACヘッダ部の先頭アドレスと読み出しバイト数とを含む制御信号Ctlを読み出し制御部74に出力する。この読み出しバイト数は6バイトである。すると，読み出し制御部74は，入力された識別情報に基づき，読み出し先のPDUバッファ#i_71iを特定し，このPDUバッファ#i_71iに，MACヘッダ部の先頭アドレスと読み出しバイト数とを含む制御信号RAを出力する。また，同時に，この制御信号RAをセレクタ75にも出力する。PDUバッファ#i_71iは，制御信号RAに基づき，MACヘッダ部を読み出し，セレクタ75に出力する。セレクタ75は，制御信号RAに基づき，入力されたMACヘッダ部をMACヘッダ検査部72に出力する。MACヘッダ検査部72は，入力されたMACヘッダ部の検査処理を実行し，MACヘッダ部のエラーの有無を判定する。検査処理については，後述する。
【００４０】
ステップS7： MACヘッダ部にエラーがない場合（ステップS7／YES），MACヘッダ検査部72は，MACヘッダ部にエラーがないことを示す制御信号jdgをバッファ管理_書き込み制御部73に出力する。このとき，制御信号jdgと共にMACヘッダ部に記録されているデータユニット長も出力する。MACヘッダ部にエラーがある場合（ステップS7／NO），MACヘッダ検査部72は，MACヘッダ部にエラーがあることを示す制御信号jdgをバッファ管理_書き込み制御部73に出力する。
【００４１】
ステップS8：バッファ管理_書き込み制御部73は，MACヘッダ部にエラーがないことを示す制御信号jdgがMACヘッダ検査部72から入力されると，PHY部30から入力されるバーストBurst#iの部分データをPDUバッファ#i_71iに順次書き込む。
【００４２】
ステップS9：バッファ管理_書き込み制御部73は，データユニット長分の部分データの書き込みが終了したか否かの判定を行う。この判定は，バッファ管理_書き込み制御部73が，PDUバッファ#i_71iに書き込んだ部分データの総バイト数をカウントし，MACヘッダ検査部72から入力されたデータユニット長とカウントしたバイト数とを参照することにより行われる。制御部73は，データユニット長分の部分データを書き込むまで（ステップS9／NO），ステップS8の処理を継続する。この書き込みが終了すると（ステップS9／YES），ステップS10に移る。
【００４３】
ステップS10：読み出し制御部74は，データユニットをPDUバッファ#i_71iから読み出し，データ処理部76に出力する。データ処理部76は，入力されたデータユニットをMAC部40のエラーチェック部42に出力する。具体的には，バッファ管理_書き込み制御部73は，データユニット長分の部分データを書き込むと（ステップS9／YES），データユニットを書き込んだPDUバッファ#i_71iの識別情報とデータユニットの先頭アドレスと読み出しバイト数とを含む制御信号Ctlを読み出し制御部74，セレクタ75に出力する。この読み出しバイト数はデータユニット長である。すると，読み出し制御部74は，このデータユニットを読み出すように指示する制御信号RAをPDUバッファ#i_71iに出力する。PDUバッファ#i_71iは，制御信号RAに基づき，このデータユニットを読み出し，セレクタ75に出力する。セレクタ75は，制御信号RAに基づき，入力されたデータユニットをデータ処理部76に出力する。
【００４４】
ステップS11：ステップS10の処理が終了すると，バッファ管理_書き込み制御部73は，バーストBurst#iについて，他のデータユニットがあるか否かを判定する。この判定は，ステップS2において取得したバーストBurst#iのバースト長（全データユニット長）と，MACヘッダ検査部72から入力されたBurst#iのデータユニット長（ステップS7の説明参照）の総和とを参照することにより行われる。他のデータユニットがある場合（ステップS11／YES），ステップS4に戻る。他のデータユニットがない場合（ステップS11／NO），ステップS12に移る。
【００４５】
ステップS12：バッファ管理_書き込み制御部73は，バーストBurst#iの識別情報とPDUバッファ#i_71iとの対応付けを解除し，PDUバッファ#i_71iを解放する。MACヘッダ部にエラーがある場合も（ステップS7／NO），バッファ管理_書き込み制御部73は，次のデータユニットの先頭メモリアドレスを認識することができなくなるので，ステップS11の処理を実行し，以後，バーストBurst#iの部分データのメモリへの書き込み処理を実行しない。
【００４６】
MAC_PDU構築部70は，ステップS4〜S11の処理をバーストBurst#i毎に実行し，ステップS1で受信したサブフレームのバーストの出力処理が終了するまで繰り返す。
【００４７】
例えば，図8に示すように，タイミングt11で，バーストBurst#2のデータユニットPDU#1の書き込みが終了すると，読み出し制御部74の読み出し制御によりデータユニットPDU#1が読み出されデータ処理部76に出力される。この後，次のデータユニットPDU#2の部分データがPDUバッファ#2_712に書き込まれ，MACヘッダ検査部72によるエラー検査が行われる。しかし，データユニットPDU#2の全データの書き込みが終了する前に，タイミングt12で，入力される部分データがバーストBurst#2の部分データからバーストBurst#3の部分データに切り替わるので，バッファ管理_書き込み制御部73は，バーストBurst#3の部分データをPDUバッファ#3_71３に書き込む。また，タイミングt13で，入力される部分データがバーストBurst#3の部分データからバーストBurst1の部分データに切り替わると，バッファ管理_書き込み制御部73は，バーストBurst#1の部分データをPDUバッファ#1_71１に書き込む。そして，タイミングt14で，バーストBurst#1のデータユニットPDU#1の書き込みが終了すると，読み出し制御部74の読み出し制御によりバーストBurst#1のデータユニットPDU#1が読み出され，データ処理部76に出力される。なお，バーストBurst#2のデータユニットPDU#2は，タイミングt15でデータ処理部76に出力される。
【００４８】
このように，バーストのデータユニットがPDUバッファに書き込まれたタイミングで，即座にデータユニットを出力することで，レイテンシが小さくなる。
【００４９】
ここで，MACヘッダ部の検査処理について図11を用いて説明する。
【００５０】
図11は，MACヘッダ部の一例を示す図であり，以下の説明では，MACヘッダ部は，ヘッダタイプを示すHT（Header Type）と，暗号化の有無を示すEC（Encryption Control）と，符号化タイプを示すTYPEと，拡張サブヘッダの有無を示すESF（Extended Subheader Flag）と，CRC付加の有無を示すCI（CRC Indicator）と，暗号化キー系列を示すEKS（Encryption Key Sequence）と，Rev(Reserved）とを有する。また，データユニット長さ（バイト）を示すLEN LSB（Least Significant Bit），LEN MSB（Most Significant Bit）と，コネクション識別子を示すCID（Connection Identifier）LSB，CID MSBとを有する。LEN LSB，LEN MSBによりデータユニット長を得ることができる。さらに，ヘッダ−チェック系列を示すHCS（Header Check Sequence）とを有する。図8の括弧内の数字は，ビット数を示す。
【００５１】
図７のHCS検査部72aは，MACヘッダ部のヘッダ−チェック系列HCSのデータを
生成多項式G(x)=X8+X2+X+1
に代入し，その結果がある固定値例えば0になるか否かを検査する。0の場合，検査結果良を示す信号をヘッダ検査判定部72cに出力する。0でない場合，検査結果悪を示す信号をヘッダ検査判定部72cに出力する。なお，この生成多項式G(x)は，例示である。
【００５２】
ヘッダパラメータ検査部72bは，ヘッダタイプHTの値とRSVの値とが0か否かを検査し，0の場合，検査結果良とする。ヘッダパラメータ検査部72bは，符号化タイプTYPEの値が“000000”，“001010”，“001100”，“010000”，“011010”，“011100”の何れか否かを検査し，何れかの場合，検査結果良とする。ヘッダパラメータ検査部72bは，データユニット長（LEN LSB，LEN MSB）と，CRC付加の有無を示すCI，暗号化の有無を示すEC，拡張サブヘッダの有無を示すESFとの関係が適切か否かを検査する。例えば，CIが1の場合，6バイトのMACヘッダ部に対して，さらに4バイトのCRC32が付加されるのでデータユニット長が10バイト以上か否かを検査する。他にも，全バースト長から未だ出力していないデータユニットのバイト数を引いた残りのバースト長と，データユニット長とを比較して，データユニット長が残りのバースト長以下か否かを検査する。前記した関係が適切でありデータユニット長が残りのバースト長以下の場合，検査結果良とする。ヘッダパラメータ検査部72bは，コネクション識別子を示すCIDの値が，例えば2m+1〜0xFE9Fでかつ自装置宛に基地局から割り当てられている値の場合，このCIDを有するヘッダのデータユニットは受信要と判断し検査結果を良とする。このmは，基地局から設定される値であって基地局依存で可変な値である。例えば，m=0x0FFFが基地局から通信装置に設定される。ヘッダパラメータ検査部72bは，前記した全ての検査結果が良の場合，検査結果良を示す信号をヘッダ検査判定部72cに出力する。前記した全ての検査の結果が良でない場合，検査結果悪を示す信号をヘッダ検査判定部72cに出力する。
【００５３】
ヘッダ検査判定部72cは，HCS検査部72a，ヘッダパラメータ検査部72bから検査結果良を示す信号が入力されると，MACヘッダ部にエラーがないことを示す制御信号jdgをバッファ管理_書き込み制御部73に出力する。このとき，制御信号jdgと共にデータユニット長も出力する。ヘッダ検査判定部72cは，HCS検査部72a，ヘッダパラメータ検査部72bから検査結果悪を示す信号が入力されると，MACヘッダ部にエラーがあることを示す制御信号jdgをバッファ管理_書き込み制御部73に出力する。
【００５４】
以上説明した第1の実施の形態によれば，DLサブフレームを格納するバッファの容量を削減し，レイテンシも小さくすることができる。
【００５５】
（第2の実施の形態）
第1の実施の形態では，MACヘッダ検査部72は，PDUバッファ71に書き込まれたMACヘッダ部のエラー検査を行っていた。この場合，バッファ管理_書き込み制御部73は，このMACヘッダ部を書き込む処理，さらに，このMACヘッダ部を読み出す指示を実行しなければならず，処理負荷が重くなる。そこで，第2の実施の形態では，MACヘッダ部をPDUバッファ71に書き込まずに，MACヘッダ部のエラー検査を実行することで，このような処理負荷を削減する。
【００５６】
図12は，第2の実施の形態の通信装置におけるMAC_PDU構築部の機能ブロック図であり，図7のMAC_PDU構築部70に対応する。図７の機能ブロックと同機能の機能ブロックについては同じ符号を付してその説明を省略する。MAC_PDU構築部120は，複数のPDUバッファ#１_701〜#n_70nの前段に設けられ，MACヘッダ部（部分データ）を格納するヘッダバッファ121aを有し，MACヘッダ部がヘッダバッファ121aに書き込まれると，このMACヘッダ部のエラーを検査するMACヘッダ検査部121と，バッファ管理_書き込み制御部122とを有する。
【００５７】
MACヘッダ検査部121のHCS検査部121b，ヘッダパラメータ検査部121c，ヘッダ検査判定部121dは，図７のHCS検査部72a，ヘッダパラメータ検査部72b，ヘッダ検査判定部72cと同様の機能を有する。なお，ヘッダバッファ121a をMACヘッダ検査部121の外に設けてもよい。
【００５８】
バッファ管理_書き込み制御部122は，図7のバッファ管理_書き込み制御部73と同様の機能を有し，さらに，MACヘッダ検査部121にMACヘッダ部のエラー検査開始を指示する制御信号Trgを出力する。
【００５９】
PHY部30から入力される部分データ（受信データ）は，バッファ管理_書き込み制御部122に入力されると共に，MACヘッダ検査部121のヘッダバッファ121aに書き込まれる。
【００６０】
図13，図14は，図12の各機能ブロックの処理，および，処理の流れを詳細に説明するフロー図である。ステップS21〜S23の処理については，図9のステップS1〜S3の処理と同じなのでその説明を省略する。
【００６１】
ステップS24：Burst#iの部分データがヘッダバッファ121aに書き込まれる。このとき，この部分データがバッファ管理_書き込み制御部122にも入力される。
【００６２】
ステップS25：バッファ管理_書き込み制御部122が，入力された部分データがMACヘッダ部であると判定すると，MACヘッダ部のエラー検査開始を指示する制御信号TrgをMACヘッダ検査部121のHCS検査部121b，ヘッダパラメータ検査部121cに出力する。この判定処理については，図9のステップS5で説明したので省略する。
【００６３】
ステップS26：HCS検査部121b，ヘッダパラメータ検査部121cは，制御信号Trgが入力されると，ヘッダバッファ121aに書き込まれたMACヘッダ部のエラー検査を実行する。ヘッダ検査判定部121dは，エラーがない場合，その旨を示す制御信号jdgをバッファ管理_書き込み制御部122に出力し，エラーがある場合，その旨を示す制御信号jdgをバッファ管理_書き込み制御部122に出力する。なお，制御信号Trgが入力されない間は，HCS検査部121b，ヘッダパラメータ検査部121cは，ヘッダバッファ121aに書き込まれた部分データのエラー検査を実行しない。
【００６４】
ステップS27：バッファ管理_書き込み制御部122は，エラーがない旨を示す制御信号jdgが入力されると（ステップS27／YES），入力されるバーストBurst#iの部分データをPDUバッファ#i_71iに書き込む（ステップS28）。なお，既に入力されたMACヘッダ部もPDUバッファ#i_71iに書き込んでもよい。エラーがあることを示す制御信号jdgが入力されると（ステップS27／NO），ステップ32に移る。
【００６５】
ステップS29〜S32の処理は，図10で説明した，ステップS9〜S12と同じ処理なのでその説明を省略する。
【００６６】
MAC_PDU構築部120は，ステップS24〜S32の処理をバーストBurst#i毎に実行し，ステップS21で受信したサブフレームのバーストの出力処理が終了するまで繰り返す。
【００６７】
以上説明した第2の実施の形態によれば，バッファ管理_書き込み制御部122は，MACヘッダ部をPDUバッファ71に書き込む処理，さらに，MACヘッダ部を読み出す指示を実行しないので，処理負荷が軽減する。
【００６８】
（第3の実施の形態）
第1，第2の実施の形態では，あるバーストに含まれるデータユニットのMACヘッダ部にエラーがある場合，バッファ管理_書き込み制御部73，123は，このデータユニット，および，次のデータユニットを破棄していた。このようにデータユニットを破棄するのは，データユニットのMACヘッダ部にエラーがある場合に，次のデータユニットのMACヘッダ部を検知していなかったからである。しかし，例えばバーストデータが音声データの場合，MACヘッダ部にエラーがあるデータユニットを破棄しても，次のデータユニットを復号できれば，たとえこの破棄による音飛びがあったとしても，ユーザにとっては好ましい。そこで，第3の実施の形態では，データユニットのMACヘッダ部にエラーがあっても次のデータユニットの復号を可能にする。
【００６９】
図15は，第3の実施の形態の通信装置におけるMAC_PDU構築部の機能ブロック図であり，図7のMAC_PDU構築部70に対応する。図７の機能ブロックと同機能の機能ブロックについては同じ符号を付してその説明を省略する。
【００７０】
MAC_PDU構築部150は，複数のバーストBurst#１〜nに対応し，複数のPDUバッファ#1_711〜#n_71nの前段に設けられ，MACヘッダ部を検知し，検知したMACヘッダ部のエラーを検査する複数のMACヘッダ検査部#i_1511〜#n_151nと，バッファ管理_書き込み制御部152と，バッファ管理_書き込み制御部152の制御によりPHY部30から入力される部分データ（受信データ）をMACヘッダ検査部#1_1511〜#n_151nの何れか１つに出力するセレクタ153とを有する。部分データは，セレクタ153に入力されると共にバッファ管理_書き込み制御部152にも入力される。バッファ管理_書き込み制御部152は，図12のバッファ管理_書き込み制御部122と同様の機能を有する。そして，バッファ管理_書き込み制御部152は，さらに，MACヘッダ検査部#i_1511〜#n_151n にMACヘッダ部のエラー検査開始を指示する制御信号Trg1〜Trgnを出力する。また，バーストBurst#iの部分データをバーストBurst#iに対応付けて管理されているMACヘッダ検査部#i_151iに出力するように指示する制御信号Selをセレクタ153に出力する。
【００７１】
図16は，MACヘッダ検査部#i_151iの機能ブロック図で，MACヘッダ検査部#i_151iは，ヘッダ部を検知するためのヘッダ検知用バッファ1510を有し，セレクタ153を介してヘッダ検知用バッファ1510に順次書き込まれた部分データの中からMACヘッダ部を検知し，MACヘッダ部のエラーを検査する。この検知，検査を実行するために，MACヘッダ検査部#i_151iは，さらに，HCS検査部1511a，ヘッダパラメータ検査部1511b，ヘッダ検査判定部1511cを有する。HCS検査部1511a，ヘッダパラメータ検査部1511b，ヘッダ検査判定部1511cは，図１２のHCS検査部121b，ヘッダパラメータ検査部121c，ヘッダ検査判定部121dと同様の機能を有する。バッファ管理_書き込み制御部152から制御信号Trgiが入力されたタイミング，または，後述するMACヘッダ部にエラーが見つかったタイミングで，HCS検査部1511aは，HCSのエラー検査を実行し，ヘッダパラメータ検査部1511bは，ヘッダパラメータチェックを実行する。
【００７２】
ヘッダ検知用バッファ1510は，FIFO（First In First Out）機能を有し，入力された部分データを所定バイト（例えば１バイト）ずつずらしながらMACヘッダ部のデータ単位である6バイト単位で出力する。このデータ出力のため，ヘッダ検知用バッファ1510は，5バイト分のデータを格納しFIFO処理を実行するFIFO1510aと，部分データの1バイト分のデータとFIFO1510aに書き込まれた5バイト分のデータとを多重化する多重器1510bとを有する。多重器1510bからは入力された部分データが1バイトずつずらされて6バイト単位で出力される。
【００７３】
図17は，MACヘッダ検査部#i_151iの機能を説明する図である。X5〜X0，X15〜X10，Xn5〜Xn0はMACヘッダ検査部#i_151iに入力される6バイト単位の部分データで，X5〜X0は例えばヘッダ−チェック系列を示すHCSにエラーがあるMACヘッダ部，X15〜X10はペイロード，Xn5〜Xn0はエラーがないMACヘッダ部であるとする。
【００７４】
MACヘッダ検知用バッファ1510は，最初に入力された部分データXn5〜Xn0をHCS検査部1511a，ヘッダパラメータ検査部1511bに出力する。HCS検査部1511aは，ヘッダ−チェック系列を示すHCSにエラーがあることを検知すると，ヘッダ検査判定部1511cは，ヘッダにエラーがあることを示す制御信号jdgiをバッファ管理_書き込み制御部152に出力する。このとき，FIFO1510aにはX5〜X1が書き込まれている。そして，X15〜X10のX10がFIFO1510a，多重器1510bに入力されると，FIFO1510aはX5〜X1を多重器1510bに出力する。多重器1510bは，X10とX5〜X1とを多重化し，X10，X5〜X1をHCS検査部1511a，ヘッダパラメータ検査部1511bに出力する。このとき，FIFO1510aは，X5〜X1の書き込み位置を1バイト分ずらし，X5の後ろにX10を書き込む。FIFO1510aにはX10，X5〜X2が書き込まれている。X10，X5〜X1がHCS検査部1511a，ヘッダパラメータ検査部1511bに入力されると，HCS検査部1511aはHCS検査を実行し，ヘッダパラメータ検査部1511bはヘッダパラメータ検査を実行する。この場合，X10，X5〜X2は，MACヘッダ部ではないので，ヘッダ検査判定部1511cはヘッダにエラーがあることを示す制御信号jdgiをバッファ管理_書き込み制御部152に出力する。以後，MACヘッダ検査部#i_151iは，同様の処理を実行しヘッダにエラーがない部分データXn5〜Xn0のエラー検査を行い，エラーのないMACヘッダ部を検知する。そして，ヘッダ検査判定部1511cは，ヘッダにエラーがない旨を示す制御信号jdgiをバッファ管理_書き込み制御部152に出力する。
【００７５】
図18，図19は，図15の各機能ブロックの処理，および，処理の流れを詳細に説明するフロー図である。ステップS41，S42の処理については，図9のステップS1，S2の処理と同じなのでその説明を省略する。
【００７６】
ステップS43：バッファ管理_書き込み制御部152は，バースト識別情報により，バーストBurst#iとMACヘッダ検査部#i_151iとPDUバッファ#i_71iとを対応付けて管理する。図1の例では，バーストBurst#1〜#6の識別情報ID1〜ID6と，MACヘッダ検査部#1_1511〜#6_1516と， PDUバッファ#1_711〜#6_716とをステップS3と同じ要領で部分データの入力順に対応して管理する。
【００７７】
ステップS44：バッファ管理_書き込み制御部152は，PHY部30からバーストBurst#iの部分データが入力されると，この部分データをバーストBurst#iに対応付けて管理しているMACヘッダ検査部#i_151iに出力するように指示する制御信号Selをセレクタ153に出力する。セレクタ153が，制御信号Selに基づき，部分データをMACヘッダ検査部#i_151iのMACヘッダ検知用バッファ1510に書き込む。なお，この部分データは，図９のステップS5で説明したように，最初に入力されたバーストBurst#iの部分データ，またはデータユニットの先頭部分データであるので，MACヘッダ部である。従って，バッファ管理_書き込み制御部152は，図13のステップS25で説明したように，MACヘッダ部のエラー検査開始を指示する制御信号TrgiをMACヘッダ検査部#i_151iのHCS検査部1511a，ヘッダパラメータ検査部1511bに出力する。
【００７８】
ステップS45：MACヘッダ検査部#i_151iは，MACヘッダ部が書き込まれたか否かを判定する。MACヘッダ部の書き込みが終了すると（ステップS45／YES），ステップS46に移る。なお，書き込みが終了するまでは（ステップ45／NO），ステップS44の処理を実行する。
【００７９】
ステップS46：MACヘッダ部がMACヘッダ検知用バッファ1510に書き込まれ，MACヘッダ検知用バッファ1510から図16で説明したようにMACヘッダ部がHCS検査部1511a，ヘッダパラメータ検査部1511bに入力されると，HCS検査部1511aはHCS検査を実行し，ヘッダパラメータ検査部1511bはヘッダパラメータ検査を実行し，検査結果をヘッダ検査判定部1511cに出力する。
【００８０】
ステップS47：ヘッダ検査判定部1511cは， 入力されたMACヘッダ部にエラーがあるか否かを判定する。MACヘッダ部にエラーがない場合（ステップS47／YES），ヘッダ検査判定部1511cは，MACヘッダ部にエラーがないことを示す制御信号jdgiをバッファ管理_書き込み制御部152に出力する。このとき，制御信号jdgiと共にMACヘッダ部に記録されているデータユニット長も出力する。MACヘッダ部にエラーがある場合（ステップS47／NO），ヘッダ検査判定部1511cは，MACヘッダ部にエラーがあることを示す制御信号jdgiをバッファ管理_書き込み制御部152に出力する。
【００８１】
ステップS48：MACヘッダ部にエラーがある場合（ステップS47／NO），MACヘッダ検知用バッファ1510は，図15，16で説明したように，入力された部分データを1バイトずつずらして6バイト単位で，HCS検査部1511a，ヘッダパラメータ検査部1511bに出力する。
【００８２】
ステップS49：1バイトずつずらされた6バイト単位のデータがHCS検査部1511a，ヘッダパラメータ検査部1511bに入力されると，HCS検査部1511aはHCS検査を実行し，ヘッダパラメータ検査部1511bはヘッダパラメータ検査を実行し，検査結果をヘッダ検査判定部1511cに出力する。そして，ステップS47に移り，エラーがないMACヘッダ部が見つかるまで，ステップS48，S49の処理が実行される。
【００８３】
MACヘッダ部にエラーがない場合（ステップS47／YES），ステップS50，S51の処理が実行される。ステップS50，S51の処理は，図14のステップS28，S29と同じ処理なのでその説明を省略する。
【００８４】
ステップS52：読み出し制御部74が，データユニットをPDUバッファ#i_71iから読み出し，データ処理部76に出力すると，バッファ管理_書き込み制御部152は，制御信号TrgiをMACヘッダ検査部#i_151iに出力し，ステップS53に移る。ステップS53，S54の処理は，図14のステップS31，S32と同じ処理なのでその説明を省略する。なお，ステップS47で説明したように，MACヘッダ部にエラーがあることを示す制御信号jdgiがバッファ管理_書き込み制御部152に入力されると，バッファ管理_書き込み制御部152は，MACヘッダ部にエラーがないことを示す制御信号jdgiが入力されるまで，Burst#iの部分データの書き込みは実行しない（ステップS50〜S52の処理は実行しない）。
【００８５】
MAC_PDU構築部150は，ステップS44〜S54の処理をバーストBurst#i毎に実行し，ステップS1で受信したサブフレームのバーストの出力処理が終了するまで繰り返す。
【００８６】
以上説明した第3の実施の形態によれば，データユニットのMACヘッダ部にエラーがあっても次のデータユニットのMACヘッダ部を検知しエラー検査を実行することで，次のデータユニットを破棄することなく，復号が可能になる。
【００８７】
以上の実施の形態をまとめると，次の付記のとおりである。
【００８８】
（付記１）
ヘッダ部を有するデータユニットを含む複数のバーストを受信する受信部と，
前記複数のバーストに対応し，バースト毎の前記データユニットをそれぞれ格納する複数のデータユニットバッファと，
前記ヘッダ部が前記対応するデータユニットバッファに書き込まれると，当該ヘッダ部のエラーを検査する検査部と，
前記ヘッダ部にエラーがないデータユニットを前記対応するデータユニットバッファに書き込み，当該データユニットを読み出す制御部とを有する通信装置。
【００８９】
（付記２）
付記１において，
前記受信部は，前記バーストの一部分でありデータユニット長以下の部分データを順次出力し，
前記順次出力される部分データがそれぞれ対応するデータユニットバッファに書き込まれ，前記検査部は，前記部分データに含まれる前記ヘッダ部が前記データユニットバッファに書き込まれると，当該ヘッダ部のエラーを検査し，
前記制御部は，前記ヘッダ部にエラーがないデータユニットの部分データを前記データユニットバッファに書き込み，当該データユニットの全データの書き込みが終了すると当該データユニットを読み出す通信装置。
【００９０】
（付記３）
ヘッダ部を有するデータユニットを含む複数のバーストを受信する受信部と，
前記複数のバーストに対応し，バースト毎の前記データユニットをそれぞれ格納する複数のデータユニットバッファと，
前記複数のデータユニットバッファの前段に設けられ，前記ヘッダ部を格納するヘッダバッファを有し，前記ヘッダ部が前記ヘッダバッファに書き込まれると，当該ヘッダ部のエラーを検査する検査部と，
前記ヘッダ部にエラーがないデータユニットを前記対応するデータユニットバッファに書き込み，当該データユニットを読み出す制御部とを有する通信装置。
【００９１】
（付記４）
付記３において，
前記受信部は，前記バーストの一部分でありデータユニット長以下の部分データを順次出力し，
前記順次出力される部分データが前記ヘッダバッファに書き込まれると，前記検査部は，前記ヘッダバッファに書き込まれた前記部分データに含まれる前記ヘッダ部のエラーを検査し，
前記制御部は，前記ヘッダ部にエラーがないデータユニットの部分データを前記データユニットバッファに書き込み，当該データユニットの全データの書き込みが終了すると当該データユニットを読み出す通信装置。
【００９２】
（付記５）
ヘッダ部を有するデータユニットを含む複数のバーストを受信し，前記バーストの一部分でありデータユニット長以下の部分データを順次出力する受信部と，
前記複数のバーストに対応し，バースト毎の前記データユニットをそれぞれ格納する複数のデータユニットバッファと，
前記複数のバーストに対応し，前記複数のデータユニットバッファの前段に設けられ，前記ヘッダ部を検知するためのヘッダ検知用バッファを有し，前記ヘッダ検知用バッファに順次書き込まれた前記部分データの中からヘッダ部を検知し，当該ヘッダ部のエラーを検査する複数の検査部と，
前記部分データを前記対応する検査部に入力し，前記ヘッダ部にエラーがないデータユニットの部分データを前記対応するデータユニットバッファに書き込み，当該データユニットの全データの書き込みが終了すると当該データユニットを読み出す制御部とを有する通信装置。
【００９３】
（付記６）
付記５において，
前記ヘッダ検知用バッファは，FIFO機能を有し，入力された部分データを所定バイトずつずらしながら前記ヘッダ部のデータ単位で出力する通信装置。
【００９４】
（付記７）
付記１から６の何れかにおいて，
前記データユニットバッファの容量は，少なくとも前記データユニットの最大長である通信装置。
【符号の説明】
【００９５】
1…通信装置，10…RF部，20…AFE部，30…PHY部，40…MAC部，41，70，120，150…MAC_PDU構築部，41a…バッファ，42…エラーチェック部，43…復号部，44…SDU抽出部，45…SDU処理部，71…PDUバッファ，711〜71n…PDUバッファ#1〜#n，72…MACヘッダ検査部，72a，121b，1511a…HCS検査部，72b，121c，1511b…ヘッダパラメータ検査部，72c，121d，1511c…ヘッダ検査判定部，73，122，152…バッファ管理_書き込み制御部，74…読み出し制御部，75，153…セレクタ（SEL），76…データ処理部，121…MACヘッダ検査部，121a…ヘッダバッファ，1511〜151n…MACヘッダ検査部，1510…MACヘッダ検知用バッファ，1510…ヘッダ検知用バッファ，1510a…FIFO，1510b…多重器。
【図１】
2012129821.tif 000003
【図２】
2012129821.tif 000004
【図３】
2012129821.tif 000005
【図４】
2012129821.tif 000006
【図５】
2012129821.tif 000007
【図６】
2012129821.tif 000008
【図７】
2012129821.tif 000009
【図８】
2012129821.tif 000010
【図９】
2012129821.tif 000011
【図１０】
2012129821.tif 000012
【図１１】
2012129821.tif 000013
【図１２】
2012129821.tif 000014
【図１３】
2012129821.tif 000015
【図１４】
2012129821.tif 000016
【図１５】
2012129821.tif 000017
【図１６】
2012129821.tif 000018
【図１７】
2012129821.tif 000019
【図１８】
2012129821.tif 000020
【図１９】
2012129821.tif 000021