JP3369035B2 - マイクロコントローラ間の通信制御方式 - Google Patents
マイクロコントローラ間の通信制御方式Info
- Publication number
- JP3369035B2 JP3369035B2 JP31043195A JP31043195A JP3369035B2 JP 3369035 B2 JP3369035 B2 JP 3369035B2 JP 31043195 A JP31043195 A JP 31043195A JP 31043195 A JP31043195 A JP 31043195A JP 3369035 B2 JP3369035 B2 JP 3369035B2
- Authority
- JP
- Japan
- Prior art keywords
- transmission
- processing means
- microcontroller
- data
- mode
- 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.)
- Expired - Fee Related
Links
Landscapes
- Communication Control (AREA)
- Selective Calling Equipment (AREA)
- Computer And Data Communications (AREA)
- Programmable Controllers (AREA)
Description
【0001】
【発明の属する技術分野】本発明はマイクロコントロー
ラ間の通信制御方式に関し、特にそれぞれ独立した制御
対象に対して制御を行う複数のマイクロコントローラを
含む装置に適用して好適なマイクロコントローラ間の通
信制御方式に関する。
ラ間の通信制御方式に関し、特にそれぞれ独立した制御
対象に対して制御を行う複数のマイクロコントローラを
含む装置に適用して好適なマイクロコントローラ間の通
信制御方式に関する。
【0002】従来、複数の被制御装置からなるシステム
において、個々の被制御装置をマイクロコントローラが
制御し、各マイクロコントローラをメインの処理装置が
統括的に制御するようにしている。たとえば、テレビ会
議システムでは、遠隔制御装置からの赤外線信号を受信
する受信装置、テレビカメラの向きやズームを制御する
装置、VTRの動作を制御する装置などはそれぞれシン
グルチップのマイクロコントローラが組み込まれていて
それぞれ独立した制御を行うようにしており、これらの
マイクロコントローラには1つのメイン処理装置が接続
されて、外部のシステムと接続される通信回線などの制
御を含めたシステム全体の制御を行うようにしている。
ここで、あるマイクロコントローラで処理されたデータ
を別のマイクロコントローラにて使用するような場合、
そのデータはメイン処理装置を経由して渡される。マイ
クロコントローラ間で連携を取ることができるようにし
て、このようなデータを直接別のマイクロコントローラ
に送信することができれば、その分、メイン処理装置の
負荷を減らすことができるので、マイクロコントローラ
間の連携強化が望まれている。
において、個々の被制御装置をマイクロコントローラが
制御し、各マイクロコントローラをメインの処理装置が
統括的に制御するようにしている。たとえば、テレビ会
議システムでは、遠隔制御装置からの赤外線信号を受信
する受信装置、テレビカメラの向きやズームを制御する
装置、VTRの動作を制御する装置などはそれぞれシン
グルチップのマイクロコントローラが組み込まれていて
それぞれ独立した制御を行うようにしており、これらの
マイクロコントローラには1つのメイン処理装置が接続
されて、外部のシステムと接続される通信回線などの制
御を含めたシステム全体の制御を行うようにしている。
ここで、あるマイクロコントローラで処理されたデータ
を別のマイクロコントローラにて使用するような場合、
そのデータはメイン処理装置を経由して渡される。マイ
クロコントローラ間で連携を取ることができるようにし
て、このようなデータを直接別のマイクロコントローラ
に送信することができれば、その分、メイン処理装置の
負荷を減らすことができるので、マイクロコントローラ
間の連携強化が望まれている。
【0003】
【従来の技術】従来、マイクロコントローラ間で通信を
する1つの方法として、マイクロコントローラが内蔵す
るSPI(シリアル・ペリフェラル・インタフェース)
を使った通信方法が知られている。従来のSPIを使っ
たマイクロコントローラ間通信の構成によれば、データ
を送信するマイクロコントローラはその動作モードをマ
スタモードにし、受信する側のマイクロコントローラは
スレーブモードに設定されることによって、データの送
信が可能になる。このため、複数のマイクロコントロー
ラでマイクロコントローラ間通信を構成するには、ま
ず、あらかじめマスタモードにするマイクロコントロー
ラが指定され、その他のマイクロコントローラはすべて
スレーブモードに固定される。このような構成では、マ
スタモードのマイクロコントローラとの一対一構成の通
信を除いて、双方向通信はできない。また、一対一構成
の接続でも、マスタモードのマイクロコントローラから
しか通信を開始できないので、スレーブモード側のマイ
クロコントローラは送信用のデータを事前に準備してお
かなければならない。
する1つの方法として、マイクロコントローラが内蔵す
るSPI(シリアル・ペリフェラル・インタフェース)
を使った通信方法が知られている。従来のSPIを使っ
たマイクロコントローラ間通信の構成によれば、データ
を送信するマイクロコントローラはその動作モードをマ
スタモードにし、受信する側のマイクロコントローラは
スレーブモードに設定されることによって、データの送
信が可能になる。このため、複数のマイクロコントロー
ラでマイクロコントローラ間通信を構成するには、ま
ず、あらかじめマスタモードにするマイクロコントロー
ラが指定され、その他のマイクロコントローラはすべて
スレーブモードに固定される。このような構成では、マ
スタモードのマイクロコントローラとの一対一構成の通
信を除いて、双方向通信はできない。また、一対一構成
の接続でも、マスタモードのマイクロコントローラから
しか通信を開始できないので、スレーブモード側のマイ
クロコントローラは送信用のデータを事前に準備してお
かなければならない。
【0004】それぞれのマイクロコントローラは独自制
御を行っているので、互いに連絡を取るのがとても難し
いと言われている。しかも、このような一方向の通信構
成では、多対象の装置を制御することは到底適用できな
い。制御装置には通信装置を始め、家庭電化製品や産業
装置など多様な装置がある。このような様々な装置内の
マイクロコントローラ間の通信に関して、より柔軟性に
富んだマイクロコントローラ間の通信方式が必要になっ
てきている。
御を行っているので、互いに連絡を取るのがとても難し
いと言われている。しかも、このような一方向の通信構
成では、多対象の装置を制御することは到底適用できな
い。制御装置には通信装置を始め、家庭電化製品や産業
装置など多様な装置がある。このような様々な装置内の
マイクロコントローラ間の通信に関して、より柔軟性に
富んだマイクロコントローラ間の通信方式が必要になっ
てきている。
【0005】
【発明が解決しようとする課題】しかし、別々に制御を
行う幾つかのマイクロコントローラを含む装置では、そ
れぞれマイクロコントローラはSPIのような簡単なイ
ンタフェースを使って、双方向のデータのやり取りが随
時できないという問題点がある。また、各マイクロコン
トローラの通信方式はマスタとスレーブの関係が固定に
なっているので、装置全体を変更する度に、通信制御の
構造を書き換えなければならず、柔軟に対応できないと
いう問題点がある。さらに、それぞれのマイクロコント
ローラは独自制御を行っており、しかも、上下関係での
連絡(通信)しかできないことから、対等な関係を持つ
ような横方向に広げる通信構造までは対応できないとい
う問題点があった。
行う幾つかのマイクロコントローラを含む装置では、そ
れぞれマイクロコントローラはSPIのような簡単なイ
ンタフェースを使って、双方向のデータのやり取りが随
時できないという問題点がある。また、各マイクロコン
トローラの通信方式はマスタとスレーブの関係が固定に
なっているので、装置全体を変更する度に、通信制御の
構造を書き換えなければならず、柔軟に対応できないと
いう問題点がある。さらに、それぞれのマイクロコント
ローラは独自制御を行っており、しかも、上下関係での
連絡(通信)しかできないことから、対等な関係を持つ
ような横方向に広げる通信構造までは対応できないとい
う問題点があった。
【0006】本発明はこのような点に鑑みてなされたも
のであり、種々の構成に対応することができる柔軟性を
持ったマイクロコントローラ間の通信制御方式を提供す
ることを目的とする。
のであり、種々の構成に対応することができる柔軟性を
持ったマイクロコントローラ間の通信制御方式を提供す
ることを目的とする。
【0007】
【課題を解決するための手段】図1は上記目的を達成す
る本発明の原理を示す構成図である。図示のマイクロコ
ントローラ間の通信制御方式によれば、各マイクロコン
トローラシステム10,20,・・・は、これらにそれ
ぞれ内蔵されたSPI(シリアル・ペリフェラル・イン
タフェース)11,21,・・・を通信回線5によって
相互に接続されている。各マイクロコントローラシステ
ム10,20,・・・は、SPI11,21,・・・の
他に、初期化処理手段12,22,・・・、送信処理手
段13,23,・・・、割り込み処理手段14,24,
・・・、および他制御処理手段15,25,・・・をそ
れぞれ備え、これらはモード切換処理手段を構成してい
る。また、各送信処理手段13、23、・・・には、送
信監視タイマ13a,23a,・・・が設けられてい
る。
る本発明の原理を示す構成図である。図示のマイクロコ
ントローラ間の通信制御方式によれば、各マイクロコン
トローラシステム10,20,・・・は、これらにそれ
ぞれ内蔵されたSPI(シリアル・ペリフェラル・イン
タフェース)11,21,・・・を通信回線5によって
相互に接続されている。各マイクロコントローラシステ
ム10,20,・・・は、SPI11,21,・・・の
他に、初期化処理手段12,22,・・・、送信処理手
段13,23,・・・、割り込み処理手段14,24,
・・・、および他制御処理手段15,25,・・・をそ
れぞれ備え、これらはモード切換処理手段を構成してい
る。また、各送信処理手段13、23、・・・には、送
信監視タイマ13a,23a,・・・が設けられてい
る。
【0008】初期化処理手段12,22,・・・は、S
PI11,21,・・・の初期値、通信速度、ビット構
成などを設定したり、自己の動作モードをマスタまたは
スレーブに設定したり、割り込みを許可したりする。
PI11,21,・・・の初期値、通信速度、ビット構
成などを設定したり、自己の動作モードをマスタまたは
スレーブに設定したり、割り込みを許可したりする。
【0009】送信処理手段13,23,・・・は、自己
の動作モードがマスタモードになっていて、送信データ
がある場合、その他のすべてのマイクロコントローラシ
ステムにスレーブモードになるよう要求して、、自分の
データを送信する。送信データがあって、自己の動作モ
ードがスレーブモードにある場合は、まず、その他のす
べてのマイクロコントローラシステムにスレーブモード
になるよう要求し、自分はマスタモードに設定してか
ら、自分のデータを相手に送信する。
の動作モードがマスタモードになっていて、送信データ
がある場合、その他のすべてのマイクロコントローラシ
ステムにスレーブモードになるよう要求して、、自分の
データを送信する。送信データがあって、自己の動作モ
ードがスレーブモードにある場合は、まず、その他のす
べてのマイクロコントローラシステムにスレーブモード
になるよう要求し、自分はマスタモードに設定してか
ら、自分のデータを相手に送信する。
【0010】割り込み処理手段14,24,・・・は、
自己の動作モードがスレーブモードにある場合、相手か
らのデータを受信し、受信したデータを他制御処理手段
15,25,・・・に渡す。自己の動作モードがマスタ
モードであれば、送信したデータの送信完了を監視し、
送信完了すれば、送信完了信号を送信処理手段13,2
3,・・・へ通知する。他のマイクロコントローラシス
テムからスレーブの要求を受けた場合は、相手からのデ
ータを受信するために、自己の動作モードをスレーブモ
ードにする。
自己の動作モードがスレーブモードにある場合、相手か
らのデータを受信し、受信したデータを他制御処理手段
15,25,・・・に渡す。自己の動作モードがマスタ
モードであれば、送信したデータの送信完了を監視し、
送信完了すれば、送信完了信号を送信処理手段13,2
3,・・・へ通知する。他のマイクロコントローラシス
テムからスレーブの要求を受けた場合は、相手からのデ
ータを受信するために、自己の動作モードをスレーブモ
ードにする。
【0011】他制御処理手段15,25,・・・は、割
り込み処理手段14,24,・・・から渡された受信デ
ータを基に各マイクロコントローラシステム10,2
0,・・・が制御対象とする装置の制御を行う。
り込み処理手段14,24,・・・から渡された受信デ
ータを基に各マイクロコントローラシステム10,2
0,・・・が制御対象とする装置の制御を行う。
【0012】送信処理手段13,23,・・・および割
り込み処理手段14,24,・・・は、互いに参照しな
がら、マイクロコントローラシステム自身のモードを切
り換えたり、データを送信したりする。すなわち、ある
マイクロコントローラシステム、たとえばマイクロコン
トローラシステム10がデータを送信しようとするとき
には、現在、自己の動作モードがマスタかスレーブかを
判断し、マスタモードである場合には、送信処理手段1
3が他のすべてのマイクロコントローラシステムに対し
てスレーブモードの設定を要求してから、データを送信
する。データの送信開始時には、送信監視タイマ13a
を実行し、送信が完了しているかを監視し、送信が完了
すると、割り込み処理手段14から送信完了通知が通知
される。送信監視タイマ13aがタイムアウトする前に
送信が完了すると、送信監視タイマ13aは解除され、
送信処理手段13は次のデータの送信を開始する。も
し、データの送信が完了されないうちにタイムアウトが
発生してしまうと、送信処理手段13は同じデータを再
送信する。また、自己の動作モードがスレーブモードで
ある場合には、送信処理手段13は他のすべてのマイク
ロコントローラシステムに対してスレーブモードの設定
を要求し、自己の動作モードをマスタモードに設定し、
これ以降は、上記と同様にして、データの送信処理を行
う。
り込み処理手段14,24,・・・は、互いに参照しな
がら、マイクロコントローラシステム自身のモードを切
り換えたり、データを送信したりする。すなわち、ある
マイクロコントローラシステム、たとえばマイクロコン
トローラシステム10がデータを送信しようとするとき
には、現在、自己の動作モードがマスタかスレーブかを
判断し、マスタモードである場合には、送信処理手段1
3が他のすべてのマイクロコントローラシステムに対し
てスレーブモードの設定を要求してから、データを送信
する。データの送信開始時には、送信監視タイマ13a
を実行し、送信が完了しているかを監視し、送信が完了
すると、割り込み処理手段14から送信完了通知が通知
される。送信監視タイマ13aがタイムアウトする前に
送信が完了すると、送信監視タイマ13aは解除され、
送信処理手段13は次のデータの送信を開始する。も
し、データの送信が完了されないうちにタイムアウトが
発生してしまうと、送信処理手段13は同じデータを再
送信する。また、自己の動作モードがスレーブモードで
ある場合には、送信処理手段13は他のすべてのマイク
ロコントローラシステムに対してスレーブモードの設定
を要求し、自己の動作モードをマスタモードに設定し、
これ以降は、上記と同様にして、データの送信処理を行
う。
【0013】また、送信処理手段13,23,・・・お
よび割り込み処理手段14,24,・・・の処理におい
て、何らかの割り込みがあった場合には、割り込み処理
手段14,24,・・・は、まず、割り込みの種類を判
断し、現在の自己の動作モードがマスタモードならば、
送信処理手段13,23,・・・に送信完了通知を通知
することになる。このとき、相手からのデータがあれ
ば、同時にデータの受信を行う。現在の自己の動作モー
ドがスレーブモードである場合には、相手からのデータ
を受信し、他制御処理手段15,25,・・・に渡す。
また、現在の自己の動作モードがマスタモードであると
きに、スレーブモードへの割り込みがあった場合には、
割り込み処理手段14,24,・・・は自己の動作モー
ドをスレーブモードに設定する。これ以降のデータの受
信は、スレーブモードのときと同じ処理を行う。
よび割り込み処理手段14,24,・・・の処理におい
て、何らかの割り込みがあった場合には、割り込み処理
手段14,24,・・・は、まず、割り込みの種類を判
断し、現在の自己の動作モードがマスタモードならば、
送信処理手段13,23,・・・に送信完了通知を通知
することになる。このとき、相手からのデータがあれ
ば、同時にデータの受信を行う。現在の自己の動作モー
ドがスレーブモードである場合には、相手からのデータ
を受信し、他制御処理手段15,25,・・・に渡す。
また、現在の自己の動作モードがマスタモードであると
きに、スレーブモードへの割り込みがあった場合には、
割り込み処理手段14,24,・・・は自己の動作モー
ドをスレーブモードに設定する。これ以降のデータの受
信は、スレーブモードのときと同じ処理を行う。
【0014】他制御処理手段15,25,・・・につい
ては、割り込み処理手段14,24,・・・から通知さ
れた受信データに従って、制御対象とする装置の制御を
行うことになる。
ては、割り込み処理手段14,24,・・・から通知さ
れた受信データに従って、制御対象とする装置の制御を
行うことになる。
【0015】
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照して説明する。図2は本発明の通信制御方式のハ
ードウェアの構成を示す図である。
を参照して説明する。図2は本発明の通信制御方式のハ
ードウェアの構成を示す図である。
【0016】この図において、複数のマイクロコントロ
ーラ30,40,・・・は、これらが有するSPI(シ
リアル・ペリフェラル・インタフェース)を通信回線5
によって相互に接続されている。通信回線5はバス形式
になっていて、4本のバスライン、すなわち、MISO
(Master In Slave Out),MOSI(Master Out Slav
e In),SCK(serial Clock)およびSS(Slave se
lect)の回線から構成されている。これらはバス形式な
ため、すべてのマイクロコントローラはマスタおよびス
レーブの固定的な上下関係はなく、対等の関係になって
いる。SCK回線に供給されるクロックは、マスタに設
定されたマイクロコントローラが供給する。なお、SP
Iを備えたマイクロコントローラ30,40,・・・と
しては、モトローラ社のシングルチップマイクロコント
ローラ「MC68HC11A」を使用することができ
る。
ーラ30,40,・・・は、これらが有するSPI(シ
リアル・ペリフェラル・インタフェース)を通信回線5
によって相互に接続されている。通信回線5はバス形式
になっていて、4本のバスライン、すなわち、MISO
(Master In Slave Out),MOSI(Master Out Slav
e In),SCK(serial Clock)およびSS(Slave se
lect)の回線から構成されている。これらはバス形式な
ため、すべてのマイクロコントローラはマスタおよびス
レーブの固定的な上下関係はなく、対等の関係になって
いる。SCK回線に供給されるクロックは、マスタに設
定されたマイクロコントローラが供給する。なお、SP
Iを備えたマイクロコントローラ30,40,・・・と
しては、モトローラ社のシングルチップマイクロコント
ローラ「MC68HC11A」を使用することができ
る。
【0017】各マイクロコントローラ30,40,・・
・は、ポートPORTA,PORTB,PORTCを有
し、ポートPORTAには他制御対象31,41,・・
・が接続され、ポートPORTBおよびPORTCのそ
れぞれにはたとえば8ビットバスによってコーダ32,
42,・・・が接続されている。ポートPORTCには
たとえば8ビットバスによってランダムアクセスメモリ
(RAM)33,43,・・・および読取り専用メモリ
(ROM)34,44,・・・のデータ入力に接続され
ている。これらRAM33,43,・・・およびROM
34,44,・・・のアドレス入力にはコーダ32,4
2,・・・の出力が接続されている。他制御対象31,
41,・・・としては、パーソナルコンピュータとか、
テレビ会議システムでのテレビカメラの制御装置などと
することができる。
・は、ポートPORTA,PORTB,PORTCを有
し、ポートPORTAには他制御対象31,41,・・
・が接続され、ポートPORTBおよびPORTCのそ
れぞれにはたとえば8ビットバスによってコーダ32,
42,・・・が接続されている。ポートPORTCには
たとえば8ビットバスによってランダムアクセスメモリ
(RAM)33,43,・・・および読取り専用メモリ
(ROM)34,44,・・・のデータ入力に接続され
ている。これらRAM33,43,・・・およびROM
34,44,・・・のアドレス入力にはコーダ32,4
2,・・・の出力が接続されている。他制御対象31,
41,・・・としては、パーソナルコンピュータとか、
テレビ会議システムでのテレビカメラの制御装置などと
することができる。
【0018】マイクロコントローラ30,40,・・・
にて実行される初期化処理、送信処理、割り込み処理、
他制御処理のプログラムはROM34,44,・・・に
格納されており、コーダ32,42,・・・を通じてア
ドレス指定されたプログラムデータがRAM33,4
3,・・・に展開されて実行される。
にて実行される初期化処理、送信処理、割り込み処理、
他制御処理のプログラムはROM34,44,・・・に
格納されており、コーダ32,42,・・・を通じてア
ドレス指定されたプログラムデータがRAM33,4
3,・・・に展開されて実行される。
【0019】次に、マイクロコントローラ間通信時の動
作シーケンスについて説明する。図3はマスタ送信シー
ケンスを示す図である。マイクロコントローラの立ち上
がりのときには、初期化が行われ、通信速度、ビット構
成などの設定が行われる。このときには、すべてのマイ
クロコントローラは自己の動作モードがマスタに設定さ
れている。ここで、たとえばマイクロコントローラ30
からマイクロコントローラ40へデータを送信する場合
について説明する。
作シーケンスについて説明する。図3はマスタ送信シー
ケンスを示す図である。マイクロコントローラの立ち上
がりのときには、初期化が行われ、通信速度、ビット構
成などの設定が行われる。このときには、すべてのマイ
クロコントローラは自己の動作モードがマスタに設定さ
れている。ここで、たとえばマイクロコントローラ30
からマイクロコントローラ40へデータを送信する場合
について説明する。
【0020】マイクロコントローラ30において、これ
自身が送信を開始するときの状態は、「マスタ」および
「送信要」になっており、一方、マイクロコントローラ
40では、その状態は「マスタ」および「送信不要」に
なっている。ここで、データを送信しようとするマイク
ロコントローラ30は、まず、他のすべてのマイクロコ
ントローラに対しSS回線を使ってスレーブ要求を出
す。すなわち、SS=0にする。これにより、マイクロ
コントローラ40には、スレーブ要求割り込みが入り、
動作モードがスレーブに設定される。マイクロコントロ
ーラ30は、スレーブ要求に続いて、データをMOSI
回線で送信するとともに、送信監視タイマを設定する。
この時点では、受信側のマイクロコントローラ40は、
スレーブの設定が完了していないので、データは受信で
きない状態であり、これが、設定時間、たとえば100
msの間にデータが送信完了する状態にない。したがっ
て、送信側のマイクロコントローラ30は送信完了割り
込みを受けることなく送信監視タイマの設定時間を経過
してしまうことになる。もちろん、受信側のマイクロコ
ントローラ40においても、受信割り込みはない。設定
時間の間、受信側のマイクロコントローラ40はスレー
ブに設定され、データを受信することができる状態にな
る。設定時間を越えると、送信側のマイクロコントロー
ラ30は同じデータを再び送信することになる。
自身が送信を開始するときの状態は、「マスタ」および
「送信要」になっており、一方、マイクロコントローラ
40では、その状態は「マスタ」および「送信不要」に
なっている。ここで、データを送信しようとするマイク
ロコントローラ30は、まず、他のすべてのマイクロコ
ントローラに対しSS回線を使ってスレーブ要求を出
す。すなわち、SS=0にする。これにより、マイクロ
コントローラ40には、スレーブ要求割り込みが入り、
動作モードがスレーブに設定される。マイクロコントロ
ーラ30は、スレーブ要求に続いて、データをMOSI
回線で送信するとともに、送信監視タイマを設定する。
この時点では、受信側のマイクロコントローラ40は、
スレーブの設定が完了していないので、データは受信で
きない状態であり、これが、設定時間、たとえば100
msの間にデータが送信完了する状態にない。したがっ
て、送信側のマイクロコントローラ30は送信完了割り
込みを受けることなく送信監視タイマの設定時間を経過
してしまうことになる。もちろん、受信側のマイクロコ
ントローラ40においても、受信割り込みはない。設定
時間の間、受信側のマイクロコントローラ40はスレー
ブに設定され、データを受信することができる状態にな
る。設定時間を越えると、送信側のマイクロコントロー
ラ30は同じデータを再び送信することになる。
【0021】このときの両者の状態に関して、送信側の
マイクロコントローラ30の動作は「送信開始」、状態
は「マスタ」および「送信要」であり、受信側のマイク
ロコントローラ40では、動作は「受信開始」、状態は
「スレーブ」および「送信不要」である。この状態は、
上記のシーケンスの動作を続ける場合、および、既に、
送信側マイクロコントローラがマスタに設定されてお
り、受信側マイクロコントローラがスレーブに設定され
ていて、送信側マイクロコントローラが新たにデータを
送信しようとする場合の状態である。
マイクロコントローラ30の動作は「送信開始」、状態
は「マスタ」および「送信要」であり、受信側のマイク
ロコントローラ40では、動作は「受信開始」、状態は
「スレーブ」および「送信不要」である。この状態は、
上記のシーケンスの動作を続ける場合、および、既に、
送信側マイクロコントローラがマスタに設定されてお
り、受信側マイクロコントローラがスレーブに設定され
ていて、送信側マイクロコントローラが新たにデータを
送信しようとする場合の状態である。
【0022】この状態で正常動作過程については、ま
ず、マイクロコントローラ30は、他のすべてのマイク
ロコントローラに対しSS回線を使ってスレーブ要求を
出し、データをMOSI回線に送信するとともに送信監
視タイマを設定する。受信側のマイクロコントローラ4
0では受信割り込みとなって、送信されたデータを受信
する。送信側のマイクロコントローラ30では、送信監
視タイマの設定時間内にデータ送信が完了すれば、送信
完了割り込みが入り、送信完了信号を割り込みから通知
され、送信監視タイマを解除する。そして、次のデータ
を送信するが、そのときは、以上の過程が繰り返され
る。
ず、マイクロコントローラ30は、他のすべてのマイク
ロコントローラに対しSS回線を使ってスレーブ要求を
出し、データをMOSI回線に送信するとともに送信監
視タイマを設定する。受信側のマイクロコントローラ4
0では受信割り込みとなって、送信されたデータを受信
する。送信側のマイクロコントローラ30では、送信監
視タイマの設定時間内にデータ送信が完了すれば、送信
完了割り込みが入り、送信完了信号を割り込みから通知
され、送信監視タイマを解除する。そして、次のデータ
を送信するが、そのときは、以上の過程が繰り返され
る。
【0023】図4はスレーブ送信シーケンスを示す図で
ある。マスタが送信中にスレーブからデータを送信する
場合について説明する。このときの両者の状態は、送信
側のマイクロコントローラ30の動作は「送信中」であ
り、状態は「マスタ」および「送信中」になっており、
受信側のマイクロコントローラ40では、その動作は
「送信開始」、状態は「スレーブ」および「送信要」に
なっている。
ある。マスタが送信中にスレーブからデータを送信する
場合について説明する。このときの両者の状態は、送信
側のマイクロコントローラ30の動作は「送信中」であ
り、状態は「マスタ」および「送信中」になっており、
受信側のマイクロコントローラ40では、その動作は
「送信開始」、状態は「スレーブ」および「送信要」に
なっている。
【0024】マイクロコントローラ30がスレーブ要求
を出し、データを送信しているときに、マイクロコント
ローラ40が送信を開始すべくマスタの設定およびスレ
ーブ要求を出し、送信監視タイマを設定すると、マイク
ロコントローラ30ではスレーブの設定をし、受信割り
込みが入り、データを受信する。マイクロコントローラ
40では、データの送信が完了すると送信完了割り込み
が入り、送信完了信号を割り込みから通知され、送信監
視タイマを解除する。
を出し、データを送信しているときに、マイクロコント
ローラ40が送信を開始すべくマスタの設定およびスレ
ーブ要求を出し、送信監視タイマを設定すると、マイク
ロコントローラ30ではスレーブの設定をし、受信割り
込みが入り、データを受信する。マイクロコントローラ
40では、データの送信が完了すると送信完了割り込み
が入り、送信完了信号を割り込みから通知され、送信監
視タイマを解除する。
【0025】マイクロコントローラ30では、先に設定
された送信監視タイマは送信完了割り込みを受けること
なく、タイムアウトするので、データを再送することに
なる。すなわち、マイクロコントローラ30をマスタに
設定し、マイクロコントローラ40にスレーブ要求を出
し、元のデータを再度送信し、送信監視タイマを設定す
る。
された送信監視タイマは送信完了割り込みを受けること
なく、タイムアウトするので、データを再送することに
なる。すなわち、マイクロコントローラ30をマスタに
設定し、マイクロコントローラ40にスレーブ要求を出
し、元のデータを再度送信し、送信監視タイマを設定す
る。
【0026】図5はマスタ同時送信シーケンスを示す図
である。マイクロコントローラは二つ以上の場合、各々
のマイクロコントローラの送信監視タイマを僅かの程度
の差があるように設定する。例えばマイクロコントロー
ラ30の送信監視タイマを100msと設定し、マイク
ロコントローラ40の送信監視タイマを101msと設
定する。そうすれば、もし、二つのマイクロコントロー
ラがマスタの状態で同時にデータを送信する場合、マイ
クロコントローラ30はマイクロコントローラ40より
僅かでも監視タイマが先にオーバーし、再びSS=0を
設定して、マイクロコントローラ40にスレーブモード
を要求する。マイクロコントローラ40は割り込みによ
ってスレーブモードになり、前送信監視タイマを解除
し、マイクロコントローラ30からデータ受信を行う。
その後、マイクロコントローラ40はSS=0を設定
し、マイクロコントローラ30にスレーブモードを要求
する。その後、元のデータを再送信する。
である。マイクロコントローラは二つ以上の場合、各々
のマイクロコントローラの送信監視タイマを僅かの程度
の差があるように設定する。例えばマイクロコントロー
ラ30の送信監視タイマを100msと設定し、マイク
ロコントローラ40の送信監視タイマを101msと設
定する。そうすれば、もし、二つのマイクロコントロー
ラがマスタの状態で同時にデータを送信する場合、マイ
クロコントローラ30はマイクロコントローラ40より
僅かでも監視タイマが先にオーバーし、再びSS=0を
設定して、マイクロコントローラ40にスレーブモード
を要求する。マイクロコントローラ40は割り込みによ
ってスレーブモードになり、前送信監視タイマを解除
し、マイクロコントローラ30からデータ受信を行う。
その後、マイクロコントローラ40はSS=0を設定
し、マイクロコントローラ30にスレーブモードを要求
する。その後、元のデータを再送信する。
【0027】このようにマイクロコントローラ間の送信
の競合が起こっても、必ず一つのマイクロコントローラ
は勝ち抜けて、他のマイクロコントローラより先にマス
タモードになり、データを送る。
の競合が起こっても、必ず一つのマイクロコントローラ
は勝ち抜けて、他のマイクロコントローラより先にマス
タモードになり、データを送る。
【0028】図6および図7は送信処理の流れを示すフ
ローチャートである。マイクロコントローラが送信処理
をするときには、まず、自己の動作モードがマスタであ
るかどうかを判断する(ステップS1)。ここで、マス
タであると判断されると、前回送信のデータが送信完了
しているかどうかが判断される(ステップS2)。送信
完了していなければ、SS回線でスレーブ要求を出力
し、MOSIで前回のデータを送信し、送信監視タイマ
を実行するようにし(ステップS3)、一方、送信が完
了していれば、ステップS3をパスする。次いで、送信
データがあるかどうかが判断され(ステップS4)、送
信データがあれば、SS回線でスレーブ要求を出力し、
MOSIでデータを送信し、送信監視タイマを実行する
ようにし(ステップS5)、一方、送信データがなけれ
ば、ステップS5をパスする。また、ステップS1に
て、自分はマスタでないと判断された場合には、ステッ
プS2〜5はパスされる。
ローチャートである。マイクロコントローラが送信処理
をするときには、まず、自己の動作モードがマスタであ
るかどうかを判断する(ステップS1)。ここで、マス
タであると判断されると、前回送信のデータが送信完了
しているかどうかが判断される(ステップS2)。送信
完了していなければ、SS回線でスレーブ要求を出力
し、MOSIで前回のデータを送信し、送信監視タイマ
を実行するようにし(ステップS3)、一方、送信が完
了していれば、ステップS3をパスする。次いで、送信
データがあるかどうかが判断され(ステップS4)、送
信データがあれば、SS回線でスレーブ要求を出力し、
MOSIでデータを送信し、送信監視タイマを実行する
ようにし(ステップS5)、一方、送信データがなけれ
ば、ステップS5をパスする。また、ステップS1に
て、自分はマスタでないと判断された場合には、ステッ
プS2〜5はパスされる。
【0029】その後、自己の動作モードがスレーブかど
うかが判断され(ステップS6)、スレーブモードであ
れば、送信すべきデータがあるかどうかが判断される
(ステップS7)。送信データがある場合は、SS回線
で相手にスレーブを要求し、自分をマスタに設定する
(ステップS8)。ここで、ステップS6の判断におい
て、自分がスレーブモードにない場合、またはステップ
S7の判断において、送信データがない場合には、デー
タが送信中の状態かどうかを判断する(ステップS
9)。データ送信中ならば、送信監視タイマの設定時間
である100msをオーバーしているかどうかを調べ
(ステップS10)、オーバーしている場合は、送信デ
ータを保留して、次回に再送信するための準備をし(ス
テップS11)、設定時間をオーバーしていなければ、
送信監視タイマのカウントを継続する(ステップS1
2)。ステップS9において、データが送信中でない場
合、ステップS11またはステップS12が終了の場合
は、送信処理は終了する。
うかが判断され(ステップS6)、スレーブモードであ
れば、送信すべきデータがあるかどうかが判断される
(ステップS7)。送信データがある場合は、SS回線
で相手にスレーブを要求し、自分をマスタに設定する
(ステップS8)。ここで、ステップS6の判断におい
て、自分がスレーブモードにない場合、またはステップ
S7の判断において、送信データがない場合には、デー
タが送信中の状態かどうかを判断する(ステップS
9)。データ送信中ならば、送信監視タイマの設定時間
である100msをオーバーしているかどうかを調べ
(ステップS10)、オーバーしている場合は、送信デ
ータを保留して、次回に再送信するための準備をし(ス
テップS11)、設定時間をオーバーしていなければ、
送信監視タイマのカウントを継続する(ステップS1
2)。ステップS9において、データが送信中でない場
合、ステップS11またはステップS12が終了の場合
は、送信処理は終了する。
【0030】図8は割り込み処理の流れを示すフローチ
ャートである。割り込みが来たら、割り込み処理では、
まず、送受信割り込みであるかどうかが判断され(ステ
ップS21)、送受信割り込みであれば、マスタモード
での送信があったかどうかが判断され(ステップS2
2)、マスタモードでの送信があったら、送信完了信号
を送信処理を行う部分に対して通知し、同時に相手から
データがあれば、相手からデータを受信する(ステップ
S23)。次いで、スレーブモードかどうかを判断し
(ステップS24)、スレーブモードならば、相手から
データを受信して、受信データを他制御対象に渡すよう
にし(ステップS25)、マスタモードのままであれ
ば、このステップS25をパスする。そして、スレーブ
要求割り込みがあるかどうかを監視し(ステップS2
6)、あれば、自分をスレーブモードに設定し(ステッ
プS27)、なければ、そのまま終了する。
ャートである。割り込みが来たら、割り込み処理では、
まず、送受信割り込みであるかどうかが判断され(ステ
ップS21)、送受信割り込みであれば、マスタモード
での送信があったかどうかが判断され(ステップS2
2)、マスタモードでの送信があったら、送信完了信号
を送信処理を行う部分に対して通知し、同時に相手から
データがあれば、相手からデータを受信する(ステップ
S23)。次いで、スレーブモードかどうかを判断し
(ステップS24)、スレーブモードならば、相手から
データを受信して、受信データを他制御対象に渡すよう
にし(ステップS25)、マスタモードのままであれ
ば、このステップS25をパスする。そして、スレーブ
要求割り込みがあるかどうかを監視し(ステップS2
6)、あれば、自分をスレーブモードに設定し(ステッ
プS27)、なければ、そのまま終了する。
【0031】
【発明の効果】以上説明したように本発明では、簡単な
インタフェースSPIを使って、マイクロコントローラ
間で直接双方向通信をすることができるように構成し
た。このため、従来の回路構成よりも簡略化することが
でき、システムのコストダウンを図ることができる。マ
イクロコントローラ間では、マスタとスレーブとを切り
換えることができるので、スター構造のような上下関係
を持つ接続でも、バス構造のような対等関係を持つ接続
でも、柔軟に対応することができる。また、システム構
成を頻繁に改造することに伴って、マイクロコントロー
ラの数を増減することがあっても、特に通信方法を変え
ることなく、拡張・縮小を簡単にすることができる。
インタフェースSPIを使って、マイクロコントローラ
間で直接双方向通信をすることができるように構成し
た。このため、従来の回路構成よりも簡略化することが
でき、システムのコストダウンを図ることができる。マ
イクロコントローラ間では、マスタとスレーブとを切り
換えることができるので、スター構造のような上下関係
を持つ接続でも、バス構造のような対等関係を持つ接続
でも、柔軟に対応することができる。また、システム構
成を頻繁に改造することに伴って、マイクロコントロー
ラの数を増減することがあっても、特に通信方法を変え
ることなく、拡張・縮小を簡単にすることができる。
【図1】本発明の原理を示す構成図である。
【図2】本発明の通信制御方式のハードウェアの構成を
示す図である。
示す図である。
【図3】マスタ送信シーケンスを示す図である。
【図4】スレーブ送信シーケンスを示す図である。
【図5】マスタ同時送信シーケンスを示す図である。
【図6】送信処理の流れを示すフローチャート(その
1)である。
1)である。
【図7】送信処理の流れを示すフローチャート(その
2)である。
2)である。
【図8】割り込み処理の流れを示すフローチャートであ
る。
る。
5 通信回線
10,20 マイクロコントローラシステム
11,21 SPI(シリアル・ペリフェラル・インタ
フェース) 12,22 初期化処理手段 13,23 送信処理手段 13a,23a 送信監視タイマ 14,24 割り込み処理手段 15,25 他制御処理手段 30,40 マイクロコントローラ 31,41 他制御対象 32,42 コーダ 33,43 RAM(ランダムアクセスメモリ) 34,44 ROM(読み取り専用メモリ)
フェース) 12,22 初期化処理手段 13,23 送信処理手段 13a,23a 送信監視タイマ 14,24 割り込み処理手段 15,25 他制御処理手段 30,40 マイクロコントローラ 31,41 他制御対象 32,42 コーダ 33,43 RAM(ランダムアクセスメモリ) 34,44 ROM(読み取り専用メモリ)
─────────────────────────────────────────────────────
フロントページの続き
(56)参考文献 特開 平6−180609(JP,A)
特開 平5−314067(JP,A)
特開 昭57−81637(JP,A)
特開 昭59−69858(JP,A)
M68HC11型マイクロコントローラ・
リファレンス・マニュアル,米国,モト
ローラ社,Rev.6,p.291−311
(58)調査した分野(Int.Cl.7,DB名)
H04Q 9/00 - 9/16
Claims (4)
- 【請求項1】 各マイクロコントローラに内蔵のSPI
(シリアル・ペリフェラル・インタフェース)を相互に
接続して複数のマイクロコントローラ間で相互通信可能
な通信経路を構成し、 前記マイクロコントローラは、送信状態または受信状態
に応じて自己の動作モードをマスタモードまたはスレー
ブモードに切り換えるモード切換処理手段を備え、 前記モード切換処理手段は、 送信状態にあるとき自己の動作モードをマスタモードに
設定するとともに、他のすべてのマイクロコントローラ
に対してスレーブモード設定要求を出す送信処理手段
と、 前記送信処理手段から他のマイクロコントローラからの
スレーブモード設定要求の割り込みを受けた場合に自己
の動作モードをスレーブモードに設定し、送信完了の割
り込みを受けた場合に次のデータ送信を許可するための
送信完了信号を前記送信処理手段に通知し、受信完了の
割り込みを受けた場合に受信データをマイクロコントロ
ーラの制御対象に渡すようにした割り込み処理手段と、
を有する ことを特徴とするマイクロコントローラ間の通
信制御方式。 - 【請求項2】 前記モード切換処理手段は、データ送信
開始時に監視タイマを設定し、所定の時間内にデータ送
信が完了すると送信完了信号を前記割り込み処理手段か
ら通知されるとともに次のデータの送信のために監視タ
イマを解除し、タイムアウトが発生する前に前記割り込
み処理手段からデータ送信完了信号が通知されなかった
ら前データの再送信を行うようにした監視タイマ手段を
備えた送信処理手段をさらに有することを特徴とする請
求項1記載のマイクロコントローラ間の通信制御方式。 - 【請求項3】 各マイクロコントローラに内蔵のSPI
(シリアル・ペリフェラル・インタフェース)を相互に
接続して複数のマイクロコントローラ間で相互通信可能
な通信経路を構成し、 前記マイクロコントローラは、送信状態または受信状態
に応じて自己の動作モードをマスタモードまたはスレー
ブモードに切り換えるモード切換処理手段を備 え、 前記モード切換処理手段は、 送信状態にあるとき自己の動作モードをマスタモードに
設定するとともに、他のすべてのマイクロコントローラ
に対してスレーブモード設定要求を出す送信処理手段
と、 各マイクロコントローラの監視タイマを僅かの程度の差
があるように設定し、各マイクロコントローラが前記送
信処理手段によって、同時にデータ送信をするような送
信の競合が起こった場合、必ず一つのマイクロコントロ
ーラが勝ち抜けるようにした競合制御処理手段と、を有
することを特徴とするマイクロコントローラ間の通信制
御方式。 - 【請求項4】 前記モード切換処理手段は、通信を行う
際に通信速度やビット構成などをあらかじめ設定する初
期化処理手段をさらに有することを特徴とする請求項1
又は3記載のマイクロコントローラ間の通信制御方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31043195A JP3369035B2 (ja) | 1995-11-29 | 1995-11-29 | マイクロコントローラ間の通信制御方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31043195A JP3369035B2 (ja) | 1995-11-29 | 1995-11-29 | マイクロコントローラ間の通信制御方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09154184A JPH09154184A (ja) | 1997-06-10 |
JP3369035B2 true JP3369035B2 (ja) | 2003-01-20 |
Family
ID=18005168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP31043195A Expired - Fee Related JP3369035B2 (ja) | 1995-11-29 | 1995-11-29 | マイクロコントローラ間の通信制御方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3369035B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3151123A1 (en) * | 2015-10-02 | 2017-04-05 | Autoliv Development AB | A vehicle safety electronic control system |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100720652B1 (ko) * | 2005-09-08 | 2007-05-21 | 삼성전자주식회사 | 디스플레이 구동 회로 |
JP5470929B2 (ja) * | 2008-06-27 | 2014-04-16 | 株式会社ニコン | デジタルフォトフレーム及びデジタルフォトフレームシステム |
JP7172217B2 (ja) * | 2018-07-17 | 2022-11-16 | 大日本印刷株式会社 | セキュアエレメント、通信方法、通信プログラム及び通信システム |
-
1995
- 1995-11-29 JP JP31043195A patent/JP3369035B2/ja not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
M68HC11型マイクロコントローラ・リファレンス・マニュアル,米国,モトローラ社,Rev.6,p.291−311 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3151123A1 (en) * | 2015-10-02 | 2017-04-05 | Autoliv Development AB | A vehicle safety electronic control system |
WO2017055513A1 (en) * | 2015-10-02 | 2017-04-06 | Autoliv Development Ab | A vehicle safety electronic control system |
CN108139959A (zh) * | 2015-10-02 | 2018-06-08 | 奥托立夫开发公司 | 车辆安全电子控制*** |
JP2018531451A (ja) * | 2015-10-02 | 2018-10-25 | オートリブ ディベロップメント エービー | 車両安全電子制御システム |
US10417153B2 (en) | 2015-10-02 | 2019-09-17 | Veoneer Sweden Ab | Vehicle safety electronic control system |
Also Published As
Publication number | Publication date |
---|---|
JPH09154184A (ja) | 1997-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0379829B1 (en) | Method of providing non-disruptive recovery in a communication system | |
JP3369035B2 (ja) | マイクロコントローラ間の通信制御方式 | |
US5511230A (en) | Communication system between master system and multiple slave systems in time division mode where a next slave is serviced upon receipt of final acknowledgement | |
JPH11127179A (ja) | 二重化通信制御装置 | |
JPS6215953A (ja) | デ−タ伝送制御方式 | |
JP3239371B2 (ja) | 機器接続処理方式 | |
JPS62213347A (ja) | 回線切替え方式 | |
JPS62103745A (ja) | デ−タ通信の送,受信制御回路 | |
JPH0764472A (ja) | プログラマブルコントローラのリモートi/oシステム | |
JPH04260243A (ja) | ポーリング方式 | |
JPH09130874A (ja) | 通信制御装置 | |
JPH02217039A (ja) | ポーリング/セレクティング制御手順方式 | |
JP3067160B2 (ja) | 通信制御装置 | |
JPH07202842A (ja) | データ伝送装置 | |
JPH02288442A (ja) | 複数プロトコル制御装置 | |
JPH10312210A (ja) | 分散形監視制御システム | |
JP2001203742A (ja) | 光通信装置および方法 | |
JPH05145560A (ja) | ハードワイヤード送信権制御方法 | |
JPH01157637A (ja) | 通信装置 | |
JPH0583018B2 (ja) | ||
JPH01225255A (ja) | 通信制御装置 | |
JPH06295278A (ja) | 計算機システム | |
JPH0810866B2 (ja) | 通信ネットワーク制御方法 | |
JPH07143178A (ja) | 中継システム制御方法 | |
JPS63122991A (ja) | 負荷制御システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20021029 |
|
LAPS | Cancellation because of no payment of annual fees |