JP2005295216A - データ処理装置及びプログラム - Google Patents

データ処理装置及びプログラム Download PDF

Info

Publication number
JP2005295216A
JP2005295216A JP2004107597A JP2004107597A JP2005295216A JP 2005295216 A JP2005295216 A JP 2005295216A JP 2004107597 A JP2004107597 A JP 2004107597A JP 2004107597 A JP2004107597 A JP 2004107597A JP 2005295216 A JP2005295216 A JP 2005295216A
Authority
JP
Japan
Prior art keywords
bits
bit string
output
bit
input
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.)
Granted
Application number
JP2004107597A
Other languages
English (en)
Other versions
JP4314479B2 (ja
Inventor
Koji Kuroda
浩司 黒田
Masakatsu Miyazaki
眞克 宮崎
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.)
Saxa Inc
Original Assignee
Saxa Inc
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 Saxa Inc filed Critical Saxa Inc
Priority to JP2004107597A priority Critical patent/JP4314479B2/ja
Publication of JP2005295216A publication Critical patent/JP2005295216A/ja
Application granted granted Critical
Publication of JP4314479B2 publication Critical patent/JP4314479B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Communication Control (AREA)

Abstract

【課題】0挿入及び0削除に必要な処理回数が入力キューのビット列の並びに影響されないようにして、処理時間を短縮する。
【解決手段】0挿入部12では、入力キュー記憶部12bに記憶されたデータを8ビット単位でバッファメモリ12c に読み込み、0挿入テーブル12eを検索して、0挿入処理を行い、0挿入処理を受けたデータをバッファメモリ12c から出力キュー記憶部12dへ送出する。入力キューから選択される所定数の入力ビット列は、その並びに関係なく処理され、出力キューに付加されるので、0挿入処理の処理回数は入力キュー記憶部12bから読み込まれる入力キューのビット列の並びとは無関係となる。0削除及びフラグ検出部21の処理についても同様である。
【選択図】 図1

Description

