JP2010124268A - データ通信装置、および通信制御方法、並びにプログラム - Google Patents

データ通信装置、および通信制御方法、並びにプログラム Download PDF

Info

Publication number
JP2010124268A
JP2010124268A JP2008296335A JP2008296335A JP2010124268A JP 2010124268 A JP2010124268 A JP 2010124268A JP 2008296335 A JP2008296335 A JP 2008296335A JP 2008296335 A JP2008296335 A JP 2008296335A JP 2010124268 A JP2010124268 A JP 2010124268A
Authority
JP
Japan
Prior art keywords
communication
speed
data
low
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008296335A
Other languages
English (en)
Inventor
Masashi Kumada
昌司 熊田
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2008296335A priority Critical patent/JP2010124268A/ja
Priority to US12/589,625 priority patent/US8654377B2/en
Priority to TW098138983A priority patent/TWI408931B/zh
Priority to CN200910226441A priority patent/CN101741542A/zh
Publication of JP2010124268A publication Critical patent/JP2010124268A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/05Electric or magnetic storage of signals before transmitting or retransmitting for changing the transmission rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Information Transfer Systems (AREA)
  • Dc Digital Transmission (AREA)

Abstract

【課題】通信データの解析により通信速度の検出を行い、検出結果に応じて通信速度切り替えを行う装置および方法を実現する。
【解決手段】調歩同期方式のシリアル通信を実行する通信装置において、通信相手から受信する通信データのビット変化を検出してローパルスの継続期間であるローパルス幅を計測し、計測されたローパルス幅が低速通信データ対応のビット幅相当のローパルス幅であるか否かの判定に基づいて通信データが高速通信であるか低速通信であるかを判定する構成とした。本構成により通信速度が不明の通信相手からの通信データの速度検出が可能となり、相手に合わせた通信速度に切り替えて通信を成立させる制御が可能となる。
【選択図】図14

Description

