(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1に開示されているデータ通信方法であっても、電子回路の動作が不安定となってしまうことを防ぐために十分であるとは言えない。例えば、不慮のリセット処理が連続してサブCPUに発生した場合、サブCPUが不慮のリセット処理を実行している期間中にリセット処理が命令される虞がある。また、サブCPUへの電力供給の遮断によって通信異常が発生した場合、メインCPUにてその遮断を特定できない以上、サブCPUが不慮のリセット処理を実行している期間中にリセット処理が命令される虞が依然として残る。
【0007】
本発明は、上述した事情に鑑みてなされたものであり、その目的は、不慮のリセット処理がサブCPUに発生した場合であっても、電子回路の動作が不安定となってしまうことを防ぐことができる車載器用リセット回路を提供することにある。
【課題を解決するための手段】
【0008】
前述した目的を達成するために、本発明に係る車載器用リセット回路は、下記(1
)を特徴としている。
(1) 第1制御部と、
前記第1制御部との間で信号の入出力が可能な第2制御部と、
前記第2制御部に対するリセット処理の実行を命令するリセット信号を前記第1制御部に出力する電源回路と、
を備え、
前記第1制御部は、
前記電源回路からの前記リセット信号がない場合、前記第2制御部から入力する、通信異常の有無を示す制御信号に基づいて、前記リセット信号を前記第2制御部に出力し、
前記電源回路からの前記リセット信号がある場合、前記リセット信号を前記第2制御部に出力するとともに、前記第2制御部が当該リセット信号に基づくリセット処理を実行している期間、前記制御信号に基づく前記リセット信号の出力制御を停止する、
こと。
【0009】
上記(1)の構成の車載器用リセット回路によれば、不慮のリセット処理が第2制御部(サブCPU)に発生した場合であっても、電子回路の動作が不安定となってしまうことを防ぐことができる。
【発明の効果】
【0010】
本発明の車載器用リセット回路によれば、不慮のリセット処理がサブCPUに発生した場合であっても、電子回路の動作が不安定となってしまうことを防ぐことができる。
【0011】
以上、本発明について簡潔に説明した。更に、以下に説明される発明を実施するための形態(以下、「実施形態」という。)を添付の図面を参照して説明することにより、本発明の詳細を更に明確に示す。
【図面の簡単な説明】
【0012】
【
図1】
図1は、本発明の実施形態の車載器用リセット回路を適用した電子回路のブロック図である。
【
図2】
図2は、本発明の実施形態の車載器用リセット回路を適用した電子回路におけるリセット制御を説明するシーケンス図である。
【
図3】
図3は、バッテリからの電力供給開始時のリセット制御におけるCPUAの処理の流れを示すフローチャートである。
【
図4】
図4は、リセット制御に用いる信号のタイムチャートであり、
図4(a)は電源ICAが出力するRESET1のタイムチャート、
図4(b)は電源ICBが出力するRESET2のタイムチャート、
図4(c)はRS−FFに入力するSのタイムチャート、
図4(d)はRS−FFに入力するRのタイムチャート、
図4(e)はRS−FFから出力するQのタイムチャートである。
【
図5】
図5は、本発明の実施形態の車載器用リセット回路を適用した電子回路におけるリセット制御を説明するシーケンス図である。
【
図6】
図6は、通信異常検出時のリセット制御におけるCPUAの処理の流れを示すフローチャートである。
【
図7】リセット制御に用いる信号のタイムチャートであり、
図7(a)はCPUAが入力するINT1のタイムチャート、
図7(b)はCPUAが出力するP01(RESET2)のタイムチャート、
図7(c)はRS−FFに入力するRのタイムチャート、
図7(d)はRS−FFに入力するSのタイムチャート、
図7(e)はRS−FFから出力するQのタイムチャートである。
【
図8】
図8は、本発明の実施形態の車載器用リセット回路を適用した電子回路におけるリセット制御を説明するシーケンス図である。
【
図9】
図9は、電力供給の遮断による通信異常検出時のリセット制御におけるCPUAの処理の流れを示すフローチャートである。
【
図10】
図10は、リセット制御に用いる信号のタイムチャートであり、
図10(a)は電源ICAが出力するRESET1のタイムチャート、
図10(b)は電源ICBが出力するRESET2のタイムチャート、
図10(c)はRS−FFに入力するSのタイムチャート、
図10(d)はRS−FFに入力するRのタイムチャート、
図10(e)はRS−FFから出力するQのタイムチャートである。
【発明を実施するための形態】
【0013】
以下、本発明の実施形態の車載器用リセット回路を適用した電子回路について詳細に説明する。
図1は、本発明の実施形態の車載器用リセット回路を適用した電子回路のブロック図である。
【0014】
図1に示す電子回路は、電源IC(Integrated Circuit)A11と、電源ICB12、CPUA21、CPUB22、論理積回路31、RS型フリップフロップ(以下、RS−FFと称する)32、及び入出力ポート(以下、I/Oポートと称する)41、を含んで構成される。
【0015】
電源ICA11は、図示外のバッテリから供給される入力電力からCPUA21を駆動させるために必要とされる電力を生成し、その生成した電力を出力電圧Vcc1としてCPUA21に印加する。また、電源ICA11は、CPUA21の動作状態を初期状態に戻すためのリセット処理を命令するリセット信号(以下、RESET1と称する。RESET1は、「H」から「L」への立下りのときにリセット処理の実行を命令する信号となる。)を、CPUA21に出力することができる。CPUA21は、RESET1「H」を入力している期間は正常動作を実行している期間であり、RESET1「L」を入力している期間はリセット処理を実行をしている期間である。
【0016】
電源ICB12は、図示外のバッテリから供給される入力電力からCPUB22を駆動させるために必要とされる電力を生成し、その生成した電力を出力電圧Vcc2としてCPUB22に印加する。また、電源ICB12は、CPUB22の動作状態を初期状態に戻すためのリセット処理を命令するリセット信号(以下、RESET2と称する。RESET2は、「H」から「L」への立下りのときにリセット処理の実行を命令する信号となる。)を、CPUA21及び論理積回路31に出力することができる。
【0017】
CPUA21は、CPUB22よりも上位に位置するメインCPUである。電源ICA11、電源ICB12、論理積回路31、RS−FF32、及びI/Oポート41との間で信号を入出力する入出力ポートを備えている。電源ICA11からの出力電圧Vcc1の印加を受けて駆動するCPUA21は、少なくとも次の処理を実行する。すなわち、CPUA21は、電源ICA11からRESET1「H」を入力した後RESET1「L]を入力すると、RESET1の「H」から「L」への立下りの時点でCPUA21の動作状態を初期状態に戻すためのリセット処理を実行開始する。また、CPUA21は、電源ICA11からRESET1「H」を入力している期間は、CPUA21によるリセット処理の実行を行わない。CPUA21は、RESET2に基づく信号をポートP01を介して論理積回路31に出力する。CPUA21は、RS−FF32の出力を反転させる信号をポートP02を介してRS−FF32の入力端子であるR端子に出力する。CPUA21は、RESET2をポートP03を介して電源ICB12から入力する。CPUA21は、CPUA21が生成したINT信号をポートP1を介してI/Oポート41に出力する。CPUA21は、CPUB22との間での通信に利用する各種信号をポートSoutを介してI/Oポート41に出力する。CPUA21は、CPUB22との間での通信に利用する各種信号をポートSinを介してI/Oポート41から入力する。CPUA21は、CPUB22が生成したINT信号をポートINT1を介してI/Oポート41から入力する。CPUA21による上述した処理の流れについては後述する。
【0018】
CPUB22は、CPUA21よりも下位に位置するサブCPUである。電源ICB12、RS−FF32、及びI/Oポート41との間で信号を入出力する入出力ポートを備えている。電源ICB22からの出力電圧Vcc2の印加を受けて駆動するCPUB22は、少なくとも次の処理を実行する。すなわち、CPUB22は、RS−FF32からRESET2「H」を入力した後RESET2「L]を入力すると、RESET2の「H」から「L」への立下りの時点でCPUB22の動作状態を初期状態に戻すためのリセット処理を実行開始する。また、CPUB22は、RS−FF32からRESET2「H」を入力している期間は、CPUB22によるリセット処理の実行を行わない。CPUB22は、CPUA21が生成したINT信号をポートINT2を介してI/Oポート41から入力する。CPUB22は、CPUA21との間での通信に利用する各種信号をポートSinを介してI/Oポート41から入力する。CPUB22は、CPUA21との間での通信に利用する各種信号をポートSoutを介してI/Oポート41に出力する。CPUB22は、CPUB22が生成したINT信号をポートP2を介してI/Oポート41に出力する。CPUB22による上述した処理の流れについては後述する。
【0019】
論理積回路31は、電源ICA11からのRESET1、電源ICB12からのRESET2、及びCPUA21からのポートP01を介した信号を入力し、それらの信号の論理積をRS−FF32の入力端子であるS端子に出力する。
【0020】
RS−FF32は、R端子及びS端子に入力される「H」または「L」に基づき演算し、その結果である「H」または「L」をRESET2としてCPUB22に出力する。
【0021】
I/Oポート41は、一方のCPUA21及びCPUB22から入力する信号を他方のCPUA21及びCPUB22に出力するインタフェースである。
【0022】
次に、本発明の実施形態の車載器用リセット回路を適用した電子回路によるリセット制御について、CPUA21及びCPUB22の処理を中心にして説明する。
【0023】
[バッテリからの電力供給開始時のリセット制御]
まず、バッテリからの給電を開始して、CPUA21及びCPUB22の駆動を開始する際の電子回路によるリセット制御について
図2、
図3及び
図4(a)〜
図4(e)を参照して説明する。
図2は、本発明の実施形態の車載器用リセット回路を適用した電子回路における、バッテリからの電力供給開始時のリセット制御を説明するシーケンス図である。
図3は、バッテリからの電力供給開始時のリセット制御におけるCPUAの処理の流れを示すフローチャートである。
図4は、リセット制御に用いる信号のタイムチャートであり、
図4(a)は電源ICAが出力するRESET1のタイムチャート、
図4(b)は電源ICBが出力するRESET2のタイムチャート、
図4(c)はRS−FFに入力するRのタイムチャート、
図4(d)はRS−FFに入力するSのタイムチャート、
図4(e)はRS−FFから出力するQのタイムチャートである。尚、CPUA21及びCPUB22の駆動開始前には、RS−FF32はR、S、Qいずれも「L」を情報として記憶している。尚、以後、RS−FF32のR、S、Qそれぞれの「H」または「L」を表す際、(R,S,Q)=(X,X,X)として表記する(Xには、HまたはLを記載)。例えば、CPUA21及びCPUB22の駆動開始前には、RS−FF32は、(R,S,Q)=(L,L,L)である。
【0024】
CPUA21は、電源ICA11から出力電圧Vcc1の印加が開始された後、電源ICA11からRESET1「H」を入力し(ステップS301)、信号「H」をポートP01を介して論理積回路31に出力し(ステップS302)、信号「H」をポートP02を介してRS−FF32の入力端子であるR端子に出力する(ステップS303)。このとき、論理積回路31は、電源ICA11からRESET1「H」を入力している。この後、CPUA21は、電源ICA11からRESET1「L」を入力すると(ステップS304)、RESET1の「H」から「L」への立下りのタイミングでリセット処理を実行開始する(ステップS305)。また、このとき、論理積回路31は、電源ICA11からRESET1「L」を入力している。ところで、バッテリからの給電が開始された電源ICB12は、RESET2をCPUA21に出力している。しかし、RESET1が「L」である期間リセット処理を実行しているCPUA21は、電源ICB12からのRESET2の入力を受け付けない。
【0025】
他方、CPUB22は、電源ICB12から出力電圧Vcc2の印加が開始された後、RS−FF32からのRESET2の入力を待ち受けている。このとき、電源ICB12は、RESET2「H」を論理積回路31に出力した後、RESET2「L」を論理積回路31に出力する。
【0026】
論理積回路31は、電源ICA11からRESET1「H」を入力し、CPUA21からポートP01を介して信号「H」を入力し、且つ電源ICB12からRESET2「H」を入力している期間は、RS−FF32のS端子にRESET2「H」を出力する。この段階でのRS−FF32は、(R,S,Q)=(H,H,H)である。この後、論理積回路31は、電源ICA11からのRESET1「L」または電源ICB12からのRESET2「L」を入力すると、RS−FF32のS端子にRESET2「L」を出力する。RESET2「L」を入力したRS−FF32は、RESET2「H」を「L」に反転させ、RESET2「L」をCPUB22に出力する。CPUB22は、RS−FF32からRESET2「L」を入力すると、RESET2の「H」から「L」への立下りのタイミングでリセット処理を実行開始する。この段階でのRS−FF32は、(R,S,Q)=(H,L,L)である。
【0027】
続いて、CPUA21は、電源ICA11からRESET1「H」を入力すると(ステップS306)、リセット処理の実行を停止する(ステップS307)。ところで、電源ICB12は、電源ICA11がCPUA21にRESET1「H」を出力した時点と略同じ時点に、RESET2「H」をポートP03を介してCPUA21に出力している。リセット処理が完了したCPUA21は、電源ICB12からポートP03を介してRESET2「H」を入力すると(ステプS308)、信号「H」をポートP01を介して論理積回路31に出力する(ステップS310)。同時に、CPUA21は、電源ICB12からRESET2「H」を入力すると(ステップS307)、信号「L」をポートP02を介してRS−FF32の入力端子であるR端子に出力する(ステップS310)。いずれの入力も「H」となった論理積回路31は、RS−FF32のS端子にRESET2「H」を出力する。S端子にRESET2「H」を入力したRS−FF32は、RESET2「L」を「H」に反転させ、RESET2「H」をCPUB22に出力する。この段階でのRS−FF32は、(R,S,Q)=(L,H,H)である。
【0028】
CPUB22は、RS−FF32からRESET2「H」を入力し、リセット処理の実行を停止する。こうして、CPUA21及びCPUB22の駆動を開始する際の電子回路によるリセット制御を終了する。
【0029】
[通信異常検出時のリセット制御]
次に、CPUA21及びCPUB22の駆動開始後、CPUA21がCPUB22との間での通信異常を検出した際の電子回路によるリセット制御について
図5、
図6及び
図7(a)〜
図7(e)を参照して説明する。
図5は、本発明の実施形態の車載器用リセット回路を適用した電子回路における、通信異常検出時のリセット制御を説明するシーケンス図である。
図6は、通信異常検出時のリセット制御におけるCPUAの処理の流れを示すフローチャートである。
図7は、リセット制御に用いる信号のタイムチャートであり、
図7(a)はCPUAが入力するINT1のタイムチャート、
図7(b)はCPUAが出力するP01(RESET2)のタイムチャート、
図7(c)はRS−FFに入力するRのタイムチャート、
図7(d)はRS−FFに入力するSのタイムチャート、
図7(e)はRS−FFから出力するQのタイムチャートである。尚、CPUA21及びCPUB22の駆動開始後には、[バッテリからの電力供給開始時のリセット制御]で説明したとおり、RS−FF32は、(R,S,Q)=(L,H,H)である。
【0030】
CPUA21及びCPUB22は、[バッテリからの電力供給開始時のリセット制御]で説明したリセット制御を実行し、互いのデバイスを認証処理を実行した後、各CPUが正常に駆動している期間においてINT信号を相手方のCPUに一定周期で送信している。CPUB22は、CPUB22が正常に駆動している期間、INT信号をポートP2を介してI/Oポート41に一定周期T2で出力する。また、CPUA21は、ポートINT1を介してI/Oポート41から入力するINT信号を、一定周期T2よりも長い期間T1待ち受ける。
【0031】
このような取り決めのもと、CPUB22に、電源ICB12からCPUB22への電力供給の遮断による通信異常を除く、何らかの通信異常が発生した場合、CPUB22は、INT信号の定期的な出力を停止する。尚、電力供給の遮断による通信異常が発生した場合については、後述する[電力供給の遮断による通信異常検出時のリセット制御]にて説明する。このとき、CPUA21は、期間T1中にINT信号を入力していないことを検出すると、通信異常が生じたと判断し、次に説明するリセット制御に則って、CPUB22に対してリセット処理を命令する。
【0032】
すなわち、CPUA21は、期間T1中にINT信号を入力していないことを検出すると(ステップS601)、信号「L」をポートP01を介して論理積回路31に出力する(ステップS602)。このため、論理積回路31は、RS−FF32のS端子にRESET2「L」を出力する。この段階でのRS−FF32は、(R,S,Q)=(L,L,H)である。また、CPUA21は、RS−FF32の出力を「H」から「L」に反転させる信号「H」をポートP02を介してRS−FF32の入力端子であるR端子に出力する(ステップS603)。すると、RS−FF32は、RESET2「L」をCPUB22に出力する。CPUB22は、RS−FF32からRESET2「L」を入力し、RESET2の「H」から「L」への立下りのタイミングでリセット処理を実行開始する。この段階でのRS−FF32は、(R,S,Q)=(H,L,L)である。
【0033】
続いて、CPUA21は、CPUB22がリセット処理を完了するために要する時間よりも長い時間T2を待って、信号「H」をポートP01を介して論理積回路31に出力する(ステップS604)。同時に、CPUA21は、信号「L」をポートP02を介してRS−FF32の入力端子であるR端子に出力する(ステップS605)。いずれの入力も「H」となった論理積回路31は、RS−FF32のS端子にRESET2「H」を出力する。S端子にRESET2「H」を入力したRS−FF32は、RESET2「L」を「H」に反転させ、RESET2「H」をCPUB22に出力する。この段階でのRS−FF32は、(R,S,Q)=(L,H,H)である。
【0034】
CPUB22は、RS−FF32からRESET2「H」を入力し、リセット処理の実行を停止する。こうして、通信異常検出時の電子回路によるリセット制御を終了する。
【0035】
[電力供給の遮断による通信異常検出時のリセット制御]
次に、CPUA21及びCPUB22の駆動開始後、CPUB22への電力供給の遮断による通信異常を検出した際の電子回路によるリセット制御について
図8、
図9及び
図10(a)〜
図10(e)を参照して説明する。
図8は、本発明の実施形態の車載器用リセット回路を適用した電子回路における、電力供給の遮断による通信異常検出時のリセット制御を説明するシーケンス図である。
図9は、電力供給の遮断による通信異常検出時のリセット制御におけるCPUAの処理の流れを示すフローチャートである。
図10は、リセット制御に用いる信号のタイムチャートであり、
図10(a)は電源ICAが出力するRESET1のタイムチャート、
図10(b)は電源ICBが出力するRESET2のタイムチャート、
図10(c)はRS−FFに入力するSのタイムチャート、
図10(d)はRS−FFに入力するRのタイムチャート、
図10(e)はRS−FFから出力するQのタイムチャートである。尚、CPUA21及びCPUB22の駆動開始後には、[バッテリからの電力供給開始時のリセット制御]で説明したとおり、RS−FF32は、(R,S,Q)=(L,H,H)である。
【0036】
電源ICB12からの電力供給を遮断されたCPUB22は、電源ICB12から出力電圧Vcc2の印加が開始されると、RS−FF32からのRESET2の入力を待ち受けている。このとき、CPUB22への電力供給の遮断を検出した電源ICB12は、RESET2「L」を論理積回路31に出力する。このため、論理積回路31は、RS−FF32のS端子にRESET2「L」を出力する。この段階でのRS−FF32は、(R,S,Q)=(L,L,H)である。
【0037】
また、このとき、CPUA21は、RESET2「L」をポートP03を介して電源ICB12から入力している。CPUA21は、電源ICB12からRESET2「L」を入力すると(ステップS901)、[通信異常検出時のリセット制御]にて説明したリセット制御を停止する。より具体的には、信号「L」をポートP01を介して論理積回路31に出力することを禁止する(ステップS902)。このため、CPUB22が電力供給の遮断によるリセット処理を実行している期間中に、通信異常を検出したCPUA21がCPUB22にリセット処理を命令することを防ぐことができる。
【0038】
また、CPUA21は、RS−FF32の出力を「H」から「L」に反転させる信号「H」をポートP02を介してRS−FF32の入力端子であるR端子に出力する(ステップS903)。すると、RS−FF32は、RESET2「L」をCPUB22に出力する。CPUB22は、RS−FF32からRESET2「L」を入力し、RESET2の「H」から「L」への立下りのタイミングでリセット処理を実行開始する。この段階でのRS−FF32は、(R,S,Q)=(H,L,L)である。
【0039】
この後、CPUA21は、電源ICB12からRESET2「H」を入力すると(ステップS904)、信号「H」をポートP01を介して論理積回路31に出力する(ステップS905)。同時に、CPUA21は、信号「L」をポートP02を介してRS−FF32の入力端子であるR端子に出力する(ステップS906)。いずれの入力も「H」となった論理積回路31は、RS−FF32のS端子にRESET2「H」を出力する。S端子にRESET2「H」を入力したRS−FF32は、RESET2「L」を「H」に反転させ、RESET2「H」をCPUB22に出力する。この段階でのRS−FF32は、(R,S,Q)=(L,H,H)である。
【0040】
CPUB22は、RS−FF32からRESET2「H」を入力し、リセット処理の実行を停止する。こうして、CPUA21及びCPUB22の駆動を開始する際の電子回路によるリセット制御を終了する。この後、CPUA21は、[通信異常検出時のリセット制御]にて説明した、CPUB22との間での通信異常を検出する処理に移行する。
【0041】
以上、本発明の実施形態の車載器用リセット回路を適用した電子回路によれば、CPUB22に電力供給の遮断が発生した場合、CPUA21がCPUB22への電力供給の遮断が発生したことを認識することができる。そして、CPUB22に電力供給が再開されCPUB22によるリセット処理が完了するまで、CPUA21がCPUB22にリセット処理を命令することはない。このため、CPUB22が電力供給の遮断によるリセット処理を実行している期間中に、通信異常を検出したCPUA21がCPUB22にリセット処理を命令することを防ぐことができる。この結果、CPUB22への電力供給の遮断に伴う不慮のリセット処理がCPUB22に発生した場合であっても、電子回路の動作が不安定となってしまうことを防ぐことができる。
【0042】
尚、上述した本発明の実施形態の車載器用リセット回路を適用した電子回路では、論理積回路31及びRS−FF32をCPUA21とは異なる回路として設けた構成について説明した。しかし、論理積回路31及びRS−FF32を一素子としてCPUA21に設けてもよい。