JP7139697B2 - 送信装置、送信プログラム、受信装置、および受信プログラム - Google Patents

送信装置、送信プログラム、受信装置、および受信プログラム Download PDF

Info

Publication number
JP7139697B2
JP7139697B2 JP2018108003A JP2018108003A JP7139697B2 JP 7139697 B2 JP7139697 B2 JP 7139697B2 JP 2018108003 A JP2018108003 A JP 2018108003A JP 2018108003 A JP2018108003 A JP 2018108003A JP 7139697 B2 JP7139697 B2 JP 7139697B2
Authority
JP
Japan
Prior art keywords
pulse
data
message
error
predetermined
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.)
Active
Application number
JP2018108003A
Other languages
English (en)
Other versions
JP2019213063A (ja
JP2019213063A5 (ja
Inventor
啓一 伊藤
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.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric 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 Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP2018108003A priority Critical patent/JP7139697B2/ja
Priority to US16/383,693 priority patent/US10951327B2/en
Publication of JP2019213063A publication Critical patent/JP2019213063A/ja
Publication of JP2019213063A5 publication Critical patent/JP2019213063A5/ja
Application granted granted Critical
Publication of JP7139697B2 publication Critical patent/JP7139697B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K7/00Modulating pulses with a continuously-variable modulating signal
    • H03K7/08Duration or width modulation ; Duty cycle modulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • G06F11/2076Synchronous techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B14/00Transmission systems not characterised by the medium used for transmission
    • H04B14/02Transmission systems not characterised by the medium used for transmission characterised by the use of pulse modulation
    • H04B14/026Transmission systems not characterised by the medium used for transmission characterised by the use of pulse modulation using pulse time characteristics modulation, e.g. width, position, interval
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/02Channels characterised by the type of signal
    • H04L5/04Channels characterised by the type of signal the signals being represented by different amplitudes or polarities, e.g. quadriplex
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0054Detection of the synchronisation error by features other than the received signal transition
    • H04L7/0066Detection of the synchronisation error by features other than the received signal transition detection of error based on transmission code rule
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/041Speed or phase control by synchronisation signals using special codes as synchronising signal
    • H04L7/044Speed or phase control by synchronisation signals using special codes as synchronising signal using a single bit, e.g. start stop bit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/06Speed or phase control by synchronisation signals the synchronisation signals differing from the information signals in amplitude, polarity or frequency or length

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Dc Digital Transmission (AREA)

Description

本発明は、送信装置、送信プログラム、受信装置、および受信プログラムに関する。
従来、メッセージに含まれる複数のパルスのパルス幅を用いてメッセージの先頭位置を特定し、またはデータ値を表す通信方式が知られている。このような通信方式の一例として、SENT(登録商標)通信が挙げられる。このような通信方式においては、送信装置は、メッセージにパリティまたはCRC等の誤り検出/訂正用のパルスを含め、1または複数のデータパルスによって示されるデータ値の誤りを検出または訂正可能とする(特許文献1参照)。
特許文献1 特開2015-46770号公報
上記の通信方式においては、受信装置は、予め定められたパルス幅に対して許容する誤差範囲内(例えば±20%)のパルスを、メッセージの先頭位置を示す同期パルスであると判定し、同期パルスを基準としてデータパルスを受信する。したがって、例えば、同期パルスのパルス幅が誤差範囲外となった場合等において、受信装置は、受信したパルスを破棄しエラーも検出できない可能性があった。
上記課題を解決するために、本発明の第1の態様においては、受信装置を提供する。受信装置は、予め定められたパルス幅の同期パルス、および第1データの値に応じたパルス幅を有する第1データパルスを含むメッセージを受信する受信部を備えてよい。受信装置は、同期パルスの後に連続する、同期パルスではないパルスの数が予め定められた個数範囲内ではないことに応じてエラーを検出するエラー検出部を備えてよい。
エラー検出部は、同期パルスの後に連続する、同期パルスではないパルスの数が予め定められた上限個数を超えたことに応じてエラーを検出してよい。
エラー検出部は、同期パルス間の同期パルスではないパルスの数が予め定められた下限個数未満でとなったことに応じてエラーを検出してよい。
受信装置は、予め定められたパルス幅を含む予め定められた同期パルス許容幅範囲内のパルス幅を有するパルスを同期パルスとして検出する同期パルス検出部を備えてよい。
エラー検出部は、第1データパルスのパルス幅が予め定められたデータパルス許容幅範囲外であることに応じてエラーを検出してよい。
メッセージは、第2データの部分データの値に応じたパルス幅を有する第2データパルスを含んでよい。受信装置は、複数のメッセージを含むメッセージ群のそれぞれのメッセージに含まれる第2データパルスに分割してエンコードされた第2データを取得するデータ取得部を備えてよい。
データ取得部は、メッセージ群に含まれる各メッセージの第2データパルスによって表される部分データの未定義フィールドにエンコードされたエラー検出用情報を取得してよい。エラー検出部は、エラー検出用情報に基づいて、メッセージ群内の各メッセージのエラーを検出してよい。
データ取得部は、第1のメッセージ群に含まれる第1のメッセージのエラーが検出されたことに応じて、第1のメッセージ群から取得する第2データを、第2のメッセージ群中の第1のメッセージに対応する第2のメッセージの第2データパルスが示す部分データにより補ってよい。
本発明の第2の態様においては、受信装置を提供する。受信装置は、予め定められたパルス幅の同期パルス、および第1データの値に応じたパルス幅を有する第1データパルスを含むメッセージを受信する受信部を備えてよい。受信装置は、第1データパルスのパルス幅が予め定められたデータパルス許容幅範囲外であることに応じてエラーを検出するエラー検出部を備えてよい。
受信装置は、予め定められたパルス幅を含む予め定められた同期パルス許容幅範囲内のパルス幅を有するパルスを同期パルスとして検出する同期パルス検出部を備えてよい。受信装置は、同期パルスを基準として予め定められたパルス位置にあるパルスを第1データパルスとして検出するデータパルス検出部を備えてよい。
本発明の第3の態様においては、受信方法を提供する。受信方法においては、受信装置が、予め定められたパルス幅の同期パルス、および第1データの値に応じたパルス幅を有する第1データパルスを含むメッセージを受信してよい。受信方法においては、受信装置が、同期パルスの後に連続する、同期パルスではないパルスの数が予め定められた個数範囲内ではないことに応じてエラーを検出してよい。
本発明の第4の態様においては、受信方法を提供する。受信方法においては、受信装置が、予め定められたパルス幅の同期パルス、および第1データの値に応じたパルス幅を有する第1データパルスを含むメッセージを受信してよい。受信方法においては、受信装置が、第1データパルスのパルス幅が予め定められたデータパルス許容幅範囲外であることに応じてエラーを検出してよい。
本発明の第5の態様においては、コンピュータにより実行される受信プログラムを提供する。受信プログラムは、コンピュータを、予め定められたパルス幅の同期パルス、および第1データの値に応じたパルス幅を有する第1データパルスを含むメッセージを受信する受信部として機能させてよい。受信プログラムは、コンピュータを、同期パルスの後に連続する、同期パルスではないパルスの数が予め定められた個数範囲内ではないことに応じてエラーを検出するエラー検出部として機能させてよい。
本発明の第6の態様においては、コンピュータにより実行される受信プログラムを提供する。受信プログラムは、コンピュータを、予め定められたパルス幅の同期パルス、および第1データの値に応じたパルス幅を有する第1データパルスを含むメッセージを受信する受信部として機能させてよい。受信プログラムは、第1データパルスのパルス幅が予め定められたデータパルス許容幅範囲外であることに応じてエラーを検出するエラー検出部として機能させてよい。
本発明の第7の態様においては、送信装置を提供する。送信装置は、送信すべき複数組の第1データおよび第2データを取得する送信データ取得部を備えてよい。送信装置は、複数のメッセージを含むメッセージ群の各メッセージとして、予め定められたパルス幅を有する同期パルスと、複数組の第1データのうち当該メッセージに対応する第1データに応じたパルス幅を有する第1データパルスと、第2データのうち当該メッセージにエンコードすべき部分データに応じたパルス幅を有する第2データパルスとを含むメッセージを生成するメッセージ生成部を備えてよい。送信装置は、メッセージ群の各メッセージを送信する送信部を備えてよい。メッセージ生成部は、第2データパルスによって表される部分データの未定義フィールドに、付加情報をエンコードしてよい。
本発明の第8の態様においては、送信方法を提供する。送信方法においては、送信装置が、送信すべき複数組の第1データおよび第2データを取得してよい。送信方法においては、送信装置が、複数のメッセージを含むメッセージ群の各メッセージとして、予め定められたパルス幅を有する同期パルスと、複数組の第1データのうち当該メッセージに対応する第1データに応じたパルス幅を有する第1データパルスと、第2データのうち当該メッセージにエンコードすべき部分データに応じたパルス幅を有する第2データパルスとを含むメッセージを生成してよい。送信方法においては、送信装置が、メッセージ群の各メッセージを送信してよい。メッセージの生成において、第2データパルスによって表される部分データの未定義フィールドに、付加情報をエンコードしてよい。
本発明の第9の態様においては、コンピュータにより実行される送信プログラムを提供する。送信プログラムは、コンピュータを、送信すべき複数組の第1データおよび第2データを取得する送信データ取得部として機能させてよい。送信プログラムは、コンピュータを、複数のメッセージを含むメッセージ群の各メッセージとして、予め定められたパルス幅を有する同期パルスと、複数組の第1データのうち当該メッセージに対応する第1データに応じたパルス幅を有する第1データパルスと、第2データのうち当該メッセージにエンコードすべき部分データに応じたパルス幅を有する第2データパルスとを含むメッセージを生成するメッセージ生成部として機能させてよい。送信プログラムは、コンピュータを、メッセージ群の各メッセージを送信する送信部として機能させてよい。メッセージ生成部は、第2データパルスによって表される部分データの未定義フィールドに、付加情報をエンコードしてよい。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
本実施形態に係る通信システム10の構成を示す。 本実施形態に係るメッセージの一例を示す。 本実施形態に係るメッセージにおけるデータパルスのパルス幅とデータ値の対応を示す。 本実施形態に係るメッセージのステータスパルスによって伝送されるデータの第1例を示す。 本実施形態に係るメッセージのステータスパルスによって伝送されるデータの第2例を示す。 本実施形態に係るメッセージのステータスパルスによって伝送されるデータの第3例を示す。 本実施形態に係る受信装置30の構成を示す。 本実施形態に係る受信装置30の動作フローを示す。 本実施形態に係る受信装置30における受信データの記憶状態を示す。 本実施形態に係る送信装置20の構成を示す。 本実施形態に係る送信装置20の動作フローを示す。 本実施形態に係るコンピュータ2200の構成の一例を示す。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本実施形態に係る通信システム10の構成を示す。通信システム10は、送信装置20と、受信装置30と、通信路40とを備える。
送信装置20は、通信路40を介して受信装置30に接続され、送信側装置から受け取った送信データを含むメッセージを受信装置30に対して送信する。本実施形態に係る送信装置20は、一例として圧力センサ等のセンサを含む装置に接続され、センサから取得されたセンサデータを含むメッセージを受信装置30に対して送信する。
受信装置30は、通信路40を介して送信装置20に接続され、送信装置20からメッセージを受信して受信データを受信側装置に供給する。本実施形態に係る受信装置30は、一例として送信装置20から受信したメッセージに含まれるセンスデータを受信側装置に供給する。これを受けて、受信側装置は、センサデータに応じて通信システム10が設けられた車両またはエンジン等の装置を制御する。
通信路40は、送信装置20および受信装置30の間を接続する。通信路40は、一例として車載ネットワーク用の通信路であり、シリアル信号線を用いた接続であってよい。
なお、通信システム10は、上記した用途以外の各種の通信インターフェイスとして利用されてもよい。また、受信装置30は、通信システム10の実際の応用で使用される受信装置ではなく、例えば送信装置20または通信路40の試験または診断等に用いられる試験装置または診断装置等が有する受信装置であってもよい。
図2は、本実施形態に係るメッセージの一例を示す。本例において、メッセージは、論理ハイ(論理H)、および論理ロー(論理L)の2値をとるシリアル信号によって伝送される。論理Hは、予め定められた閾値電圧以上の電圧値をとってよく、論理Lは、閾値電圧未満の電圧値をとってよい。メッセージは、複数のパルスを含む。各パルスは、論理Lから論理Hへと立ち上がり、パルスに応じて予め定められた時間の後に論理Lへと立ち下がる。パルスが論理Hとなる期間の時間幅を、パルス幅と呼ぶ。
本実施形態においては、通信方式としてSENT(Single-Edge Nibble Transmission)プロトコルを用いる場合を例に説明する。SENTプロトコルにおいて、メッセージは、同期校正(Synchronization/Calibration)パルス、ステータス&コミュニケーション(Status&Communication)パルス、複数(3つ)のファースト1・データ(fast 1 data)パルス、複数(3つ)のファースト2・データ(fast 1 data)パルス、CRCパルス、およびポーズパルスを含む。
同期校正パルスは、予め定められたパルス幅を有する。SENTプロトコルにおいて、同期校正パルスは、52単位期間(「ティック」とも示す。)のパルス幅の間論理Hをとるパルス幅不変のパルスである。ここで、SENTプロトコルにおいては、パルス幅は、送信装置20および受信装置30の間で予め定められた時間長のティック(例えば3us)を単位として定義される。同期校正パルスは、同期パルスの一例であり、メッセージの先頭位置を示す。
ステータス&コミュニケーションパルス(「ステータスパルス」とも示す。)は、同期校正パルスの次のパルスであり、ステータス等のデータ値に応じたパルス幅の間論理Hをとるパルス幅可変のパルスである。ステータスパルスは、ステータス等のデータを伝送するものであり、「第2データパルス」とも示す。ステータスパルスは、ステータス等を示す4ビット(1ニブル)のデータを伝送する。
ファースト1・データパルスは、ステータスパルスの次の3つのパルスであり、ファースト1・データの値に応じたパルス幅を有するパルス幅可変のパルスである。ファースト2・データパルスは、ファースト1・データパルスの次の3つのパルスであり、ファースト2・データの値に応じたパルス幅を有するパルス幅可変のパルスである。これらのデータパルスは、「第1データパルス」の一例である。これらのデータパルスは、それぞれ4ビットのデータ(「第1データ」の一例としてのデータ)を伝送する。
CRCパルスは、ファースト2・データパルスの次のパルスであり、誤り検出/訂正符号の値に応じたパルス幅を有するパルス幅可変のパルスである。CRCパルスは、4ビットの誤り検出/訂正符号を伝送する。
ポーズパルスは、連続するメッセージ間に配置されるパルスであり、前のメッセージのCRCパルスの末尾から次のメッセージの同期校正パルスの前までの間を満たすパルス幅を有する。ポーズパルスのパルス幅は、最小でも同期校正パルスのパルス幅よりも大きく設定される。なお、SENTプロトコルにおいては、ポーズパルスはオプションであり、ポーズパルスを用いない場合にはCRCパルスおよび同期校正パルスの間の信号は論理Lとされる。
SENTプロトコルにおいては、以上に示した各パルス間に4ティックの論理Lの期間が設けられる。
図3は、本実施形態に係るメッセージにおけるデータパルスのパルス幅とデータ値の対応を示す。なお、本図は、ステータスデータおよび誤り検出/訂正符号としてのデータを伝送するステータスパルスおよびCRCパルスにも適用される。
SENTプロトコルにおいては、本図に示すようにデータ値0を示すパルスは12ティックのパルス幅を有し、データ値1を示すパルスは13ティックのパルス幅を有し、以下同様にデータ値15(0xF)を示すパルスは27ティックのパルス幅を有する。
図4は、本実施形態に係るメッセージのステータスパルスによって伝送されるデータの第1例を示す。SENTプロトコルは、ファースト1・データおよびファースト2・データによるデータ伝送に加え、複数メッセージのステータスパルスに分割してデータをエンコードするデータ伝送(Slowチャネルによるデータ伝送)を規定する。Slowチャネルによるデータ伝送には、ShortフォーマットおよびEnhancedフォーマットの2種類のフォーマットが規定されている。本図は、このうちShortフォーマットを示す。
Shortフォーマットにおいては、送信装置20は、連続する16個のメッセージを含むメッセージ群の各メッセージに含まれるステータスパルスに分割してデータをエンコードする。本図において、ニブル番号は、Shortフォーマットにおけるステータスパルスの番号を示し、メッセージ群中のメッセージの番号と同じである。各ステータスパルスは、4ビット(1ニブル)のデータを有するが、Shortフォーマットにおいてはこのうち2ビット(シリアルデータビット3および2)を使用する。
Shortフォーマットにおいて、シリアルデータビット3は、ニブル1~16に「1000000000000000」のビット列を含む。シリアルデータビット2は、ニブル1~4にメッセージID(図中「MID」)、ニブル5~12にデータ、ニブル13~16にCRCを含む。Shortフォーマットにおけるシリアルデータビット3および2にエンコードされるデータは、「第2データ」の一例である。
メッセージIDは、Slowチャネルで伝送するデータに関する4ビットのメッセージ識別番号である。データは、Slowチャネルで伝送する8ビットのデータである。CRCは、Slowチャネルで伝送するデータに関するCRCであり、メッセージIDおよびデータ部分のCRCであってよい。
図5は、本実施形態に係るメッセージのステータスパルスによって伝送されるデータの第2例を示す。本図は、Enhancedフォーマットにおいてコンフィグレーションビットを0とする場合を示す。
Enhancedフォーマットにおいては、送信装置20は、連続する18個のメッセージを含むメッセージ群の各メッセージに含まれるステータスパルスに分割してデータをエンコードする。本図において、ニブル番号は、Enhancedフォーマットにおけるステータスパルスの番号を示し、メッセージ群中のメッセージの番号と同じである。Enhancedフォーマットにおいても、各ステータスパルス(1ニブル)のうち2ビット(シリアルデータビット3および2)を使用する。
Enhancedフォーマットにおいて、コンフィグレーションビットを0とする場合、シリアルデータビット3は、ニブル1~6に「111111」、ニブル7に「0」、ニブル8にコンフィグレーションビット「0」、ニブル9~12にメッセージID(一部)、ニブル13に「0」、ニブル14~17にメッセージID(一部)、ニブル18に「0」を含む。シリアルデータビット2は、ニブル1~6にCRC、ニブル7~18にデータを含む。Enhancedフォーマットにおけるシリアルデータビット3および2にエンコードされるデータは、「第2データ」の一例である。
メッセージIDは、Slowチャネルで伝送するデータに関する8ビットのメッセージ識別番号である。データは、Slowチャネルで伝送する12ビットのデータである。CRCは、Slowチャネルで伝送するデータに関するCRCであり、メッセージIDおよびデータ部分のCRCであってよい。
図6は、本実施形態に係るメッセージのステータスパルスによって伝送されるデータの第3例を示す。本図は、Enhancedフォーマットにおいてコンフィグレーションビットを1とする場合を示す。
Enhancedフォーマットにおいて、コンフィグレーションビットを1とする場合、シリアルデータビット3は、ニブル1~6に「111111」、ニブル7に「0」、ニブル8にコンフィグレーションビット「1」、ニブル9~12にメッセージID、ニブル13に「0」、ニブル14~17にデータ(一部)、ニブル18に「0」を含む。シリアルデータビット2は、ニブル1~6にCRC、ニブル7~18にデータ(一部)を含む。
メッセージIDは、Slowチャネルで伝送するデータに関する4ビットのメッセージ識別番号である。データは、Slowチャネルで伝送する16ビットのデータである。CRCは、Slowチャネルで伝送するデータに関するCRCであり、メッセージIDおよびデータ部分のCRCであってよい。
受信装置30は、ShortフォーマットおよびEnhancedフォーマットを、シリアルデータビット3が「1」であるメッセージが6個連続するか否かによって判別することができる。Shortフォーマットの場合、受信装置30は、シリアルデータビット3が「1」であるメッセージがメッセージ群の先頭であると判別することができる。Enhancedフォーマットの場合、受信装置30は、シリアルデータビット3において6個連続する「1」の先頭の「1」を含むメッセージがメッセージ群の先頭であると判別することができる。
図7は、本実施形態に係る受信装置30の構成を示す。受信装置30は、受信部600と、パルス検出部610と、第1データ取得部650と、第2データ取得部660と、エラー検出部670とを備える。
受信部600は、送信装置20によって送信されたメッセージを通信路40を介して受信する。受信部600は、一例として通信路40から受信した信号を閾値電圧と比較することにより、信号の論理値(論理Hまたは論理L)を判定する。
パルス検出部610は、受信されたメッセージの信号列からパルスを特定してパルス幅を算出する。本実施形態において、パルス検出部610は、受信部600が判定した信号の論理値を観測して、各パルスのパルス幅を検出する。パルス検出部610は、専用回路によって実現されてよく、これに代えてマイクロコントローラ等におけるプログラム実行により実現されてもよい。マイクロコントローラ等によって実現される場合、パルス検出部610は、受信部600が判別した信号の論理Lから論理Hへの変化、および論理Lから論理Hへの変化の少なくとも一方をトリガとして割込を発生させ、次にトリガを受けるまでの期間をタイマ等によって計測してもよい。ここで、図2に示したようにパルス間には予め定められたインターバル(例えば4ティック)が設けられる場合、パルス検出部610は、信号が論理Lから論理Hへと変化する2つのタイミングの時間間隔を計測することにより、パルス間隔(これらのタイミングの間に位置するパルスのパルス幅にこのインターバルを加えた時間幅)を計測することができる。
パルス検出部610は、各パルスのパルス幅(またはパルス間隔)を用いて、各パルスが一例として図2に示した各種のパルスのいずれであるかを判別する。パルス検出部610は、同期パルス検出部615と、ステータスパルス検出部620と、データパルス検出部625と、CRCパルス検出部630と、ポーズパルス検出部635とを有する。
同期パルス検出部615は、予め定められた同期パルスのパルス幅(図2においては52ティック)を有するパルスを同期パルスとして検出する。ここで、同期パルス検出部615は、同期パルスの規定パルス幅を含む予め定められた同期パルス許容幅範囲内のパルス幅を有するパルスを同期パルスとして検出する。例えば、同期パルスとして許容される許容幅が±20%である場合、同期パルス検出部615は、52ティック±20%の範囲を同期パルス許容幅範囲とし、この範囲内のパルス幅を有するパルスを同期パルスとして検出する。
ステータスパルス検出部620は、同期パルスを基準として予め定められたパルス位置にあるパルス(図2においては同期パルスの次のパルス)をステータスパルスとして検出する。ここで、ステータスパルス検出部620は、同期パルスの次のパルスが同期パルスのパルス幅(同期パルスとして許容されるパルス幅)またはそれよりも大きいパルス幅を有する場合には、ステータスパルスとして検出しないように設計されてもよい。
データパルス検出部625は、同期パルスを基準として予め定められたパルス位置にあるパルスをデータパルスとして検出する。図2の通信プロトコルにおいては、データパルス検出部625は、同期パルスの次から数えて2~4番目の3つのパルスをファースト1・データパルスとして検出し、5~7番目の3つのパルスをファースト2・データパルスとして検出する。ここで、データパルス検出部625は、これらのパルスが同期パルスのパルス幅(同期パルスとして許容されるパルス幅)またはそれよりも大きいパルス幅を有する場合には、データパルスとして検出しないように設計されてもよい。
CRCパルス検出部630は、同期パルスを基準として予め定められたパルス位置にあるパルス(図2においては同期パルスの次から数えて8番目のパルス)をCRCパルスとして検出する。ここで、CRCパルス検出部630は、この位置のパルスが同期パルスのパルス幅(同期パルスとして許容されるパルス幅)またはそれよりも大きいパルス幅を有する場合には、CRCパルスとして検出しないように設計されてもよい。
ポーズパルス検出部635は、同期パルスを基準として予め定められたパルス位置にあるパルス(図2においては同期パルスの次から数えて8番目のパルス)をポーズパルスとして検出する。ここで、ポーズパルス検出部635は、この位置のパルスが同期パルスのパルス幅(同期パルスとして許容されるパルス幅)を有する場合には、ポーズパルスとして検出しないように設計されてもよい。なお、ポーズパルス検出部635は、同期パルスのパルス幅を超えるパルス幅を有するパルスをポーズパルスとして検出してもよい。
第1データ取得部650は、データパルス検出部625が検出した各第1データパルスのパルス幅に応じた第1データ値を図3に示した対応関係を用いて決定し、ファースト1・データのデータ値およびファースト2・データのデータ値を取得する。また、第1データ取得部650は、CRCパルス検出部630が検出したCRCパルスのパルス幅に応じたCRC値を図3に示した対応関係を用いて決定する。そして、第1データ取得部650は、CRC値を用いてファースト1・データおよびファースト2・データの誤り検出および訂正を行う。
第2データ取得部660は、ステータスパルス検出部62が検出したステータスパルス(第2データパルス)のパルス幅に応じたデータ値を図3に示した対応関係を用いて決定する。そして、第2データ取得部660は、連続する複数のメッセージを含むメッセージ群の各ステータスパルスに分割してエンコードされた第2データを取得する。また、第2データ取得部660は、図3~5に示したSlowチャネルに含まれるCRC値を用いて、第2データの誤り検出および訂正を行う。
エラー検出部670は、パルス検出部610によるパルスの検出結果、第1データ取得部650による誤り検出および訂正の結果、ならびに、第2データ取得部660における誤り検出および訂正の結果等に応じて、エラーを検出する。
図8は、本実施形態に係る通信システム10の動作フローを示す。ステップS700において、受信部600は、メッセージの信号列を受信する。S705において、パルス検出部610は、受信されたメッセージの信号列からパルスを特定してそれぞれのパルスのパルス幅を算出する。
S710において、パルス検出部610内の同期パルス検出部615、ステータスパルス検出部620、データパルス検出部625、CRCパルス検出部630、およびポーズパルス検出部635は、各パルスの種類(図2の通信プロトコルにおいては同期パルス、ステータスパルス、データパルス、CRCパルス、またはポーズパルス)を識別する。
ここで、パルス検出部610内のステータスパルス検出部620、データパルス検出部625、CRCパルス検出部630、およびポーズパルス検出部635の少なくとも1つは、直前に同期パルスとして検出されたパルスのパルス幅の誤差に応じて、ステータスパルス、データパルス、CRCパルス、およびポーズパルスの少なくとも1つのパルス幅の単位として用いる1ティックの時間長を調整してよい。例えば、これらのパルス検出部は、直前に同期パルスとして検出されたパルスのパルス幅(時間長)を、同期パルスが有するティック数(すなわち52)で割った値を1ティックの時間長として用いて、対象とするパルスのティック数を求めてよい。
例えば、送信装置20および受信装置30の間で1ティックの時間長を3usと定めていたにもかかわらず、182usのパルス幅の同期パルスを検出した場合、同期パルス検出部615は、1ティックの時間長を3.5us(=182/52)とすることを他のパルス検出部に通知する。これを受けて、各パルス検出部は、1ティックの時間長3.5usを基準として各パルスのティック数を算出してよい。これにより、送信装置20が送信するパルスにおける1ティックの時間長に誤差が生じた場合においても、受信装置30は、同期パルスのパルス幅に基づいて1ティックの時間長を調整し、各パルスのティック数を正しく判別できる。
これに代えて、パルス検出部610内の各パルス検出部は、同期パルスのパルス幅によらず送信装置20および受信装置30の間で予め定めた1ティックの時間長を用いて、各パルスのティック数を求めてもよい。これにより、例えば送信装置20および受信装置30が同一クロックを基準として動作しているような通信システム10において一時的なノイズによって同期パルスのパルス幅のみが変化して観測された場合でも、受信装置30は、他の各パルスのティック数を正しく判別できる。
S715において、エラー検出部670は、同期パルスとして識別されたパルスの位置に誤りがあるか否かを判定する。ここで、エラー検出部670は、同期パルスの後に連続する、同期パルスではないパルスの数が予め定められた個数範囲内ではないことに応じてエラーを検出する。例えば、エラー検出部670は、同期パルスの後に連続する、同期パルスではないパルスの数が予め定められた上限個数(図2の例において9個)を超えたことに応じてエラーを検出してよい。これにより、エラー検出部670は、同期パルスとして検出されるべきパルスのパルス幅がノイズ等によって同期パルス許容幅範囲外となって同期パルスとして検出されなかった場合においても、その同期パルスから始まるメッセージを単に捨てるだけではなく、エラーとして検出することができる。
また例えば、エラー検出部670は、同期パルス間の同期パルスではないパルスの数が予め定められた下限個数(図2の例において9個)未満でとなったことに応じてエラーを検出してよい。これにより、エラー検出部670は、同期パルスとして検出されるべきではないパルスのパルス幅がノイズ等によって同期パルス許容幅範囲内となって同期パルスとして検出されてしまった場合においても、誤った同期パルスから始まるメッセージを受け取って誤ったデータとして単に出力するのではなく、エラーとして検出することができる。
なお、図2に示した通信プロトコルにおいては、ポーズパルスを設けるか否かはオプションである。そこで、エラー検出部670は、同期パルスの後に連続する、同期パルスではないパルスの数が8~9個ではないことに応じてエラーを検出するようにして、ポーズパルスの有無に関わらずエラーを誤検出しないようにしてもよい。
S715においてエラーを検出すると、エラー検出部670は、S720において、受信装置30から受信データを受け取る装置等にエラーを通知する。
S725において、エラー検出部670は、データパルスとして識別されたパルスの幅が適切か否かを判定する。一例として、エラー検出部670は、各データパルスのパルス幅が予め定められたデータパルス許容幅範囲外であることに応じてエラーを検出してよい。ここで、エラー検出部670は、データに応じたパルス幅を有するステータスパルス、各ファースト1・データパルス、各ファースト2・データパルス、およびCRCパルスのうちの任意の組合せを本エラー検出の対象とする広義のデータパルスとして扱ってよい。エラー検出部670は、データパルス許容幅範囲として、データ値に応じた最小のパルス幅(図2においては12ティック)から許容誤差を減じたパルス幅以上、データ値に応じた最大のパルス幅(図2においては27ティック)に許容誤差を加えたパルス幅以下、またはこれらの両方を満たす範囲を用いてよい。これにより、エラー検出部670は、ノイズ等によってデータパルスのパルス幅がデータパルス許容幅範囲外となったことによってCRCでは誤り検出または訂正ができないような多ビット誤りが発生した場合でも、エラーとして検出することができる。
S725においてエラーを検出すると、エラー検出部670は、受信装置30に接続された受信側装置等にエラーを通知する。
S735において、第1データ取得部650は、データパルス検出部625が検出した各第1データパルス(3つのファースト1・データパルスおよび3つのファースト2・データパルスのそれぞれ)のパルス幅に応じた第1データを取得する。ここで、第1データ取得部650は、CRCパルス検出部630が検出したCRCパルスのパルス幅に応じたCRCデータの値を用いて、第1データの誤り検出および訂正を行う。
S740において、第2データ取得部660は、図4~6に示したような複数のメッセージを含むメッセージ群のそれぞれのメッセージに含まれる第2データパルス(図2においてはステータスパルス)に分割してエンコードされた第2データを取得する。ここで第2データは、図4~6におけるメッセージID、データ、およびCRC等の、複数のメッセージに含まれる各第2データパルスに一部のデータずつ分割されてエンコードされるデータである。第2データ取得部660は、メッセージ群の第2データパルスから取得したCRCデータの値を用いて、メッセージIDおよびデータの誤り検出および訂正を行う。
S745において、エラー検出部670は、第1データ取得部650により取得された第1データにエラーがある否かを判定する。エラー検出部670は、第1データに誤り訂正不能なエラーがあると判定したことに応じて、受信側装置等にそのエラーを通知する(S750)。
S755において、第1データ取得部650は、取得した各第1データを、受信側装置へと出力する。ここで、第1データ取得部650が第1データに誤りを検出して訂正を行った場合には、エラー検出部670は、誤りが検出され訂正されたことを、例えば軽度エラーとして、受信側装置へと通知してもよい。
S760において、エラー検出部670は、第2データ取得部660により取得された第2データにエラーがある否かを判定する。エラー検出部670は、第2データに誤り訂正不能なエラーがあると判定したことに応じて、受信側装置等にそのエラーを通知する(S765)。
S770において、受信装置30は、メッセージ群の全てのメッセージが受信され、第2データの取得が完了したか否かを判定する。第2データの取得が完了していない場合、受信装置30は、処理をS700へと進めて次のメッセージを受信する。第2データの取得が完了した場合、受信装置30は、処理をS775へと進める。
S775において、第2データ取得部660は、取得した第2データを、受信側装置へと出力する。ここで、第2データ取得部660が第2データに誤りを検出して訂正を行った場合には、第2データ取得部660は、誤りが検出され訂正されたことを、例えば軽度エラーとして、受信側装置へと通知してもよい。
受信装置30は、以上に示した処理を、同期パルスから次の同期パルスまでの信号列を受信する毎に繰り返す。
図9は、本実施形態に係る受信装置30における受信データ(第2データ)の記憶状態を示す。図4~6に示したShortフォーマットおよびEnhancedフォーマットにおいては、受信装置30は、複数のメッセージ(16または18個のメッセージ)を含むメッセージ群に含まれる各メッセージの第2データパルス(ステータスパルス)から、Slowチャネルで伝送される第2データ(図4~6におけるメッセージID、データ、CRC等)を取得する。ここで、メッセージ群に含まれる複数のメッセージのうちいずれかのメッセージがエラー等により欠落した場合、受信装置30は、そのメッセージ群から第2データを取得できなくなってしまう。そこで、受信装置30内の第2データ取得部660は、第1のメッセージ群に含まれる第1のメッセージのエラーが検出されたことに応じて、第1のメッセージ群から取得する第2データを、第2のメッセージ群中の第1のメッセージに対応する第2のメッセージの第2データパルスが示す部分データにより補う機能を備えてもよい。
本図の例は、受信装置30が、Enhancedフォーマットの第1のメッセージ群を受信したが3番目および17番目のメッセージがエラーにより欠落して第2データパルスが受信できなかった場合における受信データの記憶状態を示す。受信装置30内の第2データ取得部660は、第1のメッセージ群内の各メッセージのステータスパルスに応じた部分データ(ニブル)が正しく受信できた場合に、その部分データが有効であることを示す情報(本図における「有効フラグ=1」)を記憶し、正しく受信できなかった場合に、その部分データが無効であることを示す情報(本図における「有効フラグ=0」)を記憶する。
本機能を備える構成において、送信装置20は、メッセージ群内のメッセージが欠落した場合でも第2データを正しく伝送できるように、Slowチャネルにより伝送する第2データが同一のメッセージ群を複数回送信する。
受信装置30内の第2データ取得部660は、第1のメッセージ群に含まれる少なくとも1つメッセージが欠落した状態で第2のメッセージ群が受信されたことに応じて、第1のメッセージ群において欠落しているメッセージのステータスパルスに応じた部分データを、第2のメッセージ群における対応するメッセージのステータスパルスに応じた部分データによって補う。本図の例において、第2データ取得部660は、有効フラグが0である3番目および17番目の部分データを、第2のメッセージ群における3番目および17番目のメッセージのステータスパルスに応じた部分データとした第2データを、第1のメッセージ群のSlowチャネルによって伝送された第2データとして出力する。ここで第2データ取得部660は、第2のメッセージ群内のメッセージを用いてもなお欠落している部分データが存在する場合、第3のメッセージ群内のメッセージによって欠落している部分データを補ってもよい。
以上に示した例においては、第2データ取得部660は、第1のメッセージ群に含まれるメッセージの欠落を、第1のメッセージ群の後の第2のメッセージ群における対応するメッセージによって補う。これに代えて、またはこれに加えて、第2データ取得部660は、第1のメッセージ群に含まれるメッセージの欠落を、第1のメッセージ群の前の第2のメッセージ群における対応するメッセージによって補ってもよい。例えば、Enhancedフォーマットの第2のメッセージ群を受信して本図のように受信データを記憶している状態において、4番目のメッセージが欠落した第1のメッセージ群を受信した場合に、第2データ取得部660は、第1のメッセージ群における4番目の部分データを、前に受信された第2のメッセージ群における4番目の部分データとした第2データを、第1のメッセージ群のSlowチャネルによって伝送された第2データとして出力する。
なお、第2データ取得部660は、上記の処理を、ShortフォーマットおよびEnhancedフォーマットのそれぞれ、Shortフォーマット、Enhancedフォーマット(コンフィグレーションビット=0)、およびEnhancedフォーマット(コンフィグレーションビット=1)のそれぞれ、メッセージID毎、またはこれらの組み合わせ毎に独立して行ってもよい。これにより、第2データ取得部660は、第1のメッセージ群および第2のメッセージ群のSlowチャネルが例えば同一メッセージIDに対するデータを示す場合にはこれらの間で部分データを補うが、異なるメッセージIDに対するデータを示す場合には全く別の第2データの伝送であるとして第1のメッセージ群および第2のメッセージ群の間で部分データを補わないようにして、メッセージID毎のSlowチャネルデータ伝送を並行して処理しつつメッセージの欠落を補うことを可能とすることができる。
図10は、本実施形態に係る送信装置20の構成を示す。送信装置20は、送信データ取得部900と、メッセージ生成部910と、送信部920とを備える。
送信データ取得部900は、送信すべき複数組の第1データおよび第2データを取得する。ここで、第2データは、ShortフォーマットまたはEnhancedフォーマットを構成するメッセージ群の各メッセージの第2データパルス(図2においてはステータスパルス)に分割してエンコードされるデータであり、メッセージIDおよびデータ本体等を含んでよい。複数組の第1データのそれぞれは、メッセージ群の各メッセージの第1データパルス(図2においてはファースト1・データパルスおよびファースト2・データパルス)にエンコードされるデータである。
メッセージ生成部910は、複数組の第1データおよび第2データを伝送するために用いるメッセージ群の各メッセージを生成する。メッセージ生成部910は、それぞれのメッセージに、予め定められたパルス幅を有する同期パルスと、複数組の第1データのうちそのメッセージに対応する第1データに応じたパルス幅を有する第1データパルスと、第2データのうちそのメッセージにエンコードすべき部分データに応じたパルス幅を有する第2データパルスとを含める。メッセージ生成部910は、それぞれのメッセージについて、第1データに対するCRCの値および第2データの部分データに対するCRCを計算し、メッセージに含める。送信部920は、メッセージ生成部910により生成されたメッセージ群の各メッセージを受信装置30へと送信する。
図11は、本実施形態に係る送信装置20の動作フローを示す。S1100において、送信データ取得部900は、送信すべき複数組の第1データおよび第2データを送信側装置から取得する。
S1110において、メッセージ生成部910は、複数組の第1データおよび第2データを伝送するために用いるメッセージ群の各メッセージを生成する。メッセージ生成部910は、複数組の第1データおよび第2データのエンコードに加えて、メッセージの未定義フィールドに付加情報をエンコードする機能を有してもよい。図2に示した通信プロトコルにおいては、ステータスパルスは1ニブル(4ビット)のデータ(第2データの部分データ)を伝送可能であるが、図4~6に示したShortフォーマットおよびEnhancedフォーマットにおいては4ビットのデータフィールドのうちビット3およびビット2の2ビットしか使用されておらず、ビット1およびビット0の2ビットは未定義フィールドとなっている。そこで、メッセージ生成部910は、この部分データの未定義フィールドに付加情報をエンコードしてもよい。
S1120において、送信部920は、メッセージ生成部910により生成されたメッセージ群の各メッセージを受信装置30へと送信する。
以上に示した送信装置20によれば、メッセージの未定義フィールドに第1データおよび第2データ以外の付加情報をエンコードして送信することができる。一例としてメッセージ生成部910は、送信側装置、送信装置20、およびその他の送信装置20に関係する装置の少なくとも1つについての識別情報、製造者、製造場所、製造日、およびロット番号等の少なくとも1つを示す情報を、メッセージ群に含まれる各メッセージのステータスパルスにエンコードされる部分データの未定義フィールドにエンコードしてもよい。受信装置30内の第2データ取得部660は、各メッセージのステータスパルスから取得した付加情報を記録してよい。これにより、送信装置20に関係する装置の異常が検出された場合に、通信システム10を保守管理する管理者は、受信装置30内の第2データ取得部660が記録した付加情報を取得して、異常が発生した装置に関する上記の情報を得ることができる。
またメッセージ生成部910は、メッセージ群内の各メッセージのエラーを検出するためのエラー検出用情報を各メッセージの部分データの未定義フィールドにエンコードしてもよい。これにより受信装置30内のエラー検出部670は、エラー検出用情報に基づいて、メッセージ群内の各メッセージのエラーを検出することができる。メッセージ生成部910は、エラー検出用情報として、メッセージ群における各メッセージの位置またはその一部を示す情報を用いてよい。例えば、メッセージ生成部910は、メッセージ群内における偶数番目のメッセージについては未定義フィールドのうちのビット1を「0」とし、奇数番目のメッセージについては未定義フィールドのうちのビット1を「1」とする。このようなメッセージ群を受信した受信装置30内のエラー検出部670は、連続する2つのメッセージにおける未定義フィールドのビット1が同じ値であった場合には、メッセージの欠落があったことを検出することができる。
本発明の様々な実施形態は、フローチャートおよびブロック図を参照して記載されてよく、ここにおいてブロックは、(1)操作が実行されるプロセスの段階または(2)操作を実行する役割を持つ装置のセクションを表わしてよい。特定の段階およびセクションが、専用回路、コンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、および/またはコンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタルおよび/またはアナログハードウェア回路を含んでよく、集積回路(IC)および/またはディスクリート回路を含んでよい。プログラマブル回路は、論理AND、論理OR、論理XOR、論理NAND、論理NOR、および他の論理操作、フリップフロップ、レジスタ、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックアレイ(PLA)等のようなメモリ要素等を含む、再構成可能なハードウェア回路を含んでよい。
コンピュータ可読媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読媒体は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROMまたはフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク、メモリスティック、集積回路カード等が含まれてよい。
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはSmalltalk、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1または複数のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードのいずれかを含んでよい。
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサまたはプログラマブル回路に対し、ローカルにまたはローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して提供され、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく、コンピュータ可読命令を実行してよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
図12は、本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ2200の例を示す。コンピュータ2200にインストールされたプログラムは、コンピュータ2200に、本発明の実施形態に係る装置に関連付けられる操作または当該装置の1または複数のセクションとして機能させることができ、または当該操作または当該1または複数のセクションを実行させることができ、および/またはコンピュータ2200に、本発明の実施形態に係るプロセスまたは当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ2200に、本明細書に記載のフローチャートおよびブロック図のブロックのうちのいくつかまたはすべてに関連付けられた特定の操作を実行させるべく、CPU2212によって実行されてよい。
本実施形態によるコンピュータ2200は、CPU2212、RAM2214、グラフィックコントローラ2216、およびディスプレイデバイス2218を含み、それらはホストコントローラ2210によって相互に接続されている。コンピュータ2200はまた、通信インターフェイス2222、ハードディスクドライブ2224、DVD-ROMドライブ2226、およびICカードドライブのような入/出力ユニットを含み、それらは入/出力コントローラ2220を介してホストコントローラ2210に接続されている。コンピュータはまた、ROM2230およびキーボード2242のようなレガシの入/出力ユニットを含み、それらは入/出力チップ2240を介して入/出力コントローラ2220に接続されている。
CPU2212は、ROM2230およびRAM2214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ2216は、RAM2214内に提供されるフレームバッファ等またはそれ自体の中にCPU2212によって生成されたイメージデータを取得し、イメージデータがディスプレイデバイス2218上に表示されるようにする。
通信インターフェイス2222は、ネットワークを介して他の電子デバイスと通信する。ハードディスクドライブ2224は、コンピュータ2200内のCPU2212によって使用されるプログラムおよびデータを格納する。DVD-ROMドライブ2226は、プログラムまたはデータをDVD-ROM2201から読み取り、ハードディスクドライブ2224にRAM2214を介してプログラムまたはデータを提供する。ICカードドライブは、プログラムおよびデータをICカードから読み取り、および/またはプログラムおよびデータをICカードに書き込む。
ROM2230はその中に、アクティブ化時にコンピュータ2200によって実行されるブートプログラム等、および/またはコンピュータ2200のハードウェアに依存するプログラムを格納する。入/出力チップ2240はまた、様々な入/出力ユニットをパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入/出力コントローラ2220に接続してよい。
プログラムが、DVD-ROM2201またはICカードのようなコンピュータ可読媒体によって提供される。プログラムは、コンピュータ可読媒体から読み取られ、コンピュータ可読媒体の例でもあるハードディスクドライブ2224、RAM2214、またはROM2230にインストールされ、CPU2212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ2200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置または方法が、コンピュータ2200の使用に従い情報の操作または処理を実現することによって構成されてよい。
例えば、通信がコンピュータ2200および外部デバイス間で実行される場合、CPU2212は、RAM2214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インターフェイス2222に対し、通信処理を命令してよい。通信インターフェイス2222は、CPU2212の制御下、RAM2214、ハードディスクドライブ2224、DVD-ROM2201、またはICカードのような記録媒体内に提供される送信バッファ処理領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、またはネットワークから受信された受信データを記録媒体上に提供される受信バッファ処理領域等に書き込む。
また、CPU2212は、ハードディスクドライブ2224、DVD-ROMドライブ2226(DVD-ROM2201)、ICカード等のような外部記録媒体に格納されたファイルまたはデータベースの全部または必要な部分がRAM2214に読み取られるようにし、RAM2214上のデータに対し様々なタイプの処理を実行してよい。CPU2212は次に、処理されたデータを外部記録媒体にライトバックする。
様々なタイプのプログラム、データ、テーブル、およびデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU2212は、RAM2214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプの操作、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM2214に対しライトバックする。また、CPU2212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU2212は、第1の属性の属性値が指定される、条件に一致するエントリを当該複数のエントリの中から検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
上で説明したプログラムまたはソフトウェアモジュールは、コンピュータ2200上またはコンピュータ2200近傍のコンピュータ可読媒体に格納されてよい。また、専用通信ネットワークまたはインターネットに接続されたサーバーシステム内に提供されるハードディスクまたはRAMのような記録媒体が、コンピュータ可読媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ2200に提供する。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
10 通信システム
20 送信装置
30 受信装置
40 通信路
600 受信部
610 パルス検出部
615 同期パルス検出部
620 ステータスパルス検出部
625 データパルス検出部
630 CRCパルス検出部
635 ポーズパルス検出部
650 第1データ取得部
660 第2データ取得部
670 エラー検出部
900 送信データ取得部
910 メッセージ生成部
920 送信部

Claims (11)

  1. 予め定められたパルス幅の同期パルス第1データの値に応じたパルス幅を有する第1データパルス、および第2データの部分データの値に応じたパルス幅を有する第2データパルスを含むメッセージを受信する受信部と、
    前記同期パルスの後に連続する、前記同期パルスではないパルスの数が予め定められた個数範囲内ではないことに応じてエラーを検出するエラー検出部と
    複数の前記メッセージを含むメッセージ群から、前記メッセージ群のそれぞれの前記メッセージに含まれる前記第2データパルスに分割してエンコードされた第2データを取得するデータ取得部と
    を備える受信装置。
  2. 前記エラー検出部は、前記同期パルスの後に連続する、前記同期パルスではないパルスの数が予め定められた上限個数を超えたことに応じてエラーを検出する請求項1に記載の受信装置。
  3. 前記エラー検出部は、前記同期パルス間の前記同期パルスではないパルスの数が予め定められた下限個数未満でとなったことに応じてエラーを検出する請求項1または2に記載の受信装置。
  4. 前記予め定められたパルス幅を含む予め定められた同期パルス許容幅範囲内のパルス幅を有するパルスを前記同期パルスとして検出する同期パルス検出部を更に備える請求項1から3のいずれか一項に記載の受信装置。
  5. 前記エラー検出部は、前記第1データパルスのパルス幅が予め定められたデータパルス許容幅範囲外であることに応じてエラーを検出する請求項1から4のいずれか一項に記載の受信装置。
  6. 前記データ取得部は、前記メッセージ群から、前記メッセージ群に含まれる各メッセージの前記第2データパルスによって表される部分データの未定義フィールドにエンコードされたエラー検出用情報を更に取得し、
    前記エラー検出部は、前記エラー検出用情報に基づいて、前記メッセージ群内の各メッセージのエラーを検出する請求項1から5のいずれか一項に記載の受信装置。
  7. 前記データ取得部は、第1の前記メッセージ群に含まれる第1のメッセージのエラーが検出されたことに応じて、前記第1のメッセージ群から取得する第2データを、第2の前記メッセージ群中の前記第1のメッセージに対応する第2の前記メッセージの前記第2データパルスが示す部分データにより補う請求項1から6のいずれか一項に記載の受信装置。
  8. 予め定められたパルス幅の同期パルス第1データの値に応じたパルス幅を有する第1データパルス、および第2データの部分データの値に応じたパルス幅を有する第2データパルスを含むメッセージを受信する受信部と、
    前記第1データパルスのパルス幅が予め定められたデータパルス許容幅範囲外であることに応じてエラーを検出するエラー検出部と
    複数の前記メッセージを含むメッセージ群から、前記メッセージ群のそれぞれの前記メッセージに含まれる前記第2データパルスに分割してエンコードされた第2データを取得するデータ取得部と
    を備える受信装置。
  9. 前記予め定められたパルス幅を含む予め定められた同期パルス許容幅範囲内のパルス幅を有するパルスを前記同期パルスとして検出する同期パルス検出部と、
    前記同期パルスを基準として予め定められたパルス位置にあるパルスを前記第1データパルスとして検出するデータパルス検出部と
    を更に備える請求項に記載の受信装置。
  10. コンピュータにより実行され、前記コンピュータを、
    予め定められたパルス幅の同期パルス第1データの値に応じたパルス幅を有する第1データパルス、および第2データの部分データの値に応じたパルス幅を有する第2データパルスを含むメッセージを受信する受信部と、
    前記同期パルスの後に連続する、前記同期パルスではないパルスの数が予め定められた個数範囲内ではないことに応じてエラーを検出するエラー検出部と
    複数の前記メッセージを含むメッセージ群から、前記メッセージ群のそれぞれの前記メッセージに含まれる前記第2データパルスに分割してエンコードされた第2データを取得するデータ取得部と
    して機能させる受信プログラム。
  11. コンピュータにより実行され、前記コンピュータを、
    予め定められたパルス幅の同期パルス第1データの値に応じたパルス幅を有する第1データパルス、および第2データの部分データの値に応じたパルス幅を有する第2データパルスを含むメッセージを受信する受信部と、
    前記第1データパルスのパルス幅が予め定められたデータパルス許容幅範囲外であることに応じてエラーを検出するエラー検出部と
    複数の前記メッセージを含むメッセージ群から、前記メッセージ群のそれぞれの前記メッセージに含まれる前記第2データパルスに分割してエンコードされた第2データを取得するデータ取得部と
    して機能させる受信プログラム。
JP2018108003A 2018-06-05 2018-06-05 送信装置、送信プログラム、受信装置、および受信プログラム Active JP7139697B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018108003A JP7139697B2 (ja) 2018-06-05 2018-06-05 送信装置、送信プログラム、受信装置、および受信プログラム
US16/383,693 US10951327B2 (en) 2018-06-05 2019-04-15 Transmission apparatus and receiving apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018108003A JP7139697B2 (ja) 2018-06-05 2018-06-05 送信装置、送信プログラム、受信装置、および受信プログラム

Publications (3)

Publication Number Publication Date
JP2019213063A JP2019213063A (ja) 2019-12-12
JP2019213063A5 JP2019213063A5 (ja) 2020-11-19
JP7139697B2 true JP7139697B2 (ja) 2022-09-21

Family

ID=68693168

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018108003A Active JP7139697B2 (ja) 2018-06-05 2018-06-05 送信装置、送信プログラム、受信装置、および受信プログラム

Country Status (2)

Country Link
US (1) US10951327B2 (ja)
JP (1) JP7139697B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7205103B2 (ja) * 2018-08-08 2023-01-17 富士電機株式会社 受信装置、受信方法、および受信プログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140254731A1 (en) 2013-03-08 2014-09-11 Microchip Technology Incorporated Dithering Circuit for Serial Data Transmission

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3063376B2 (ja) * 1992-04-16 2000-07-12 株式会社デンソー Pwm信号通信装置
JP4955485B2 (ja) * 2007-08-28 2012-06-20 ルネサスエレクトロニクス株式会社 水平同期検出装置
US8290094B2 (en) * 2010-01-18 2012-10-16 Infineon Technologies Ag Methods and systems for measuring data pulses
US8447004B2 (en) * 2011-01-27 2013-05-21 Freescale Semiconductor, Inc. Estimation and compensation of clock variation in received signal
US8645020B2 (en) * 2012-06-21 2014-02-04 Freescale Semiconductor, Inc. Channel diagnostic system for sent receiver
JP5974997B2 (ja) 2013-08-28 2016-08-23 株式会社デンソー 電子制御システム
US9634715B2 (en) * 2014-02-18 2017-04-25 Allegro Microsystems, Llc Signaling between master and slave components using a shared communication node of the master component
US9172565B2 (en) * 2014-02-18 2015-10-27 Allegro Microsystems, Llc Signaling between master and slave components using a shared communication node of the master component
KR102253167B1 (ko) * 2015-01-29 2021-05-18 현대모비스 주식회사 자동차 및 센서 데이터의 동기화 방법
DE102016125044B4 (de) * 2016-12-20 2018-11-15 Infineon Technologies Ag Sensorsteuerung, Sensorsignalempfänger und Sensorsystem

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140254731A1 (en) 2013-03-08 2014-09-11 Microchip Technology Incorporated Dithering Circuit for Serial Data Transmission

Also Published As

Publication number Publication date
JP2019213063A (ja) 2019-12-12
US20190372680A1 (en) 2019-12-05
US10951327B2 (en) 2021-03-16

Similar Documents

Publication Publication Date Title
JP4942756B2 (ja) 故障検出装置、故障検出方法、および故障検出プログラム
US20110296198A1 (en) Cryptographic processing apparatus and ic card
US10594440B2 (en) SPC sensor interface with partial parity protection
US5537421A (en) Single chip error processor
US10999095B2 (en) Communication method
JP7139697B2 (ja) 送信装置、送信プログラム、受信装置、および受信プログラム
JP2020526072A5 (ja)
JP7205103B2 (ja) 受信装置、受信方法、および受信プログラム
CN103891194A (zh) 测量值传输设备
US9720037B2 (en) Debug circuit, semiconductor device, and debug method
KR101449360B1 (ko) 원전제어시스템 및 그 구동방법
KR102237747B1 (ko) 반도체 장치
US8290729B2 (en) Low voltage differential signaling timing test system and method
CN104898985A (zh) 存储装置、控制器以及数据写入方法
KR100856400B1 (ko) 동기 코드 복구 회로 및 그 방법
KR102152535B1 (ko) 광 신호 통신 방법 및 장치
JP5589995B2 (ja) 情報処理装置
JP2011120059A (ja) クロック異常検知システム
JP2011061525A (ja) マンチェスタ符号を用いた調歩同期通信に基づく受信器及び半導体装置
US10771095B2 (en) Data processing device, data processing method, and computer readable medium
CN105550058A (zh) 数据输出方法
CN110336646B (zh) 一种适用于leu的dbpl码回采设备及方法
KR101950945B1 (ko) 모션 캡쳐 시스템의 모션 영상 생성 장치 및 그 방법
JPH09204317A (ja) 誤り検出訂正回路の診断装置
JP2014192788A (ja) リモコン装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201005

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210514

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220428

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220822

R150 Certificate of patent or registration of utility model

Ref document number: 7139697

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150