本発明は、データ通信装置、および通信制御方法、並びにプログラムに関する。さらに詳細には、調歩同期方式によるシリアル通信を行うデータ通信装置、および通信制御方法、並びにプログラムに関する。
シリアル通信によるデータ通信の通信方式として調歩同期方式が知られている。調歩同期方式に従ったシリアルデータ通信の概要について図1を参照して説明する。図1には、
(a)調歩同期方式に従ったシリアルデータ通信を行う通信構成例、
(b)通信データのデータ構成例、
これらの一例を示している。
例えば、図1(a)に示す通信部(マスタ)10と通信部(スレーブ)20との間でシリアルデータ通信が行われる。通信部(マスタ)10と通信部(スレーブ)20の各々は、それぞれ送受信端子を有し、送受信端子を介してデータ送信またはデータ受信を行う。
通信部(マスタ)10と通信部(スレーブ)20との間で転送される通信データは、図1(b)に示すように、スタートビットとストップビットとの間に送信対象とするデータを設定した構成となる。具体的には、例えば、
スタートビット=1ビット
データビット=8ビット
ストップビット=1ビット
このような構成からなる通信データを送信側で生成して受信側に出力される。このようにデータビットを1バイト(8ビット)単位でスタートビットとストップビットで挟む設定とした通信データを生成して送信する。
なお、図1(b)に示す通信データは、送信データを構成するデータ量に応じて連続して転送されることになる。例えば16バイトデータを送信する場合は、図1(b)に示す通信データが16個設定されて所定間隔で送信される。データ受信側では、スタートビットとストップビットとの間にあるデータを受信対象のデータとして識別することができる。例えばスタートビットは1ビットの[Low(0)]、ストップビットは1ビットの[High(1)]と規定する。受信側ではこのルールに従ってスタート/ストップビットを識別して、その間のデータを取得して解析することができる。
なお、図1(b)に示す例は、スタート/ストップビット間に8ビットのデータビットを設定した例であるが、スタート/ストップビット間に設定するデータは8ビットのデータビットに限るものではない。例えば8ビットデータにさらにエラー訂正用のパリティビットを付加する構成なども可能である。
なお、データ受信側においてスタート/ストップビットを識別するためには、1ビット幅についての情報が必要となる。1ビット幅はデータ送受信双方において一致した認識を持つことが必要となる。データ受信側ではクロックを用いて1ビット幅を検出し、上記の手法に従ってデータの取得を行うことができる。
1ビットの幅は様々な設定が可能である。1ビット幅を短い時間に設定すれば通信速度を速めることが可能となる。データ受信側では、スタートビットの1ビット幅を測定することによりデータ通信速度の判定を行う。具体的には、スタートビットの1ビット幅が、受信側で利用するクロック信号の何クロック分に相当するかをカウントする。
なお、シリアルデータ通信における通信速度は、1秒あたりのビット数(bps:bit per second)として規定されるボーレート(Baud Rate)で表現されることが多い。データ送信側とデータ受信側では同じボーレートでの処理が必要となる。このため、シリアル通信では予め固定されたボーレートを利用するか、または、送信側が、受信側の利用ボーレートを確認して受信側のボーレートに併せて送信データを生成して送信する処理が行われる。
送信側が受信側の利用ボーレートを確認する処理は例えば以下の処理によって行われる。まず、送信側が複数のボーレートで試験的な送信を実行し、受信側からの応答の有無を確認する。送信側は受信側からの応答があったボーレートを受信側で利用可能なボーレートであると判断する。送信側は、そのボーレートでデータの本送信を行う。このような事前処理を行なえば、データ送受信両サイドで統一したボーレートでの処理が可能となる。
データ受信側では、スタートビットの1ビット幅に相当するクロック数を判定し、その後のデータビットは、そのクロック数を基準として、各ビットの(1/0)判定を行う。従って、正確なデータの送受信のためには、スタートビットの1ビット幅を正確に計測することが必要となる。
しかし、図1(b)に示すように、スタートビットとデータビットとは連続して設定されており、スタートビットとデータビットの明確な区別ができない場合がある。例えば、スタートビットが1ビットの[Low(0)]として設定されている場合、その直後のデータビットの最初のビットのビット値がスタートビットのビット値[Low(0)]と同じ[Low(0)]になった場合、スタートビットとのデータビットの境界判別が困難となる。このような場合に1ビット幅の計測が困難になる。
このような問題を解決する手法を開示した従来技術として、例えば特許文献1(特開2007−259094号公報)がある。特許文献1はスタートビットを2ビットの交番データ、すなわち[10]または[01]の2ビット構成としている。この構成により、受信側ではスタートビットに含まれるパルスの立ち下がりと立ち上がりの双方を確実に検出することが可能となり、精度の高いビット幅検出を行うことを可能としている。
また、特許文献2(特開2001−168853号公報)では、ビット幅計測用の特別のコマンドを用意して、受信側ではこのコマンドを利用してスタートビットのビット幅の計測を行う構成としている。
このような従来技術の構成によって1ビット幅の計測を高精度に行うことは可能となる。しかし、特許文献1の手法では、スタートビットに2ビットを使用することになり、転送データに対するスタートビットの占有率が高まり、結果としてデータ送信レートが低下してしまうという問題がある。
また、特許文献2の手法では、事前に特別のコマンドの送受信を行なって計測を行うことが必要であり、処理効率が低下するという問題がある。また、データ送信側で通信速度、すなわちボーレートの変更を行った場合、速度切り替え処理の発生ごとに、特別のコマンドを送信して計測を行うことが必要となり、通信速度の切り替えが発生する構成においては著しく処理効率が大きく低下してしまうという問題がある。
特開2007−259094号公報 特開2001−168853号公報
本願は、例えば上述の問題点に鑑みてなされたものであり、調歩同期方式によるシリアル通信処理を行う構成において、データ送信側で通信速度の切り替えを行った場合でも、データ受信側で正しいビット幅検出による転送データの解析を可能としたデータ通信装置、および通信制御方法、並びにプログラムを提供することを目的とする。
本発明の第1の側面は、
調歩同期方式のシリアル通信を実行する通信実行部と、
前記通信実行部が通信相手から受信する通信データのビット変化を検出するビット変化検出部と、
前記ビット変化検出部の検出するビット変化位置によって規定されるローパルスの継続期間であるローパルス幅を計測するタイマと、
前記タイマによって計測されるローパルス幅に応じて、前記通信データの通信速度判定処理を行う制御部を有し、
前記制御部は、
前記ローパルス幅が、低速通信データ対応のビット幅相当のローパルス幅であることの確認に基づいて、前記通信データの通信速度が低速通信であると判定する構成であるデータ通信装置にある。
さらに、本発明のデータ通信装置の一実施態様において、前記制御部は、データ通信装置が高速通信モードに設定されている場合に、前記通信データの通信速度が低速通信であると判定した場合、通信モードを低速通信モードに設定する制御を行う構成である。
さらに、本発明のデータ通信装置の一実施態様において、前記制御部は、前記ローパルス幅が、低速通信データ対応のビット幅相当のローパルス幅でないことの確認に基づいて、前記通信データの通信速度が高速通信であると判定する構成である。
さらに、本発明のデータ通信装置の一実施態様において、前記制御部は、データ通信装置が低速通信モードに設定されている場合に、前記通信データの通信速度が高速通信であると判定した場合、通信モードを高速通信モードに設定する制御を行う構成である。
さらに、本発明のデータ通信装置の一実施態様において、前記制御部は、前記ビット変化検出部から、前記通信データ中の信号の立ち下がり検出情報を入力し、該検出をトリガとして前記タイマによる時間計測を開始させ、前記ビット変化検出部から前記通信データ中の信号の立ち上がり検出情報を入力し、該検出をトリガとして前記タイマによる時間計測を終了させてローパルス幅情報を取得する構成である。
さらに、本発明のデータ通信装置の一実施態様において、前記制御部は、前記ビット変化検出部から、前記通信データ中のフレーム先頭のワードに対応するスタートビットの開始位置に対応する信号の立ち下がり検出情報を入力し、該検出をトリガとして前記タイマによる時間計測を開始させ、前記ビット変化検出部から前記通信データ中の信号の立ち上がり検出情報を入力し、該検出をトリガとして前記タイマによる時間計測を終了させてローパルス幅情報を取得する構成である。
さらに、本発明のデータ通信装置の一実施態様において、前記制御部は、通信データが高速通信であるか低速通信であるかを判定するためのデータとして、ローパルス幅の複数の値の各々が高速通信または低速通信のいずれであるかを対応付けたテーブルを有し、該テーブルを参照して前記タイマによって計測されるローパルス幅に応じて前記通信データの通信速度判定処理を行う構成である。
さらに、本発明のデータ通信装置の一実施態様において、前記制御部は、前記通信データに含まれるコマンドに応じて、通信速度の切り替え許容モードと禁止モードとの設定変更を行う構成である。
さらに、本発明のデータ通信装置の一実施態様において、前記データ通信装置は、情報処理装置本体に着脱可能な通信部を有するバッテリーであり、前記通信相手との通信処理を実行する構成である。
さらに、本発明のデータ通信装置の一実施態様において、前記通信相手は、バッテリーの装着されるカメラである。
さらに、本発明の第2の側面は、
データ通信装置において実行する通信制御方法であり、
通信実行部が、調歩同期方式のシリアル通信を実行する通信実行ステップと、
ビット変化検出部が、前記通信実行部が通信相手から受信する通信データのビット変化を検出するビット変化検出ステップと、
タイマが、前記ビット変化検出部の検出するビット変化位置によって規定されるローパルスの継続期間であるローパルス幅を計測する時間計測ステップと、
制御部が、前記タイマによって計測されるローパルス幅に応じて、前記通信データの通信速度判定処理を実行し、判定結果に応じて通信モードの変更を行う制御ステップを有し、
前記制御ステップは、
前記ローパルス幅が、低速通信データ対応のビット幅相当のローパルス幅であることの確認に基づいて、前記通信データの通信速度が低速通信であると判定するステップである通信制御方法にある。
さらに、本発明の第3の側面は、
データ通信装置において通信制御処理を実行させるプログラムであり、
通信実行部に、調歩同期方式のシリアル通信を実行させる通信実行ステップと、
ビット変化検出部に、前記通信実行部が通信相手から受信する通信データのビット変化を検出させるビット変化検出ステップと、
タイマに、前記ビット変化検出部の検出するビット変化位置によって規定されるローパルスの継続期間であるローパルス幅を計測させる時間計測ステップと、
制御部に、前記タイマによって計測されるローパルス幅に応じて、前記通信データの通信速度判定処理を実行し、判定結果に応じて通信モードの変更を行わせる制御ステップを有し、
前記制御ステップは、
前記ローパルス幅が、低速通信データ対応のビット幅相当のローパルス幅であることの確認に基づいて、前記通信データの通信速度が低速通信であると判定させるステップを含むプログラムにある。
なお、本発明のプログラムは、例えば、様々なプログラム・コードを実行可能な汎用システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
本発明の一実施例構成によれば、調歩同期方式のシリアル通信を実行する通信装置において、通信相手から受信する通信データのビット変化を検出してローパルスの継続期間であるローパルス幅を計測し、計測されたローパルス幅が低速通信データ対応のビット幅相当のローパルス幅であるか否かの判定に基づいて通信データが高速通信であるか低速通信であるかを判定する構成とした。本構成により通信速度が不明の通信相手からの通信データの速度検出が可能となり、相手に合わせた通信速度に切り替えて通信を成立させる制御が可能となる。
以下、図面を参照しながら本発明のデータ通信装置、および通信制御方法、並びにプログラムの詳細について説明する。説明は以下の項目に従って行う。
(1)データ通信システムおよびデータ通信装置の構成例
(2)データ通信装置の実行する通信速度判定処理例1
(3)データ通信装置の実行する通信速度判定処理例2
(4)通信処理の具体例
(5)データ通信装置の処理の詳細
(6)データ通信装置の実行する処理シーケンス
(1)データ通信システムおよびデータ通信装置の構成例
まず、本発明の適用可能なデータ通信システムの概要について説明する。本発明のデータ通信装置は調歩同期方式のシリアル通信を行う。さらに、異なる通信速度の通信データに対する処理を行う構成を持つ。
図2に本発明のデータ通信装置を利用したデータ通信システムの構成例を示す。図2において、本発明のデータ通信装置は、通信部b(スレーブ)200である。通信部b200は、通信部a1(マスタ)110、または通信部a2(マスタ)120と調歩同期方式のシリアル通信を行う。
通信部b(スレーブ)200は、通信部a1(マスタ)110とは通信速度A、例えば高速(8192bps)の通信速度での通信を行う。また、通信部a2(マスタ)120とは、通信速度B、例えば低速(2048bps)の通信速度での通信を行う。
各通信部は例えば情報処理装置の本体とバッテリーによって構成される。具体的には、通信部a1(マスタ)110と、通信部a2(マスタ)120はそれぞれ異なるビデオカメラやスチルカメラなどのカメラ本体であり、通信部b(スレーブ)200はこれらのカメラ本体に装着されるバッテリーである。
バッテリーである通信部b(スレーブ)200にはCPU、メモリなどが備えられ、カメラ本体である通信部a1(マスタ)110、または通信部a2(マスタ)120との通信を行い、例えばカメラの機種名などの情報をバッテリー内のメモリに記録し、本体からの要求に応じてこれらの記録データの読み出しや書き込みを行う。バッテリーとカメラ本体とは、データ書き込み要求やデータ読み取り要求などのコマンドや、書き込みデータや読み取りデータの送受信をシリアル通信によって行う。通信部a1(マスタ)110と、通信部a2(マスタ)120もそれぞれ通信制御などを行うCPU等からなる制御部を備えている。
バッテリーである通信部b(スレーブ)200は様々なカメラに装着される可能性がある。図2に示すように、例えば、
通信速度A(8192bps)のシリアル通信を実行する機能を持つカメラ本体としての通信部(ホスト)110、
通信速度B(2048bps)のシリアル通信を実行する機能を持つカメラ本体としての通信部(ホスト)120、
このように異なる通信速度でのシリアル通信を行う通信部と接続して通信を行うことが必要となる。
従って、通信部b(スレーブ)200は、複数の異なる通信速度のシリアル通信データを受信して解釈することが必要となる。さらに、複数の異なる通信速度のシリアル通信データを送信することも可能な構成であることが要求される。
通信部b(スレーブ)200は、通信部b(スレーブ)200に接続された通信部(ホスト)の実行する通信の通信速度を解析し、その通信速度に対応する通信速度でのデータ送信を行い、受信データの解析を行う。すなわち通信速度自動切り替え機能を持つ。
なお、先に説明したようにシリアルデータ通信における通信速度は、1秒あたりのビット数(bps)として規定されるボーレートで表現されることが多い。データ送信側とデータ受信側では同じボーレートでの処理が必要となる。通信部b(スレーブ)200は、通信部b(スレーブ)200に接続された通信部(ホスト)の実行する通信のボーレートを解析して、そのボーレートでの受信データの取得、解釈を実行し、そのボーレートでのデータ送信を実行する。
図3に、通信部b200と、通信部a1,110または通信部a2,120との間で実行されるシリアル通信の通信データ例を示す。通信部b200は、調歩同期方式のシリアル通信を行う。図3には、
(a)通信データ例
(b)ワード構成例
これらを示している。
調歩同期方式のシリアル通信では先に説明したように、スタートビットとストップビットとの間に送信対象とするデータを設定して送信が行われる。例えば、
スタートビット=1ビット
データビット=8ビット
ストップビット=1ビット
このような構成からなる通信データを1ワード(1word)とする。データ送信側では、このワード単位のデータを生成して受信側に出力する。なお、図3(a)に示すように、複数ワード(図ではワード0〜3の4ワード)を1フレーム(1Frame)とする。フレームは1つの通信単位である。
一般的に1線式のシリアル通信では、各ワード(Word)毎に、通信部a(マスタ)、または通信部b(スレーブ)側のどちらか一方がデータを出力するかが規定される。しかし、1ワード(1word)は8Bit(1Byte)のデータによって構成されており、表現可能なデータ種類は、2=256パターンのデータのみとなる。単純なコマンドやデータ送受信のみを実行する場合は、このような設定でも通信可能であるが、高機能化したシステムではこの表現データ数では不足する。
このため、複数ワードからなるフレームを1通信単位として設定し、フレーム単位での相互通信を行う。これにより表現できるデータを増やすことが可能となる。なお、フレーム(Frame)の開始位置は、一定時間ローパルス(LowPulse)が発生しないハイパルス区間以後の最初のローパルス発生位置によって識別することができる。このフレーム最初のローパルスは、フレームの先頭ワードのスタートビットの位置に対応する。
図4を参照して本発明の一実施例に係るデータ通信装置の構成例について説明する。この図4に示すデータ通信装置は、図2に示す通信部b(スレーブ)200の内部構成である。すなわち通信速度切り替え機能を持つ通信装置である。
通信部b200は、図4に示すように、通信実行部210、割り込み処理部220、タイマ230、制御部(CPU)240、CPUバス250を有する。
通信実行部210は、出力部211、入力部212、通信速度設定部213を有する。出力部211は、シリアル通信データを通信相手(本例では通信部(ホスト))に出力し、入力部212は通信相手からのシリアル通信データを入力する。なお、通信データは、先に図3を参照して説明したスタートビット、データビット、ストップビットによって構成されるワードデータである。フレーム単位で出力または入力する。通信速度設定部213は、通信相手の通信速度に一致する通信速度の設定を行う。なお、通信実行部210は、例えばUART(Universal Asynchronous Receiver Transmitter)等のシリアルインタフェースによって構成される。なお、PIOを利用した構成とすることも可能である。
割り込み処理部220は、通信相手からの送信データを入力し、ビット値(High/Low)が変化する部分を検出するビット変化検出部221を有する。
タイマ230は、制御部240の指示により時間計測を行う時間計測部231を有する。
制御部240は、プログラム実行部としてのCPUを有し、図示しないメモリに格納されたプログラムに従った処理を行い、通信実行部210、割り込み制御部220、タイマ230の処理制御を実行する。なお、制御部240は、通信速度算出部241を有し、通信相手からの入力データの通信速度の算出処理を実行する。
CPUバス250は、通信実行部210、割り込み制御部220、タイマ230、制御部250間のデータやコマンド転送に利用されるバスである。
図に示す記号A〜Nは、各構成部間で入出力されるデータやコマンドなどの信号である。以下、信号A〜Nの意味について示す。
信号Aは、シリアル出力データを示す信号であり、制御部240が生成し、通信実行部210に入力され、出力部211を介して外部に出力される。
信号Bは、シリアル入力データを示す信号であり、外部の通信相手から入力するシリアル通信データであり、入力部212を介して制御部240に入力される。
信号Cは、制御部240の通信速度算出部241の算出した通信速度、すなわち、通信相手から入力するシリアル通信データの解析によって算出した通信相手が適用している通信速度情報である。この通信速度情報が、通信実行部210の通信速度設定部213に提供される。通信速度設定部213は、制御部240から入力する通信速度に一致する通信速度でシリアル通信データの出力を行い、入力する通信データの処理を行うように通信実行部210を設定する。
信号Dは、制御部240から設定された通信速度の基準となる制御信号であり、出力部211、入力部212に提供される。出力部211はこの制御信号に従って出力するシリアル通信データのパルス幅の決定を行う。入力部212は、この制御信号に従って、通信相手から入力する通信データの解析を行う。例えばスタートビット、データビット、ストップビットなどの区別を行う。
信号Eは、シリアル通信の送信信号である。
信号Fは、シリアル通信の受信信号である。
これら信号E,Fは、先に図3を参照して説明したスタートビット、データビット、ストップビットによって構成されるワードを含む通信データである。さらに、1つ以上のワードからなるフレームが設定された通信データである場合もある。
信号Gは、制御部240がプログラムに従って設定する信号であり、割り込み処理部220のビット変化検出部221において検出すべき信号変化の態様を決定する信号である。具体的には、ビット変化がローからハイになる立ち上がり部を検出するか、ビット変化がハイからローになる立ち下がり部を検出するかを設定する信号である。なお、この制御信号を利用した具体的な処理シーケンスについては後述する。
信号Hは、シリアル通信の割り込み処理部220のビット変化検出部221においてビット変化部が検出された場合に、制御部240に対して出力する割り込み信号である。この割り込み信号が制御部240に入力に応じて、制御部240はタイマ230における時間計測の開始または終了させる制御などを行う。
信号Iは、通信相手からのシリアル通信の受信信号である。割り込み処理部220のビット変化検出部221は、通信相手からのシリアル通信データを入力して、ビット変化がローからハイになる立ち上がり部、またはビット変化がハイからローになる立ち下がり部を検出する処理を行う。
信号Jは、制御部240からタイマ230の時間計測部231に入力される信号であり、時間計測の開始または終了を指示する制御信号である。
信号Kは、タイマ230の時間計測部231の計測した時間の読み出しデータである。制御部240の指示に応じて読み出される。
信号Lは、割り込み処理部220の出力する信号H(割り込み信号)と、タイマ230の出力する信号K(時間計測部231の計測した時間)に対応する制御部240に対する入力信号である。制御部240の通信速度算出部241は、これらの入力情報を利用して、通信相手から入力するシリアル通信データの通信速度の算出を行う。
信号Mは、制御部の出力信号であり、以下の信号(M1)〜(M3)が含まれる。
(M1)制御部240の通信速度算出部241の算出した通信速度情報(通信実行部210に対する入力信号Cに相当する)
(M2)制御部240がプログラムに従って設定した信号であり、割り込み処理部220のビット変化検出部221において検出すべき信号変化の態様(ハイからローまたはローからハイ)を決定する信号(割り込み処理部220に対する入力信号Gに相当する)
(M3)制御部240からタイマ230の時間計測部231に出力される信号であり、時間計測の開始または終了を指示する制御信号(タイマ230に対する入力信号Jに相当する)
なお、各構成部間の信号はCPUバス250を介して転送される。
(2)データ通信装置の実行する通信速度判定処理例1
次に、図5を参照して、データ通信装置の実行する通信速度判定処理例1について説明する。すなわち、通信部b200の実行する通信速度判定処理である。通信部b200は通信相手から入力するシリアル通信データの解析を実行して受信データの通信速度を算出する。
通信部b200は、受信データの通信速度を算出した後、さらに、送信データの通信速度を受信データの通信速度に合わせた速度に設定する。さらに、通信相手から入力する通信データの解析に際しても、その通信速度に対応したビット幅でのスタートビット、データビットなどの判定を行い通信速度に適合した正確なデータ取得を行う。
通信部b200は、複数の通信速度での通信が可能な構成であり、通信相手から入力するシリアル通信データの通信速度を解析し、その通信速度での処理、すなわちデータ送信処理および受信データの解析を行う自動速度切り替え処理を実行する構成を持つ。
本処理例では、受信データの通信速度算出処理は1フレーム単位で実行する。例えば図5(a)にはワード0〜ワード3の4ワードからなる1フレームを示している。
ワード0のスタートビット301の立ち下がり(ハイからローへの変化点)を基点に、次に発生するパルスの立ち上がり(ローからハイへの変化ビット)までの時間を計測する。
図4に示す割り込み処理部220のビット変化検出部221が、受信データの立ち下がりや立ち上がりなどのビット変化を検出し検出情報が制御部240へ伝達され、これをトリガとして制御部240の制御の下でタイマ230の時間計測部231によって時間計測が行われる。
図5(b)に通信速度解析例を示す。1ワードは、
1ビットのスタートビット(ロー(0))、
8ビットのデータビット、
1ビットのストップビット(ハイ(1))、
これらのビットデータによって構成される。
なお、ここで説明する処理例は、通信相手から送信されて入力するシリアル通信データが高速(8192bps)通信である場合と、その1/4の速度の低速(2048bps)通信である場合のいずれかであり、これらのどちらの通信速度であるかを判定する処理例である。この判定処理は、制御部240の通信速度算出部241の処理として行われる。
図5の[(b1)通信データ例]に示すように、通信相手から入力するシリアル通信データが高速(8192bps)である場合の8ビットの1ワードに相当するデータが、低速(2048bps)通信である場合にはスタートビットと、データビット部の1ビット分のデータ領域しか含まれないことになる。
8ビットのデータビットは多くの場合、ロー(0)とハイ(1)の混在するビットデータである。従って、パルスの立ち上がり(ローからハイへの変化ビット)はデータビットの1〜8ビットのいずれかで発生する可能性が高い。この場合、時間計測は、データビットの最初のハイ(1)までの時間となり、8種類の計測時間が発生する可能性がある。さらに、8ビットのデータビットが全てローである場合は、ストップビットによる立ち上がりまでの時間が計測される。
なお、初期的には、通信先からの入力データは高速(8192bps)通信であると仮定してタイマによる計測が開始される。
図5の[(b2)ローパルス幅(ローパルス継続時間)]には、高速通信(8192bps)と仮定した場合のデータビットの1〜8ビットが最初の立ち上がりとなる場合(A〜H)と、およびストップビットが最初の立ち上がりとなる場合(I)、さらに高速通信(8192bps)におけるストップビット位置より先に最初の立ち上がりが発生する場合(J)についての計測時間を示している。
なお、図に示すA〜Iの各区間は、高速通信(8192bps)と仮定した場合のデータビットの1〜8ビットの切り替わり位置を中心とした1ビット幅分とする。
図5の[(b3)判定結果]はこれらの図5(b2)に示す計測時間が計測された場合の判定結果を示している。判定結果には、通信相手から入力するシリアル通信データの通信速度が高速(8192bps)であるか低速(2048bps)であるか、さらに、これらの判断結果に基づくデータビットの構成を示している。例えば制御部240のメモリには、この判定結果を得るためのテーブルが格納されている。すなわち、通信データが高速通信であるか低速通信であるかを判定するためのデータとして、ローパルス幅の複数の値の各々が高速通信または低速通信のいずれであるかを対応付けたテーブルを格納し、制御部240は、このテーブルを参照してタイマによって計測されるローパルス幅に応じて通信データの通信速度判定処理を行う。
図5(b3)の判定結果には上から9つのエントリを示しているが、これらは、図5(b2)のタイマ計測時間(A〜J)に対応している。すなわち、ワード0のスタートビット301の立ち下がり(ハイからローへの変化点)からのローパルス幅(ローパルス継続時間)が図5(b2)に示すA〜Jの各々の場合について、以下のような判定を行う。
ローパルス幅(ローパルス継続時間)=A
これは、高速通信のデータビットの第1ビット位置(ビット0)でローからハイに変化した場合に対応する。
この場合は、通信速度は高速(8192bps)であると判定する。
データビットは[1*******]である。なお、[*]は0または1を示す。
ローパルス幅(ローパルス継続時間)=B
これは、高速通信のデータビットの第2ビット位置(ビット1)でローからハイに変化した場合に対応する。
この場合は、通信速度は高速(8192bps)であると判定する。
データビットは[01******]である。
ローパルス幅(ローパルス継続時間)=C
これは、高速通信のデータビットの第3ビット位置(ビット2)でローからハイに変化した場合に対応する。
この場合は、通信速度は高速(8192bps)であると判定する。
データビットは[001*****]である。
ローパルス幅(ローパルス継続時間)=D
これは、高速通信のデータビットの第4ビット位置(ビット3)でローからハイに変化した場合に対応する。
また、これは、低速通信のデータビットの第1ビット位置(ビット0)でローからハイに変化した場合に対応する。
この場合は、通信速度は低速(2048bps)であると判定する。
データビットは[1*******]である。
ローパルス幅(ローパルス継続時間)=E
これは、高速通信のデータビットの第5ビット位置(ビット4)でローからハイに変化した場合に対応する。
この場合は、通信速度は高速(8192bps)であると判定する。
データビットは[00001***]である。
ローパルス幅(ローパルス継続時間)=F
これは、高速通信のデータビットの第6ビット位置(ビット5)でローからハイに変化した場合に対応する。
この場合は、通信速度は高速(8192bps)であると判定する。
データビットは[000001**]である。
ローパルス幅(ローパルス継続時間)=G
これは、高速通信のデータビットの第7ビット位置(ビット6)でローからハイに変化した場合に対応する。
この場合は、通信速度は高速(8192bps)であると判定する。
データビットは[0000001*]である。
ローパルス幅(ローパルス継続時間)=H
これは、高速通信のデータビットの第8ビット位置(ビット7)でローからハイに変化した場合に対応する。
また、これは、低速通信のデータビットの第2ビット位置(ビット1)でローからハイに変化した場合に対応する。
この場合は、通信速度は低速(2048bps)であると判定する。
データビットは[01******]である。
ローパルス幅(ローパルス継続時間)=I
これは、高速通信のストップビット位置でローからハイに変化した場合に対応する。
この場合は、通信速度は高速(8192bps)であると判定する。
データビットは[00000000]である。
ローパルス幅(ローパルス継続時間)=J
これは、高速通信のストップビット位置までにローからハイに変化しない場合に対応する。
この場合は、通信速度は低速(2048bps)であると判定する。
データビットは不明である。
このように、フレームの最初のワード0のスタートビットの立ち下がり(ハイからローへの変化点)からのローパルス幅(ローパルス継続時間)が、
高速(8192bps)通信における第1〜第3ビット(ビット0〜2)、
高速(8192bps)通信における第5〜第7ビット(ビット4〜6)、
高速(8192bps)通信におけるストップビット、
これらの位置である場合は、通信速度は高速(8192bps)通信であると判定する。
これら以外の場合は、低速(2048bps)通信であると判定する。すなわち、フレームの最初のワード0のスタートビットの立ち下がり(ハイからローへの変化点)からのローパルス幅(ローパルス継続時間)が、
高速(8192bps)通信における第4ビット(ビット3)、
高速(8192bps)通信における第8ビット(ビット7)、
高速(8192bps)通信におけるストップビット位置を越える場合、
これらの位置である場合は、通信速度は低速(2048bps)通信であると判定する。
この処理を確実に行うため、ワードに設定される可能性のあるデータビット中、以下の2つのパターンからなるデータ、
[0001****]
[00000001]
これらのデータはフレーム最初のワード(ワード0)では利用しない設定とする。あるいは無効データとして処理を行う。
通信部b200は、このように通信相手から入力するフレームの最初の立ち下がりからのローパルス継続時間を計測して通信データの通信速度を解析する。なお、初期設定として通信速度は高速(8192bps)であると仮定し、上記の計測によって、低速(2048bps)であると判定された場合は、低速モードへの切り替えを行う。すなわち、送信データを低速(2048bps)に切り替え、受信データの解析も低速(2048bps)対応の処理に切り替える処理を行うことになる。
本処理例では、通信部b200は、フレームの最初のワードの最初の立ち下がりからのローパルス継続時間を計測し、計測されたローパルス幅が高速(8192bps)通信にのみ発生するローパルス幅である場合は、高速モードでの処理、すなわち高速(8192bps)通信対応の設定とし、計測されたローパルス幅が低速(2048bps)通信に発生するローパルス幅である場合は、低速モードへの切り替え、すなわち低速(2048bps)通信対応の設定とする処理を行う。
なお、高速モード、すなわち高速(8192bps)通信対応の設定とは、送信データを高速(8192bps)通信データとして構成して送信し、受信データの処理も高速(8192bps)通信データに対応するビット幅での処理を行う設定である。低速モード、すなわち低速(2048bps)通信対応の設定とは、送信データを低速(2048bps)通信データとして構成して送信し、受信データの処理も低速(2048bps)通信データに対応するビット幅での処理を行う設定である。
先に説明した従来技術、すなわち特許文献1(特開2007−259094号公報)、あるいは特許文献2(特開2001−168853号公報)では、いずれも1ビットまたは2ビットからなるスタートビットのビット幅計測により通信速度の判定を行う構成である。これに対して、本願発明は、スタートビットから始まるローパルスの継続時間を計測し、この計測時間に応じて通信速度の判定を行う構成である。
特許文献1や特許文献2の処理では、スタートビットの最後のビット値とデータビットの最初のビット値が等しくなり正確な速度検出が困難になるのを避けるために、スタートビットの最後のビット値と等しい値をデータビットの最初のビットとして利用しない設定とするなどの工夫が必要となる。この場合8ビットのデータは実質的に7ビットのデータとしてしか利用できない。これは、結果として、256種類の8ビットデータ中、半分の128種類のデータが利用できないことに等しい。
これに対して、本発明の構成では、前述したように、利用しないデータビットは、
(a)[0001****]
(b)[00000001]
これらの2つのパターンのデータである。上記データ(a)は全部で16種類であり、本発明の処理で利用できないデータは256種類の8ビットデータ中、16+1=17種類のみとなる。このように本発明の構成を適用することで、より多くのデータ構成を有効に利用可能となる。
(3)データ通信装置の実行する通信速度判定処理例2
図5を参照して説明した通信速度判定処理例1は、フレームを構成する最初のワード(ワード0)のみを解析対象とした処理例である。しかし、上述の通信速度判定処理例1では、ワード0を解析対象とした通信速度判定処理に失敗した場合、次のフレームのワード0まで待って、再度解析を行うことが必要となる。
例えば送信側が誤って禁止されたデータ、すなわち、
(a)[0001****]
(b)[00000001]
これらのパターンのデータを送信した場合や、信号線にノイズが発生して解析に失敗した場合などにおいて、受信データに基づく通信速度判定処理を行う通信部b200は誤った通信速度を判定結果としてしまう場合がある。
このような場合、通信部b200は通信データを高速(8192bps)モードから低速(2048bps)モードに切り替えてしまう。しかし、通信相手からの通信データが実際は、高速(8192bps)であるので、通信部b200は、結果としてデータ解釈ができずエラーとなってしまう。このエラーが発生した後、再度速度判定処理を行うことになる。しかし、この結果、解釈できない無駄な通信データが多く発生することになり処理効率が低下してしまう。
以下に説明する処理例は、このような問題を解決するものである。以下に説明する処理例ではフレームを構成する最初のワード(ワード0)のみならず、全てのワードにおけるローパルス幅(ローパルス継続時間)を計測する。全てのワードにおけるローパルス幅(ローパルス継続時間)の計測結果に基づいて通信速度の判定を行う。
本処理例について図6を参照して説明する。図6には、
(a)ワード単位のローパルス幅検出例
(b)速度検出、切り替え処理例
これらの説明図を示している。
本処理例では、図6(a)に示すように、フレームの先頭ワード(ワード0)のみならず、フレームを構成するすべてのワードについてローパルス幅、すなわちローパルスの継続時間を計測する。
図6(a)に示す例において、(a1)は、通信部b200が受信するデータを構成する1つのワードを示している。初期設定では、受信データは高速(8192bps)通信であると仮定した処理を行う。図6(a1)は、高速(8192bps)通信である場合の1ワードのスタートビット、データビットの構成を示している。
本処理例では、このワードに対して、すべてのローパルス幅、すなわちローパルス幅(ローパルス継続時間)を計測する。図に示すように、
スタートビットがロー[0]、
データビットが[11000101]、
このような設定の場合、図6(a2)に示すように、ロー[0]パルスのパルス幅として、1〜3の3つの時間が計測される。
1はスタートビット[0]のパルス幅である。
2はデータビット中に発生した高速(8192bps)通信と仮定した場合の3ビット幅分のパルス幅である。
3は、データビット中に発生した高速(8192bps)通信と仮定した場合の1ビット幅分のパルス幅である。
図4に示す割り込み処理部220のビット変化検出部221が、受信データの立ち下がりや立ち上がりなどのビット変化を検出し検出情報が制御部240へ伝達され、これをトリガとして制御部240の制御の下でタイマ230の時間計測部231によってパルス幅に対応する時間計測が行われる。
本処理例では、このようなローパルス幅の計測をすべてのワードに対して実行する。計測したローパルス幅に従って、受信データが高速(8192bps)通信であるか低速(2048bps)通信であるかを判定する。この判定処理は、制御部240の通信速度算出部241の処理として行われる。判定処理は、先に説明した図5(b3)に示す判定結果とほぼ同様である。
すなわち、
計測したローパルス幅が、高速(8192bps)通信の1〜3ビット幅分、または5〜7ビット幅分である場合は、高速(8192bps)通信であると判定する。
計測したローパルス幅が、高速(8192bps)通信の4ビット幅分または8ビット幅分(=低速(2048bps)通信の1ビット幅分または2ビット幅分)、またはそれ以上である場合は、低速(2048bps)通信であると判定する。
図6(b)には、ワード0〜ワード3の4ワードからなる1フレームデータを受信した場合の通信部b200における処理例を示している。
通信部b200は、ステップS11〜S14の順に処理を行う。
まずステップS11において、フレーム先頭のワード0を処理対象としてローパルス幅の計測を行う。
ここで、ワード0に含まれるデータビットは[0001****]の禁止パターンのデータであったとする。通信部b200は、先に説明した処理例1と同様のローパルス幅計測によって、
高速(8192bps)通信の4ビット幅分=低速(2048bps)通信の1ビット幅分のローパルス幅を計測することになる。この結果、先に説明した図5(b)の判定処理に従って、この受信データは高速(8192bps)通信ではなく低速(2048bps)通信であると判定する。受信部は、この時点で高速(8192bps)通信に対応する処理設定から、低速(2048bps)通信に対応する処理設定に変更する。
次にステップS12において、通信部b200は、ワード1のローパルス幅計測を行う。ここでは、図に示すように、
高速(8192bps)通信の2ビット幅分
高速(8192bps)通信の1ビット幅分
高速(8192bps)通信の1ビット幅分
これらの3つのローパルス幅が計測される。
これらの3つのローパルス幅は、すべて高速(8192bps)通信であると判定されるパルス幅である。通信部b200は、この時点で、低速(2048bps)通信に対応する処理設定から、高速(8192bps)通信に対応する処理設定に変更する。
次にステップS13において、通信部b200は、ワード2のローパルス幅計測を行う。ここでは、図に示すように、
高速(8192bps)通信の4ビット幅分(=低速(2048bps)通信の1ビット幅分)
このローパルス幅が計測される。このローパルス幅は、低速(2048bps)通信であると判定されるパルス幅である。
本処理例では、低速(2048bps)通信から高速(8192bps)通信への切り替えは、即時実行するが、高速(8192bps)通信から低速(2048bps)通信への設定変更は、ワード0のスタートビットからのローパルス幅計測時にのみ行う。
従って、この時点では高速(8192bps)通信の設定を維持する。
次にステップS14において、通信部b200は、ワード3のローパルス幅計測を行う。ここでは、図に示すように、
高速(8192bps)通信の1ビット幅分
この1つのローパルス幅が計測される。この1つのローパルス幅は、高速(8192bps)通信であると判定されるパルス幅である。通信部b200は、この時点で設定が高速(8192bps)通信であるので、そのまま高速(8192bps)通信対応の設定を継続する。なお、この時点で低速(2048bps)通信に対応する処理設定がなされている場合は、即座に高速(8192bps)通信に対応する処理設定に変更する。
このように、本処理例では、すべてのワードにおいてローパルス幅の計測を行い、いずれかのワードにおいて計測されたローパルス幅が高速(8192bps)通信にのみ発生するローパルス幅である場合は、通信部b200は即座に高速モード、すなわち高速(8192bps)通信対応の設定に切り替える。具体的には送信データを高速(8192bps)通信データとして構成して送信し、受信データの処理も高速(8192bps)通信データに対応するビット幅での処理を行う。
このような処理を行うことで、高速通信を誤って低速通信と判定して設定を変更してしまった場合においても、即座に高速通信の設定に戻すことが可能となる。具体的には、例えばデータ送信側が誤って禁止パターンのデータを送信してしまった場合やノイズ等によって受信データの解析処理にエラーが発生し、誤って低速通信データであると判定した場合などに、即座に高速通信データ対応の設定に戻すことが可能となる。
なお、本処理例2においても、処理例1と同様、
[0001****]
[00000001]
これらのデータはフレーム最初のワード(ワード0)では利用しない設定とする。あるいは無効データとして処理を行う。フレームを構成する2番目以降のワードには、これらのデータの利用を許容してもよい。すなわちデータ制限を行なわない設定としてよい。
ワード1〜3においてデータ制限を行わない場合、高速(8192bps)通信データとしても低速(2048bps)通信データとしても解釈可能なワード構成は、スタートビット[S=0]とした場合、[S00011111]、[S00000001]、[S00010000]、これら3パターンしかない。
これらのデータビット構成がワード1〜ワード3において発生した場合は、通信部b200は、低速通信データであると判定することになるが、この判定のみでは、通信部の設定を高速通信モードから低速通信モードに変更することはない。本処理例では、高速通信モードから低速通信モードに変更する処理は、フレーム最初のワードの先頭のローパルス幅の計測に基づく場合に制限しているからである。
すなわち、次のフレームの最初のワードの先頭のローパルス幅の計測を実行して、そのローパルス幅が図5(b3)の判定に基づいて低速通信である場合に限り、低速通信モードへの変更を行う。しかし、本処理例2においても、処理例1と同様、
[0001****]
[00000001]
これらのデータはフレーム最初のワード(ワード0)では利用しない設定としているため、高速通信である場合は、禁止データビットの送信や誤った判定がない限り、ここで低速通信であると判定される可能性はない。
このように、本処理例では、低速通信モードから高速通信モードへの変更は、フレーム途中のワードの検出情報に基づいて即座に行うが、高速モードから低速モードへの変更は、フレーム最初のワードの先頭のローパルス幅の計測に基づいて行う。この処理によって、1つのフレームの先頭ワードで誤って低速通信と解釈され、低速通信モードに誤設定された場合でも同一フレームの後続ワードのローパルス幅計測に基づいて高速通信モードに戻すことが可能であり、次のフレームからは高速通信モードで有効なデータの送受信を行うことが可能となる。
(4)通信処理の具体例
次に4ワードを1フレームとして設定したシリアルデータ通信処理の具体例について説明する。
図7に、4ワードを1フレームとして設定したシリアルデータ通信処理の1つの具体例を示す。図7には、
(a)フレーム構成例
(b)コマンドに対する処理例
これらの説明図を示している。
図7(a)に示すように1フレームを構成するワード0〜ワード3は、以下のように対応付けされているものとする。
ワード0:制御の方法(コマンド)をデータビットとして格納したワード
ワード1:制御項目をデータビットとして格納したワード
ワード2:制御内容をデータビットとして格納したワード
ワード3:制御結果をデータビットとして格納したワード
さらに、ワード0に設定されるコマンドは以下の3種類とする。
[00H]:処理なし(通信系のリセット)
[10H]:通信部a(マスタ)から通信部b(スレーブ)への制御
[20H]:通信部b(スレーブ)から通信部a(マスタ)への制御
なお、Hは16進数を示し、
[00H]=[00000000]
[hhH]=[11111111]
である。
図7(b)はこれらのコマンドを含むフレームを受信した通信部b側の処理について示している。
[00H]以外の定義されているコマンド(Command)である[10H]または[20H]を、通信部bが正常に受け付けた場合は、通信速度の自動切り替えを禁止する。すなわち、上述した処理例1または処理例2において説明したパルス幅の計測に基づく通信速度の判定を停止し、判定結果に基づく通信モードの切り替えを禁止する。
実際に通信部a側は、低速(2048bps)通信、または高速(8192bps)通信のいずれかの通信を行うため、正常にコマンドを通信部b側が受け付けた場合は、双方が共通する通信モードでデータ送受信が成立していることになる。従って、それ以降、通信部aと通信部bの接続が切り離されるまで、通信速度の自動切り替えが不要となり、通信速度を固定させることが必要となる。
従って、処理の定義されたコマンド[10H]または[20H]を、通信部bが正常に受け付けた場合は、通信速度の自動切り替えを禁止する。
その他のコマンドの受信が正常に行われた場合と、コマンドが正常に受信できなかった場合は、いずれも通信速度の自動切り替えを許可する。すなわち、上述した処理例1または処理例2において説明したパルス幅計測を実行して通信速度の判定を行い、判定結果に基づく通信モードの切り替えを実行する。
また、故意に通信部a側が通信速度を切り替えようとする場合は、通信部aは、コマンド[00H]を通信部bに対して送出する。この処理によって、通信部bは、通信速度の自動切り替え禁止を解除し、通信部b側の通信速度の自動切り替えが許容される。その後に、通信部a側は、切り替えた通信速度で通信を行う。
通信部bは、上述した処理例1または処理例2において説明したパルス幅計測を実行して通信速度の判定を行い、判定結果に基づく通信モードの切り替えを実行する。この処理によって、通信部aと通信部b側との間で、切り替え後の通信速度での通信が成立することになる。
図7(b)に示すように、異常受信の場合、すなわち通信部b側が通信を正常に受信できなかった場合も通信速度自動切り替えを許可状態とする。この場合も、上述した処理例1または処理例2において説明したパルス幅計測を実行して通信速度の判定を行い、判定結果に基づく通信モードの切り替え処理を実行する。
また、通信部aの入れ替え処理、たとえば図2に示す通信部b200を通信部a1,110からはずし、通信部a2,120に接続する処理、あるいはその逆の処理を想定し、通信部b200が、予め設定した一定時間通信が行われないことを検出した場合、通信部b200においてコマンド[00H]と同様の処理を自動的に行なう。
すなわち、通信部bの通信速度自動切り替えが禁止状態にあった場合でも、通信部bが、予め設定した一定時間通信が行われないことを検出した場合、禁止状態を解除し、通信速度自動切り替え許可状態に設定する。この設定によって、新たな通信部aの新たな通信速度での通信データに対する通信速度判定が行われることになり、異なる通信速度で通信する異なる通信部aの切り替えに対応可能となる。
なお、通信速度自動切り替え禁止状態においても、通信部b側の設定されている通信速度と異なる速度の通信データを受信した場合は、通信異常が発生することになる。この場合、通信速度自動切り替え禁止は解除され、上述した処理例1または処理例2において説明したパルス幅計測を実行して通信速度の判定を行い、判定結果に基づく通信モードの切り替え処理が実行される。
図8〜図10に具体的な通信処理例を示す。
図8には、以下の(A)〜(D)の4つの処理例を示している。
(A)高速(8192bps)通信に固定した通信処理例
(B)低速(2048bps)通信に固定した通信処理例
(C)通信部aからコマンド[00H]を通信部bに出力して、高速(8192bps)通信と低速(2048bps)通信の切り替えを行う処理例
(D)通信部bが通信速度切り替え禁止状態にある場合、異常受信によって通信速度切り替えを行う処理例
まず、(A)高速(8192bps)通信に固定した通信処理例の場合について説明する。前述したように、通信部bの初期設定は、高速(8192bps)通信モードにある。従って通信部aから高速(8192bps)通信データを受信した場合、高速(8192bps)通信モードで受信データの解析を行う。従って、この場合、先頭フレームから正しい受信データの解析が可能となり、正常受信が可能となる。
なお、通信部bは初期状態として通信速度の自動切り替えが許容されているが、コマンド[10H]、または[20H]を正常受信したことで、通信速度の自動切り替えが禁止され、その後は、高速(8192bps)通信モードでの処理が継続される。
次に、(B)低速(2048bps)通信に固定した通信処理例の場合について説明する。通信部bの初期設定は、高速(8192bps)通信モードにある。通信部bは初期状態として通信速度の自動切り替えが許容されている。従って通信部aから低速(2048bps)通信データを受信した場合、最初のフレームに対して、上述の処理例1または処理例2により、パルス幅計測を実行して通信速度の判定を行う。
この場合、最初の受信フレーム411は、通信速度判定処理に適用されることになり、通信データの取得ができず、有効な通信データとして利用できない。しかし、2番目以降のフレーム412は、判定結果に基づく通信速度の切り替えが実行された後の処理フレームとしての対応が可能となり、有効な通信データとして利用できる。
次に、(C)通信部aからコマンド[00H]を通信部bに出力して、高速(8192bps)通信と低速(2048bps)通信の切り替えを行う処理例について説明する。
通信部aは、フレーム421,422を高速(8192bps)通信モードで送信し、フレーム422においてコマンド[00H]を送信する。コマンド[00H]を受信した通信部bは、通信速度の自動切り替えの禁止モードから許容モードへ変更する。
その後、通信部aは、通信速度を切り替えて低速(2048bps)通信でフレーム423以降を送信する。通信部bは、低速(2048bps)通信で通信部aが出力した最初のフレーム423に対して、上述した処理例1または処理例2に従ったパルス幅計測を実行して通信速度の判定を行う。この判定処理によって、低速(2048bps)通信であることを識別して通信モードを低速(2048bps)通信モードに切り替える。
この場合、低速(2048bps)通信に切り替えた後の最初の受信フレーム423は、通信速度判定処理に適用されることになり、通信データの取得ができず、有効な通信データとして利用できない。しかし、2番目以降のフレーム424,425は、判定結果に基づく通信速度の切り替えが実行された後の処理フレームとしての対応が可能となり、有効な通信データとして利用できる。
さらに、通信部aは、フレーム425においてコマンド[00H]を送信する。コマンド[00H]を受信した通信部bは、通信速度の自動切り替えの禁止モードから許容モードへ変更する。通信部aは、再度、通信速度を切り替えて高速(8192bps)通信でフレーム426以降を送信する。
通信部bは、高速(8192bps)通信で通信部aが出力した最初のフレーム426に対して、上述した処理例1または処理例2に従ったパルス幅計測を実行して通信速度の判定を行う。この判定処理によって、高速(8192bps)通信であることを識別して通信モードを高速(8192bps)通信モードに切り替える。
この場合、高速(8192bps)通信に切り替えた後の最初の受信フレーム426は、通信速度判定処理に適用されることになり、通信データの取得ができず、有効な通信データとして利用できない。しかし、その後のフレーム427,428は、判定結果に基づく通信速度の切り替えが実行された後の処理フレームとしての対応が可能となり、有効な通信データとして利用できる。
次に、(D)通信部bが通信速度切り替え禁止状態にある場合、異常受信によって通信速度切り替えを行う処理例について説明する。
フレーム431は、高速(8192bps)通信フレームであり、通信部bは、初期設定が高速(8192bps)通信であるので、処理可能となる。その後、通信部aはコマンド[00]を送信することなしに、突然通信速度の切り替えを行い、低速(2048bps)通信モードでフレーム432〜434を送信する。
通信部bは、フレーム431を受信した時点で正常受信状態にあり、通信速度の自動切り替えが禁止状態になっている。しかし、その後の低速(2048bps)のフレーム432の受信時点で、通信部bは高速(8192bps)通信モードにあり、フレーム432を解析できない。従って、異常受信であると判定し、この時点で通信部bは、通信速度の自動切り替えを禁止状態から許容状態に切り替える。その後のフレーム433を利用して、上述した処理例1または処理例2に従ったパルス幅計測を実行して通信速度の判定を行う。この判定処理によって、低速(2048bps)であることを識別して通信モードを低速(2048bps)通信モードに切り替える。
この場合、通信部aが低速(2048bps)通信に切り替えた後の最初の受信フレーム432は異常受信となり、また、次のフレーム433は、通信速度判定処理に適用されることになり、通信データの取得ができず、有効な通信データとして利用できない。しかし、その後のフレーム434は、判定結果に基づく通信速度の切り替えが実行された後の処理フレームとしての対応が可能となり、有効な通信データとして利用できる。
さらに、通信部aはコマンド[00]を送信することなしに、突然通信速度の切り替えを行い、高速(8192bps)通信モードでフレーム435〜437を送信する。
通信部bは、フレーム434を受信した時点で正常受信状態にあり、通信速度の自動切り替えが禁止状態になっている。しかし、その後の高速(8192bps)のフレーム435の受信時点で、通信部bは低速(2048bps)通信モードにあり、フレーム435を解析できない。従って、異常受信であると判定し、この時点で通信部bは、通信速度の自動切り替えを禁止状態から許容状態に切り替える。その後のフレーム436を利用して、上述した処理例1または処理例2に従ったパルス幅計測を実行して通信速度の判定を行う。この判定処理によって、高速(8192bps)であることを識別して通信モードを高速(8192bps)通信モードに切り替える。
この場合、通信部aが高速(8192bps)通信に切り替えた後の最初の受信フレーム435は異常受信となり、また、次のフレーム436は、通信速度判定処理に適用されることになり、通信データの取得ができず、有効な通信データとして利用できない。しかし、その後のフレーム437は、判定結果に基づく通信速度の切り替えが実行された後の処理フレームとしての対応が可能となり、有効な通信データとして利用できる。
次に、図9を参照して、通信停止期間が予め設定された閾値時間以上となった場合の処理例について説明する。先に説明したように通信部bは予め設定した閾値時間以上、通信停止期間があった場合、通信速度の自動切り替えが禁止状態にある場合、禁止状態から許容状態に切り替える処理を行う。通信部bは予め設定した閾値時間以上、通信停止期間があった場合、初期状態に設定される。初期状態は、高速(8192bps)通信モードでかつ、通信速度の自動切り替え許容状態である。
図9に示すマーク451は、閾値時間以上の経過を示している。通信部bは、このマーク451の時点で、通信速度の自動切り替え禁止状態にある場合、禁止状態から許容状態に切り替える処理を行う。
図9には、以下の(A)〜(D)の4つの処理例を示している。いずれも閾値時間以上の通信停止状態を含む例である。
(A)高速(8192bps)通信に固定した通信処理例
(B)低速(2048bps)通信に固定した通信処理例
(C)低速(2048bps)通信から高速(8192bps)通信への切り替え処理例
(D)高速(8192bps)通信から低速(2048bps)通信への切り替え処理例
まず、(A)高速(8192bps)通信に固定した通信処理例の場合について説明する。前述したように、通信部bの初期設定は、高速(8192bps)通信モードにある。従って通信部aから高速(8192bps)通信データを受信した場合、高速(8192bps)通信モードで受信データの解析を行う。従って、この場合、先頭フレームから正しい受信データの解析が可能となり、正常受信が可能となる。
また、通信停止期間が予め設定した閾値以上経過した場合、通信部bは初期状態に移行する。初期状態は、高速(8192bps)通信モードでかつ、通信速度の自動切り替え許容状態である。従って図9(A)に示すマーク451以降において、通信部bは初期状態としての高速(8192bps)通信モードに設定されており、受信する高速(8192bps)通信データは、高速(8192bps)通信モードに設定された通信部bにおいて正しく受信される。
次に、(B)低速(2048bps)通信に固定した通信処理例の場合について説明する。通信部bの初期設定は、高速(8192bps)通信モードにある。通信部bは初期状態として通信速度の自動切り替えが許容されている。従って通信部aから低速(2048bps)通信データを受信した場合、最初のフレーム461に対して、上述の処理例1または処理例2により、パルス幅計測を実行して通信速度の判定を行う。
この場合、最初の受信フレーム461は、通信速度判定処理に適用されることになり、通信データの取得ができず、有効な通信データとして利用できない。しかし、2番目以降のフレーム462は、判定結果に基づく通信速度の切り替えが実行された後の処理フレームとしての対応が可能となり、有効な通信データとして利用できる。
次にマーク451として示す予め設定した閾値以上の通信停止期間が発生すると、通信部bは初期状態に移行する。初期状態は、高速(8192bps)通信モードでかつ、通信速度の自動切り替え許容状態である。従って図9(B)に示すマーク451以降において、通信部bは初期状態としての高速(8192bps)通信モードに設定され、通信速度の自動切り替え許容状態にある。
ここで、最初に受信する低速(2048bps)通信データとしてのフレーム463は通信速度の判定用フレームとされる。上述した処理例1または処理例2に従ったパルス幅計測を実行して通信速度の判定を行う。この判定処理によって、低速(2048bps)通信であることを識別して通信モードを低速(2048bps)通信モードに切り替える。
この場合、一定時間経過後の最初の受信フレーム463は、通信速度判定処理に適用されることになり、通信データの取得ができず、有効な通信データとして利用できない。しかし、2番目以降のフレーム464,465は、判定結果に基づく通信速度の切り替えが実行された後の処理フレームとしての対応が可能となり、有効な通信データとして利用できる。
次に、(C)低速(2048bps)通信から高速(8192bps)通信への切り替え処理例について説明する。
通信部bの初期状態で最初に受信する低速(2048bps)通信のフレーム471は通信部bにおいて通信速度の判定用フレームとされる。上述した処理例1または処理例2に従ったパルス幅計測を実行して通信速度の判定を行う。この判定処理によって、低速(2048bps)通信であることを識別して通信モードを低速(2048bps)通信モードに切り替える。フレーム472は正常受信できる。
次にマーク451として示す予め設定した閾値以上の通信停止期間が発生すると、通信部bは初期状態に移行する。初期状態は、高速(8192bps)通信モードでかつ、通信速度の自動切り替え許容状態である。従って図9(C)に示すマーク451以降において、通信部bは初期状態としての高速(8192bps)通信モードに設定され、通信速度の自動切り替え許容状態にある。
その後、通信部aから高速(8192bps)通信モードに従ったフレーム473〜475は通信部bにおいて正常受信される。
次に、(D)高速(8192bps)通信から低速(2048bps)通信への切り替え処理例について説明する。
通信部bの初期状態(高速通信モード)で受信する高速(8192bps)通信のフレーム481,482は通信部bにおいて正常受信される。
次にマーク451として示す予め設定した閾値以上の通信停止期間が発生すると、通信部bは初期状態に移行する。初期状態は、高速(8192bps)通信モードでかつ、通信速度の自動切り替え許容状態である。従って図9(D)に示すマーク451以降において、通信部bは初期状態としての高速(8192bps)通信モードに設定され、通信速度の自動切り替え許容状態にある。
ここで、最初に受信する低速(2048bps)通信データとしてのフレーム483は通信速度の判定用フレームとされる。上述した処理例1または処理例2に従ったパルス幅計測を実行して通信速度の判定を行う。この判定処理によって、低速(2048bps)通信であることを識別して通信モードを低速(2048bps)通信モードに切り替える。
この場合、一定時間経過後の最初の受信フレーム483は、通信速度判定処理に適用されることになり、通信データの取得ができず、有効な通信データとして利用できない。しかし、2番目以降のフレーム484は、判定結果に基づく通信速度の切り替えが実行された後の処理フレームとしての対応が可能となり、有効な通信データとして利用できる。
図8、図9では1フレームに4ワードが含まれる場合の処理例である。次に、図10を参照して1フレーム=1ワードとした場合の処理例について説明する。
図10には、以下の(A)〜(C)の3つの処理例を示している。いずれも1フレーム=1ワードとした処理例である。
(A)低速(2048bps)通信に固定した通信処理例
(B)コマンドによる低速(2048bps)通信と高速(8192bps)通信の切り替え処理例
(C)コマンドを使用しない低速(2048bps)通信と高速(8192bps)通信の切り替え処理例
まず、低速(2048bps)通信に固定した通信処理例について説明する。通信部bの初期設定は、高速(8192bps)通信モードにある。通信部bは初期状態として通信速度の自動切り替えが許容されている。従って通信部aから低速(2048bps)通信データを受信した場合、最初のフレーム511に対して、上述の処理例1または処理例2により、パルス幅計測を実行して通信速度の判定を行う。なお、本処理例において、1フレームは1ワードのみであり、1ワードを利用して通信速度判定を完了させることになる。
この場合、最初の受信フレーム511は、通信速度判定処理に適用されることになり、通信データの取得ができず、有効な通信データとして利用できない。しかし、2番目以降のフレーム512,513・・・は、判定結果に基づく通信速度の切り替えが実行された後の処理フレームとしての対応が可能となり、有効な通信データとして利用できる。なお1フレーム=1ワードである。
次に、(B)コマンドによる低速(2048bps)通信と高速(8192bps)通信の切り替え処理例について説明する。
通信部bの初期状態(高速通信モード)で受信する高速(8192bps)通信のフレーム521は通信部bにおいて正常受信される。通信部aはその後、高速(8192bps)通信の複数フレーム522を利用してコマンド[00H]を通信部bに送信する。
通信部bは、コマンド[00H]受信により、通信速度の自動切り替え禁止状態を解除して許容状態に移行する。その後、通信部aから低速(2048bps)通信のフレーム523を受信し、このフレーム523を通信速度の判定用フレームとする。このフレーム523に対して、上述した処理例1または処理例2に従ったパルス幅計測を実行して通信速度の判定を行う。この判定処理によって、低速(2048bps)通信であることを識別して通信モードを低速(2048bps)通信モードに切り替える。その後は、低速(2048bps)通信モードで通信を行う。
通信部aは、その後、低速(2048bps)通信モードでコマンド[00H]を通信部bに送信する。フレーム524等を利用した送信処理である。
通信部bは、コマンド[00H]受信により、通信速度の自動切り替え禁止状態を解除して許容状態に移行する。その後、通信部aから高速(8192bps)通信のフレーム525を受信し、このフレーム525を通信速度の判定用フレームとする。このフレーム525に対して、上述した処理例1または処理例2に従ったパルス幅計測を実行して通信速度の判定を行う。この判定処理によって、高速(8192bps)通信であることを識別して通信モードを高速(8192bps)通信モードに切り替える。その後は、高速(8192bps)通信モードで通信を行う。
次に、(C)コマンドを使用しない低速(2048bps)通信と高速(8192bps)通信の切り替え処理例について説明する。
通信部bの初期状態(高速通信モード)で受信する高速(8192bps)通信のフレーム531他は通信部bにおいて正常受信される。通信部aはその後、コマンドを送信することなく、通信速度切り替えを行い、低速(2048bps)通信のフレーム532を送信する。
通信部bは、高速通信モードフレーム532を受信し異常受信となる。この時点で通信部bは、通信速度の自動切り替え禁止状態から許容状態へ切り替える。通信部bは、次のフレーム533を通信速度の判定用フレームとして、上述した処理例1または処理例2に従ったパルス幅計測を実行して通信速度の判定を行う。この判定処理によって、低速(2048bps)通信であることを識別して通信モードを低速(2048bps)通信モードに切り替える。
この場合、通信部aが低速(2048bps)通信に切り替えた後の最初の受信フレーム532は異常受信となり、また、次のフレーム533は、通信速度判定処理に適用されることになり、通信データの取得ができず、有効な通信データとして利用できない。しかし、その後のフレーム534は、判定結果に基づく通信速度の切り替えが実行された後の処理フレームとしての対応が可能となり、有効な通信データとして利用できる。
さらに、通信部aは、フレーム535から高速(8192bps)通信に切り替えて送信を行う。
通信部bは、低速通信モードで、高速通信フレーム535を受信するので、異常受信となる。この時点で通信部bは、通信速度の自動切り替え禁止状態から許容状態へ切り替える。通信部bは、次のフレーム536を通信速度の判定用フレームとして、上述した処理例1または処理例2に従ったパルス幅計測を実行して通信速度の判定を行う。この判定処理によって、高速(8192bps)通信であることを識別して通信モードを高速(8192bps)通信モードに切り替える。
この場合、通信部aが高速(8192bps)通信に切り替えた後の最初の受信フレーム535は異常受信となり、また、次のフレーム536は、通信速度判定処理に適用されることになり、通信データの取得ができず、有効な通信データとして利用できない。しかし、その後のフレームは、判定結果に基づく通信速度の切り替えが実行された後の処理フレームとしての対応が可能となり、有効な通信データとして利用できる。
(5)データ通信装置の処理の詳細
次に、図11を参照して通信部b200の構成要素と各処理との対応関係について説明する。
初期状態においては、通信実行部210は、高速(8192bps)通信モードでデータを送受信する。すなわち、出力部211を介して出力するデータは、高速(8192bps)通信に対応したビット幅でワードやフレームを設定したシリアル通信データとして出力する。また入力部212を介して入力するシリアル通信データに対しては高速(8192bps)通信に対応したビット幅でスタートビット、データビット等を解析し、データを取得する。なお、初期状態で出力部211から最初に出力するコマンドは[00H]とする。
割り込み処理部220におけるビット変化検出部221は、初期状態では、立ち下がり検出処理を行い、割込許可状態に設定されている。
タイマ230における時間計測部231は、初期状態では、停止状態とする。
この初期状態で、シリアル通信データが通信相手である通信部aから入力される。入力データは、図11(a)に示す入力データ501であるとする。時間[t1]の位置において、信号線がハイからローへ変化する。すなわち立ち下がりを示す。
この入力データは、図11に示す経路[I]によって割り込み処理部220のビット変化検出部221に入力される。ビット変化検出部221は、初期状態で立ち下がり検出を行う設定であり、この時間[t1]の立ち下がりが検出される。検出情報は、経路[H],[L]によって制御部240の通信速度算出部241に入力される。
制御部240の通信速度算出部241は、入力データの立ち下がりの検出をトリガとして、経路[M],[J]を経由して、タイマ230の時間計測部231に時間計測を開始させる。この処理はローパルス幅の計測処理の開始である。さらに、制御部240の通信速度算出部241は、この時間計測の開始に併せて割り込み処理部220のビット変化検出部221の設定を立ち上がり検出/割込許可状態に設定変更する。
次に、図11(a)に示す時間[t2]の位置において、フレーム最初のワード0(Word0)のデータビットの値に応じて信号線がローからハイへ変化する。すなわち立ち上がりを示す。
この入力データは、図11に示す経路[I]によって割り込み処理部220のビット変化検出部221に入力される。ビット変化検出部221は、この時点で立ち上がり検出を行う設定であり、この時間[t2]の立ち上がりが検出される。検出情報は、経路[H],[L]によって制御部240の通信速度算出部241に入力される。
制御部240の通信速度算出部241は、入力データの立ち上がりの検出をトリガとして、経路[M],[J]を経由して、タイマ230の時間計測部231に時間計測を終了させる。ここまでの計測時間[T12]が、ローパルス幅(ローパルス継続時間)として経路[K],[L]を介して制御部240の通信速度算出部241に入力される。これがローパルス幅である。さらに、制御部240の通信速度算出部241は、この時間計測の終了に併せて割り込み処理部220のビット変化検出部221の設定を立ち下がり検出/割込許可状態に設定変更し、時間計測部の計測時間を0に戻し、再度計測を開始する。この計測は、ハイパルス区間の計測となる。
制御部240の通信速度算出部241は、入力した計測時間[T12]を、ローパルス幅(ローパルス継続時間)として、入力データの通信速度の判定を行なう。判定処理は、図5(b2)に示すローパルス幅に基づいて、図5(b3)に示す判定結果を得る処理として行われる。
具体的には、先に説明したように、フレームの最初のワード0のスタートビットの立ち下がり(ハイからローへの変化点)からのローパルス幅(ローパルス継続時間)である[T12]が、
高速(8192bps)通信における第1〜第3ビット(ビット0〜2)、
高速(8192bps)通信における第5〜第7ビット(ビット4〜6)、
高速(8192bps)通信におけるストップビット、
これらの位置である場合は、通信速度は高速(8192bps)通信であると判定する。
これら以外の場合は、低速(2048bps)通信であると判定する。すなわち、フレームの最初のワード0のスタートビットの立ち下がり(ハイからローへの変化点)からのローパルス幅(ローパルス継続時間)が、
高速(8192bps)通信における第4ビット(ビット3)、
高速(8192bps)通信における第8ビット(ビット7)、
高速(8192bps)通信におけるストップビット位置を越える場合、
これらの位置である場合は、通信速度は低速(2048bps)通信であると判定する。
具体的には、例えば時間[T12]が、低速(2048bps)の1Bit幅(488μsec±60μsec)または2Bit幅(976μsec±60μsec)に入っている場合、通信部bが通信速度自動切り替え許可設定にある場合に、通信モードを高速(8192bps)通信モードから低速(2048bps)通信モードに切り替える処理を行う。切り替え制御は、制御部240から経路[M],[C]を経由して通信実行部210の通信速度設定部213に通知される。
通信速度設定部213は、制御部からの通知に基づいて、通信モードを高速(8192bps)通信モードから低速(2048bps)通信モードに切り替える処理を行う。具体的には、出力部211を介して出力するシリアル通信データを低速(2048bps)通信モード対応のそう品データとし、さらに入力部212を介して似有力するシリアル通信データの解析を低速(2048bps)通信モードでの解析に変更する。
なお、通信部bの現状の設定が低速(2048bps)通信モードである場合において、時間[T12]、すなわち、フレームの最初のワード0のスタートビットの立ち下がり(ハイからローへの変化点)からのローパルス幅(ローパルス継続時間)である[T12]が、
高速(8192bps)通信における第1〜第3ビット(ビット0〜2)、
高速(8192bps)通信における第5〜第7ビット(ビット4〜6)、
高速(8192bps)通信におけるストップビット、
これらの位置である場合は、通信速度は高速(8192bps)通信であると判定され、低速(2048bps)通信モードから高速(8192bps)通信モードへの変更処理が行われる。
さらに、図11(a)に示す時間[t3]の位置において、信号線が立ち下がる。この立ち下がり信号も、経路[I]によって割り込み処理部220のビット変化検出部221に入力され、立ち下がりが検出される。検出情報は、経路[H],[L]によって制御部240の通信速度算出部241に入力される。検出情報は、経路[H],[L]によって制御部240の通信速度算出部241に入力される。
制御部240の通信速度算出部241は、入力データの立ち下がりの検出をトリガとして、経路[M],[J]を経由して、タイマ230の時間計測部231に時間計測を終了させる。ここまでの計測時間[T23]が、ハイパルス幅(ハイパルス継続時間)として経路[K],[L]を介して制御部240の通信速度算出部241に入力される。さらに、制御部240の通信速度算出部241は、この時間計測の終了に併せて割り込み処理部220のビット変化検出部221の設定を立ち上がり検出/割込許可状態に設定変更し、時間計測部の計測時間を0に戻し、再度計測を開始する。この計測は、ローパルス区間の計測となる。
制御部の通信速度算出部241は、ハイパルス幅[T23]が、フレーム間隔の基準となる間隔の時間を超えていた場合、このハイパルス区間がフレーム区間であると判定し、この立ち下がりをフレーム最初のワード(ワード0)のスタートビットの立ち下がり位置と判定する。この場合は、この立ち下がりからのローパルス幅に基づく速度判定処理を行うことになる。先に説明した時間[t1]の処理である。
図11に示す例では、時間[t3]の立ち下がりは、データビット内の立ち下がりであり、時間[T23]はフレーム間隔に対応する時間ではないのでこの解釈はなされない。先に説明した処理例1に従った処理を行う場合、ハイパルス幅の計測のみを繰り返し実行して、そのハイパルス幅がフレーム間隔に対応する時間となった場合に、この立ち下がりからのローパルス幅に基づく速度判定処理を行うことになる。
ただし、先に説明した処理例2に従った処理を行う場合は、すべてのローパルス幅の計測を行う。この場合、制御部240は、タイマ230の時間計測部231に時間[t3]からのローパルス幅の計測を開始させる。さらに、制御部240の通信速度算出部241は、この時間計測の開始に併せて割り込み処理部220のビット変化検出部221の設定を立ち上がり検出/割込許可状態に設定変更する。
次に、図11(a)に示す時間[t4]の位置において、データビットの値に応じて信号線がローからハイへ変化する。すなわち立ち上がりを示す。この入力データは、図11に示す経路[I]によって割り込み処理部220のビット変化検出部221に入力される。ビット変化検出部221は、この時点で立ち上がり検出を行う設定であり、この時間[t2]の立ち上がりが検出される。検出情報は、経路[H],[L]によって制御部240の通信速度算出部241に入力される。
制御部240の通信速度算出部241は、入力データの立ち上がりの検出をトリガとして、経路[M],[J]を経由して、タイマ230の時間計測部231に時間計測を終了させる。ここまでの計測時間[T34]が、ローパルス幅(ローパルス継続時間)として経路[K],[L]を介して制御部240の通信速度算出部241に入力される。これがローパルス幅である。さらに、制御部240の通信速度算出部241は、この時間計測の終了に併せて割り込み処理部220のビット変化検出部221の設定を立ち下がり検出/割込許可状態に設定変更し、時間計測部の計測時間を0に戻し、再度計測を開始する。この計測は、ハイパルス区間の計測となる。
制御部240の通信速度算出部241は、入力した計測時間[T34]を、ローパルス幅(ローパルス継続時間)として、入力データの通信速度の判定を行なう。判定処理は、図5(b2)に示すローパルス幅に基づいて、図5(b3)に示す判定結果を得る処理として行われる。この処理は先に説明した処理例2に対応する処理である。
時間[t4]〜[t5]の処理は、時間[t2]〜[t3]の処理と同様であり、時間[t5]〜[t6]の処理は、時間[t3]〜[t4]の処理と同様の処理である。
時間[t6]〜[t8]の処理は、時間[t2]〜[t3]の処理と同様の処理でありハイパルス幅の計測となる。ただし、時間[t6]〜[t8]のハイパルス幅計測処理において時間[T68]がフレーム間隔に相当すると判定された場合、時間[t8]の立ち下がりは、フレーム最初のスタートビットの立ち下がりであると判定され、処理例1,2のいずれでもローパルス幅計測に基づく通信速度判定処理が行われる。
時間[T68]がフレーム間隔に相当しないと判定された場合、時間[t8]の立ち下がりは、フレーム最初のスタートビットの立ち下がりでないと判定され、処理例1ではローパルス幅計測に基づく通信速度判定処理が行われないが、処理例2では、ローパルス幅計測に基づく通信速度判定処理が行われる。
なお、1ワードの終了時点、例えば時間[t7]において、通信データの正常な受信が実行されたか異常受信となったかの判定が行われる。また正常受信である場合は、シリアル通信データの入力タイミングであるか出力タイミングであるかの判定も実行される。これらの判定処理は制御部240において行われる。制御部240の判定に基づいて通信実行部210に制御信号が出力され、制御に従って通信が実行される。
また、制御部240は、正常受信または異常受信の状態に応じて、通信速度自動切り替えの禁止設定と許容設定の切り替えを行う。この切り替えは、コマンドの種類にも依存する処理であり、先に図7(b)を参照して説明した処理が実行される。
なお、先に説明したが、通信停止時間が一定時間を越えた場合は、コマンド[00H]の受信時と同様、通信速度自動切り替えの禁止設定から許容設定への切り替えを行う。通信停止時間の継続時間も制御部240の制御の下で、タイマ230の時間計測部231が計測を行い計測結果が、制御部240に通知される。制御部240は通信停止時間が一定時間を越えたか否かを判定し、超えたと判定した場合は、コマンド[00H]の受信時と同様、通信速度自動切り替えの禁止設定から許容設定への切り替えを行う。
(6)データ通信装置の実行する処理シーケンス
次に、図12〜図14に示すフローチャートを参照して通信部b200の実行する処理シーケンスについて説明する。なお、図12〜図14の各フローチャートは以下の処理に対応する。
図12=全体処理を説明するフローチャート、
図13=通信実行部210におけるデータ受信をトリガとして実行する処理を説明するフローチャート、
図14=割込み処理部220の処理をトリガとして実行する処理を説明するフローチャート、
なお、図12〜図14の各処理は制御部240の制御の下で行われる。具体的には、制御部240のメモリに格納されたプログラムに従って各種の制御コマンドが各処理部、すなわち通信実行部210、割込み処理部220、タイマ230に対して制御部240から出力されて各処理部の制御が行われる。
まず、図12に示す全体処理を説明するフローチャートについて説明する。図12のステップS101〜S103は、通信部b200が通信処理を開始する際に実行する初期設定ステップである。
ステップS101は、通信実行部210の初期設定である。ステップS101では、まず、通信実行部210の通信速度設定部213が適用する通信速度を高速(8192bps)通信モードとする設定を行う。さらに、通信速度の自動切換えを許容した設定とする。
ステップS102は、タイマ230の初期設定ステップである。タイマ230の時間計測部231をすべてクリアする。なお、時間計測継続期間の上限についても設定する構成としてもよい。時間計測継続期間が所定の上限値を超えた場合は時間計測を停止し、リセットする処理を自動実行させる設定である。
ステップS103は、割り込み処理部220の初期設定ステップである。ステップS103において、割込み処理部230のビット変化検出部231の検出対象を立ち下がり検出、すなわちハイからローの信号線変化を検出する設定とする。さらに、割込み許可状態に設定する。
これらの初期設定の後、ステップS104において通信処理が実行される。すなわち図2に示す通信部a1,110、通信部a2,120などとの通信を開始する。ステップS105では通信処理の終了確認を行い、継続している場合は、ステップS104の通信処理を継続し、終了判定で処理が終了する。
次に、図13に示すフローチャートを参照して、通信処理実行中の通信実行部210におけるデータ受信をトリガとして実行する処理シーケンスについて説明する。図13に示す処理は、通信実行部210におけるデータ受信をトリガとして、主に通信実行部210と制御部240において行われる処理である。
ステップS201において、受信したシリアル通信データが正常に受信されたか否かを判定する。これは、例えば受信データからのスタートビット、データビット、ストップビットの検出に成功し、受信データを取得できたか否かによって判定することができる。なお、初期段階において通信部b200は、高速(8192bps)通信モードに設定されているので、通信相手からの受信データが高速(8192bps)通信である場合には正常受信することが可能であるが、通信相手からの受信データが低速(2048bps)通信である場合には正常受信することができず、異常受信となる。
正常受信されたと判定されると、ステップS202に進む。ステップS202では、正常受信したデータに含まれるコマンドの種類が[00H]以外のコマンドであるか否かを判定する。
コマンドは先に図7を参照して説明したように、以下の種類が定義されているものとする。
[00H]:処理なし(通信系のリセット)
[10H]:通信部a(マスタ)から通信部b(スレーブ)への制御
[20H]:通信部b(スレーブ)から通信部a(マスタ)への制御
コマンド[10H],[20H]は、処理が規定され、これらのコマンドの受信時には双方が共通する通信モードでデータ送受信が成立していることになる。従って、それ以降、通信部aと通信部bの接続が切り離されるまで、通信速度の自動切り替えが不要となり、通信速度を固定させる。この処理がステップS203の処理である。
ステップS203において、通信速度の自動切り替えの禁止設定を行い、その後、ステップS204において受信データに対する処理を行う。例えばコマンドに従った処理などである。
一方、ステップS202において、受信コマンドが[00H]であると判定された場合は、ステップS212に進む。ステップS212では、通信速度の自動切り替えの許可設定を行う。この処理は先に図7を参照して説明したコマンド[00H]に従った処理である。前述したように、例えば通信部aはコマンド[00H]を送信した後、通信速度の切り替えを行う。
さらに、ステップS201において、受信データの正常受信ができなかったと判定した場合は、ステップS211に進む。ステップS211では、通信速度の設定を初期設定である高速(8192bps)に設定して、ステップS212において、通信速度の自動切り替えの許可設定を行う。この後、受信するデータを適用して先に説明した通信速度の判定処理が行われることになる。
次に、図14に示すフローチャートを参照して割込み処理部220の処理をトリガとして実行する処理シーケンスについて説明する。図14に示す処理は、割込み処理部220のビット変化検出部221におけるビット変化検出をトリガとして、主に割り込み処理部220と制御部240において行われる処理である。
まず、ステップS301において、割込み処理部220のビット変化検出部221において、受信信号から立ち下がり検出または立ち上がり検出がなされたかを判定する。立ち下がり検出がなされた場合はステップS302に進み、立ち上がり検出がなされた場合はステップS311に進む。
受信信号から立ち下がり検出がなされ、ステップS302に進む。ステップS302では、立ち下がりまでに計測された時間、この場合はハイパルス幅に対応する時間である。このハイパルス幅と予め保持しているフレーム間隔とを比較する。この処理は制御部240において行われる。制御部内のメモリにはフレーム間隔についてのデータが保持されている。ステップS302の判定がYes、すなわち、ハイパルス幅がフレーム間隔以上であると判定した場合は、ステップS303に進む。
ステップS303では、通信速度切り替え用時間計測を開始する。この処理は、ステップS301において検出した立ち下がりがフレームの最初のワードのスタートビットの立ち下がりであるとの判定に基づく処理である。すなわち先の処理例1、処理例2において説明したワード0のスタートビットの立ち下がりからのローパルス幅の計測開始処理に対応する。
ステップS305では、割り込み処理部220のビット変化検出部221の設定を立ち上がり検出の設定として割り込み許可に設定する。この設定により、割り込み処理部220のビット変化検出部221は受信信号の立ち上がり(ローパルスの終端)を検出して制御部240に通知することになる。
ステップS302において、ハイパルス幅に対応する時間がフレーム間隔以上でないと判定した場合は、ステップS304に進む。ステップS304では、通信速度修正用時間計測を開始する。この処理は前述した処理例2の処理に対応し、ワードのすべてのローパルス幅の計測処理に対応する処理である。その後、ステップS305に進み、割り込み処理部220のビット変化検出部221の設定を立ち上がり検出の設定として割り込み許可に設定する。この設定により、割り込み処理部220のビット変化検出部221は受信信号の立ち上がり(ローパルスの終端)を検出して制御部240に通知することになる。
ステップS301において、割込み処理部220のビット変化検出部221が、受信信号から立ち上がりを検出した場合はステップS311に進む。ステップS311では、通信速度切り替え用時間の計測中であるか否かを判定する。すなわちローパルス幅の計測中であるか否かの判定である。
ステップS311の判定がYes、すなわち、通信速度切り替え用時間の計測中である場合は、ステップS312に進む。ステップS312では、計測したローパルス幅が、低速(2048bps)通信対応のパルス幅であるか否かを判定する。この判定処理は、先に図5を参照して説明した判定処理に対応する。
すなわち、計測したローパルス幅が、高速(8192bps)通信の1〜3ビット幅分、または5〜7ビット幅分である場合は、高速(8192bps)通信であると判定する。計測したローパルス幅が、高速(8192bps)通信の4ビット幅分または8ビット幅分(=低速(2048bps)通信の1ビット幅分または2ビット幅分)、またはそれ以上である場合は、低速(2048bps)通信であると判定する。
ステップS312の判定処理において、低速(2048bps)対応のローパルス幅が検出されたと判定した場合は、ステップS313に進む。ステップS313では、通信速度を低速(2048bps)通信に設定する。
一方、ステップS312の判定処理において、低速(2048bps)対応のローパルス幅が検出されなかったと判定した場合は、ステップS321に進む。ステップS321では、通信速度を高速(8192bps)通信に設定する。
その後、ステップS314に進み、フレーム間隔用の時間計測を開始する。すなわちハイパルス区間の測定開始である。ステップS315では、割り込み処理部220のビット変化検出部221の設定を立ち下がり検出の設定として割り込み許可に設定する。この設定により、割り込み処理部220のビット変化検出部221は受信信号の立ち下がり(ハイパルスの終端)を検出して制御部240に通知することになる。
一方、ステップS311における判定がNo、すなわち、通信速度切り替え用時間の計測中でない場合は、ステップS331に進む。これは、通信速度修正用の時間計測である場合が該当する。すなわち処理例2において説明したフレーム先頭のスタートビットからのローパルス区間以外のローパルス幅の計測期間に対応する。
ステップS331では、低速(2048bps)以外のパルス幅が検出されたか否かを判定する。判定がYesの場合は、通信が高速(8192bps)通信であると判定し、ステップS332において、通信速度を高速(8192bps)通信に設定する。
その後、ステップS314に進み、フレーム間隔用の時間計測を開始する。すなわちハイパルス区間の測定開始である。ステップS315では、割り込み処理部220のビット変化検出部221の設定を立ち下がり検出の設定として割り込み許可に設定する。この設定により、割り込み処理部220のビット変化検出部221は受信信号の立ち下がり(ハイパルスの終端)を検出して制御部240に通知することになる。
このような処理によってローパルス幅、ハイパルス幅が随時計測され、通信速度の自動切り替えが行われることになる。
本発明のデータ通信装置を適用することで、例えば以下の効果を奏することができる。例えばカメラに接続するバッテリーの通信部として利用することで、高速通信の可能なカメラと低速通信のみが可能なカメラの双方に装着可能なバッテリーを実現することが可能となり、様々な機器に対応可能な1つのバッテリーを生産可能となる。また、上述した本発明に従った自動速度切り替え処理は、現行のハードウェアの構成を大きく変更することなくプログラムの変更で対応可能であり、大きなコストアップを行うことなく対応できる。
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、LAN(Local Area Network)、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
以上、説明したように、本発明の一実施例構成によれば、調歩同期方式のシリアル通信を実行する通信装置において、通信相手から受信する通信データのビット変化を検出してローパルスの継続期間であるローパルス幅を計測し、計測されたローパルス幅が低速通信データ対応のビット幅相当のローパルス幅であるか否かの判定に基づいて通信データが高速通信であるか低速通信であるかを判定する構成とした。本構成により通信速度が不明の通信相手からの通信データの速度検出が可能となり、相手に合わせた通信速度に切り替えて通信を成立させる制御が可能となる。
調歩同期方式に従ったシリアルデータ通信の概要について説明する図である。 本発明のデータ通信装置を利用したデータ通信システムの構成例を示す図である。 図2に示す通信部b200と、通信部a1,110または通信部a2,120との間で実行されるシリアル通信の通信データ例を示す図である。 本発明の一実施例に係るデータ通信装置の構成例について説明する図である。 データ通信装置の実行する通信速度判定処理例1について説明する図である。 データ通信装置の実行する通信速度判定処理例2について説明する図である。 4ワードを1フレームとして設定したシリアルデータ通信処理の1つの具体例とコマンド対応の処理例について説明する図である。 本発明の一実施例に係るデータ通信装置の具体的な通信処理例について説明する図である。 本発明の一実施例に係るデータ通信装置の具体的な通信処理例について説明する図である。 本発明の一実施例に係るデータ通信装置の具体的な通信処理例について説明する図である。 本発明に従ったデータ通信装置の処理シーケンスについて説明する図である。 本発明に従ったデータ通信装置の処理シーケンスについて説明するフローチャートを示す図である。 本発明に従ったデータ通信装置の処理シーケンスについて説明するフローチャートを示す図である。 本発明に従ったデータ通信装置の処理シーケンスについて説明するフローチャートを示す図である。
符号の説明
10 通信部
20 通信部
110,120 通信部a
200 通信部b
210 通信実行部
211 出力部
212 入力部
213 通信速度設定部
220 割り込み処理部
221 ビット変化検出部
230 タイマ
231 時間計測部
240 制御部(CPU)
241 通信速度算出部
250 CPUバス

