以下、本発明の実施形態を図面に基づいて説明する。
(第1実施形態)
図1は、第1実施形態による通信装置100の構成の一例を示す図である。通信装置100は、例えば車両内に構築されるローカルエリアネットワークの通信バスに接続され、同様にローカルエリアネットワークに接続された他の通信装置と通信を行う。
図1に示すように通信装置100は、コントローラとして、第1マイコン10と第2マイコン20を有している。第1マイコン10は、例えば、照合ECUとしての役割を担うものである。すなわち、第1マイコン10は、車両のユーザが保持する携帯キーとの間で相互通信を行なって、所定の照合処理を実行する。より具体的には、第1マイコン10は、例えばドアロックが施錠された状態で車両が駐車されているとき、図示しないタイマにより所定の時間間隔でウェイクアップされ、携帯キーへ電波を送信する。そして、電波の送受信や照合処理など必要な処理が完了すると、主要な動作を停止するスリープモードに移行する。このように、第1マイコン10は、車両が駐車されているとき、すなわちイグニッションスイッチがオフされているときに起動して動作する必要があるので、車載バッテリから直接、電力の供給を受けている。なお、第1マイコン10は、スリープモードとなっているときに、他の通信装置からの信号を受信すると、他の通信装置に含まれるマイコンと協働して動作するためにウェイクアップするように構成されている。この点は、以下に説明する第2マイコンも同様である。
第2マイコン20は、例えば、電源ECUとしての役割を担うものである。すなわち、第2マイコン20は、第1マイコン10がウェイクアップしたとき、あるいは第1マイコン10が照合成立と判定したときに、第1マイコン10からの信号によって起動され、各種の車載機器(例えば、ドアノブに設けられたタッチセンサ、ドアロックモータ、エンジンのスタータなど)への電源供給を行う。これにより、正規の携帯キーを有するユーザが、タッチセンサに触れることによってドアロックを解除したり、エンジンのスタートボタンを押下することによって、エンジンを始動させたりすることが可能になる。なお、この第2マイコン20は、例えば、第1マイコン10において照合が成立しなかったときや、電源供給開始後、ユーザが乗車のための操作を行うことなく所定時間が経過したときなどに、車載機器への電源供給を停止して、スリープモードに移行する。
他の通信装置に含まれるマイコンとしては、例えば、ボディECUとしての役割を担うマイコンがある。このマイコンは、例えば、第1マイコン10において照合が成立して、車両のドアノブに設けられたタッチセンサに通電が行われているときに、そのタッチセンサに対するユーザの操作を検出すると、ドアロックを解錠するための処理などを実行する。そのため、ボディECUとしての役割を担うマイコンは、第1マイコン10がウェイクアップしたとき、あるいは、第1マイコン10が照合成立と判定したときに、第1マイコン10から出力されるウェイクアップ信号により起動される。
第1マイコン10及び第2マイコン20は、それぞれ、信号出力端子Tx1、Tx2、スタンバイ信号出力端子STB1、STB2、信号入力端子Rx1、Rx2、及び、他方のマイコンのスタンバイ信号を入力するスタンバイ信号入力端子P1、P2を有している。第1マイコン10及び第2マイコン20は、送信する信号がないときには、信号出力端子Tx1、Tx2からハイレベル信号を出力する。また、第1マイコン10及び第2マイコン20は、通常の動作を行うノーマルモード時には、スタンバイ信号出力端子STB1、STB2からローレベルのノーマル信号を出力し、スリープモード時には、ハイレベルのスタンバイ信号を出力する。なお、ノーマル信号の出力をハイレベルに設定し、スタンバイ信号の出力をローレベルに設定することも可能である。
第1マイコン10及び第2マイコン20は、いわゆるCANプロトコルに従って他の通信装置と通信を行う。そのため、第1マイコン10及び第2マイコン20は、図2に示すように、いわゆるCANコントローラに該当する通信制御部12を有している。なお、第1マイコン10と第2マイコン20との内部構成は共通であるため、図2には、第1マイコン10の内部構成のみを示している。また、第1マイコン10は、通信制御部12を介して他のマイコンとの間で通信を行うことにより、他のマイコンと連携して各種処理を実行する制御部11を有している。
CANコントローラとしての通信制御部12は、公知のように、マイコン間で送受信されるデータやメッセージ等を格納するためのメッセージボックスを備えている。そして、通信制御部12は、メッセージボックスの格納値に基づいて通信フレームを作成する。さらに、通信制御部12は、作成した通信フレームを、後述するトランシーバ50を介して通信バスに送信する送信制御、トランシーバ50によって受信した通信フレームからデータやメッセージの抽出等を行う受信制御、通信バス上や、後述するTx結合回路30において通信フレームが衝突した際の送信権の調停制御(ビット単位非破壊アービトレーション)、通信フレームの送受信に関連して生じるエラーの検出,通知等、CANプロトコルに従った通信制御を実行する。
制御部11は、他のマイコンに対して送信すべきデータやメッセージがある場合、その送信内容に対応する優先順位を示す優先順位情報(IDコード)を特定し、これらメッセージ及びIDコードを、通信制御部12のメッセージボックスのメッセージレジスタ及びIDコードレジスタに格納する。このようにして、制御部11によって通信制御部12のメッセージボックスに送信用のメッセージが格納されると、通信制御部12は、送信制御として、メッセージボックスの格納値(IDコード及びメッセージ)に基づいて通信フレームを作成し、トランシーバ50を介して送信する。なお、制御部11は、送信用のメッセージを作成する他、上述した照合処理を行ったり、車載機器を制御するための制御処理を行ったりする。この制御部11が必要な処理を完了してスリープすることにより、第1マイコン10はスリープモードに移行する。
本実施形態に係る通信装置100では、2つのマイコン10、20に対して、トランシーバ50を1つだけ設けた構成を採用している。このため、通信装置100は、2つのマイコン10、20から送信される通信フレームを示す信号を結合(調停)するTx結合回路30、及び2つのマイコン10、20からのスタンバイ信号を結合(集約)するSTB結合回路40を有している。
Tx結合回路30は、第1マイコン10と第2マイコン20とのいずれかから通信フレームを示す信号が出力されるとき、その通信フレームを示す信号をトランシーバ50の送信端子TxTに出力する。このTx結合回路30は、ANDゲートを含んでおり、第1マイコン10及び第2マイコン20からの通信フレームが衝突したとき、より優先順位が高い通信フレームが送信されるようになっている。
また、STB結合回路40は、第1マイコン10及び第2マイコン20から、ともに、ハイレベルのスタンバイ信号が出力されたときに、トランシーバ50のスタンバイ端子STBTにスタンバイ信号を出力する。換言すれば、STB結合回路40は、第1マイコン10と第2マイコン20とのいずれか一方のマイコンからしかスタンバイ信号が出力されないときには、他方のマイコンは通常の動作を行っているため、トランシーバ50のスタンバイ端子STBTにローレベルのノーマル信号を出力する。
トランシーバ50は、第1マイコン10又は第2マイコン20の信号出力端子Tx1、Tx2から出力された通信フレームを示す信号の論理レベルに応じて、通信バスの2線式通信ラインに大小2種類の電位差を生じさせ、通信バス上で“1”又は“0”の信号を通信する。また、トランシーバ50は、通信バス上に生じた電位差を、通信フレームを示す信号に変換し、受信端子RxTから第1マイコン10及び第2マイコン20の信号入力端子Rx1、Rx2に出力する。
トランシーバ50は、スタンバイ端子STBTにローレベルのノーマル信号が入力されているとき、上述した信号の送信及び受信が可能となるノーマルモードにて動作する。しかし、トランシーバ50は、スタンバイ端子STBTにハイレベルのスタンバイ信号が入力されたときには信号の送信を停止することで、消費電力の低減されたスタンバイモードとなる。ただし、スタンバイモードにおいても、トランシーバ50は、信号を受信することは可能である。
ここで、トランシーバ50は、図3のタイミングチャートに示すように、スタンバイ端子STBTにスタンバイ信号が入力され、動作モードがノーマルモードからスタンバイモードに切り替えられるときに、受信端子RxTの信号レベルが不定となり、受信端子RxTから第1及び第2マイコン10、20に向けてノイズ信号を出力する場合がある。
図1に示すように、2つのマイコン10、20が1つのトランシーバ50を共用する構成においては、それぞれのマイコン10、20が、異なる時期に、スリープモードとなってスタンバイ信号を出力することが起こりえる。この場合、トランシーバ50は、最後にスリープモードとなるマイコンからスタンバイ信号が出力されたときに、ノーマルモードからスタンバイモードに移行することになる。このように、最後にスリープモードとなるマイコンは、自身が出力するスタンバイ信号によりトランシーバ50がスタンバイモードに切り替わるので、そのスタンバイモードへの切り替わりのタイミングを把握することができる。従って、例えば、トランシーバ50のスタンバイモードへの切り替わりに合わせて、トランシーバ50の受信端子RxTから出力される信号を無視するようにすれば、ノイズ信号を他の通信装置からの信号と誤認して、誤ってウェイクアップしてしまうことを防止できる。
しかしながら、先にスリープモードとなっているマイコンは、いつトランシーバ50がスタンバイモードに切り替わるのか知り得ない。このため、トランシーバ50の受信端子RxTから出力されるノイズ信号によって、誤ってウェイクアップしてしまう可能性がある。そして、誤ってウェイクアップしたマイコンは、通信バスに信号を送信して、他のマイコンを無駄にウェイクアップさせてしまう虞がある。
そこで、本実施形態による通信装置100では、第1マイコン10及び第2マイコン20の各々に、他方のマイコンから出力されるスタンバイ信号を取り込むためのスタンバイ信号入力端子P1、P2を設けた。さらに、この他方のマイコンからのスタンバイ信号に基づいて、トランシーバ50がスタンバイモードに切り替えられることを判定し、トランシーバ50のスタンバイモードへの切り替えから所定時間の間、入力されたデータに応じてマイコンがウェイクアップすることを禁止する禁止部を設けた。これにより、先にスリープモードとなっているマイコンが、トランシーバ50の受信端子RxTから出力されるノイズ信号によって誤ってウェイクアップしてしまうことを防止することができる。
以下、第1マイコン10及び第2マイコン20の禁止部を含む内部構成について、図2を参照して説明する。ただし、本実施形態では、第1マイコン10と第2マイコン20との内部構成は共通であるため、第1マイコン10を例として説明する。
図2に示すように、第1マイコン10は、スリープモードとなった制御部11をウェイクアップさせるウェイクアップ制御部13を有する。ウェイクアップ制御部13は、制御部11がスリープモードのときに動作し、信号入力端子Rx1を介してトランシーバ50から信号が入力されると、制御部11をウェイクアップさせるウェイクアップ処理を実行する。また、ウェイクアップ制御部13は、トランシーバ50から信号が入力される以外の別のウェイクアップ要因、例えば、図示しないタイマによる計測時間に基づき、前回のウェイクアップから所定の時間が経過したことを判定した場合にも、制御部11をウェイクアップさせる。
ウェイクアップ禁止記憶部14は、上述した禁止部に該当するものであり、制御部11がスリープモードとなるときに起動されて動作可能となる一方で、制御部11がスリープモードからウェイクアップしてノーマルモードとなったとき、その動作が停止される。ウェイクアップ禁止記憶部14は、起動中に、スタンバイ信号入力端子P1から入力される信号に基づき、第2マイコン20のスタンバイ信号出力端子STB2から出力される信号がノーマル信号からスタンバイ信号に変化したことを検出すると、すなわち、ローレベルの信号からハイレベルの信号への信号の立ち上りを検出すると、所定時間の間、ウェイクアップ禁止情報を保持する。
なお、ウェイクアップ禁止記憶部14として、ウェイクアップ禁止情報の保持は、例えば、第1マイコン10内のRAMやレジスタを利用することが可能である。また、ウェイクアップ制御部13やウェイクアップ禁止記憶部14は、専用のハードウエアによって構成しても良いし、第1マイコン10のCPUによって実行されるソフトウエアとして構成しても良い。ソフトウエアとして構成される場合には、第1マイコン10のCPUは、スリープモード中は、ウェイクアップ制御部13及びウェイクアップ禁止記憶部14として機能するソフトウエアだけを実行するようにすれば良い。
例えば、図3のタイミングチャートに示すように、第1マイコン10が第2マイコン20よりも先にスリープモードとなり、その後、第2マイコン20もスリープモードとなる場合、第2マイコン20からスタンバイ信号が出力されたときに、両方のマイコン10、20からのスタンバイ信号によりトランシーバ50はスタンバイモードとなる。このため、第1マイコン10のウェイクアップ禁止記憶部14は、第2マイコン20のスタンバイ信号に基づき、トランシーバ50がスタンバイモードへ切り替えられるか否かを判定することができる。そして、ウェイクアップ禁止記憶部14は、トランシーバ50がスタンバイモードに切り替えられることを判定することで、トランシーバ50のスタンバイモードへの切り替えから所定時間の間、ウェイクアップ禁止情報を保持することが可能となる。
ウェイクアップ制御部13は、信号入力端子Rx1を介してトランシーバ50から信号を入力したとき、ウェイクアップ禁止記憶部14を参照し、ウェイクアップ禁止記憶部14にウェイクアップ禁止情報が保持されているか否かを確認する。そして、ウェイクアップ禁止情報が保持されている場合には、ウェイクアップ制御部13は、トランシーバ50の受信端子RxTから信号が入力されても、ウェイクアップ処理を実行しない。従って、トランシーバ50の受信端子RxTから出力されるノイズ信号によって、誤って第1マイコン10がウェイクアップしてしまうことを防止することができる。
上記のように構成された通信装置100における、より詳細な動作を、図4乃至図8のフローチャートを参照して説明する。なお、各フローチャートの説明において、適宜、図3のタイミングチャートを参照する。
図4のフローチャートは、ウェイクアップ禁止記憶部14が実行するモード処理に関するものである。このフローチャートに示す処理は、制御部11からウェイクアップ禁止記憶部14に対して、起動モードもしくは停止モードのいずれかのモード命令が出されたときに実行される。
まず、ステップS100では、ウェイクアップ禁止記憶部14は、制御部11からのモード命令を受信する。続くステップS110では、受信したモード命令が起動命令であるのか、それとも停止命令であるのかを判定する。起動命令であると判定した場合には、ステップS120に進み、ウェイクアップ禁止記憶部14は、動作モードを起動モードに設定する。一方、停止命令であると判定した場合には、ステップS130に進み、ウェイクアップ禁止記憶部14は、動作モードを停止モードに設定する。
制御部11は、スリープモードに移行する際には、ウェイクアップ禁止記憶部14へ起動命令を出力し、スリープモードからウェイクアップしてノーマルモードに移行すると、ウェイクアップ禁止記憶部14へ停止命令を出力する。このため、図3のタイミングチャートに示すように、制御部11(第1マイコン10)の動作モードがノーマルモードであるとき(時刻T1以前)、ウェイクアップ禁止記憶部14の動作モードは停止モードに設定される。そして、時刻T1において、制御部11の動作モードがスリープモードに切り替えられると、ウェイクアップ禁止記憶部14の動作モードは起動モードとなる。このように、ウェイクアップ禁止記憶部14は、制御部11がスリープモードとなっている間だけ起動モードとなり、他のマイコンのスタンバイ信号に基づいて、ウェイクアップ禁止情報を保持することが可能となる。
図5のフローチャートは、ウェイクアップ禁止記憶部14が実行する禁止情報記憶処理に関するものである。このフローチャートに示す処理は、スタンバイ信号入力端子P1から取り込んだ信号が、ローレベル(ノーマル信号)からハイレベル(スタンバイ信号)に立ち上がったことをウェイクアップ禁止記憶部14が検知したときに実行される。
まず、ステップS200では、動作モードが起動モードに設定されているか否かを判定する。この際、起動モードに設定されていると判定すると、ステップS210の処理に進み、停止モードに設定されていると判定すると、図5のフローチャートに示す禁止情報記憶処理を終了する。
ステップS210では、第1マイコン10のRAMやレジスタなどの適切な記憶部に、ウェイクアップ禁止情報を保持する。続くステップS220では、ウェイクアップ禁止情報を保持してから所定時間が経過したか否かを判定する。この所定時間は、トランシーバ50がスタンバイモードに切り替えられたときに、受信端子RxTから出力されるノイズ信号をマスクすることができる時間に設定される。所定時間が経過したと判定すると、ステップS230において、保持しているウェイクアップ禁止情報をクリアして、図5に示す禁止情報記憶処理を終了する。
この図5に示す禁止情報記憶処理により、図3のタイミングチャートに示すように、時刻T3において、第2マイコン20のスタンバイ信号出力端子STB2からスタンバイ信号の出力が開始されると、時刻T3から、ウェイクアップ禁止記憶部14にて、ウェイクアップ禁止情報が保持される。このウェイクアップ禁止情報は、時刻T3から所定時間経過した時刻T4にクリアされる。
図6のフローチャートは、ウェイクアップ制御部13が実行する第1ウェイクアップ処理に関するものである。このフローチャートに示す第1ウェイクアップ処理は、制御部11がスリープモードとなっており、かつ、ウェイクアップ制御部13が、信号入力端子Rx1から入力される信号が変化してエッジの発生を検知したときに実行される。
まず、ステップS300において、ウェイクアップ制御部13は、ウェイクアップ禁止記憶部14を参照し、ウェイクアップ禁止情報が保持されているかを確認する。そして、ステップS310において、ステップS300の確認結果に基づき、ウェイクアップ禁止記憶部14にウェイクアップ禁止情報が保持されているか否かを判定する。この判定処理において、ウェイクアップ禁止情報が保持されていると判定すると、図6のフローチャートに示す第1ウェイクアップ処理を終了する。このため、図3のタイミングチャートに示すように、時刻T3から時刻T4までの期間は、ウェイクアップ禁止記憶部14にウェイクアップ禁止情報が保持されているので、ウェイクアップ制御部13は、信号入力端子Rx1から入力される信号の変化を検知しても、制御部11をウェイクアップさせない。このため、時刻T3に、トランシーバ50がスタンバイモードに切り替えられたことに伴って、受信端子RxTからノイズ信号が出力されても、制御部11はスリープモードを維持することができる。
一方、ウェイクアップ制御部13は、ステップS310の判定処理において、ウェイクアップ禁止記憶部14にウェイクアップ禁止情報が保持されていないと判定すると、ステップS320の処理に進む。
ステップS320では、ウェイクアップ制御部13は、制御部11をウェイクアップさせる。これにより、制御部11は、スリープモードからノーマルモードに切り換えられ、通常の制御動作を開始する。
続くステップS330では、ノーマルモードに切り替えられた制御部11が、ウェイクアップ禁止記憶部14へ停止命令を出力する。これにより、ウェイクアップ禁止記憶部14は動作を停止する。また、制御部11は、ステップS340において、通信制御部12を起動させる。つまり、通信制御部12は、制御部11のスリープモードへの移行に連動して停止し、ノーマルモードへの移行に連動して起動されるように構成されている。さらに、制御部11は、ステップS350において、スタンバイ信号出力端子STB1からトランシーバ50にノーマル信号を出力する。これにより、トランシーバ50の動作モードは、スタンバイモードからノーマルモードに切り換えられ、トランシーバ50は信号の送信処理を行うことが可能になる。そして、制御部11は、ステップS360において、通信制御部12を介して、ウェイクアップ信号を通信バスに送出して、ローカルエリアネットワークに接続された他の通信装置のマイコンをウェイクアップさせる。
図7のフローチャートは、ウェイクアップ制御部13が実行する第2ウェイクアップ処理に関するものである。このフローチャートに示す第2ウェイクアップ処理は、制御部11がスリープモードとなっており、かつ、ウェイクアップ制御部13が、トランシーバ50から信号が入力される以外の別のウェイクアップ要因を検知したときに実行される。
この図7のフローチャートに示す第2ウェイクアップ処理では、ステップS400〜S440までの処理が順に実行されるが、これらの各ステップにおける処理は、図6のフローチャートのステップS320〜S360までの各ステップの処理と同様である。すなわち、トランシーバ50から信号が入力される以外の別のウェイクアップ要因を検知したときには、ウェイクアップ制御部13は、即座に、制御部11をウェイクアップさせ、それにより、制御部11は、第1マイコン10の各部を通常動作可能な状態に移行させる。つまり、別のウェイクアップ要因が検出された場合には、ウェイクアップ制御部13は、ウェイクアップ禁止記憶部14にウェイクアップ禁止情報が保持されているか否かに係わらず、制御部11をウェイクアップさせる。
図8のフローチャートは、制御部11が実行するスリープ処理に関するものである。このフローチャートに示すスリープ処理は、制御部11において必要な処理がすべて完了したときに実行される。なお、図3のタイミングチャートには、第1マイコン10が、時刻T1においてスリープモードに切り換えられる様子が示されている。
まず、ステップS500では、制御部11は、通信制御部12を停止させる。続くステップS510では、スタンバイ信号出力端子STB1からトランシーバ50に向けてスタンバイ信号を出力する。なお、制御部11からのスタンバイ信号の出力は、制御部11がスリープモードとなった後も継続される。
ただし、図3のタイミングチャートの時刻T1において、第1マイコン10がスタンバイ信号の出力を開始しても、トランシーバ50はスタンバイモードに切り換えられず、ノーマルモードのままである。これは、第2マイコン20がまだ動作中であって、第2マイコン20のスタンバイ信号出力端子STB2からはノーマル信号が出力されているためである。
ステップS520では、制御部11は、ウェイクアップ禁止記憶部14へ起動命令を出力する。これにより、ウェイクアップ禁止記憶部14は起動モードとなり動作を開始する。また、制御部11は、ステップS530において、スリープモードに移行する。続くステップS540では、ウェイクアップ制御部13が、入力された信号に応じたウェイクアップ処理の実行を禁止するように設定する。そして、ステップS550において、ウェイクアップ制御部13は、ウェイクアップ処理の実行禁止の設定から所定時間が経過したか否かを判定する。所定時間が経過したと判定した場合には、ステップS560に進み、ウェイクアップ制御部13は、入力された信号に応じたウェイクアップ処理の実行禁止を解除する。
制御部11がスリープモードに移行してから所定時間の間、ウェイクアップ制御部13が、入力された信号に応じたウェイクアップ処理の実行を禁止することにより、第1マイコン10が、第2マイコン20よりも遅くスリープモードに移行した場合であっても、トランシーバ50からのノイズ信号によってノーマルモードに復帰してしまうことを防止することができる。
(第2実施形態)
次に、本発明の第2実施形態に係る通信装置について説明する。なお、以下の説明では、上述した第1実施形態による通信装置と異なる部分について重点的に説明し、共通する部分については同じ参照番号を付与して説明を省略する。
上述した第1実施形態では、ウェイクアップ禁止記憶部14が、第2マイコン20のスタンバイ信号出力端子STB2から出力される信号の変化を検出したとき、ウェイクアップ禁止情報を所定時間保持するものであった。
それに対し、本実施形態では、図9に示すように、禁止部として、ウェイクアップ禁止記憶部14に代えて、カウント値記憶部15が設けられている。さらに、第1マイコン10には、禁止部の構成要素の一つとして、時間の経過をカウントするタイマ16が設けられている。カウント値記憶部15は、第2マイコン20のスタンバイ信号出力端子STB2から出力される信号の変化に基づき、トランシーバ50がスタンバイモードに切り換えられることを判定すると、そのときのタイマ16のカウント値を読み出して保存する。
図10のフローチャートには、カウント値記憶部15が実行するカウント値記憶処理を示している。このカウント値記憶処理は、図5のウェイクアップ禁止情報記憶処理と同様に、スタンバイ信号入力端子P1から取り込んだ信号が、ローレベル(ノーマル信号)からハイレベル(スタンバイ信号)に立ち上がったことをカウント値記憶部15が検知したときに実行される。
カウント値記憶部15も、ウェイクアップ禁止記憶部14と同様に、制御部11がスリープモードとなるときに起動され、ノーマルモードに移行するときに停止される。そのため、カウント値記憶処理では、まず、ステップS600において、カウント値記憶部15が起動モードであるか否かを判定する。この判定処理において起動モードと判定した場合、ステップS610に進む。ステップS610では、カウント値記憶部15は、タイマ16のカウント値を読み出して保存する。
ウェイクアップ制御部13は、信号入力端子Rx1から入力される信号が変化してエッジの発生を検知したとき、図11のフローチャートに示す第1ウェイクアップ処理を実行する。
ウェイクアップ制御部13は、まず、ステップS700において、カウント値記憶部15を参照し、記憶されているタイマ16のカウント値を確認する。そして、ステップS710において、ステップS700の確認結果に基づき、カウント値が保存されているか否かを判定する。この判定処理において、カウント値が保存されていると判定すると、ステップS720の処理に進む。一方、カウント値が保存されていないと判定すると、ステップS740の処理に進み、制御部11をウェイクアップさせる。カウント値記憶部15にカウント値が保存されていない場合、トランシーバ50がスタンバイモードに移行しておらず、ウェイクアップ制御部13へ入力された信号は、他のマイコンからのウェイクアップ信号とみなせるためである。
ステップS720では、ウェイクアップ制御部13が、タイマ16の最新のカウント値を読み出す。そして、ステップS730において、カウント値記憶部15に保存されているカウント値と、読み出した最新のカウント値との差が、所定時間以上の経過を示すものであるか否かを判定する。この判定処理において、両カウント値の差は所定時間未満の時間の経過しか示していない、すなわち「NO」と判定した場合、図11のフローチャートに示す第1ウェイクアップ処理を終了する。これにより、トランシーバ50がスタンバイモードに移行してから所定時間が経過するまでは、ウェイクアップ制御部13が、入力された信号に応じてウェイクアップ処理を実行しないようにすることができる。
一方、ステップS730において、両カウント値の差は所定時間以上の経過を示している、すなわち「YES」と判定した場合、ステップS740の処理に進む。ステップS740〜S780の各処理は、第1実施形態の図6の第1ウェイクアップ処理のステップS320〜S360の各処理と同様に、制御部11をウェイクアップさせ、そのウェイクアップされた制御部11により、第1マイコン10の各部を通常動作可能な状態に移行させるためのものである。
ただし、ステップS740〜S780の内、ステップS750の処理は、第1実施形態の第1ウェイクアップ処理と若干異なる。すなわち、本実施形態のカウント値記憶部15は、トランシーバ50がスタンバイモードに切り替えられた時点のタイマ16のカウント値を保存する機能を備えるだけで、そのカウント値をクリアする機能は備えていない。そのため、ステップS750において、カウント値記憶部15に停止命令を出力する際には、併せて、カウント値のクリア命令も出力するようにしている。
以上のような第2実施形態に係る通信装置によっても、第1実施形態に係る通信装置100と同様に、トランシーバ50がスタンバイモードに移行したときに、トランシーバ50の受信端子RxTから出力されるノイズ信号によって、誤ってウェイクアップしてしまうことを防止することができる。
(第3実施形態)
次に、本発明の第3実施形態に係る通信装置について説明する。なお、以下の説明では、上述した第1実施形態による通信装置と異なる部分について重点的に説明し、共通する部分については同じ参照番号を付与して説明を省略する。
本実施形態に係る通信装置は、図12に示すように、禁止部として、フィルタ部17を備えている点が、第1実施形態に係る通信装置と相違している。フィルタ部17は、信号入力端子Rx1とウェイクアップ制御部13との間に設けられている。このフィルタ部17は、第2マイコン20のスタンバイ信号出力端子STB2から出力される信号の変化に基づき、トランシーバ50がスタンバイモードに切り換えられることを判定すると、その判定した時点から所定時間の間、信号入力端子Rx1から入力される信号のウェイクアップ制御部13への伝達を遮断する。つまり、フィルタ部17は、信号入力端子Rx1に入力される信号が変化しても、その変化が生じていない信号をウェイクアップ制御部13へ出力する。
図13のフローチャートは、フィルタ部17が実行するフィルタ処理を示している。このフィルタ処理は、図5のウェイクアップ禁止情報記憶処理と同様に、スタンバイ信号入力端子P1から取り込んだ信号が、ローレベル(ノーマル信号)からハイレベル(スタンバイ信号)に立ち上がったことをフィルタ部17が検知したときに実行される。
フィルタ部17も、ウェイクアップ禁止記憶部14と同様に、制御部11がスリープモードとなるときに起動され、ノーマルモードに移行するときに停止される。そのため、図13に示すフィルタ処理では、まず、ステップS800において、フィルタ部17が起動モードであるか否かを判定する。この判定処理において起動モードと判定した場合、ステップS810に進む。ステップS810では、フィルタ部17によるフィルタリングを開始する。このフィルタリング中は、上述したように、信号入力端子Rx1に入力される信号が変化しても、その変化がウェイクアップ制御部13へは伝達されない。
続くステップS820では、フィルタリングを開始してから所定時間が経過したか否かを判定する。所定時間が経過したと判定すると、ステップS830において、フィルタ部17によるフィルタリングを停止する。従って、以後は、信号入力端子Rx1に入力された信号がそのままウェイクアップ制御部13に出力されることになる。
上述したように、第3実施形態に係る通信装置では、トランシーバ50がスタンバイモードに切り換えられてから所定時間の間、信号入力端子Rx1に入力された信号のウェイクアップ制御部13への伝達を遮断している。このため、トランシーバ50がスタンバイモードに移行したときに、トランシーバ50の受信端子RxTから出力されるノイズ信号によって、誤ってウェイクアップしてしまうことを防止することができる。
以上、本発明の好ましい実施形態について説明したが、本発明は、上述した実施形態になんら制限されることなく、本発明の主旨を逸脱しない範囲において、種々の変形が可能である。
例えば、上述した各実施形態では、2個のマイコンに対して1個のトランシーバを設けた構成について説明した。しかしながら、トランシーバは、3個以上のマイコンで共用しても良い。この場合、各マイコンにおいて、スリープモードとなったとき、他の全てのマイコンのスタンバイ信号出力端子から出力される信号を取り込んで、その変化を検知し、他の全てのマイコンからスタンバイ信号の出力が検知されるまで、検知結果を保存しておく。そして、すべての検知結果が、スタンバイ信号の出力を示すものとなったとき、その時点から所定時間の間、禁止部は、信号入力端子から入力される信号に基づくウェイクアップ処理を禁止するようにする。
また、上述した各実施形態では、各マイコンに、禁止部を設けていた。しかしながら、トランシーバを共用する複数のマイコンにおいて、それぞれの役割や果たすべき機能の関係から、スリープモードに移行する順序が決まっている場合、先にスリープモードとなるマイコンには禁止部を設けるが、最後にスリープモードに移行するマイコンには禁止部を設けないように構成しても良い。