本発明は、HDLC(High-level Data Link Control Procedure)を用いたデータを処理する装置に関し、特に0挿入及び0削除の高速化を可能にしたデータ処理装置に関する。
HDLCは、IBM社のSDLC(Synchronous Data Link Control )をベースにISO(国際標準化機構)が定めたデータリンク層の標準規約である。HDLCのフレーム構成は、図25に示すように、フレームの開始及び終了を示す8ビットのフラグと、順次フラグに続く8ビットのアドレス部、8ビット又は16ビットの制御部、任意ビット長の情報部、及び16ビットのFCS(フレーム・チェック・シーケンス)からなる。フラグのビットパターンは01111110と定められているため、フレームの開始と終了を示すフラグに挟まれた部分では、ビット1が5個連続する場合、送信側ではその次にビット0を挿入し(これを0挿入という)、受信側ではそのビット0を削除する(これを0削除という)ことで、フラグのビットパターンの独自性を保証している。
従来、このような0挿入及び0削除を行う方法として、特許文献1に開示された「同期HDLCのためのビット・スタッフィング方法及び装置」がある。以下、図26
乃至51を参照しながら、特許文献1に開示されたビット・スタッフィング方法について説明する。
まず、図26のフローチャート及び図27乃至36の状態変化を示す図を用いて0挿入方法を説明する。これらの図において、入力キューはこれから0挿入処理を受けるデータ、出力キューは0挿入処理を受けたデータである。
まず、6オクテット(48ビット)入力キューの先頭から1オクテット(8ビット)のデータを選択する(図27(a)、図26ステップS31)。図27(a)において、枠で囲まれた01011011が選択された8ビットを示す。次に、0挿入用テーブルを検索して、(ア)出力キューに付加するビット数(以下、出力ビット数という)、(イ)入力キューから削除するビット数(以下、削除ビット数という)、及び(ウ)出力キューに付加するビット列(以下、出力ビット列という)を読み出す(図27(b)、ステップS32)。0挿入用テーブルには、入力される8ビットの全ての組み合わせ(28 =256通り)に対する上記(ア)、(イ)及び(ウ)のデータが予め格納されている。
ここでは、出力ビット数=6、削除ビット数=6、出力ビット列=010110である。選択された8ビットが全て入力キューから削除され、かつ出力キューに付加されない理由は、選択された8ビットの末尾の2ビット11は、その2ビットの次に1が3個続いた場合、その次に0挿入処理を行うことになるため、次に選択される先頭の3ビットと併せて処理する必要があり、未確定であるためである。従って、ここでは、出力キューに010110を付加し(ステップS33)、入力キューから010110を削除する(ステップS34)。図27(c)は、010110が削除された入力キュー、及び010110が付加された出力キューを示す。ここで、入力キューの010110に付与された二重線は削除されたビット列を表し、網がけは今回削除されたビット列を表す。また、出力キューに付与された下線は今回付加されたビット列を表す。
以上のステップS31乃至34を入力キューのビット数が8より小さくなるまで繰り返す(ステップS35)。ここでは、図28(a)に示すように、11101111を選択する。この先頭の11は前回選択されたものの出力キューに付加されなかった2ビットである。テーブルを検索した結果は、図28(b)に示すように、出力ビット数=4、削除ビット数=4、出力ビット列=1110である。従って、図28(c)に示すように、1110が入力キューから削除され、かつ出力キューに付加される。
以後、図29乃至図35までステップS31乃至34の処理が繰り返し実行され、図35(c)に示す状態になると、ステップS35で”はい”と判定されるので、1フレームの処理が終わる。図30、31、32、34及び35では0挿入を行っている。なお、図35の入力キューのxxは次のフレームのデータである。
次に、図37及び38のフローチャート及び図39乃至51の状態変化を示す図を用いて0削除方法を説明する。これらの図において、入力キューはこれから0削除処理を受けるデータ、出力キューは0削除処理を受けたデータである。また、図37は開始フラグ検出処理であり、図38は開始フラグ検出後の処理である。
まず、0削除の前にフラグ検出を行うために、入力キューの先頭から1オクテット(8ビット)のデータを選択する(図39(a)、図37ステップS41)。次に、フラグ検出テーブルを検索して、(ア)入力キューから削除するビット数(削除ビット数)、及び(イ)データ種別(フラグ/通常データ)を読み出す(図39(b)、ステップS42)。ここでは、データ種別はフラグではなく、削除ビット数=1である。従って、ステップS43で”いいえ”と判断され、ステップS45で入力キューから先頭の1ビットが削除され、ステップS41に戻る。フラグが検出される迄は出力キューにデータは付加されないので、図39(c)に示すように、1が入力キューから削除され、出力キューに付加されるデータはない。
再び入力キューから8ビットを選択する。今回は01111110が選択されている(図40(a))。フラグ検出テーブルを検索することにより、入力された8ビットがフラグであり、削除ビット数=8であることが分かる。従って、ステップS43で”はい”と判断され、ステップS44で入力キューからフラグの8ビットが削除され、開始フラグ検出処理を終える。
開始フラグが検出されたので、次に図38に示されている0削除処理を実行する。入力キューの先頭から1オクテット(8ビット)のデータを選択する(図41(a)、図38のステップS51)。ここでは、01011011が選択されている。次に、0削除テーブルを検索して、(ア)出力キューに付加するビット数(出力ビット数)、(イ)入力キューから削除するビット数(削除ビット数)、及び(ウ)データ種別(通常データ/フラグ/アボート)を読み出す(図41(b)、ステップS52)。ここでは、図41(b)に示されているように、出力ビット数=5、削除ビット数=5、データ種別=通常データである。選択された8ビットの後部の3ビット011が出力キューに付加されない理由は、この011がフラグの先頭3ビットと同じであるため、その3ビットの次に11110が続いた場合、終了フラグとなるからである。従って、ステップS53”通常データ”と判定され、ステップS54で01011が出力キューに付加され、ステップS55 で01011が入力キューから削除された結果、図41(c)に示す状態となる。
以後、図42乃至50迄ステップS51乃至55の処理が繰り返し実行され、図51(a)に示すようにステップS53でフラグが検出され、1フレームの処理が終わる。図44、45、46、48及び49では0削除が行われている。1フレームの処理が終わると、ステップS51に戻って次のフレームの処理を行う。また、ステップS53でアボートが検出された場合は、図37のステップS41に戻ってフラグ検出処理を行う。
特表2002−520952号公報
しかしながら、上記従来の0挿入方法及び0削除方法では、入力キューから選択したビット列のうち確定したビット数分だけを削除するため、削除処理が複雑になる。また、ビット列の並びにより処理回数が増減し、0挿入方法では特に1が連続すると処理回数が極めて増加し、0削除方法ではフラグの一部と同じビット並びのデータがあるとき、及び0削除が必要なビット列が連続するときに処理回数が多くなり、処理時間が長くなる。
本発明はこのような問題点を解決するためになされたもので、0挿入処理又は0削除処理の処理回数が入力キューのビット列の並びに影響を受けないようにして、処理時間を短縮することを目的とする。
請求項1に係る発明は、入力キューに0挿入を行い出力キューを生成するデータ処理装置であって、前記入力キューから所定ビット数毎にビット列を選択して入力ビット列とする手段と、前回の入力ビット列と前回の出力ビット列との差異に対応する状態データ、前記所定ビット数のビット列の並び、出力ビット列、及び次回の状態データの組合せが予め記憶されたテーブルを検索して、前記入力ビット列に対応する出力ビット列及び次回の状態データを読み出す手段と、前記出力ビット列を前記出力キューに付加する手段とを備えたことを特徴とするデータ処理装置である。
請求項2に係る発明は、入力キューから0削除を行い出力キューを生成するデータ処理装置であって、前記入力キューから所定ビット数毎にビット列を選択して入力ビット列とする手段と、前回の入力ビット列と前回の出力ビット列との差異に対応する状態データ、前記所定ビット数のビット列の並び、出力ビット列、及び次回の状態データの組合せが予め記憶されたテーブルを検索して、前記入力ビット列に対応する出力ビット列及び次回の状態データを読み出す手段と、前記出力ビット列を前記出力キューに付加する手段とを備えたことを特徴とするデータ処理装置である。
請求項3に係る発明は、入力キューに0挿入を行い出力キューを生成するデータ処理装置のコンピュータを、前記入力キューから所定ビット数毎にビット列を選択して入力ビット列とする手段と、前回の入力ビット列と前回の出力ビット列との差異に対応する状態データ、前記所定ビット数のビット列の並び、出力ビット列、及び次回の状態データの組合せが予め記憶されたテーブルを検索して、前記入力ビット列に対応する出力ビット列及び次回の状態データを読み出す手段と、前記出力ビット列を前記出力キューに付加する手段として機能させることを特徴とするプログラムである。
請求項4に係る発明は、入力キューから0削除を行い出力キューを生成するデータ処理装置のコンピュータを、前記入力キューから所定ビット数毎にビット列を選択して入力ビット列とする手段と、前回の入力ビット列と前回の出力ビット列との差異に対応する状態データ、前記所定ビット数のビット列の並び、出力ビット列、及び次回の状態データの組合せが予め記憶されたテーブルを検索して、前記入力ビット列に対応する出力ビット列及び次回の状態データを読み出す手段と、前記出力ビット列を前記出力キューに付加する手段として機能させることを特徴とするプログラムである。
本発明によれば、入力キューから選択された所定数のビット列は、ビット列の並びに関係なく処理され、出力キューに付加されるので、0挿入処理又は0削除処理の処理回数がビット列の並びに影響を受けなくなり、処理時間が短縮される。
以下、図面を参照しながら本発明の実施形態について説明する。
図1は本発明の実施形態に係る送信回路及び受信制御回路の構成を示すブロック図である。送信制御回路1は、FCS生成部11と、その出力側に接続された0挿入部12と、その出力側に接続されたフラグ生成部13とを備えている。受信制御回路2は、0削除及びフラグ検出部21と、その出力側に接続されたエラー検出部22とからなる。
0挿入部12は、入力キュー記憶部12bと、その出力側に接続されたバッファメモリ12cと、その出力側に接続された出力キュー記憶部12dと、各部を制御する制御部12aと、制御部12aに接続された0挿入テーブル12eとを備えている。また、0削除及びフラグ検出部21は、入力キュー記憶部21bと、その出力側に接続されたバッファメモリ21cと、その出力側に接続された出力キュー記憶部21dと、各部を制御する制御部21aと、制御部21aに接続された0削除及びフラグ検出テーブル21eとを備えている。
送信制御回路1のFCS生成部11には、図示されていないフレーム生成部で生成されたHDLCフレームデータが入力される。FCS生成部11は、入力されたHDLCフレームデータにFCS(誤り訂正符号)を付加し、0挿入部12へ出力する。0挿入部12では、制御部12aの制御により、入力キュー記憶部12bにデータを記憶すると共に、記憶されたデータを所定ビット単位でバッファメモリ12c に読み込み、0挿入テーブル12eを検索して、0挿入処理を行い、0挿入処理を受けたデータをバッファメモリ12c から出力キュー記憶部12dへ送出する。さらに、出力キュー記憶部12dに記憶されたデータをフラグ生成部13へ送るように制御する。詳細について後述するように、0挿入テーブル12eには、前回入力キュー記憶部12bから読み込まれたビット列と前回出力キュー記憶部12dに送出されたビット列との差異に対応する状態データ、所定ビット数のビット列の並び、出力キュー記憶部12dへ送出されるビット列とそのビット数、及び入力キュー記憶部12bから読み込まれるビット列と出力キュー記憶部12dへ送出されるビット列との差異に対応する次回の状態データの全ての組合せが予め記憶されている。また、入力キュー記憶部12bから読み込まれる所定数のビット列は、その並びに関係なく、入力キュー記憶部12bから削除されるので、0挿入処理の処理回数は入力キュー記憶部12bから読み込まれるビット列の並びとは無関係となる。フラグ生成部12dは、入力されたデータにフラグ01111110を付加し、図示されていないデータ伝送路を介して受信制御回路2へ送信する。
受信制御回路2の0削除及びフラグ検出部21には、送信制御回路1から送信されたHDLCフレームデータが図示されていないデータ伝送路を介して入力される。0削除及びフラグ検出部21では、制御部21aの制御により、入力キュー記憶部21bにデータを記憶すると共に、記憶されたデータを所定ビット単位でバッファメモリ21cに読み込み、0削除及びフラグ検出テーブル21eを検索して、0削除及びフラグ検出処理を行い、0削除及びフラグ検出処理を受けたデータをバッファメモリ21cから出力キュー記憶部21dへ送出する。さらに、出力キュー記憶部21dに記憶されたデータをエラー検出部22へ送るように制御する。詳細について後述するように、0削除及びフラグ検出テーブル21eには、前回入力キュー記憶部21bから読み込まれたビット列と前回出力キュー記憶部21dに送出されたビット列との差異に対応する状態データ、所定ビット数のビット列の並び、出力キュー記憶部21dへ送出されるビット列とそのビット数、入力キュー記憶部21bから読み込まれるビット列と出力キュー記憶部21dへ送出されるビット列との差異に対応する次回の状態データ、及びデータの種別(通常データ/フラグ/アボート)の全ての組合せが予め記憶されている。また、入力キュー記憶部21bから読み込まれる所定数のビット列は、その並びに関係なく、入力キュー記憶部21bから削除されるので、0削除処理の処理回数は入力キュー記憶部21bから読み込まれるビット列の並びとは無関係となる。エラー検出部22は、入力されたデータのFCSを用いて誤り訂正処理を行い、図示されていないフレーム受信部へ送出する。
以下、図2乃至11を参照しながら、送信制御回路1の0挿入部12の動作を説明する。
まず、0挿入テーブル12eの内容を説明する。本実施形態では、入力キュー記憶部12bから8ビットずつデータがバッファメモリ12cに読み込まれ、0挿入が必要な場合、つまり1が5個続いた場合には0挿入処理を受け、出力キュー記憶部12dへ送出される。また、入力キュー記憶部12bから例えば図28(a)に示した11101111が読み込まれた場合、出力キュー記憶部12dへ送出されるのは図28(c)と同様、1110となり、1111は送出されない。本実施形態では、この1111からなる残りビットを状態番号として保存し、次回に入力キュー記憶部12bから読み込まれる8ビットと同時に扱う。
残りビットは、1、11、111及び1111の4種類であるから、図2に示すように、状態番号0乃至4により残りビットの種類を定めている。そして、0挿入テーブル12eには、入力キューから読み込まれる8ビットのビット列の並び、出力キュー記憶部12dへ出力されるビット列とそのビット数、及び状態番号の全ての組合せが予め記憶されている。
次に、0挿入テーブル12eの作成手順を説明する。
[1]状態番号が0のテーブルの場合
下記(1)〜(4)の手順で作成する。
(1)対象とする8ビットについて、順にビットを調べ、0挿入が必要か否かを判定する。
<判定の法則>
・0挿入が必要か否かは1が5個連続しているか、途中で0が出現するかを確認する。
・1の連続数が5個未満の場合、そのまま取り出しビットの並びとすることができる。
・1の連続数が5個に達した場合、続けて0を挿入する事によってそれまで判定したビット列は、取り出しビットの並びとし、1の連続数も0から数え直す。
(2) (1)の処理を行い、8 ビット全てを調べる。8ビットの終了時点では以下の3つの状態が考えられる。
(ア)8ビット目が0で終了した状態(1の連続数が0)
(イ)8ビット目で1の連続数が5になり、0挿入をした直後の状態(1の連続数が0)
(ウ)8ビット目では1の連続数が1以上5未満であり、次の取り出しビットに影響を与える状態
(3)(ア)、(イ)の状態の場合、それまで作成した、ビット列、作成済みのビット数がテーブルとなる。また、全てのビットが判定終了したので、残りのビットは0である。これは、残りのビット数が0であるので、次状態が0ということでもある。
(4)(ウ)の状態の場合は、判定済みのビット列とビット列のビット数をテーブルとする。また、終了時点での1の連続数を次の状態番号とする。
残りビット無しの場合 → 次状態:0
残りビット1の場合 → 次状態番号:1
残りビット11の場合 → 次状態番号:2
残りビット111の場合 → 次状態番号:3
残りビット1111の場合 → 次状態番号:4
[2]状態番号が0以外のテーブルの場合
下記(1)〜(5)の手順で作成する。
(1)状態番号により、対象とする8ビットの前に以下のビットを加える。
状態番号:1→1+(対象とする8ビット)
状態番号:2→11+(対象とする8ビット)
状態番号:3→111+(対象とする8ビット)
状態番号:4→1111+(対象とする8ビット)
(2) (1)で作成したビット列について、順にビットを調べ、0挿入が必要か否かを判定する。
<判定の法則>
・0挿入が必要か否かは1が5個連続しているか、途中で0が出現するかを確認する。
・1の連続数が5個未満の場合、そのまま取り出しビットの並びとすることができる。
・1の連続数が5個に達した場合、続けて0を挿入する事によってそれまで判定したビット列は、取り出しビットの並びとし、1の連続数も0から数え直す。
(3) (2)の処理を行い、(1)で作成したビット全てを調べる。全ビットの終了時点では以下の3つの状態が考えられる。
(ア)最後のビットが0で終了した状態(1の連続数が0)
(イ)最後のビットで1の連続数が5になり、0挿入をした直後の状態(1の連続数が0)
(ウ)最後のビットでは1の連続数が1以上5未満であり、次の取り出しビットに影響を与える状態
(4)(ア)、(イ)の状態の場合、それまで作成した、ビット列、作成済みのビット数がテーブルとなる。また、全てのビットが判定終了したので、残りのビットは0である。これは、残りのビット数が0であるので、次状態が0ということでもある。
(5)(ウ)の状態の場合は、判定済みのビット列とビット列のビット数をテーブルとする。また、終了時点での1の連続数を次状態番号とする。
残りビット無しの場合 → 次状態番号:0
残りビット1の場合 → 次状態番号:1
残りビット11の場合 → 次状態番号:2
残りビット111の場合 → 次状態番号:3
残りビット1111の場合 → 次状態番号:4
[3]0挿入テーブルの作成例(状態番号:2、入力ビット列:10111101の変換テーブル作成の場合)
(1)状態2であるから、前回のビット列は11で終了した状態であり、これに10111101を合わせて判定ビット列は1110111101と考えることができる。
(2)(1)で作成したビット列について、0挿入の必要を考慮しながら、取り出しビットを作成すると、111011110+1と分割できる。
(3)よって、取り出しビットは、111011110、ビット数「9」を得る。残りの「1」については次状態に影響を与えるため、今回はデータを確定できず、次の状態を1とする。
(4)以上から、状態番号:2、入力ビット列:10111101の変換テーブルとして、
次状態番号:1 、出力ビット数:9、出力ビット列=111011110
が得られる。
図3は0挿入テーブル12eの一部を抜粋したものである。この図に示されているように、状態番号と入力ビット列が決まれば、それに対応して次状態番号、出力ビット数及び出力ビット列が定まる。なお、入力キュー記憶部12bから最初に読み込まれるビット列の状態番号は0である。
次に図4のフローチャート及び図5乃至11の状態変化を示す図を用いて0挿入方法を説明する。これらの図において、入力キューは入力キュー記憶部12bに記憶されているビット列、出力キューは出力キュー記憶部12dに記憶されているビット列である。なお、この入力キューのビット列の並びは従来例における入力キューのビット列の並びと同じである。
まず、6オクテット(48ビット)入力キューの先頭から1オクテット(8ビット)のデータを選択する(図5(a)、図4のステップS1)。図5(a)において、枠で囲まれた01011011が選択された8ビットを示す。次に、0挿入用テーブルを検索して、(ア)次回の状態番号(次状態番号)、(イ)出力キューに付加するビット数(出力ビット数)、(ウ)及び出力キューに付加するビット列(出力ビット列)を読み出す(図5(b)、ステップS2)。0挿入用テーブルには、入力される8ビットの全ての組み合わせと状態番号数の積(28 ×5=1280通り)に対する上記(ア)、(イ)及び(ウ)のデータが予め格納されている。
ここでは、次状態番号=2、出力ビット数=6、出力ビット列=010110である。なお、入力キューから選択された01011011の状態(初期状態)は0である。ここで、選択された8ビットの全てが出力キューに付加されない理由は、従来例(図27)を参照しなから説明したように、選択された8ビットの末尾の2ビット11は、その2ビットの次に1が3個続いた場合、その次に0挿入処理を行うことになるため、次に選択される先頭の3ビットと併せて処理する必要があり、未確定であるためである。従って、ここでは、出力キューに010110を付加する(ステップS3)。一方、入力キューからは01011011を削除すると共に次状態番号を保存する(ステップS4)。図5(c)において01011011が削除された入力キュー、010110が付加された出力キューを示す。ここで、入力キューの010110に付与された二重線は削除されたビット列を表し、網がけは今回削除されたビット列を表す。また、出力キューに付与された下線は今回付加されたビット列を表す。
ここで、図5(c)と図27(c)とを比較すると、出力ビット列及び出力ビット数は本実施形態も従来例も同じであるが、削除ビット数は、従来例では出力ビット数と同じであるのに対し、本実施形態では選択されたビット数(=8)と同じになる。そして、本実施形態では、従来例では入力キューから削除せずに残した11を削除し、次状態番号2として保存している。
以上のステップS1乃至4を入力キューのビット列がなくなるまで繰り返す(ステップS5)。ここでは、図6(a)に示すように、10111101を選択する。この入力ビット列の状態番号は前回保存された2である。この入力ビット列及び状態番号を用いて0挿入テーブル12eを検索すると、図6(b)に示すように、次状態番号=1、出力ビット数=9、出力ビット列=111011110である。ここで、出力ビット列の先頭の2ビット11は、入力キューから前回選択されて削除されたものの出力ビットにならず、次状態番号により保存されていたものである。次に、111011110を出力キューに付加し(ステップS3)、10111101を入力キューから削除すると共に次状態番号(=1)を保存する(ステップS4)ことで、図6(c)に示す状態となる。
以後、図7乃至10までステップS1乃至4の処理が繰り返し実行され、図11に示す状態になると、ステップS5で”はい”と判定されるので、次のステップS6で状態番号を判断し、その状態番号に対応する数の1を出力キューに付加して1フレームの処理が終わる。図7、8、9及び10では0挿入を行っている。
このように、本実施形態の0挿入処理では、入力キューから選択した1オクテット(8ビット)を入力ビット列の並びに関係なく全て削除しているため、処理が簡単であり、かつ入力キューのオクテット数と同じ回数のループ処理により完了する。
次に、図12乃至24を参照しながら、受送信制御回路2の0削除及びフラグ検出部21の動作を説明する。
まず、0削除及びフラグ検出テーブル21eの内容を説明する。本実施形態では、入力キュー記憶部21bから8ビットずつデータがバッファメモリ21cに読み込まれ、0削除が必要な場合、つまり1が5個続いた場合には0削除処理を受け、出力キュー記憶部21dへ送出される。また、フラグである01111110が読み込まれた場合、フラグ検出処理を行う。ここで、フレームの最初のフラグである開始フラグが検出されたときは、それ以後読み込まれるデータに対して0削除処理を開始し、フレームの最後のフラグである終了フラグが検出されたときは、1フレームの0削除処理を終える。また、0挿入処理と同様、入力キューから選択したビット列の内、出力キューに付加されない残りビット列を識別するために状態番号を保存する。
状態番号は、図12に示されているように、状態0から12までの13通りになる。そして、0削除及びフラグ検出テーブル21eには、入力キュー21bから読み込まれる8ビットのビット列の並び、出力キュー記憶部21dへ出力されるビット列とそのビット数、データの種別(通常データ/フラグ/アボート)及び状態番号の全ての組合せが予め記憶されている。
次に、0削除及びフラグ検出テーブル21eの作成手順を説明する。
[1]状態0のテーブルの場合
下記(1)〜(5)の手順により作成する。
(1)対象とする8ビットについて、順にビットを調べ、フラグの有無と0削除が必要か否かを判定する。
<判定の法則>
・0挿入が必要か否かは1が5個連続しているか、途中で0が出現するかを確認する。
ただし、フラグの存在も考慮する為、1から始まる1の連続の場合と、0から始まる1の連続は区別する必要がある。
・1から始まる1の連続の場合で、1の連続数が5未満の場合、そのまま取り出しビットの並びとする。
・1から始まる1の連続の場合で、1の連続数が5個で次に続くビットが0の場合、その0を削除したものを取り出しビットの
の並びとする。
・1から始まる1の連続の場合で、1の連続数が6個になる場合、無効なデータであるので, 種別を「無効(アボート)」とする。
・0から始まる1の連続の場合で、1の連続数が5未満の場合、そのまま取り出しビットの並びとする。
・0から始まる1の連続の場合で、1の連続数が5個で次に続くビットが0の場合、その0を削除したものを取り出しビット
の並びとする。
・0から始まる1の連続の場合で、1の連続数が6個で次に続くビットが0の場合、そのビット並びはフラグをあらわすので、
種別を「フラグ」とする。このとき、フラグに該当する01111110の並びは取り出しビットには含めない。
・0から始まる1の連続の場合で、1の連続数が7個になる場合、無効なデータであるので、種別を「無効」とする。
(2) (1)の処理を行い、8ビット全てを調べる。8ビットの終了時点では以下の4つの状態が考えられる。
(ア)8ビット目が0で終了した場合
(イ)7ビット目まで1が5個連続し、8ビット目の0を削除して終了した場合
(ウ)8ビット目では1の連続数が1以上6未満で有り、次の取り出しビットに処理が依存する場合
(エ)データ種別が「異常」な場合
(3)(ア)、(イ)の状態の場合、データ種別は「通常」、作成済みのビット列とそのビット列のビット数がテーブルになる。また、全てのビットが判定終了したので、残りビットは0である。これは、残りのビット数が0であるので、次状態が0ということである。
(4)(ウ)の状態の場合は、データ種別は「通常」、作成済みのビット列と、そのビット数がテーブルになる。また、終了時点での確定していないビットの状態により、次状態番号を決める。
残りビットが0の場合→次状態番号:1
残りビットが1の場合→次状態番号:2
残りビットが01の場合→次状態番号:3
残りビットが11の場合→次状態番号:4
残りビットが011の場合→次状態番号:5
残りビットが111の場合→次状態番号:6
残りビットが0111の場合→次状態番号:7
残りビットが1111の場合→次状態番号:8
残りビットが01111の場合→次状態番号:9
残りビットが11111の場合→次状態番号:10
残りビットが011111の場合→次状態番号:11
残りビットが0111111の場合→次状態番号:12
(5)(エ)の状態の場合、データ種別を「異常」とする。
[2]状態番号が0以外のテーブルの場合
下記(1)〜(6)の手順により作成する。
(1)状態により、対象とする8ビットの前に以下のビットを加える。
状態番号:1→0+(対象とする8ビット)
状態番号:2→1+(対象とする8ビット)
状態番号:3→01+(対象とする8ビット)
状態番号:4→11+(対象とする8ビット)
状態番号:5→011+(対象とする8ビット)
状態番号:6→111+(対象とする8ビット)
状態番号:7→0111+(対象とする8ビット)
状態番号:8→1111+(対象とする8ビット)
状態番号:9→01111+(対象とする8ビット)
状態番号:10→11111+(対象とする8ビット)
状態番号:11→011111+(対象とする8ビット)
状態番号:12→0111111+(対象とする8ビット)
(2) (1)で作成したビット列について、順にビットを調べ、フラグの有無と0削除が必要か否かを判定する。
<判定の法則>
・0挿入が必要か否かは1が5個連続しているか、途中で0が出現するかを確認する。
ただし、フラグの存在も考慮する為、1から始まる1の連続と、0から始まる1の連続とは区別する必要がある。
・1から始まる1の連続の場合で、1の連続数が5未満の場合、そのまま取り出しビットの並びとする。
・1から始まる1の連続の場合で、1の連続数が5個で次に続くビットが0の場合、その0を削除したものを取り出しビットの並びとする。
・1から始まる1の連続の場合で、1の連続数が6個になる場合、無効なデータであるので、種別を「無効」とする。
・0から始まる1の連続の場合で、1の連続数が5未満の場合、そのまま取り出しビットの並びとする。
・0から始まる1の連続の場合で、1の連続数が5個で次に続くビットが0の場合、その0を削除したものを取り出しビット
の並びとする。
・0から始まる1の連続の場合で、1の連続数が6個で次に続くビットが0の場合、そのビット並びはフラグをあらわすので、
種別を「フラグ」とする。このとき、フラグに該当する01111110の並びは取り出しビットには含めない。
・0から始まる1の連続の場合で、1の連続数が7個になる場合、無効なデータであるので、種別を「無効」とする。
(3) (2)の処理を行い、(1)で作成したビット全てを調べる。全てのビットの終了時点では以下の4つの状態が考えられる。
(ア)8ビット目が0で終了した場合
(イ)7ビット目まで1が5個連続し、8ビット目の0を削除して終了した場合
(ウ)8ビット目では1の連続数が1以上6未満で有り、次の取り出しビットに処理が依存する場合
(エ)データ種別が「異常」な場合
(4)(ア)、(イ)の状態の場合、データ種別は「通常」、作成済みのビット列とそのビット列のビット数がテーブルになる。また、全てのビットが判定終了したので、残りビットは0であるこれは、残りのビット数が0であるので、次状態が0ということである。
(5)(ウ)の状態の場合は、データ種別は「通常」、作成済みのビット列と、そのビット数がテーブルになる。また、終了時点での確定していないビットの状態により、次状態番号を決める。
残りビットが0の場合→次状態番号:1
残りビットが1の場合→次状態番号:2
残りビットが01の場合→次状態番号:3
残りビットが11の場合→次状態番号:4
残りビットが011の場合→次状態番号:5
残りビットが111の場合→次状態番号:6
残りビットが0111の場合→次状態番号:7
残りビットが1111の場合→次状態番号:8
残りビットが01111の場合→次状態番号:9
残りビットが11111の場合→次状態番号:10
残りビットが011111の場合→次状態番号:11
残りビットが0111111の場合→次状態番号:12
(6)(エ)の状態の場合、データ種別を「異常」とする。
[3]0削除テーブルの作成例(状態番号:12、入力ビット列:00101101の変換テーブルの作成の場合)
(1)状態番号:12であるから、前回のビット列は0111111で終了した状態であり、これに今回の00101101を合わせて判定ビット列は011111100101101と考えることができる。
(2) (1)で作成したビット列について、フラグの存在と0削除の必要を考慮しながら、取り出しビットを作成すると、01111110+01011+01に分割できる。よって、ひとつ目の01111110から種別はフラグ、取り出しビットは01011、ビット数5を得る。
残りの01については次状態に影響を与えるため、今回はデータを確定できず、次状態番号を3とする。
以上から、状態番号:12、入力ビット列:00101101」の変換テーブルとして、
次状態番号:3、出力ビット数:5、出力ビット列=111011110
が得られる。
図13は0削除及びフラグ検出テーブル21eの一部を抜粋したものである。この図に示されているように、状態番号と入力ビット列が決まれば、それに対応してデータ種別が判定されると共に次状態番号、出力ビット数及び出力ビット列が定まる。なお、入力キュー記憶部12bから最初に読み込まれるビット列の状態番号は0である。
次に、図14及び15のフローチャート並びに図16乃至24の状態変化を示す図を用いて0削除及びフラグ検出方法を説明する。これらの図において、入力キューはこれから0削除及びフラグ検出処理を受けるデータ、出力キューは0削除及びフラグ検出処理を受けたデータである。また、図14は開始フラグ検出処理であり、図15は開始フラグ検出後の処理である。なお、この入力キューのビット列の並びは従来例における入力キューのビット列の並びと同じである。
まず、0削除の前にフラグ検出を行うために、入力キューの先頭から1オクテット(8ビット)のデータを選択する(図16(a)、図14のステップS11)。図16(a)において、枠で囲まれた10111111が選択された8ビットを示す。次に、0削除及びフラグ検出テーブル21eを検索して、(ア)次状態番号、(イ)データ種別(通常データ/フラグ/アボート)、(ウ)出力キューに付加するビット数(出力ビット数)、及び(エ)出力キューに付加するビット列(出力ビット列)を読み出す。(図16(b)、ステップS12)。ここでは、次状態番号=12、データ種別=通常、出力ビット数=1、出力ビット列=1である。従って、フラグではないから、ステップS13で”いいえ”と判断し、ステップS14で入力キューから8ビットを削除すると共に状態番号12を保存した後にステップS11に戻る。フラグが検出される迄は出力キューにデータは付加されないので、図16(c)に示すように、10111111が入力キューから削除され、出力キューに付加されるデータはない。
再び入力キューから8ビットを選択する(ステップS11)。今回は00101101が選択されている(図17(a))。この入力ビット列の状態番号は前回保存された12である。この入力ビット列及び状態番号を用いて0削除及びフラグ検出テーブル21eを検索すると(ステップS12)、次状態番号=3、データ種別=フラグ、出力ビット数=5、出力ビット列=01011である(図17(b))。フラグが検出されているから、ステップS13で”はい”と判断し、ステップS15で出力キューに出力ビット列を付加した後、ステップS16で00101101を削除すると共に状態番号3を保存し、開始フラグ検出処理を終える。
開始フラグが検出されたので、次に図15に示されている0削除処理を実行する。入力キューの先頭から1オクテット(8ビット)のデータを選択する(図18(a)、図15のステップS21)。ここでは、11011110が選択されている。次に、0削除及びフラグ検出テーブル21eを検索すると(ステップS22)、次状態番号=1、データ種別=通常、出力ビット数=9、出力ビット列=011101111である(図18(b))。従って、ステップS23通常データと判定し、ステップS24で011101111を出力キューに付加し、ステップS25で入力キューから11011110を削除すると共に状態番号1を保存する(図18(c))。
以後、図19乃至図24迄ステップS21乃至25の処理が繰り返し実行され、図24に示すようにステップS23でフラグが検出され、1フレームの処理が終わる。図19、20、21、22、及び24では0削除が行われている。1フレームの処理が終わると、ステップS21に戻って次のフレームの処理を行う。また、ステップS23でアボートが検出された場合は、図14のステップS11に戻ってフラグ検出処理を行う。
このように、本実施形態の0削除処理では、入力キューから選択した1オクテット(8ビット)を入力ビット列の並びに関係なく全て削除しているため、処理が簡単であり、かつ入力キューのオクテット数と同じ回数のループ処理により完了する。
なお、以上の説明では、最適値の8ビット単位で入力キューからビット列を読み込むものとしたが、8ビット以外のビット数単位で読み込むようにしてもよい。また、本発明は、HDLC手順だけでなく、ビット列の並びを特定の規則に従って変換する処理であり、かつ変換の前後にビット数が増減する処理に対しても同様に適用できる。
図1は本発明の実施形態に係る送信回路及び受信制御回路の構成を示すブロック図である。 本発明の実施形態における0挿入テーブルの状態番号を示す図である。 本発明の実施形態における0挿入テーブルの抜粋を示す図である。 本発明の実施形態における0挿入処理のフローチャートである。 本発明の実施形態における0挿入処理の状態変化を示す図である。 本発明の実施形態における0挿入処理の状態変化を示す図である。 本発明の実施形態における0挿入処理の状態変化を示す図である。 本発明の実施形態における0挿入処理の状態変化を示す図である。 本発明の実施形態における0挿入処理の状態変化を示す図である。 本発明の実施形態における0挿入処理の状態変化を示す図である。 本発明の実施形態における0挿入処理の状態変化を示す図である。 本発明の実施形態における0削除及びフラグ検出テーブルの状態番号を示す図である。 本発明の実施形態における0削除及びフラグ検出テーブルの抜粋を示す図である。 本発明の実施形態における開始フラグ検出処理のフローチャートである。 本発明の実施形態における0削除処理のフローチャートである。 本発明の実施形態における開始フラグ検出処理の状態変化を示す図である。 本発明の実施形態における開始フラグ検出処理の状態変化を示す図である。 本発明の実施形態における0削除処理の状態変化を示す図である。 本発明の実施形態における0削除処理の状態変化を示す図である。 本発明の実施形態における0削除処理の状態変化を示す図である。 本発明の実施形態における0削除処理の状態変化を示す図である。 本発明の実施形態における0削除処理の状態変化を示す図である。 本発明の実施形態における0削除処理の状態変化を示す図である。 本発明の実施形態における0削除処理の状態変化を示す図である。 HDLCフレームの構成を示す図である。 従来の0挿入処理のフローチャートである。 従来の0挿入処理の状態変化を示す図である。 従来の0挿入処理の状態変化を示す図である。 従来の0挿入処理の状態変化を示す図である。 従来の0挿入処理の状態変化を示す図である。 従来の0挿入処理の状態変化を示す図である。 従来の0挿入処理の状態変化を示す図である。 従来の0挿入処理の状態変化を示す図である。 従来の0挿入処理の状態変化を示す図である。 従来の0挿入処理の状態変化を示す図である。 従来の0挿入処理の状態変化を示す図である。 従来の開始フラグ検出処理のフローチャートである。 従来の0削除処理のフローチャートである。 従来の開始フラグ検出処理の状態変化を示す図である。 従来の開始フラグ検出処理の状態変化を示す図である。 従来の0削除処理の状態変化を示す図である。 従来の0削除処理の状態変化を示す図である。 従来の0削除処理の状態変化を示す図である。 従来の0削除処理の状態変化を示す図である。 従来の0削除処理の状態変化を示す図である。 従来の0削除処理の状態変化を示す図である。 従来の0削除処理の状態変化を示す図である。 従来の0削除処理の状態変化を示す図である。 従来の0削除処理の状態変化を示す図である。 従来の0削除処理の状態変化を示す図である。 従来の0削除処理の状態変化を示す図である。
符号の説明
12・・・0挿入回路、12a,21a・・・制御部、12b,21b・・・入力キュー記憶部、12d,21d・・・出力キュー記憶部、12e・・・0挿入テーブル、21・・・0削除及びフラグ検出部、21e・・・0削除及びフラグ検出テーブル。