Claims (12)

  1. 調歩同期方式のシリアル通信を実行する通信実行部と、
    前記通信実行部が通信相手から受信する通信データのビット変化を検出するビット変化検出部と、
    前記ビット変化検出部の検出するビット変化位置によって規定されるローパルスの継続期間であるローパルス幅を計測するタイマと、
    前記タイマによって計測されるローパルス幅に応じて、前記通信データの通信速度判定処理を行う制御部を有し、
    前記制御部は、
    前記ローパルス幅が、低速通信データ対応のビット幅相当のローパルス幅であることの確認に基づいて、前記通信データの通信速度が低速通信であると判定する構成であるデータ通信装置。
  2. 前記制御部は、
    データ通信装置が高速通信モードに設定されている場合に、前記通信データの通信速度が低速通信であると判定した場合、通信モードを低速通信モードに設定する制御を行う構成である請求項1に記載のデータ通信装置。
  3. 前記制御部は、
    前記ローパルス幅が、低速通信データ対応のビット幅相当のローパルス幅でないことの確認に基づいて、前記通信データの通信速度が高速通信であると判定する構成である請求項1に記載のデータ通信装置。
  4. 前記制御部は、
    データ通信装置が低速通信モードに設定されている場合に、前記通信データの通信速度が高速通信であると判定した場合、通信モードを高速通信モードに設定する制御を行う構成である請求項3に記載のデータ通信装置。
  5. 前記制御部は、
    前記ビット変化検出部から、前記通信データ中の信号の立ち下がり検出情報を入力し、該検出をトリガとして前記タイマによる時間計測を開始させ、
    前記ビット変化検出部から前記通信データ中の信号の立ち上がり検出情報を入力し、該検出をトリガとして前記タイマによる時間計測を終了させてローパルス幅情報を取得する構成である請求項1に記載のデータ通信装置。
  6. 前記制御部は、
    前記ビット変化検出部から、前記通信データ中のフレーム先頭のワードに対応するスタートビットの開始位置に対応する信号の立ち下がり検出情報を入力し、該検出をトリガとして前記タイマによる時間計測を開始させ、
    前記ビット変化検出部から前記通信データ中の信号の立ち上がり検出情報を入力し、該検出をトリガとして前記タイマによる時間計測を終了させてローパルス幅情報を取得する構成である請求項1に記載のデータ通信装置。
  7. 前記制御部は、
    通信データが高速通信であるか低速通信であるかを判定するためのデータとして、ローパルス幅の複数の値の各々が高速通信または低速通信のいずれであるかを対応付けたテーブルを有し、該テーブルを参照して前記タイマによって計測されるローパルス幅に応じて前記通信データの通信速度判定処理を行う構成である請求項1に記載のデータ通信装置。
  8. 前記制御部は、
    前記通信データに含まれるコマンドに応じて、通信速度の切り替え許容モードと禁止モードとの設定変更を行う構成である請求項1に記載のデータ通信装置。
  9. 前記データ通信装置は、情報処理装置本体に着脱可能な通信部を有するバッテリーであり、前記通信相手との通信処理を実行する構成である請求項1〜8いずれかに記載のデータ通信装置。
  10. 前記通信相手は、バッテリーの装着されるカメラである請求項9に記載のデータ通信装置。
  11. データ通信装置において実行する通信制御方法であり、
    通信実行部が、調歩同期方式のシリアル通信を実行する通信実行ステップと、
    ビット変化検出部が、前記通信実行部が通信相手から受信する通信データのビット変化を検出するビット変化検出ステップと、
    タイマが、前記ビット変化検出部の検出するビット変化位置によって規定されるローパルスの継続期間であるローパルス幅を計測する時間計測ステップと、
    制御部が、前記タイマによって計測されるローパルス幅に応じて、前記通信データの通信速度判定処理を実行し、判定結果に応じて通信モードの変更を行う制御ステップを有し、
    前記制御ステップは、
    前記ローパルス幅が、低速通信データ対応のビット幅相当のローパルス幅であることの確認に基づいて、前記通信データの通信速度が低速通信であると判定するステップである通信制御方法。
  12. データ通信装置において通信制御処理を実行させるプログラムであり、
    通信実行部に、調歩同期方式のシリアル通信を実行させる通信実行ステップと、
    ビット変化検出部に、前記通信実行部が通信相手から受信する通信データのビット変化を検出させるビット変化検出ステップと、
    タイマに、前記ビット変化検出部の検出するビット変化位置によって規定されるローパルスの継続期間であるローパルス幅を計測させる時間計測ステップと、
    制御部に、前記タイマによって計測されるローパルス幅に応じて、前記通信データの通信速度判定処理を実行し、判定結果に応じて通信モードの変更を行わせる制御ステップを有し、
    前記制御ステップは、
    前記ローパルス幅が、低速通信データ対応のビット幅相当のローパルス幅であることの確認に基づいて、前記通信データの通信速度が低速通信であると判定させるステップを含むプログラム。
