JP5382109B2 - 通信装置、パケット同期方法 - Google Patents
通信装置、パケット同期方法 Download PDFInfo
- Publication number
- JP5382109B2 JP5382109B2 JP2011503562A JP2011503562A JP5382109B2 JP 5382109 B2 JP5382109 B2 JP 5382109B2 JP 2011503562 A JP2011503562 A JP 2011503562A JP 2011503562 A JP2011503562 A JP 2011503562A JP 5382109 B2 JP5382109 B2 JP 5382109B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- data
- header
- unit
- length
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/04—Speed or phase control by synchronisation signals
- H04L7/041—Speed or phase control by synchronisation signals using special codes as synchronising signal
- H04L7/042—Detectors therefor, e.g. correlators, state machines
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/04—Speed or phase control by synchronisation signals
- H04L7/048—Speed or phase control by synchronisation signals using the properties of error detecting or error correcting codes, e.g. parity as synchronisation signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/04—Speed or phase control by synchronisation signals
- H04L7/10—Arrangements for initial synchronisation
Description
本発明は、データ転送において、入力データに含まれるパケットの同期をとる技術に関する。
3GPP(3rd Generation Partnership Project)では、次世代無線通信システムとしてLTE(Long Term Evolution)が議論されている。LTEでは、E−UTRAN(Evolved UMTS Terrestrial Radio Access Network)と呼ばれる無線アクセスネットワークを利用し、すべてIP(Internet Protocol)ベースのトラフィックのサービスを提供することが予定されている。なお、E−UTRANの仕様については、例えば非特許文献1等に開示されている。
3GPP TS 36.133 V8.4.0(2008-12) :3rd Generation Partnership Project;Technical Specification Group Radio Access Network; "Evolved UniversalTerrestrial Radio Access (E-UTRA); Requirements for support of radio resourcemanagement" (Release 8)
3GPP TS 36.133 V8.4.0(2008-12) :3rd Generation Partnership Project;Technical Specification Group Radio Access Network; "Evolved UniversalTerrestrial Radio Access (E-UTRA); Requirements for support of radio resourcemanagement" (Release 8)
ところで、従来、携帯端末(UE:User Equipment)のような通信装置は、外部装置との間でUSB(Universal Serial Bus)通信によるデータ転送を行う場合、例えばPPP(Point to Point Protocol)等のプロトコルを利用して行ってきた。USB通信で比較的大量のデータを転送する場合には、一定量のデータ毎にバルク転送モードで転送される(いわば、レイヤを意識せずにデータが転送される)ことになるが、PPPでは、PPPフレームの先頭フラグを検出することにより、容易にフレームの同期をとることができる。
しかしながら、すべてIPパケットで処理することが前提の次世代無線通信システムに属する携帯端末等の通信装置が、外部装置からのUSB通信によるデータ転送を受ける場合には、上位レイヤにおける処理負荷を軽減する観点から、PPPによらずIPパケットの同期をとれるようにすることが好ましい。すなわち、通信装置において、外部装置との間で特別なプロトコルを用いることなく、その外部装置からの入力データからパケットの同期をとることができるようにすることが課題である。
第1の観点では、有線接続される外部装置からの入力データに対して、パケットの同期をとる通信装置が提供される。
この通信装置は、
(A)前記外部装置からの入力データを1又は複数の単位データに変換する変換部と、
該単位データの入力毎に、所定量の第1入力データを検査符号とし、該第1入力データより前の入力データを検査対象データとした検査を行い、所望の検査結果を得ることをもって検査符号を検出する第1検出部と、
(B)前記第1検出部により検査符号が検出されたときの検査対象データの先頭位置が第1パケットのヘッダの先頭位置であると推定し、当該ヘッダから前記第1パケットのパケット長を読み出す第1ヘッダ解析部と、
(C)前記第1検出部により検査符号が検出されたときの検査対象データの長さが、前記第1ヘッダ解析部により読み出されるパケット長、と一致するかを判定する第1判定部と、
(D)第1検出部により検出される検査符号に続く入力データの先頭位置が、前記第1パケットに続く第2パケットのヘッダの先頭位置であると推定し、当該ヘッダから前記第2パケットのパケット長を読み出す第2ヘッダ解析部と、
を備える。
この通信装置は、
(A)前記外部装置からの入力データを1又は複数の単位データに変換する変換部と、
該単位データの入力毎に、所定量の第1入力データを検査符号とし、該第1入力データより前の入力データを検査対象データとした検査を行い、所望の検査結果を得ることをもって検査符号を検出する第1検出部と、
(B)前記第1検出部により検査符号が検出されたときの検査対象データの先頭位置が第1パケットのヘッダの先頭位置であると推定し、当該ヘッダから前記第1パケットのパケット長を読み出す第1ヘッダ解析部と、
(C)前記第1検出部により検査符号が検出されたときの検査対象データの長さが、前記第1ヘッダ解析部により読み出されるパケット長、と一致するかを判定する第1判定部と、
(D)第1検出部により検出される検査符号に続く入力データの先頭位置が、前記第1パケットに続く第2パケットのヘッダの先頭位置であると推定し、当該ヘッダから前記第2パケットのパケット長を読み出す第2ヘッダ解析部と、
を備える。
この通信装置では、第1判定部により読み出されるパケット長に相当する入力データとして、第1パケットが検出される。いったん第1パケットが検出されると、第2解析部により読み出されるパケット長に相当する後続の入力データとして、第2パケットが検出される。これにより、入力データに対するパケット同期がとられる。
他の観点では、この通信装置と同様の処理を行うパケット同期方法が提供される。
他の観点では、この通信装置と同様の処理を行うパケット同期方法が提供される。
開示の通信装置およびパケット同期方法によれば、通信装置において、外部装置との間で特別なプロトコルを用いることなく、その外部装置からの入力データからパケットの同期をとることができる。
2…CPU、3…メモリ、4,4a…上りデータ処理部,5…下りデータ処理部、11…USBインタフェース、12…S/Pインタフェース、13,16…セレクタ、14…第1パケット検出部、15,15a…第2パケット検出部、17…DMAコントローラ、18…バスインタフェース、19…CRC処理部、20,20a…ステートマシン
(1)第1実施形態
以下、本発明の通信装置の一実施形態としての携帯端末について説明する。
以下、本発明の通信装置の一実施形態としての携帯端末について説明する。
(1−1)携帯端末(UE)と外部TEの通信
図1は、実施形態に係る携帯端末(UE:User Equipment)と、パーソナルコンピュータ等の外部TE(Terminal Equipment)2とを含む通信システムを示す。図1において、携帯端末と外部TEとは、USB(Universal Serial Bus)ケーブルで接続されている。
ここで、携帯端末が、外部TEからUSBケーブルを通して、例えば画像データ等の大量のデータをバルク転送モードにより送受信する場合を想定する。外部TEから携帯端末へのUSBによるバルク転送においては、転送データのレイヤが認識されることなく、一定の転送量(1〜512バイト)のデータ単位で順次、外部TEから携帯端末へデータの転送がなされる。
図1は、実施形態に係る携帯端末(UE:User Equipment)と、パーソナルコンピュータ等の外部TE(Terminal Equipment)2とを含む通信システムを示す。図1において、携帯端末と外部TEとは、USB(Universal Serial Bus)ケーブルで接続されている。
ここで、携帯端末が、外部TEからUSBケーブルを通して、例えば画像データ等の大量のデータをバルク転送モードにより送受信する場合を想定する。外部TEから携帯端末へのUSBによるバルク転送においては、転送データのレイヤが認識されることなく、一定の転送量(1〜512バイト)のデータ単位で順次、外部TEから携帯端末へデータの転送がなされる。
図1に示す通信システムおいて、外部TEでは、データ転送前にIPパケットの最後にCRC(Cyclic Redundancy Check)コードが付加される。そして、携帯端末と外部TEとのUSB通信では、CRCコードが付加された状態でデータの送受信が行われる。CRCの種類は、携帯端末と外部TEとの間で予め決めておけばよく、この実施形態では、例えばCRC−16が使用される。これにより、実施形態に係る携帯端末では、外部TEから転送されるバルクデータからCRCコードを検出することにより、IPパケットを検出する(以下の説明では適宜、「パケットの同期をとる」又は「同期検出する」と表記する。)ように構成されている。
(1−2)携帯端末(UE)の構成
次に、実施形態の携帯端末の構成について、図2を参照して説明する。図2は、実施形態の携帯端末の構成の要部を示すブロック図である。
図2に示すように、この携帯端末(UE)は、CPU2、メモリ3、上りデータ処理部4、下りデータ処理部5を備えている。
上りデータ処理部4は、USBインタフェース(USB I/F)11、S/P(Serial/Parallel)インタフェース(S/P I/F)12、セレクタ(SEL)13及び16、第1パケット検出部14、第2パケット検出部15、DMAコントローラ(DMAC)17、バスインタフェース(BUS I/F)18、CRC処理部19(第1検出部)、ステートマシン20、を含む。
下りデータ処理部5は、USBインタフェース(USB I/F)51、S/P(Serial/Parallel)インタフェース(S/P I/F)52、バッファ(BUF)55、CRC付加部56、DMA(Direct Memory Access)コントローラ(DMAC)57、バスインタフェース(BUS I/F)58、を含む。
次に、実施形態の携帯端末の構成について、図2を参照して説明する。図2は、実施形態の携帯端末の構成の要部を示すブロック図である。
図2に示すように、この携帯端末(UE)は、CPU2、メモリ3、上りデータ処理部4、下りデータ処理部5を備えている。
上りデータ処理部4は、USBインタフェース(USB I/F)11、S/P(Serial/Parallel)インタフェース(S/P I/F)12、セレクタ(SEL)13及び16、第1パケット検出部14、第2パケット検出部15、DMAコントローラ(DMAC)17、バスインタフェース(BUS I/F)18、CRC処理部19(第1検出部)、ステートマシン20、を含む。
下りデータ処理部5は、USBインタフェース(USB I/F)51、S/P(Serial/Parallel)インタフェース(S/P I/F)52、バッファ(BUF)55、CRC付加部56、DMA(Direct Memory Access)コントローラ(DMAC)57、バスインタフェース(BUS I/F)58、を含む。
なお、図2において、矢印付きの実線は転送データの処理の流れを示しており、矢印付きの点線は内部の制御データの処理の流れを示している。また、上りデータ処理部4及び下りデータ処理部5におけるデータ処理は、所定のクロック単位で順次行われる。
上りデータ処理部4の構成について、上りデータの処理の流れに沿って説明する。
USBインタフェース11は、USBプロトコルに従って外部TEからUSBケーブルを通してデータを受信する。この実施形態の説明では、USBによるデータ転送モードとしてバルク転送を想定する。このバルク転送では、外部TEから比較的まとまった量のデータが非周期的に携帯端末へ転送される。
USBインタフェース11は、USBプロトコルに従って外部TEからUSBケーブルを通してデータを受信する。この実施形態の説明では、USBによるデータ転送モードとしてバルク転送を想定する。このバルク転送では、外部TEから比較的まとまった量のデータが非周期的に携帯端末へ転送される。
上りデータ処理部4では、第1パケット検出部14又は第2パケット検出部15からステートマシン20に対して、パケットの検出可否を示す信号としてPACKET_RCVD信号(以下の説明では例えば、Hレベル:パケット検出不可,Lレベル:パケット検出可、とする。)が送信される。
上りデータ処理部4では、第1パケット検出部14又は第2パケット検出部15からステートマシン20に対して、CRC検出のOK/NOKを示す信号としてCRC_OK信号(以下の説明では例えば、Hレベル:CRC検出NOK,Lレベル:CRC検出OK、とする。)が送信される。
上りデータ処理部4では、第1パケット検出部14又は第2パケット検出部15からステートマシン20に対して、CRC検出のOK/NOKを示す信号としてCRC_OK信号(以下の説明では例えば、Hレベル:CRC検出NOK,Lレベル:CRC検出OK、とする。)が送信される。
S/Pインタフェース12は、USBインタフェース11からのシリアルデータをCRC検出に適したデータサイズ、例えば1バイトの幅のパラレルデータに変換する。この1バイトデータ(単位データ量のデータ)が、セレクタ13及びCRC処理部19へ出力される。
セレクタ13は、ステートマシン20による制御指令に応じて、S/Pインタフェース12からの1バイトデータを、第1パケット検出部14又は第2パケット検出部15のいずれかへ出力する。
セレクタ13は、ステートマシン20による制御指令に応じて、S/Pインタフェース12からの1バイトデータを、第1パケット検出部14又は第2パケット検出部15のいずれかへ出力する。
CRC処理部19は、S/Pインタフェース12からの1バイト幅のデータを1クロックで並列的にCRC演算が可能な構成を備えている。本実施形態において、CRCの生成多項式を限定するものではないが、CRC処理部19では、16ビットのCRC(CRC−16)が適用され、例えば生成多項式としてX16+X15+X2+1が使用される。CRC処理部19は、生成多項式を用いたモジュロ演算を行い、その検査結果をステートマシン20へ通知する。具体的には、モジュロ演算の剰余が所望の値(典型的には「0」)であるときにはCRC検出OKであるとして、LレベルのCRC_OK信号がステートマシン20へ送信される。
CRC処理部19は、S/Pインタフェース12からの1バイトデータを順次蓄積するバッファ(図示しない)を備えている。CRC処理部19は、第1パケット検出部14からの制御指令に応じてCRC検出を行うときには、バッファ内の検査対象データに対して順次、最後に入力する16ビットデータがCRCコード(検査符号)であると仮定して上記モジュロ演算(検査)を行う。その結果、CRCコードが検出されたとき、すなわちCRC検出がOKとなったときには、内部のバッファがリセットされる。
ここで、CRC処理部19における処理について、図3を参照してさらに説明する。
図3は、第1パケット検出部14からの制御指令に応じてCRC検出を行うときのクロック毎のCRC検出処理を示す図である。図3では、連続するk番目〜k+2番目のクロックにおけるモジュロ演算処理を時系列で例示する図である。図3において、(b)に示すk+1番目のクロックの処理では、バッファ内の最後の1バイトと新たに入力する1バイトデータをCRCコードと仮定し、バッファ内の残りのデータを検査対象データとしてモジュロ演算を行う。
(c)に示すk+2番目のクロックの処理では、さらに新たな1バイトデータを取り込み、その新たな1バイトデータを含む最新の2バイトデータをCRCと仮定し、バッファ内の残りのデータを検査対象データとしてモジュロ演算を行う。このときの検査対象データは、k+1番目のクロックの処理と比較して1バイト分増加する。
同様にして、CRC処理部19は、新たに1バイトデータを取り込む毎に、検査対象データと、仮定するCRCコードとを更新していき、モジュロ演算の剰余が例えば「0」となるときのCRCコードを探索する。
図3は、第1パケット検出部14からの制御指令に応じてCRC検出を行うときのクロック毎のCRC検出処理を示す図である。図3では、連続するk番目〜k+2番目のクロックにおけるモジュロ演算処理を時系列で例示する図である。図3において、(b)に示すk+1番目のクロックの処理では、バッファ内の最後の1バイトと新たに入力する1バイトデータをCRCコードと仮定し、バッファ内の残りのデータを検査対象データとしてモジュロ演算を行う。
(c)に示すk+2番目のクロックの処理では、さらに新たな1バイトデータを取り込み、その新たな1バイトデータを含む最新の2バイトデータをCRCと仮定し、バッファ内の残りのデータを検査対象データとしてモジュロ演算を行う。このときの検査対象データは、k+1番目のクロックの処理と比較して1バイト分増加する。
同様にして、CRC処理部19は、新たに1バイトデータを取り込む毎に、検査対象データと、仮定するCRCコードとを更新していき、モジュロ演算の剰余が例えば「0」となるときのCRCコードを探索する。
図2に戻り、第1パケット検出部14は、ヘッダ解析部141(第1ヘッダ解析部)とバッファ(BUF)142を備えており、パケットの最後に付加されているCRCコードを検出することでIPパケットの同期をとる。最初にパケットを検出するときには、第1パケット検出部14においてパケット検出が行われる。
バッファ142には少なくとも、予定するパケットの大きさに相当する容量を備えており、セレクタ13から転送される1バイトデータが順次蓄積される。このバッファ142には、各クロックにおいてCRC処理部19における検査対象データと同一のデータが蓄えられる。
バッファ142には少なくとも、予定するパケットの大きさに相当する容量を備えており、セレクタ13から転送される1バイトデータが順次蓄積される。このバッファ142には、各クロックにおいてCRC処理部19における検査対象データと同一のデータが蓄えられる。
CRC処理部19によるCRC検出がOKであるときには、第1パケット検出部14はステートマシン20から、LレベルのCRC_OK信号を受信する。このLレベルのCRC_OK信号を受信すると、ヘッダ解析部141は、バッファ142に蓄積されたデータがパケットであると認識し、蓄積データの先頭位置からヘッダを解析する。すなわち、IPパケットの場合、ヘッダ内のフィールド構成は予め既知であるため、ヘッダ解析部141は、ヘッダからパケット長(Total Length)を読み出す。第1判定部としての第1パケット検出部14は、この読み出したパケット長と、バッファ142内のデータの長さとが一致するか判定する。すなわち、パケット長の検証が行われる。
バッファ142内のデータの長さがパケット長と一致する場合には、LレベルのPACKET_RCVD信号をステートマシン20へ送信する。この検出されたパケットは、DMAコントローラ17による制御の下、バスインタフェース18及びバスを通してメモリ3へ転送される。
バッファ142内のデータの長さがパケット長と一致する場合には、LレベルのPACKET_RCVD信号をステートマシン20へ送信する。この検出されたパケットは、DMAコントローラ17による制御の下、バスインタフェース18及びバスを通してメモリ3へ転送される。
図2に示すように、第2パケット検出部15は、ヘッダ解析部151(第2ヘッダ解析部)、カウンタ152、バッファ(BUF)153、を備えている。バッファ153には少なくとも、予定するパケットの大きさに相当する容量を備えている。
ステートマシン20による制御の下、いったん第1パケット検出部14によりパケットが検出された後に、第2パケット検出部15の処理が開始される。すなわち、ステートマシン20の制御によりセレクタ13が切り替えられる。ここで、ヘッダ解析部151は、セレクタ13から入力するデータの先頭位置が、既に検出されたパケットの次のパケットのヘッダの先頭位置であると推定し、そのヘッダの所定のフィールドからパケット長を読み出す。
カウンタ152は、セレクタ13から1バイト入力する毎にカウントアップするバイトカウンタである。カウンタ152は、セレクタ13からの1バイトデータを順次バッファ153に蓄積する。
第2パケット検出部15は、カウンタ152の値が、読み出されたパケット長に相当する値(バイト数)に達したときにカウンタ152を停止させ、LレベルのPACKET_RCVD信号をステートマシン20へ送信する。バッファ153に蓄積されるパケットは、DMAコントローラ17による制御の下、バスインタフェース18及びバスを通してメモリ3へ転送される。なお、LレベルのPACKET_RCVD信号が送信された後、カウンタ152はクリアされる。
第2パケット検出部15は、カウンタ152の値が、読み出されたパケット長に相当する値(バイト数)に達したときにカウンタ152を停止させ、LレベルのPACKET_RCVD信号をステートマシン20へ送信する。バッファ153に蓄積されるパケットは、DMAコントローラ17による制御の下、バスインタフェース18及びバスを通してメモリ3へ転送される。なお、LレベルのPACKET_RCVD信号が送信された後、カウンタ152はクリアされる。
ステートマシン20は、所定の状態遷移を行いながら、上りデータ処理部4内の処理を制御するために設けられる。
ステートマシン20における状態遷移図を図4に示す。以下、ステートマシン20における状態遷移について、各状態における上りデータ処理部4内の動作と関連付けて説明する。
図4において、上りデータ処理部4の処理が開始されると(サービスイン)、第1パケット検出部14によるパケット検出(第1パケット検出)を行う状態(状態SA)となる。これにより、セレクタ13,16が制御されて、S/Pインタフェース12からの1ビットデータが順次、第1パケット検出部14に入力されるとともに、第1パケット検出部14においてパケット検出処理が行われることになる。
また、CRC処理部19によりCRCが検出され、かつ第1パケット検出部14によるパケット長の検証がOKとなると(同期検出OK)、ステートマシン20は、第2パケット検出部15によるパケット検出(第2パケット検出)を行う状態(状態SB)へ遷移する。これにより、セレクタ13,16が制御されて、S/Pインタフェース12からの1ビットデータが順次、第2パケット検出部15に入力されるとともに、第2パケット検出部15においてパケット検出処理が行われることになる。
ステートマシン20における状態遷移図を図4に示す。以下、ステートマシン20における状態遷移について、各状態における上りデータ処理部4内の動作と関連付けて説明する。
図4において、上りデータ処理部4の処理が開始されると(サービスイン)、第1パケット検出部14によるパケット検出(第1パケット検出)を行う状態(状態SA)となる。これにより、セレクタ13,16が制御されて、S/Pインタフェース12からの1ビットデータが順次、第1パケット検出部14に入力されるとともに、第1パケット検出部14においてパケット検出処理が行われることになる。
また、CRC処理部19によりCRCが検出され、かつ第1パケット検出部14によるパケット長の検証がOKとなると(同期検出OK)、ステートマシン20は、第2パケット検出部15によるパケット検出(第2パケット検出)を行う状態(状態SB)へ遷移する。これにより、セレクタ13,16が制御されて、S/Pインタフェース12からの1ビットデータが順次、第2パケット検出部15に入力されるとともに、第2パケット検出部15においてパケット検出処理が行われることになる。
なお、第2パケット検出部15では、読み出したパケット長が、パケット長として予定されている範囲内の値であるか等により、読み出したパケット長の検証を行うようにしてもよい。パケット長がNOK(OKでない)である場合(すなわち、同期検出NOKの場合)には、図4に示すように、ステートマシン20は、第2パケット検出を行う状態から第1パケット検出を行う状態へ遷移することが好ましい。
図2を再度参照すると、下りデータ処理部5では、DMAコントローラ57による制御の下、PDCP(Packet Data Convergence Protocol)−SDU(Service Data Unit)のデータがメモリ3からバス及びバスインタフェース58を通して、CRC付加部56に入力される。CRC付加部56では、各PDCP−SDUに対してCRCコードを生成し、CRCコードを付加した状態でバッファ55へ転送する。CRCコードが付加されたPDCP−SDUは、S/Pインタフェース52を経由し、USBインタフェース51から例えばバルク転送により、一定量のデータ毎に非周期的に外部TEへ転送される。
(1−3)上りデータの処理
次に、実施形態の携帯端末における上りデータの処理について、図5〜図8を参照して説明する。図5、図6はそれぞれ、ステートマシン20が状態SA、SBにあるときの処理を示すフローチャートである。図7、図8はそれぞれ、ステートマシン20が状態SA、SBにあるときのデータフローを示すフロー図である。
以下、(A)ステートマシン20が状態SAにあるときの処理と、(B)ステートマシン20が状態SBにあるときの処理と、に場合を分けて説明する。
次に、実施形態の携帯端末における上りデータの処理について、図5〜図8を参照して説明する。図5、図6はそれぞれ、ステートマシン20が状態SA、SBにあるときの処理を示すフローチャートである。図7、図8はそれぞれ、ステートマシン20が状態SA、SBにあるときのデータフローを示すフロー図である。
以下、(A)ステートマシン20が状態SAにあるときの処理と、(B)ステートマシン20が状態SBにあるときの処理と、に場合を分けて説明する。
(A)ステートマシン20が状態SAにあるときの処理
最初にパケットを検出しようとするときには、ステートマシン20では状態SAとなり(図4参照)、第1パケット検出部14における処理が行われるように、セレクタ13,16が制御される。これにより、S/Pインタフェース12からの1バイトデータがCRC処理部19及び第1パケット検出部14へ順次送出され(図7のステップS50)、蓄積されていく。CRC処理部19は、1バイト単位で蓄積されるデータに対してクロック単位で逐次モジュロ演算を行うことでCRCコードを検出すると(図5のステップS10)、LレベルのCRC_OK信号をステートマシン20へ送信する。このCRC_OK信号はさらに、ステートマシン20から第1パケット検出部14へ送信される(図7のステップS52)。これにより、第1パケット検出部14はCRCコードが検出されたことを認識する。
最初にパケットを検出しようとするときには、ステートマシン20では状態SAとなり(図4参照)、第1パケット検出部14における処理が行われるように、セレクタ13,16が制御される。これにより、S/Pインタフェース12からの1バイトデータがCRC処理部19及び第1パケット検出部14へ順次送出され(図7のステップS50)、蓄積されていく。CRC処理部19は、1バイト単位で蓄積されるデータに対してクロック単位で逐次モジュロ演算を行うことでCRCコードを検出すると(図5のステップS10)、LレベルのCRC_OK信号をステートマシン20へ送信する。このCRC_OK信号はさらに、ステートマシン20から第1パケット検出部14へ送信される(図7のステップS52)。これにより、第1パケット検出部14はCRCコードが検出されたことを認識する。
次に、第1パケット検出部14は、バッファ142内の蓄積データがパケットのヘッダの先頭位置であると推定し、そのヘッダからパケット長を読み出す(図5のステップS12)。さらに、第1パケット検出部14は、バッファ142内のデータの長さが、読み出したパケット長と一致するか(すなわち、「パケット長OK」であるか)判定する(図5のステップS14、図7のステップS54)。パケット長OKである場合には、LレベルのPACKET_RCVD信号をステートマシン20へ送信する(図7のステップS56)。すなわち、ステートマシン20へ同期検出通知が行われる(図5のステップS16)。なお、図5のステップS14でパケット長OKでない場合には、再度ステップS10からCRC検出が行われる。
ステートマシン20では、サービス停止をCPU2から指示されない限りサービスを継続し(図5のステップS18)、第1パケット検出部14からLレベルのPACKET_RCVD信号を受信すると(図7のステップS56)、状態SAから状態SBへ遷移する(図7のステップS58;図4参照)。これにより、ステートマシン20は、第2パケット検出部15の処理へ移行させるために、セレクタ13,16を制御する。その結果、S/Pインタフェース12からの1バイトデータの転送先が、第1パケット検出部14から第2パケット検出部15へ切り替えられる(図7のステップS60)。
第1パケット検出部14は、LレベルのPACKET_RCVD信号をステートマシン20へ送信した後、バッファ142内に保持するパケットをメモリ3へ転送するためのDMAを要求するDMA_RQ信号をDMAコントローラ17へ送信する(図7のステップS62)。そして、バッファ142内のパケットが1バイト単位で順次、バスインタフェース18を通して、メモリ3へ転送される(図7のステップS64)。メモリ3へのパケット転送が終了すると、DMAコントローラ17は、第1パケット検出部14及びCPU2に対して、DMAが完了したことを示すDMA_COMPL信号を送信する。このDMA_COMPL信号はさらに、第1パケット検出部14からステートマシン20へ送信される(図7のステップS66)。
(B)ステートマシン20が状態SBにあるときの処理
いったん最初のパケットが検出されると、ステートマシン20では状態SBへ移行する(図4参照)。ステートマシン20は第2パケット検出部15に対して処理を開始するように指示し(図6のステップS22)、セレクタ13,16が制御される。これにより、S/Pインタフェース12からの1バイトデータがCRC処理部19及び第2パケット検出部15へ順次送出され(図8のステップS70)、蓄積されていく。
いったん最初のパケットが検出されると、ステートマシン20では状態SBへ移行する(図4参照)。ステートマシン20は第2パケット検出部15に対して処理を開始するように指示し(図6のステップS22)、セレクタ13,16が制御される。これにより、S/Pインタフェース12からの1バイトデータがCRC処理部19及び第2パケット検出部15へ順次送出され(図8のステップS70)、蓄積されていく。
S/Pインタフェース12からデータが入力されると、第2パケット検出部15では、カウンタ152が、入力されるバイト数のカウントを開始する(図6のステップS24)。
第2パケット検出部15は、セレクタ13から入力するデータの先頭位置が、既に検出されたパケットの次のパケットのヘッダの先頭位置であると推定し、そのヘッダの所定のフィールドからパケット長を読み出す(図6のステップS26)。そして、第2パケット検出部15は、読み出したパケット長に相当するバイト数がカウンタ152でカウントされると、カウンタ152によるカウントを停止し(図6のステップS28)、その時点でバッファ153に蓄積されたデータがパケットであると判断する。
第2パケット検出部15は、セレクタ13から入力するデータの先頭位置が、既に検出されたパケットの次のパケットのヘッダの先頭位置であると推定し、そのヘッダの所定のフィールドからパケット長を読み出す(図6のステップS26)。そして、第2パケット検出部15は、読み出したパケット長に相当するバイト数がカウンタ152でカウントされると、カウンタ152によるカウントを停止し(図6のステップS28)、その時点でバッファ153に蓄積されたデータがパケットであると判断する。
好ましくは、読み出したパケット長が、パケット長として予定されている範囲の値であるかを判定することにより、パケット長の検証を行う(図6のステップS30、図8のステップS74)。パケット長がOKであれば、同期検出通知としてLレベルのPACKET_RCVD信号をステートマシン20へ送信し(図6のステップS32、図8のステップS76)、カウンタ152をクリアする(図6のステップS36)。
なお、図6のステップS30でパケット長がOKでない場合には、第2パケット検出部15は、HレベルのPACKET_RCVD信号がステートマシン20へ送信する。すなわち、ステートマシン20へ非同期検出通知が行われる(図6のステップS34)。
なお、図6のステップS30でパケット長がOKでない場合には、第2パケット検出部15は、HレベルのPACKET_RCVD信号がステートマシン20へ送信する。すなわち、ステートマシン20へ非同期検出通知が行われる(図6のステップS34)。
第2パケット検出部15は、LレベルのPACKET_RCVD信号をステートマシン20へ送信した後、バッファ153内に保持するパケットをメモリ3へ転送するためのDMAを要求するDMA_RQ信号をDMAコントローラ17へ送信する(図8のステップS82)。そして、バッファ153内のパケットが1バイト単位で順次、バスインタフェース18を通して、メモリ3へ転送される(図8のステップS84)。メモリ3へのパケット転送が終了すると、DMAコントローラ17は、第2パケット検出部15及びCPU2に対して、DMAが完了したことを示すDMA_COMPL信号を送信する。このDMA_COMPL信号はさらに、第2パケット検出部15からステートマシン20へ送信される(図8のステップS86)。
以降、図6のステップS38で、CPU2の指示によりステートマシン20のサービスが停止させられるまで、パケットの検出が第2パケット検出部15において連続して行われる。
以降、図6のステップS38で、CPU2の指示によりステートマシン20のサービスが停止させられるまで、パケットの検出が第2パケット検出部15において連続して行われる。
なお、ステートマシン20が第2パケット検出部15からHレベルのPACKET_RCVD信号を受信した場合、すなわち、非同期検出通知が行われた場合(図6のステップS32、図8のステップS76)には、ステートマシン20内で状態SBから状態SAへ遷移し(図4参照)、第1パケット検出部14の処理が再開する(図5のステップS20)。
(1−4)外部TEから携帯端末(UE)への上りデータの転送
次に、外部TEから携帯端末への上りデータの転送について、図9を参照して説明する。図9は、外部TEから携帯端末への上りデータの転送のフローを示す図である。図9において、(a)〜(c)は外部TEにおけるデータ処理、(d)〜(f)は携帯端末におけるデータ処理、をそれぞれ示している。
次に、外部TEから携帯端末への上りデータの転送について、図9を参照して説明する。図9は、外部TEから携帯端末への上りデータの転送のフローを示す図である。図9において、(a)〜(c)は外部TEにおけるデータ処理、(d)〜(f)は携帯端末におけるデータ処理、をそれぞれ示している。
先ず、図9(a)に示すように、一例として3個のIPパケットを外部TEから携帯端末へ転送する場合を想定する。1個目のIPパケットは、IP/SCTPヘッダとL3(レイヤ3)メッセージのペイロードからなる。2個目のIPパケットは、IP/UDP/RTPと画像データ(1st data)のペイロードからなる。3個目のIPパケットは、IP/UDP/RTPとSMS(Short Message Service)データ(2nd data)のペイロードからなる。
ここで、SCTP(Stream Control Transmission Protocol)は輻輳制御を行うためのトランスポートレイヤのプロトコルである。UDP(User
Datagram Protocol)はIPプロトコルに実装されるトランスポートレイヤのプロトコルである。RTP(Real-time Transport Protocol)は、音声や動画等のデータストリームをリアルタイムに配送するためのトランスポートレイヤのデータ転送プロトコルである。
なお、図9では、転送対象のIPパケットの内容は例示のために図示したに過ぎず、転送対象のIPパケットの内容は任意のものでよい。
ここで、SCTP(Stream Control Transmission Protocol)は輻輳制御を行うためのトランスポートレイヤのプロトコルである。UDP(User
Datagram Protocol)はIPプロトコルに実装されるトランスポートレイヤのプロトコルである。RTP(Real-time Transport Protocol)は、音声や動画等のデータストリームをリアルタイムに配送するためのトランスポートレイヤのデータ転送プロトコルである。
なお、図9では、転送対象のIPパケットの内容は例示のために図示したに過ぎず、転送対象のIPパケットの内容は任意のものでよい。
図9(b)に示すように、この実施形態において、外部TEでは、携帯端末へデータを転送する前に、転送対象のIPパケットに対してCRCコードを付加する。すなわち、外部TEは、1〜3個目のIPパケットに相当するSDUペイロード(USB用)#1〜3に対するCRCコードとして、それぞれCRC#1〜3を生成して付加する。
次に、外部TEは、図9(c)に示すように、USBプロトコルに従い、実施形態の携帯端末との間でCRCコードが付加されたSDUペイロードを固定サイズのデータ毎にバルク転送する。なお、図に示すように、バルク転送データで足りない部分は所定の値(例えば「0」)でパディング(Padding)される。図9(d)は、携帯端末側で受信するUSBバルク転送データを示している。USBのバルク転送では、転送データのパケット構成とは無関係に固定長のデータ転送がなされるため、仮に携帯端末側で何らの処置も取っていないとすれば、パケットの同期をとることはできない。
図9(e)において、携帯端末では、図7及び図8を参照して説明した上りデータの処理が行われる。すなわち、携帯端末の上りデータ処理部4では、第1パケット検出部14が主として動作してCRC#1を検出するとともに、ヘッダを推定してパケット長を読み出し、パケット長がOK(正常)であるか確認する。これにより、CRC#1が付加された最初のIPパケットが検出される。
いったん最初のIPパケットが検出されると、第2パケット検出部15が主として動作して、CRC#1に続くデータからヘッダを推定してパケット長を読み出すことで、CRC#2が付加された次のIPパケットが検出される。同様にして、CRC#3が付加された次のIPパケットが検出される。
いったん最初のIPパケットが検出されると、第2パケット検出部15が主として動作して、CRC#1に続くデータからヘッダを推定してパケット長を読み出すことで、CRC#2が付加された次のIPパケットが検出される。同様にして、CRC#3が付加された次のIPパケットが検出される。
図9(f)に示すように、図(e)で検出された各IPパケットは、PDCP−SDU(PDCPペイロード)となる。実施形態の携帯端末では、このPDCP−SDU(PDCPペイロード)に対して順に、PDCP(Packet Data Convergence Protocol)レイヤ、RLC(Radio Link. Control)レイヤ、MAC(Medium Access Control)レイヤにおいてそれぞれPDCPヘッダ、RLCヘッダ、MACヘッダが付加されうる。
以上説明したように、本実施形態の携帯端末は、CRCコードを検出することによりIPパケットの同期をとることができるようになっている。よって、PPP等のプロトコルを利用することなくIPパケットのまま上位レイヤの処理を行うことができる。
(2)第2実施形態
以下、本発明の通信装置の第2実施形態としての携帯端末について説明する。
第2実施形態の携帯端末は、第1実施形態の携帯端末に対して、第2パケット検出部15におけるパケットの検出の信頼性を向上させるものである。なお、第2実施形態の携帯端末の構成は、図2に示した構成と概略同一であり、主として相違点について以下で説明する。
以下、本発明の通信装置の第2実施形態としての携帯端末について説明する。
第2実施形態の携帯端末は、第1実施形態の携帯端末に対して、第2パケット検出部15におけるパケットの検出の信頼性を向上させるものである。なお、第2実施形態の携帯端末の構成は、図2に示した構成と概略同一であり、主として相違点について以下で説明する。
(2−1)携帯端末(UE)の構成
本実施形態の携帯端末において、ステートマシン20が状態SB(図4参照)にあるときには、CRC処理部19(第2検出部)は、S/Pインタフェース12から1バイトデータが入力される毎に、内部のバッファに順次蓄積されるデータから、所定の生成多項式に基づくCRCコードを生成していく。そして、生成したCRCコードが、CRCコードの生成の基礎となる入力データ(処理対象データ)に続く所定量の入力データ(ここで、「所定量」とはCRCコードとして予定するデータ量である。)と一致するかを判定する。その結果、一致した場合には、CRCコードを検出したことを示す信号をステートマシン20へ送信する。この信号はさらに、ステートマシン20から第2パケット検出部15へ送信される(CRC検出通知)。
本実施形態の携帯端末において、ステートマシン20が状態SB(図4参照)にあるときには、CRC処理部19(第2検出部)は、S/Pインタフェース12から1バイトデータが入力される毎に、内部のバッファに順次蓄積されるデータから、所定の生成多項式に基づくCRCコードを生成していく。そして、生成したCRCコードが、CRCコードの生成の基礎となる入力データ(処理対象データ)に続く所定量の入力データ(ここで、「所定量」とはCRCコードとして予定するデータ量である。)と一致するかを判定する。その結果、一致した場合には、CRCコードを検出したことを示す信号をステートマシン20へ送信する。この信号はさらに、ステートマシン20から第2パケット検出部15へ送信される(CRC検出通知)。
この実施形態において、第2パケット検出部15では、以下の処理が行われる。すなわち、カウンタ152(測定部)は、セレクタ13(S/Pインタフェース12)からの入力とともに動作を開始する。セレクタ13からの1バイトデータは順次バッファ153に蓄積される。ヘッダ解析部151は、セレクタ13から入力するデータの先頭位置が、既に検出されたパケットの次のパケットのヘッダの先頭位置であると推定し、そのヘッダの所定のフィールドからパケット長を読み出す。
第2判定部としての第2パケット検出部15は、CRC検出通知を受けた時点におけるカウンタ152のカウント値に基づいて、読み出したパケット長が正しいか否かについての検証を行う。このパケット長の検証では、読み出したパケット長のバイト数がカウント値と一致するかについて判定される。一致する場合、第2パケット検出部15は、正しくパケットが検出(同期検出)されたと判断する。
(2−2)携帯端末(UE)のデータ処理
次に、図10を参照して、本実施形態の携帯端末のデータ処理について説明する。ステートマシン20が状態SA(図4参照)にあるときの処理は第1実施形態のものと同一であるため、ステートマシン20が状態SB(図4参照)にあるときの処理についてのみ説明する。なお、図10のフローチャートにおいて、図6と同じステップの部位については同一の符号を付してある。
次に、図10を参照して、本実施形態の携帯端末のデータ処理について説明する。ステートマシン20が状態SA(図4参照)にあるときの処理は第1実施形態のものと同一であるため、ステートマシン20が状態SB(図4参照)にあるときの処理についてのみ説明する。なお、図10のフローチャートにおいて、図6と同じステップの部位については同一の符号を付してある。
図10において、先ず、ステートマシン20は第2パケット検出部15に対して処理を開始するように指示し(ステップS22)、セレクタ13,16が制御される。これにより、S/Pインタフェース12からの1バイトデータがCRC処理部19及び第2パケット検出部15へ順次送出され、蓄積されていく。
S/Pインタフェース12からデータが入力されると、第2パケット検出部15では、カウンタ152が、入力されるバイト数のカウントを開始する(ステップS24)。第2パケット検出部15は、セレクタ13(S/Pインタフェース12)から入力するデータの先頭位置が、既に検出されたパケットの次のパケットのヘッダの先頭位置であると推定し、そのヘッダの所定のフィールドからパケット長を読み出す(ステップS26)。
S/Pインタフェース12からデータが入力されると、第2パケット検出部15では、カウンタ152が、入力されるバイト数のカウントを開始する(ステップS24)。第2パケット検出部15は、セレクタ13(S/Pインタフェース12)から入力するデータの先頭位置が、既に検出されたパケットの次のパケットのヘッダの先頭位置であると推定し、そのヘッダの所定のフィールドからパケット長を読み出す(ステップS26)。
第2パケット検出部15は、CRC処理部19からCRC検出通知を受けると(ステップS27)、カウンタ152を停止させる(ステップS28)。そして、第2パケット検出部15は、カウンタ152の値を読み取り、そのカウント値がステップS26で読み出したパケット長のバイト数と一致するか判定することにより、読み出したパケット長が正しいか否かを判断する(ステップS29)。すなわち、パケット長の検証が行われる。
第2パケット検出部15は、ステップS29においてパケット長が正しいと判断するときには、同期検出通知をステートマシン20に対して行い(ステップS32)、カウンタ152をクリアする(ステップS36)。一方、ステップS29においてパケット長が正しくないと判断するときには、第2パケット検出部15に対して非同期検出通知を行う(ステップS34)。
以降、ステップS38で、CPU2の指示によりステートマシン20のサービスが停止させられるまで、第2パケット検出部15においてパケットの検出が継続して行われる。
以降、ステップS38で、CPU2の指示によりステートマシン20のサービスが停止させられるまで、第2パケット検出部15においてパケットの検出が継続して行われる。
(2−3)外部TEから携帯端末(UE)への上りデータの転送
外部TEから本実施形態の携帯端末への上りデータの転送について、図11に示してある。図11は、第1実施形態で説明した図9と比較して、(e)における処理のみが異なるものとなっている
図11(e)において、携帯端末の上りデータ処理部4では、第1パケット検出部14が主として動作してCRC#1を検出するとともに、ヘッダを推定してパケット長を読み出し、パケット長の正常性を確認する。これによりCRC#1が付加された最初のIPパケットが検出される点は、図9に示した処理と同様である。
いったん最初のIPパケットが検出されると、第2パケット検出部15が主として動作して、CRC#1に続くデータからヘッダを推定してパケット長を読み出す。さらに、CRCコードの検出、カウンタの値に基づくパケット長の検証を行うことで、CRC#2が付加された次のIPパケットが検出される。同様にして、CRC#3が付加された次のIPパケットが検出される。
外部TEから本実施形態の携帯端末への上りデータの転送について、図11に示してある。図11は、第1実施形態で説明した図9と比較して、(e)における処理のみが異なるものとなっている
図11(e)において、携帯端末の上りデータ処理部4では、第1パケット検出部14が主として動作してCRC#1を検出するとともに、ヘッダを推定してパケット長を読み出し、パケット長の正常性を確認する。これによりCRC#1が付加された最初のIPパケットが検出される点は、図9に示した処理と同様である。
いったん最初のIPパケットが検出されると、第2パケット検出部15が主として動作して、CRC#1に続くデータからヘッダを推定してパケット長を読み出す。さらに、CRCコードの検出、カウンタの値に基づくパケット長の検証を行うことで、CRC#2が付加された次のIPパケットが検出される。同様にして、CRC#3が付加された次のIPパケットが検出される。
以上説明したように、本実施形態の携帯端末では、いったん最初のパケットが検出された後に継続して行われるパケットの同期を、パケット長の読み出しのみに依存するのではなく、その読み出したパケット長を、CRCコードの検出に基づき逐次検証する。よって、パケットの検出の信頼性が向上する。
(3)第3実施形態
以下、本発明の通信装置の第3実施形態としての携帯端末について説明する。
第3実施形態の携帯端末は、第1又は第2実施形態の携帯端末に対して、データ処理の高速化を図ったものである。このデータ処理の高速化のため、本実施形態の携帯端末では、第2パケット検出部において、データの入出力が時間軸上で並列となるように制御(パイプライン処理)される。
以下、本発明の通信装置の第3実施形態としての携帯端末について説明する。
第3実施形態の携帯端末は、第1又は第2実施形態の携帯端末に対して、データ処理の高速化を図ったものである。このデータ処理の高速化のため、本実施形態の携帯端末では、第2パケット検出部において、データの入出力が時間軸上で並列となるように制御(パイプライン処理)される。
(3−1)携帯端末(UE)の構成
第3実施形態の携帯端末の構成を図12に示す。図12において、第1実施形態と同一の構成部分については同一の符号を付し、重複説明を行わない。
図12において、本実施形態の携帯端末において、上りデータ処理部4aは、図2に示した上りデータ処理部4と比較して、第2パケット検出部15aとステートマシン20aが相違する。第2パケット検出部15aは、ダブルバッファ(いわゆるピンポンバッファ)を構成する1組のバッファ(BUF)153a,153bを備える点で第2パケット検出部15と相違する。1組のバッファ153a,153bはそれぞれ、予定するパケットの大きさに相当する容量を備えている。
第3実施形態の携帯端末の構成を図12に示す。図12において、第1実施形態と同一の構成部分については同一の符号を付し、重複説明を行わない。
図12において、本実施形態の携帯端末において、上りデータ処理部4aは、図2に示した上りデータ処理部4と比較して、第2パケット検出部15aとステートマシン20aが相違する。第2パケット検出部15aは、ダブルバッファ(いわゆるピンポンバッファ)を構成する1組のバッファ(BUF)153a,153bを備える点で第2パケット検出部15と相違する。1組のバッファ153a,153bはそれぞれ、予定するパケットの大きさに相当する容量を備えている。
第2パケット検出部15aは、パケットを検出する毎に、処理対象のバッファを1組のバッファ153a,153bの間で交互に切り替える。処理対象のバッファにセレクタ13からの1バイトデータが蓄積されていき、処理対象のバッファ内のデータがヘッダ解析部151及びカウンタ152の処理対象となる。このとき、例えばバッファ153a(処理対象のバッファ)内にデータを入力している期間と並行して、バッファ153bからパケットが出力される。同様に、バッファ153b(処理対象のバッファ)内にデータを入力している期間と並行して、バッファ153aからパケットが出力される。
図13は、ステートマシン20aの状態遷移図である。以下、ステートマシン20aにおける状態遷移について、各状態における上りデータ処理部4a内の動作と関連付けて説明する。なお、図13では、第2パケット検出部15aの処理を1組のフェーズP_a,P_bに分けて記載してある。
図13において、上りデータ処理部4aの処理が開始されると(サービスイン)、第1パケット検出部14によるパケット検出(第1パケット検出)を行う状態(状態SA)となる。これにより、セレクタ13,16が制御されて、S/Pインタフェース12からの1ビットデータが順次、第1パケット検出部14に入力されるとともに、第1パケット検出部14においてパケット検出処理が行われることになる。
また、CRC処理部19によりCRCが検出され、かつ第1パケット検出部14によるパケット長の検証がOKとなると(同期検出OK)、ステートマシン20aは、第2パケット検出部15aのフェーズP_aによるパケット検出(第2パケット検出(フェーズP_a))を行う状態(状態SB_a)へ遷移する。これにより、セレクタ13,16が制御されて、S/Pインタフェース12からの1ビットデータが順次、第2パケット検出部15a内のバッファ153aに蓄積されていく。そして、ステートマシン20aは、パケットの検出可であることを示す信号(LレベルのPACKET_RCVD信号)、及びDMAが完了したことを示すDMA_COMPL信号が与えられると((同期検出OK)&(DMA完了))、第2パケット検出部15aのフェーズP_bによるパケット検出(第2パケット検出(フェーズP_b))を行う状態(状態SB_b)へ遷移する。
状態SB_bへ遷移すると、セレクタ13,16が制御されて、S/Pインタフェース12からの1ビットデータが順次、第2パケット検出部15a内のバッファ153bに蓄積されていく。そして、ステートマシン20aは、パケットの検出可であることを示す信号(LレベルのPACKET_RCVD信号)、及びDMAが完了したことを示すDMA_COMPL信号が与えられると((同期検出OK)&(DMA完了))、再度状態SB_aへ遷移する。以後、ステートマシン20aは、パケットが検出される毎に、状態SB_a,SB_bの間で状態を遷移させる。
なお、ステートマシン20aは、状態SB_a,SB_bのいずれかの状態にあるときに、同期検出がNOKとなった場合には、状態SAへ遷移させる。
(3−2)上りデータの処理
次に、実施形態の携帯端末における上りデータの処理について、図14を参照して説明する。図14は、ステートマシン20aが状態SB_a又はSB_bにあるときのデータフローを示すフロー図である。なお、ステートマシン20aが状態SAにあるときのデータフローは、図7に示したものと同一である。図14において、図8に示したものと同一の処理部位については、図8と同一の符号を付している。
なお、図14では、第2パケット検出部15aの処理をフェーズ毎に区別するため、第2パケット検出部15a(フェーズP_a),第2パケット検出部15a(P_b)に分けて記載してある。各フェーズが交互に実行される。
次に、実施形態の携帯端末における上りデータの処理について、図14を参照して説明する。図14は、ステートマシン20aが状態SB_a又はSB_bにあるときのデータフローを示すフロー図である。なお、ステートマシン20aが状態SAにあるときのデータフローは、図7に示したものと同一である。図14において、図8に示したものと同一の処理部位については、図8と同一の符号を付している。
なお、図14では、第2パケット検出部15aの処理をフェーズ毎に区別するため、第2パケット検出部15a(フェーズP_a),第2パケット検出部15a(P_b)に分けて記載してある。各フェーズが交互に実行される。
いったん最初のパケットが検出されると、ステートマシン20aでは状態SB_aへ移行する(図13参照)。ステートマシン20aは第2パケット検出部15a(フェーズP_a)に対して処理を開始するように指示する。これにより、S/Pインタフェース12からの1バイトデータがCRC処理部19、及び第2パケット検出部15a(フェーズP_a)へ順次送出されていく(ステップS70)。第2パケット検出部15a(フェーズP_a)内では、1バイトデータが順次、バッファ153aに蓄積されていく。
ステップS72において、CRC処理部19は、CRC検出通知としてCRC_OK信号をステートマシン20aを送信する。このCRC_OK信号はさらに、第2パケット検出部15a(フェーズP_a)に送信される。第2パケット検出部15a(フェーズP_a)は、CRC_OK信号(CRC検出通知)を受けるとパケット長の検証を行い(ステップS75)、パケット長がOKであれば同期検出通知としてLレベルのPACKET_RCVD信号をステートマシン20aへ送信する(ステップS76)。
この時点で、ステートマシン20aは、ステップS70より前に検出したパケットのDMA転送が完了したことを示すDMA_COMPL信号を、第2パケット検出部15a(P_b)から受信済みであるとする。その場合、ステートマシン20aでは、状態SB_aから状態SB_bへ遷移する(図13参照)。これにより、S/Pインタフェース12からの1バイトデータがCRC処理部19及び第2パケット検出部15a(フェーズP_b)へ順次送出されていく。第2パケット検出部15a(フェーズP_b)内では、S/Pインタフェース12からの入力データの転送先から切り替えられ(ステップS80)、1バイトデータが順次、CRC処理部19、及び第2パケット検出部15a(フェーズP_b)のバッファ153bに蓄積されていく(ステップS90)。そして、CRC検出通知としてのCRC_OK信号がCRC処理部19からステートマシン20aへ、さらには第2パケット検出部15a(フェーズP_b)へ送信される(ステップS92)。
一方、第2パケット検出部15aは、ステップS76の後、検出されたパケット(バッファ153a内の入力データ)をメモリ3へ転送するためのDMAを要求するDMA_RQ信号をDMAコントローラ17へ送信する(ステップS82)。その後、検出されたパケットが1バイトデータ毎に順次、バスインタフェース18を介してメモリ3へ転送される(ステップS84)。
ここで、ステップS84とステップS90については、異なるバッファに対する処理であるため、時間軸上で少なくとも一部を並列に行うことが可能である。
ここで、ステップS84とステップS90については、異なるバッファに対する処理であるため、時間軸上で少なくとも一部を並列に行うことが可能である。
ステップS84におけるデータ転送が完了すると、DMA転送が完了したことを示すDMA_COMPL信号が、DMAコントローラ17からCPU2及び第2パケット検出部15a(フェーズP_a)へ送信される。このDMA_COMPL信号はさらに、ステートマシン20aへ送信される(ステップS86)。これにより、第2パケット検出部15a(フェーズP_a)は、第2パケット検出部15a(フェーズP_b)による同期検出が終了すればいつでも処理が開始可能な状態となる。
以上説明したように、本実施形態の携帯端末では、いったん最初のパケットが検出された後に継続して行われるパケット検出処理において、データ入力とパケットの出力(転送)とが時間軸上で並列となるように制御される。よって、本実施形態の携帯端末では、パケットの同期のためのデータ処理が高速化される。
以上、本発明の実施形態について詳細に説明したが、本発明の通信装置、パケット同期方法は上記実施形態に限定されず、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのはもちろんである。
例えば、以上の各実施形態では、IPパケットのパケット長を読み出す処理を行っているが、この処理は、IPパケットのバージョン情報に応じて変更するようにしてもよい。より具体的には、IPv4とIPv6では、IPパケットのヘッダ内に含まれるパケット長の情報のフィールド位置が異なるため、IPパケットのパケット長を読み出す処理では、先にバージョン情報を読み出し、バージョン情報を認識したうえで適切なフィールド位置からパケット長を読み出すようにする。なお、IPv4とIPv6は共に、バージョン情報がヘッダの先頭に配置されている。
例えば、以上の各実施形態では、IPパケットのパケット長を読み出す処理を行っているが、この処理は、IPパケットのバージョン情報に応じて変更するようにしてもよい。より具体的には、IPv4とIPv6では、IPパケットのヘッダ内に含まれるパケット長の情報のフィールド位置が異なるため、IPパケットのパケット長を読み出す処理では、先にバージョン情報を読み出し、バージョン情報を認識したうえで適切なフィールド位置からパケット長を読み出すようにする。なお、IPv4とIPv6は共に、バージョン情報がヘッダの先頭に配置されている。
また、以上の実施形態は主としてIPパケットの同期をとる観点から説明してきたが、パケットの種類が限られないのは当然である。すなわち、このパケット同期方法は、隣接パケット間に付加されるCRCコードの検出に依拠しており、既知の場所からパケット長の情報を読み取ることが可能であれば、パケット自体の種類は問わない。
Claims (8)
- 有線接続される外部装置からの入力データに対して、パケットの同期をとる通信装置であって、
前記外部装置からの入力データを1又は複数の単位データに変換する変換部と、
該単位データの入力毎に、所定量の第1入力データを検査符号とし、該第1入力データより前の入力データを検査対象データとした検査を行い、所望の検査結果を得ることをもって検査符号を検出する第1検出部と、
前記第1検出部により検査符号が検出されたときの検査対象データの先頭位置が第1パケットのヘッダの先頭位置であると推定し、当該ヘッダから前記第1パケットのパケット長を読み出す第1ヘッダ解析部と、
前記第1検出部により検査符号が検出されたときの検査対象データの長さが、前記第1ヘッダ解析部により読み出されるパケット長、と一致するかを判定する第1判定部と、
第1検出部により検出される検査符号に続く入力データの先頭位置が、前記第1パケットに続く第2パケットのヘッダの先頭位置であると推定し、当該ヘッダから前記第2パケットのパケット長を読み出す第2ヘッダ解析部と、
を備えた、通信装置。 - 前記第2パケットのヘッダの先頭位置からの入力データ長を、単位データ量毎のデータ入力毎に測定する測定部と、
前記第2パケットのヘッダの先頭位置からの入力データを処理対象データとして、当該処理対象データに対応する所定量の検査符号を、単位データ量毎のデータ入力毎に生成し、生成した検査符号が処理対象データに続く前記所定量の入力データと一致することをもって検査符号を検出する第2検出部と、
前記第2検出部により検査符号が検出されたときの前記処理対象データの長さが、前記測定部により測定される入力データ長と一致するかを判定する第2判定部と、
を備えた、請求項1に記載の通信装置。 - 前記第1判定部により、検査対象データの長さがパケット長と一致すると判定した後は、前記第2ヘッダ解析部によりパケット長を順次読み出すことにより後続のパケットの同期をとる、
請求項2に記載の通信装置。 - 前記第2判定部において、処理対象データの長さが入力データ長と一致しない場合には、前記第1検出部による検査符号の検出処理が行われるように制御される、
請求項2に記載の通信装置。 - データ入力及び前記第2パケットの出力が時間軸上で並列となるように、ダブルバッファ構成からなる、
請求項2に記載の通信装置。 - 前記パケットはIP(Internet Protocol)パケットであって、
前記第1ヘッダ解析部及び前記第2ヘッダ解析部は、IPパケットのヘッダの所定位置に配置されるバージョン情報に応じて、当該ヘッダのパケット長を読み出す、
請求項1に記載の通信装置。 - 有線接続される外部装置からの入力データに対して、パケットの同期をとるパケット同期方法であって、
前記外部装置からの入力データを1又は複数の単位データに変換し、
該単位データの入力毎に、所定量の第1入力データを検査符号とし、該第1入力データより前の入力データを検査対象データとした検査を行い、所望の検査結果を得ることにより検査符号を検出し、
前記検査符号が検出されたときの検査対象データの先頭位置が第1パケットのヘッダの先頭位置であると推定し、当該ヘッダから前記第1パケットのパケット長を読み出し、
前記検査符号が検出されたときの検査対象データの長さが、読み出された前記パケット長と一致するかを判定し、
検出された前記検査符号に続く入力データの先頭位置が、前記第1パケットに続く第2パケットのヘッダの先頭位置であると推定し、当該ヘッダから前記第2パケットのパケット長を読み出す、パケット同期方法。 - 第1通信装置と、該第1通信装置と有線接続され、且つ該第1通信装置からの入力データに対してパケットの同期をとる第2通信装置とを含む通信システムであって、
第1通信装置は、パケットに検査符号を付加してから第2通信装置へデータを出力し、
第2通信装置は、
前記第1通信装置からの入力データを1又は複数の単位データに変換する変換部と、
該単位データの入力毎に、所定量の第1入力データを検査符号とし、該第1入力データより前の入力データを検査対象データとした検査を行い、所望の検査結果を得ることをもって検査符号を検出する第1検出部と、
前記第1検出部により検査符号が検出されたときの検査対象データの先頭位置が第1パケットのヘッダの先頭位置であると推定し、当該ヘッダから前記第1パケットのパケット長を読み出す第1ヘッダ解析部と、
前記第1検出部により検査符号が検出されたときの検査対象データの長さが、前記第1ヘッダ解析部により読み出されるパケット長、と一致するかを判定する第1判定部と、
第1検出部により検出される検査符号に続く入力データの先頭位置が、前記第1パケットに続く第2パケットのヘッダの先頭位置であると推定し、当該ヘッダから前記第2パケットのパケット長を読み出す第2ヘッダ解析部と、
を備えた、通信システム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2009/001122 WO2010103574A1 (ja) | 2009-03-12 | 2009-03-12 | 通信装置、パケット同期方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2010103574A1 JPWO2010103574A1 (ja) | 2012-09-10 |
JP5382109B2 true JP5382109B2 (ja) | 2014-01-08 |
Family
ID=42727884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011503562A Expired - Fee Related JP5382109B2 (ja) | 2009-03-12 | 2009-03-12 | 通信装置、パケット同期方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8891558B2 (ja) |
EP (1) | EP2408139A1 (ja) |
JP (1) | JP5382109B2 (ja) |
CN (1) | CN102349261B (ja) |
WO (1) | WO2010103574A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104519525B (zh) * | 2013-09-30 | 2018-02-06 | 日月光半导体制造股份有限公司 | 压缩封包的发送装置与接收装置与其发送方法及接收方法 |
US10749641B2 (en) | 2016-10-11 | 2020-08-18 | Qualcomm Incorporated | Media access control header and transport block formats |
CN112005508B (zh) * | 2018-04-25 | 2023-02-17 | 三菱电机株式会社 | 信息处理装置、信息处理方法及计算机可读取的记录介质 |
US11831743B1 (en) * | 2019-01-08 | 2023-11-28 | Xilinx, Inc. | Streaming architecture for packet parsing |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06252874A (ja) * | 1993-03-01 | 1994-09-09 | Nec Corp | ワード同期検出回路 |
JP2007089161A (ja) * | 2005-09-16 | 2007-04-05 | Samsung Electronics Co Ltd | デジタルビデオ放送システムにおける、セクションの検出及び信頼性情報の取得のための多重巡回冗長検査装置及び方法 |
JP2007195185A (ja) * | 2006-01-18 | 2007-08-02 | Samsung Electronics Co Ltd | 無線通信システムにおけるバースト処理装置及び方法 |
JP2008227875A (ja) * | 2007-03-13 | 2008-09-25 | Sanyo Electric Co Ltd | データ再生装置及びデータ再生方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6298387B1 (en) * | 1996-07-12 | 2001-10-02 | Philips Electronics North America Corp | System for detecting a data packet in a bitstream by storing data from the bitstream in a buffer and comparing data at different locations in the buffer to predetermined data |
EP1104961A1 (en) * | 1999-12-03 | 2001-06-06 | Hewlett-Packard Company, A Delaware Corporation | Deferral of transmissions in wireless local area network |
GB2371954B (en) * | 2001-02-01 | 2003-02-19 | 3Com Corp | Interface system for wireless node and network node |
CA2366397A1 (en) * | 2001-12-31 | 2003-06-30 | Tropic Networks Inc. | An interface for data transfer between integrated circuits |
-
2009
- 2009-03-12 CN CN200980157960.6A patent/CN102349261B/zh not_active Expired - Fee Related
- 2009-03-12 WO PCT/JP2009/001122 patent/WO2010103574A1/ja active Application Filing
- 2009-03-12 EP EP09841406A patent/EP2408139A1/en not_active Withdrawn
- 2009-03-12 JP JP2011503562A patent/JP5382109B2/ja not_active Expired - Fee Related
-
2011
- 2011-09-09 US US13/137,758 patent/US8891558B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06252874A (ja) * | 1993-03-01 | 1994-09-09 | Nec Corp | ワード同期検出回路 |
JP2007089161A (ja) * | 2005-09-16 | 2007-04-05 | Samsung Electronics Co Ltd | デジタルビデオ放送システムにおける、セクションの検出及び信頼性情報の取得のための多重巡回冗長検査装置及び方法 |
JP2007195185A (ja) * | 2006-01-18 | 2007-08-02 | Samsung Electronics Co Ltd | 無線通信システムにおけるバースト処理装置及び方法 |
JP2008227875A (ja) * | 2007-03-13 | 2008-09-25 | Sanyo Electric Co Ltd | データ再生装置及びデータ再生方法 |
Also Published As
Publication number | Publication date |
---|---|
US8891558B2 (en) | 2014-11-18 |
CN102349261A (zh) | 2012-02-08 |
EP2408139A1 (en) | 2012-01-18 |
JPWO2010103574A1 (ja) | 2012-09-10 |
WO2010103574A1 (ja) | 2010-09-16 |
CN102349261B (zh) | 2014-06-04 |
US20110317724A1 (en) | 2011-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4675913B2 (ja) | 無線通信システムにおけるバースト処理装置及び方法 | |
JP5382109B2 (ja) | 通信装置、パケット同期方法 | |
US8261162B2 (en) | Decoding device, decoding method, and media data delivery system | |
JP7041255B2 (ja) | 送信デバイス、受信デバイス、及びアップリンクデータ圧縮を処理するためにそれらにおいて実行される方法 | |
JP2015027100A (ja) | パケット通信の伝送制御方法及びパケット通信システム | |
US8811180B2 (en) | Communication apparatus and communication method | |
US20120163221A1 (en) | Communication Device, Communication Method and Computer Program Product | |
JP2006197173A (ja) | 無線通信装置、無線通信システム、及び無線通信方法 | |
CN109673021B (zh) | 业务时延确定方法 | |
CN110248379A (zh) | 无线局域网中基站的性能测试方法及装置 | |
JP2007101457A (ja) | 送信装置及び受信装置及び時刻通知方法及び時刻設定方法 | |
JP2015023463A (ja) | パケット解析装置、パケット解析方法、及びパケット解析プログラム | |
JP5924880B2 (ja) | データ通信システム、プリアンブル長最適化方法、及び通信装置 | |
JP5201265B2 (ja) | 無線通信装置およびデータ受信方法 | |
JP5489252B2 (ja) | eMBMS伝送のダウンリンク・データ同期を制御する方法および装置 | |
CN107872357B (zh) | 一种测量链路可用带宽的方法、设备及系统 | |
EP3142277B1 (en) | Fault tolerance method and apparatus for microwave transmission and computer readable storage medium | |
JP5283496B2 (ja) | Lan中継装置 | |
JP2010118894A (ja) | パケット生成装置、パケット生成方法及びパケット生成プログラム | |
JP4581925B2 (ja) | データ転送装置およびデータ転送方法 | |
JP2016005220A (ja) | 送信装置、送信方法、プログラム | |
WO2015040833A1 (ja) | 通信装置及び通信装置の制御方法 | |
JP2012049883A (ja) | 通信装置およびパケット処理方法 | |
WO2016054911A1 (zh) | 检测方法、发送端、接收端及检测系统 | |
JP2015186087A (ja) | 計測装置、制御装置、計測方法、制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130521 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130702 |
|
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: 20130903 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130916 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |