JP2014086992A - シリアル通信システム - Google Patents

シリアル通信システム Download PDF

Info

Publication number
JP2014086992A
JP2014086992A JP2012236502A JP2012236502A JP2014086992A JP 2014086992 A JP2014086992 A JP 2014086992A JP 2012236502 A JP2012236502 A JP 2012236502A JP 2012236502 A JP2012236502 A JP 2012236502A JP 2014086992 A JP2014086992 A JP 2014086992A
Authority
JP
Japan
Prior art keywords
information processing
data
signal line
communication
byte
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
JP2012236502A
Other languages
English (en)
Other versions
JP6004891B2 (ja
Inventor
Yoshihiro Ikeuchi
義宏 池内
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.)
Citizen Holdings Co Ltd
Citizen Watch Co Ltd
Original Assignee
Citizen Holdings Co Ltd
Citizen Watch 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 Citizen Holdings Co Ltd, Citizen Watch Co Ltd filed Critical Citizen Holdings Co Ltd
Priority to JP2012236502A priority Critical patent/JP6004891B2/ja
Publication of JP2014086992A publication Critical patent/JP2014086992A/ja
Application granted granted Critical
Publication of JP6004891B2 publication Critical patent/JP6004891B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】マスターとスレーブの通信開始が同時に発生しても、通信に失敗することなく、安定した通信が可能な同期式シリアル通信システムを提供する。
【解決手段】送信動作を開始した第2情報処理装置が、通信相手である第1情報処理装置から予め定められたデータを受信した場合に、第1情報処理装置が送信動作を開始したと判断して、第2情報処理装置が受信動作に切替えることで、通信に失敗せずに通信を継続できるようにしたシリアル通信システム。
【選択図】図11

Description

本発明は、主情報処理装置(マスター)と従情報処理装置(スレーブ)との間の同期式シリアル通信方式に関するものである。
腕時計などの機器において、機器の操作部の入力処理や表示等の機能を含む機器の基本的な処理を主情報処理装置のマイクロコンピュータ(以下マスター)が行い、これとは別に、外部機器との通信処理や、気温や気圧などの各種周辺情報の計測処理、などの、製品に固有の処理を従情報処理装置のマイクロコンピュータ(以下スレーブ)が行い、これらのマイクロコンピュータ間で必要なデータを通信し全体の制御を行うことが多い。これにより、処理を個々のマイクロコンピュータへ分割するので、全体の処理速度の低下を防止することができる。また、製品間で基本機能を処理するマスターを共通化できるのでコストを低く抑えられる。
マスターとスレーブ間の同期式シリアル通信では、マスターが通信要求信号(CDREQ)を送出し、これを受信したスレーブが通信可能信号(CDRDY)を送出することにより開始され、クロック信号に同期してデータがシリアルデータとして送られる。そしてあらかじめ定められた一連のデータの送信を行って通信要求に対する通信処理を終了する。
また、スレーブの処理中に直ちにマスターへ情報を通知すべきイベントが発生した場合、スレーブから通信を開始する必要がある。
特許文献1によれば、通信可能信号経路を介してスレーブからマスターへ通信開始を要求する通信要求信号(CDRDY)の送出を可能にし、スレーブからも通信を開始できるようにしたものである。
スレーブの通信要求信号は、マスターから通信を開始したときには、通信を許可する通信可能信号に兼用され、スレーブから通信可能信号として送出される。同様に、マスターの通信要求信号は、スレーブから通信を開始したときには、通信を許可する通信可能信号に兼用され、マスターから通信可能信号として送出される。
特開平5−46549号公報
特許文献1に記載の同期式シリアル通信方式では、マスターとスレーブが同時に通信要求信号を送出した場合、マスターが通信を開始しようとして通信要求信号のつもりで送信した信号が、自らが通信要求信号を送出しているスレーブは、通信を許可する通信可能信号として解釈することとなる。マスターもまた、同様である。
従って、マスターとスレーブが通信要求信号を同時に送出した場合、マスターは通信可能信号により通信開始と判断して通信を始め、スレーブも通信要求信号により通信開始と判断して通信を始めてしまい、つまりは、双方が発信側として動作し、結果、通信が失敗してしまう、という問題があった。
また、仮に、通信要求信号を通信可能信号と兼用していなくても、マスターとスレーブが同時に通信要求信号を送出すると、双方共に通信を開始する動作を行なっているために通信要求信号を受信した側が、通信可能信号を出さないことにより、通信を開始できず、エラーとなってしまうという問題があった。
本発明の目的は、マスターとスレーブの通信開始が同時に発生しても、通信に失敗することなく、安定した通信が可能な同期式シリアル通信システムを実現することである。
上記目的を達成するため、本発明は、第1情報処理装置と第2情報処理装置と、前記第1情報処理装置と前記第2情報処理装置との間でシリアル通信によりデータを送受信するための信号線とを有し、前記第1及び前記第2情報処理装置との間で同期して通信するための同期信号を、前記第1又は前記第2情報処理装置が出力するシリアル通信システムであって、前記第1情報処理装置は、前記第2情報処理装置にデータを送信する第1送信動作を開始する際に、前記第2情報処理装置に、前記第1情報処理装置から送信されたデータを受信をする第1受信動作の実行を要求する第1要求信号を出力し、前記第2情報処理装置は、前記第1情報処理装置にデータを送信する第2送信動作を開始する際に、前記第1情報処理装置に、前記第2情報処理装置から送信されたデータを受信する第2受信動作の実行を要求する第2要求信号を出力し、前記第1情報処理装置は、前記第2受信動作中に、前記第1送信動作で前記2情報処理装置へのデータの送信に用いる信号線を介して、予め定められたデータを送信し、前記第2情報処理装置は、前記第2送信動作において、前記予め定められたデータを受信しない場合には、前記第2送信動作から前記第1受信動作に切替えることを特徴とする。
また、第1情報処理装置と第2情報処理装置と、前記第1情報処理装置と前記第2情報処理装置との間でシリアル通信によりデータを送受信するための複数の信号線とを有し、前記第1及び前記第2情報処理装置との間で同期して通信するための同期信号を、前記第1又は前記第2情報処理装置が出力するシリアル通信システムであって、前記第1情報処理装置は、前記第2情報処理装置にデータを送信する第1送信動作を開始する際に、前記第2情報処理装置に、前記第1情報処理装置から送信されたデータを受信する第1受信動作の実行を要求する第1要求信号を出力し、前記第2情報処理装置は、前記第1情報処理装置にデータを送信する第2送信動作を開始する際に、前記第1情報処理装置に、前記第2情報処理装置から送信されたデータを受信する第2受信動作の実行を要求する第2要求信号を出力し、前記第1情報処理装置は、前記第1送信動作中に、該第1送信動作で前記2情報処理装置へのデータの送信に用いる信号線を介して、予め定められたデータを送信し、前記第2情報処理装置は、前記第2送信動作において、前記予め定められたデータを受信した場合には、前記第2送信動作から前記第1受信動作に切替えることを特徴とする。
また、前記データを送受信するための信号線は、前記第1情報処理装置が前記第2情報処理装置に、前記第1要求信号を出力する第1信号線と、前記第2情報処理装置が前記第1情報処理装置に、前記第2要求信号を出力する第2信号線とを有し、前記第2情報処理装置が、前記第1要求信号に対して、前記第2信号線から受信動作の実行を示す信号を送信し、前記第1情報処理装置が、前記第2信号線から、前記受信動作の実行を示す信号を受信することにより前記第1送信動作を実行するように構成するか、又は、前記第1情報処理装置が、前記第2要求信号に対して、前記第1信号線から受信動作の実行を示す信号を送信し、前記第2情報処理装置が、前記第1信号線から、前記受信動作の実行を示す信号を受信することにより前記第2送信動作を実行するように構成することにより、前記第1信号線と前記第2信号線の少なくともいずれかを、受信動作の実行を示す信号を送信する信号線と兼用したことを特徴とする。
また、前記第2情報処理装置は、前記第1受信動作中に、前記第2送信動作で前記第1情報処理装置へのデータの送信に用いる信号線を介して、前記第1情報処理装置に所定のチェック用データを送信し、前記第1情報処理装置は、前記第1送信動作中に、前記第2情報処理装置から、前記所定のチェック用データを受信することにより正常にデータが送信されたと判断し、前記所定のチェック用データを受信しない場合に正常にデータが送信されなかったと判断し、前記第2情報処理装置は、前記第2送信動作から前記第1受信動作に切り替えたときに、前記第2送信動作で前記第1情報処理装置へのデータの送信に用いる信号線から、前記所定のチェック用データを送信することを特徴とする。
また、前記第1送信動作において送信されるデータが複数バイトのデータで構成され、前記第2情報処理装置は、前記第1受信動作において、前記第1送信動作で送信される第2バイト以降のデータを受信する際に、前記第2送信動作で前記第1情報処理装置へのデータの送信に用いる信号線を介して、所定のチェック用のデータを送信し、前記第1情報処理装置は、前記第1送信動作において、第2バイト以降のデータを送信する際に、該第2バイト以降のデータの送信とともに、前記第2情報処理装置から送信される前記チェック用データを受信し、前記第2情報処理装置は、前記第2送信動作において、前記第1情報処理装置から送信される第1バイトのデータが、前記予め定められたデータではない場合に、前記第2送信動作から前記第1受信動作に切替えるとともに、該第1受信動作において、前記第1情報処理装置が前記第2バイト以降のデータを送信するときに、前記所定のチェック用データを送信することを特徴とする。
本発明は、上記に示した構成を採用しているので、マスターとスレーブの通信開始が同時に発生しても、通信に失敗することなく、安定した通信が可能な同期式シリアル通信システムを実現する、という効果を発揮するものである。
本発明の第1の実施の形態における腕時計の回路構成を示すブロック図である。 本発明の第1の実施の形態におけるマスターのシリアル通信部と、スレーブのシリアル通信部の接続を表わしたブロック図である。 本発明の第1の実施の形態におけるシリアル通信部の信号線の説明を示した図である。 本発明の第1の実施の形態における通信データの形式を示した図である。 本発明の第1の実施の形態における、マスターから送信されるデータの例を示した図である。 本発明の第1の実施の形態における、スレーブから送信されるデータの例を示した図である。 本発明の第1の実施の形態における、マスターから3バイトのデータ送信を実行する場合のタイミングチャートを示した図である。 本発明の第1の実施の形態における、マスターから3バイトのデータ送信を実行する場合の、MOSI信号線とMISO信号線のそれぞれで送信されるデータの値の例を示した図である。 本発明の第1の実施の形態における、スレーブから3バイトのデータ送信を実行する場合のタイミングチャートを示した図である。 本発明の第1の実施の形態における、スレーブから3バイトのデータ送信を実行する場合の、MOSI信号線とMISO信号線のそれぞれで送信されるデータの値の例を示した図である。 本発明の第1の実施の形態における、マスターから3バイト、スレーブから3バイトのデータ送信を同時に実行する場合のタイミングチャートを示した図である。 図11の通信における、MOSI信号線とMISO信号線のそれぞれで送信されるデータの値の例を示した図である。 本発明の第1の実施の形態における、図11の通信後に、スレーブが送信保留データの送信を開始するタイミングを示した図である。 図13の通信における、MOSI信号線とMISO信号線のそれぞれで送信されるデータの値の例を示した図である。 本発明の第1の実施の形態における、送信側として動作する場合のマスターのフローチャートを示した図である。 本発明の第1の実施の形態における、マスターがRDYの立ち下りエッジを検知してから受信側として動作する場合のフローチャートを示した図である。 本発明の第1の実施の形態における、送信側として動作する場合のスレーブのフローチャートを示した図である。 本発明の第1の実施の形態における、スレーブがSS信号線のLowレベルを検知してから受信側として動作する場合のフローチャートを示した図である。 REQ信号線を追加する場合の、マスターのシリアル通信部と、スレーブのシリアル通信部の接続を表わしたブロック図である。 REQ信号線を追加する場合の、スレーブから3バイトのデータ送信を実行する場合のタイミングチャートを示した図である。
図面に基づいて、本発明の(第1の)実施形態における通信システムを説明する。
図1は、本発明の実施例としての腕時計の回路構成を示すブロック図である。第1情報処理装置としての主情報処理装置100は、操作部の入力処理や表示等の機能を含む、時計の基本的な処理を行なう。第2情報処理装置としての従情報処理装置200は、外部機器との通信処理や、周辺情報の計測処理、を行う。
主情報処理装置100は、ROM102と、RAM103と、計時部106と、表示部107と、入力部108と、内部クロック発生部120、をメイン・マイクロコンピュータであるマスター101に接続し、マスター101内にシリアル通信部110を内蔵する構成となっている。マスター101は、主情報処理装置100全体の制御を司る。マスター10
1のシリアル通信部110は、スレーブ201と同期式シリアル通信を行なうためのインターフェース部で、スレーブ201のシリアル通信部210と接続している。ROM102は、マスター101が主情報処理装置100全体を制御するためのプログラムなどが記憶される。RAM103は、マスター101のワークエリアとして使用される。計時部106は、基準発信周波数を元に現在の時刻を計時する。表示部107は、前記計時部106で計時している現在時刻と、スレーブ201から取得した情報に応じた内容、を表示する。表示部107は、例えば、複数の針による表示形態でもよいし、液晶表示等によるデジタルの表示形態でもよい。
入力部108は、スイッチやりゅうずなど、入力装置の状態を検出する。送信データ記憶部104は、シリアル通信部110からスレーブ201へ送信するデ−タを記憶する部で、RAM103内に配置されている。受信データ記憶部105は、シリアル通信部110でスレーブ201から受信したデ−タを記憶し、RAM103内に配置されている。送信データ記憶部104、および受信データ記憶部105の記憶容量は、少なくとも、スレーブ201と同期式シリアル通信で通信する形式の最大バイト数があればよい。タイマー109は、同期式シリアル通信のエラーを検出するためのタイマー部である。内部クロック発生部120は、基本クロック発信器を元に、CPUクロックを発生させる。前記CPUクロックを元に、マスター101は内部回路の同期をとって動作している。基本クロック発信器としては、水晶発振器やシリコン発振器などがある。
従情報処理装置200は、ROM202と、RAM203と、計測部206と、外部通信部207と、内部クロック発生部220、をサブ・マイクロコンピュータであるスレーブ201に接続し、スレーブ201内にシリアル通信部210を内蔵する構成となっている。スレーブ201は、従情報処理装置200全体の制御を司る。スレーブ201のシリアル通信部210は、マスター101と同期式シリアル通信を行なうためのインターフェース部で、シリアル通信部110と接続している。ROM202は、スレーブ201が従情報処理装置200全体を制御するためのプログラムなどが記憶される。RAM203は、CPU201のワークエリアとして使用される。計測部206は、気温や気圧などの周辺情報を計測する。外部通信部207は、携帯電話や自動車など、外部機器と有線、または無線による通信を行なう。
送信データ記憶部204は、シリアル通信部210からマスター101へ送信するデ−タを記憶し、RAM203内に配置されている。受信データ記憶部205は、シリアル通信部210でマスター101から受信したデ−タを記憶し、RAM203内に配置されている。送信保留データ記憶部208は、シリアル通信部210からマスター101へのデータ送信をキャンセルした場合に送信デ−タを記憶し、RAM203内に配置されている。送信データ記憶部204、および受信データ記憶部205、および送信保留データ記憶部208の記憶容量は、少なくとも、マスター101と同期式シリアル通信で通信する形式の最大バイト数があればよい。タイマー209は、同期式シリアル通信のエラーを検出するためのタイマー部である。内部クロック発生部220は、基本クロック発信器を元に、CPUクロックを発生させる。前記CPUクロックを元に、スレーブ201は内部回路の同期をとって動作している。
図2は、マスター101のシリアル通信部110と、スレーブ201のシリアル通信部210の接続を表わしたブロック図で、図3でそれぞれの接続線を説明した。
マスター101のシリアル通信部110、スレーブ201のシリアル通信部210には、「RDY」「SS」「SCK」「MOSI」「MISO」の入力端子又は出力端子が設けられ、同じ名称の端子どうしが接続線で接続されている。
SS信号線(スレーブ・セレクト)は、マスター101側は出力端子112、スレーブ201側は入力端子212である。これらを接続するSS信号線は、マスター101側から通信を開始する場合に、マスター101からスレーブ201に通信開始を通知する信号(第1要求信号)を出力して受信動作を要求する機能を果たす第1信号線として用いられ、また、スレーブ201側から通信を開始する場合にマスター101からスレーブ201に対して通信許可を通知する信号線として用いられる。
RDY信号線(通信準備完了)はスレーブ201側が出力端子211、マスター101側は入力端子111である。これらを接続するRDY信号線は、スレーブ201が、マスター101に対して送信するデータが準備完了したことを、スレーブ201からマスター101に通知する。スレーブ201から送信を開始する場合、RDY信号線は、マスター101に通信開始を通知する信号(第2要求信号)を出力して受信動作を要求する機能を果たす第2信号線として用いられる。
SCK信号線は、マスター101側が出力端子113、スレーブ201側が入力端子213である。これらを接続するSCK信号線で、マスター101がプログラムでHighレベルとLowレベルを交互に発生させ、スレーブ201はSCK信号線のレベルの変化を利用してマスター101と同期する。
MOSI信号線(マスター・アウト・スレーブ・イン)は、マスター101側が出力端子114、スレーブ側が入力端子214である。これらを接続するMOSI信号線は、マスター101側からスレーブ201側へデータを送信する第1信号線である。MISO信号線(マスター・イン・スレーブ・アウト)はスレーブ201側が出力端子215、マスター101側が入力端子115である。これらを接続するMISO信号線は、スレーブ201側からマスター101側へデータを送信する第2信号線である。
図4に本発明の第1の実施の形態による通信データの形式を示した。
送信側からの送信データは、コマンド(CMD)、データバイト数(n)、nバイトのデータ(D(1)〜D(n))、コマンドからデータまでをXORしたチェックサム(SUM)、の第n+3バイトの複数データから成る。本発明における同期式シリアル通信においては、1バイト通信毎に双方向で送信が行なわれるため、受信側からもデータが送信される。受信側からの送信データは、第1バイトには予め定められたデータとして、例えばNULL(00H)を準備し、第2〜第n+3バイトは、所定のチェック用データとして前回送信側から送信されて受信した第1〜第n+2バイトのデータをそのまま送るものとする。マスター101からの送信は、スレーブ201に対し、外部機器との通信処理や、気温や気圧などの各種周辺情報の計測処理、などの処理を実行させる必要が発生した場合や、スレーブ201からの要求に応じた情報を返す場合に実行される。図5がその一例である。
図5は、マスター101から送信されるデータを示し、1段目と2段目は3バイトで構成されるデータの例、3段目〜5段目は、4バイトで構成されるデータの例である。1段目の「無線接続」と2段目の「無線切断」は、第1バイトのコマンドが「81H」と「82H」、第2バイトのデータ数がいずれも「0」、第3バイトにチェックサムが付与されている。3段目〜5段目は、第1バイトのコマンドが、「83H」「84H」「85H」、第2バイトのデータ数がいずれも「1」、第3バイトのデータが「残量」「位置」「位置」、第4バイトにチェックサムが付与されている。
スレーブ201からの送信は、マスター101に対し、表示内容変更の指示や、マスター101が管理する機器の状態に関する情報を要求する場合に実行される。図6がその一例である。
図6は、スレーブ201から送信されるデータを示し、1段目は9バイトで構成されるデータの例、2段目は3バイトで構成されるデータの例、3段目と4段目は4バイトで構成されるデータの例である。1段目の「時刻設定」は、第1バイトのコマンドが「02H」、第2バイトのデータ数が「6」、第3バイトのデータが「年」、第4バイトのデータが「月」、第5バイトのデータが「日」、第6バイトのデータが「時」、第7バイトのデータが「分」、第8バイトのデータが「秒」、第9バイトにチェックサムが付与されている。2段目の「電池残量問い合わせ」は、第1バイトのコマンドが「01H」、第2バイトのデータ数が「0」、第3バイトのデータにチェックサムが付与されている。3段目〜4段目は、第1バイトのコマンドが、「03H」「04H」、第2バイトのデータ数がいずれも「1」、第3バイトのデータが「秒針位置」「分針位置」、第4バイトにチェックサムが付与されている。
次に、本発明における同期式シリアル通信の動作について説明する。
本発明の同期式シリアル通信の動作には3つの動作がある。1つ目は、マスター101がスレーブ201に対して受信動作を要求してからマスター101がデータを送信し(マスターが第1送信動作を行い)、スレーブ201がマスター101から送信されるデータを受信する(第1受信動作を行う)場合の通信動作である。2つ目は、スレーブ201がマスター101に対して受信動作を要求してからスレーブ201がデータを送信し(スレーブ201が第2送信動作を行い)、マスター101がスレーブ201から送信されるデータを受信する(マスター101が第2受信動作を行う)場合の通信動作である。3つめは、マスター101とスレーブ201が同時に通信相手に対して受信動作を要求して、それぞれが、同時に第1及び第2送信動作を開始してから、スレーブ201が、第1受信動作に切替る場合の通信動作である。
尚、以下に説明する各通信動作において、送信でMISO信号線、MOSI信号線にセットするレベルは、送信する値が1の場合はHighレベル、0の場合はLowレベルとする。受信でMISO信号線、MOSI信号線がHighレベルの場合は受信値は1とし、Lowレベルの場合は受信値は0とする。
まず、マスター101がスレーブ201に対して受信動作を要求してからマスター101がデータを送信し(マスターが第1送信動作を行い)、スレーブ201がマスター101から送信されるデータを受信する(第1受信動作を行う)場合の動作について説明する。
図7は、マスター101から3バイトの送信を実行する場合のタイミングチャートである。ここで、マスター101、スレーブ201の双方の送信データは図8の内容とする。
マスター101において、スレーブ201へ通信する必要が発生した場合、送信データを送信データ記憶部104に格納し、通信(第1送信動作)を開始する。具体的には、送信データ記憶部104の先頭の第1バイトの記憶領域から、81H、00H、81Hの順に格納する。
まず、マスター101は、SS信号線をLowレベルにして第1要求信号を出力することにより、通信開始および通信許可をスレーブ201に通知する(図7のa)。スレーブ201は、SS信号線がLowレベルであることを検知すると(図7のa)、以下のように受信側として通信(第1受信動作)を開始する。送信データ記憶部204の第1バイト用の記憶領域に、受信側であることを示す所定値、NULLを格納する。送信データ記憶部204の第1バイト用の記憶領域に記憶した値NULLを構成するLSB側の第1ビットの値を送信用のデータとしてMISO信号線にセットした後(図7のb)、RDY信号線が一定期間だけLowレベルとなるRDYパルスを出力する(図7のc)。前記RDYパルスを出力することにより、1バイト目の通信準備完了をマスター101へ通知する。すなわち、RDYパルスによって、スレーブ201による受信動作の実行が、マスター101に通
知される。この動作により、スレーブ201から送信する第1バイトのデータのうちの第1ビットのデータを送信する(図7のb)。前記RDYパルスのLowレベルを保持する時間は、マスター101でRDY信号線をポーリングするために十分な時間であればよい。
マスター101では、RDY信号線の立ち下りエッジを検知すると(図7のc)、以下のように送信側として第1送信動作を実行する。送信データ記憶部104に記憶した第1バイトの値81Hを構成するLSB側の第1ビットの値を送信用のデータとしてMOSI信号線にセットしてから(図7のA)、SCK信号線をHighレベルにする(図7のB)。そして、MISO信号線に入力されるレベル(図7のbのレベル)を受信データ記憶部105における第1バイトのLSB側の第1ビット用の記憶領域に受信したデータとして記憶した後、SCK信号線をLowレベルにする(図7のC)。これらの動作により、マスター101から送信する第1バイトのデータのうちの第1ビットのデータを送信し(図7のA)、スレーブ201から送信される第1バイトのデータのうちの第1ビットのデータを受信する(図7のb)。
次に、送信データ記憶部104に記憶されている第1バイトの値81Hを構成するLSB側の第2ビットの値を送信用のデータとしてMOSI信号線にセットしてから(図7のD)、SCK信号線をHighレベルにする(図7のE)。そして、MISO信号線に入力されるレベル(図7のdのレベル)を受信データ記憶部105における第1バイトのLSB側の第2ビット用の記憶領域に受信したデータとして記憶した後、SCK信号線をLowレベルにする(図7のF)。これらの動作により、マスター101から送信する第1バイトのデータのうちの第2ビットのデータを送信し(図7のD)、スレーブ201から送信される第1バイトのデータうちの第2ビットのデータを受信する(図7のd)。第3ビットから第8ビットも同様にして繰返す。以上で第1バイトの通信を終了し、マスター101は、2バイト目のRDYパルスの立ち下りエッジ(図7のe)を検知することを待つ状態となる。
スレーブ201は、SCK信号線の立ち上がりエッジを検知すると(図7のB)、MOSI信号線に入力されるレベル(図7のAのレベル)を受信データ記憶部205における第1バイトのLSB側の第1ビット用の記憶領域に受信したデータとして記憶する。そして、SCK信号線の立ち下りエッジを検知すると(図7のC)、送信データ記憶部204に記憶されている第1バイトの値NULLを構成するLSB側の第2ビットの値を送信用のデータとしてMISO信号線にセットする(図7のd)。
次に、SCK信号線が立ち上がりエッジを検知すると(図7のE)、MOSI信号線に入力されるレベル(図7のDのレベル)を受信データ記憶部205における第1バイトのLSB側の第2ビット用の記憶領域に受信したデータとして記憶する。これらの動作により、マスター101から送信される第1バイトのデータのうちの第2ビットまでのデータ(図7のAとDのデータ)を受信し、スレーブ201から送信する第1バイトのデータのうちの第2ビットまでのデータ(図7のbとdのデータ)を送信する。第3ビットから第8ビットも同様にして繰返して第1バイトの通信を行なう。2バイト目の送信データは、1バイト目で受信した、受信データ記憶部205に記憶されている第1バイトの値81Hである。これを送信データ記憶部204における第2バイト用の記憶領域に格納する。送信データ記憶部204に記憶されている第2バイトの値81Hを構成するLSB側の第1ビットの値をMISO信号線に送信用のデータとしてセットした後、RDYパルスを出力することにより(図7のe)、2バイト目の通信準備完了をマスター101へ通知する。その後、SCK信号線の立ち上がりエッジを検知するまで待ち状態となる。
マスター101からスレーブ201への送信データの2バイト目は送信データ記憶部104に記憶されている第2バイトの値00H、3バイト目は送信データ記憶部104に記
憶されている第3バイトの値81Hである。スレーブ201からマスター101への送信データの3バイト目は、2バイト目でマスター101から受信し、送信データ記憶部204の第3バイト用の記憶領域に記憶した値00Hである。このように、マスター101から送信される複数バイトのデータのうち、2バイト目以降のデータを受信するときに、スレーブ201は、1バイト前の通信でマスター101から受信したデータ(所定のチェック用データ)をマスター102に送信する。マスター101は、2バイト目以降のデータを送信するときに、1バイト前の通信で自ら送信したデータ(所定のチェック用データ)をスレーブ201から受信する。
3バイトの通信が終了すると、スレーブ201は、RDYパルスを出力することにより、通信終了および通信禁止をマスター101へ通知する。(図7のf)
マスター101は3バイトの通信後に、RDY信号線の立ち下りエッジを検知すると(図7のf)、SS信号線をHighレベルにすることにより、通信終了および通信禁止をスレーブ201に通知する(図7のg)。
次に、スレーブ201がマスター101に対して受信動作を要求してからスレーブ201がデータを送信し(スレーブ201が第2送信動作を行い)、マスター101がスレーブ201から送信されるデータを受信する(マスター101が第2受信動作を行う)場合の通信動作について説明する。図9は、スレーブ201から3バイトの送信を実行する場合のタイミングチャートである。ここで、マスター101、スレーブ201の双方の送信データは図10の内容とする。
スレーブ201において、マスター101へ通信する必要が発生した場合、SS信号線がLowレベルである場合は、マスター101が通信処理中であるので、SS信号線がHighレベルになるのを待つ。SS信号線がHighレベルである場合は、送信データを送信データ記憶部204に格納し、通信(第2送信動作)を開始する。具体的には、送信データ記憶部204の先頭の第1バイトの記憶領域から、01H、00H、01Hを順に格納する。
まず、スレーブ201は、送信データ記憶部204の第1バイト用の記憶領域に記憶された値01Hを構成するLSB側の第1ビットの値1を送信用のデータとしてMISO信号線にセットした後(図9のb)、第2要求信号としてRDYパルスを出力することにより、通信開始および1バイト目の通信準備完了をマスター101へ通知する(図9のc)。
マスター101は、RDY信号線の立ち下りエッジを検知すると(図9のc)、以下のように受信側として通信(第2受信動作)を開始する。送信データ記憶部104の第1バイト用の記憶領域に、受信側であるとこを示す所定値、NULLを格納する。SS信号線をLowレベルにしてスレーブ201に対して通信許可を通知する(図9のa)。すなわち、SS信号線をLowレベルにすることによって、マスター101の受信動作の実行が、スレーブ201に通知される。その後、送信データ記憶部104の第1バイト用の記憶領域に記憶された値NULLを構成するLSB側の第1ビットの値を送信用のデータとしてMOSI信号線にセットしてから(図9のA)、SCK信号線をHighレベルにする(図9のB)。そして、MISO信号線に入力されるレベル(図9のbのレベル)を受信データ記憶部105における第1バイトのLSB側の第1ビット用の記憶領域に記憶した後、SCK信号線をLowレベルにする(図9のC)。これらの動作により、マスター101から送信する第1バイトのデータのうちの第1ビットのデータを送信し(図9のA)、スレーブ201から送信される第1バイトのデータのうちの第1ビットのデータを受信する(図9のb)。
次に、送信データ記憶部104に記憶されている第1バイトの値NULLを構成するLSB側の第2ビットの値0を送信用のデータとしてMOSI信号線にセットしてから(図9のD)、SCK信号線をHighレベルにする(図9のE)。そして、MISO信号線に入力
されるレベル(図9のdのレベル)を受信データ記憶部105における第1バイトのLSB側の第2ビット用の記憶領域に受信データとして記憶した後、SCK信号線をLowレベルにする(図9のF)。これらの動作により、マスター101から送信する第1バイトのデータのうちの第2ビットのデータを送信し(図9のD)、スレーブ201から送信される第1バイトのデータうちの第2ビットのデータを受信する(図9のd)。第3ビットから第8ビットも同様にして繰返して1バイト通信を終了する。2バイト目の送信データは、1バイト目で受信した、受信データ記憶部105の第1バイト用の記憶領域に記憶されている値01Hである。これを送信データ記憶部104の第2バイト用の記憶領域に格納する。その後、マスター101は、2バイト目のRDY信号線の立ち下りエッジ(図9のe)の検知を待つ状態となる。
スレーブ201は、SS信号線のLowレベルを検知することにより(図9のa)、通信が開始されたと判断する。まず、SCK信号線の立ち上がりエッジを検知すると(図9のB)、MOSI信号線に入力されるレベル(図9のAのレベル)を受信データ記憶部205における第1バイトのLSB側の第1ビット用の記憶領域に受信データとして記憶する。そして、SCK信号線の立ち下りエッジを検知すると(図9のC)、送信データ記憶部204の第1バイト用の記憶領域に記憶された値01Hを構成するLSB側の第2ビットの値0を送信用のデータとしてMISO信号線にセットする(図9のd)。
次に、SCK信号線の立ち上がりエッジを検知すると(図9のE)、MOSI信号線に入力されるレベル(図9のDのレベル)を受信データ記憶部205における第1バイトのLSB側の第2ビット用の記憶領域に受信データとして記憶する。これらの動作により、マスター101から送信される第1バイトのデータのうちの第2ビットまでのデータ(図9のAとDのデータ)を受信し、スレーブ201から送信する第1バイトのデータのうちの第2ビットまでのデータ(図9のbとdのデータ)を送信する。第3ビットから第8ビットも同様にして繰返して第1バイトの通信を行なう。
スレーブ201からマスター101への送信データの2バイト目は送信データ記憶部204の第2バイト用の記憶領域に記憶されている値00Hである。前記00Hを構成するLSB側の第1ビットの値0を送信用のデータとしてMISO信号線にセットした後、RDYパルスを出力することにより(図9のe)、2バイト目の通信準備完了をマスター101へ通知する。その後、SCK信号線の立ち上がりエッジを検知するまで待ち状態となる。
スレーブ201からマスター101への送信データの3バイト目は送信データ記憶部204における第3バイト用の記憶領域に記憶されている値01Hである。
マスター101からスレーブ201への送信データの3バイト目は、2バイト目でスレーブ201から受信し、送信データ記憶部104における第3バイト用の記憶領域にコピーして記憶した値00Hである。
3バイトの通信が終了すると、スレーブ201は、RDYパルスを出力することにより、通信終了および通信禁止をマスター101へ通知する(図9のf)。
マスター101は3バイトの通信後のRDYパルスの立ち下りエッジを検知すると(図9のf)、SS信号線をHighレベルにすることにより、通信終了および通信禁止をスレーブ201に通知する(図9のg)。
次に、マスター101とスレーブ201が同時に通信相手に対して受信動作を要求して、それぞれが、同時に第1及び第2送信動作を開始してから、スレーブ201が、第1受信動作に切替る場合の動作について説明する。
図11は、マスター101とスレーブ201が同時に送信を開始するタイミングを示し
た図である。ここで、マスター101は、図12(a)に示すように、図8のMOSIの送信データを送信するものとする。具体的には、送信データ記憶部104の先頭の第1バイト用の記憶領域から、81H、00H、81Hの順に格納する。また、スレーブ201は、図12(a)に示すように、図10のMISOの送信データを送信するものとする。具体的には、送信データ記憶部204の先頭の第1バイト用の記憶領域から、01H、00H、01Hを順に格納する。
マスター101は、送信側として通信(第1送信動作)を開始する。すなわち、通信開始および通信許可をスレーブ201に通知するため、SS信号線をLowレベルにして第1要求信号を出力する(図11のa)。そして、RDY信号線の立下りを検出するのを待つ。
スレーブ201もまた、送信側として通信(第2送信動作)を開始する。すなわち、送信データ記憶部204に記憶されている第1バイトの値01Hを構成するLSB側の第1ビットの値を送信用のデータとしてMISO信号線にセットした後(図11のb)、第2要求信号であるRDYパルスを出力することにより、通信開始および1バイト目の通信準備完了をマスター101へ通知する(図11のc)。
マスター101は、RDYパルスを検出して(図11のc)、このパルスをスレーブ201の通信準備完了の信号、すなわち、スレーブ201の受信動作の実行を通知する信号であると判断し、以下のように送信側として通信を継続する。
送信データ記憶部104に記憶されている第1バイトの値81Hを構成するLSB側の第1ビットの値を送信用のデータとしてMOSI信号線にセットしてから(図11のA)、SCK信号線をHighレベルにする(図11のB)。そして、MISO信号線に入力されるレベル(図11のbのレベル)を受信データ記憶部105における第1バイトのLSB側の第1ビット用の記憶領域に受信したデータとして記憶した後、SCK信号線をLowレベルにする(図11のC)。これらの動作により、マスター101から送信する第1バイトのデータのうちの第1ビットのデータを送信し(図11のA)、スレーブ201から送信される第1バイトのデータのうちの第1ビットのデータを受信する(図11のb)。
次に、送信データ記憶部104における第1バイトの値81Hを構成するLSB側の第2ビットの値を送信用のデータとしてMOSI信号線にセットしてから(図11のD)、SCK信号線をHighレベルにする(図11のE)。そして、MISO信号線に入力されるレベル(図11のdのレベル)を受信データ記憶部105における第1バイトのLSB側の第2ビット用の記憶領域に受信データとして記憶した後、SCK信号線をLowレベルにする(図11のF)。これらの動作により、マスター101から送信する第1バイトのデータのうちの第2ビットのデータを送信し(図11のD)、スレーブ201から送信される第1バイトのデータうちの第2ビットのデータを受信する(図11のd)。第3ビットから第8ビットも同様にして繰返す。以上で1バイト目の通信を終了し、マスター101は、2バイト目のRDYの立ち下りエッジ(図11のe)を検知することを待つ状態となる。
スレーブ201もまた、SS信号線のLowレベルを検知することにより、マスター101の受信動作の実行を通知する信号であると判断して、以下のように送信側として通信(第2送信動作)を開始する。まず、SCK信号線の立ち上がりエッジを検知すると(図11のB)、MOSI信号線に入力されるレベル(図11のAのレベル)を受信データ記憶部205における第1バイトのLSB側の第1ビット用の記憶領域に受信したデータとして記憶し、SCK信号線の立ち下りエッジを検知すると(図11のC)、送信データ記憶部204に記憶されている第1バイトの値01Hを構成するLSB側の第2ビットの値を送信用のデータとしてMISO信号線にセットする(図11のd)。
次に、SCK信号線の立ち上がりエッジを検知すると(図11のE)、MOSI信号線に入力されるレベル(図11のDのレベル)を受信データ記憶部205における第1バイトのLSB側の第2ビット用の記憶領域に受信したデータとして記憶する。これらの動作により、マスター101から送信される第1バイトのデータのうちの第2ビットまでのデータ(図11のAとDのデータ)を受信し、スレーブ201から送信する第1バイトのデータのうちの第2ビットまでのデータ(図11のbとdのデータ)を送信する。第3ビットから第8ビットも同様にして繰返し、1バイト目の通信を行なう。
図11の第1バイトの通信が終了したとき、マスター101が受信して、受信データ記憶部105における第1バイト用の記憶領域に記憶されたデータの値は01Hであり、これは1バイト目の通信で、スレーブ201から送信したコマンドの値である。また、スレーブ201が受信して、受信データ記憶部205における第1バイト用の記憶領域に記憶されたデータの値は81Hであり、これは1バイト目の通信でマスター101から送信したコマンドの値である。この1バイト目の通信が行われた時点で、スレーブ201は、マスター101から1バイト目に受信したデータである81Hが、受信側であることを示す所定値であるNULLと異なることにより、マスター101が送信側として1バイト目にコマンドを送信してきたと判断する。そして、スレーブ201は、送信データ記憶部204に格納された送信データを送信保留データ記憶部208へコピーした後、受信側の動作(第1受信動作)に切り換えて通信を継続する。
スレーブ201の2バイト目の送信データは、1バイト目でマスター101から受信した、受信データ記憶部205に記憶されている第1バイトの値81Hとなる。これを送信データ記憶部204における第2バイト用の記憶領域に記憶する。送信データ記憶部204における第2バイト用記憶領域に記憶されている値81Hを構成するLSB側の第1ビットの値(所定のチェック用データを構成するデータ)を送信用のデータとしてMISO信号線にセットした後(図11のh)、RDYパルスを出力することにより、2バイト目の通信準備完了をマスター101へ通知する(図11のe)。その後、SCK信号線の立ち上がりエッジを検知するまで待ち状態となる。
マスター101は、スレーブ201から送信された1バイト目の値にかかわらず、そのまま送信動作を継続する。マスター101からスレーブ201への送信データの2バイト目は送信データ記憶部104に記憶されている第2バイトの値00H、3バイト目は送信データ記憶部104に記憶されている第3バイトの値81Hである。
スレーブ201の3バイト目の送信データは、2バイト目でマスター101から受信した、受信データ記憶部205に記憶されている第2バイトの値00Hとなる。これを送信データ記憶部204における第3バイト用の記憶領域に記憶する。
3バイトの通信が終了すると、スレーブ201は、RDYパルスを出力することにより、通信終了および通信禁止をマスター101へ通知する(図11のf)。
マスター101は3バイトの通信後に、RDY信号線の立ち下りエッジを検知すると(図11のf)、SS信号線をHighレベルにすることにより、通信終了および通信禁止をスレーブ201に通知する(図11のg)。
図12(b)は、図11の通信で、マスター101からMOSI信号線で送信された送信データと、スレーブ201からMISO信号線で送信された送信データの内容となる。MOSIにおいては、第1バイトの値は81H、第2バイトの値は00H、第3バイトの値は81H、であり、MISOにおいては、第1バイトの値は01H、第2バイトの値は81H、第3バイトの値は00H、である。送信された図12(b)のデータにおいて、
スレーブ201からMISO信号線で送信したデータは、通信開始時の図12(a)のデータと比較して、第2バイトのデータが00Hから81Hに替わり、第3バイトのデータが01Hから00Hに替わっている。
図13は、図11の通信でスレーブ201が送信を保留した送信データを、マスター101へ送信する通信のタイミングを示した図である。
スレーブ201は、図11の通信が終了し、SS信号線がHighレベルになったことを検出すると(図11のg)、送信保留データ記憶部208に格納した送信データをマスター101へ送信する作業を開始する。具体的には、送信保留データ記憶部208に格納した図12(a)の送信データを送信データ記憶部204の先頭の第1バイトの記憶領域から、01H、00H、01Hの順に格納する。そして、送信データ記憶部204に記憶されている第1バイトの値01Hを構成するLSB側の第1ビットの値1を送信用のデータとしてMISO信号線にセットした後(図13のb)、RDYパルスを出力することにより、通信開始および1バイト目の通信準備完了をマスター101へ通知する(図13のc)。
マスター101は、RDY信号線の立ち下りエッジを検知すると(図13のc)、受信側として通信を開始する。送信データ記憶部104の第1バイト用の記憶領域に、受信側であるとこを示す所定値、NULLを記憶する。そして、マスター101は、SS信号線をLowレベルにしてスレーブ201に対して通信許可を通知する(図13のa)。その後、送信データ記憶部104に記憶されている第1バイトの値NULLを構成するLSB側の第1ビットの値を送信用のデータとしてMOSI信号線にセットしてから(図13のA)、SCK信号線をHighレベルにする(図13のB)。そして、MISO信号線に入力されているレベル(図13のbのレベル)を受信データ記憶部105における第1バイトのLSB側の第1ビット用の記憶領域に受信したデータとして記憶した後、SCK信号線をLowレベルにする(図13のC)。これらの動作により、マスター101から送信する第1バイトのデータのうちの第1ビットのデータを送信し(図13のA)、スレーブ201から送信される第1バイトのデータのうちの第1ビットのデータを受信する(図13のb)。
次に、送信データ記憶部104に記憶されている第1バイトの値NULLを構成するLSB側の第2ビットの値0を送信用のデータとしてMOSI信号線にセットしてから(図13のD)、SCK信号線をHighレベルにする(図13のE)。そして、MISO信号線に入力されているレベル(図13のdのレベル)を受信データ記憶部105における第1バイトのLSB側の第2ビット用の記憶領域に受信したデータとして記憶した後、SCK信号線をLowレベルにする(図7のF)。これらの動作により、マスター101から送信する第1バイトのデータのうちの第2ビットのデータを送信し(図13のD)、スレーブ201から送信される第1バイトのデータうちの第2ビットのデータを受信する(図13のd)。第3ビットから第8ビットも同様にして繰返して1バイト通信を終了する。2バイト目の送信データは、1バイト目で受信した、受信データ記憶部105に記憶されている第1バイトの値01Hである。これを送信データ記憶部104における第2バイト用の記憶領域に記憶する。その後、マスター101は、2バイト目のRDYの立ち下りエッジ(図13のe)の検知を待つ状態となる。
スレーブ201は、SS信号線のLowレベルを検知することにより(図13のa)、通信が開始されたと判断する。まず、SCK信号線の立ち上がりエッジを検知すると(図13のB)、MOSI信号線に入力されているレベル(図13のAのレベル)を受信データ記憶部205における第1バイトのLSB側の第1ビット用の記憶領域に受信したデータとして記憶し、SCK信号線の立ち下りエッジを検知すると(図13のC)、送信データ記憶部204に記憶されている第1バイトの値01Hを構成するLSB側の第2ビットの値0を送信用のデータとしてMISO信号線にセットする(図13のd)。
次に、SCK信号線の立ち上がりエッジを検知すると(図13のE)、MOSI信号線に入力されているレベル(図13のDのレベル)を受信データ記憶部205における第1
バイトのLSB側の第2ビット用の記憶領域に受信したデータとして記憶する。これらの動作により、マスター101から送信される第1バイトのデータのうちの第2ビットまでのデータ(図13のAとDのデータ)を受信し、スレーブ201から送信する第1バイトのデータのうちの第2ビットまでのデータ(図13のbとdのデータ)を送信する。第3ビットから第8ビットも同様にして繰返して1バイト通信を行なう。
スレーブ201からマスター101への送信データの2バイト目は送信データ記憶部204に記憶されている第2バイトの値00Hである。00Hを構成するLSB側の第1ビットの値0を送信用のデータとしてMISO信号線にセットした後、RDYパルスを出力することにより(図13のe)、2バイト目の通信準備完了をマスター101へ通知する。その後、SCK信号線の立ち上がりエッジを検知するまで待ち状態となる。
スレーブ201からマスター101への送信データの3バイト目は送信データ記憶部204に記憶されている第3バイトの値01Hである。
マスター101からスレーブ201への送信データの3バイト目は、2バイト目でスレーブ201から受信し、送信データ記憶部104の第3バイト用の記憶領域に記憶した値00Hである。
3バイトの通信が終了すると、スレーブ201は、RDYパルスを出力することにより、通信終了および通信禁止をマスター101へ通知する(図13のf)。
マスター101は3バイトの通信後のRDYパルスの立ち下りエッジを検知すると(図13のf)、SS信号線をHighレベルにすることにより、通信終了および通信禁止をスレーブ201に通知する(図13のg)。
図14は、図13の通信で、マスター101からMOSI信号線で送信される送信データと、スレーブ201からMISO信号線で送信される送信データの内容となる。MOSIにおいては、第1バイトの値はNULL、第2バイトの値は01H、第3バイトの値は00H、であり、MISOにおいては、第1バイトの値は01H、第2バイトの値は00H、第3バイトの値は01H、である。
以上のように、スレーブ201は、送信開始後、マスター101から1バイト目に受信したデータが、受信側であることを示す所定値である場合には、送信動作を継続し、受信側であることを示す所定値でない場合には、送信動作を中止するとともに、マスター101からの送信動作に基づくデータとして受信する受信動作に切り替えるので、マスター101とスレーブ201の両方から同時に通信が開始された場合においても、通信に失敗することなく、安定した通信が可能な同期式シリアル通信システムを実現可能である。
次に、本実施例における通信エラーの検出方法について、フローチャートを用いて説明する。
図15は、送信側として動作する場合のマスター101のフローチャートである。ステップS1は、送信データを送信データ記憶部104に格納する工程である。ステップS2は、タイマー109をクリアして時間カウントを開始する工程である。ステップS3は、SS信号線をLowレベルにすることにより、通信開始および通信許可をスレーブ201に通知する工程である。ステップS4は、タイマー109の時間カウントが通信タイムアウト時間を経過したかどうかの判定する工程である。通信タイムアウト時間は、スレーブ201がRDYパルスを出力したときのRDY信号線の立下りから、スレーブ201との間で1バイトの通信を経て、スレーブ201が再びRDYパルスを出力するまでの時間(図7のT1)よりも長い時間とする。
ステップS4で通信タイムアウト時間か経過した場合は、スレーブ201からの応答が無いので通信エラーが発生したと判断し、ステップS60へ移行する。ステップS4で通
信タイムアウト時間か経過していない場合は、ステップS5へ移行する。ステップS5は、RDY信号線レベルの立下がりを判定する工程である。立下りでない場合はステップS4へ移行し、立下りである場合はステップS50へ移行する。ステップS50は、タイマー109の時間カウントをクリアする工程である。ステップS6は残りの送信データの有無を判定する工程である。全ての送信データを送信済みで、残り0バイトの場合は、ステップS9へ移行する。未送信の送信データが残っている場合は、ステップS7へ移行する。
ステップS7は、SCK信号線クロックを出力し、1バイトの通信を行なう工程である。ステップS8は、2バイト目以降の場合に、前回に送信した1バイトの値と、今回にスレーブ201から受信した1バイトの値との照合結果を判定する工程である。2値が異なる場合はNGと判定し、通信エラーが発生したと判断し、ステップS60へ移行する。2値が等しい場合はOKと判定し、正常であると判断し、ステップS4へ移行する。
ステップS60は、通信終了後に送信データを再送するように再送設定する工程である。再送設定がされている場合、通信終了後、スレーブ201の通信タイムアウトが発生するのに十分な時間が経過後、送信データの再送を開始する。ステップS9は、SS信号線をHighレベルにすることにより、通信終了および通信禁止をスレーブ201に通知する工程である。ステップS10は、タイマー109をクリアして時間カウントを終了する工程である。
このように、マスター101は、スレーブ201から送信される1バイト目のデータの内容にかかわらず、送信動作を続ける。
図18は、受信側として動作する場合の、スレーブ201のフローチャートである。
スレーブ201は、SS信号線のLowレベルを検知してから、ステップS44の工程において、タイマー209をクリアして時間カウントを開始する。ステップS35は、RDYパルスを出力することにより、通信開始および1バイトの通信準備完了をマスター101へ通知する工程である。ステップ36は、タイマー209の時間カウントが通信タイムアウト時間を経過したかどうかの判定する工程である。通信タイムアウト時間は、1バイトの通信を経て、RDYパルスを出力後、マスター101からSCK信号線のクロックを入力するまでの時間(図7のT2)よりも長い時間とする。
通信タイムアウト時間か経過した場合は、マスター101からの応答が無いので通信エラーが発生したと判断し、ステップS41へ移行する。マスター101のステップS8で、照合結果がNGの場合、マスター101が通信を終了するので、マスター101からの応答が無くなり、通信タイムアウト時間か経過する。通信タイムアウト時間か経過していない場合は、ステップS37へ移行する。
ステップS37は、SCK信号線のクロック入力が発生しているかを判定する工程である。SCK信号線のクロック入力が発生している場合には、ステップS53へ移行する。マスター101がRDY信号線レベルの立下がりを検出してSCK信号線クロックを出力するまでの、SCK信号線のクロック入力が発生していない場合には、ステップS36へ移行する。ステップS53は、タイマー209の時間カウントをクリアする工程である。ステップS38は、SCK信号線のクロックに同期して、1バイトの通信を行なう工程である。
ステップS39は、残りの受信データの有無を判定する工程である。全ての受信データを受信済みの場合は、ステップS40へ移行する。未受信の受信データが残っている場合は、ステップS35へ移行する。ステップS40は、受信データ記憶部205に格納された受信データのうち、コマンドからデータまでをXORしたチェックサムの値と、最終受信バイトの値との照合結果を判定する工程である。2値が異なる場合はNGと判定し、受信データが不正な値であると判断し、ステップS41へ移行する。2値が等しい場合はOKと
判定し、正常であると判断し、ステップS42へ移行する。ステップS41は、受信データ記憶部205に格納された受信データをクリアする、エラー処理の工程である。ステップ42は、RDYパルスを出力することにより、通信終了および通信禁止をマスター101へ通知する工程である。ステップS43は、タイマー209をクリアして時間カウントを終了する工程である。
図17は、送信側として動作する場合のスレーブ201のフローチャートである。ステップS21は、送信データを送信データ記憶部104に格納する工程である。ステップS22は、タイマー209をクリアして時間カウントを開始する工程である。ステップS23は、RDYパルスを出力することにより、通信開始および1バイトの通信準備完了をマスター101へ通知する工程である。ステップ24は、タイマー209の時間カウントが通信タイムアウト時間を経過したかどうかの判定する工程である。通信タイムアウト時間は、1バイトの通信を経て、RDYパルスを出力後、マスター101からSCK信号線のクロックを入力するまでの時間(図9のT2)よりも長い時間とする。通信タイムアウト時間か経過した場合は、マスター101からの応答が無いので通信エラーが発生したと判断し、ステップS61へ移行する。通信タイムアウト時間か経過していない場合は、ステップS25へ移行する。
ステップS25は、SCK信号線のクロック入力が発生しているかを判定する工程である。SCK信号線のクロック入力が発生している場合には、ステップS52へ移行する。マスター101がRDY信号線レベルの立下がりを検出してSCK信号線クロックを出力するまでの、SCK信号線のクロック入力が発生していない場合には、ステップS24へ移行する。ステップS52は、タイマー209の時間カウントをクリアする工程である。ステップS26は、SCK信号線のクロックに同期して、1バイトの通信を行なう工程である。ステップS27は、残りの送信データの有無を判定する工程である。全ての送信データを送信済みの場合は、ステップS28へ移行する。未送信の送信データが残っている場合は、ステップS29へ移行する。
ステップS28は、RDYパルスを出力することにより、通信終了および通信禁止をマスター101へ通知する工程である。ステップS29は、1バイト目の通信である場合はステップS31へ移行し、2バイト目以降の通信である場合はステップS30へ移行する、判定工程である。ステップS31は、1バイト目の通信でマスター101から受信した値が、受信側であることを示す所定値であるNULLであるかを判定する工程である。NULLである場合はステップS30へ移行し、NULLで無い場合はステップS32へ移行する。ステップS32は、受信側に切り換えるために、送信データ記憶部204に格納された送信データを送信保留データ記憶部208へコピーする工程である。ステップS32から、受信側として通信を継続するために、図18に示す、受信側として動作する場合のスレーブ201の、フローチャートのS35の工程へ移行する(図17のA)。
図17のステップ32から移行した(図18のA)ステップS35の工程では、RDYパルスを出力することにより、通信開始および1バイトの通信準備完了をマスター101へ通知する。ステップS35から後は、図18のフローチャートに処理を移し、受信側としての動作を継続する。ステップS30は、2バイト目以降の場合に、前回に送信した1バイトの値と、今回にマスター101から受信した1バイトの値との照合結果を判定する工程である。2値が異なる場合はNGと判定し、通信エラーが発生したと判断し、ステップS61へ移行する。2値が等しい場合はOKと判定し、正常であると判断し、ステップS23へ移行する。ステップS61は、通信終了後に送信データを再送するように再送設定する工程である。再送設定がされている場合、通信終了後、マスター101の通信タイムアウトが発生するのに十分な時間が経過後、送信データの再送を開始する。ステップS34は、タイマー209をクリアして時間カウントを終了する工程である。
このように、スレーブ201は、送信側として動作を開始しても、ステップS31で、マスター101から送信される1バイト目のデータがNULLでないと判断した場合には、図18のステップS35から受信側として動作を切替えるので、送信側として動作を開始したマスター101は、そのまま送信動作を継続することができ、通信のエラーも発生しない。
図16は、受信側として動作する場合のマスター101のフローチャートである。マスター101は、スレーブ201が送信側としてRDYパルスを出力してから、RDY信号線の立ち下りエッジを検知すると、ステップS11の工程において、タイマー109をクリアして時間カウントを開始する。ステップS12は、SS信号線をLowレベルにすることにより、通信開始および通信許可をスレーブ201に通知する工程である。ステップS13は、SCK信号線にクロックを出力し、1バイトの通信を行なう工程である。ステップS14は、タイマー109の時間カウントが通信タイムアウト時間を経過したかどうかの判定する工程である。
通信タイムアウト時間は、スレーブ201がRDYパルスを出力したときのRDY信号線の立下りから1バイトの通信を経て、スレーブ201が再びRDYパルスを出力するまでの時間(図9のT1)よりも長い時間とする。通信タイムアウト時間か経過した場合は、スレーブ201からの応答が無いので通信エラーが発生したと判断し、ステップS18へ移行する。図17におけるスレーブ201のステップS30で、照合結果がNGの場合、スレーブ201が通信を終了するので、スレーブ201からの応答が無くなり、通信タイムアウト時間か経過する。通信タイムアウト時間か経過していない場合は、ステップS15へ移行する。
ステップS15は、RDY信号線レベルの立下がりを判定する工程である。立下りでない場合はステップS14へ移行し、立下りである場合はステップS51へ移行する。ステップS51は、タイマー109の時間カウントをクリアする工程である。ステップS16は残りの受信データの有無を判定する工程である。全ての受信データを受信済みで、残り0バイトの場合は、ステップS17へ移行する。未受信の受信データが残っている場合は、ステップS13へ移行する。
ステップS17は、受信データ記憶部105に格納された受信データのうち、コマンドからデータまでをXORしたチェックサムの値と、最終受信バイトの値との照合結果を判定する工程である。2値が異なる場合はNGと判定し、受信データが不正な値であると判断し、ステップS18へ移行する。2値が等しい場合はOKと判定し、正常であると判断し、ステップS19へ移行する。ステップS18は、受信データ記憶部105に格納された受信データをクリアする、エラー処理の工程である。ステップS19は、SS信号線をHighレベルにすることにより、通信終了および通信禁止をスレーブ201に通知する工程である。ステップS20は、タイマー109をクリアして時間カウントを終了する工程である。
マスター101の図15の送信処理におけるS60の再送処理、あるいは、マスター101の図16の受信処理におけるS18のエラー処理、を実行するが、マスター101の出力ポートとスレーブ201のリセット端子を接続し、通信エラー発生時にマスター101の前記出力ポートからリセットパルスを出力することにより、スレーブ201をリセットしてもよい。これにより、スレーブ201が、プログラムの暴走などの異常が発生したことに起因して通信エラーが発生している場合にも、スレーブ201を正常な状態に復帰させることが可能である。
以上のように、本実施例においては、送信側は、送信したデータが次の1バイト通信で受信した受信データと照合することで、通信が正常に行なわれているか判断し、受信側は、受信したデータのチェックサムと、送信側から受信したチェックサムとを照合することで、通信が正常に行なわれているか判断し、また、送信側または受信側の装置に異常が発生して、通信が途切れた場合にも、タイマーの時間カウントが通信タイムアウト時間を経過ことを検知して、通信エラーと判断するので、容易に通信エラーを検出でき、通信エラーによるプログラムの不正処理を未然に防ぐことが可能である。
本実施例では、RDY信号線を、1バイトデータの通信準備完了を通知する目的と、スレーブ201がマスター101に通信開始を通知する目的とに兼用しているが、RDY信号線とは別に、REQ信号線を追加してもよい。図19は、REQ信号線を追加した場合のブロック図である。図19のブロック図は、図2のブロック図に、REQ信号線を追加した点が異なるだけである。REQ信号線は、スレーブ201の出力端子216と、マスター101の入力端子116に接続される。REQ信号線は、スレーブ201がマスター101に通信開始を通知する信号(第2要求信号)を出力して受信動作を要求する機能を果たす第2信号線として用いられ、通常はHighレベルとする。RDY信号線は、1バイト毎のスレーブ側のデータの通信準備完了を通知するために用いられる。
図20は、REQ信号線を使用してスレーブ201から3バイトの送信を実行する場合のタイミングチャートである。スレーブ201において、マスター101へ通信する必要が発生した場合、送信データを送信データ記憶部204に格納し、通信(第2送信動作)を開始する。まず、スレーブ201は、第2要求信号としてREQ信号線をLowレベルにすることにより、通信開始および受信動作の要求をマスター101へ通知する(図20のb)。マスター101は、REQ信号線のLowレベルを検知すると(図20のb)、SS信号線をLowレベルにしてスレーブ201に対して受信動作開始および通信許可を通知する(図20のa)。これは、図7のaに相当し、以降は図7の実施例のように通信を行なう。ただし、マスター101は受信側として、スレーブ201は送信側として、通信を行なう。マスター101は、通信が終了し、SS信号線がHighレベルになったのを検知すると、REQ信号線をHighレベルにする。以上で、REQ信号線は、通常はHighレベルとしたが、通常がLowレベルで通信時がHighレベルであってもよい。
REQ信号線を追加した場合において、マスター101から通信を開始する場合は、図7の実施例の通信を行なう。すなわち、マスター101は、SS信号線をLowレベルにすることにより、通信開始および通信許可をスレーブ201に通知する(図7のa)。
REQ信号線を追加した場合においても、マスター101とスレーブ201が同時に送信を開始した場合、以下のように双方が送信側として通信を開始する。
スレーブ201は、送信側として通信(第2送信動作)を開始するため、第2要求信号としてREQ信号線をLowレベルにすることにより、通信開始および受信動作の要求をマスター101へ通知する。
マスター101は、送信側として通信(第1送信動作)を開始するため、第1要求信号としてSS信号線をLowレベルにすることにより、通信開始および通信許可をスレーブ201に通知する。
スレーブ201は、SS信号線のLowレベルを検知することにより、マスター101の受信動作の実行を通知する信号(第2要求信号に対する応答)であると判断して、送信側として通信(第2送信動作)を開始し、RDYパルスを出力する。
マスター101は、RDYパルスを検出して、このパルスをスレーブ201の通信準備完
了の信号、すなわち、スレーブ201の受信動作の実行を通知する信号(第1要求信号に対する応答)であると判断して、送信側として通信を開始する。以上の場合においても、マスター101あるいはスレーブ201が、送信開始後、1バイト目に受信したデータが、受信側であることを示す所定値である場合には、送信動作を継続し、受信側であることを示す所定値でない場合には、受信動作に切り替えるので、通信に失敗することなく、安定した通信が可能な同期式シリアル通信システムを実現可能である。
スレーブ201にREQ信号線を追加した場合の例を説明したが、マスター101だけに、REQ信号線に対応する信号線を追加した場合も同様に、マスター101とスレーブ201の双方が送信側として通信を開始することが起こり得る。この場合も同様に、スレーブ201が、第2送信動作から第1受信動作に切替るように構成することで、通信に失敗せずに、安定した通信が可能である。
このように、少なくとも、マスター101の第1要求信号の信号線とマスター101における受信動作の実行を通知する信号を送信する信号線とが兼用されているか、又は、スレーブ201の第2要求信号の信号線とスレーブ201における受信動作の実行を通知する信号を送信する信号線とが兼用されている場合に、マスター101とスレーブ201の双方が送信側として通信を開始することが起こり得る。本実施例の構成では、第1又は第2信号線と受信動作の実行を通知する信号を送信する信号線とを兼用することで信号線を減らしても、安定した通信をすることができる。
本実施例において、受信側が通信する場合の1バイト目が受信側であることを示す所定値としたが、2バイト目以降であってもよい。例えば、通信するデータのフォーマットの、先頭の1バイトまたは複数バイトが、送信側と受信側で通信時に必ず交換する情報である場合、これらを通信した後、送信側はコマンド以降のデータを送信し、受信側は受信側であることを示す所定値以降のデータを通信する。この場合の交換情報とは、電源電圧、センサー入力、運針状態など、マスター及びスレーブが各々必要とする双方の情報である。
本実施例において、受信側が通信の1バイト目に受信側であることを示す所定値を送信するが、送信側が通信の1バイト目に送信側であることを示す所定値を送信し、受信側が通信の1バイト目に送信側であることを示す所定値以外の任意の値、または、受信側であることを示す所定値を送信するようにしてもよい。この場合、マスター101とスレーブ201が同時に送信側として通信を開始すると、スレーブ201は、マスター101から1バイト目に受信したデータが、送信側であることを示す所定値でない場合には、送信動作を継続し、送信側であることを示す所定値である場合には、送信動作を中止するとともに、マスター101から送信されるデータを、マスター101からの送信動作に基づくデータとして受信する受信動作に切り替える。
但し、受信側が通信の1バイト目に受信側であることを示す所定値を送信する場合に対して、送信側が通信の1バイト目に送信側であることを示す所定値を送信すると、送信側のデータが1バイト長くなるため、前者の方がこの好ましい。
本実施例において、スレーブ201が、マスター101から1バイト目に受信したデータが、受信側であることを示す所定値であるNULLと異なることにより、受信側に切り換えて通信を継続するが、マスター101が、スレーブ201から1バイト目に受信したデータが、受信側であることを示す所定値であるNULLと異なることにより、受信側に切り換えて通信を継続するようにしてもよい。この場合、マスター101は、スレーブ201から全データを受信した後に、RDY信号線の立ち下りエッジを検知すると、SS信号線をHighレベルにして通信終了および通信禁止をスレーブ201に通知した後、再びS
S信号線をLowレベルにして、送信データの通信を開始する。
本実施例において、受信側が通信の1バイト目で送信する、受信側であるとこを示す所定値としてNULL(00H)を用いたが、FFHやAAHや55Hなど、コマンドに使用している値以外であれば特にこれに限るものではない。
本実施例において、SSおよびRDY信号線のレベルを検出する方法として、プログラムによるポーリングを例に説明したが、RDY信号線をマスター101の外部割込み入力端子に接続し、SS信号線をスレーブ201の外部割込み入力端子に接続し、レベル変化によって割り込みが発生して、プログラムの割込みハンドラが起動する方法であってもよい。この場合にも、信号線のレベル変化が発生してから、実際に割り込みハンドラが呼び出されるまでには、システム上の様々な要因により遅延時間が発生する。この遅延時間により、同様にマスター101、スレーブ201の双方が送信側として動作を開始することを防ぐことができる。
また、本実施例において、SCK信号線は、非通信中の通常状態はLowレベルで、立上がりのタイミングでMOSI信号線とMISO信号線からデータを取り込む設定であるが、通常状態がLowレベルで立下りがデータ取り込み、あるいは、通常状態がHighレベルで立上がりがデータ取り込み、あるいは、通常状態がHighレベルで立下りがデータ取り込みであってもよい。MOSI信号線とMISO信号線に読み書きするデータはLSBからの順であるが、MSBからの順であってもよい。SS信号線は、通信許可がHighレベルで、通信禁止がLowレベルであってもよい。RDY信号線は非通信中の通常状態がLowレベルで、RDYパルスがHighレベルを一定期間だけ出力するものであってもよい。
100 主情報処理装置
101 マスター(メイン・マイクロコンピュータ)
102 ROM
103 RAM
104 送信データ記憶部
105 受信データ記憶部
106 計時部
107 表示部
108 入力部
109 タイマー
110 シリアル通信部
111 RDY入力端子
112 SS出力端子
113 SCK出力端子
114 MOSI出力端子
115 MISO入力端子
116 REQ入力端子
120 内部クロック発生部
200 従情報処理装置
201 スレーブ(サブ・マイクロコンピュータ)
202 ROM
203 RAM
204 送信データ記憶部
205 受信データ記憶部
206 計時部
207 外部通信部
208 送信保留データ記憶部
209 タイマー
210 シリアル通信部
211 RDY出力端子
212 SS入力端子
213 SCK入力端子
214 MOSI入力端子
215 MISO出力端子
216 REQ出力端子
220 内部クロック発生部
S1 送信データ準備工程
S2 タイマー開始工程
S3 SS信号線レベルLowセット工程
S4 タイムアウト判定
S5 RDY信号線立下り判定
S6 残り送信データ有無判定
S7 1バイト通信工程
S8 データ照合判定
S9 SS信号線レベルHighセット工程
S10 タイマー終了工程
S11 タイマー開始工程
S12 SS信号線レベルLowセット工程
S13 1バイト通信工程
S14 タイムアウト判定
S15 RDY信号線立下り判定
S16 残り受信データ有無判定
S17 チェックサム照合判定
S18 エラー処理工程
S19 SS信号線レベルHighセット工程
S20 タイマー終了工程
S21 送信データ準備工程
S22 タイマー開始工程
S23 RDYパルス出力工程
S24 タイムアウト判定
S25 SCK立上がり判定
S26 1バイト通信工程
S27 残り送信データ有無判定
S28 RDYパルス出力工程
S29 1バイト目判定
S30 データ照合判定
S31 1バイト目受信データのNULL照合判定
S32 受信切換工程
S34 タイマー終了工程
S44 タイマー開始工程
S35 RDYパルス出力工程
S36 タイムアウト判定
S37 SCK立上がり判定
S38 1バイト通信工程
S39 残り受信データ有無判定
S40 チェックサム照合判定
S41 エラー処理工程
S42 RDYパルス出力工程
S43 タイマー終了工程
S50 タイマークリア工程
S51 タイマークリア工程
S52 タイマークリア工程
S53 タイマークリア工程
S60 再送処理工程
S61 再送処理工程

Claims (5)

  1. 第1情報処理装置と第2情報処理装置と、
    前記第1情報処理装置と前記第2情報処理装置との間でシリアル通信によりデータを送受信するための信号線とを有し、
    前記第1及び前記第2情報処理装置との間で同期して通信するための同期信号を、前記第1又は前記第2情報処理装置が出力するシリアル通信システムであって、
    前記第1情報処理装置は、前記第2情報処理装置にデータを送信する第1送信動作を開始する際に、前記第2情報処理装置に、前記第1情報処理装置から送信されたデータを受信をする第1受信動作の実行を要求する第1要求信号を出力し、
    前記第2情報処理装置は、前記第1情報処理装置にデータを送信する第2送信動作を開始する際に、前記第1情報処理装置に、前記第2情報処理装置から送信されたデータを受信する第2受信動作の実行を要求する第2要求信号を出力し、
    前記第1情報処理装置は、前記第2受信動作中に、前記第1送信動作で前記2情報処理装置へのデータの送信に用いる信号線を介して、予め定められたデータを送信し、
    前記第2情報処理装置は、前記第2送信動作において、前記予め定められたデータを受信しない場合には、前記第2送信動作から前記第1受信動作に切替えることを特徴とするシリアル通信システム。
  2. 第1情報処理装置と第2情報処理装置と、
    前記第1情報処理装置と前記第2情報処理装置との間でシリアル通信によりデータを送受信するための複数の信号線とを有し、
    前記第1及び前記第2情報処理装置との間で同期して通信するための同期信号を、前記第1又は前記第2情報処理装置が出力するシリアル通信システムであって、
    前記第1情報処理装置は、前記第2情報処理装置にデータを送信する第1送信動作を開始する際に、前記第2情報処理装置に、前記第1情報処理装置から送信されたデータを受信する第1受信動作の実行を要求する第1要求信号を出力し、
    前記第2情報処理装置は、前記第1情報処理装置にデータを送信する第2送信動作を開始する際に、前記第1情報処理装置に、前記第2情報処理装置から送信されたデータを受信する第2受信動作の実行を要求する第2要求信号を出力し、
    前記第1情報処理装置は、前記第1送信動作中に、該第1送信動作で前記2情報処理装置へのデータの送信に用いる信号線を介して、予め定められたデータを送信し、
    前記第2情報処理装置は、前記第2送信動作において、前記予め定められたデータを受信した場合には、前記第2送信動作から前記第1受信動作に切替えることを特徴とするシリアル通信システム。
  3. 前記データを送受信するための信号線は、前記第1情報処理装置が前記第2情報処理装置に、前記第1要求信号を出力する第1信号線と、前記第2情報処理装置が前記第1情報処理装置に、前記第2要求信号を出力する第2信号線とを有し、
    前記第2情報処理装置が、前記第1要求信号に対して、前記第2信号線から受信動作の実行を示す信号を送信し、前記第1情報処理装置が、前記第2信号線から、前記受信動作の実行を示す信号を受信することにより前記第1送信動作を実行するように構成するか、又は、
    前記第1情報処理装置が、前記第2要求信号に対して、前記第1信号線から受信動作の実行を示す信号を送信し、前記第2情報処理装置が、前記第1信号線から、前記受信動作の実行を示す信号を受信することにより前記第2送信動作を実行するように構成することにより、
    前記第1信号線と前記第2信号線の少なくともいずれかを、受信動作の実行を示す信号を送信する信号線と兼用したことを特徴とする請求項1又は2に記載のシリアル通信システム。
  4. 前記第2情報処理装置は、前記第1受信動作中に、前記第2送信動作で前記第1情報処理装置へのデータの送信に用いる信号線を介して、前記第1情報処理装置に所定のチェック用データを送信し、
    前記第1情報処理装置は、前記第1送信動作中に、前記第2情報処理装置から、前記所定のチェック用データを受信することにより正常にデータが送信されたと判断し、前記所定のチェック用データを受信しない場合に正常にデータが送信されなかったと判断し、
    前記第2情報処理装置は、前記第2送信動作から前記第1受信動作に切り替えたときに、前記第2送信動作で前記第1情報処理装置へのデータの送信に用いる信号線から、前記所定のチェック用データを送信することを特徴とする請求項1〜3のいずれか1項に記載のシリアル通信システム。
  5. 前記第1送信動作において送信されるデータが複数バイトのデータで構成され、
    前記第2情報処理装置は、前記第1受信動作において、前記第1送信動作で送信される第2バイト以降のデータを受信する際に、前記第2送信動作で前記第1情報処理装置へのデータの送信に用いる信号線を介して、所定のチェック用のデータを送信し、
    前記第1情報処理装置は、前記第1送信動作において、第2バイト以降のデータを送信する際に、該第2バイト以降のデータの送信とともに、前記第2情報処理装置から送信される前記チェック用データを受信し、
    前記第2情報処理装置は、前記第2送信動作において、前記第1情報処理装置から送信される第1バイトのデータが、前記予め定められたデータではない場合に、前記第2送信動作から前記第1受信動作に切替えるとともに、該第1受信動作において、前記第1情報処理装置が前記第2バイト以降のデータを送信するときに、前記所定のチェック用データを送信することを特徴とする請求項1に記載のシリアル通信システム。
