IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ラピステクノロジー株式会社の特許一覧

特開2023-150535誤り許容通信回路、及び誤り許容通信方法
<>
  • 特開-誤り許容通信回路、及び誤り許容通信方法 図1
  • 特開-誤り許容通信回路、及び誤り許容通信方法 図2
  • 特開-誤り許容通信回路、及び誤り許容通信方法 図3
  • 特開-誤り許容通信回路、及び誤り許容通信方法 図4
  • 特開-誤り許容通信回路、及び誤り許容通信方法 図5
  • 特開-誤り許容通信回路、及び誤り許容通信方法 図6
  • 特開-誤り許容通信回路、及び誤り許容通信方法 図7
  • 特開-誤り許容通信回路、及び誤り許容通信方法 図8
  • 特開-誤り許容通信回路、及び誤り許容通信方法 図9
  • 特開-誤り許容通信回路、及び誤り許容通信方法 図10
  • 特開-誤り許容通信回路、及び誤り許容通信方法 図11
  • 特開-誤り許容通信回路、及び誤り許容通信方法 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023150535
(43)【公開日】2023-10-16
(54)【発明の名称】誤り許容通信回路、及び誤り許容通信方法
(51)【国際特許分類】
   H04L 1/00 20060101AFI20231005BHJP
   H04L 1/16 20230101ALI20231005BHJP
【FI】
H04L1/00 E
H04L1/16
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2022059689
(22)【出願日】2022-03-31
(71)【出願人】
【識別番号】320012037
【氏名又は名称】ラピステクノロジー株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】山崎 淳
【テーマコード(参考)】
5K014
【Fターム(参考)】
5K014BA06
5K014DA01
5K014EA02
5K014FA11
(57)【要約】
【課題】本発明は、パケットにビット誤りが生じていた場合であっても、通信効率を向上させることができる誤り許容通信回路、及び誤り許容通信方法を提供することを目的とする。
【解決手段】誤り許容通信回路は、データをパケット単位に分割して送信するパケット通信において、前記パケット通信を制御する制御フラグ、及び前記CRC符号を含む、外部の装置から受信したパケットを取得する取得部と、肯定応答を示す制御フラグ、及び肯定応答に対応するCRC符号を含むパケットと、否定応答を示す制御フラグ、及び否定応答に対応するCRC符号を含むパケットと、の少なくとも一方を含む検査用パケットを予め記憶する記憶部と、受信した前記パケットと前記検査用パケットとを比較して、受信した前記パケットに対するビット誤りを検出する検出部と、を備えている。
【選択図】図7
【特許請求の範囲】
【請求項1】
データをパケット単位に分割して送信するパケット通信において、前記パケット通信を制御する制御フラグ、及びCRC符号を含む、外部の装置から受信したパケットを取得する取得部と、
肯定応答を示す制御フラグ、及び肯定応答に対応するCRC符号を含むパケットと、否定応答を示す制御フラグ、及び否定応答に対応するCRC符号を含むパケットと、の少なくとも一方を含む検査用パケットを予め記憶する記憶部と、
受信した前記パケットと前記検査用パケットとを比較して、受信した前記パケットに対するビット誤りを検出する検出部と、
を備えた誤り許容通信回路。
【請求項2】
受信した前記パケットと、前記検査用パケットと、を比較して差分があるビットが1ビット以内である場合、比較結果として、肯定応答、及び否定応答のうち、対応するパケットを出力する出力部をさらに備える
請求項1に記載の誤り許容通信回路。
【請求項3】
前記検出部は、排他的論理和を用いて、受信した前記パケットと、前記検査用パケットと、を比較する
請求項1又は請求項2に記載の誤り許容通信回路。
【請求項4】
前記検出部は、
受信した前記パケットと、前記検査用パケットと、の排他的論理和の演算結果を上位方向、及び下位方向の各々の方向にビットシフトしてビット誤りを検出し、前記ビット誤りが1ビット以内であるか否かを判断する
請求項3に記載の誤り許容通信回路。
【請求項5】
データをパケット単位に分割して送信するパケット通信において、前記パケット通信を制御する制御フラグ、及びCRC符号を含む、外部の装置から受信したパケットを取得し、
肯定応答を示す制御フラグ、及び肯定応答に対応するCRC符号を含むパケットと、否定応答を示す制御フラグ、及び否定応答に対応するCRC符号を含むパケットと、の少なくとも一方を含む検査用パケットを予め記憶し、
受信した前記パケットと前記検査用パケットとを比較して、受信した前記パケットに対するビット誤りを検出する、
処理を実行する誤り許容通信方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、誤り許容通信回路、及び誤り許容通信方法に関する。
【背景技術】
【0002】
装置間のパケットの送受信において、一の装置がパケットを送信した場合、パケットを受信した他の装置が受信結果を示すパケットを返送して、通信の信頼性を確保する通信方法がある。
【0003】
例えば、特許文献1には、受信側装置から返送される制御パケットの制御情報が正常か否かを判定し、制御パケットの制御情報が正常ではないと判定されたとき、制御情報に含まれる応答が確認応答であるか否定応答であるかを推定し、応答が確認応答と推定されなかったときにデータパケットの再送を行う技術について開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2009-004890号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
当該通信方法は、例えば、一の装置が、送信したパケットに対する受信結果を示すパケットが受信できなかった場合、又は他の装置が返送した否定応答を受信した場合、一の装置は、パケットが正常に送受信できなかったと判断してパケットの再送を行う。ここで、一の装置は、受信結果を示すパケットが受信できなかった場合、タイムアウトが発生する所定の期間が経過するまで待機し、パケットの再送を行う。
【0006】
しかしながら、受信結果を示すパケットに軽微なビット誤りが生じていた場合、一の装置は、受信結果が推定可能なパケットであっても、タイムアウトが発生するまで待機し、パケットを再送することがある。すなわち、受信結果を示すパケットにビット誤りが生じていた場合、不要なタイムアウトが発生するまで待機する期間が生じ、通信効率が低減することがあった。
【0007】
本発明は、パケットにビット誤りが生じていた場合であっても、通信効率を向上させることができる誤り許容通信回路、及び誤り許容通信方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
第1の態様の誤り許容通信回路は、データをパケット単位に分割して送信するパケット通信において、前記パケット通信を制御する制御フラグ、及びCRC符号を含む、外部の装置から受信したパケットを取得する取得部と、肯定応答を示す制御フラグ、及び肯定応答に対応するCRC符号を含むパケットと、否定応答を示す制御フラグ、及び否定応答に対応するCRC符号を含むパケットと、の少なくとも一方を含む検査用パケットを予め記憶する記憶部と、受信した前記パケットと前記検査用パケットとを比較して、受信した前記パケットに対するビット誤りを検出する検出部と、を備えている。
【0009】
第2の態様の誤り許容通信回路は、第1の態様に係る誤り許容通信回路において、受信した前記パケットと、前記検査用パケットと、を比較して差分があるビットが1ビット以内である場合、比較結果として、肯定応答、及び否定応答のうち、対応するパケットを出力する出力部をさらに備える。
【0010】
第3の態様の誤り許容通信回路は、第1の態様又は第2の態様に係る誤り許容通信回路において、前記検出部は、排他的論理和を用いて、受信した前記パケットと、前記検査用パケットと、を比較する。
【0011】
第4の態様の誤り許容通信回路は、第3の態様に係る誤り許容通信回路において、前記検出部は、受信した前記パケットと、前記検査用パケットと、の排他的論理和の演算結果を上位方向、及び下位方向の各々の方向にビットシフトしてビット誤りを検出し、前記ビット誤りが1ビット以内であるか否かを判断する。
【0012】
第5の態様の誤り許容通信方法は、データをパケット単位に分割して送信するパケット通信において、前記パケット通信を制御する制御フラグ、及びCRC符号を含む、外部の装置から受信したパケットを取得し、肯定応答を示す制御フラグ、及び肯定応答に対応するCRC符号を含むパケットと、否定応答を示す制御フラグ、及び否定応答に対応するCRC符号を含むパケットと、の少なくとも一方を含む検査用パケットを予め記憶し、受信した前記パケットと前記検査用パケットとを比較して、受信した前記パケットに対するビット誤りを検出する、処理を実行する。
【発明の効果】
【0013】
本開示によれば、パケットにビット誤りが生じていた場合であっても、通信効率を向上できる。
【図面の簡単な説明】
【0014】
図1】第1実施形態に係る通信システムの構成の一例を示すブロック図である。
図2】第1実施形態に係る送信装置の構成の一例を示すブロック図である。
図3】第1実施形態に係る選択通信回路の構成の一例を示すブロック図である。
図4】第1実施形態に係るパケットの構成の一例を示す模式図である。
図5】第1実施形態に係るコマンドにおける制御フラグの一例を示す図である。
図6】第1実施形態に係るCRC符号を選択する方法のフローの一例を示すフローチャートである。
図7】第2実施形態に係る受信装置の構成の一例を示すブロック図である。
図8】第2実施形態に係る誤り許容通信回路の構成の一例を示すブロック図である。
図9】第2実施形態に係るパケットの比較の一例を示す模式図である。
図10】第2実施形態に係るビット誤りを検出する方法のフローの一例を示すフローチャートである。
図11】第3実施形態に係る送受信装置の構成の一例を示すブロック図である。
図12】第3実施形態に係る通信システムの構成の一例を示すブロック図である。
【発明を実施するための形態】
【0015】
[第1実施形態]
以下、図面を参照して、本発明を実施するための形態例を詳細に説明する。図1は、本実施形態に係る通信システム1の構成の一例を示す概略図である。
【0016】
一例として、図1に示すように、通信システム1は、パケット毎に分割したパケット通信において、パケットを送信する送信装置10、及び当該送信装置10から送信されたパケットを受信する受信装置50を含んで構成されている。
【0017】
送信装置10は、パケットを送信する際に、送信するパケットに誤り検出符号を付加したパケットを受信装置50に送信する。ここで、本実施形態に係る誤り検出符号は、巡回冗長検査(CRC:Cyclic Redundancy Check)方式で導出されたCRC符号である。送信装置10は、パケットのデータ長に応じて、8ビットのCRC符号(以下、「8ビットCRC符号」という。)、又は16ビットのCRC符号(以下、「16ビットCRC符号」という。)を選択し、選択したCRC符号をパケットに付与して送信する。
【0018】
なお、本実施形態では、付与するCRC符号は、8ビットCRC符号、及び16ビットCRC符号である形態について説明する。しかし、これに限定されない。32ビット、64ビット、又は128ビットのCRC符号であってもよいし、如何なるCRC符号であってもよい。また、本実施形態では、8ビットCRC符号、及び16ビットCRC符号の組み合わせからCRC符号を選択する形態について説明する。しかし、これに限定されない。8ビットCRC符号、及び32ビットCRC符号の組み合わせから選択してもよいし、16ビットCRC符号、及び32ビットCRC符号の組み合わせから選択してもよいし、送信するパケットに適用可能なCRC符号であれば、如何なるCRC符号の組み合わせであってもよい。
【0019】
受信装置50は、送信装置10からパケットを受信し、受信したパケットに含まれているCRC符号を用いて、受信したパケットに誤り及び破損があるか否かを検査する。
【0020】
次に、図2を参照して、送信装置10の構成について説明する。図2は、本実施形態に係る送信装置10の構成の一例を示すブロック図である。
【0021】
図2に示すように、本実施形態に係る送信装置10は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、及び選択通信回路14を含んで構成されている。CPU11、ROM12、RAM13、及び選択通信回路14の各々は、バス19により相互に接続されている。
【0022】
CPU11は、送信装置10の全体を統括し、制御する。ROM12は、データ等を記憶している。RAM13は、処理の実行時のワークエリアとして用いられるメモリである。
【0023】
選択通信回路14は、パケットに応じて8ビットCRC符号、又は16ビットCRC符号を選択し、選択したCRC符号をパケットに付与して送信する。
【0024】
次に、図3を参照して、選択通信回路14の構成について説明する。図3は、本実施形態に係る選択通信回路14の構成の一例を示すブロック図である。
【0025】
一例として図3に示すように、選択通信回路14は、取得部14A、選択部14B、8ビットCRC符号付与部14C、16ビットCRC符号付与部14D、及び出力部14Eを備えている。
【0026】
取得部14Aは、選択通信回路14に入力されたパケットを取得する。
【0027】
選択部14Bは、取得したパケットに応じて、付与するCRC符号を選択する。具体的には、選択部14Bは、取得したパケットのデータ長に応じて、後述する8ビットCRC符号付与部14C、又は後述する16ビットCRC符号付与部14Dを選択して、付与するCRC符号を選択する。
【0028】
一例として図4に示すように、本実施形態に係るパケットには、通信を制御する制御フラグを示すCMD(コマンド)、アドレスを示すADR、データを示すDATA、及びCRC符号を示すCRCを含んで構成されている。送信装置10は、肯定応答、又は否定応答等の受信結果を示すパケットを送信する場合、CMDが1バイト、及びCRCが1バイトで構成されるパケットを送信する。また、送信装置10は、例えば、ADR及びDATAを含んでいるパケットを送信する場合、CMDが1バイト、ADRが1バイトから4バイト、DATAが1バイトから16バイト、及びCRCが2バイトで構成されてパケットを送信する。
【0029】
選択部14Bは、取得したパケットがCMDのみを含んでいる場合、後述する8ビットCRC符号付与部14Cにパケットを入力し、取得したパケットがADR、及びDATAを含んでいる場合、後述する16ビットCRC符号付与部14Dにパケットを入力する。
【0030】
なお、本実施形態に係る選択部14Bは、パケットに含まれているデータに応じて、8ビットCRC符号付与部14C、又は16ビットCRC符号付与部14Dを選択する形態について説明した。しかし、これに限定されない。選択部14Bは、CMDに含まれる制御フラグに応じて、8ビットCRC符号付与部14C、又は16ビットCRC符号付与部14Dを選択してもよい。例えば、図5に示すように、CMDは、bit0からbit7までの8ビットの制御フラグで構成されており、bit0及びbit7を参照することによって、肯定応答(ACK)及び否定応答(NACK)が識別可能である。また、bit0からbit3は、DATAのデータ長を示し、bit4からbit5は、ADRのデータ長を示しているため、bit0からbit5を参照することによって、DATA、及びADRのデータ長を判定可能である。
【0031】
例えば、選択部14Bは、bit7のみに「1」が設定されている場合、又はbit0及びbit7のみに「1」が設定されている場合、肯定応答、又は否定応答を示すパケットであると判定して、8ビットCRC符号付与部14Cを選択してもよい。また、選択部14Bは、CMDの制御フラグを用いて、DATAのデータ長を判定し、データ長が1バイト以上である場合、パケットにADR、及びDATAが含まれていると判定して、16ビットCRC符号付与部14Dを選択してもよい。
【0032】
8ビットCRC符号付与部14Cは、取得したパケットを用いて8ビットのCRC符号を導出し、取得したパケットに導出したCRC符号を付与する。取得したパケットにCMDのみが含まれている場合、8ビットCRC符号付与部14Cは、当該CMDに対して、CRC演算を行い、8ビット(1バイト)のCRC符号を導出し、導出した8ビットCRC符号をパケットに付与する。
【0033】
16ビットCRC符号付与部14Dは、取得したパケットを用いて16ビットのCRC符号を導出し、取得したパケットに導出したCRC符号を付与する。取得したパケットにCMD、ADR、及びDATAが含まれている場合、16ビットCRC符号付与部14Dは、CMD、ADR、及びDATAに対して、CRC演算を行い、16ビット(2バイト)のCRC符号を導出し、導出した16ビットCRC符号をパケットに付与する。
【0034】
出力部14Eは、CRC符号が付与されたパケットを外部の装置に送信して出力する。
【0035】
次に、図6を参照して、本実施形態に係るCRC符号を選択する方法について説明する。図6は、本実施形態に係るCRC符号を選択する方法の一例を示すフローチャートである。
【0036】
ステップS101において、選択通信回路14は、入力されたパケットを取得する。
【0037】
ステップS102において、選択通信回路14は、パケットのデータ長を抽出する。
【0038】
ステップS103において、選択通信回路14は、パケットがCMDのみを含むか否かの判定を行う。パケットがCMDのみを含む場合(ステップS103:YES)、選択通信回路14は、ステップS104に移行する。一方、パケットがCMDのみではない(ADR、及びDATAが含まれる)場合(ステップS103:NO)、選択通信回路14は、ステップS105に移行する。
【0039】
ステップS104において、選択通信回路14は、8ビットCRC符号付与部14Cにパケットを入力して、パケットに8ビットCRC符号を付与する。
【0040】
ステップS105において、選択通信回路14は、16ビットCRC符号付与部14Dにパケットを入力して、パケットに16ビットCRC符号を付与する。
【0041】
ステップS106において、選択通信回路14は、CRC符号が付与されたパケットを外部の装置に送信して出力する。
【0042】
以上説明したように、本実施形態によれば、パケットの送受信の信頼性を確保した場合であっても、通信効率を向上できる。
【0043】
なお、上記実施形態では、選択通信回路14に、CRC符号を選択する選択部14Bと、外部の装置へパケットを送信する出力部14Eと、が含まれる形態について説明した。しかし、これに限定されない。CRC符号を選択する選択部14Bと、外部の装置へパケットを送信する出力部14Eと、は、それぞれ異なる回路に含まれていてもよい。
【0044】
また、上記実施形態では、CMDが肯定応答、又は否定応答を示す場合、8ビットCRC符号を選択する形態について説明した。しかし、これに限定されない。CMDがパスリセット(制御フラグが全て「1」)である場合、8ビットCRC符号を選択してもよい。
【0045】
[第2実施形態]
第1実施形態では、パケットを送信する送信装置10が、パケットに応じて付与するCRC符号を選択する形態について説明した。本実施形態では、受信装置50が、パケットを受信する形態について説明する。
【0046】
従来では、受信装置50は、受信したパケットに1ビットの誤りがある場合、正常にパケットが送受信できなかったと判断して、否定応答を返送してパケットの再送を要求することがある。本実施形態に係る受信装置50は、受信したパケットにおいて、誤りがあるビットが1ビット以内である場合、受信装置50は、誤りを許容してパケットを受信する形態について説明する。
【0047】
例えば、受信したパケットに含まれるビット誤りが1ビットである場合、CMD、及びCRC符号を考慮すると、受信したパケットが示す応答と、他の応答と、を判別可能である。具体的には、CMDの制御フラグにおいて、bit7が「1」であれば、肯定応答、及び否定応答を示すパケットであることが判別可能である。しかしながら、受信したパケットに2ビット以上の誤りがある場合、受信したパケットが示す応答と、他の応答と、が判別できない場合がある。
【0048】
そのため、本実施形態に係る受信装置50は、受信した肯定応答、又は否定応答を示すパケットと、記憶している肯定応答、又は否定応答に対応するパケットと、を比較し、差分(ビット誤り)が1ビットであるか否かを検出する形態について説明する。
【0049】
なお、以下では、通信システムの構成(図1参照)、送信装置10の構成(図2参照)、選択通信回路14の構成(図3参照)、パケットのデータ構成(図4参照)、制御フラグの一例(図5参照)、及びCRC符号を選択する方法(図6参照)は、第1実施形態と同様であるため、説明を省略する。
【0050】
図7を参照して、受信装置50の構成について説明する。図7は、本実施形態に係る受信装置50の構成の一例を示すブロック図である。
【0051】
図7に示すように、本実施形態に係る受信装置50は、CPU51、ROM52、RAM53、及び誤り許容通信回路54を含んで構成されている。CPU51、ROM52、RAM53、及び誤り許容通信回路54の各々は、バス59により相互に接続されている。なお、CPU51、ROM52、RAM53は、上述したCPU11、ROM12、RAM13と同様であるため、説明を省略する。
【0052】
誤り許容通信回路54は、外部の装置からパケットを受信し、受信したパケットがCMD、及びCRC符号のみを含んでいる場合、パケットに対して誤り及び破損が生じているか否かを判定する。
【0053】
次に、図8を参照して、誤り許容通信回路54の構成について説明する。図8は、本実施形態に係る誤り許容通信回路54の構成の一例を示すブロック図である。
【0054】
一例として図8に示すように、誤り許容通信回路54は、取得部54A、記憶部54B、ビット誤り検出部54C、及び出力部54Dを備えている。
【0055】
取得部54Aは、外部の装置から受信したパケットを取得する。
【0056】
記憶部54Bは、肯定応答に対応するパケット(以下、「肯定応答パケット」という。)、及び否定応答に対応するパケット(以下、「否定応答パケット」という。)を記憶している。肯定応答パケットとは、肯定応答を示すCMD、及び肯定応答に対応するCRC符号で構成されるパケットであり、否定応答パケットとは、否定応答を示すCMD、及び否定応答に対応するCRC符号で構成されるパケットである。ここで、肯定応答パケット、及び否定応答パケットは、「検査用パケット」の一例である。
【0057】
ビット誤り検出部54Cは、XOR(排他的論理和)演算を用いて、受信したパケットと、記憶部54Bに記憶されている肯定応答パケット、及び否定応答パケットの各々と、をビット毎に比較して、差分(ビット誤り)を検出する。
【0058】
一例として図9に示すように、ビット誤り検出部54Cは、受信したパケットに含まれる肯定応答(ACK)を示すCMD、及び肯定応答に対応するCRC符号と、記憶した肯定応答のCMD、及び肯定応答に対応するCRC符号と、のXOR演算を行い、比較した場合、差分(ビット誤り)が検出可能である。
【0059】
例えば、肯定応答パケットが「0x80 0x8b」であるとする。また、受信したパケットが通信途中で破損し、ビット誤りが生じた結果、受信した肯定応答を示すパケットが「0x81 0x8b」になったとする。ビット誤り検出部54Cは、受信したパケットに含まれるCMD及びCRC符号と、肯定応答に対応するCMD及びCRC符号と、をビット毎にXOR演算で比較して、比較結果として1ビットの差分(ビット誤り)を示す「0x01 0x00」を検出する。
【0060】
ビット誤り検出部54Cは、差分(ビット誤り)が1ビット以内であれば、肯定応答(ACK)を受信したものと判定する。また、同様に、ビット誤り検出部54Cは、受信したパケットと、否定応答パケットと、をビット毎に比較して、1ビットのビット誤りを検出し、差分(ビット誤り)が1ビット以内であれば、否定応答(NACK)を受信したものと判定する。
【0061】
また、比較結果から差分(ビット誤り)が1ビット以内であるか否かを判定する方法として、ビット列を左右の各々の方向から「1」のビットを探索して、最初に検出した位置を比較する方法がある。例えば、上述したXOR演算の結果のビット列を右方向(下位ビット方向)、及び左方向(上位ビット方向)の各々の方向にシフトして探索する。各々の方向から探索して最初に検出したビットの位置を記憶し、検出した位置が同じである場合、XOR演算の結果に1ビットの誤りがあることが検出される。一方、各々の方向から探索して最初に検出したビットの位置が異なっている場合、2ビット以上の誤りがあることが検出される。また、各々の方向から探索して「1」のビットが検出されなかった場合、誤りがないことが検出される。
【0062】
出力部54Dは、受信したパケット、及び誤り検出結果をRAM53に出力する。
【0063】
次に、図10を参照して、本実施形態に係る誤りを許容する方法について説明する。図10は、本実施形態に係る誤りを許容する方法の一例を示すフローチャートである。
【0064】
ステップS201において、誤り許容通信回路54は、外部の装置から受信したパケットを取得する。
【0065】
ステップS202において、誤り許容通信回路54は、受信したパケットと、記憶していた肯定応答パケットと、を比較する。
【0066】
ステップS203において、誤り許容通信回路54は、受信したパケットと、記憶していた否定応答パケットと、を比較する。
【0067】
ステップS204において、誤り許容通信回路54は、受信したパケットと、肯定応答パケットと、を比較した結果、肯定応答との差分(ビット誤り)が1ビット以内であるか否かの判定を行う。肯定応答パケットとの差分(ビット誤り)が1ビット以内である場合(ステップS204:YES)、誤り許容通信回路54は、ステップS205に移行する。一方、肯定応答パケットとの差分(ビット誤り)が1ビット以内ではない(肯定応答パケットとの差分(ビット誤り)が1ビットを超える)場合(ステップS204:NO)、誤り許容通信回路54は、ステップS206に移行する。
【0068】
ステップS205において、誤り許容通信回路54は、誤り検出結果として、受信したパケット、及び肯定応答を受信した旨を出力する。
【0069】
ステップS206において、誤り許容通信回路54は、受信したパケットが否定応答パケットとの差分(ビット誤り)が1ビット以内であるか否かの判定を行う。否定応答パケットとの差分(ビット誤り)が1ビット以内である場合(ステップS206:YES)、誤り許容通信回路54は、ステップS207に移行する。一方、否定応答パケットとの差分(ビット誤り)が1ビット以内ではない(否定応答パケットとの差分(ビット誤り)が1ビットを超える)場合(ステップS206:NO)、誤り許容通信回路54は、ステップS208に移行する。
【0070】
ステップS207において、誤り許容通信回路54は、誤り検出結果として、受信したパケット、及び否定応答を受信した旨を出力する。
【0071】
ステップS208において、誤り許容通信回路54は、誤り検出結果として、正常にパケットが受信できなかった旨を出力する。
【0072】
以上説明したように、受信したパケットに誤り及び破損がある場合であっても誤り及び破損を許容してパケットが受信可能となり、パケットを再送する頻度を低減できる。すなわち、本実施形態によれば、パケットの送受信の信頼性を確保した上で通信効率を向上できる。
【0073】
なお、本実施形態では、肯定応答、及び否定応答を示すパケットの誤りを許容する形態について説明した。しかし、これに限定されない。パスリセットを示すパケットの誤りを許容してもよい。
【0074】
また、本実施形態では、XOR演算の結果を左右の各々の方向からビットを探索してビット誤りを検出する形態について説明した。しかし、これに限定されない。マスクビットを用いて、ビット誤りを検出してもよい。例えば、XOR演算の結果と、1ビットのみ「1」が設定された複数のマスクビットと、を比較し、対応するマスクを検索することによってビット誤りを検出してもよい。
【0075】
また、本実施形態では、受信したパケット、肯定応答パケット、及び否定応答パケットは、2バイトである形態について説明した。しかし、これに限定されない。受信したパケット、肯定応答パケット、及び否定応答パケットは、3バイト以上であってもよい。
【0076】
また、本実施形態では、受信したパケットと、肯定応答パケット、及び否定応答パケットの各々と、のXOR演算を行って比較する形態について説明した。しかし、これに限定されない。例えば、受信したパケットと、肯定応答パケット、及び否定応答パケットの各々をビット反転したパケットと、のXOR演算を行って比較してもよい。この場合、比較結果において「0」がビット誤りとなる。
【0077】
[第3実施形態]
第1実施形態では、選択通信回路14を備えた送信装置10が、パケットを送信する形態について説明し、第2実施形態では、誤り許容通信回路54を備えた受信装置50がパケットを受信する形態について説明した。本実施形態では、選択通信回路14、及び誤り許容通信回路54を備えた送受信装置が、パケットを送受信する形態について説明する。
【0078】
図11を参照して、送受信装置100の構成について説明する。図11は、本実施形態に係る送受信装置100の構成の一例を示すブロック図である。
【0079】
図11に示すように、本実施形態に係る送受信装置100は、CPU101、ROM102、RAM103、選択通信回路104、誤り許容通信回路105を含んで構成されている。CPU101、ROM102、RAM103、選択通信回路104、誤り許容通信回路105の各々は、バス109により相互に接続されている。なお、CPU101、ROM102、RAM103、選択通信回路104、及び誤り許容通信回路105は、上述したCPU11、ROM12、RAM13、選択通信回路14、及び誤り許容通信回路54と同様であるため、説明を省略する。すなわち、送受信装置100は、選択通信回路104、及び誤り許容通信回路105を備える。
【0080】
一例として、図12に示すように、送受信装置100Aは、他の送受信装置100Bと相互に通信を行う。例えば、送受信装置100Aは、パケットを送信する際に、選択通信回路14を用いて、CRC符号を付与してパケットを送信し、パケットを受信する際に、誤り許容通信回路105を用いて、ビット誤りを検出してパケットを受信する。
【0081】
以上説明したように、本実施形態によれば、パケットの送受信の信頼性を確保した場合であっても、さらに通信効率を向上できる。
【0082】
なお、上記各実施形態で説明した受信装置、送信装置、及び送受信装置の構成は一例であり、実施形態の主旨を逸脱しない範囲内においてその構成を変更してもよいことは言うまでもない。
【符号の説明】
【0083】
1 通信システム
10 送信装置
11、51、101 CPU
12、52、102 ROM
13、53、103 RAM
14、104 選択通信回路
14A 取得部
14B 選択部
14C 8ビットCRC符号付与部
14D 16ビットCRC符号付与部
14E 出力部
19、59、109 バス
50 受信装置
54、105 誤り許容通信回路
54A 取得部
54B 記憶部
54C 検出部
54D 出力部
100、100A、100B 送受信装置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12