Claims (4)

  1. 入力キューに0挿入を行い出力キューを生成するデータ処理装置であって、前記入力キューから所定ビット数毎にビット列を選択して入力ビット列とする手段と、前回の入力ビット列と前回の出力ビット列との差異に対応する状態データ、前記所定ビット数のビット列の並び、出力ビット列、及び次回の状態データの組合せが予め記憶されたテーブルを検索して、前記入力ビット列に対応する出力ビット列及び次回の状態データを読み出す手段と、前記出力ビット列を前記出力キューに付加する手段とを備えたことを特徴とするデータ処理装置。
  2. 入力キューから0削除を行い出力キューを生成するデータ処理装置であって、前記入力キューから所定ビット数毎にビット列を選択して入力ビット列とする手段と、前回の入力ビット列と前回の出力ビット列との差異に対応する状態データ、前記所定ビット数のビット列の並び、出力ビット列、及び次回の状態データの組合せが予め記憶されたテーブルを検索して、前記入力ビット列に対応する出力ビット列及び次回の状態データを読み出す手段と、前記出力ビット列を前記出力キューに付加する手段とを備えたことを特徴とするデータ処理装置。
  3. 入力キューに0挿入を行い出力キューを生成するデータ処理装置のコンピュータを、前記入力キューから所定ビット数毎にビット列を選択して入力ビット列とする手段と、前回の入力ビット列と前回の出力ビット列との差異に対応する状態データ、前記所定ビット数のビット列の並び、出力ビット列、及び次回の状態データの組合せが予め記憶されたテーブルを検索して、前記入力ビット列に対応する出力ビット列及び次回の状態データを読み出す手段と、前記出力ビット列を前記出力キューに付加する手段として機能させることを特徴とするプログラム。
  4. 入力キューから0削除を行い出力キューを生成するデータ処理装置のコンピュータを、前記入力キューから所定ビット数毎にビット列を選択して入力ビット列とする手段と、前回の入力ビット列と前回の出力ビット列との差異に対応する状態データ、前記所定ビット数のビット列の並び、出力ビット列、及び次回の状態データの組合せが予め記憶されたテーブルを検索して、前記入力ビット列に対応する出力ビット列及び次回の状態データを読み出す手段と、前記出力ビット列を前記出力キューに付加する手段として機能させることを特徴とするプログラム。