JP2008296335A 2008-11-20 2008-11-20 データ通信装置、および通信制御方法、並びにプログラム Pending JP2010124268A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2008296335A JP2010124268A (ja) 2008-11-20 2008-11-20 データ通信装置、および通信制御方法、並びにプログラム
US12/589,625 US8654377B2 (en) 2008-11-20 2009-10-26 Data communication device, communication control method, and program
TW098138983A TWI408931B (zh) 2008-11-20 2009-11-17 資料通訊裝置、及通訊控制方法、以及程式産品
CN200910226441A CN101741542A (zh) 2008-11-20 2009-11-20 数据通信设备、通信控制方法和程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008296335A JP2010124268A (ja) 2008-11-20 2008-11-20 データ通信装置、および通信制御方法、並びにプログラム

Publications (1)

Publication Number Publication Date
JP2010124268A true JP2010124268A (ja) 2010-06-03

Family

ID=42171808

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008296335A Pending JP2010124268A (ja) 2008-11-20 2008-11-20 データ通信装置、および通信制御方法、並びにプログラム

Country Status (4)

Country Link
US (1) US8654377B2 (ja)
JP (1) JP2010124268A (ja)
CN (1) CN101741542A (ja)
TW (1) TWI408931B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10785063B2 (en) 2018-01-30 2020-09-22 Lsis Co., Ltd. UART-based communication-speed automatic-switching method
US11063737B2 (en) 2016-04-20 2021-07-13 Sony Corporation Reception device, transmission device, communication system, signal reception method, signal transmission method, and communication method

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9197327B2 (en) * 2012-09-04 2015-11-24 Cisco Technology, Inc. Optical communication transmitter system
KR101573637B1 (ko) * 2014-11-03 2015-12-01 현대자동차주식회사 데이터량 증대로 통신속도 개선을 위한 can 통신 방법 및 데이터 프레임 구조
JP6594105B2 (ja) * 2015-08-21 2019-10-23 キヤノン株式会社 電子機器、アクセサリー機器、その制御方法、および制御プログラム
CN108073534B (zh) * 2017-11-14 2020-02-04 浙江众邦机电科技有限公司 一种缝纫机的通信兼容系统
CN112771823B (zh) * 2018-09-26 2023-12-15 东芝开利株式会社 检测装置
CN109542017B (zh) * 2018-12-13 2023-11-21 珠海格力电器股份有限公司 通信电路切换方法和通信电路切换电路

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5799062A (en) * 1980-12-12 1982-06-19 Fuji Facom Corp Reception circuit for data transmission
JPH01188060A (ja) * 1988-01-21 1989-07-27 Fujitsu Ltd 調歩同期伝送の自動伝送速度設定方式
JPH0357349A (ja) * 1989-07-26 1991-03-12 Fujitsu Ltd 回線速度検出方式
JPH04111637A (ja) * 1990-08-31 1992-04-13 Nec Corp データ伝送速度自動認識装置
JPH07264263A (ja) * 1994-03-25 1995-10-13 Sanyo Electric Co Ltd シリアル通信インターフェース装置
JPH08125712A (ja) * 1994-10-20 1996-05-17 Casio Comput Co Ltd 通信パラメータの判別方法及び判別装置
JP2004538687A (ja) * 2001-06-26 2004-12-24 エルジー エレクトロニクス インコーポレイティド 機器の通信速度検出方法
JP2005072657A (ja) * 2003-08-25 2005-03-17 Toshiba Corp 受信装置、ボーレート変換装置、及びシリアルデータの受信方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3724293A (en) * 1969-05-07 1973-04-03 Nippon Denso Co Automatic transmission control system for automobiles
US4208925A (en) * 1977-08-11 1980-06-24 Caterpillar Tractor Co. Electronic transmission control and method therefor
US5265004A (en) * 1991-10-15 1993-11-23 Allen-Bradley Company, Inc. Sequence controller with combinatorial Boolean logic
US5627858A (en) * 1992-07-20 1997-05-06 Telefonaktiebolaget L M Ericsson Multi-channel autobauding circuit
US5371736A (en) * 1992-12-21 1994-12-06 Abb Power T&D Company, Inc. Universal protocol programmable communications interface
JP3408720B2 (ja) * 1996-06-13 2003-05-19 富士通株式会社 高速同期多重化装置
JP2001168853A (ja) * 1999-12-14 2001-06-22 Matsushita Electric Ind Co Ltd 調歩同期式シリアルデータ転送装置のデータ受信回路
JP3998532B2 (ja) * 2002-08-07 2007-10-31 株式会社ルネサステクノロジ データ転送装置
US7391824B2 (en) * 2003-05-22 2008-06-24 Intel Corporation High-speed serial link receiver with centrally controlled offset cancellation and method
JP2007259094A (ja) 2006-03-23 2007-10-04 Fuji Electric Holdings Co Ltd シリアル通信装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5799062A (en) * 1980-12-12 1982-06-19 Fuji Facom Corp Reception circuit for data transmission
JPH01188060A (ja) * 1988-01-21 1989-07-27 Fujitsu Ltd 調歩同期伝送の自動伝送速度設定方式
JPH0357349A (ja) * 1989-07-26 1991-03-12 Fujitsu Ltd 回線速度検出方式
JPH04111637A (ja) * 1990-08-31 1992-04-13 Nec Corp データ伝送速度自動認識装置
JPH07264263A (ja) * 1994-03-25 1995-10-13 Sanyo Electric Co Ltd シリアル通信インターフェース装置
JPH08125712A (ja) * 1994-10-20 1996-05-17 Casio Comput Co Ltd 通信パラメータの判別方法及び判別装置
JP2004538687A (ja) * 2001-06-26 2004-12-24 エルジー エレクトロニクス インコーポレイティド 機器の通信速度検出方法
JP2005072657A (ja) * 2003-08-25 2005-03-17 Toshiba Corp 受信装置、ボーレート変換装置、及びシリアルデータの受信方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11063737B2 (en) 2016-04-20 2021-07-13 Sony Corporation Reception device, transmission device, communication system, signal reception method, signal transmission method, and communication method
US10785063B2 (en) 2018-01-30 2020-09-22 Lsis Co., Ltd. UART-based communication-speed automatic-switching method

