JP2021086325A - シリアル通信方法及びシリアル通信システム - Google Patents

シリアル通信方法及びシリアル通信システム Download PDF

Info

Publication number
JP2021086325A
JP2021086325A JP2019213782A JP2019213782A JP2021086325A JP 2021086325 A JP2021086325 A JP 2021086325A JP 2019213782 A JP2019213782 A JP 2019213782A JP 2019213782 A JP2019213782 A JP 2019213782A JP 2021086325 A JP2021086325 A JP 2021086325A
Authority
JP
Japan
Prior art keywords
controller
serial communication
command
data
release
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
JP2019213782A
Other languages
English (en)
Other versions
JP7324455B2 (ja
Inventor
裕史 丸山
Yasushi Maruyama
裕史 丸山
功 加々谷
Isao Kagatani
功 加々谷
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.)
Yamaha Motor Co Ltd
Tamagawa Seiki Co Ltd
Original Assignee
Yamaha Motor Co Ltd
Tamagawa Seiki 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 Yamaha Motor Co Ltd, Tamagawa Seiki Co Ltd filed Critical Yamaha Motor Co Ltd
Priority to JP2019213782A priority Critical patent/JP7324455B2/ja
Publication of JP2021086325A publication Critical patent/JP2021086325A/ja
Application granted granted Critical
Publication of JP7324455B2 publication Critical patent/JP7324455B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Abstract

【課題】コントローラからのコマンドに基づいて、センシングデバイスにおいてデータの保持と解除とを任意のタイミングで行う。【解決手段】シリアル通信機能を有するコントローラ(10)と、シリアル通信機能を有する1以上のセンシングデバイス(20)とを有し、コントローラ(10)は、センシングデバイス(20)に対して、検知したデータの保持を指示するラッチコマンドと、検知したデータの保持の解除を指示するリリースコマンドとをセンシングデバイス(20)に対して送信し、センシングデバイス(20)は、ラッチコマンドに応じて検知したデータを保持し、リリースコマンドに応じて検知したデータの保持を解除する。【選択図】図2

Description

この発明は、シリアル通信方法及びシリアル通信システムに関し、特に、マスタデバイスからスレーブデバイスに対してラッチとリリースとを命じるシリアル通信方法及びシリアル通信システムに関する。
マスタデバイスとスレーブデバイスとの間、具体的には、コントローラとセンシングデバイスとの間で、シリアル通信によりコマンドとデータとを授受することが一般的に行われている。このような構成のシリアル通信システムは、特許文献1及び非特許文献1に記載されている。
特開2004−317261号公報
「ロータリーエンコーダ FA-CORDER(R)」(カタログ番号:T12-1228N58)、多摩川精機株式会社、2018年9月発行
センシングデバイスからデータを確実に取得するため、あるタイミングでデータを保持し、保持したデータを取得する手法が存在する。また、保持したデータを二度読みして、二度読みの結果が一致するデータを採用する手法が存在している。このデータの保持はラッチと呼ばれ、データの保持を解除することはリリースと呼ばれている。
上記特許文献1には、単一のコントローラにバスを通じて複数のセンシングデバイスが接続されたシングルマスタ/マルチスレーブ接続システムにおける、シングルマスタ/マルチスレーブ通信の技術が開示されている。しかし、センシングデバイスにおいてデータのラッチ(保持)/リリース(保持の解除)を実行する機能については言及されていない。
上記非特許文献1には、単一のコントローラにバスを通じて単一のセンシングデバイスが接続されたシングルマスタ/シングルスレーブ接続システムにおける、シングルマスタ/シングルスレーブ通信の技術が開示されている。しかし、センシングデバイスにおいてデータのラッチ(保持)/リリース(保持の解除)を実行する機能については言及されていない。
従って、シングルマスタ/シングルスレーブ接続システムにおけるシリアル通信システムと、シングルマスタ/マルチスレーブ接続システムにおけるシリアル通信システムとのいずれであっても、任意のタイミングでデータのラッチとリリースとを行えることが望まれている。
本発明は、コントローラからのコマンドに基づいて、センシングデバイスにおいてデータの保持と解除とを任意のタイミングで行うことが可能なシリアル通信方法及びシリアル通信システムを提供することを目的とする。
(1)この発明に係るシリアル通信方法及びシリアル通信システムは、シリアル通信機能を有するコントローラと、シリアル通信機能を有する1以上のセンシングデバイスとの間で、通信フォーマットに従ってシリアル通信を行う際に、コントローラは、センシングデバイスに対して検知したデータの保持を指示するラッチコマンドと、センシングデバイスに対して検知したデータの保持の解除を指示するリリースコマンドとを通信フォーマット中に含めて、センシングデバイスに対して送信し、センシングデバイスは、コントローラからのラッチコマンドに応じ、検知したデータを保持し、コントローラからのリリースコマンドに応じ、検知したデータの保持を解除する。
(2)この発明に係るシリアル通信方法及びシリアル通信システムにおいて、センシングデバイスは、コントローラからのラッチコマンドに応じ、保持の指示を受け付けたことを示すコマンドをコントローラに対して送信し、コントローラからのリリースコマンドに応じ、保持の解除の指示を受け付けたことを示すコマンドをコントローラに対して送信する。
(3)この発明に係るシリアル通信方法及びシリアル通信システムにおいて、コントローラは、センシングデバイスに対して状態を問い合わせる問い合わせコマンドを通信フォーマット中に含めて、センシングデバイスに対して送信し、センシングデバイスは、コントローラからの問い合わせコマンドに応じ、データを保持していることを示すコマンド、または、保持を解除したことを示すコマンドをコントローラに対して送信する。
(4)この発明に係るシリアル通信方法及びシリアル通信システムにおいて、コントローラは、センシングデバイスに対してラッチコマンドとリリースコマンドとを送信する際に、センシングデバイスのいずれかを指定するセンシングデバイスIDを含め、センシングデバイスIDにより指定されたセンシングデバイスは、コントローラからのラッチコマンドに応じ、検知したデータを保持し、コントローラからのリリースコマンドに応じ、検知したデータの保持を解除する。指定されていないセンシングデバイスIDであっても、コントローラから全センシングデバイスを指定したラッチコマンドまたはリリースコマンドが送信された場合、全てのセンシングデバイスは、検知したデータをラッチコマンドに応じて保持し、検知したデータの保持をリリースコマンドに応じて解除する。
(5)この発明に係るシリアル通信方法及びシリアル通信システムにおいて、コントローラがマスタデバイス、センシングデバイスがスレーブデバイスであり、マスタデバイスとスレーブデバイスとの間でシリアル通信を行う。
(6)この発明に係るシリアル通信方法及びシリアル通信システムにおいて、センシングデバイスは、コントローラからのリクエストに応じ、保持したデータを前記コントローラに対して送信する。
この発明に係るシリアル通信方法及びシリアル通信システムによれば、コントローラは、ラッチコマンドとリリースコマンドとを通信フォーマット中に含めてセンシングデバイスに対して送信し、センシングデバイスは、ラッチコマンドに応じて検知したデータを保持し、リリースコマンドに応じて検知したデータの保持を解除するため、任意のタイミングで、コントローラからのコマンドに基づいて、センシングデバイスにおいてデータの保持と解除とを行うことが可能になる。
本発明の実施の形態1におけるシリアル通信システムの構成を示す構成図である。 本発明の実施の形態1におけるシリアル通信システムの構成を示す構成図である。 本発明の実施の形態1におけるシリアル通信システムの通信フォーマットを示すタイミングチャートである。 本発明の実施の形態1におけるシリアル通信システムの通信フォーマットの内容の一例を示す説明図である。 本発明の実施の形態1におけるシリアル通信システムの通信フォーマットを示すタイミングチャートである。 本発明の実施の形態1におけるシリアル通信システムの通信フォーマットの内容の一例を示す説明図である。 本発明の実施の形態1におけるシリアル通信システムで用いられる通信フォーマット中のコントロールフィールドのフォーマットを示す説明図である。 本発明の実施の形態1におけるシリアル通信システムで用いられる通信フォーマット中のコントロールフィールドの内容を示す説明図である。 本発明の実施の形態1におけるシリアル通信システムの通信フォーマットを示すタイミングチャートである。 本発明の実施の形態1におけるシリアル通信システムの通信フォーマットの内容の一例を示す説明図である。 本発明の実施の形態1におけるシリアル通信システムの通信フォーマットを示すタイミングチャートである。 本発明の実施の形態1におけるシリアル通信システムの通信フォーマットの内容の一例を示す説明図である。 本発明の実施の形態1におけるシリアル通信システムで用いられる通信フォーマット中のコマンドコードフィールドのフォーマットを示す説明図である。 本発明の実施の形態1におけるシリアル通信システムで用いられる通信フォーマット中のコマンドコードフィールドの内容を示す説明図である。 本発明の実施の形態1におけるシリアル通信システムで用いられる通信フォーマット中のコマンドコードの割り当てを示す説明図である。 本発明の実施の形態1におけるシリアル通信システムの通信手順を示すシーケンス図である。
以下、本発明のシリアル通信システムの実施の形態について、図面を用いて説明する。なお、各図において、同一部分には同一符号を付している。
実施の形態1.
はじめに、本発明の実施の形態1において、シリアル通信方法を実行するシリアル通信システムの基本的な構成について、図1を参照して説明する。
[シリアル通信システム1Aの構成]
図1は、本発明の実施の形態1におけるシリアル通信システム1Aの構成を示す構成図である。図1において、シリアル通信方法を実行するシリアル通信システム1Aは、コントローラ10と、デバイス20と、通信ライン30Aとを備えている。コントローラ10はマスタデバイス、デバイス20はスレーブデバイスとして、通信ライン30Aを通して通信可能に接続されている。
ここで、図1に示すシリアル通信システム1Aは、単一のコントローラ10に対して、通信ライン30Aを通して単一のデバイス20が接続されており、シングルマスタ/シングルスレーブ接続のシリアル通信システムを構成している。
シングルマスタ/シングルスレーブ接続のシリアル通信システム1Aにおいて、コントローラ10とデバイス20との間で、シングルマスタ/シングルスレーブ通信が行われる。すなわち、マスタデバイスであるコントローラ10とスレーブデバイスであるデバイス20との間で、シリアル通信によりコマンドとデータとが送受信される。
コントローラ10は、シリアル通信機能を備えており、シリアル通信によりデバイス20からデータを読み出す制御部である。デバイス20は、シリアル通信機能を備えたセンシングデバイスであり、例えば、制御対象から検知したデータをシリアル通信により出力するセンシングデバイスに該当する。
通信ライン30Aは、電源Vccを供給する信号線と、グランドGNDの電位を保つ信号線と、一対の差動伝送信号SD+/SD−を伝送する信号線とによって構成されている。
電源Vccは、信号線を通してコントローラ10からデバイス20に供給される。差動伝送信号SD+/SD−は、信号線を通して双方向に伝送されるものであり、コントローラ10からデバイス20に向けて送信される場合と、デバイス20からコントローラ10に向けて送信される場合とがある。
[シリアル通信システム1Bの構成]
次に、本発明の実施の形態1において、シリアル通信方法を実行するシリアル通信システム1Bの基本的な構成について、図2を参照して説明する。図2は、本発明の実施の形態1におけるシリアル通信システム1Bの構成を示す構成図である。
図2において、シリアル通信システム1Bは、主に、コントローラ10と、デバイス20と、バス通信ライン30Bとを備えている。コントローラ10はマスタデバイス、デバイス20はスレーブデバイスとして、バス通信ライン30Bを通して通信可能に接続されている。スレーブデバイスとしてのデバイス20は、複数のデバイス20_1、デバイス20_2、…、デバイス20_nを備えて構成される。
ここで、図2に示すシリアル通信システム1Bは、単一のコントローラ10に対して、複数のデバイス20、すなわち、デバイス20_1、デバイス20_2、…、デバイス20_nが、バス通信ライン30Bを通して並列に接続されている。これにより、シングルマスタ/マルチスレーブ接続のシリアル通信システムが構成されている。
シングルマスタ/マルチスレーブ接続のシリアル通信システム1Bにおいて、コントローラ10とデバイス20との間で、シングルマスタ/マルチスレーブ通信が行われる。すなわち、マスタデバイスであるコントローラ10とスレーブデバイスである複数のデバイス20_1〜デバイス20_nのうちのいずれかのデバイス20_iとの間で、シリアル通信によりコマンドとデータとを送受信される。
複数のデバイス20_1、デバイス20_2、…、デバイス20_nを識別するため、後述するデバイスIDがそれぞれ付与されている。このデバイスIDは、1,2,3,…,nといった順番に従った番号でもよいし、製品の製造番号の全部または一部、ネットワークアドレス、あるいは任意に設定された番号であってもよい。
コントローラ10は、このデバイスIDによって、複数のデバイス20_1、デバイス20_2、…、デバイス20_nを識別し、いずれかまたは全てを指定することができる。複数のデバイス20_1、デバイス20_2、…、デバイス20_n側は、このデバイスIDによって、コントローラ10からの各種指示が自分宛か否かを判別することができる。
[通信フォーマットの説明(1)]
次に、本発明の実施の形態1のシリアル通信システム1Aにおいて実行されるシリアル通信方法の通信フォーマットを図3及び図4を参照して説明する。また、本発明の実施の形態1のシリアル通信システム1Bにおいて実行されるシリアル通信方法の通信フォーマットについて図5及び図6を参照して説明する。
図3は、本発明の実施の形態1におけるシリアル通信システム1Aの通信フォーマットを示すタイミングチャートである。図4は、本発明の実施の形態1におけるシリアル通信システム1Aの通信フォーマットの内容の一例を示す説明図である。
まず、シングルマスタ/シングルスレーブ接続のシリアル通信システム1Aにおける通信の様子を、図3を参照して説明する。図3の(a)は、シングルマスタ/シングルスレーブ接続のシリアル通信システム1Aにおける、コントローラ10からデバイス20に対するリクエストの送信を示している。ここで、コントローラ10が送信するリクエストとは、後述するように、デバイス20に対するデータの要求を意味する。
コントローラ10は、先行するデータフレームの最終部分から1データフレーム分以上のアイドル状態が存在するか否かを監視しており、先行するデータフレームの最終部分から1データフレーム分以上のアイドル状態が継続した後に、コントロールフィールドCFをリクエストとしてデバイス20に対して送信する。なお、1データフレームとは、デバイス20からコントローラ10に向けて送信される一連のデータの単位である。
図3の(b)は、シングルマスタ/シングルスレーブ接続のシリアル通信システム1Aにおける、デバイス20がコントローラ10に向けて送信するデータの通信フォーマットを示している。
デバイス20は、1データフレーム分以上のアイドル状態が継続した後に、リクエストとしてコントロールフィールドCFが送られてくることで、通信開始であると判断する。これにより、デバイス20は、他の通信に対して誤って通信開始と判断することを回避している。
デバイス20は、コントローラ10からコントロールフィールドCFがリクエストとして送られてくると、通信フォーマットに従ってコントローラ10に対して、シリアル通信によりデータを送信する。デバイス20は、センシングデバイスであり、制御対象から検知したデータをコントローラ10に対して送信する。
デバイス20は、図3の(b)に示されるように、通信フォーマットに従い、コントロールフィールドCF、ステータスフィールドSF、データフィールドDF0〜DFn、及び検査フィールドCRCが含まれる一連のデータをコントローラ10へ送信する。
図4は、図3の(a)及び(b)のタイミングチャートに示されるデータの各フィールドの内容を示している。コントロールフィールドCFは、通信相手方へのコマンド情報である。ステータスフィールドSFは、デバイスの状態識別情報である。データフィールドDF0〜DFnは、データIDに割り振られた情報である。検査フィールドCRCは、CRCフィールド以外の全てのフィールドのスタートビットとデリミッタとを除く全てのビットに対するCRC(Cyclic Redundancy Check:巡回冗長検査)による誤り検査情報である。
次に、シングルマスタ/マルチスレーブ接続のシリアル通信システム1Bにおける、通信の様子を説明する。
図5の(a)は、シングルマスタ/マルチスレーブ接続のシリアル通信システム1Bにおける、コントローラ10から複数のデバイス20_1〜デバイス20_nのうちのいずれかに対するリクエストの送信を示している。ここで、コントローラ10が送信するリクエストとは、デバイス20に対するデータの要求を意味する。
コントローラ10は、上述した説明と同様に、先行するデータフレームの最終部分から1データフレーム分以上のアイドル状態が継続した後に、コントロールフィールドCFとデバイスIDフィールドIDFを、複数のデバイス20_1〜デバイス20_nのうちのいずれかのデバイス20_iへのリクエストとして送信する。
図5の(b)は、シングルマスタ/マルチスレーブ接続のシリアル通信システム1Bにおける、デバイス20がコントローラ10に向けて送信するデータの通信フォーマットを示している。
複数のデバイス20_1〜デバイス20_nは、1データフレーム分以上のアイドル状態が継続した後に、リクエストとしてコントロールフィールドCFとデバイスIDフィールドIDFとが送られてくることで、通信開始であると判断する。
複数のデバイス20_1〜デバイス20_nは、コントローラ10からコントロールフィールドCFとデバイスIDフィールドIDFとがリクエストとして送られてくると、コントロールフィールドCFの内容とデバイスIDフィールドIDFの内容とに応じて、自分宛のリクエストであるかを判別する。
コントローラ10からのリクエストが自分宛であると判別したデバイス20_iは、データを通信フォーマットに従ってコントローラ10に対してシリアル通信によりデータを送信する。デバイス20_iはセンシングデバイスであり、制御対象から検知したデータをコントローラ10に対して送信する。
デバイス20_iは、図5の(b)に示されるように、通信フォーマットに従い、コントロールフィールドCF、デバイスIDフィールドIDF、ステータスフィールドSF、データフィールドDF0〜DFn、及び検査フィールドCRCが含まれる一連のデータをコントローラ10へ送信する。
以上の図5の(a)及び(b)のタイミングチャートに示されるデータの各フィールドの内容を、図6を参照して説明する。図6は、本発明の実施の形態1におけるシリアル通信システム1Bの通信フォーマットの内容の一例を示す説明図である。図6は、図4に示したものと異なり、複数のデバイスを識別するデバイスID(identification)の情報であるデバイスIDフィールドIDFを更に有している。
次に、本発明の実施の形態1におけるシリアル通信で用いられる通信フォーマット中のコントロールフィールドCFについて、図7と図8を参照して説明する。
図7は、本発明の実施の形態1におけるシリアル通信システム1A及び1Bで用いられる通信フォーマット中のコントロールフィールドCFのフォーマットを示す説明図である。コントロールフィールドCFは、スタートビット、SYNC(Synchronous)コードのビット、データIDコードのビット、データIDパリティのビット、及びデリミッタのビットが含まれている。
図8は、本発明の実施の形態1におけるシリアル通信システム1A及び1Bで用いられる通信フォーマット中のコントロールフィールドCFの各ビットの内容を示す説明図である。
スタートビットは、開始位置を示すビットであり、例えば、“0”に固定されている。SYNCコードは、同期に用いられる予め定められたコードであり、“0”と“1”を所定回数繰り返す。この実施の形態1において、SYNCコードは、シングルマスタ/シングルスレーブ通信を行う場合は第1のSYNCコード“010”、シングルマスタ/マルチスレーブ通信を行う場合は第2のSYNCコード“101”が割り当てられる。
データIDコードは、通信内容を選択するため、通信データや動作命令を割り当てられたコードである。データIDコードには、データを保持するラッチ、及び、ラッチを解除するリリースを実行するため、ラッチ/リリース制御実行IDを割り当てておくことができる。データIDパリティは、データIDコードに対するパリティチェックのビットである。デリミッタは、終了位置を示すビットであり、例えば、“1”に固定されている。
以上のコントロールフィールドCF中SYNCコードによって、シリアル通信システム1A及び1Bにおいて、シングルマスタ/シングルスレーブ通信とシングルマスタ/マルチスレーブ通信のどちらを行うかが決定される。また、SYNCコードは、“010”と“101”のいずれであっても、本来の同期の用途にも使用される。
シングルマスタ/シングルスレーブ通信において、デバイス20は、コントロールフィールドCFを受信した後、データIDコードに応じたデータの返信または各種の動作を実行する。
シングルマスタ/マルチスレーブ通信において、コントロールフィールドCFに続いてデバイスIDフィールドIDFがコントローラ10から送信されると、該当するデバイスIDを有するデバイス20_iは、データIDコードに応じたデータの返信または各種の動作を実行する。
[通信フォーマットの説明(2)]
次に、コントローラ10からの指示により、デバイス20においてデータのラッチとリリースとを実行するコマンドを含む通信フォーマットを、図9〜図12を参照して説明する。なお、ラッチとは、フリップフロップ回路におけるラッチだけでなく、各種の回路においてデータを保持することを意味する。リリースとは、各種の回路においてラッチによるデータの保持を解除することを意味する。
図9は、本発明の実施の形態1におけるシリアル通信システム1Aの通信フォーマットを示すタイミングチャートである。図10は、本発明の実施の形態1におけるシリアル通信システム1Aの通信フォーマットの内容の一例を示す説明図である。図9及び図10において、既に説明した図3及び図4と同一物には同一番号を付すことで重複した説明を省略し、図3及び図4とは異なる部分を中心に説明する。
まず、シングルマスタ/シングルスレーブ接続のシリアル通信システム1Aにおける、ラッチとリリースのコマンドを含む通信の様子を、図9を参照して説明する。
コントローラ10は、図9の(a)に示すように、先行するデータフレームの最終部分から1データフレーム分以上のアイドル状態が継続した後に、コントロールフィールドCF、コマンドコードフィールドCCF、及び検査フィールドCRCが含まれる一連のデータを、デバイス20に対して送信する。
デバイス20は、コントロールフィールドCF、コマンドコードフィールドCCF、及び検査フィールドCRCが含まれる一連のデータがコントローラ10から送られてくることで、通信開始であると判断する。デバイス20は、図9の(b)に示されるように、通信フォーマットに従い、コントロールフィールドCF、ステータスフィールドSF、コマンドコードフィールドCCF、及び検査フィールドCRCが含まれる一連のデータをコントローラ10へ送信する。
図10は、図9の(a)及び(b)のタイミングチャートに示されるデータの各フィールドの内容を示している。コントロールフィールドCFは、通信相手方へのコマンド情報である。ステータスフィールドSFは、デバイスの状態識別情報である。コマンドコードフィールドCCFは、ラッチまたはリリースに関する命令、受け付けを示すコマンドコードである。検査フィールドCRCは、CRCフィールド以外の全てのフィールドのスタートビットとデリミッタとを除く全てのビットに対するCRC(Cyclic Redundancy Check:巡回冗長検査)による誤り検査情報である。
コントローラ10は、コントロールフィールドCF中のデータIDコードに、デバイス20に対してラッチ/リリース制御の実行を指示するコマンド情報を含めることができる。コントローラ10は、更に、コマンドコードフィールドCCF中のデータに、ラッチ/リリース関連のコマンドコードとして、ラッチ実行、リリース実行、を指示するコマンドコードを含めることができる。
デバイス20は、コントローラ10からのコントロールフィールドCFがラッチ/リリース制御の実行を指示するコマンド情報であり、かつ、コマンドコードフィールドCCF中にラッチ/リリース関連のコマンドコードが含まれる場合、図9の(b)に示されるように、通信フォーマットに従い、コントロールフィールドCF、ステータスフィールドSF、コマンドコードフィールドCCF、及び検査フィールドCRCが含まれる一連のデータをコントローラ10へ送信する。
デバイス20は、以上のコントローラ10への送信の際に、コントローラ10から指示されたラッチまたはリリースを受け付けたことを示すコマンドコードをコマンドコードフィールドCCF中に含めるようにする。そして、デバイス20は、コントローラ10から指示されたラッチまたはリリースを実行する。
次に、シングルマスタ/マルチスレーブ接続のシリアル通信システム1Bにおける、ラッチとリリースのコマンドを含む通信の様子を、図11を参照して説明する。図11は、本発明の実施の形態1におけるシリアル通信システム1Bの通信フォーマットを示すタイミングチャートである。
コントローラ10は、図11の(a)に示すように、先行するデータフレームの最終部分から1データフレーム分以上のアイドル状態が継続した後に、コントロールフィールドCF、デバイスIDフィールドIDF、コマンドコードフィールドCCF、及び検査フィールドCRCが含まれる一連のデータを、複数のデバイス20_1〜デバイス20_nのうちのいずれかのデバイス20_iに対して送信する。
複数のデバイス20_1〜デバイス20_nは、コントロールフィールドCF、デバイスIDフィールドIDF、コマンドコードフィールドCCF、及び検査フィールドCRCが含まれる一連のデータがコントローラ10から送られてくることで、通信開始であると判断する。
複数のデバイス20_1〜デバイス20_nは、コントロールフィールドCFの内容とデバイスIDフィールドIDFの内容とに応じて、自分宛のリクエストであるかを判別する。デバイスIDフィールドIDFによって指定されたデバイスに該当すると判別したデバイス20_iは、図11の(b)に示されるように、通信フォーマットに従い、コントロールフィールドCF、デバイスIDフィールドIDF、ステータスフィールドSF、コマンドコードフィールドCCF、及び検査フィールドCRCが含まれる一連のデータをコントローラ10へ送信する。
以上の図11の(a)及び(b)のタイミングチャートに示されるデータの各フィールドの内容について、図12を参照して説明する。図12は、本発明の実施の形態1におけるシリアル通信システム1Bの通信フォーマットの内容の一例を示す説明図である。図12は、図10に示したものと異なり、複数のデバイスを識別するデバイスIDの情報であるデバイスIDフィールドIDFを有している。
コントローラ10は、コントロールフィールドCF中のデータIDコードに、デバイス20_iに対してラッチ/リリース制御の実行を指示するコマンド情報を含めることができる。そして、コントローラ10は、更に、デバイスIDフィールドIDFにラッチ/リリース制御の実行を指示するデバイスのIDを含め、コマンドコードフィールドCCFにラッチ/リリース関連のコマンドコードを含めることができる。ここで、ラッチ関連のコマンドコードとは、ラッチ実行、ラッチ実行の対象デバイス、リリース実行、リリース実行の対象デバイス、を指示するコマンドコードである。
デバイス20_iは、コントローラ10からのコントロールフィールドCFがラッチ/リリース制御の実行を指示するコマンド情報であり、コマンドコードフィールドCCF中のデータにラッチ/リリース関連のコマンドコードが含まれ、かつ、デバイスIDフィールドIDFによりラッチ/リリース制御の実行を指示されたデバイスに該当する場合、図11の(b)に示されるように、通信フォーマットに従い、コントロールフィールドCF、ステータスフィールドSF、コマンドコードフィールドCCF、及び検査フィールドCRCが含まれる一連のデータをコントローラ10へ送信する。
デバイス20_iは、デバイスIDフィールドIDFによりラッチ/リリース制御の実行を指示されたデバイスに該当する場合、以上のコントローラ10への送信の際に、コントローラ10から指示されたラッチまたはリリースの受付をしたことを示すコマンドコードをコマンドコードフィールドCCF中に含めるようにする。そして、デバイス20_iは、コントローラ10から指示されたラッチまたはリリースを実行する。
次に、本発明の実施の形態1におけるシリアル通信で用いられる通信フォーマット中のコマンドコードフィールドCCFについて、図13と図14を参照して説明する。図13は、本発明の実施の形態1におけるシリアル通信システム1A及び1Bで用いられる通信フォーマット中のコマンドコードフィールドCCFのフォーマットを示す説明図である。コマンドコードフィールドCCFは、スタートビット、コマンドコードフィールドCCFのビット、及びデリミッタのビットが含まれている。
図14は、本発明の実施の形態1におけるシリアル通信システム1A及び1Bで用いられる通信フォーマット中のコマンドコードフィールドCCFの各ビットの内容を示す説明図である。スタートビットは、開始位置を示すビットであり、例えば、“0”に固定されている。コマンドコードフィールドCCFのビットは、例えば、8ビットであり、0x00〜0xFFの256通りの値をとりうる。デリミッタは、終了位置を示すビットであり、例えば、“1”に固定されている。
次に、本発明の実施の形態1におけるシリアル通信で用いられる通信フォーマット中のコマンドコードフィールドCCFの具体的なコード内容を、図15を参照して説明する。図15は、本発明の実施の形態1におけるシリアル通信システム1A及び1Bで用いられる通信フォーマット中のコマンドコードの割り当てを示す説明図である。
図15に示すコマンドコードの割り当ては、一例として以下の通りである。
コントローラ10からのコマンドコード0x00は、複数のデバイス20_1〜デバイス20_nの全てに対するリリース実行の指示である。
デバイス20側からのコマンドコード0x00は、複数のデバイス20_1〜デバイス20_nの全てに対するリリース実行指示の受付を示している。
コントローラ10からのコマンドコード0x55は、複数のデバイス20_1〜デバイス20_nのうちのいずれかのデバイス20_iに対するリリース実行の指示である。
デバイス20側からのコマンドコード0x55は、複数のデバイス20_1〜デバイス20_nのうちのいずれかのデバイス20_iに対するリリース実行指示の受付を示している。
デバイス20側からのコマンドコード0x5Fは、複数のデバイス20_1〜デバイス20_nのうちのいずれかのデバイス20_iがラッチ中でありデータを保持していることを示しており、特定の問い合わせコマンドコードあるいは未指定のコマンドコードがコントローラ10から送られてきた場合に送信する。
デバイス20側からのコマンドコード0x50は、複数のデバイス20_1〜デバイス20_nのうちのいずれかのデバイス20_iがリリース中であり保持を解除したことを示しており、特定の問い合わせコマンドコードあるいは未指定のコマンドコードがコントローラ10から送られてきた場合に送信する。
コントローラ10からのコマンドコード0xAAは、複数のデバイス20_1〜デバイス20_nのうちのいずれかのデバイス20_iに対するラッチ実行の指示である。
デバイス20側からのコマンドコード0xAAは、複数のデバイス20_1〜デバイス20_nのうちのいずれかのデバイス20_iに対するラッチ実行指示の受付を示している。
コントローラ10からのコマンドコード0xFFは、複数のデバイス20_1〜デバイス20_nの全てに対するラッチ実行の指示である。
デバイス20側からのコマンドコード0xFFは、複数のデバイス20_1〜デバイス20_nの全てに対するラッチ実行指示の受付を示している。
以上の場合において、複数のデバイス20_1〜デバイス20_nの全てに対してラッチまたはリリースの指示が出された場合、全てのデバイス20_1〜デバイス20_nがラッチまたはリリースの指示に応じて動作するが、代表として定められたいずれかのデバイス20_jが受付のコマンドコードをコントローラ10に送信すればよい。
以上の場合において、指定されていないデバイスIDがデバイスIDフィールドIDFにおいて指示され、全てのデバイス20_1〜20_nを指定したラッチコマンドまたはリリースコマンドがコントローラ10から送信された場合、全てのデバイス20_1〜20_nがラッチコマンドまたはリリースコマンドの指示に応じて動作する。
なお、以上のシングルマスタ/マルチスレーブ接続のシリアル通信システム1Bにおけるラッチとリリースのコマンドを含む通信については、シングルマスタ/シングルスレーブのシリアル通信システム1Aに対しても適用することができる。シリアル通信システム1Aの場合は、デバイス20が単一であってデバイスの指定が存在していなため、コントローラ10とデバイス20は図15中のいずれかのコマンドコードを使用すればよい。
[シリアル通信システム1Bにおける通信手順]
次に、本発明の実施の形態1のシリアル通信システム1Bにおいて実行されるシリアル通信方法の通信手順について、図16を参照しながら説明する。図16は、本発明の実施の形態1におけるシリアル通信システム1Bの通信手順を示すシーケンス図である。
ここで、シリアル通信システム1Bは、コントローラ10に対して、複数のデバイス20_1〜デバイス20_nがバス通信ライン30Bを通して並列に接続されている。複数のデバイス20_1〜デバイス20_nは、センシングデバイスであり、制御対象についてのデータをラッチし、検知し、リリースによりラッチを解除することが可能に構成されている。コントローラ10から全てのデバイスに対するラッチまたはリリース実行の指示があった場合、代表デバイスとして定められたデバイス20_aが、受付をコントローラ10に対して送信するように定められている場合を想定する。
まず、コントローラ10は、図16の(a1)に示すように、デバイス20_mに対するラッチ実行の指示を、バス通信ライン30B経由で送信する。
デバイス20_mは、コントローラ10からのラッチ実行の指示を受信すると、図16の(b1)に示すように、指示されたラッチの受付をしたことをコントローラ10へ送信し、指示されたラッチを実行して検知したデータを保持する。
コントローラ10は、ラッチの指示に応じたラッチ受付を受信した後、デバイス20_mに対して、図16の(a2)に示すように、リクエストの指示をバス通信ライン30B経由で送信する。
デバイス20_mは、コントローラ10からのリクエストの指示を受信すると、図16の(b2)に示すように、制御対象から検知したデータをコントローラ10に対して送信する。
コントローラ10は、リクエストに応じてデータを取得した後、図16の(a3)に示すように、デバイス20_mに対するリリース実行の指示を、バス通信ライン30B経由で送信する。
デバイス20_mは、コントローラ10からのリリース実行の指示を受信すると、図16の(b3)に示すように、指示されたリリースの受付をしたことをコントローラ10へ送信し、指示されたリリースを実行してラッチを解除する。
コントローラ10は、図16の(a4)に示すように、複数のデバイス20_1〜デバイス20_nの全てのデバイスに対するラッチ実行の指示を、バス通信ライン30B経由で送信する。
代表デバイスとして定められたデバイス20_aは、コントローラ10からの複数のデバイス20_1〜デバイス20_nの全てのデバイスに対するラッチ実行の指示を受信すると、図16の(b4)に示すように、指示されたラッチの受付をしたことをコントローラ10へ送信し、指示されたラッチを実行して検知したデータを保持する。
また、以上のデバイス20_aのラッチ実行と並行して、デバイス20_a以外の他のデバイスも、コントローラ10からの全てのデバイスに対するラッチ実行の指示を受信し、指示されたラッチを一斉に実行して検知したデータを保持する。
コントローラ10は、全てのデバイスに対するラッチの指示に対して、代表と定められたデバイス20_aからのラッチ受付を受信した後、図16の(a5)に示すように、デバイス20_aに対して、リクエストの指示をバス通信ライン30B経由で送信する。
デバイス20_aは、コントローラ10からのリクエストの指示を受信すると、図16の(b5)に示すように、検知したデータをコントローラ10に対して送信する。
コントローラ10は、デバイス20_aからデータを受信した後、図16の(a6)に示すように、デバイス20_bに対して、リクエストの指示をバス通信ライン30B経由で送信する。
デバイス20_bは、コントローラ10からのリクエストの指示を受信すると、図16の(b6)に示すように、制御対象から検知したデータをコントローラ10に対して送信する。
コントローラ10は、同様にしてデバイス20_n-1からデータを受信した後、図16の(a7)に示すように、デバイス20_nに対して、リクエストの指示をバス通信ライン30B経由で送信する。
デバイス20_nは、コントローラ10からのリクエストの指示を受信すると、図16の(b7)に示すように、制御対象から検知したデータをコントローラ10に対して送信する。
コントローラ10は、以上のようにして複数のデバイス20_1〜デバイス20_nの全て対してリクエストを送信し、リクエストに応じてデータを受信した後、図16の(a8)に示すように、複数のデバイス20_1〜デバイス20_nの全てに対するリリース実行の指示を、バス通信ライン30B経由で送信する。
代表デバイスとして定められたデバイス20_aは、コントローラ10からの複数のデバイス20_1〜デバイス20_nの全てのデバイスに対するリリース実行の指示を受信すると、図16の(b8)に示すように、指示されたリリースの受付をしたことをコントローラ10へ送信し、指示されたリリースを実行してラッチを解除する。
また、以上のデバイス20_aのリリース実行と並行して、デバイス20_a以外の他のデバイスも、コントローラ10からの全てのデバイスに対するリリース実行の指示を受信し、それぞれ指示されたリリースを一斉に実行してラッチを解除する。
以上の図16のシーケンス図を用いた説明では、複数のデバイス20_1〜デバイス20_nが存在する場合を具体例にしたが、単一のデバイス20の場合であっても、以上の説明と同様に、ラッチ、データ送信、リリースを実行することが可能である。
本実施の形態1によれば、任意のタイミングで、コントローラ10は、ラッチコマンドとリリースコマンドとを通信フォーマット中に含めて複数のデバイス20_1〜デバイス20_nに対して送信し、複数のデバイス20_1〜デバイス20_nは、ラッチコマンドに応じて検知したデータを保持し、リリースコマンドに応じて検知したデータの保持を解除することができる。
このため、任意のタイミングで、コントローラ10からのコマンドに基づいて、複数のデバイス20_1〜デバイス20_nにおいてデータの保持と解除とを行うことが可能になる。
以上のように、複数のデバイス20_1〜デバイス20_nは、コントローラ10からの指示により一斉にラッチを実行し、その後にコントローラ10からの指示によりデータを送信することで、複数のデバイス20_1〜デバイス20_nから送信されたデータは同時性を有する状態になっている。
従って、複数のデバイス20_1〜デバイス20_nで検知されたそれぞれのデータに同時性を必要とするアプリケーションに対して、本実施の形態1を適用することが可能になる。
また、複数のデバイス20_1〜デバイス20_nは、コントローラ10からの指示により一斉にラッチを実行しているため、複数のデバイス20_1〜デバイス20_nにおいてデータを二度読みして一致を確認するアプリケーションに対して、本実施の形態1を適用することが可能になる。
[その他の実施の形態]
以上の実施の形態1のシリアル通信システム1A及び1Bの説明では、通信ライン30Aまたはバス通信ライン30Bにおいて、信号伝送するための2本の対等な信号線を用いたRS485規格の一対のSD+とSD−の差動伝送信号による通信を想定した例として示しているが、本発明はこの内容に限定されるものではない。例えば、本発明の実施の形態1のシリアル通信システム1A及び1BをRS422規格やRS232規格による通信に適用してもよい。また、本発明の実施の形態1のシリアル通信システム1A及び1Bを差動伝送信号によらない通信に適用してもよい。
以上の実施の形態1のシリアル通信方法の説明では、通信フォーマットおよび内部のフィールド構成、ビット構成、及びコマンドコードなどの具体例を説明したが、これらの内容に限定されるものではない。
以上の実施の形態1のシリアル通信方法の説明では、シリアル通信として調歩同期式の通信形態を想定した例を示しているが、この通信形態に限定されるものではない。
以上の実施の形態1のシリアル通信システム1Aにおける図3と図9の説明では、デバイスIDフィールドIDFを省略した状態の通信を示しているが、コントロールフィールドCFの直後にデバイスIDフィールドIDFを付加した状態で通信することが可能である。
1A,1B シリアル通信システム、10 コントローラ、20 デバイス(センシングデバイス)、20_1〜20_n 複数のデバイス(複数のセンシングデバイス)、30A 通信ライン、30B バス通信ライン。

Claims (7)

  1. シリアル通信機能を有するコントローラと、シリアル通信機能を有する1以上のセンシングデバイスとの間で、通信フォーマットに従ってシリアル通信を行うシリアル通信方法であって、
    前記コントローラは、前記センシングデバイスに対して検知したデータの保持を指示するラッチコマンドと、前記センシングデバイスに対して検知したデータの保持の解除を指示するリリースコマンドとを前記通信フォーマット中に含めて、前記センシングデバイスに対して送信し、
    前記センシングデバイスは、
    前記コントローラからの前記ラッチコマンドに応じ、検知した前記データを保持し、
    前記コントローラからの前記リリースコマンドに応じ、検知した前記データの保持を解除する
    シリアル通信方法。
  2. 前記センシングデバイスは、
    前記コントローラからの前記ラッチコマンドに応じ、保持の指示を受け付けたことを示すコマンドを前記コントローラに対して送信し、
    前記コントローラからの前記リリースコマンドに応じ、保持の解除の指示を受け付けたことを示すコマンドを前記コントローラに対して送信する
    請求項1に記載のシリアル通信方法。
  3. 前記コントローラは、前記センシングデバイスに対して状態を問い合わせる問い合わせコマンドを前記通信フォーマット中に含めて、前記センシングデバイスに対して送信し、
    前記センシングデバイスは、前記コントローラからの前記問い合わせコマンドに応じ、前記データを保持していることを示すコマンド、または、保持を解除したことを示すコマンドを前記コントローラに対して送信する
    請求項1または請求項2のいずれか1項に記載のシリアル通信方法。
  4. 前記コントローラは、前記センシングデバイスに対して前記ラッチコマンドと前記リリースコマンドとを送信する際に、前記センシングデバイスのいずれかを指定するセンシングデバイスIDを含め、
    前記センシングデバイスIDにより指定された前記センシングデバイスは、
    前記コントローラからの前記ラッチコマンドに応じ、検知した前記データを保持し、
    前記コントローラからの前記リリースコマンドに応じ、検知した前記データの保持を解除する
    請求項1から請求項3のいずれか1項に記載のシリアル通信方法。
  5. 前記コントローラがマスタデバイス、前記センシングデバイスがスレーブデバイスであり、
    前記マスタデバイスと前記スレーブデバイスとの間で前記シリアル通信を行う
    請求項1から請求項4のいずれか1項に記載のシリアル通信方法。
  6. 前記センシングデバイスは、前記コントローラからのリクエストに応じ、保持した前記データを前記コントローラに対して送信する
    請求項1から請求項5のいずれか1項に記載のシリアル通信方法。
  7. シリアル通信機能を有するコントローラと、シリアル通信機能を有する1以上のセンシングデバイスとを備え、
    請求項1から請求項6のいずれか1項に記載されたシリアル通信方法により、前記コントローラと1以上の前記センシングデバイスとの間でシリアル通信を行う
    シリアル通信システム。
