JP2017034448A - 通信装置及びそれを有するレンズ装置及び撮像装置 - Google Patents
通信装置及びそれを有するレンズ装置及び撮像装置 Download PDFInfo
- Publication number
- JP2017034448A JP2017034448A JP2015151986A JP2015151986A JP2017034448A JP 2017034448 A JP2017034448 A JP 2017034448A JP 2015151986 A JP2015151986 A JP 2015151986A JP 2015151986 A JP2015151986 A JP 2015151986A JP 2017034448 A JP2017034448 A JP 2017034448A
- Authority
- JP
- Japan
- Prior art keywords
- baud rate
- communication
- reception
- communication connection
- connection command
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0002—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0015—Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0036—Systems modifying transmission characteristics according to link quality, e.g. power backoff arrangements specific to the receiver
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0894—Packet rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/24—Negotiation of communication capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/28—Timers or timing mechanisms used in protocols
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Abstract
【課題】 ボーレートを変化させて通信接続コマンドを入力する相手装置との通信においても、その入力から通信接続コマンド周期を検知し、自身のボーレートを相手装置の周期に合わせたものへ変更することで、正常に送受信可能なボーレートを設定することを可能にした通信装置を提供する。
【解決手段】 通信装置は、外部機器と通信を行う通信手段と、前記通信手段のボーレートを変更するボーレート設定手段と、前記通信手段で受信する通信接続コマンドを送信しているボーレートの変更周期を検出する周期検出手段と、を有し、前記通信手段は、前記周期検出手段が検出したボーレート変更周期に基づきボーレートを変更する、ことを特徴とする。
【選択図】 図1
【解決手段】 通信装置は、外部機器と通信を行う通信手段と、前記通信手段のボーレートを変更するボーレート設定手段と、前記通信手段で受信する通信接続コマンドを送信しているボーレートの変更周期を検出する周期検出手段と、を有し、前記通信手段は、前記周期検出手段が検出したボーレート変更周期に基づきボーレートを変更する、ことを特徴とする。
【選択図】 図1
Description
本発明は、通信装置に関し、特に、例えばボーレートを任意に変更可能とするマイクロプロセッサなどを搭載する二つの装置間で、ボーレートを合わせて通信を行う通信装置及びそれを有するレンズ装置及び撮像装置に関するものである。
従来、データ交信を行う二つの装置間でボーレート設定用データを用いるボーレート設定方法は、二つの装置間のうち、一方のボーレートは変化せず、他方のボーレートを順次変更することで正常に送受信可能なボーレートを設定するものである。
例えば、特許文献1ではデータ交信を行う二つの装置間でボーレート設定用データを用いて、未知のボーレートで設定用データを送信する送信側に対して、受信側がボーレートを順次変更して一致させる方法が開示されている。
特許文献2では、ボーレートチェック用データを用いて、送信側がチェック用データを送信し、受信側が一致したという返信をするまで、送信側がボーレートを順次変更してことでボーレートを一致させる構成が開示されている。
上述の特許文献に開示された従来技術では、データ交信を行う二つの装置が、双方ともにボーレートを変化させると、正常に送受信可能なボーレートを設定することができなくなってしまう。例えば、2件の特許文献に記載のいずれの方法も、一方がボーレートの変わらない他一方に合わせる目的でボーレートを変更する。だが、他一方も同様のプロセスでボーレートを変更するならば、一方がボーレートを変更する時、他一方も同時に別のボーレートへ変更するから、いつまでもボーレート変更に食い違いが起きて、正常に送受信可能なボーレートを設定できない場合がある。
本発明の目的は、ボーレートを変化させて通信接続コマンドを入力する相手装置との通信においても、その入力から通信接続コマンド周期を検知し、自身のボーレートを相手装置の周期に合わせたものへ変更することで、正常に送受信可能なボーレートを設定することを可能にした通信装置を提供することである。
本発明の通信装置は、外部機器と通信を行う通信手段と、前記通信手段のボーレートを変更するボーレート設定手段と、前記通信手段で受信する通信接続コマンドを送信しているボーレートの変更周期を検出する周期検出手段と、を有し、前記通信手段は、前記周期検出手段が検出したボーレート変更周期に基づきボーレートを変更する、ことを特徴とする。
本発明によれば、ボーレートを変化させて通信接続コマンドを入力する相手装置との通信においても、その入力から通信接続コマンド周期を検知し、自身のボーレートを相手装置の周期に合わせたものへ変更することで、正常に送受信可能なボーレートを設定することを可能にした通信装置を提供することができる。
以下に、本発明の好ましい実施の形態を、添付の図面に基づいて詳細に説明する。
以下、図1〜図6を参照して、本発明の第1の実施例である通信装置について説明する。本実施例では、通信装置の一例として、調歩同期式シリアル通信を行い、予め定められた複数のボーレートの中から、通信装置間で通信可能なボーレートを決定する通信装置を例に説明する。
図1は、本発明の第1の実施例である通信装置の構成を示している。
通信装置A100は、データ送受信部A110(通信手段)、送受信データ処理部A120(受信エラー検出手段)、ボーレート設定部A130(周期検出手段)で構成される。
通信装置A100は、データ送受信部A110(通信手段)、送受信データ処理部A120(受信エラー検出手段)、ボーレート設定部A130(周期検出手段)で構成される。
データ送受信部A110は、外部機器と接続し通信データを送受信することが可能である。また、ボーレート設定部A130と接続されており、ボーレート設定部で設定されたボーレートを確認し、そのボーレートで外部との通信を行う。
送受信データ処理部A120は、データ送受信部A110に接続されており、データ送受信部A110が受信したデータを確認し、通信接続コマンドの処理や受信エラーの検知を行う。また、送受信データ処理部A120は、作成した応答コマンドを送信データとしてデータ送受信部A110に設定する。
ボーレート設定部A130は、送受信データ処理部A120と接続されており、送受信データ処理部A120が処理した通信接続コマンドや、検知した受信エラーを確認し、通信で用いるボーレートの設定を行う。さらに、複数の受信エラーから通信接続コマンド周期(ボーレート変更周期)を検知して、通信で用いるボーレートの設定を行う。本明細書内では、通信接続コマンド周期は、通信接続を確立するために送信側のデータ送受信部がボーレートを一通り変更する時間のことを指すものとする。すなわち、複数のボーレートでの送信可能なデータ送受信部である場合は、複数のボーレートでの通信接続コマンドの送信が一巡する時間を指すものとする。
通信装置B200は、データ送受信部B210、送受信データ処理部B220と、ボーレート設定部B230から構成される。
通信装置A100、データ送受信部A110、送受信データ処理部A120、ボーレート設定部A130と、通信装置B200、データ送受信部B210、送受信データ処理部B220、ボーレート設定部B230の基本的な構成は同一である。
ただし、ボーレート設定部B230は、ボーレート設定部A130と異なり、通信接続コマンド周期を検知しない。
送受信データ処理部B220は、通信可能なボーレートが決定するまで、一定間隔で送信データである通信接続コマンドを生成して、データ送受信部B210に設定する。
データ送受信部A110とデータ送受信部B210は接続されており、相互に通信を行う。
通信装置A100は、A[bps]とB[bps]の2つのボーレートで通信可能で、ボーレート設定部A130のボーレート初期値はA[bps]であり、受信エラーによってボーレートを変更する。また、受信エラーを複数検知し、通信接続コマンド周期検知後は、通信接続コマンド周期に従ってボーレートを変更する。さらに、通信接続コマンドを受信し、その処理を完了させることで、通信可能なボーレートを決定する。通信可能なボーレートが決定すると、送受信データ処理部A120で、送信データである応答コマンドを生成して、データ送受信部A110に設定する。ボーレート決定以後は、そのボーレートで通信を行う。
通信装置B200は、A[bps]とC[bps]の2つのボーレートで通信可能で、ボーレート設定部B230のボーレート初期値はC[bps]で、一定時間経過によってボーレートを変更する。また、応答コマンドを受信し、その処理を完了させることで、通信可能なボーレートを決定する。ボーレート決定以後は、そのボーレートで通信を行う。
このように構成することによって、送受信データ処理部B220で生成された送信データはデータ送受信部B210、データ送受信部A110を介して送受信データ処理部A120に入力することが可能となる。また受信したデータから送受信データ処理部A120は返信データを生成し、データ送受信部A110、データ送受信部B210を介して送受信データ処理部B220に入力することが可能となる。従って、通信装置A100と通信装置B200は相互に情報を交換することが可能となる。また、ボーレート設定部A130と、ボーレート設定部B230を用いて、相互に通信ボーレートを変換しても、通信装置A100は、通信装置B200と同一のボーレートに設定することが可能である。
次に図2、図3を用いて、ボーレート設定部A130と、ボーレート設定部B230によって、相互に通信ボーレートが変更されても、通信装置A100が、通信装置B200に合わせて通信ボーレートを変更し、同一のボーレートにする処理について説明する。
図2は、ボーレート設定部A130のボーレート決定までの処理を示すフローチャートである。
S201では、ボーレートを初期値に設定し、S202へ進む。
S202では、送受信データ処理部A120が通信接続コマンドを処理したかを確認し、処理していればS203へ進む。処理してない場合はS204へ進む。
S203では、ボーレートを決定し、処理を終了する。
S204では、送受信データ処理部A120が受信エラーを検知したかを確認し、検知していればS205へ進む。検知していない場合はS202へ戻る。
S205では、送受信データ処理部A120で検知された受信エラーの数をカウントし、S206へ進む。
S206では、送受信データ処理部A120でこれまでカウントした受信エラーが3以上で、通信接続コマンド周期T[sec]を検知可能ならば、S208へ進む。検知不可能であれば、S207へ進む。
S207では、ボーレートを変更し、すなわち、A[bps]ならばB[bps]に、B[bps]ならばA[bps]に設定し、S202へ進む。
S208では、通信接続コマンド周期T[sec]経過したかを判定する。経過していれば、S207へ進む。経過していなければ、S202へ戻る。
S202では、送受信データ処理部A120が通信接続コマンドを処理したかを確認し、処理していればS203へ進む。処理してない場合はS204へ進む。
S203では、ボーレートを決定し、処理を終了する。
S204では、送受信データ処理部A120が受信エラーを検知したかを確認し、検知していればS205へ進む。検知していない場合はS202へ戻る。
S205では、送受信データ処理部A120で検知された受信エラーの数をカウントし、S206へ進む。
S206では、送受信データ処理部A120でこれまでカウントした受信エラーが3以上で、通信接続コマンド周期T[sec]を検知可能ならば、S208へ進む。検知不可能であれば、S207へ進む。
S207では、ボーレートを変更し、すなわち、A[bps]ならばB[bps]に、B[bps]ならばA[bps]に設定し、S202へ進む。
S208では、通信接続コマンド周期T[sec]経過したかを判定する。経過していれば、S207へ進む。経過していなければ、S202へ戻る。
図3は、ボーレート設定部B230のボーレート決定までの処理を示すフローチャートである。
S301では、ボーレートを初期値に設定し、S302へ進む。
S302では、送受信データ処理部B220が応答コマンドを処理したかを確認し、処理していればS303へ進む。処理してない場合はS304へ進む。
S302では、送受信データ処理部B220が応答コマンドを処理したかを確認し、処理していればS303へ進む。処理してない場合はS304へ進む。
S303では、ボーレートを決定し、処理を終了する。
S304では、一定時間が経過したか判定し、経過していれば、S305へ進み、経過していなければ、S302へ戻る。
S305では、ボーレートを変更し、すなわち、C[bps]ならばA[bps]に、A[bps]ならばC[bps]に設定し、S202へ戻る。
S304では、一定時間が経過したか判定し、経過していれば、S305へ進み、経過していなければ、S302へ戻る。
S305では、ボーレートを変更し、すなわち、C[bps]ならばA[bps]に、A[bps]ならばC[bps]に設定し、S202へ戻る。
以上の処理フローにより、通信装置A100が、通信装置B200に合わせて通信ボーレートを変更し、同一のボーレートにすることが可能である。
次に、図4と図5を用いて、エラー検知で通信接続コマンドを検知し、通信接続コマンドの間隔から、通信接続コマンド周期を検知する方法を説明する。
図4は、調歩同期式通信に用いられる電文のバイトフォーマットの一例を示している。データ送受信部A110では、電文のスタートビットを受信した後、データビット(8bit)、パリティビット(1bit)、ストップビット(1bit)のいずれか1つでも検知すべき検知位置において規定値を検知しない場合に、受信エラーが発生する。
また、通信接続コマンドを用いてボーレートを決定する通信装置は、ボーレートが決定するまで、通信接続コマンドのみを送受信し続ける。従って、通信接続コマンドのみを送受信する環境では、受信エラーの発生は、通信接続コマンドを受信したと考えることができる。
図5は、互いにボーレートが一致しない通信接続コマンドを送信する側と受信する側において、送信側の通信接続コマンドによって、受信側でエラーが発生することを示している。受信エラーの検知によって、通信接続コマンドの発生がわかるので、図に示すように受信エラーを3つ検知し、通信接続コマンドの受信時間が3つわかれば、それらの組み合わせで第1と第2の通信接続コマンド間隔がわかる。ここで2つの通信接続コマンド間隔から通信接続コマンド周期T[sec]が求められる。
以上の図4と図5を用いて説明したとおり、エラー検知で、通信接続コマンドの受信間隔を検知し、その間隔から通信接続コマンド周期を検知できる。
最後に、図2、図3、図6を用いて、本発明の第1の実施例である通信装置が相互の通信ボーレートを変更し、送受信可能なボーレートを決定し、通信することが可能であることについて説明する。
図6は、通信装置A100と通信装置B200が、図2で示すボーレート設定部A130と、図3で示すボーレート設定部B230の処理に従い、最終的に相互のボーレートを一致させるまでのボーレートの遷移を示すタイミング図である。
図6にはそれぞれ通信装置A100と通信装置B200が配置されている。矩形の実線はボーレート設定部A130と、ボーレート設定部B230の処理に従って変化するボーレートを示し、矩形の実線近傍のコメントは各通信装置における発生イベントを表している。矢印は通信接続コマンドまたは応答コマンドが通信装置間で送受信されていることを意味する。各通信装置の最下部にあるT1〜T5の記号が割り当てられた直線は、説明をし易くするために時間で区切られた時間区間を示す。
区間[T1−T2]では、通信が開始され、ボーレート設定部A130は通信装置のボーレートを初期値のA[bps]に設定(S201)する。ボーレート設定部B230は通信装置のボーレートを初期値C[bps]に設定(S301)にする。データ送受信部B210が、通信接続コマンドをC[bps]で送信する。データ送受信部A110がA[bps]で受信する。送信側と受信側のボーレートが異なるので、受信エラーとなる。ボーレート設定部A130は、通信接続コマンド処理がない(S202)ことと、送受信データ処理部A120の受信エラーの検知を確認(S204)し、カウント(S205)する。そして、通信接続コマンド周期T[sec]を検知していない(S206)ので、ボーレートをB[bps]に変更(S207)する。ボーレート設定部B230は、応答コマンド処理がない(S302)まま一定時間経過(S304)したことを確認し、ボーレートをA[bps]に変更(S305)する。
区間[T2−T3]では、再びデータ送受信部B210が、通信接続コマンドをA[bps]で送信する。データ送受信部A110がB[bps]で受信する。送信側と受信側のボーレートが異なるので、受信エラーとなる。ボーレート設定部A130は、通信接続コマンド処理がない(S202)ことと、送受信データ処理部A120の受信エラーの検知を確認(S204)し、カウント(S205)する。そして、通信接続コマンド周期T[sec]を検知していない(S206)ので、ボーレートをA[bps]に変更(S207)する。ボーレート設定部B230は、応答コマンド処理がない(S302)まま一定時間経過(S304)したことを確認し、ボーレートをC[bps]に変更(S305)する。
区間[T3−T4]では、再びデータ送受信部B210が、通信接続コマンドをC[bps]で送信する。データ送受信部A110がA[bps]で受信する。送信側と受信側のボーレートが異なるので、受信エラーとなる。ボーレート設定部A130は、通信接続コマンド処理がない(S202)ことと、送受信データ処理部A120の受信エラーの検知を確認(S204)し、カウント(S205)する。そして、検知した受信エラーが3つ以上であるので、通信接続コマンド周期T[sec]検知している(S206)ことと、通信接続コマンド周期T[sec]経過していない(S208)ので、ボーレートを変更しない。ボーレート設定部B230は、応答コマンド処理がない(S302)まま一定時間経過(S304)したことを確認し、ボーレートをA[bps]に変更(S305)する。
区間[T4−T5]では、再びデータ送受信部B210が、通信接続コマンドをA[bps]で送信する。データ送受信部A110がA[bps]で受信する。送信時と受信時のボーレートが一致するので、通信接続コマンドが処理される。ボーレート設定部A130は、送受信データ処理部A120が通信接続コマンドを処理した(S202)ことを確認して、ボーレートを決定(S203)する。通信接続コマンドが処理されたので、データ送受信部A110が、応答コマンドをA[bps]でデータ送受信部B210に送信する。データ送受信部B210がA[bps]で受信する。送信側と受信側のボーレートが一致するので、応答コマンドが処理される。ボーレート設定部B230は、送受信データ処理部B220が応答コマンドを処理した(S302)ことを確認して、ボーレートを決定(S303)する。
以上、通信装置A100は、ボーレートを変化させて通信接続コマンドを入力する通信装置B200との通信における通信接続コマンド周期を検出し、該周期に基づいてボーレートを変更することで送受信可能なボーレートを決定し、通信可能とする。
続いて、以下、図1、図3、図7〜図10を参照して、本発明の第2の実施例による、通信装置について説明する。本実施例では、通信装置の一例として、調歩同期式シリアル通信を行い、予め定められた複数のボーレートの中から、通信装置間で通信可能なボーレートを決定する通信装置を例に説明する。
図7は、本発明の第2の実施例で通信装置の構成を示している。なお、図1と同様の構成については同符号を付し、説明を省略する。
ボーレート設定部A330は、図1のボーレート設定部A130と、ほぼ同じ動作をするが、異なる判断にて動作するため別符号を付す。また、異なる部分のみ説明する。
ボーレート設定部A330は、受信エラーによってボーレートを変更した後、一定時間変更後のボーレートを維持する。また、受信エラーを複数検知し、通信接続コマンド周期検知後は、通信接続コマンド周期に従ってボーレートを変更する。
次に、図8を用いて、ボーレート設定部A330による、通信装置A100が、通信装置B200に合わせて通信ボーレートを変更し、同一のボーレートにする処理について説明する。
図8は、ボーレート設定部A330のボーレート決定までの処理を示すフローチャートである。
S800では、通信接続コマンド周期T[sec]検知を示すフラグ「ComFreFlg」を「OFF」に設定し、S801へ進む。
S801では、ボーレートを初期値に設定し、S802へ進む。
S802では、送受信データ処理部A120が通信接続コマンドを処理したかを確認し、処理していればS803へ進む。処理していない場合はS804へ進む。
S803では、ボーレートを決定し、処理を終了する。
S804では、送受信データ処理部A120が受信エラーを検知したかを確認し、検知していればS805へ進む。検知していない場合はS802へ戻る。
S805では、通信接続コマンド周期T[sec]検知済みを示すフラグ「ComFreFlg」が「ON」ならば、S815へ進む。そうでないならば、S806へ進む。
S806では、ボーレートをA[bps]からB[bps]に設定し、S807へ進む。
S807では、送受信データ処理部A120が通信接続コマンドを処理したかを確認し、処理していればS803へ進む。処理してない場合はS808へ進む。
S801では、ボーレートを初期値に設定し、S802へ進む。
S802では、送受信データ処理部A120が通信接続コマンドを処理したかを確認し、処理していればS803へ進む。処理していない場合はS804へ進む。
S803では、ボーレートを決定し、処理を終了する。
S804では、送受信データ処理部A120が受信エラーを検知したかを確認し、検知していればS805へ進む。検知していない場合はS802へ戻る。
S805では、通信接続コマンド周期T[sec]検知済みを示すフラグ「ComFreFlg」が「ON」ならば、S815へ進む。そうでないならば、S806へ進む。
S806では、ボーレートをA[bps]からB[bps]に設定し、S807へ進む。
S807では、送受信データ処理部A120が通信接続コマンドを処理したかを確認し、処理していればS803へ進む。処理してない場合はS808へ進む。
S808では、送受信データ処理部A120が受信エラーを検知したかを確認し、検知していればS809へ進む。検知していない場合はS807へ進む。
S809では、送受信データ処理部A120で検知された受信エラーをカウントし、S810へ進む。
S810では、一定時間が経過したか判定し、経過していれば、S811へ進み、経過していなければ、S807へ戻る。
S811では、送受信データ処理部A120でこれまで発生した受信エラーのカウント数が3以上であるかを判定し、条件を満たすならS812へ進む。満たさなければ、S813へ進む。
S812では、接続コマンド周期T[sec]を検知した値に設定して、S814へ進む。
S813では、接続コマンド周期T[sec]を規定値に設定して、S814へ進む。
S814では、通信接続コマンド周期T[sec]検知済みを示すフラグ「ComFreFlg」を「ON」に設定して、S816へ進む。
S815では、通信接続コマンド周期T[sec]経過したかを判定する。経過していなければ、S802へ戻る。経過していれば、S816へ進む。
S816ではボーレートを変更し、すなわち、A[bps]ならばB[bps]に、B[bps]ならばA[bps]に設定し、S802へ戻る。
S809では、送受信データ処理部A120で検知された受信エラーをカウントし、S810へ進む。
S810では、一定時間が経過したか判定し、経過していれば、S811へ進み、経過していなければ、S807へ戻る。
S811では、送受信データ処理部A120でこれまで発生した受信エラーのカウント数が3以上であるかを判定し、条件を満たすならS812へ進む。満たさなければ、S813へ進む。
S812では、接続コマンド周期T[sec]を検知した値に設定して、S814へ進む。
S813では、接続コマンド周期T[sec]を規定値に設定して、S814へ進む。
S814では、通信接続コマンド周期T[sec]検知済みを示すフラグ「ComFreFlg」を「ON」に設定して、S816へ進む。
S815では、通信接続コマンド周期T[sec]経過したかを判定する。経過していなければ、S802へ戻る。経過していれば、S816へ進む。
S816ではボーレートを変更し、すなわち、A[bps]ならばB[bps]に、B[bps]ならばA[bps]に設定し、S802へ戻る。
以上の処理フローにより、通信装置A100が、通信装置B200に合わせて通信ボーレートを変更し、同一のボーレートで通信を開始することが可能である。
次に、図9を用いて、受信エラーを検知することで、通信接続コマンドの受信間隔を検知し、その間隔から通信接続コマンド周期を検知する方法を説明する。
図9は、互いにボーレートが一致しない通信接続コマンドを送信する側と受信する側において、送信側の通信接続コマンドによって、受信側でエラーが発生することを示している。受信エラーの発生の検知によって、通信接続コマンドの発生がわかるので、図に示すように受信エラーの発生を3つ検知し、通信接続コマンドの受信時間が3つわかれば、それらの組み合わせで第1と第2の通信接続コマンド間隔がわかる。ここで2つの通信接続コマンド間隔から通信接続コマンド周期T[sec]が求められる。
以上の図9を用いて説明したとおり、受信エラーの発生を検知することで、通信接続コマンドの受信間隔を検知し、その間隔から通信接続コマンド周期を検知できる。
最後に、図3、図8、図10を用いて、本発明の第2の実施例である通信装置が相互の通信ボーレートを変更し、送受信可能なボーレートを決定し、通信することが可能であることについて説明する。図10の記載内容の説明は、図6と等しいので省略する。
区間[T1−T2]では、通信が開始され、通信接続コマンド周期T[sec]検知済みを示すフラグ「ComFreFlg」を「OFF」に設定(S800)し、ボーレート設定部A330は通信装置のボーレートを初期値のA[bps]に設定(S801)する。ボーレート設定部B230は通信装置のボーレートを初期値C[bps]に設定(S301)にする。データ送受信部B210が、通信接続コマンドをC[bps]で送信する。データ送受信部A110がA[bps]で受信する。送信側と受信側のボーレートが異なるので、受信エラーとなる。ボーレート設定部A330は、通信接続コマンド処理がない(S802)ことと、送受信データ処理部A120の受信エラーの検知を確認(S804)する。そして、通信接続コマンド周期T[sec]を検知していない(S805)ことを確認し、ボーレートをB[bps]に変更(S806)する。ボーレート設定部B230は、応答コマンド処理がない(S302)まま一定時間が経過(S304)したことを確認し、ボーレートをA[bps]に変更(S305)する。
区間[T2−T3]では、再びデータ送受信部B210が、通信接続コマンドをA[bps]で送信する。データ送受信部A110がB[bps]で受信する。送信側と受信側のボーレートが異なるので、受信エラーとなる。ボーレート設定部A330は、通信接続コマンド処理がない(S807)ことと、送受信データ処理部A120の受信エラーの検知を確認(S808)し、カウント(S809)する。一定時間が経過していない(S810)ので、ボーレートを変更しない(固定しておく)。ボーレート設定部B230は、応答コマンド処理がない(S302)まま一定時間が経過(S304)したことを確認し、ボーレートをC[bps]に変更(S305)する。
区間[T3−T4]では、再びデータ送受信部B210が、通信接続コマンドをC[bps]で送信する。データ送受信部A110がB[bps]で受信する。送信側と受信側のボーレートが異なるので、受信エラーとなる。ボーレート設定部A330は、通信接続コマンド処理がない(S807)ことと、送受信データ処理部A120の受信エラーの検知を確認(S808)し、カウント(S809)する。一定時間が経過していない(S810)ので、ボーレートを変更しない(固定しておく)。ボーレート設定部B230は、応答コマンド処理がない(S302)まま一定時間が経過(S304)したことを確認し、ボーレートをA[bps]に変更(S305)する。
区間[T4−T5]では、再びデータ送受信部B210が、通信接続コマンドをA[bps]で送信する。データ送受信部A110がB[bps]で受信する。送信側と受信側のボーレートが異なるので、受信エラーとなる。ボーレート設定部A330は、通信接続コマンド処理がない(S807)ことと、送受信データ処理部A120の受信エラーの検知を確認(S808)し、カウント(S809)する。そして、一定時間が経過している(S810)ことを確認し、これまで発生した受信エラーカウントが3つ以上ある(S811)ので、通信接続コマンド周期T[sec]を検知した値に設定(S812)する。さらに、通信接続コマンド周期T[sec]検知済みを示すフラグ「ComFreFlg」を「ON」に設定(S814)する。そして、ボーレートをA[bps]に変更(S816)する。ボーレート設定部B230は、応答コマンド処理がない(S302)まま一定時間が経過(S304)したことを確認し、ボーレートをC[bps]に変更(S305)する。
区間[T5−T6]では、再びデータ送受信部B210が、通信接続コマンドをC[bps]で送信する。データ送受信部A110がA[bps]で受信する。送信側と受信側のボーレートが異なるので、受信エラーとなる。ボーレート設定部A330は、通信接続コマンド処理がない(S802)ことと、送受信データ処理部A120の受信エラーの検知を確認(S804)する。そして、通信接続コマンド周期T[sec]を検知済みである(S805)ことを確認し、通信接続コマンド周期T[sec]経過していない(S815)ので、ボーレートを変更しない。ボーレート設定部B230は、応答コマンド処理がない(S302)まま一定時間が経過(S304)したことを確認し、ボーレートをA[bps]に変更(S305)する。
区間[T6−T7]では、再びデータ送受信部B210が、通信接続コマンドをA[bps]で送信する。データ送受信部A110がA[bps]で受信する。送信側と受信側のボーレートが一致するので、通信接続コマンドが処理される。ボーレート設定部A330は、送受信データ処理部A120の通信接続コマンドの処理を確認(S802)して、ボーレートを決定(S803)する。通信接続コマンドが処理されたので、データ送受信部A110が、応答コマンドをA[bps]でデータ送受信部B210に送信する。データ送受信部B210がA[bps]で受信する。送信側と受信側のボーレートが一致するので、応答コマンドが処理される。ボーレート設定部B230は、送受信データ処理部B220が応答コマンドを処理した(S302)ことを確認して、ボーレートを決定(S303)する。
以上、通信装置A100は、ボーレートを変化させて通信接続コマンドを入力する通信装置B200との通信における通信接続コマンド周期を検知し、ボーレートを該周期に基づいて変更することで、送受信可能なボーレートを決定し、通信可能とする。
続いて、以下、図1、図3、図11〜図15を参照して、本発明の第3の実施例による、通信装置について説明する。本実施例では、通信装置の一例として、調歩同期式シリアル通信を行い、予め定められた複数のボーレートの中から、通信装置間で通信可能なボーレートを決定する通信装置を例に説明する。
図11は、本発明の第3の実施例で通信装置の構成を示している。なお、図1と同様の構成については同符号を付し、説明を省略する。
ボーレート設定部A530は、図1のボーレート設定部A130と、ほぼ同じ動作をするが、異なる判断にて動作するため別符号を付す。また、異なる部分のみ説明する。
ボーレート設定部A530は、一定時間経過によってボーレートを変更する。また、受信エラー発生数の変化を複数検知し、通信接続コマンド周期検知後は、通信接続コマンド周期に従ってボーレートを変更する。
実施例3におけるボーレート設定部B230は、通信接続するまでボーレートを一定の時間ごとに変更する。ボーレートを一定とする時間の長さは、一定間隔で送信データである通信接続コマンドが生成される時間間隔よりも長いことが、実施例1や実施例2の場合とは異なる。ボーレートを一定とする時間の長さは、ボーレートが一致せずに、通信接続コマンドを再送する場合、少なくとも同じボーレートで通信接続コマンドを2回以上送信できる長さである。
次に、図12を用いて、ボーレート設定部A530による、通信装置A100が、通信装置B200に合わせて通信ボーレートを変更し、同一のボーレートにする処理について説明する。
図12は、ボーレート設定部A530のボーレート決定までの処理を示すフローチャートである。
S1201では、ボーレートを初期値に設定し、S1202へ進む。ここで初期値は、ボーレート設定部A530で設定可能な最速のボーレートであることが望ましいが、これに限定されることはない。
S1202では、送受信データ処理部A120が通信接続コマンドを処理したかを確認し、処理していればS1203へ進む。処理してない場合はS1204へ進む。
S1203では、ボーレートを決定し、処理を終了する。
S1204では、送受信データ処理部A120でこれまでカウントした受信エラー発生数の変化が3回以上で、通信接続コマンド周期T[sec]を検知可能ならば、S1211へ進む。検知不可能であれば、S1205へ進む。
S1205では、一定時間が経過したか判定し、経過していれば、S1206へ進み、
経過していなければ、S1202へ戻る。
S1206では、ボーレートをA[bps]からB[bps]に設定し、S1207へ進む。
S1207では、送受信データ処理部A120が通信接続コマンドを処理したかを確認し、処理していればS1203へ進む。処理してない場合はS1208へ進む。
S1202では、送受信データ処理部A120が通信接続コマンドを処理したかを確認し、処理していればS1203へ進む。処理してない場合はS1204へ進む。
S1203では、ボーレートを決定し、処理を終了する。
S1204では、送受信データ処理部A120でこれまでカウントした受信エラー発生数の変化が3回以上で、通信接続コマンド周期T[sec]を検知可能ならば、S1211へ進む。検知不可能であれば、S1205へ進む。
S1205では、一定時間が経過したか判定し、経過していれば、S1206へ進み、
経過していなければ、S1202へ戻る。
S1206では、ボーレートをA[bps]からB[bps]に設定し、S1207へ進む。
S1207では、送受信データ処理部A120が通信接続コマンドを処理したかを確認し、処理していればS1203へ進む。処理してない場合はS1208へ進む。
S1208では、送受信データ処理部A120が受信エラー発生数の変化を検知したかを確認し、検知していればS1209へ進む。検知していない場合はS1207へ進む。
S1209では、受信エラー発生数の変化の回数をカウントする。そして、S1210へ進む。
S1210では、送受信データ処理部A120でこれまでカウントした受信エラー発生数の変化の回数が3以上で、通信接続コマンド周期T[sec]を検知可能ならば、S1212へ進む。検知不可能であれば、S1207へ戻る。
S1211では、通信接続コマンド周期T[sec]経過したかを判定する。経過していなければ、S1202へ戻る。経過していれば、S1212へ進む。
S1212では、ボーレートを変更し、すなわち、A[bps]ならばB[bps]に設定し、B[bps]ならばA[bps]に変更し、S1202へ戻る。
S1209では、受信エラー発生数の変化の回数をカウントする。そして、S1210へ進む。
S1210では、送受信データ処理部A120でこれまでカウントした受信エラー発生数の変化の回数が3以上で、通信接続コマンド周期T[sec]を検知可能ならば、S1212へ進む。検知不可能であれば、S1207へ戻る。
S1211では、通信接続コマンド周期T[sec]経過したかを判定する。経過していなければ、S1202へ戻る。経過していれば、S1212へ進む。
S1212では、ボーレートを変更し、すなわち、A[bps]ならばB[bps]に設定し、B[bps]ならばA[bps]に変更し、S1202へ戻る。
以上の処理フローにより、通信装置A100が、通信装置B200に合わせて通信ボーレートを変更し、同一のボーレートにすることが可能である。
次に、図13、図14を用いて、受信エラー発生数の変化から、ボーレート変化を検知し、ボーレートの変化から通信接続コマンド周期を検知する方法を説明する。
図13は、互いにボーレートが一致しない通信接続コマンドを送信する側と受信する側において、送信側の通信接続コマンドに依存して受信側で異なる態様でエラーが発生することを説明する図である。送信された1つの通信接続コマンドに対して受信側で発生するエラーの数が、送受信側双方のボーレートに依存して異なることを示している。受信エラーの検知によって、通信接続コマンドの発生がわかる。また、1つの通信接続コマンドに対して受信側で発生する受信エラー発生数の変化によって、送信側のボーレートの変化がわかる。従って、図に示すように受信エラー発生数の変化を3つ検知し、通信接続コマンドの受信時間が3つわかれば、それらの組み合わせで第1と第2の通信接続コマンド間隔がわかる。ここで2つの通信接続コマンド間隔から通信接続コマンド周期T[sec]が求められる。
図14は、1つの通信接続コマンドに対して受信側で発生するエラーの数が、送信側のボーレートと受信側のボーレートによって異なることを示している。図の(A)送信電文は、送信側機器から送信される電文のパルスを表している。(B)送信データ9800[bps]は、(A)送信電文をボーレート9800[bps]で電文に変換する際に元となるデータである。(C)受信電文は、受信側機器で受信される電文のパルスを表している。(D)受信データ19.2k[bps]は、(C)受信電文をボーレート19.2k[bps]で受信した際に、電文から変換されたデータである。(E)受信電文は、受信側機器で受信される電文のパルスを表している。(F)受信データ38.4k[bps]は、(E)受信電文をボーレート38.4k[bps]で受信した際に、電文から変換されたデータである。ここで(A)送信電文と(C)受信電文、(E)受信電文は全く同じ電文である。
受信ボーレートが早い場合、受信側で、最初にスタートビットを検知して電文解釈をした時点では、まだ、1つの通信接続コマンドの送信は完了していない(図14の(C)、(E))。最初の受信でエラーとなる場合、再び電文を受信しようとするが、この時点でまだ送信中の1つ目の通信接続コマンドの信号をスタートビットであると擬似検知して、2回目の電文を受信し始める。このようにして、受信側のボーレートが送信側のボーレートより早い場合は、ボーレートが合致せず受信エラーが発生するときには1つの通信接続コマンドに対して複数の受信エラーが発生する。また、送信側のボーレート設定部B230では、応答コマンド処理がない場合は、同じボーレートで複数の通信接続コマンドを送信し、その通信接続コマンド同士の間隔は通信接続コマンドを送信している時間に対して十分に長い。受信エラーが発生する場合は、通信接続コマンドが送信されている間隔にほぼ等しい間隔を開けて複数の受信エラーが発生する。
このように、同一の(A)送信電文と(C)受信電文と(E)受信電文でも、送受信のボーレートによって、送信データと受信データが異なり、受信データの数も異なる。だから、受信データの数に応じて受信エラー発生数も変化する。従って、受信側のボーレートが一定の時に、受信エラーの1つのセット内の受信エラー数が変化した時は、送信側のボーレートが変化したと考えることができる。
ここで、「受信エラー発生数」とは、所定時間内に発生した受信エラーの数であって、送信された1つの通信接続コマンドに対応して発生する受信エラーである。また、通常、送信側では、通信接続コマンドを送信した後に、その応答を待つための応答コマンド受信待機時間があり、応答コマンド受信待機時間の中で応答コマンドを受信しなかった場合に、次の通信接続コマンドを送信する。従って、設定可能な受信ボーレートの範囲の中で最も小さい(最も遅い)ボーレートで通信接続コマンドを受信に要する時間以上で、かつ、応答コマンド受信待機時間より短い所定の時間内に、発生した受信エラーを「受信エラー発生数」と定義する。ここで、応答コマンド受信待機時間は通信接続コマンドの送信時間に対して十分に長く、例えば、応答コマンド受信待機時間は通信接続コマンドの送信時間の20倍以上、あるいは100倍以上の所定の長さの時間が設定される。受信側の通信装置Aから、送信側の通信装置Bに設定されている応答コマンド受信待機時間は不透明である可能性もある。従って、設定可能な受信ボーレートの範囲の中で最も小さい(最も遅い)ボーレートで通信接続コマンドを受信に要する時間の1〜10倍の所定の時間内に、発生した受信エラーを「受信エラー発生数」と定義してもよい。
以上の図13と図14を用いて説明したとおり、受信エラー発生数の変化から、ボーレート変化を検知し、ボーレートの変化から通信接続コマンド周期を検知できる。
最後に、図3、図12、図15を用いて、本発明の第3の実施例である通信装置が相互の通信ボーレートを変更し、送受信可能なボーレートを決定し、通信することが可能であることについて説明する。図15の記載内容の説明は、図6と等しいので省略する。
区間[T1−T2]では、通信が開始され、ボーレート設定部A530は通信装置のボーレートを初期値のA[bps]に設定(S1201)する。ボーレート設定部B230は通信装置のボーレートを初期値C[bps]に設定(S301)にする。データ送受信部B210が、通信接続コマンドをC[bps]で送信する。データ送受信部A110がA[bps]で受信する。送信時と受信時のボーレートが異なるので、受信エラーとなる。ボーレート設定部A530は、通信接続コマンド処理がない(S1202)ことと、通信接続コマンド周期T[sec]を検知していない(S1204)こと、一定時間経過していない(S1205)ことを確認する。ボーレート設定部B230は、応答コマンド処理がない(S302)まま一定時間経過(S304)していないことを確認する。続けて再度、データ送受信部B210が、通信接続コマンドをC[bps]で送信する。データ送受信部A110がA[bps]で受信する。送信時と受信時のボーレートが異なるので、受信エラーとなる。ボーレート設定部A530は、通信接続コマンド処理がない(S1202)ことと、通信接続コマンド周期T[sec]を検知していない(S1204)こと、一定時間経過している(S1205)ことを確認して、ボーレートをB[bps]に変更する。ボーレート設定部B230は、応答コマンド処理がない(S302)まま一定時間経過している(S304)ことを確認して、ボーレートをA[bps]に変更する。
区間[T2−T3]では、再びデータ送受信部B210が、通信接続コマンドをA[bps]で送信する。データ送受信部A110がB[bps]で受信する。送信時と受信時のボーレートが異なるので、受信エラーとなる。ボーレート設定部A530は、通信接続コマンド処理がない(S1207)ことと、送受信データ処理部A120の受信エラー発生数の変化を検知していない(S1208)ことを確認する。ボーレート設定部B230は、応答コマンド処理がない(S302)まま一定時間経過していない(S304)ことを確認する。続けて再度、データ送受信部B210が、通信接続コマンドをA[bps]で送信する。データ送受信部A110がB[bps]で受信する。送信時と受信時のボーレートが異なるので、受信エラーとなる。ボーレート設定部A530は、通信接続コマンド処理がない(S1207)ことと、送受信データ処理部A120の受信エラー発生数の変化を検知していない(S1208)ことを確認する。B230は、応答コマンド処理がない(S302)まま一定時間経過している(S304)ことを確認し、ボーレートをC[bps]に変更する。
区間[T3−T4]では、再びデータ送受信部B210が、通信接続コマンドをC[bps]で送信する。データ送受信部A110がB[bps]で受信する。送信時と受信時のボーレートが異なるので、受信エラーとなる。さらに送信ボーレートが一定で受信ボーレートが変化したので、受信エラー発生数は変化する。ボーレート設定部A530は、通信接続コマンド処理がない(S1207)ことと、送受信データ処理部A120の受信エラー発生数の変化を検知している(S1208)ことを確認する。さらに、受信エラー発生数の変化をカウント(S1209)して、通信接続コマンド周期T[sec]を検知していない(S1210)ことを確認する。ボーレート設定部B230は、応答コマンド処理がない(S302)まま一定時間経過していない(S304)ことを確認する。続けて再度、データ送受信部B210が、通信接続コマンドをC[bps]で送信する。データ送受信部A110がB[bps]で受信する。送信時と受信時のボーレートが異なるので、受信エラーとなる。ボーレート設定部A530は、通信接続コマンド処理がない(S1207)ことと、送受信データ処理部A120の受信エラー発生数の変化を検知していない(S1208)ことを確認する。B230は、応答コマンド処理がない(S302)まま一定時間経過している(S304)ことを確認し、ボーレートをA[bps]に変更する。
区間[T4−T5]では、再びデータ送受信部B210が、通信接続コマンドをA[bps]で送信する。データ送受信部A110がB[bps]で受信する。送信時と受信時のボーレートが異なるので、受信エラーとなる。さらに送信ボーレートが一定で受信ボーレートが変化したので、受信エラー発生数は変化する。ボーレート設定部A530は、通信接続コマンド処理がない(S1207)ことと、送受信データ処理部A120の受信エラー発生数の変化を検知している(S1208)ことを確認する。さらに、受信エラー発生数の変化をカウント(S1209)して、通信接続コマンド周期T[sec]を検知していない(S1210)ことを確認する。ボーレート設定部B230は、応答コマンド処理がない(S302)まま一定時間経過していない(S304)ことを確認する。続けて再度、データ送受信部B210が、通信接続コマンドをA[bps]で送信する。データ送受信部A110がB[bps]で受信する。送信時と受信時のボーレートが異なるので、受信エラーとなる。ボーレート設定部A530は、通信接続コマンド処理がない(S1207)ことと、送受信データ処理部A120の受信エラー発生数の変化を検知していない(S1208)ことを確認する。B230は、応答コマンド処理がない(S302)まま一定時間経過している(S304)ことを確認し、ボーレートをC[bps]に変更する。
区間[T5−T6]では、再びデータ送受信部B210が、通信接続コマンドをC[bps]で送信する。データ送受信部A110がB[bps]で受信する。送信時と受信時のボーレートが異なるので、受信エラーとなる。さらに送信ボーレートが一定で受信ボーレートが変化したので、受信エラー発生数は変化する。ボーレート設定部A530は、通信接続コマンド処理がない(S1207)ことと、送受信データ処理部A120の受信エラー発生数の変化を検知している(S1208)ことを確認する。さらに、受信エラー発生数の変化をカウント(S1209)して、カウント数が3以上であるので、通信接続コマンド周期T[sec]を検知している(S1210)ことを確認して、ボーレートをA[bps]に変更する。ボーレート設定部B230は、応答コマンド処理がない(S302)まま一定時間経過していない(S304)ことを確認する。続けて再度、データ送受信部B210が、通信接続コマンドをC[bps]で送信する。データ送受信部A110がA[bps]で受信する。送信時と受信時のボーレートが異なるので、受信エラーとなる。ボーレート設定部A530は、通信接続コマンド処理がない(S1202)ことと、通信接続コマンド周期T[sec]を検知している(S1204)こと、通信接続コマンド周期T[sec]経過していない(S1211)ことを確認する。B230は、応答コマンド処理がない(S302)まま一定時間経過している(S304)ことを確認し、ボーレートをA[bps]に変更する。
区間[T6−T7]では、再びデータ送受信部B210が、通信接続コマンドをA[bps]で送信する。データ送受信部A110がA[bps]で受信する。送信時と受信時のボーレートが一致するので、通信接続コマンドが処理される。ボーレート設定部A530は、送受信データ処理部A120の通信接続コマンドの処理を確認(S1202)して、ボーレートを決定(S1203)する。通信接続コマンドが処理されたので、データ送受信部A110が、応答コマンドをA[bps]で送信する。データ送受信部B210がA[bps]で受信する。送信時と受信時のボーレートが一致するので、応答コマンドが処理される。ボーレート設定部B230は、送受信データ処理部B220が応答コマンドを処理した(S302)ことを確認して、ボーレートを決定(S303)する。
なお、ボーレート設定部B230は通信接続するまでボーレートを一定の時間ごとに変更するが、本実施例3においては、ボーレートを一定とする時間の長さは、通信接続コマンドを2回送信できる長さである場合を例示した。しかし、実施例3の本発明はこれに限定されることはない。ボーレートを一定とする時間の長さは、通信接続コマンドを1回送信できる長さであっても、3回以上送信できる長さであってもよい。実施例3の構成においては、ボーレートを一定で通信している時間内における通信接続コマンドが送信される回数に依らずに、確実に通信接続コマンド周期を検出することが可能である。なお、実施例1、2での説明においては説明の簡略化のために、データ送受信部A110は、1つの通信接続コマンドを受けた時に、送受信側のボーレートが一致しない場合は、受信エラーが1回発生するものとして説明した。実際には、実施例3で説明したように、受信ボーレートが送信ボーレートより大きい場合には、1つの通信接続コマンドに対して複数の受信エラー(フレーミングエラー)が発生する。実際には、選択肢として使用するボーレートで通信接続コマンドを送信する時間に対して、データ送受信部B210が通信接続コマンドを送信してから次の通信接続コマンドを送信するまでの待機時間である応答コマンド受信待機時間は十分に長く設定される。このことを利用して、1つの通信接続コマンドに対して発生する受信エラー(フレーミングエラー)を1つのエラーとして取り扱うようにすることで、実施例1,2の発明は詳述したとおりに実行することができる。例えば、通信接続コマンドを送信する時間に関連して設定された所定の時間内に発生した受信エラーを1つのエラーとして取り扱ってもよい。設定可能な受信ボーレート範囲の中で最も小さい(最も遅い)ボーレートで通信接続コマンドの受信に要する時間の1〜10倍の所定の時間内に、発生した受信エラーを、1つのエラーとして取り扱ってもよい。また、応答コマンド受信待機時間に関連して設定された所定の時間以上互いに離れて発生した受信エラーは異なるエラーとして取り扱ってもよい。
以上、通信装置A100は、ボーレートを変化させて通信接続コマンドを入力する通信装置B200との通信における通信接続コマンド周期を検知し、ボーレートを該周期に基づいて変更することで、送受信可能なボーレートを決定し、通信可能とする。
また、例えば、交信する2つの通信装置が互いに送受信する通信接続コマンドの間隔を一定間隔としたが、不定間隔であってもよい。その場合には、コマンド間隔の検知として、実際に通信接続コマンドを送信する時間をμsec 単位で行うように設定し、応答コマンド受信待機時間をmsec単位で行うように設定する。そうすると、この双方の時間差を基に通信接続コマンド間隔を検知することができる。これに、実施例3で示すエラー発生数の変化によるボーレートの変化を検知する方法を組み合わせれば、通信接続コマンド周期を検知することができる。その結果、自身のボーレートを相手装置の周期に合わせたものへ変更することで、正常に送受信可能なボーレートを決定し、通信することが可能である。
また、例えば、交信する2つの通信装置が予め定められた通信可能なボーレートを2種類としたが、2種類以上であってもよい。その場合には、コマンド間隔の検知として、検知するエラー発生数の最大と最小の極値を検知して、その極値の間隔から通信接続コマンド周期を検知する事ができる。その結果、自身のボーレートを相手装置の周期に合わせたものへ変更することで、正常に送受信可能なボーレートを決定し、通信することが可能である。
本発明の通信装置を有するレンズ装置、及び該レンズ装置と該レンズ装置を操作するデマンドとカメラ装置を含む撮像装置によって、通信接続する互いのボーレートの仕様の差異に関わらず、汎用性の高いレンズ装置、撮像装置を提供することができる。
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
110 データ送受信部(通信手段)
130 ボーレート設定部(ボーレート設定手段、周期検出手段)
130 ボーレート設定部(ボーレート設定手段、周期検出手段)
Claims (9)
- 外部機器と通信を行う通信手段と、
前記通信手段のボーレートを変更するボーレート設定手段と、
前記通信手段で受信する通信接続コマンドを送信しているボーレートの変更周期を検出する周期検出手段と、
を有し、
前記通信手段は、前記周期検出手段が検出したボーレート変更周期に基づきボーレートを変更する、
ことを特徴とする通信装置。 - 前記通信手段が受信した信号に基づき、前記通信接続コマンドの受信エラーを検出する受信エラー検出手段を有し、前記周期検出手段は、前記通信手段によって検出された受信エラーに基づいて前記ボーレート変更周期を検出する、
ことを特徴とする請求項1に記載の通信装置。 - 前記周期検知手段が前記ボーレート変更周期を検出するまでは、前記受信エラーが検出されると、前記通信手段はボーレートを切り替えることを特徴とする請求項2に記載の通信装置。
- 前記周期検知手段は、前記ボーレート設定手段にボーレートを所定の時間、固定させ、前記受信エラーが検出される回数に基づきボーレート変更周期を検出する、ことを特徴とする請求項1または2に記載の通信装置。
- 前記周期検知手段は、前記通信手段で設定可能なボーレートのうち、最も遅いボーレートで前記通信接続コマンドを受信するために要する時間に基づいて定められた所定の時間内で検知された1つ以上の受信エラーを1つの受信エラーとして扱う、ことを特徴とする請求項3または4に記載の通信装置。
- 前記周期検知手段は、最も遅いボーレートで前記通信接続コマンドを受信するために要する時間に基づいて定められる所定の時間内に、前記受信エラーの発生数が変化した回数に基づきボーレート変更周期を検出する、ことを特徴とする請求項1または2に記載の通信装置。
- 前記周期検出手段が前記ボーレート変更周期を検出した後、通信接続が完了するまで、前記通信手段は前記ボーレート変更周期でボーレートを変更する、ことを特徴とする請求項1乃至6のいずれか1項に記載の通信装置。
- 請求項1乃至7のいずれか1項に記載の通信装置を備えるレンズ装置。
- 請求項1乃至7のいずれか1項に記載の通信装置を備えるレンズ装置と、該レンズ装置と通信するカメラ装置を含む撮像装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015151986A JP2017034448A (ja) | 2015-07-31 | 2015-07-31 | 通信装置及びそれを有するレンズ装置及び撮像装置 |
US15/212,497 US9935731B2 (en) | 2015-07-31 | 2016-07-18 | Communication apparatus, lens apparatus and image pickup apparatus including the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015151986A JP2017034448A (ja) | 2015-07-31 | 2015-07-31 | 通信装置及びそれを有するレンズ装置及び撮像装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017034448A true JP2017034448A (ja) | 2017-02-09 |
Family
ID=57883283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015151986A Pending JP2017034448A (ja) | 2015-07-31 | 2015-07-31 | 通信装置及びそれを有するレンズ装置及び撮像装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9935731B2 (ja) |
JP (1) | JP2017034448A (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10038497B2 (en) * | 2013-12-18 | 2018-07-31 | Northrup Grumman Systems Corporation | Optical transceiver with variable data rate and sensitivity control |
US20190182010A1 (en) * | 2017-12-08 | 2019-06-13 | Qualcomm Incorporated | Link adaptation enhancements |
US10237014B1 (en) * | 2017-12-08 | 2019-03-19 | Qualcomm Incorporated | Link adaptation enhancements |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05236048A (ja) | 1992-01-08 | 1993-09-10 | Nec Corp | 調歩同期式データ送受信装置 |
DE60203038T2 (de) * | 2001-01-16 | 2005-07-14 | Aware, Inc., Bedford | Schnelle initialisierung unter verwendung von seamless rate adaptation |
JP2004064616A (ja) | 2002-07-31 | 2004-02-26 | Sharp Corp | ボーレート設定方法、ボーレート設定プログラム、可読記録媒体、通信システムおよび通信方法 |
US20070124627A1 (en) * | 2004-03-26 | 2007-05-31 | Toshiaki Katano | Communication processing device, home electric device, and home network system |
US7684477B1 (en) * | 2005-12-20 | 2010-03-23 | Altera Corporation | Multi-protocol low latency automatic speed negotiation architecture for an embedded high speed serial interface in a programmable logic device |
JP4461162B2 (ja) * | 2007-07-02 | 2010-05-12 | 株式会社東芝 | 端末装置 |
EP2852203B1 (en) * | 2013-06-28 | 2017-08-16 | Panasonic Corporation | Channel determination method and wireless communication apparatus |
-
2015
- 2015-07-31 JP JP2015151986A patent/JP2017034448A/ja active Pending
-
2016
- 2016-07-18 US US15/212,497 patent/US9935731B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US9935731B2 (en) | 2018-04-03 |
US20170033886A1 (en) | 2017-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2017034448A (ja) | 通信装置及びそれを有するレンズ装置及び撮像装置 | |
US20100202451A1 (en) | Modified internet protocol (ip) data packet for asynchronous ip communications | |
JP2014140096A (ja) | 通信システム | |
JP6594105B2 (ja) | 電子機器、アクセサリー機器、その制御方法、および制御プログラム | |
JP6422332B2 (ja) | 電子機器、アクセサリー機器、その制御方法、および制御プログラム | |
JP5597285B2 (ja) | 通信装置及び通信方法 | |
CN105406989A (zh) | 处理报文的方法、网卡及系统、更新信息的方法及主机 | |
KR100917338B1 (ko) | 차량 네트워크 통신중 캔 메시지 전송방법 | |
CN104615573A (zh) | 一种通信方法及装置 | |
US10474615B2 (en) | Hub | |
JP2018061118A (ja) | 通信装置及び通信システム | |
KR102008996B1 (ko) | Spi 수신 버퍼의 스턱비트 에러발생 판별방법 | |
JP2008072328A (ja) | ゲートウェイecuの評価装置 | |
JP2017130777A (ja) | 無線通信装置および無線通信方法 | |
CN105681005B (zh) | 一种具有身份识别的双主仲裁机制安全系统 | |
JP2006237840A (ja) | 無線通信端末および無線通信システム | |
JP6260189B2 (ja) | 通信装置、制御装置、および画像形成装置 | |
KR102174857B1 (ko) | 데이터 전송 오류 회복 시스템 및 그 방법 | |
KR101041855B1 (ko) | 망 상태 전문 전송제어장치 및 방법 | |
WO2017090078A1 (ja) | 組込み装置、通信方法及び通信プログラム | |
JP4645335B2 (ja) | 通信システム及び通信装置 | |
KR100869727B1 (ko) | 차량 네트워크 통신중 이벤트 메시지 전송방법 | |
JP2008211278A (ja) | 遠隔制御装置 | |
CN108574663B (zh) | 一种安全传输方法和系统 | |
JP2009223483A (ja) | データ伝送システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD05 | Notification of revocation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7425 Effective date: 20171214 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20180126 |