Also Published As

Publication number Publication date
US8654377B2 (en) 2014-02-18
CN101741542A (zh) 2010-06-16
TW201029410A (en) 2010-08-01
US20100123924A1 (en) 2010-05-20
TWI408931B (zh) 2013-09-11

Similar Documents

Publication Publication Date Title
JP2010124268A (ja) データ通信装置、および通信制御方法、並びにプログラム
JP6891810B2 (ja) 通信装置、通信方法、プログラム、および、通信システム
US8099537B2 (en) Method, device, and system for transmitting data fragments over multiple transmission lines and techniques for stopping data transmission
JP2007164765A (ja) Iicバス通信システム、スレーブ装置およびiicバス通信制御方法
US20150286607A1 (en) Determination of the state of an i2c bus
US9859969B2 (en) Relay apparatus and method of controlling relay apparatus
KR20190008855A (ko) 통신 장치, 통신 방법, 프로그램, 및 통신 시스템
US9935731B2 (en) Communication apparatus, lens apparatus and image pickup apparatus including the same
JP2007334731A (ja) Usb機器、ホスト装置、およびusb接続システム
WO2017183482A1 (en) Communication device, communication method, program, and communication system
CN109155689B (zh) 通信设备、通信方法、程序和通信系统
KR20190008198A (ko) 통신 장치, 통신 방법, 프로그램, 및, 통신 시스템
KR20150061348A (ko) I2c 통신에서 디바이스 어드레스를 설정하는 방법 및 디바이스 어드레스를 설정하는 장치
JP6241256B2 (ja) 電子機器、制御装置および通信方法
JP2021016092A (ja) シリアル通信方法及びシリアル通信システム
CN116866108B (zh) 总线通信方法、通信系统控制方法和通信系统
KR101041855B1 (ko) 망 상태 전문 전송제어장치 및 방법
US20020023245A1 (en) Transmission controlling apparatus, transmission controlling method, data processing unit, and data recording medium
JP5299443B2 (ja) I2cバス通信制御システム、及びi2cバス通信制御方法
CN117573586A (zh) 单线通讯的方法、装置及系统
JP2008204005A (ja) 周辺装置の通信方法、コンピュータプログラム、及び周辺装置
JP6776697B2 (ja) 通信モジュール判別装置、通信モジュール判別方法およびそのプログラム
US9606857B2 (en) Electronic control unit
JP4072508B2 (ja) リモートループバック制御方法およびシステム
JP2005234943A (ja) 通信装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111102

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120822

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120904

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121022

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121225