JP3369035B2 - Communication control method between microcontrollers - Google Patents
Communication control method between microcontrollersInfo
- 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
- Computer And Data Communications (AREA)
- Programmable Controllers (AREA)
- Communication Control (AREA)
- Selective Calling Equipment (AREA)
Description
【0001】[0001]
【発明の属する技術分野】本発明はマイクロコントロー
ラ間の通信制御方式に関し、特にそれぞれ独立した制御
対象に対して制御を行う複数のマイクロコントローラを
含む装置に適用して好適なマイクロコントローラ間の通
信制御方式に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a communication control system between microcontrollers, and more particularly, it is suitable for communication control between microcontrollers applied to an apparatus including a plurality of microcontrollers for controlling independent control objects. Regarding the scheme.
【0002】従来、複数の被制御装置からなるシステム
において、個々の被制御装置をマイクロコントローラが
制御し、各マイクロコントローラをメインの処理装置が
統括的に制御するようにしている。たとえば、テレビ会
議システムでは、遠隔制御装置からの赤外線信号を受信
する受信装置、テレビカメラの向きやズームを制御する
装置、VTRの動作を制御する装置などはそれぞれシン
グルチップのマイクロコントローラが組み込まれていて
それぞれ独立した制御を行うようにしており、これらの
マイクロコントローラには1つのメイン処理装置が接続
されて、外部のシステムと接続される通信回線などの制
御を含めたシステム全体の制御を行うようにしている。
ここで、あるマイクロコントローラで処理されたデータ
を別のマイクロコントローラにて使用するような場合、
そのデータはメイン処理装置を経由して渡される。マイ
クロコントローラ間で連携を取ることができるようにし
て、このようなデータを直接別のマイクロコントローラ
に送信することができれば、その分、メイン処理装置の
負荷を減らすことができるので、マイクロコントローラ
間の連携強化が望まれている。Conventionally, in a system including a plurality of controlled devices, each controlled device is controlled by a microcontroller, and each microcontroller is controlled by a main processing device. For example, in a video conference system, a single-chip microcontroller is incorporated in each of a receiving device that receives an infrared signal from a remote control device, a device that controls the orientation and zoom of a TV camera, and a device that controls the operation of a VTR. Each of these microcontrollers is controlled independently, and one main processing unit is connected to these microcontrollers to control the entire system including control of communication lines connected to an external system. I have to.
Here, when the data processed by one microcontroller is used by another microcontroller,
The data is passed via the main processing unit. If the microcontrollers can be linked to send such data directly to another microcontroller, the load on the main processing unit can be reduced by that much. Stronger cooperation is desired.
【0003】[0003]
【従来の技術】従来、マイクロコントローラ間で通信を
する1つの方法として、マイクロコントローラが内蔵す
るSPI(シリアル・ペリフェラル・インタフェース)
を使った通信方法が知られている。従来のSPIを使っ
たマイクロコントローラ間通信の構成によれば、データ
を送信するマイクロコントローラはその動作モードをマ
スタモードにし、受信する側のマイクロコントローラは
スレーブモードに設定されることによって、データの送
信が可能になる。このため、複数のマイクロコントロー
ラでマイクロコントローラ間通信を構成するには、ま
ず、あらかじめマスタモードにするマイクロコントロー
ラが指定され、その他のマイクロコントローラはすべて
スレーブモードに固定される。このような構成では、マ
スタモードのマイクロコントローラとの一対一構成の通
信を除いて、双方向通信はできない。また、一対一構成
の接続でも、マスタモードのマイクロコントローラから
しか通信を開始できないので、スレーブモード側のマイ
クロコントローラは送信用のデータを事前に準備してお
かなければならない。2. Description of the Related Art Conventionally, as one method for communicating between microcontrollers, SPI (Serial Peripheral Interface) built in the microcontrollers is used.
A communication method using is known. According to the configuration of inter-microcontroller communication using the conventional SPI, the microcontroller for transmitting data sets its operation mode to the master mode, and the microcontroller on the receiving side is set to the slave mode to transmit data. Will be possible. Therefore, in order to configure inter-microcontroller communication with a plurality of microcontrollers, first, the microcontroller to be set to the master mode is designated in advance, and all the other microcontrollers are fixed to the slave mode. With such a configuration, bidirectional communication is not possible, except for one-to-one communication with the master mode microcontroller. In addition, even in a one-to-one connection, communication can be started only from the master mode microcontroller, so the slave mode microcontroller must prepare data for transmission in advance.
【0004】それぞれのマイクロコントローラは独自制
御を行っているので、互いに連絡を取るのがとても難し
いと言われている。しかも、このような一方向の通信構
成では、多対象の装置を制御することは到底適用できな
い。制御装置には通信装置を始め、家庭電化製品や産業
装置など多様な装置がある。このような様々な装置内の
マイクロコントローラ間の通信に関して、より柔軟性に
富んだマイクロコントローラ間の通信方式が必要になっ
てきている。It is said that it is very difficult to communicate with each other because each microcontroller has its own control. Moreover, in such a one-way communication configuration, controlling multiple devices cannot be applied at all. Control devices include various devices such as communication devices, home appliances, and industrial devices. Regarding communication between the microcontrollers in such various devices, a more flexible communication system between the microcontrollers is required.
【0005】[0005]
【発明が解決しようとする課題】しかし、別々に制御を
行う幾つかのマイクロコントローラを含む装置では、そ
れぞれマイクロコントローラはSPIのような簡単なイ
ンタフェースを使って、双方向のデータのやり取りが随
時できないという問題点がある。また、各マイクロコン
トローラの通信方式はマスタとスレーブの関係が固定に
なっているので、装置全体を変更する度に、通信制御の
構造を書き換えなければならず、柔軟に対応できないと
いう問題点がある。さらに、それぞれのマイクロコント
ローラは独自制御を行っており、しかも、上下関係での
連絡(通信)しかできないことから、対等な関係を持つ
ような横方向に広げる通信構造までは対応できないとい
う問題点があった。However, in a device including several microcontrollers which are controlled separately, each microcontroller cannot use a simple interface such as SPI to perform bidirectional data exchange at any time. There is a problem. In addition, since the communication system of each microcontroller has a fixed relationship between the master and the slave, the structure of communication control must be rewritten every time the entire device is changed, which is not flexible. . Furthermore, each microcontroller performs its own control, and since it can only communicate (communicate) in a hierarchical relationship, it is not possible to support a communication structure that expands in the lateral direction having an equal relationship. there were.
【0006】本発明はこのような点に鑑みてなされたも
のであり、種々の構成に対応することができる柔軟性を
持ったマイクロコントローラ間の通信制御方式を提供す
ることを目的とする。The present invention has been made in view of the above circumstances, and it is an object of the present invention to provide a communication control system between microcontrollers which has flexibility and can cope with various configurations.
【0007】[0007]
【課題を解決するための手段】図1は上記目的を達成す
る本発明の原理を示す構成図である。図示のマイクロコ
ントローラ間の通信制御方式によれば、各マイクロコン
トローラシステム10,20,・・・は、これらにそれ
ぞれ内蔵されたSPI(シリアル・ペリフェラル・イン
タフェース)11,21,・・・を通信回線5によって
相互に接続されている。各マイクロコントローラシステ
ム10,20,・・・は、SPI11,21,・・・の
他に、初期化処理手段12,22,・・・、送信処理手
段13,23,・・・、割り込み処理手段14,24,
・・・、および他制御処理手段15,25,・・・をそ
れぞれ備え、これらはモード切換処理手段を構成してい
る。また、各送信処理手段13、23、・・・には、送
信監視タイマ13a,23a,・・・が設けられてい
る。FIG. 1 is a block diagram showing the principle of the present invention for achieving the above object. According to the communication control method between the microcontrollers shown in the figure, each of the microcontroller systems 10, 20, ... Has a SPI (Serial Peripheral Interface) 11, 21 ,. 5 are connected to each other. .., transmission processing means 13, 23, .., interrupt processing means, in addition to SPIs 11, 21 ,. 14, 24,
, And other control processing means 15, 25, ..., respectively, which constitute mode switching processing means. Further, each of the transmission processing means 13, 23, ... Is provided with transmission monitoring timers 13a, 23a ,.
【0008】初期化処理手段12,22,・・・は、S
PI11,21,・・・の初期値、通信速度、ビット構
成などを設定したり、自己の動作モードをマスタまたは
スレーブに設定したり、割り込みを許可したりする。The initialization processing means 12, 22, ...
Set initial values, communication speeds, bit configurations, etc. of PIs 11, 21, ..., Set own operation mode to master or slave, and allow interrupts.
【0009】送信処理手段13,23,・・・は、自己
の動作モードがマスタモードになっていて、送信データ
がある場合、その他のすべてのマイクロコントローラシ
ステムにスレーブモードになるよう要求して、、自分の
データを送信する。送信データがあって、自己の動作モ
ードがスレーブモードにある場合は、まず、その他のす
べてのマイクロコントローラシステムにスレーブモード
になるよう要求し、自分はマスタモードに設定してか
ら、自分のデータを相手に送信する。The transmission processing means 13, 23, ... Request that all other microcontroller systems be in the slave mode when their own operation mode is the master mode and there is transmission data. , Send your own data. If you have data to send and your operating mode is in slave mode, first request all other microcontroller systems to go into slave mode, set yourself to master mode, then set your own data Send to the other party.
【0010】割り込み処理手段14,24,・・・は、
自己の動作モードがスレーブモードにある場合、相手か
らのデータを受信し、受信したデータを他制御処理手段
15,25,・・・に渡す。自己の動作モードがマスタ
モードであれば、送信したデータの送信完了を監視し、
送信完了すれば、送信完了信号を送信処理手段13,2
3,・・・へ通知する。他のマイクロコントローラシス
テムからスレーブの要求を受けた場合は、相手からのデ
ータを受信するために、自己の動作モードをスレーブモ
ードにする。The interrupt processing means 14, 24, ...
When its own operation mode is the slave mode, it receives data from the other party and passes the received data to the other control processing means 15, 25, .... If the self operation mode is the master mode, monitor the completion of transmission of the transmitted data,
When the transmission is completed, a transmission completion signal is sent to the transmission processing means 13, 2
Notify 3, ... When a slave request is received from another microcontroller system, its operation mode is set to slave mode in order to receive data from the other party.
【0011】他制御処理手段15,25,・・・は、割
り込み処理手段14,24,・・・から渡された受信デ
ータを基に各マイクロコントローラシステム10,2
0,・・・が制御対象とする装置の制御を行う。The other control processing means 15, 25, ... Are based on the received data passed from the interrupt processing means 14, 24 ,.
0, ... Control the device to be controlled.
【0012】送信処理手段13,23,・・・および割
り込み処理手段14,24,・・・は、互いに参照しな
がら、マイクロコントローラシステム自身のモードを切
り換えたり、データを送信したりする。すなわち、ある
マイクロコントローラシステム、たとえばマイクロコン
トローラシステム10がデータを送信しようとするとき
には、現在、自己の動作モードがマスタかスレーブかを
判断し、マスタモードである場合には、送信処理手段1
3が他のすべてのマイクロコントローラシステムに対し
てスレーブモードの設定を要求してから、データを送信
する。データの送信開始時には、送信監視タイマ13a
を実行し、送信が完了しているかを監視し、送信が完了
すると、割り込み処理手段14から送信完了通知が通知
される。送信監視タイマ13aがタイムアウトする前に
送信が完了すると、送信監視タイマ13aは解除され、
送信処理手段13は次のデータの送信を開始する。も
し、データの送信が完了されないうちにタイムアウトが
発生してしまうと、送信処理手段13は同じデータを再
送信する。また、自己の動作モードがスレーブモードで
ある場合には、送信処理手段13は他のすべてのマイク
ロコントローラシステムに対してスレーブモードの設定
を要求し、自己の動作モードをマスタモードに設定し、
これ以降は、上記と同様にして、データの送信処理を行
う。The transmission processing means 13, 23, ... And the interrupt processing means 14, 24, ..... Refer to each other to switch the mode of the microcontroller system itself or transmit data. That is, when a certain microcontroller system, for example, the microcontroller system 10 tries to transmit data, it judges whether its own operation mode is currently a master or a slave, and if it is the master mode, the transmission processing means 1
3 requests all other microcontroller systems to set slave mode before sending data. At the start of data transmission, the transmission monitoring timer 13a
Is executed to monitor whether the transmission is completed, and when the transmission is completed, the interrupt processing means 14 notifies the transmission completion notification. When the transmission is completed before the transmission monitoring timer 13a times out, the transmission monitoring timer 13a is released,
The transmission processing means 13 starts transmitting the next data. If a timeout occurs before the data transmission is completed, the transmission processing means 13 retransmits the same data. Further, when the self operation mode is the slave mode, the transmission processing means 13 requests all other microcontroller systems to set the slave mode, and sets the self operation mode to the master mode.
After that, the data transmission process is performed in the same manner as described above.
【0013】また、送信処理手段13,23,・・・お
よび割り込み処理手段14,24,・・・の処理におい
て、何らかの割り込みがあった場合には、割り込み処理
手段14,24,・・・は、まず、割り込みの種類を判
断し、現在の自己の動作モードがマスタモードならば、
送信処理手段13,23,・・・に送信完了通知を通知
することになる。このとき、相手からのデータがあれ
ば、同時にデータの受信を行う。現在の自己の動作モー
ドがスレーブモードである場合には、相手からのデータ
を受信し、他制御処理手段15,25,・・・に渡す。
また、現在の自己の動作モードがマスタモードであると
きに、スレーブモードへの割り込みがあった場合には、
割り込み処理手段14,24,・・・は自己の動作モー
ドをスレーブモードに設定する。これ以降のデータの受
信は、スレーブモードのときと同じ処理を行う。.. and the interrupt processing means 14, 24, ... If there is any interrupt, the interrupt processing means 14, 24 ,. , First, determine the type of interrupt, if the current self operation mode is the master mode,
The transmission completion notice is sent to the transmission processing means 13, 23, .... At this time, if there is data from the other party, the data is received at the same time. When the current operation mode is the slave mode, the data from the other party is received and passed to the other control processing means 15, 25, ....
Also, if there is an interrupt to the slave mode when the current self operation mode is the master mode,
The interrupt processing means 14, 24, ... Set their own operation mode to the slave mode. Subsequent data reception is the same as in slave mode.
【0014】他制御処理手段15,25,・・・につい
ては、割り込み処理手段14,24,・・・から通知さ
れた受信データに従って、制御対象とする装置の制御を
行うことになる。The other control processing means 15, 25, ... Control the devices to be controlled according to the received data notified from the interrupt processing means 14, 24 ,.
【0015】[0015]
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照して説明する。図2は本発明の通信制御方式のハ
ードウェアの構成を示す図である。BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described below with reference to the drawings. FIG. 2 is a diagram showing a hardware configuration of the communication control system of the present invention.
【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」を使用することができ
る。In this figure, the plurality of microcontrollers 30, 40, ... Have their own SPI (serial peripheral interface) communication line 5.
Are interconnected by. The communication line 5 has a bus form, and has four bus lines, that is, MISO.
(Master In Slave Out), MOSI (Master Out Slav
e In), SCK (serial clock) and SS (Slave se)
lect) line. Since these are bus-type, all the microcontrollers have an equal relationship without a fixed upper and lower relationship between the master and the slave. The clock supplied to the SCK line is supplied by the microcontroller set as the master. In addition, SP
As the microcontrollers 30, 40, ... With I, a single-chip microcontroller “MC68HC11A” manufactured by Motorola, Inc. can be used.
【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,・・・としては、パーソナルコンピュータとか、
テレビ会議システムでのテレビカメラの制御装置などと
することができる。Each microcontroller 30, 40, ...
Has ports PORTA, PORTB, PORTC, and other controlled objects 31, 41, ...
Is connected to each of the ports PORTB and PORTC by an coder 32, for example, by an 8-bit bus.
42, ... Are connected. The port PORTC is connected to the data inputs of random access memories (RAM) 33, 43, ... And read only memories (ROM) 34, 44 ,. These RAM 33, 43, ... and ROM
Coders 32, 4 are used to input addresses of 34, 44, ....
The outputs of 2, ... Are connected. Other controlled object 31,
41 ..., a personal computer,
It can be used as a control device of a TV camera in a video conference system.
【0018】マイクロコントローラ30,40,・・・
にて実行される初期化処理、送信処理、割り込み処理、
他制御処理のプログラムはROM34,44,・・・に
格納されており、コーダ32,42,・・・を通じてア
ドレス指定されたプログラムデータがRAM33,4
3,・・・に展開されて実行される。Microcontrollers 30, 40, ...
Initialization process, transmission process, interrupt process,
Programs for other control processes are stored in the ROMs 34, 44, ... And the program data addressed through the coders 32, 42 ,.
It is expanded into 3, ...
【0019】次に、マイクロコントローラ間通信時の動
作シーケンスについて説明する。図3はマスタ送信シー
ケンスを示す図である。マイクロコントローラの立ち上
がりのときには、初期化が行われ、通信速度、ビット構
成などの設定が行われる。このときには、すべてのマイ
クロコントローラは自己の動作モードがマスタに設定さ
れている。ここで、たとえばマイクロコントローラ30
からマイクロコントローラ40へデータを送信する場合
について説明する。Next, the operation sequence during communication between the microcontrollers will be described. FIG. 3 is a diagram showing a master transmission sequence. At the startup of the microcontroller, initialization is performed and communication speed, bit configuration, etc. are set. At this time, all the microcontrollers have their own operation mode set to the master. Here, for example, the microcontroller 30
A case where data is transmitted from the device to the microcontroller 40 will be described.
【0020】マイクロコントローラ30において、これ
自身が送信を開始するときの状態は、「マスタ」および
「送信要」になっており、一方、マイクロコントローラ
40では、その状態は「マスタ」および「送信不要」に
なっている。ここで、データを送信しようとするマイク
ロコントローラ30は、まず、他のすべてのマイクロコ
ントローラに対しSS回線を使ってスレーブ要求を出
す。すなわち、SS=0にする。これにより、マイクロ
コントローラ40には、スレーブ要求割り込みが入り、
動作モードがスレーブに設定される。マイクロコントロ
ーラ30は、スレーブ要求に続いて、データをMOSI
回線で送信するとともに、送信監視タイマを設定する。
この時点では、受信側のマイクロコントローラ40は、
スレーブの設定が完了していないので、データは受信で
きない状態であり、これが、設定時間、たとえば100
msの間にデータが送信完了する状態にない。したがっ
て、送信側のマイクロコントローラ30は送信完了割り
込みを受けることなく送信監視タイマの設定時間を経過
してしまうことになる。もちろん、受信側のマイクロコ
ントローラ40においても、受信割り込みはない。設定
時間の間、受信側のマイクロコントローラ40はスレー
ブに設定され、データを受信することができる状態にな
る。設定時間を越えると、送信側のマイクロコントロー
ラ30は同じデータを再び送信することになる。In the microcontroller 30, the state when it starts transmission is "master" and "transmission required", while in the microcontroller 40, the state is "master" and "transmission not required". "It has become. Here, the microcontroller 30 which is going to transmit data first issues a slave request to all other microcontrollers using the SS line. That is, SS = 0. As a result, a slave request interrupt is input to the microcontroller 40,
The operating mode is set to slave. The microcontroller 30 sends the data to the MOSI following the slave request.
Transmits over the line and sets the transmission monitoring timer.
At this point, the receiving microcontroller 40
No data can be received because the slave has not been set up.
The data is not ready to be transmitted within ms. Therefore, the microcontroller 30 on the transmitting side will pass the set time of the transmission monitoring timer without receiving the transmission completion interrupt. Of course, there is no reception interrupt even in the microcontroller 40 on the reception side. During the set time, the microcontroller 40 on the receiving side is set as a slave, and is ready to receive data. When the set time is exceeded, the sending microcontroller 30 will send the same data again.
【0021】このときの両者の状態に関して、送信側の
マイクロコントローラ30の動作は「送信開始」、状態
は「マスタ」および「送信要」であり、受信側のマイク
ロコントローラ40では、動作は「受信開始」、状態は
「スレーブ」および「送信不要」である。この状態は、
上記のシーケンスの動作を続ける場合、および、既に、
送信側マイクロコントローラがマスタに設定されてお
り、受信側マイクロコントローラがスレーブに設定され
ていて、送信側マイクロコントローラが新たにデータを
送信しようとする場合の状態である。Regarding both states at this time, the operation of the transmission side microcontroller 30 is "start transmission", the states are "master" and "transmission required", and the operation is "reception" in the reception side microcontroller 40. “Start”, the states are “slave” and “transmission not required”. This state is
When continuing the operation of the above sequence, and already,
This is a state in which the transmission-side microcontroller is set to the master, the reception-side microcontroller is set to the slave, and the transmission-side microcontroller newly attempts to transmit data.
【0022】この状態で正常動作過程については、ま
ず、マイクロコントローラ30は、他のすべてのマイク
ロコントローラに対しSS回線を使ってスレーブ要求を
出し、データをMOSI回線に送信するとともに送信監
視タイマを設定する。受信側のマイクロコントローラ4
0では受信割り込みとなって、送信されたデータを受信
する。送信側のマイクロコントローラ30では、送信監
視タイマの設定時間内にデータ送信が完了すれば、送信
完了割り込みが入り、送信完了信号を割り込みから通知
され、送信監視タイマを解除する。そして、次のデータ
を送信するが、そのときは、以上の過程が繰り返され
る。Regarding the normal operation process in this state, first, the microcontroller 30 issues a slave request to all other microcontrollers using the SS line, transmits data to the MOSI line, and sets the transmission monitoring timer. To do. Microcontroller 4 on the receiving side
At 0, a reception interrupt occurs and the transmitted data is received. When the data transmission is completed within the time set by the transmission monitoring timer, the microcontroller 30 on the transmission side issues a transmission completion interrupt, is notified of the transmission completion signal from the interrupt, and cancels the transmission monitoring timer. Then, the next data is transmitted. At that time, the above process is repeated.
【0023】図4はスレーブ送信シーケンスを示す図で
ある。マスタが送信中にスレーブからデータを送信する
場合について説明する。このときの両者の状態は、送信
側のマイクロコントローラ30の動作は「送信中」であ
り、状態は「マスタ」および「送信中」になっており、
受信側のマイクロコントローラ40では、その動作は
「送信開始」、状態は「スレーブ」および「送信要」に
なっている。FIG. 4 is a diagram showing a slave transmission sequence. A case where the master transmits data from the slave during transmission will be described. At this time, the states of the both sides are that the operation of the microcontroller 30 on the transmission side is “transmitting”, the states are “master” and “transmitting”,
In the microcontroller 40 on the receiving side, the operation is "start transmission" and the states are "slave" and "transmission required".
【0024】マイクロコントローラ30がスレーブ要求
を出し、データを送信しているときに、マイクロコント
ローラ40が送信を開始すべくマスタの設定およびスレ
ーブ要求を出し、送信監視タイマを設定すると、マイク
ロコントローラ30ではスレーブの設定をし、受信割り
込みが入り、データを受信する。マイクロコントローラ
40では、データの送信が完了すると送信完了割り込み
が入り、送信完了信号を割り込みから通知され、送信監
視タイマを解除する。When the microcontroller 30 issues a slave request and transmits data, the microcontroller 40 issues a master setting and a slave request to start transmission and sets a transmission monitoring timer. Set the slave, receive interrupt is received, and data is received. In the microcontroller 40, when the data transmission is completed, a transmission completion interrupt enters, the transmission completion signal is notified from the interrupt, and the transmission monitoring timer is released.
【0025】マイクロコントローラ30では、先に設定
された送信監視タイマは送信完了割り込みを受けること
なく、タイムアウトするので、データを再送することに
なる。すなわち、マイクロコントローラ30をマスタに
設定し、マイクロコントローラ40にスレーブ要求を出
し、元のデータを再度送信し、送信監視タイマを設定す
る。In the microcontroller 30, the previously set transmission monitoring timer times out without receiving a transmission completion interrupt, so that data is retransmitted. That is, the microcontroller 30 is set as a master, a slave request is issued to the microcontroller 40, the original data is transmitted again, and the transmission monitoring timer is set.
【0026】図5はマスタ同時送信シーケンスを示す図
である。マイクロコントローラは二つ以上の場合、各々
のマイクロコントローラの送信監視タイマを僅かの程度
の差があるように設定する。例えばマイクロコントロー
ラ30の送信監視タイマを100msと設定し、マイク
ロコントローラ40の送信監視タイマを101msと設
定する。そうすれば、もし、二つのマイクロコントロー
ラがマスタの状態で同時にデータを送信する場合、マイ
クロコントローラ30はマイクロコントローラ40より
僅かでも監視タイマが先にオーバーし、再びSS=0を
設定して、マイクロコントローラ40にスレーブモード
を要求する。マイクロコントローラ40は割り込みによ
ってスレーブモードになり、前送信監視タイマを解除
し、マイクロコントローラ30からデータ受信を行う。
その後、マイクロコントローラ40はSS=0を設定
し、マイクロコントローラ30にスレーブモードを要求
する。その後、元のデータを再送信する。FIG. 5 is a diagram showing a master simultaneous transmission sequence. In the case of two or more microcontrollers, the transmission monitoring timers of the respective microcontrollers are set so as to be slightly different from each other. For example, the transmission monitoring timer of the microcontroller 30 is set to 100 ms, and the transmission monitoring timer of the microcontroller 40 is set to 101 ms. Then, if two microcontrollers transmit data at the same time in the master state, the microcontroller 30 may set the SS = 0 again and set SS = 0 again, even if the monitoring timer slightly exceeds the microcontroller 40. Request the slave mode from the controller 40. The microcontroller 40 enters the slave mode by the interrupt, releases the pre-transmission monitoring timer, and receives data from the microcontroller 30.
After that, the microcontroller 40 sets SS = 0 and requests the slave mode for the microcontroller 30. Then retransmit the original data.
【0027】このようにマイクロコントローラ間の送信
の競合が起こっても、必ず一つのマイクロコントローラ
は勝ち抜けて、他のマイクロコントローラより先にマス
タモードになり、データを送る。Even if there is a transmission conflict between the microcontrollers in this way, one microcontroller always wins, enters the master mode before other microcontrollers, and sends data.
【0028】図6および図7は送信処理の流れを示すフ
ローチャートである。マイクロコントローラが送信処理
をするときには、まず、自己の動作モードがマスタであ
るかどうかを判断する(ステップS1)。ここで、マス
タであると判断されると、前回送信のデータが送信完了
しているかどうかが判断される(ステップS2)。送信
完了していなければ、SS回線でスレーブ要求を出力
し、MOSIで前回のデータを送信し、送信監視タイマ
を実行するようにし(ステップS3)、一方、送信が完
了していれば、ステップS3をパスする。次いで、送信
データがあるかどうかが判断され(ステップS4)、送
信データがあれば、SS回線でスレーブ要求を出力し、
MOSIでデータを送信し、送信監視タイマを実行する
ようにし(ステップS5)、一方、送信データがなけれ
ば、ステップS5をパスする。また、ステップS1に
て、自分はマスタでないと判断された場合には、ステッ
プS2〜5はパスされる。6 and 7 are flowcharts showing the flow of the transmission process. When the microcontroller performs the transmission process, it first determines whether or not its own operation mode is the master (step S1). Here, when it is determined that the master is the master, it is determined whether the previously transmitted data has been transmitted (step S2). If the transmission is not completed, the slave request is output on the SS line, the previous data is transmitted by MOSI, and the transmission monitoring timer is executed (step S3). On the other hand, if the transmission is completed, the step S3 is performed. To pass. Next, it is judged whether or not there is transmission data (step S4), and if there is transmission data, a slave request is output on the SS line,
Data is transmitted by MOSI and the transmission monitoring timer is executed (step S5). On the other hand, if there is no transmission data, step S5 is passed. If it is determined in step S1 that the user is not the master, steps S2-5 are skipped.
【0029】その後、自己の動作モードがスレーブかど
うかが判断され(ステップS6)、スレーブモードであ
れば、送信すべきデータがあるかどうかが判断される
(ステップS7)。送信データがある場合は、SS回線
で相手にスレーブを要求し、自分をマスタに設定する
(ステップS8)。ここで、ステップS6の判断におい
て、自分がスレーブモードにない場合、またはステップ
S7の判断において、送信データがない場合には、デー
タが送信中の状態かどうかを判断する(ステップS
9)。データ送信中ならば、送信監視タイマの設定時間
である100msをオーバーしているかどうかを調べ
(ステップS10)、オーバーしている場合は、送信デ
ータを保留して、次回に再送信するための準備をし(ス
テップS11)、設定時間をオーバーしていなければ、
送信監視タイマのカウントを継続する(ステップS1
2)。ステップS9において、データが送信中でない場
合、ステップS11またはステップS12が終了の場合
は、送信処理は終了する。After that, it is judged whether or not the own operation mode is the slave (step S6), and if it is the slave mode, it is judged whether or not there is data to be transmitted (step S7). If there is transmission data, the slave is requested to the other party through the SS line and the self is set as the master (step S8). If it is determined in step S6 that the device is not in the slave mode, or if there is no transmission data in determination in step S7, it is determined whether the data is being transmitted (step S).
9). If data is being transmitted, it is checked whether or not 100 ms, which is the set time of the transmission monitoring timer, has been exceeded (step S10). If it is, transmission data is held and preparations are made for retransmitting next time. (Step S11), if the set time is not exceeded,
Continue counting the transmission monitoring timer (step S1)
2). In step S9, if the data is not being transmitted, or if step S11 or step S12 is completed, the transmission process ends.
【0030】図8は割り込み処理の流れを示すフローチ
ャートである。割り込みが来たら、割り込み処理では、
まず、送受信割り込みであるかどうかが判断され(ステ
ップS21)、送受信割り込みであれば、マスタモード
での送信があったかどうかが判断され(ステップS2
2)、マスタモードでの送信があったら、送信完了信号
を送信処理を行う部分に対して通知し、同時に相手から
データがあれば、相手からデータを受信する(ステップ
S23)。次いで、スレーブモードかどうかを判断し
(ステップS24)、スレーブモードならば、相手から
データを受信して、受信データを他制御対象に渡すよう
にし(ステップS25)、マスタモードのままであれ
ば、このステップS25をパスする。そして、スレーブ
要求割り込みがあるかどうかを監視し(ステップS2
6)、あれば、自分をスレーブモードに設定し(ステッ
プS27)、なければ、そのまま終了する。FIG. 8 is a flow chart showing the flow of interrupt processing. When an interrupt comes, in interrupt processing,
First, it is determined whether or not it is a transmission / reception interrupt (step S21), and if it is a transmission / reception interrupt, it is determined whether or not there was transmission in the master mode (step S2).
2) If there is a transmission in the master mode, a transmission completion signal is sent to the portion that performs the transmission process, and if there is data from the other party, the data is received from the other party (step S23). Next, it is determined whether or not the slave mode is set (step S24). If the slave mode is set, data is received from the other party and the received data is passed to another control target (step S25). This step S25 is passed. Then, it is monitored whether there is a slave request interrupt (step S2
6) If there is, the self is set to the slave mode (step S27), and if not, the process ends.
【0031】[0031]
【発明の効果】以上説明したように本発明では、簡単な
インタフェースSPIを使って、マイクロコントローラ
間で直接双方向通信をすることができるように構成し
た。このため、従来の回路構成よりも簡略化することが
でき、システムのコストダウンを図ることができる。マ
イクロコントローラ間では、マスタとスレーブとを切り
換えることができるので、スター構造のような上下関係
を持つ接続でも、バス構造のような対等関係を持つ接続
でも、柔軟に対応することができる。また、システム構
成を頻繁に改造することに伴って、マイクロコントロー
ラの数を増減することがあっても、特に通信方法を変え
ることなく、拡張・縮小を簡単にすることができる。As described above, in the present invention, the simple interface SPI is used so that the two-way communication can be directly performed between the microcontrollers. Therefore, the circuit configuration can be simplified as compared with the conventional circuit configuration, and the cost of the system can be reduced. Since it is possible to switch between the master and the slave between the microcontrollers, it is possible to flexibly cope with a connection having a vertical relationship such as a star structure or a connection having an equal relationship such as a bus structure. Further, even if the number of microcontrollers is increased or decreased due to frequent modification of the system configuration, expansion / reduction can be simplified without particularly changing the communication method.
【図1】本発明の原理を示す構成図である。FIG. 1 is a configuration diagram showing the principle of the present invention.
【図2】本発明の通信制御方式のハードウェアの構成を
示す図である。FIG. 2 is a diagram showing a hardware configuration of a communication control system of the present invention.
【図3】マスタ送信シーケンスを示す図である。FIG. 3 is a diagram showing a master transmission sequence.
【図4】スレーブ送信シーケンスを示す図である。FIG. 4 is a diagram showing a slave transmission sequence.
【図5】マスタ同時送信シーケンスを示す図である。FIG. 5 is a diagram showing a master simultaneous transmission sequence.
【図6】送信処理の流れを示すフローチャート(その
1)である。FIG. 6 is a flowchart (No. 1) showing a flow of transmission processing.
【図7】送信処理の流れを示すフローチャート(その
2)である。FIG. 7 is a flowchart (No. 2) showing the flow of transmission processing.
【図8】割り込み処理の流れを示すフローチャートであ
る。FIG. 8 is a flowchart showing a flow of interrupt processing.
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(読み取り専用メモリ)5 Communication Lines 10, 20 Microcontroller System 11, 21 SPI (Serial Peripheral Interface) 12, 22 Initialization Processing Unit 13, 23 Transmission Processing Unit 13a, 23a Transmission Monitoring Timer 14, 24 Interrupt Processing Unit 15, 25 Other Control Processing means 30, 40 Microcontroller 31, 41 Other controlled object 32, 42 Coder 33, 43 RAM (random access memory) 34, 44 ROM (read-only memory)
───────────────────────────────────────────────────── フロントページの続き (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 ─────────────────────────────────────────────────── --- Continuation of the front page (56) References JP-A-6-180609 (JP, A) JP-A-5-314067 (JP, A) JP-A-57-81637 (JP, A) JP-A-59- 69858 (JP, A) M68HC11 Microcontroller Reference Manual, Motorola, USA, Rev. 6, p. 291-311 (58) Fields investigated (Int.Cl. 7 , DB name) H04Q 9/00-9/16
Claims (4)
(シリアル・ペリフェラル・インタフェース)を相互に
接続して複数のマイクロコントローラ間で相互通信可能
な通信経路を構成し、 前記マイクロコントローラは、送信状態または受信状態
に応じて自己の動作モードをマスタモードまたはスレー
ブモードに切り換えるモード切換処理手段を備え、 前記モード切換処理手段は、 送信状態にあるとき自己の動作モードをマスタモードに
設定するとともに、他のすべてのマイクロコントローラ
に対してスレーブモード設定要求を出す送信処理手段
と、 前記送信処理手段から他のマイクロコントローラからの
スレーブモード設定要求の割り込みを受けた場合に自己
の動作モードをスレーブモードに設定し、送信完了の割
り込みを受けた場合に次のデータ送信を許可するための
送信完了信号を前記送信処理手段に通知し、受信完了の
割り込みを受けた場合に受信データをマイクロコントロ
ーラの制御対象に渡すようにした割り込み処理手段と、
を有する ことを特徴とするマイクロコントローラ間の通
信制御方式。1. An SPI built into each microcontroller
(Serial Peripheral Interface) are connected to each other to form a communication path capable of mutual communication between a plurality of microcontrollers , and the microcontroller is in a transmission state or a reception state.
Depending on the operation mode of its own, master mode or slave
Mode switching processing means for switching to the master mode, and the mode switching processing means switches its own operation mode to the master mode in the transmission state.
All other microcontrollers with configuration
Processing means for issuing a slave mode setting request to
From the transmission processing means from another microcontroller
Self when interrupted by slave mode setting request
Set the operation mode of to slave mode and
To allow the next data transmission when receiving
A transmission completion signal is sent to the transmission processing means to notify the completion of reception.
When receiving an interrupt, the received data is
Interrupt processing means to be passed to the control target of the
A communication control method between microcontrollers characterized by having .
開始時に監視タイマを設定し、所定の時間内にデータ送
信が完了すると送信完了信号を前記割り込み処理手段か
ら通知されるとともに次のデータの送信のために監視タ
イマを解除し、タイムアウトが発生する前に前記割り込
み処理手段からデータ送信完了信号が通知されなかった
ら前データの再送信を行うようにした監視タイマ手段を
備えた送信処理手段をさらに有することを特徴とする請
求項1記載のマイクロコントローラ間の通信制御方式。 2. The mode switching processing means transmits data.
Set the monitoring timer at the start and send data within the specified time.
When the transmission is completed, the transmission completion signal is sent to the interrupt processing means.
Notification and the monitoring data for sending the next data.
Release the timer and interrupt before the timeout occurs.
Only the processing means did not notify the data transmission completion signal
The monitoring timer means to retransmit the previous data from
A contract characterized by further comprising transmission processing means provided
A communication control method between the microcontrollers according to claim 1.
(シリアル・ペリフェラル・インタフェース)を相互に
接続して複数のマイクロコントローラ間で相互通信可能
な通信経路を構成し、 前記マイクロコントローラは、送信状態または受信状態
に応じて自己の動作モードをマスタモードまたはスレー
ブモードに切り換えるモード切換処理手段を備 え、 前記モード切換処理手段は、 送信状態にあるとき自己の動作モードをマスタモードに
設定するとともに、他のすべてのマイクロコントローラ
に対してスレーブモード設定要求を出す送信処理手段
と、 各マイクロコントローラの監視タイマを僅かの程度の差
があるように設定し、各マイクロコントローラが前記送
信処理手段によって、同時にデータ送信をするような送
信の競合が起こった場合、必ず一つのマイクロコントロ
ーラが勝ち抜けるようにした競合制御処理手段と、を有
することを特徴とするマイクロコントローラ間の通信制
御方式。 3. SPI incorporated in each microcontroller
(Serial peripheral interface) mutually
Connect to each other to enable mutual communication between multiple microcontrollers
The communication path, and the microcontroller is in a transmission state or a reception state.
Depending on the operation mode of its own, master mode or slave
E Bei mode switching processing unit for switching the Bumodo, the mode switching processing means, the master mode self operation mode when in the transmitting state
All other microcontrollers with configuration
Processing means for issuing a slave mode setting request to
And the monitoring timer of each microcontroller is slightly different.
Are set so that each microcontroller
Data processing means to send data at the same time.
If there is a conflict of trust, be sure to
Contention control processing means that allows the
Communication system between microcontrollers characterized by
Method.
際に通信速度やビット構成などをあらかじめ設定する初
期化処理手段をさらに有することを特徴とする請求項1
又は3記載のマイクロコントローラ間の通信制御方式。 4. The mode switching processing means performs communication.
When setting communication speed and bit configuration in advance
2. The method according to claim 1, further comprising a periodization processing means.
Alternatively, the communication control method between the microcontrollers described in 3.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31043195A JP3369035B2 (en) | 1995-11-29 | 1995-11-29 | Communication control method between microcontrollers |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31043195A JP3369035B2 (en) | 1995-11-29 | 1995-11-29 | Communication control method between microcontrollers |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09154184A JPH09154184A (en) | 1997-06-10 |
JP3369035B2 true JP3369035B2 (en) | 2003-01-20 |
Family
ID=18005168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP31043195A Expired - Fee Related JP3369035B2 (en) | 1995-11-29 | 1995-11-29 | Communication control method between microcontrollers |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3369035B2 (en) |
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 (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100720652B1 (en) * | 2005-09-08 | 2007-05-21 | 삼성전자주식회사 | Display driving circuit |
JP5470929B2 (en) * | 2008-06-27 | 2014-04-16 | 株式会社ニコン | Digital photo frame and digital photo frame system |
JP7172217B2 (en) * | 2018-07-17 | 2022-11-16 | 大日本印刷株式会社 | Secure element, communication method, communication program and communication system |
US11847083B2 (en) * | 2021-12-16 | 2023-12-19 | Himax Technologies Limited | Daisy-chain SPI integrated circuit and operation method thereof |
-
1995
- 1995-11-29 JP JP31043195A patent/JP3369035B2/en 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 (en) * | 2015-10-02 | 2018-06-08 | 奥托立夫开发公司 | Vehicle safety electronic control system |
JP2018531451A (en) * | 2015-10-02 | 2018-10-25 | オートリブ ディベロップメント エービー | Vehicle safety electronic control system |
US10417153B2 (en) | 2015-10-02 | 2019-09-17 | Veoneer Sweden Ab | Vehicle safety electronic control system |
Also Published As
Publication number | Publication date |
---|---|
JPH09154184A (en) | 1997-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0379829B1 (en) | Method of providing non-disruptive recovery in a communication system | |
JP3369035B2 (en) | Communication control method between microcontrollers | |
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 | |
EP0169324B1 (en) | Switching protocol with retry | |
JPH11127179A (en) | Duplicate communication controller | |
JPS6215953A (en) | Data transmission control system | |
JP3239371B2 (en) | Device connection processing method | |
JPS62213347A (en) | Line switching system | |
JPS62103745A (en) | Transmission/reception control circuit for data communication | |
JPH0764472A (en) | Remote i/o system of programmable controller | |
JPH04260243A (en) | Polling system | |
JPH09130874A (en) | Communication controller | |
JPH02217039A (en) | Poling/selecting control procedure system | |
JP3067160B2 (en) | Communication control device | |
JPH0993270A (en) | Data transmission system | |
JPH07202842A (en) | Data transmitter | |
JPH02288442A (en) | Plural protocol controller | |
JPH10312210A (en) | Distributed monitor control system | |
JP2001203742A (en) | Device and method for optical communication | |
JPH05145560A (en) | Hard wired transmission right control method | |
JPH01157637A (en) | Communication equipment | |
JPH03136426A (en) | Transmission control method for plotting communication system | |
JPH0583018B2 (en) | ||
JPH01225255A (en) | Communication control equipment | |
JPH06295278A (en) | Computer system |
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 |