JP2019213782A 2019-11-27 2019-11-27 シリアル通信方法及びシリアル通信システム Active JP7324455B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019213782A JP7324455B2 (ja) 2019-11-27 2019-11-27 シリアル通信方法及びシリアル通信システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019213782A JP7324455B2 (ja) 2019-11-27 2019-11-27 シリアル通信方法及びシリアル通信システム

Publications (2)

Publication Number Publication Date
JP2021086325A true JP2021086325A (ja) 2021-06-03
JP7324455B2 JP7324455B2 (ja) 2023-08-10

Family

ID=76087725

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019213782A Active JP7324455B2 (ja) 2019-11-27 2019-11-27 シリアル通信方法及びシリアル通信システム

Country Status (1)

Country Link
JP (1) JP7324455B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023089665A1 (ja) * 2021-11-16 2023-05-25 多摩川精機株式会社 シリアル通信方法及びシリアル通信システム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09212453A (ja) * 1995-11-28 1997-08-15 Fujitsu Ltd バス延長対応型制御システム
JP2004295743A (ja) * 2003-03-28 2004-10-21 Yokogawa Electric Corp 多点データ収集装置
JP2018512664A (ja) * 2015-03-12 2018-05-17 アレグロ・マイクロシステムズ・エルエルシー マスタ構成要素の共有通信ノードを使用した、マスタ構成要素とスレーブ構成要素との間のシグナリング

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09212453A (ja) * 1995-11-28 1997-08-15 Fujitsu Ltd バス延長対応型制御システム
JP2004295743A (ja) * 2003-03-28 2004-10-21 Yokogawa Electric Corp 多点データ収集装置
JP2018512664A (ja) * 2015-03-12 2018-05-17 アレグロ・マイクロシステムズ・エルエルシー マスタ構成要素の共有通信ノードを使用した、マスタ構成要素とスレーブ構成要素との間のシグナリング

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023089665A1 (ja) * 2021-11-16 2023-05-25 多摩川精機株式会社 シリアル通信方法及びシリアル通信システム

Also Published As

Publication number Publication date
JP7324455B2 (ja) 2023-08-10

Similar Documents

Publication Publication Date Title
US20110238188A1 (en) Engineering tool
US10496279B2 (en) Slave device, control method of slave device, non-volatile computer readable recording medium
CN107205063A (zh) 一种智能家居控制总线的设备冲突解决方法
JP2017151934A (ja) プログラマブルコントローラ、プログラマブルコントローラの制御方法、プログラマブルコントローラの制御プログラム
EP3651417B1 (en) Control system and control method
JP2021086325A (ja) シリアル通信方法及びシリアル通信システム
US10659536B2 (en) Method of controlling inverters
JPH0654911B2 (ja) マスターシップを転送する方法および装置
WO2021010166A1 (ja) シリアル通信方法及びシリアル通信システム
WO2023089665A1 (ja) シリアル通信方法及びシリアル通信システム
US20170212821A1 (en) Communication setting notification apparatus
CN109906440B (zh) 处理控制系统中的具有分开的冗余方案的多核心设备
US11632266B2 (en) Device setting control device, network system, device setting method, and program
JP5958335B2 (ja) 通信ノード、及び通信システム
JP5494028B2 (ja) スイッチ装置
US5214644A (en) Electronic device with data transmission function
JP2015072531A (ja) テスト支援方法、テスト支援装置およびプログラム
JP2020101995A (ja) 制御システム、および制御装置
CN110347422B (zh) 一种应用编排方法、装置及电子设备
WO2021005829A1 (ja) コントローラ、制御システム、および制御方法
WO2016143101A1 (ja) Cpuユニット、ターゲットユニットおよびplcシステム
JP2008289025A (ja) 伝送制御システム及び監視制御方法
JPH0522329A (ja) 信号伝送障害の特定方法
KR20200059554A (ko) 로봇 시리얼 인터페이스 장치 및 방법
CN104937881A (zh) 将数据传送到控制设备和/或从控制设备接收数据的输入/输出设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220523

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230320

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230328

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230620

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230627

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230721

R150 Certificate of patent or registration of utility model

Ref document number: 7324455

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150