JP2004107597A 2004-03-31 2004-03-31 データ処理装置及びプログラム Expired - Fee Related JP4314479B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004107597A JP4314479B2 (ja) 2004-03-31 2004-03-31 データ処理装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004107597A JP4314479B2 (ja) 2004-03-31 2004-03-31 データ処理装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2005295216A true JP2005295216A (ja) 2005-10-20
JP4314479B2 JP4314479B2 (ja) 2009-08-19

Family

ID=35327659

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004107597A Expired - Fee Related JP4314479B2 (ja) 2004-03-31 2004-03-31 データ処理装置及びプログラム

Country Status (1)

Country Link
JP (1) JP4314479B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009021941A (ja) * 2007-07-13 2009-01-29 Rohm Co Ltd 情報通信端末、無線通信装置および無線通信ネットワーク
US8347160B2 (en) 2007-07-13 2013-01-01 Rohm Co., Ltd. Information communication terminal, radio communication apparatus and radio communication network system capable of performing communication corresponding to purpose

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009021941A (ja) * 2007-07-13 2009-01-29 Rohm Co Ltd 情報通信端末、無線通信装置および無線通信ネットワーク
US8347160B2 (en) 2007-07-13 2013-01-01 Rohm Co., Ltd. Information communication terminal, radio communication apparatus and radio communication network system capable of performing communication corresponding to purpose