JP2012236502A 2012-10-26 2012-10-26 シリアル通信システム Active JP6004891B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012236502A JP6004891B2 (ja) 2012-10-26 2012-10-26 シリアル通信システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012236502A JP6004891B2 (ja) 2012-10-26 2012-10-26 シリアル通信システム

Publications (2)

Publication Number Publication Date
JP2014086992A true JP2014086992A (ja) 2014-05-12
JP6004891B2 JP6004891B2 (ja) 2016-10-12

Family

ID=50789652

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012236502A Active JP6004891B2 (ja) 2012-10-26 2012-10-26 シリアル通信システム

Country Status (1)

Country Link
JP (1) JP6004891B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016083061A (ja) * 2014-10-23 2016-05-19 株式会社ユニバーサルエンターテインメント 遊技機

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0370229A (ja) * 1989-08-09 1991-03-26 Seiko Instr Inc データ比較同期式シリアル通信方式
JPH0563751A (ja) * 1991-09-05 1993-03-12 Kyushu Nippon Denki Software Kk フレームレベルの通信方式
WO2012110798A1 (en) * 2011-02-15 2012-08-23 Nordic Semiconductor Asa Serial interface

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0370229A (ja) * 1989-08-09 1991-03-26 Seiko Instr Inc データ比較同期式シリアル通信方式
JPH0563751A (ja) * 1991-09-05 1993-03-12 Kyushu Nippon Denki Software Kk フレームレベルの通信方式
WO2012110798A1 (en) * 2011-02-15 2012-08-23 Nordic Semiconductor Asa Serial interface

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016083061A (ja) * 2014-10-23 2016-05-19 株式会社ユニバーサルエンターテインメント 遊技機

Also Published As

Publication number Publication date
JP6004891B2 (ja) 2016-10-12

Similar Documents

Publication Publication Date Title
US9813598B2 (en) Light emitting system, light emission control apparatus and control method therefor, communication system and control method therefor and storage medium
CN103312636B (zh) 信息处理装置、串行通信系统和装置以及通信初始化方法
CN104900928B (zh) 充电方法、充电装置及电子装置
WO2016126874A1 (en) Voltage mode and current mode device enumeration
JP6047938B2 (ja) 電子時計、時刻修正方法、及び、プログラム
JP2013517486A (ja) 周波数信号を監視するための方法および装置
US11216049B2 (en) Bus system
US20170090908A1 (en) Terminal device and charge control method
JP6004891B2 (ja) シリアル通信システム
US20220093068A1 (en) Wireless communication device, electronic device, and wireless communication method
CN110119365B (zh) 模拟串口通信方法、烹饪器具及可读存储介质
US8588743B2 (en) Communication device and communication system
JP5097516B2 (ja) 制御信号通信方法、光トランシーバシステム、光トランシーバ装置
US20160196420A1 (en) Electronic system and device unlock method of the same
JP3487458B2 (ja) 並列信号伝送装置
KR20050046932A (ko) i2C 버스를 이용한 슬레이브 장치들의 상태 검사 시스템
KR102104967B1 (ko) 이중화 보드에서 마스터/슬레이브 설정방법 및 그 보드
CN100531189C (zh) 实现替代通信协议的方法和主机接口装置
GB2509234A (en) Electronic tag with error detection for internal data transfer
JP2014213675A (ja) ネットワークシステム
JP5801330B2 (ja) デバイスの状態監視方法
US11979170B2 (en) Accessory, method of controlling accessory, electronic device, method of controlling electronic device, communication system, and storage medium
JP6734556B1 (ja) 情報処理システムおよび情報処理装置
JP2003143053A (ja) 情報通信システム
US20220345156A1 (en) Accessory, method of controlling accessory, electronic device, method of controlling electronic device, communication system, and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150513

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160614

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160728

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160906

R150 Certificate of patent or registration of utility model

Ref document number: 6004891

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250