JP2016181756A - 半導体装置及びデータの送受信方法 - Google Patents

半導体装置及びデータの送受信方法 Download PDF

Info

Publication number
JP2016181756A
JP2016181756A JP2015059929A JP2015059929A JP2016181756A JP 2016181756 A JP2016181756 A JP 2016181756A JP 2015059929 A JP2015059929 A JP 2015059929A JP 2015059929 A JP2015059929 A JP 2015059929A JP 2016181756 A JP2016181756 A JP 2016181756A
Authority
JP
Japan
Prior art keywords
data
transmission
crc code
slave
error detection
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.)
Pending
Application number
JP2015059929A
Other languages
English (en)
Inventor
真人 山崎
Masato Yamazaki
真人 山崎
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.)
Lapis Semiconductor Co Ltd
Original Assignee
Lapis Semiconductor Co Ltd
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 Lapis Semiconductor Co Ltd filed Critical Lapis Semiconductor Co Ltd
Priority to JP2015059929A priority Critical patent/JP2016181756A/ja
Publication of JP2016181756A publication Critical patent/JP2016181756A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Systems (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

【課題】複数の送信先の各々にデータを送信し、送信先において受信したデータが自装置宛であることを識別することを、信号線の増加を招くことなく効率良く行うことができる半導体装置及びデータの送受信方法を提供する。【解決手段】送信先毎に異なる予め定められた符号化規則を用いて、送信対象のデータに含まれる符号化対象のデータに応じた誤り検出符号を生成し、送信対象のデータに対し、生成された誤り検出符号を付加して送信データを生成し、生成された送信データを送信する。【選択図】図9

Description

本発明は、半導体装置及びデータの送受信方法に関する。
従来、シリアルデータバスを用いた通信が行われている。また、シリアルデータバスを用いた車載ネットワークの通信方式としてCAN(Controller Area Network)が知られている。
また、特許文献1には、主信号を送信側から受信側へ送信している間において、送信側から副信号を受信側へ送信するに際し、送信側において、当該副信号を当該送信側のID
(IDentification)コードを用いて論理演算によりエンコードするコードレス電話機等における隣接チャンネル妨害防止方法が開示されている。この隣接チャンネル妨害防止方法では、受信側においては受信した副信号を受信機のIDコードを用いて論理演算によりデコードする。
特開平5−236073号公報
シリアルデータバスの一種であるSPI(Serial Peripheral Interface)では、マスターが複数のスレーブにデータを送信する場合、スレーブ毎に送信先を選択するためのピン等の部位を用意する必要がある。このため、スレーブが多くなるほどピン等の部位が増えてしまい、信号線が多くなってしまう。
一方、CANでは、送信先を識別するための識別子がフレームに含まれており、フレームのサイズが大きくなってしまう。
また、特許文献1に記載の技術では、データの送信に先立って、送信側と受信側とで誤接続を防止するための識別番号を相互に照合及び確認するための通信を行う必要がある。
本発明は、以上の点に鑑みてなされたものであり、複数の送信先の各々にデータを送信し、送信先において受信したデータが自装置宛であることを識別することを、信号線の増加を招くことなく効率良く行うことができる半導体装置及びデータの送受信方法を提供することを目的とする。
上記目的を達成するために、本発明の半導体装置は、送信先毎に異なる予め定められた符号化規則を用いて、送信対象のデータに含まれる符号化対象のデータに応じた誤り検出符号を生成する符号生成部と、前記送信対象のデータに対し、前記符号生成部により生成された前記誤り検出符号を付加して送信データを生成するデータ生成部と、前記データ生成部により生成された送信データを送信する送信部と、を備えている。
また、上記目的を達成するために、本発明のデータの送受信方法は、マスターからデータを送信し、複数のスレーブで前記マスターから送信されたデータを受信するデータの送受信方法であって、前記マスターは、前記スレーブ毎に異なる予め定められた符号化規則を用いて、送信対象のデータに含まれる符号化対象のデータに応じた誤り検出符号を生成し、前記送信対象のデータに対し、生成された前記誤り検出符号を付加して送信データを生成し、生成された前記送信データを送信し、前記複数のスレーブの各々は、前記マスターにより送信された前記送信データを受信し、受信した前記送信データに含まれる前記符号化対象のデータ及び前記誤り検出符号を用いて伝送誤りの検出処理を行い、前記伝送誤りを未検出の場合は、受信した前記送信データが自装置宛であると判定するものである。
本発明によれば、複数の送信先の各々にデータを送信し、送信先において受信したデータが自装置宛であることを識別することを、信号線の増加を招くことなく効率良く行うことができる、という効果が得られる。
第1の形態に係る通信システムの構成の一例を示すブロック図である。 各実施の形態に係るフレームの構造の一例を示す模式図である。 第1の実施の形態に係るCRCコード生成回路の構成の一例を示す構成図である。 第1の実施の形態に係るCRCコード生成回路の係数器に値を設定した状態の一例を示す構成図である。 第1の実施の形態に係るCRCコード生成回路の係数器に値を設定した状態の一例を示す構成図である。 第1の実施の形態に係るCRCコード検出回路の構成の一例を示す構成図である。 第1の実施の形態に係るCRCコード検出回路の係数器に値を設定した状態の一例を示す構成図である。 第1の実施の形態に係るCRCコード検出回路の係数器に値を設定した状態の一例を示す構成図である。 各実施の形態に係る送信処理の流れの一例を示すフローチャートである。 各実施の形態に係る受信処理の流れの一例を示すフローチャートである。 第2の形態に係る通信システムの構成の一例を示すブロック図である。 第2の実施の形態に係るCRCコード生成回路の構成の一例を示す構成図である。 第2の実施の形態に係るCRCコード生成回路の構成の一例を示す構成図である。 第2の実施の形態に係るCRCコード検出回路の構成の一例を示す構成図である。 第2の実施の形態に係るCRCコード検出回路の構成の一例を示す構成図である。
以下、図面を参照して、本発明を実施するための形態例を詳細に説明する。
[第1の実施の形態]
まず、図1を参照して、本実施の形態に係る通信システム10の構成を説明する。
図1に示すように、本実施の形態に係る通信システム10は、半導体装置20、30A、30Bを備えている。半導体装置20、30A、30Bは、アドレスバス、データバス、及び制御バス等のバス40を介して互いに接続されている。
本実施の形態に係る通信システム10では、半導体装置20は、送信するデータとしてのフレームを示すビット列をバス40に接続されている自装置以外の全ての装置(本実施の形態では、半導体装置30A、30B)に送信する。一方、半導体装置30A、30Bは、半導体装置20から送信されたビット列を受信する。なお、以下では、説明を明瞭化するために、データの送信元の半導体装置20を「マスター」といい、データの送信先の半導体装置30、30Bを「スレーブ」という。また、以下では、スレーブ30A、30Bを区別する必要がない場合は、符号末尾のアルファベットを省略する。
本実施の形態に係るマスター20は、制御部22及びCRC(Cyclic Redundancy Check)コード生成回路24を備えている。制御部22は、データの送信に関する制御、及びCRCコード生成回路24の動作に関する制御等、マスター20の全体的な動作を司る。CRCコード生成回路24は、送信対象のデータに含まれる符号化対象のデータを示すビット列からCRCコードを生成する。なお、本実施の形態では、CRCコードのビット数として、8ビットを適用した場合について説明するが、これに限らない。例えば、CRCコードのビット数として、12ビットや16ビット等、他のビット数を適用してもよい。
本実施の形態に係るスレーブ30Aは、制御部32A及びCRCコード検出回路34Aを備えている。制御部32Aは、データの受信に関する制御、及びCRCコード検出回路34Aの動作に関する制御等、スレーブ30Aの全体的な動作を司る。CRCコード検出回路34Aは、上記符号化対象のデータを示すビット列からCRCコードを検出する。
本実施の形態に係るスレーブ30Bは、制御部32B及びCRCコード検出回路34Bを備えている。制御部32Bは、データの受信に関する制御、及びCRCコード検出回路34Bの動作に関する制御等、スレーブ30Bの全体的な動作を司る。CRCコード検出回路34Bは、上記符号化対象のデータを示すビット列からCRCコードを検出する。なお、以下では、制御部32A、32Bを区別する必要がない場合は、符号末尾のアルファベットを省略する。また、以下では、CRCコード検出回路34A、34Bを区別する必要がない場合は、符号末尾のアルファベットを省略する。
次に、図2を参照して、本実施の形態に係る通信システム10での通信に用いられるフレームの構造の一例について説明する。
図2に示すように、本実施の形態に係るフレームは、アドレス部、データ部、及びCRC部を含む。アドレス部には、例えばデータバスを介した通信で使用される、アクセス対象とするメモリのアドレスを示すビット列等が格納される。データ部には、送信対象のデータを示すビット列が格納される。CRC部には、CRCコード生成回路24により生成されたCRCコードを示すビット列が格納される。
このように本実施の形態に係る通信システム10では、フレームに送信先を識別するための識別子を示すビット列が含まれていない。そこで、本実施の形態に係る通信システム10では、CRCコードの生成に用いる、本発明の符号化規則の一例である生成多項式が、送信先毎に異なるものとされている。
次に、図3〜図5を参照して、本実施の形態に係るCRCコード生成回路24の構成について説明する。
図3に示すように、本実施の形態に係るCRCコード生成回路24は、複数(本実施の形態では3個)のゲートG1〜G3、複数(本実施の形態では9個)の係数器g0〜g8、複数(本実施の形態では9個)の排他的論理和回路E1〜E9、及び複数(本実施の形態では8個)のシフトレジスタR1〜R8を備えている。なお、以下では、排他的論理和回路を「EXOR(EXclusive OR)回路」という。また、以下では、説明を明瞭化するために、EXOR回路の2つの入力端子のうち、一方の入力端子を「第1入力端子」といい、他方の入力端子を「第2入力端子」という。
EXOR回路E8は、第1入力端子にCRCコード生成回路24への入力信号が直接入力されるものとされており、EXOR回路E8の出力端子は、ゲートG1を介して係数器g8の入力端子に接続されている。係数器g8の出力端子は、係数器g0〜g7の各々の入力端子に接続されている。係数器g0の出力端子は、シフトレジスタR1の入力端子に接続されている。係数器g1〜g7とEXOR回路E1〜E7は1対1で対応し、係数器g1〜g7の各々の出力端子は、対応するEXOR回路E1〜E7の第1入力端子に接続されている。
シフトレジスタR1〜R8とEXOR回路E1〜E8は1対1で対応し、シフトレジスタR1〜R8の各々の出力端子は、対応するEXOR回路E1〜E8の第2入力端子に接続されている。EXOR回路E1〜E7はシフトレジスタR2〜R8にも1対1で対応し、EXOR回路E1〜E7の各々の出力端子は、対応するシフトレジスタR2〜R8の入力端子に接続されている。シフトレジスタR8の出力端子は、ゲートG3を介してEXOR回路E9の第2入力端子にも接続されている。EXOR回路E9は、第1入力端子にCRCコード生成回路24への入力信号がゲートG2を介して入力されるものとされており、EXOR回路E9の出力端子からの出力信号は、CRCコード生成回路24の出力信号とされる。
係数器g0〜g8は、入力信号に対して自身に設定された値の倍率を乗算した大きさの信号を出力する。また、係数器g0〜g8には、生成多項式の係数の値が設定される。具体的には、生成多項式F(x)が一例として次の(1)式により表される場合、係数器g0〜gn(本実施の形態ではn=8)には、a〜aの値が設定される。
Figure 2016181756
ところで、前述したように、本実施の形態に係る通信システム10では、生成多項式が送信先毎に予め定められている。具体的には、データの送信先がスレーブ30Aである場合は、一例として次の(2)式により示される生成多項式F(x)が予め定められている。また、データの送信先がスレーブ30Bである場合は、一例として次の(3)式により示される生成多項式F(x)が予め定められている。
Figure 2016181756
すなわち、データの送信先がスレーブ30Aである場合、マスター20は、制御部22により係数器g0、g2、g3、g7、g8に1を設定し、係数器g1、g4〜g6に0(零)を設定する。1が設定された係数器g0、g2、g3、g7、g8は、入力された信号をそのまま出力する。一方、0(零)が設定された係数器g1、g4〜g6は、0(零)を出力する。すなわち、この場合、係数器g1、g4〜g6の出力端子が第1入力端子に接続されているEXOR回路E1、E4〜E6は、第2入力端子に入力された信号をそのまま出力する。図4には、以上説明したように係数器g0〜g8が設定された状態のCRCコード生成回路24の構成が示されている。
図4に示すように、EXOR回路E8からの出力信号は、ゲートG1を介してシフトレジスタR1及びEXOR回路E2、E3、E7に入力される。また、シフトレジスタR1、R4〜R6の各々からの出力信号は、各々次の段のシフトレジスタR2、R5〜R7に入力される。
一方、データの送信先がスレーブ30Bである場合、マスター20は、制御部22により係数器g0、g4、g5、g8に1を設定し、係数器g1〜g3、g6、g7に0(零)を設定する。1が設定された係数器g0、g4、g5、g8は、入力された信号をそのまま出力する。一方、0(零)が設定された係数器g1〜g3、g6、g7は、0(零)を出力する。すなわち、この場合、係数器g1〜g3、g6、g7の出力端子が第1入力端子に接続されているEXOR回路E1〜E3、E6、E7は、第2入力端子に入力された信号をそのまま出力する。図5には、以上説明したように係数器g0〜g8が設定された状態のCRCコード生成回路24の構成が示されている。
図5に示すように、EXOR回路E8からの出力信号は、ゲートG1を介してシフトレジスタR1及びEXOR回路E4、E5に入力される。また、シフトレジスタR1〜R3、R6、R7各々からの出力信号は、各々次の段のシフトレジスタR2〜R4、R7、R8に入力される。
次に、図6〜図8を参照して、本実施の形態に係るCRCコード検出回路34A、34Bの構成について説明する。
図6に示すように、本実施の形態に係るCRCコード検出回路34A、34Bは、複数(本実施の形態では2個)のゲートG1、G2、複数(本実施の形態では9個)の係数器g0〜g8、複数(本実施の形態では8個)のEXOR回路E0〜E7、複数(本実施の形態では8個)のシフトレジスタR1〜R8、及びバッファレジスタB1を備えている。
バッファレジスタB1は、入力端子にCRCコード検出回路34A、34Bへの入力信号が直接入力されるものとされている。EXOR回路E0は、第2入力端子にCRCコード検出回路34A、34Bへの入力信号が直接入力されるものとされており、EXOR回路E0の出力端子は、シフトレジスタR1の入力端子に接続されている。係数器g0〜g7とEXOR回路E0〜E7は1対1で対応し、係数器g0〜g7の各々の出力端子は、対応するEXOR回路E0〜E7の第1入力端子に接続されている。
シフトレジスタR1〜R7とEXOR回路E1〜E7は1対1で対応し、シフトレジスタR1〜R7の各々の出力端子は、対応するEXOR回路E1〜E7の第2入力端子に接続されている。EXOR回路E1〜E7はシフトレジスタR2〜R8にも1対1で対応し、EXOR回路E1〜E7の各々の出力端子は、対応するシフトレジスタR2〜R8の入力端子に接続されている。シフトレジスタR8の出力端子は、ゲートG1を介して係数器g8の入力端子に接続されている。係数器g8の出力端子は、係数器g0〜g7の各々の入力端子に接続されている。また、シフトレジスタR8からの出力信号は、ゲートG2を介してCRCコード検出回路34A、34Bの出力信号とされる。
前述したように、本実施の形態に係る通信システム10では、スレーブ30毎に生成多項式が予め定められている。そこで、スレーブ30Aは、上記式(2)に示した生成多項式を用いて、受信したデータに対して伝送誤りの検出を行う。一方、スレーブ30Bは、上記式(3)に示した生成多項式を用いて、受信したデータに対して伝送誤りの検出を行う。
すなわち、スレーブ30Aは、制御部32Aにより係数器g0、g2、g3、g7、g8に1を設定し、係数器g1、g4〜g6に0(零)を設定する。1が設定された係数器g0、g2、g3、g7、g8は、入力された信号をそのまま出力する。一方、0(零)が設定された係数器g1、g4〜g6は、0(零)を出力する。すなわち、この場合、係数器g1、g4〜g6の出力端子が第1入力端子に接続されているEXOR回路E1、E4〜E6は、第2入力端子に入力された信号をそのまま出力する。図7には、以上説明したように係数器g0〜g8が設定された状態のCRCコード検出回路34Aの構成が示されている。
図7に示すように、シフトレジスタR8からの出力信号は、ゲートG1を介してEXOR回路E0、E2、E3、E7に入力される。また、シフトレジスタR1、R4〜R6の各々からの出力信号は、各々次の段のシフトレジスタR2、R5〜R7に入力される。
一方、スレーブ30Bは、制御部32Bにより係数器g0、g4、g5、g8に1を設定し、係数器g1〜g3、g6、g7に0(零)を設定する。1が設定された係数器g0、g4、g5、g8は、入力された信号をそのまま出力する。一方、0(零)が設定された係数器g1〜g3、g6、g7は、0(零)を出力する。すなわち、この場合、係数器g1〜g3、g6、g7の出力端子が第1入力端子に接続されているE1〜E3、E6、E7は、第2入力端子に入力された信号をそのまま出力する。図8には、以上説明したように係数器g0〜g8が設定された状態のCRCコード検出回路34Bの回路構成が示されている。
図8に示すように、シフトレジスタR8からの出力信号は、ゲートG1を介してEXOR回路E0、E4、E5に入力される。また、シフトレジスタR1〜R3、R6、R7の各々からの出力信号は、各々次の段のシフトレジスタR2〜R4、R7、R8に入力される。
次に、本実施の形態に係るCRCコード生成回路24の動作について説明する。まず、制御部22は、シフトレジスタR1〜R8を0(零)に初期化する。次に、制御部22は、ゲートG1、G2を閉じ、ゲートG3を開く。次に、制御部22は、符号化対象のデータを示すビット列を1ビットずつ順次CRCコード生成回路24に入力すると共に、シフトレジスタR1〜R8に格納されている1ビットのデータを順次シフトする。制御部22は、全てのビット列を入力した後に、ゲートG1、G2を開き、ゲートG3を閉じる。この時点でCRCコード生成回路24からは符号化対象のデータを示すビット列が出力されている。
次に、制御部22は、この時点でシフトレジスタR1〜R8各々に格納されている1ビットのデータが全てCRCコード生成回路24から出力されるまでシフトレジスタR1〜R8に格納されている1ビットのデータを順次シフトする。以上の動作により、CRCコード生成回路24からは符号化対象のデータにCRCコードが付加されたビット列が出力される。
次に、本実施の形態に係るCRCコード検出回路34Aの動作について説明する。まず、制御部32Aは、シフトレジスタR1〜R8を0(零)に初期化する。次に、制御部32Aは、ゲートG1を閉じ、ゲートG2を開く。次に、制御部32Aは、符号化対象のデータを示すビット列にCRCコードが付加されたビット列を1ビットずつ順次CRCコード検出回路34Aに入力すると共に、シフトレジスタR1〜R8に格納されている1ビットのデータを順次シフトする。制御部32Aは、全てのビット列を入力した後に、ゲートG1を開き、ゲートG2を閉じる。この時点でバッファレジスタB1に、符号化対象のデータにCRCコードが付加されたビット列が格納される。
次に、制御部32Aは、この時点でシフトレジスタR1〜R8各々に格納されている1ビットのデータが全てCRCコード検出回路34Aから出力されるまでシフトレジスタR1〜R8に格納されている1ビットのデータを順次シフトする。以上の動作により、CRCコード検出回路34Aから符号化対象のデータにCRCコードが付加されたビット列を生成多項式で除算した余りを示すビット列が出力される。なお、CRCコード検出回路34Bの動作は、CRCコード検出回路34Aの動作と同様であるため、ここでの説明を省略する。
次に、図9及び図10を参照して、本実施の形態に係る通信システム10におけるデータの送受信処理の流れについて説明する。なお、図9は、マスター20で実行される送信処理の流れを示すフローチャートであり、図10は、スレーブ30で実行される受信処理の流れを示すフローチャートである。なお、ここでは、一例として送信対象のデータ(データ部のデータ)の全てのビット列が符号化対象である場合について説明する。
まず、図9を参照して、マスター20で実行される送信処理の流れについて説明する。図9のステップ100では、制御部22は、前述したように、データを送信したいスレーブ30に応じて定められた生成多項式に基づき、CRCコード生成回路24の係数器g0〜g8の値を設定する。次のステップ102では、制御部22は、前述したように、送信対象のデータを示すビット列をCRCコード生成回路24に入力しつつ、CRCコード生成回路24の動作を制御する。この制御により、制御部22は、CRCコード生成回路24により生成されて出力された送信対象のデータにCRCコードが付加されたビット列を取得する。
次のステップ104では、制御部22は、アドレス部に上記ステップ102の処理によって取得したビット列を付加して構成したフレームを、バス40を介して全スレーブ30に送信して本送信処理を終了する。
次に、図10を参照して、上記送信処理により送信されたフレームを受信した場合の各スレーブ30で実行される受信処理の流れについて説明する。なお、ここでは、前述したCRCコード検出回路34の係数器g0〜g8の値として自装置に対応する値が予め設定されているものとして説明する。
図10のステップ200では、制御部32は、前述したように、上記送信処理のステップ104の処理により送信されたフレームに含まれるデータ部及びCRC部により示されるビット列を順次CRCコード検出回路34に入力しつつ、CRCコード検出回路34の動作を制御する。この制御により、制御部32は、CRCコード検出回路34により生成されて出力された上記余りを取得する。
次のステップ202では、制御部32は、上記ステップ200の処理により取得した余りが0(零)以外であるか否かを判定することにより、CRCエラーを検出したか否かを判定する。制御部32は、この判定が否定判定となった場合は、受信したフレームが自装置宛であると見なしてステップ204の処理に移行する一方、この判定が肯定判定となった場合は、受信したフレームが自装置宛でないと見なしてステップ206の処理に移行する。
ステップ204では、制御部32は、受信したフレームのデータ部のデータを用いた所定の処理(例えば、記憶部に記憶する処理等)を行った後、本受信処理を終了する。一方、ステップ206では、制御部32は、受信したフレームを破棄する処理(例えばバッファレジスタB1を初期化する処理)を行った後、本受信処理を終了する。
以上説明したように、本実施の形態に係るマスター20は、送信先を一意に選択するための部位を設けることなく、目的とするスレーブ30宛に送信対象のデータを送信することができる。これにより、送信先を一意に選択するための部位を設ける場合に比較して、装置のサイズを小さくすることができる。また、本実施の形態に係るマスター20は、フレームに送信先を識別するための識別子を含めずに、目的とするスレーブ30宛に送信対象のデータを送信することができる。これにより、フレームに送信先を識別するための識別子を含める場合に比較して、フレームのサイズを小さくすることができる。
[第2の実施の形態]
上記第1の実施の形態では、何れのスレーブ30にデータを送信する場合でも同じサイズ(ビット数)のCRCコードを用いる場合について説明した。本第2の実施の形態では、スレーブ30毎に要求されるCRCコードの信頼度が定められており、該信頼度が高くなるほどCRCコードのサイズを大きくする場合について説明する。また、本第2の実施の形態では、上記信頼度を、マスター20とスレーブ30との通信距離が長くなるほど高くなるものとする場合について説明する。
まず、図1を参照して、本実施の形態に係る通信システム10の構成を説明する。なお、図11における図1と同一の機能を有する構成要素については同一の符号を付して、その説明を省略する。
図1に示すように、本実施の形態に係る通信システム10は、マスター20及びスレーブ30A、30C、30Dを備えている。マスター20及びスレーブ30A、30C、30Dは、バス40を介して互いに接続されている。
また、本実施の形態に係る通信システム10では、マスター20とスレーブ30Dとの通信距離KDは、マスター20とスレーブ30Aとの通信距離KAより短い距離としている。また、本実施の形態に係る通信システム10では、マスター20とスレーブ30Cとの通信距離KCは、通信距離KDより短い距離としている。すなわち、本実施の形態では、通信距離KC<通信距離KD<通信距離KAである場合について説明する。
本実施の形態に係るマスター20は、制御部22及びCRCコード生成回路24A、24C、24Dを備えている。CRCコード生成回路24A、24C、24Dは、上記第1の実施の形態に係るCRCコード生成回路24と同様にCRCコードを生成する回路である。CRCコード生成回路24Aはデータの送信先がスレーブ30Aである場合に用いられる回路である。CRCコード生成回路24Cはデータの送信先がスレーブ30Cである場合に用いられる回路である。CRCコード生成回路24Dはデータの送信先がスレーブ30Dである場合に用いられる回路である。
本実施の形態に係るスレーブ30Cは、制御部32C及びCRCコード検出回路34Cを備えている。制御部32Cは、データの受信に関する制御、及びCRCコード検出回路34Cの動作に関する制御等、スレーブ30Cの全体的な動作を司る。CRCコード検出回路34Cは、上記符号化対象のデータを示すビット列からCRCコードを検出する。
本実施の形態に係るスレーブ30Dは、制御部32D及びCRCコード検出回路34Dを備えている。制御部32Dは、データの受信に関する制御、及びCRCコード検出回路34Dの動作に関する制御等、スレーブ30Dの全体的な動作を司る。CRCコード検出回路34Dは、上記符号化対象のデータを示すビット列からCRCコードを検出する。
本実施の形態に係る通信システム10でも、生成多項式が送信先毎に予め定められている。また、本実施の形態に係る通信システム10では、生成多項式の次数がマスター20と各スレーブ30との通信距離が長くなるほど大きくなる。すなわち、マスター20と各スレーブ30との通信距離が長くなるほど大きいサイズのCRCコードが生成される。
具体的には、データの送信先がスレーブ30Aである場合は、上記第1の実施の形態と同様に一例として上記(2)式により示される生成多項式F(x)が予め定められている。また、データ送信先がスレーブ30Cである場合は、一例として次の(4)式により示される生成多項式F(x)が予め定められ、データの送信先がスレーブ30Dである場合は、一例として次の(5)式により示される生成多項式F(x)が予め定められている。
Figure 2016181756
次に、図12及び図13を参照して、本実施の形態に係るCRCコード生成回路24C、24Dの構成について説明する。なお、CRCコード生成回路24Aの構成については、上記第1の実施の形態の図4に示した構成と同様であるため、ここでの説明を省略する。
図12に示すように、本実施の形態に係るCRCコード生成回路24Cは、ゲートG1〜G3、EXOR回路E1、E4、E9及びシフトレジスタR1〜R4を備えている。EXOR回路E4は、第1入力端子にCRCコード生成回路24Cへの入力信号が直接入力されるものとされている。EXOR回路E4の出力端子は、ゲートG1を介してシフトレジスタR1の入力端子、及びEXOR回路E1の第1入力端子に接続されている。
シフトレジスタR1の出力端子はEXOR回路E1の第2入力端子に接続されている。EXOR回路E1の出力端子はシフトレジスタR2の入力端子に接続されている。シフトレジスタR2、R3の各々の出力端子は、各々次の段のシフトレジスタR3、R4の入力端子に接続されている。シフトレジスタR4の出力端子は、EXOR回路E4の第2入力端子に接続されている。シフトレジスタR4の出力端子は、ゲートG3を介してEXOR回路E9の第2入力端子にも接続されている。EXOR回路E9は、第1入力端子にCRCコード生成回路24Cへの入力信号がゲートG2を介して入力されるものとされており、EXOR回路E9からの出力信号は、CRCコード生成回路24Cの出力信号とされる。
図13に示すように、本実施の形態に係るCRCコード生成回路24Dは、ゲートG1〜G3、EXOR回路E1、E6、E9及びシフトレジスタR1〜R6を備えている。EXOR回路E6は、第1入力端子にCRCコード生成回路24Dへの入力信号が直接入力されるものとされている。EXOR回路E6の出力端子は、ゲートG1を介してシフトレジスタR1の入力端子、及びEXOR回路E1の第1入力端子に接続されている。
シフトレジスタR1の出力端子はEXOR回路E1の第2入力端子に接続されている。EXOR回路E1の出力端子はシフトレジスタR2の入力端子に接続されている。シフトレジスタR2〜R5の各々の出力端子は、各々次の段のシフトレジスタR3〜R6の入力端子に接続されている。シフトレジスタR6の出力端子は、EXOR回路E6の第2入力端子に接続されている。シフトレジスタR6の出力端子は、ゲートG3を介してEXOR回路E9の第2入力端子にも接続されている。EXOR回路E9は、第1入力端子にCRCコード生成回路24Dへの入力信号がゲートG2を介して入力されるものとされており、EXOR回路E9からの出力信号は、CRCコード生成回路24Dの出力信号とされる。
次に、図14及び図15を参照して、本実施の形態に係るCRCコード検出回路34C、34Dの構成について説明する。なお、CRCコード検出回路34Aの構成については、上記第1の実施の形態の図7に示した構成と同様であるため、ここでの説明を省略する。
図14に示すように、本実施の形態に係るCRCコード検出回路34Cは、ゲートG1、G2、EXOR回路E0、E1、シフトレジスタR1〜R4、及びバッファレジスタB1を備えている。バッファレジスタB1は、入力端子にCRCコード検出回路34Cへの入力信号が直接入力されるものとされている。EXOR回路E0は、第2入力端子にCRCコード検出回路34Cへの入力信号が直接入力されるものとされており、EXOR回路E0の出力端子は、シフトレジスタR1の入力端子に接続されている。
シフトレジスタR1の出力端子はEXOR回路E1の第2入力端子に接続されている。EXOR回路E1の出力端子はシフトレジスタR2の入力端子に接続されている。シフトレジスタR2、R3の各々の出力端子は、各々次の段のシフトレジスタR3、R4の入力端子に接続されている。シフトレジスタR4の出力端子は、ゲートG1を介してEXOR回路E0、E1の第1入力端子に接続されている。また、シフトレジスタR4からの出力信号は、ゲートG2を介してCRCコード検出回路34Cの出力信号とされる。
図15に示すように、本実施の形態に係るCRCコード検出回路34Dは、ゲートG1、G2、EXOR回路E0、E1、シフトレジスタR1〜R6、及びバッファレジスタB1を備えている。バッファレジスタB1は、入力端子にCRCコード検出回路34Dへの入力信号が直接入力されるものとされている。EXOR回路E0は、第2入力端子にCRCコード検出回路34Dへの入力信号が直接入力されるものとされており、EXOR回路E0の出力端子は、シフトレジスタR1の入力端子に接続されている。
シフトレジスタR1の出力端子はEXOR回路E1の第2入力端子に接続されている。EXOR回路E1の出力端子はシフトレジスタR2の入力端子に接続されている。シフトレジスタR2〜R5の各々の出力端子は、各々次の段のシフトレジスタR3〜R6の入力端子に接続されている。シフトレジスタR6の出力端子は、ゲートG1を介してEXOR回路E0、E1の第1入力端子に接続されている。また、シフトレジスタR6からの出力信号は、ゲートG2を介してCRCコード検出回路34Dの出力信号とされる。なお、以上説明したCRCコード生成回路24及びCRCコード検出回路34において、上記第1の実施の形態と同様に係数器を設け、生成多項式に応じて係数器の値を設定する形態としてもよい。
なお、本実施の形態に係るCRCコード生成回路24A、24C、24Dの動作は、上記第1の実施の形態に係るCRCコード生成回路24の動作と同様であるため、ここでの説明を省略する。また、本実施の形態に係るCRCコード検出回路34A、34C、34Dの動作も、上記第1の実施の形態に係るCRCコード検出回路34Aの動作と同様であるため、ここでの説明を省略する。
また、本実施の形態に係るマスター20で実行される送信処理の流れは、係数器g0〜g8の値を設定する処理(図9のステップ100の処理)が不要である以外は、上記第1の実施の形態に係る送信処理の流れ(図9参照。)と同様であるため、ここでの説明を省略する。また、本実施の形態に係るスレーブ30で実行される受信処理の流れも、上記第1の実施の形態に係る受信処理の流れ(図10参照。)と同様であるため、ここでの説明を省略する。
マスター20と各スレーブ30との通信は、通信距離が長くなるほど多いビット数の伝送誤りが発生する可能性が高い。これに対し、本実施の形態では、以上説明したように、マスター20と各スレーブ30との通信距離が長くなるほど、多いビット数のCRCコードを用いている。これにより、各スレーブ30が受信したデータが自装置宛であるか否かを高精度に判定することができる。
以上、各実施の形態を説明したが、本発明の技術的範囲は上記各実施の形態に記載の範囲には限定されない。発明の要旨を逸脱しない範囲で上記各実施の形態に多様な変更又は改良を加えることができ、当該変更又は改良を加えた形態も本発明の技術的範囲に含まれる。
また、上記各実施の形態は、クレーム(請求項)にかかる発明を限定するものではなく、また各実施の形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。前述した各実施の形態には種々の段階の発明が含まれており、開示される複数の構成要件の組み合わせにより種々の発明が抽出される。各実施の形態に示される全構成要件から幾つかの構成要件が削除されても、効果が得られる限りにおいて、この幾つかの構成要件が削除された構成が発明として抽出され得る。
例えば、上記各実施の形態では、誤り検出符号として、CRCコードを適用した場合について説明したが、本発明はこれに限定されるものではない。例えば、誤り検出符号として、CRCコード以外の巡回符号やハッシュ関数等、他の誤り検出符号を適用する形態としてもよい。また、例えば、スレーブが2つである場合は、誤り検出符号として、パリティ符号を適用する形態としてもよい。
また、上記各実施の形態では、誤り検出符号として、同じ種類の誤り検出符号を適用した場合について説明したが、本発明はこれに限定されるものではない。例えば、誤り検出符号として、異なる種類の誤り検出符号を適用する形態としてもよい。この場合、例えば、データの送信先がスレーブ30Aである場合は、誤り検出符号として、CRCコードを適用し、データの送信先がスレーブ30Bである場合は、誤り検出符号として、ハッシュ関数を適用する形態が考えられる。
また、上記第1の実施の形態では、1つのCRCコード生成回路24の係数器g0〜g8の値をデータの送信先毎に変更する場合について説明したが、本発明はこれに限定されるものではない。例えば、データの送信先毎に個別にCRCコード生成回路24を設ける形態としてもよい。この場合、例えば、マスター20に図4及び図5に示した構成の回路を各々設ける形態が例示される。
また、上記第1の実施の形態では、各スレーブ30に同じ構成のCRCコード検出回路34を設け、係数器g0〜g8の値をスレーブ30毎に異ならせる場合について説明したが、本発明はこれに限定されるものではない。例えば、各スレーブ30に異なる構成のCRCコード検出回路34を設ける形態としてもよい。この場合、例えば、スレーブ30Aに図7に示した構成の回路を設け、スレーブ30Bに図8に示した構成の回路を設ける形態が例示される。
また、上記第2の実施の形態では、CRCコードの信頼度をマスター20とスレーブ30との通信距離が長くなるほど高くなるものとした場合について説明したが、本発明はこれに限定されるものではない。例えば、マスター20及びスレーブ30の実機を用いた実験、設計仕様、及び過去の経験則等から、多くのビット数で伝送誤りが発生する可能性の高いスレーブ30が送信先である場合は、CRCコードの信頼度を高くして大きいビット数のCRCコードを生成する形態としてもよい。
また、上記各実施の形態では、データ部を符号化対象とした場合について説明したが、本発明はこれに限定されるものではない。例えば、アドレス部及びデータ部の双方を符号化対象とする形態としてもよい。また、例えば、データ部に、送信対象の内容を示すデータに加えて、該データの属性情報等の付加情報が含まれる場合は、送信対象の内容を示すデータのみを符号化対象とする形態としてもよい。
また、上記各実施の形態では、1フレーム毎にCRCコードを付加する場合について説明したが、本発明はこれに限定されるものではない。例えば、複数のフレーム毎にCRCコードを付加する形態としてもよい。
その他、上記各実施の形態で説明した半導体装置及び各回路の構成(図1、図3〜図8、図11〜図15参照。)は一例であり、本発明の主旨を逸脱しない範囲内において不要な部分を削除したり、新たな部分を追加したりしてもよいことは言うまでもない。
また、上記各実施の形態で説明した各種処理の流れ(図9、図10参照。)も一例であり、本発明の主旨を逸脱しない範囲内において不要なステップを削除したり、新たなステップを追加したり、処理順序を入れ替えたりしてもよいことは言うまでもない。
さらに、上記各実施の形態で説明したフレームの構成(図2参照。)も一例であり、本発明の主旨を逸脱しない範囲内において不要なフィールドを削除したり、新たなフィールドを追加したりしてもよいことは言うまでもない。
10 通信システム
20 マスター(半導体装置)
22 制御部
24 CRCコード生成回路
30 スレーブ(半導体装置)
32 制御部
34 CRCコード検出回路
40 バス

Claims (6)

  1. 送信先毎に異なる予め定められた符号化規則を用いて、送信対象のデータに含まれる符号化対象のデータに応じた誤り検出符号を生成する符号生成部と、
    前記送信対象のデータに対し、前記符号生成部により生成された前記誤り検出符号を付加して送信データを生成するデータ生成部と、
    前記データ生成部により生成された送信データを送信する送信部と、
    を備えた半導体装置。
  2. 前記送信先毎に要求される前記誤り検出符号の信頼度が予め定められており、
    前記符号生成部は、前記信頼度が高くなるほど多くのビット数の伝送誤りが検出可能な前記誤り検出符号を生成する
    請求項1記載の半導体装置。
  3. 前記信頼度は、自装置と前記送信データの送信先との通信距離が長くなるほど高くなる度合である
    請求項2記載の半導体装置。
  4. マスターからデータを送信し、複数のスレーブで前記マスターから送信されたデータを受信するデータの送受信方法であって、
    前記マスターは、
    前記スレーブ毎に異なる予め定められた符号化規則を用いて、送信対象のデータに含まれる符号化対象のデータに応じた誤り検出符号を生成し、
    前記送信対象のデータに対し、生成された前記誤り検出符号を付加して送信データを生成し、
    生成された前記送信データを送信し、
    前記複数のスレーブの各々は、
    前記マスターにより送信された前記送信データを受信し、
    受信した前記送信データに含まれる前記符号化対象のデータ及び前記誤り検出符号を用いて伝送誤りの検出処理を行い、
    前記伝送誤りを未検出の場合は、受信した前記送信データが自装置宛であると判定する
    データの送受信方法。
  5. 前記スレーブ毎に要求される前記誤り検出符号の信頼度が予め定められており、
    前記マスターは、前記信頼度が高くなるほど多くのビット数の伝送誤りが検出可能な前記誤り検出符号を生成する
    請求項4記載のデータの送受信方法。
  6. 前記信頼度は、前記マスターと前記複数のスレーブの各々との通信距離が長くなるほど高くなる度合である
    請求項5記載のデータの送受信方法。
JP2015059929A 2015-03-23 2015-03-23 半導体装置及びデータの送受信方法 Pending JP2016181756A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015059929A JP2016181756A (ja) 2015-03-23 2015-03-23 半導体装置及びデータの送受信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015059929A JP2016181756A (ja) 2015-03-23 2015-03-23 半導体装置及びデータの送受信方法

Publications (1)

Publication Number Publication Date
JP2016181756A true JP2016181756A (ja) 2016-10-13

Family

ID=57131957

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015059929A Pending JP2016181756A (ja) 2015-03-23 2015-03-23 半導体装置及びデータの送受信方法

Country Status (1)

Country Link
JP (1) JP2016181756A (ja)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0669931A (ja) * 1992-06-20 1994-03-11 Internatl Business Mach Corp <Ibm> 情報通信システムにおける誤り回復方法
JPH07202754A (ja) * 1993-12-28 1995-08-04 Nec Corp 拡散符号発生器
JP2591611B2 (ja) * 1986-12-19 1997-03-19 富士通株式会社 t重誤り訂正符号の符号化復号化回路
JP2001007734A (ja) * 1999-05-25 2001-01-12 Samsung Electronics Co Ltd Cdma通信システムのコード同期取得方法及びその装置
JP2001237808A (ja) * 2000-02-25 2001-08-31 Matsushita Electric Ind Co Ltd 巡回冗長検査用の符号化装置及びその方法
JP2003503743A (ja) * 1999-06-25 2003-01-28 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 変調メッセージの認証システム及び方法
JP2007267061A (ja) * 2006-03-29 2007-10-11 Juki Corp 通信方法および通信装置
JP2013058845A (ja) * 2011-09-07 2013-03-28 Denso Corp データ通信方法及びデータ通信システム
JP2013537745A (ja) * 2010-07-16 2013-10-03 クゥアルコム・インコーポレイテッド プリアンブルの信号フィールドを用いることによる省電力のための方法および装置
JP2014515897A (ja) * 2011-04-06 2014-07-03 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング 直列バスシステム内でデータ伝送の信頼性を調整するための方法及び装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2591611B2 (ja) * 1986-12-19 1997-03-19 富士通株式会社 t重誤り訂正符号の符号化復号化回路
JPH0669931A (ja) * 1992-06-20 1994-03-11 Internatl Business Mach Corp <Ibm> 情報通信システムにおける誤り回復方法
JPH07202754A (ja) * 1993-12-28 1995-08-04 Nec Corp 拡散符号発生器
JP2001007734A (ja) * 1999-05-25 2001-01-12 Samsung Electronics Co Ltd Cdma通信システムのコード同期取得方法及びその装置
JP2003503743A (ja) * 1999-06-25 2003-01-28 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 変調メッセージの認証システム及び方法
JP2001237808A (ja) * 2000-02-25 2001-08-31 Matsushita Electric Ind Co Ltd 巡回冗長検査用の符号化装置及びその方法
JP2007267061A (ja) * 2006-03-29 2007-10-11 Juki Corp 通信方法および通信装置
JP2013537745A (ja) * 2010-07-16 2013-10-03 クゥアルコム・インコーポレイテッド プリアンブルの信号フィールドを用いることによる省電力のための方法および装置
JP2014515897A (ja) * 2011-04-06 2014-07-03 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング 直列バスシステム内でデータ伝送の信頼性を調整するための方法及び装置
JP2013058845A (ja) * 2011-09-07 2013-03-28 Denso Corp データ通信方法及びデータ通信システム

Similar Documents

Publication Publication Date Title
CN107645487B (zh) 报头处理设备、处理器和装置
RU2010100829A (ru) Способы и устройство для вычисления crc для множества кодовых блоков в системе связи
US8726124B2 (en) Cyclic redundancy check generation via distributed time multiplexed linear feedback shift registers
CN108694918A (zh) 编码方法及装置、解码方法及装置及显示装置
CN107005346A (zh) 码元转变时钟转码的检错常数
US8738990B2 (en) Cyclic redundancy check generation via distributed time multiplexed linear feedback shift registers
CN104169897A (zh) 对用于快速pci高速多功能设备地址解码的数据解码
CN106372026B (zh) 一种链路检测方法和接收设备
CN101584144B (zh) 用于有效传输多媒体和数据的系统和方法
JP2005086683A (ja) 誤り復号回路、データバス制御方法、及びデータバスシステム
JP2016181756A (ja) 半導体装置及びデータの送受信方法
US11362679B2 (en) Method and apparatus for generating redundant bits for error detection
JP5376990B2 (ja) 中継装置および中継装置の中継方法
JP2017175495A (ja) 送信装置、受信装置、通信システム、方法およびプログラム
US8411309B1 (en) Integrated circuit and electronic device
JPH08316967A (ja) データ伝送装置
JP2020145356A (ja) 集積回路装置
Jyothi et al. Implementation of low complex and high secured SPI communication system for multipurpose applications
JP6445890B2 (ja) 通信方法および通信システム
Juan et al. Utilization of DSP algorithms for Cyclic Redundancy Checking (CRC) in Controller Area Network (CAN) controller
JP4708291B2 (ja) 通信システム
US8699624B2 (en) Receiving apparatus and data transmission apparatus
JP5364641B2 (ja) 情報処理装置
KR20020033227A (ko) 데이터 통신을 위한 병렬 중복순환 검사회로
CN117997483A (zh) 用于业务复制的设备和方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181225

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190115