Also Published As

Publication number Publication date
JP4314479B2 (ja) 2009-08-19

Similar Documents

Publication Publication Date Title
US8095526B2 (en) Efficient retrieval of variable-length character string data
US8532988B2 (en) Searching for symbol string
US8947272B2 (en) Decoding encoded data
JP4570509B2 (ja) 読み生成装置、読み生成方法及びコンピュータプログラム
JP4314479B2 (ja) データ処理装置及びプログラム
US6433709B1 (en) Decoding method and decoding apparatus for variable length code words, and computer readable recording medium for storing decoding program for variable length code words
JP4356495B2 (ja) データ処理装置及びプログラム
JP4314478B2 (ja) データ処理装置及びプログラム
JP3725443B2 (ja) Unicodeテキストを混合コードページに変換する方法およびシステム
JP5853531B2 (ja) 情報処理装置及び情報処理プログラム
EP0148008B1 (en) Word spelling correlatively-storing method and its circuit
CN117709298B (zh) 一种双字符流的扫描方法、电子设备、存储介质及系统
JPH09246988A (ja) 復号装置及びその方法
CN114329105B (zh) 字符串检测方法和装置
JPH09246989A (ja) 復号装置及びその方法
JP2010140404A (ja) 識別子短縮表示プログラム,識別子短縮表示装置および識別子短縮表示方法
JP2023143001A (ja) 情報処理装置及びプログラム
US6954155B2 (en) Data compression method and processor
JP2006031331A (ja) プログラム変換実行計算機、及び、プログラム変換実行方法、プログラム
JPS6028371A (ja) デ−タ格納方法
JP2005267359A (ja) 論理検証装置およびテストプログラムの補完方法
JP2003152549A (ja) 復号方法、復号装置、コンピュータプログラム及び記録媒体
CN118713794A (zh) 加解扰方法、装置、设备及芯片
JP2005275880A (ja) 字句をデータに変換する装置、方法及びプログラム
JP2003115767A (ja) 復号化装置および復号化方法

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20051031

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061030

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090416

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: 20090422

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090505

R150 Certificate of patent or registration of utility model

Ref document number: 4314479

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120529

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120529

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130529

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130529

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees