JP2013026827A - マイクロコントローラ、制御装置、及び判別方法 - Google Patents

マイクロコントローラ、制御装置、及び判別方法 Download PDF

Info

Publication number
JP2013026827A
JP2013026827A JP2011159805A JP2011159805A JP2013026827A JP 2013026827 A JP2013026827 A JP 2013026827A JP 2011159805 A JP2011159805 A JP 2011159805A JP 2011159805 A JP2011159805 A JP 2011159805A JP 2013026827 A JP2013026827 A JP 2013026827A
Authority
JP
Japan
Prior art keywords
pwm signal
unit
pwm
pulse
pulse width
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
JP2011159805A
Other languages
English (en)
Other versions
JP5722150B2 (ja
Inventor
Hiromichi Yamada
弘道 山田
Teruaki Sakata
輝昭 酒田
Nobuyasu Kanekawa
信康 金川
Yuichi Ishiguro
雄一 石黒
Takashi Yasumasu
貴志 安増
Kazuyoshi Fukuda
和良 福田
Kesami Hagiwara
今朝巳 萩原
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2011159805A priority Critical patent/JP5722150B2/ja
Priority to EP12174189.6A priority patent/EP2549281B1/en
Priority to US13/555,123 priority patent/US9323595B2/en
Publication of JP2013026827A publication Critical patent/JP2013026827A/ja
Application granted granted Critical
Publication of JP5722150B2 publication Critical patent/JP5722150B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Inverter Devices (AREA)

Abstract

【課題】CPUによる処理負担の増加を抑えつつ、PWMタイマのより詳細な故障診断を可能とする。
【解決手段】本マイクロコントローラ(1〜10)は、中央処理装置(11)と、前記中央処理装置によって設定されたPWM信号の生成条件に応じてPWM信号を生成するPWM信号生成部(200、21)と、前記生成されたPWM信号を入力し、入力した信号に基づいてパルス周期とパルス幅を検出するとともに、検出したパルス周期とパルス幅が前記生成条件に応じたパルス周期とパルス幅に一致するか否かを判別する診断部(201、20、30、40)とを有する。
【選択図】図1

Description

本発明は、パルス幅変調(PWM:Pulse Width Modulation)タイマの診断機能を有するマイクロコントローラ、前記マイクロコントローラを内蔵する制御装置、及び前記マイクロコントローラにおける前記診断機能が正常であるか否かを判別するための判別方法に関し、特に、より高い信頼性が要求される、PWMタイマを内蔵したマイクロコントローラに適用して有効な技術に関する。
家電製品、AV機器、携帯電話、自動車、及び産業機械等の機器には、マイクロコントローラ(以下単に「マイコン」とも称する)が組み込まれている。マイコンは、メモリに記憶されているプログラムにしたがって処理を行うことで、それぞれの機器の制御を行う半導体集積回路である。これらの機器に組み込まれるマイコンを含む部品は、用途に応じた信頼性が要求される。例えば自動車では、制御装置の故障が事故につながる可能性があるため、マイコンを含む部品に高い信頼性が求められる。例えば、自動車用のマイコンでは、故障が発生した場合にはこれを検出して自動車が危険な状態にならないように安全装置を働かせる機能が要求されている。そのため、マイコンは、例えば、制御対象であるセンサやアクチュエータ等の診断を行ってこれらの故障を検出するだけでなく、マイコン自身の故障も検出する必要がある。
電子機器の故障を検出する従来技術について特許文献1乃至3に開示がある。特許文献1には、タイマ回路において、タイマ回路内のカウンタ回路のカウンタ値と一つ前のカウンタ値の反転値との論理加算処理を行い、その値が“0(零)”である場合にはカウント動作が異常と判断してその結果を外部に知らせる技術が開示されている。特許文献2には、マイコンと出力ドライバ回路を備える自動車用電子制御装置において、出力ドライバ回路の地絡・天絡や断線、パワートランジスタの過電流、パワートランジスタの過温度を診断する技術が開示されている。更に、特許文献3には、CPUとメモリからなる複数の処理系を備えるマイクロコントローラにおいて、夫々の処理系のCPUによって処理されたデータを比較して処理系の異常を検出する技術が開示されている。
特開平11−239055号公報 特開2004−339977号公報 特開2010−113388号公報
特許文献1乃至3の技術であれば、上記機器に組み込まれる部品に要求されていた従来の信頼性を十分に満足することができたかもしれない。しかしながら、近年更なる信頼性の向上が求められていることと、今後も今以上に高い信頼性が求められる可能性が高いことから、更なる詳細な故障診断のための技術が必要であると本願発明者は考えた。
例えば自動車には多くのモータが使われており、その制御にはマイコンが用いられる。モータの駆動制御の方式の1つとしてPWM方式がある。PWM方式では、マイコンがモータの回転数に対して十分短い周期のパルス信号を与え、そのパルス幅を変化させることによって供給エネルギーをコントロールする。例えば、マイコンに搭載されている中央処理装置(CPU)は制御対象であるモータに供給するエネルギーの目標値が決まると、それに応じたPWMパルス信号のパルス周期とパルス幅を計算し、マイコンに搭載されているPWMタイマ内のレジスタに算出したパルス周期とパルス幅を設定する。そして、PWMタイマは設定値に応じたPWMパルス信号を出力する。自動車用のマイコンでは、このPWMパルス信号が正しく出力されているか否かを検査したいというニーズがある。このニーズに対し、仮に、自動車用マイコンに特許文献1の技術を適用すれば、PWMタイマ内のカウンタ回路の異常を検出することは可能である。しかしながら、特許文献1の技術では、出力されたPWMパルス信号のパルス周期とパルス幅が設定された通りになっているか等を検査することができず、故障検査としては不十分である。そこで、本願発明者は本願発明に先立って、PWMタイマの故障診断の方法について検討を行った。
図19は、本願発明者が先立って検討したPWMタイマの診断機能を有するマイクロコントローラの一例を示すブロック図である。同図のマイクロコントローラ200において、PWMタイマ81は、CPU11によって設定されたパルス周期とパルス幅に応じたPWM信号を生成する信号生成部82と、生成したPWM信号の立ち上がりエッジ及び立ち下がりエッジを検出するパルス検出部83と、を備える。信号生成部82は、カウンタ(CNTR)823によって、クロック発生回路(CPG)16から入力されたクロック信号CLKをカウントする。信号生成部82のレジスタ(REG_PRD)821及びレジスタ(REG_PW)822に設定されるパルス周期とパルス幅は、前記カウンタ823のカウント値と比較される値が設定される。信号生成部82のパルス発生回路(PG)820は、前記カウンタ823のカウント値と、前記レジスタ821、822に設定されたパルス周期とパルス幅に基づいてPWM信号210を生成して出力する。パルス検出部83は、信号生成部82から出力されたPWM信号210の立ち上がりエッジを検出したときのカウント値と、立ち下がりエッジを検出したときのカウント値をレジスタ811、812に保持し、立ち上がりエッジを検出したら割り込み発生回路(INT_CNT)813によって割り込み信号を発生させてCPU11に通知する。CPU11はその通知を受けとると、パルス検出部83内のレジスタ811、812にアクセスし、立ち上がりエッジに係るカウンタ値と立ち下がりエッジに係るカウンタ値を取得する。そして、CPU11は取得したカウンタ値に基づいてパルス周期及びパルス幅を算出し、その算出結果が前記信号生成部82に設定したパルス周期及びパルス幅と一致するか否かを判定する。
図20は、本願発明者が先立って検討したPWMタイマの診断機能を有するマイクロコントローラの別の一例を示すブロック図である。同図のマイクロコントローラ201は、前述の図19のマイクロコントローラ200とは異なり、PWM信号を生成するPWMタイマ84と、生成したPWM信号の立ち上がりエッジ及び立ち下がりエッジを検出するパルス検出部85とが、別個の回路モジュールとして構成される。PWMタイマ84は、前述の信号生成部82と同様の方法によりPWM信号211を生成して出力する。パルス検出部85は、前述のパルス検出部83と同様の方法により、PWM信号211の立ち上がりエッジを検出したときのカウント値と、立ち下がりエッジを検出したときのカウント値をレジスタ(REG_REDG)811及びレジスタ(REG_FEDG)812に保持し、立ち上がりエッジを検出したら割り込み信号を発生させてCPU11に通知する。そして、CPU11は取得したカウンタ値に基づいてパルス周期及びパルス幅を算出し、その算出結果が信号生成部84に設定したパルス周期及びパルス幅と一致するか否かを判定する。
以上のように、図19に示されるマイクロコントローラ200と図20に示されるマイクロコントローラ201によれば、PWMタイマによって生成されたPWMパルス信号のパルス周期とパルス幅が設定通りになっているか否かを診断することができる。しかしながら、上記マイクロコントローラ200、201では、生成されたPWMパルス信号210、211のパルス幅及びパルス周期が前記信号生成部82、84の設定値と一致するか否かを判定するための処理をCPUが行うため、CPUによる処理負担が大きくなってしまう。
本発明の目的は、PWMタイマを内蔵するマイクロコントローラにおけるCPUによる処理負担の増加を抑えつつ、PWMタイマのより詳細な故障診断を可能とする技術を提供することにある。
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
すなわち、本マイクロコントローラは、中央処理装置と、前記中央処理装置によって設定されたPWM信号の生成条件に応じてPWM信号を生成するPWM信号生成部と、前記生成されたPWM信号を入力し、入力した信号に基づいてパルス周期とパルス幅を検出するとともに、検出したパルス周期とパルス幅が前記生成条件に応じたパルス周期とパルス幅に一致するか否かを判別する診断部と、を有する。
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
すなわち、本マイクロコントローラは、CPUによる処理負担の増加を抑えつつ、PWMタイマのより詳細な故障診断を可能とする。
図1は、PWMタイマ機能とその診断機能を備えるマイクロコントローラの一例を示すブロック図である。 図2は、PWMタイマ15の動作タイミングの一例を示すタイミングチャートである。 図3は、実施の形態2に係るPWMタイマ機能とその診断機能を備えるマイクロコントローラの一例を示すブロック図である。 図4は、PWMタイマ21とPWM信号診断部20の動作タイミングの一例を示すタイミングチャートである。 図5は、実施の形態3に係るPWMタイマ機能とその診断機能を備えるマイクロコントローラの一例を示すブロック図である。 図6は、PWMタイマ21とPWM診断部30の動作タイミングの一例を示すタイミングチャートである。 図7は、実施の形態4に係るPWMタイマ機能とその診断機能を備えるマイクロコントローラの一例を示すブロック図である。 図8は、デューティ比0%のPWM信号を生成する場合の動作タイミングの一例を示すタイミングチャートである。 図9は、デューティ比100%のPWM信号を生成する場合の動作タイミングの一例を示すタイミングチャートである。 図10は、デューティ比0%のPWM信号の診断を行う場合のPWM診断部40の動作タイミングの一例を示すタイミングチャートである。 図11は、デューティ比100%のPWM信号の診断を行う場合のPWM診断部40の動作タイミングの一例を示すタイミングチャートである。 図12は、実施の形態5に係るPWMタイマ機能とその診断機能を備えるマイクロコントローラの一例を示すブロック図である。 図13は、実施の形態6に係るPWMタイマ機能とその診断機能を備えるマイクロコントローラの一例を示すブロック図である。 図14は、実施の形態7に係るPWMタイマ機能とその診断機能を備えるマイクロコントローラの一例を示すブロック図である。 図15は、実施の形態8に係るPWMタイマ機能とその診断機能を備えるマイクロコントローラの一例を示すブロック図である。 図16は、実施の形態9に係るPWMタイマ機能とその診断機能を備えるマイクロコントローラの一例を示すブロック図である。 図17は、PWM信号の診断機能の診断方法の一例を示すフローチャートである。 図18は、PWMタイマ機能とその診断機能を備えるマイクロコントローラを搭載した電子制御装置の一例を示すブロック図である。 図19は、本願発明者が先立って検討したPWMタイマの診断機能を有するマイクロコントローラの一例を示すブロック図である。 図20は、本願発明者が先立って検討したPWMタイマの診断機能を有するマイクロコントローラの別の一例を示すブロック図である。
1.実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
〔1〕(PWM信号の診断用の専用回路モジュールを備えるマイクロコントローラ)
本発明の代表的な実施の形態に係るマイクロコントローラ(1〜10)は、中央処理装置(11)と、前記中央処理装置によって設定されたPWM信号の生成条件に応じてPWM信号を生成するPWM信号生成部(200、21)と、を有する。更に、前記マイクロコントローラは、前記PWM信号生成部によって生成されたPWM信号に基づいて該PWM信号のパルス周期及びパルス幅を検出するとともに、検出した前記パルス周期及びパルス幅と前記生成条件に基づく前記PWM信号のパルス周期及びパルス幅とを比較することにより、前記PWM信号生成部の診断を行う診断部を有する。この診断部は、例えば、前記PWM信号生成部によって生成されたPWM信号を入力し、入力した信号に基づいてパルス周期とパルス幅を検出するとともに、検出したパルス周期及びパルス幅と前記生成条件に応じたパルス周期及びパルス幅とを比較することにより、前記PWM信号生成部の診断を行う診断部(201、20、30、40)としてもよい。
これによれば、前記中央処理装置ではなく前記診断部が前記診断のための処理を行うから、前記中央処理装置の処理負担を増加させることなく、前記PWM信号生成部の故障判定を行うことができる。また、前記検出したパルス周期及びパルス幅と前記生成条件に応じたパルス周期及びパルス幅とを比較することすることで、前記PWM信号生成部のより詳細な故障判定を可能とする。
〔2〕(PWM信号の補正(デューティ比0%))
項1のマイクロコントローラにおいて、前記診断部(40)は、PWM信号のパルス幅がゼロになる前記生成条件が前記PWM信号生成部に設定された場合には、前記設定された生成条件のパルス周期よりも短い第1期間(例えば、クロック信号CLKの1クロックサイクル分の期間)だけハイレベルとなるように前記入力したPWM信号を補正するとともに、補正後のPWM信号(190)のパルス周期とパルス幅を検出して前記比較を行う。
項2のマイクロコントローラでは、前記生成条件としてデューティ比0%が設定された場合には信号の立ち上がりエッジが検出できるようにPWM信号を補正する。これにより、デューティ比0%であってもパルスを検出することができるから、前記生成条件としてデューティ比0%が設定された場合でも前記PWM信号生成部の故障判定を行うことができる。
〔3〕(PWM信号を補正(デューティ比100%))
項1又は2のマイクロコントローラにおいて、前記診断部(40)は、PWM信号のパルス幅とパルス周期とが一致する前記生成条件が前記PWM信号生成部に設定された場合には、前記設定された生成条件のパルス周期よりも短い第2期間(例えば、クロック信号CLKの1クロックサイクル分の期間)だけローレベルとなるように前記入力したPWM信号を補正するとともに、補正後のPWM信号(190)のパルス周期とパルス幅を検出して前記比較を行う。
項3のマイクロコントローラでは、前記生成条件としてデューティ比100%が設定された場合には信号の立ち下がりエッジが検出できるようにPWM信号を補正する。これにより、デューティ比100%であってもパルスを検出することができるから、前記生成条件としてデューティ比100%が設定された場合でも前記PWM信号生成部の故障判定を行うことができる。
〔4〕(デューティ比0%のときの補正パルスの生成方法)
項2又は3のマイクロコントローラにおいて、前記診断部は、前記PWM信号生成部に設定された前記生成条件に応じて、入力された前記PWM信号を補正して出力するパルス補正部(191)と、前記パルス補正部から出力された信号の立ち上がりエッジと立ち下がりエッジを検出する検出部(171)と、前記検出したエッジに基づいて前記パルス補正部から出力された信号のパルス周期とパルス幅を算出し、算出したパルス周期及びパルス幅と前記生成条件に応じたパルス周期及びパルス幅を比較する比較部(192)と、を有する。前記パルス補正部は、PWM信号のパルス幅がゼロになる前記生成条件が前記PWM信号生成部に設定された場合には、1つ前のPWM信号の立ち上がりからパルス周期分の時間が経過したタイミング(例えば、図10のクロックサイクル11のタイミング)において、前記第1期間だけハイレベルとなる第1信号(仮想立ち上がりエッジ信号)を生成し、前記第1信号と前記入力したPWM信号の論理和をとることで前記補正後のPWM信号を生成する。また、前記比較部は、PWM信号のパルス幅がゼロになる前記生成条件が前記PWM信号生成部に設定された場合には、前記算出したパルス周期と前記生成条件に応じたパルス周期とが一致し、且つ前記算出したパルス幅と前記第1期間に応じたパルス幅とが一致するならば、前記生成条件に応じたPWM信号が生成されていると判断し、前記算出したパルス周期と前記生成条件に応じたパルス周期とが一致せず、又は前記算出したパルス幅と前記第1期間に応じたパルス幅とが一致しないならば、前記生成条件に応じたPWM信号が生成されていないと判断する。
これによれば、前記生成条件としてデューティ比0%が設定された場合に、PWM信号を容易に補正することができ、且つ、前記PWM信号生成部の故障判定が容易となる。
〔5〕(デューティ比100%のときの補正パルスの生成方法)
項4のマイクロコントローラにおいて、前記パルス補正部は、PWM信号のパルス幅とパルス周期とが一致する前記生成条件が前記PWM信号生成部に設定された場合には、前記入力されたPWM信号が立ち上がってから所定期間が経過したタイミング(例えば、図11のクロックサイクル14のタイミング)において、前記第2期間だけハイレベルとなる第2信号(仮想立ち下がりエッジ信号)を生成し、前記第2信号の反転信号と前記入力したPWM信号の論理積をとることで前記補正後のPWM信号を生成する。また、前記比較部は、PWM信号のパルス幅とパルス周期とが一致する前記生成条件が前記PWM信号生成部に設定された場合には、前記算出したパルス周期と前記生成条件に応じたパルス周期とが一致し、且つ前記算出したパルス幅と、前記生成条件に応じたパルス幅を前記第2期間だけ短くしたパルス幅と、が一致するならば、前記生成条件に応じたPWM信号が生成されていると判断し、前記算出したパルス周期と前記生成条件に応じたパルス周期とが一致せず、又は前記算出したパルス幅と前記第2期間だけ短くしたパルス幅とが一致しないならば、前記生成条件に応じたPWM信号が生成されていないと判断する。
これによれば、前記生成条件としてデューティ比100%が設定された場合に、PWM信号を容易に補正することができ、且つ、前記PWM信号生成部の故障判定が容易となる。
〔6〕(診断部における生成条件を格納するレジスタ)
項1乃至3のいずれかのマイクロコントローラ(3、4)において、前記PWM信号生成部はパルス周期とパルス幅を含む前記生成条件を格納するための第1レジスタ(152、153)を有する。また、前記診断部は、前記第1レジスタに格納される前記生成条件を含む情報を格納するための第2レジスタ(183、184)を更に有する。更に、前記診断部(30、40)は、前記第2レジスタに格納された前記生成条件に基づいて前記判別を行う。
項6のマイクロコントローラは、前記PWM信号生成部と前記診断部の夫々に前記生成条件を格納するためのレジスタを設けるから、前記診断部の信頼性をより向上させることができる。
〔7〕(生成条件をスヌープして取得して診断部のレジスタに格納)
項6のマイクロコントローラにおいて、前記診断部(30、40、170)は、前記中央処理装置による前記第1レジスタに対する前記生成条件の書き込みを監視し、前記中央処理装置が書き込む前記生成条件を取得して前記第2レジスタに格納する。
これによれば、前記中央処理装置ではなく前記診断部が自ら前記第2レジスタに前記生成条件を書き込むから、前記中央処理装置の処理負担を増加させることがない。
〔8〕(スヌープ処理の詳細)
項7のマイクロコントローラにおいて、前記中央処理装置(11)と、前記PWM信号生成部(21)と、前記診断部(30、40、170)とは内部バス(13)を介して互いに接続される。前記中央処理装置は、前記第1レジスタに前記生成条件を書き込むとき、前記第1レジスタを示すアドレス値と前記生成条件に係るデータとを前記内部バス上に出力する。また、前記診断部は、前記内部バス上に出力されるアドレス値を監視し、出力されたアドレス値が前記第1レジスタを示すアドレス値である場合には、前記内部バス上に出力された前記生成条件に係るデータを取得して、前記第2レジスタに保持する。
これによれば、前記診断部が前記第2レジスタに前記生成条件を書き込むことを容易に実現することができる。
〔9〕(PWM信号の出力端子と入力端子)
項1乃至3又は項6乃至8のいずれかのマイクロコントローラは、前記PWM信号生成部によって生成されたPWM信号を外部に出力するための第1端子(POUT)と、外部から信号を入力するための第2端子(PIN)と、を更に有する。前記診断部は、前記第1端子に出力されるPWM信号と、前記第2端子を介して入力されるPWM信号とを前記判別対象のPWM信号として選択可能としてもよい。
これによれば、例えば、前記第1端子と前記第2端子をマイクロコントローラの外部で電気的に接続することで、前記第1端子からPWM信号を出力する出力機能、及び前記第2端子から信号を入力する入力機能の異常も診断することが可能となる。
〔10〕(PWM信号生成部と診断部は同一モジュール)
項1乃至9のいずれかのマイクロコントローラ(1)において、前記PWM信号生成部(200)と前記診断部(201)とは、共通の回路モジュール(15)内に構成される。
これによれば、例えば、前記PWM信号生成部を構成する要素回路と、前記診断部を構成する要素回路を供用できる可能性が高くなるので、前記PWM信号生成部及び前記診断部を含む回路モジュールの小面積化とコスト削減に資する。
〔11〕(PWM信号生成部と診断部は別モジュール)
項1乃至9のいずれかのマイクロコントローラ(2〜9)において、前記PWM信号生成部(21)と前記診断部(20、30、40)とは、互いに別個の回路モジュールとして構成される。
例えば、前記PWM信号生成部と前記診断部を別個の半導体チップで構成することにより、診断対象と診断主体との独立性を担保することができる。これにより、より高い信頼性を要求する安全規格に適合させることが可能となる。また、前記PWM信号生成部と前記診断部を同一の半導体チップ内に構成した場合であっても、夫々の回路ブロックを分離させて配置させることで、信頼性をより高めることが可能となる。
〔12〕(高速バスと低速バス)
項1乃至11のいずれかのマイクロコントローラ(5〜9)は、第1バスクロック(高速クロック)で動作し、前記中央処理装置が接続される第1バス(13)と、前記第1バスクロックとは異なる第2バスクロック(低速クロック)で動作し、前記PWM信号生成部と前記診断部とが接続される第2バス(52)と、前記第1バスと前記第2バスとの間の通信を制御するためのバス制御部(51)と、を更に有する。前記第2バスクロックは、前記第1バスクロックよりも低い周波数とされる。
これによれば、高速な処理が要求されない前PWM信号生成部等を前記中央処理装置の動作クロックよりも低速な動作クロックで動作させることで、消費電力を抑えることができる。
〔13〕(複数のPWMタイマ+1個の診断部)
本発明の代表的な実施の形態に係る別のマイクロコントローラ(7)は、項1において、前記PWM信号生成部が、互いに異なる複数のPWM信号を生成するよう、複数の下位PWM信号生成部を含んで構成され、前記PWM信号生成部から出力された複数のPWM信号を入力し、入力した複数のPWM信号のうち何れかの信号を選択して出力する第1選択部を更に有し、前記診断部が、前記第1選択部から出力されたPWM信号を入力し、入力したPWM信号に基づいて該PWM信号のパルス周期及びパルス幅を検出するとともに、検出した前記パルス周期及びパルス幅と前記生成条件に基づく前記PWM信号のパルス周期及びパルス幅とを比較するマイクロコントローラである。より具体的に記述すれば、当該マイクロコントローラ(7)は、例えば、中央処理装置(11)と、前記中央処理装置によって設定されたPWM信号の生成条件に応じてPWM信号を生成する複数の下位PWM信号生成部(21_1〜21_M)と、前記下位PWM信号生成部から出力された複数のPWM信号を入力し、入力したPWM信号のうち何れかの信号を選択して出力する第1選択部(55)と、を有する。また、前記マイクロコントローラは、前記第1選択部から出力されたPWM信号を入力し、入力した信号に基づいてパルス周期とパルス幅を検出するとともに、検出したパルス周期とパルス幅が前記生成条件に応じたパルス周期とパルス幅に一致するか否かを判別する診断部(20)を有する。
これによれば、項1と同様に、前記中央処理装置の処理負担を増加させることなく、前記PWM信号生成部のより詳細な故障判定を行うことができる。また、これによれば、複数のPWM信号が生成される場合であっても、1つの診断部によって選択的に診断を行うことができるから、生成されるPWM信号の数に応じて診断部を設ける必要がなく、マイクロコントローラの小面積化に資する。
〔14〕(PWM信号の出力端子と入力端子)
項13のマイクロコントローラは、前記PWM信号生成部によって生成された複数のPWM信号を外部に出力するための複数の第1端子(POUT_1〜POUT_M)と、前記第1選択部が入力するPWM信号を外部から受けるための第2端子(PIN_1〜PIN_N)とを更に有する。前記第1選択部は、前記第1端子に出力される複数のPWM信号のうち何れか1つのPWM信号を選択して第1PWM信号として出力するとともに、前記第2端子を介して入力された複数のPWM信号のうち何れか1つのPWM信号を選択して第2PWM信号として出力する。また、前記診断部は、前記第1PWM信号と前記第2PWM信号とを前記判別対象のPWM信号として選択可能としてもよい。
これによれば、例えば、前記第1端子と前記第2端子をマイクロコントローラの外部で電気的に接続することで、前記第1端子からPWM信号を出力する出力機能、及び前記第2端子から信号を入力する入力機能の異常も診断することが可能となる。
〔15〕(1個のPWMタイマ+複数の診断部)
本発明の代表的な実施の形態に係る別のマイクロコントローラ(8)は、項1において、前記PWM信号生成部から出力されたPWM信号を入力し、入力したPWM信号に基づいて該PWM信号のパルス周期及びパルス幅を検出するとともに、検出した前記パルス周期及びパルス幅と前記生成条件に基づく前記PWM信号のパルス周期及びパルス幅とを比較する機能を有し、前記診断部とは異なる他の診断部を更に有するマイクロコントローラである。より具体的に記述すれば、当該マイクロコントローラ(8)は、中央処理装置(11)と、前記中央処理装置によって設定されたPWM信号の生成条件に応じてPWM信号を生成するPWM信号生成部(21)と、を有する。また、前記マイクロコントローラは、前記PWM信号生成部から出力されたPWM信号を入力し、入力した信号に基づいてパルス周期とパルス幅を検出するとともに、検出したパルス周期とパルス幅が前記生成条件に応じたパルス周期とパルス幅に一致するか否かを判別する複数の診断部(20_1〜20_N)を有する。
これによれば、項1と同様に、前記中央処理装置の処理負担を増加させることなく、前記PWM信号生成部のより詳細な故障判定を行うことができる。また、これによれば、1つのPWM信号を複数の診断部によって診断することができるから、診断結果の信頼度が向上する。
〔16〕(PWM信号の出力端子と入力端子)
項15のマイクロコントローラは、前記PWM信号生成部によって生成されたPWM信号を外部に出力するための第1端子(POUT)と、外部から信号を入力するための複数の第2端子(PIN_1〜PIN_N)と、を有する。また、前記マイクロコントローラは、前記複数の第2端子から入力されたPWM信号を入力し、入力したPWM信号のうち何れか1つの信号を選択して1つの前記診断部に出力する選択回路(622_1〜622_N)を前記診断回路に対応して複数有する第1選択部(62)と、を更に有する。夫々の前記診断部は、前記第1端子に出力されるPWM信号と、対応する前記選択回路で選択された信号とを前記判別対象のPWM信号として選択可能としてもよい。
これによれば、例えば、前記第1端子と前記第2端子をマイクロコントローラの外部で電気的に接続することで、前記第1端子からPWM信号を出力する出力機能、及び前記第2端子から信号を入力する入力機能の異常も診断することが可能となる。
〔17〕(複数のPWMタイマ+複数の診断部)
本発明の代表的な実施の形態に係る別のマイクロコントローラ(9)は、項1において、前記PWM信号生成部が、互いに異なるm(mは2以上の整数)個のPWM信号を生成するよう、前記m個の下位PWM信号生成部を含んで構成され、前記PWM信号生成部から出力された複数のPWM信号を入力し、入力した複数のPWM信号のうち何れかの信号を選択して出力する第1選択部を更に有し、前記診断部が、前記第1選択部から出力されたPWM信号を入力し、入力したPWM信号に基づいて該PWM信号のパルス周期及びパルス幅を検出するとともに、検出した前記パルス周期及びパルス幅と前記生成条件に基づく前記PWM信号のパルス周期及びパルス幅とを比較するn(nは1以上の整数)個の下位診断部を含んで構成されるマイクロコントローラである。より具体的に記述すれば、当該マイクロコントローラ(9)は、中央処理装置(11)と、前記中央処理装置によって設定されたPWM信号の生成条件に応じてPWM信号を生成するm(mは1以上の整数)個の下位PWM信号生成部(21_1〜21_M)と、前記下位PWM信号生成部から出力された複数のPWM信号(164_1〜164_M、165_1〜165_N)を入力し、入力したPWM信号のうち何れかの信号を選択して出力する第1選択部(65)と、有する。また、前記マイクロコントローラは、前記第1選択部から出力されたPWM信号を入力し、入力した信号に基づいてパルス周期とパルス幅を検出するとともに、検出したパルス周期とパルス幅が前記生成条件に応じたパルス周期とパルス幅に一致するか否かを判別するn(nは1以上の整数)個の下位診断部(20_1〜20_N)と、を有する。
これによれば、項1と同様に、前記中央処理装置の処理負担を増加させることなく、前記PWM信号生成部のより詳細な故障判定を行うことができる。また、これによれば、前記PWM信号生成部と前記診断部の夫々の個数に応じて診断対象と診断主体の組み合わせを自由に決定することができるから、設計の自由度が増す。
〔18〕(PWM信号の出力端子と入力端子)
項17のマイクロコントローラは、前記生成されたm個のPWM信号を外部に出力するためのm個の第1端子(POUT_1〜POUT_M)と、前記第1選択部に入力するPWM信号を外部から受けるための複数の第2端子(PIN_1〜PIN_N)とを更に有する。前記第1選択部は、1つの前記診断部に対し、前記第1端子に出力されるm個のPWM信号のうち何れか1つのPWM信号を選択して第1PWM信号として出力するとともに前記第2端子を介して入力された複数のPWM信号のうち何れか1つのPWM信号を選択して第2PWM信号として出力する選択回路(651_1〜651_N、652_1〜652_N)を、前記診断部に対応してn個有する。また、夫々の前記診断部は、前記第1端子に出力されるPWM信号と、対応する前記選択回路で選択された信号とを前記判別対象のPWM信号として選択可能としてもよい。
これによれば、例えば、前記第1端子と前記第2端子をマイクロコントローラの外部で電気的に接続することで、前記第1端子からPWM信号を出力する出力機能、及び前記第2端子から信号を入力する入力機能の異常も診断することが可能となる。
〔19〕(制御装置)
本発明の代表的な実施の形態に係る制御装置(104)は、モータを制御するための制御装置である。前記制御装置は、モータを駆動するためのPWM信号を生成するとともに、生成したPWM信号が異常である場合には外部端子(EOUT)からエラー信号を出力するマイクロコントローラ(10)と、前記生成されたPWM信号に基づいて、モータ(101)を駆動するためのドライバ(105)と、前記エラー信号を受けてモータの異常動作を防止するため処理を行う安全装置(106)と、を有する。前記マイクロコントローラは、中央処理装置(11)と、前記中央処理装置によって設定された生成条件に応じてPWM信号を生成するPWM信号生成部(200、21)と、前記生成されたPWM信号を入力し、入力した信号に基づいてパルス周期とパルス幅を検出するとともに検出したパルス周期とパルス幅が前記生成条件に応じたパルス周期とパルス幅に一致するか否かを判別する診断部(201、20、30、40)と、を有する。更に前記マイクロコントローラは、前記判別結果に応じて前記エラー信号を前記外部端子に出力する。
これによれば、項1と同様に、前記マイクロコントローラ内の前記中央処理装置の処理負担を増加させることなく、前記PWM信号生成部の故障判定を行うことができる。また、前記検出したパルス周期及びパルス幅と前記生成条件に応じたパルス周期及びパルス幅とを比較するという、より詳細な故障判定が可能となるから、モータ制御の安全性をより高めることができる。
〔20〕(診断部自身の診断方法)
本発明の代表的な実施の形態に係る判別方法は、設定された生成条件に応じてPWM信号を生成するPWM信号生成部(200、21)と、前記PWM信号生成部によって生成されたPWM信号が、自らに設定された条件に応じたパルス周期とパルス幅を持つ信号であるか否かを判別する診断部(201、20、30、40)とを有するマイクロコンピュータ(1〜9)の前記診断部が正常であるか否かを判別するための判別方法である。前記判別方法は、前記PWM信号生成部に設定された前記生成条件(第1生成条件)と等価な条件(第1生成条件)を前記診断部に設定し、前記診断部が、前記生成されたPWM信号が前記等価な条件に応じたPWM信号と一致すると判別した場合には、前記診断部が正常であると判別し、一致しないと判別した場合には前記診断部が異常であると判断する第1ステップ(S105〜S107)を有する。更に、前記判別方法は、前記PWM信号生成部に設定された前記生成条件(第1生成条件)と異なる条件(第2生成条件)を前記診断部に設定し、前記診断部が、前記生成されたPWM信号が前記異なる条件に応じたPWM信号と一致すると判断した場合には、前記診断部が異常であると判別し、一致しないと判断した場合には前記診断部が正常であると判別する第2ステップ(S108、S109)を有する。
これによれば、前記診断部自身が正常に動作するか否かを容易に判別することができる。また、PWM信号生成部に設定する生成条件と等価な条件を設定する前記第1ステップと、PWM信号生成部に設定する生成条件と異なる条件を設定する前記第2ステップの2つのステップで診断を行うので、前記診断部に対する診断の精度を上げることができる。これにより、PWM信号生成部の信頼性だけでなく、診断部の信頼性をも向上させることができる。
2.実施の形態の詳細
実施の形態について更に詳述する。
≪実施の形態1≫
図1は、PWMタイマ機能とその診断機能を備えるマイクロコントローラの一例を示すブロック図である。
同図に示されるマイクロコントローラ(MCU)1は、例えば、CPU11、メモリ(MRY)12、内部バス13、割り込みコントローラ(INT_CNT)14、PWMタイマ15、及びクロック発生回路(CPG)16と、その他図示されない周辺回路モジュールから構成される。CPU11は、メモリ12等に格納されたプログラムに係る命令を実行し、演算やデータ転送などの処理を行うプロセッサである。メモリ12は、CPU11が実行するプログラム、及び当該プログラム処理によって算出されたデータを記憶するための記憶領域を備える。割り込みコントローラ14はPWMタイマ15等の周辺回路モジュールからの割り込み要求を受け取り、受け取った割り込み要求の中から最も優先順位の高いものを選択し、専用線18を介してCPU2に割り込み信号を出力する。クロック発生回路16は、例えば外部端子を介して水晶発振器で生成された外部クロック信号EX_CLKを入力し、入力した外部クロック信号EX_CLKに基づいて精度の高いクロック信号CLKを生成してマイクロコントローラ1内の各回路モジュールに供給する。
PWMタイマ15は、PWM信号を生成する信号生成機能部200と、PWM信号の診断を行う診断機能部201とを備える。初めに、信号生成機能について説明する。
PWMタイマ15は、信号生成機能部200として、例えば、制御レジスタ(REG_CNT)151、パルス周期レジスタ(REG_PRD)152、パルス幅レジスタ(REG_PW)153、パルス幅バッファ154、パルス発生回路(PG)156、及びカウンタ(CNTR)157を有する。例えば、CPU11が内部バス13を経由して上記レジスタ151〜153にPWM信号の生成条件を設定すると、パルス発生回路156が、カウンタ157によってカウントされたクロック信号CLKのカウント値C_VALと、設定された生成条件とに基づいてPWM信号164が生成する。
制御レジスタ151は、例えば、パルス発生回路156がPWM信号の出力を行うか否かを示す情報(以下、パルス出力制御情報、とも称する。)と、後述する診断対象のPWM信号を指定するための選択情報(以下、パルス選択情報、とも称する。)と、後述する診断結果がエラーであった場合に割り込みを発生させる否かを示す情報(以下、割り込み発生制御情報、とも称する。)と、後述する比較回路161によって比較処理を行うか否かを示す情報(以下、比較処理制御情報、とも称する。)と、がCPU11によって設定される。
パルス周期レジスタ152は、例えば、生成すべきPWM信号のパルス周期を示す情報がCPU11によって設定される。また、パルス幅レジスタ153は、例えば、生成すべきPWM信号のパルス幅を示す情報がCPU11によって設定される。パルス周期レジスタ152及びパルス幅レジスタ153に設定される値は、例えば、カウンタ157によってカウントされるカウント値と比較される値である。ここで、パルス周期レジスタ152に設定された値は、その時点で出力中のPWM信号のパルス周期を指定するものとする。また、パルス幅レジスタ153に設定された値は、次に出力されるPWM信号が出力されるタイミングでパルス幅バッファ154に書き込まれるものとし、パルス幅バッファ154に書き込まれた値は、その時点で出力中のPWM信号のパルス幅を指定するものとする。
パルス幅バッファ154は、前記パルス幅レジスタ153に設定されたパルス幅のPWM信号を出力するタイミングを調整するためにバッファであり、前記パルス幅レジスタ153の値が設定される。パルス幅バッファ154の詳細については後述する。
制御レジスタ151、パルス周期レジスタ152、及びパルス幅レジスタ153の値は、パルス発生回路156、比較回路161、及び割り込み発生回路163に出力される。
カウンタ157は、クロックCLKをカウントし、そのカウント値C_VALはPWM信号のパルス周期およびパルス幅を決定するために使用される。
パルス発生回路156は、カウンタ157のカウンタ値C_VALを監視する。パルス発生回路156は、パルス幅バッファ154の値がゼロ(デューティ比0%)でなく、且つカウンタ値C_VALがパルス周期レジスタ152に設定された値と一致したら、次のクロック信号CLKの立ち上がりタイミングでPWM信号164の信号レベルをハイ(High)レベルに変化させるとともに、パルス幅バッファ154に書き込み信号を出力してパルス幅レジスタ153の値を書き込ませる。このとき、パルス発生回路156は更に、カウンタ157にリセット信号を出力してカウンタ値C_VALを初期値“1”にする。その後、パルス発生回路156はカウンタ値C_VALがパルス幅バッファ154の値に一致したら、クロック信号CLKの次の立ち上がりタイミングでPWM信号164の信号レベルをロー(Low)レベルに変化させる。なお、パルス幅として設定できる値はゼロからパルス周期の値までである。パルス幅がゼロである場合にはPWM信号164は1周期の間全てローレベルの信号(デューティ比0%)となり、パルス幅がパルス周期と同じ値である場合には1周期の間全てハイレベルの信号(デューティ比100%)となる。PWM信号164の具体的に生成方法について、図2を用いて詳細に説明する。
図2は、PWMタイマ15の動作タイミングの一例を示すタイミングチャートである。
同図において、制御レジスタ151にはパルス出力を行う設定がなされているとする。同図では、理解を容易にするため、パルス幅の異なる2つのPWM信号のパルス周期が極めて短い値とした場合を示しているが、これに限られない。例えば、実動作ではクロック信号CLKの周波数を20MHzとすると、PWM信号164は20kHz程度のパルス周期であり、1000サイクルとなる。なお、同図ではクロック信号CLKにクロックサイクルを表す番号を付している。
同図において、内部バス13に出力される信号は、レディ信号RDY、コマンド信号CMD、アドレス信号A、及びライトデータWDである。例えば、前記レディ信号RDYはバスコマンドCMDが有効か無効かを示し、有効な場合は“1(High)”、無効な場合は“0(Low)”となる。バスコマンドCMDはCPU11のアクセスの種類を示し、“W”は書き込み命令、“N”は何もしないことを示す命令(NOP:No Operation)を表す。アドレスAはCPU11がアクセスする対象であるレジスタやメモリのアドレスである。ライトデータWDはアドレスAで指定したレジスタ等に書き込むデータである。
同図に示されるように、クロックサイクル1において、CPU11は内部バス13にライトコマンドWとアドレスA1を出力する。アドレスA1は、パルス周期レジスタ152のアドレスである。次のクロックサイクル2でCPU11はライトデータD1を出力する。そして、クロックサイクル3においてライトデータD1がパルス周期レジスタ152に書き込まれると、カウンタ157がカウントを開始する。また、クロックサイクル3においてCPU11は内部バス13にライトコマンドWとアドレスA2を出力する。アドレスA2は、パルス幅レジスタ153のアドレスである。次のクロックサイクル4でCPU11はライトデータD2を出力し、クロックサイクル5においてライトデータD2がパルス幅レジスタ153に書き込まれる。また、クロックサイクル7においてもCPU11によるパルス幅レジスタ153へのライトアクセスが行われ、ライトデータD3(=3)が書き込まれる。
パルス発生回路156は、クロックサイクル6でカウンタ157の値がパルス周期レジスタ152の値D1(=4)と一致すると、次のクロックサイクル7でPWM信号154の信号レベルをハイレベルにするとともに、カウンタ157を初期値“1”にリセットし、パルス幅レジスタ153の値D2(=2)をパルス幅バッファ154に書き込む。その後、クロックサイクル8において、カウンタ157の値がパルス幅バッファ154の値“2”と一致すると、パルス発生回路156はPWM信号164の信号レベルをローレベルにする。仮に、パルス発生回路156がパルス幅バッファ154ではなく前記パルス幅レジスタ153に基づいてパルス幅を決定すると、PWM信号が立ち下がるタイミングより前のタイミングで前記パルス幅レジスタ153に書き込みが行われた場合には、出力中のPWM信号のパルス幅としてパルス幅レジスタ153の値が反映されるが、パルスの立ち下がるタイミングより後に書き込みが行われた場合には、その時点で出力中のPWM信号のパルス幅としてパルス幅レジスタ153の値を反映することができない。すなわち、CPU11がパルス幅レジスタ153に書き込みを行うタイミングとパルスの立ち下がりのタイミングが前後することにより、パルス幅レジスタ153に設定された値がPWM信号に反映されない場合がある。このような現象が生じるのを防ぐために、PWMタイマ15では、パルス幅レジスタ153の値を次のパルス周期の開始されるタイミング(例えば、図2におけるクロックサイクル7及びクロックサイクル11)でパルス幅バッファ154に書き込み、パルス幅バッファ154に設定された値に基づいてPWM信号のパルス幅を決定する。
その後、クロックサイクル10においてカウンタ157の値がパルス周期レジスタ152の値“4”と一致すると、次のクロックサイクル11においてPWM信号164の信号レベルをハイレベルにするとともに、カウンタ154を初期値“1”にリセットし、パルス幅レジスタ153の値D3(=3)をパルス幅バッファ154に書き込む。そして、クロックサイクル13において、カウンタ157の値がパルス幅バッファ154の値“3”と一致すると、次のクロックサイクル14においてパルス発生回路156はPWM信号164の信号レベルをローレベルにする。
以上の処理を繰り返す行うことにより、PWMタイマ15はCPU11によって設定されたPWM信号の生成条件にしたがってPWM信号を生成する。
次に、PWMタイマ15の診断機能について説明する。PWMタイマ15は、診断機能部201として、例えば、フリップフロップ回路(FF)158、パルス選択回路(SLCTR)159、エッジ検出回路(DTCT_EDG)160、比較回路(CMP)161、状態レジスタ(REG_ST)162、及び割り込み発生回路(INT)163を有する。
パルス選択回路159は、入力したPWM信号から診断対象のPWM信号を選択してエッジ検出回路160に出力する。例えばパルス選択回路159は、パルス生成回路156から出力されたPWM信号164と、外部入力端子PINから入力された外部PWM信号165とを入力し、いずれかのPWM信号を選択して出力する。どちらのPWM信号を選択するかは、例えば、制御レジスタ151に設定された前記パルス選択情報に応じて決定される。
エッジ検出回路160は、パルス選択回路159によって選択されたPWM信号166の立ち上がりエッジ及び立ち下がりエッジを検出し、エッジ検出信号を出力する。フリップフロップ回路158はカウンタ値C_VALをクロック信号CLKの1サイクル分遅らせたカウンタ値(以下、カウンタ遅延値、とも称する。)CD_VALを出力する。
比較回路161は、エッジ検出回路160からのエッジ検出信号に応じて、立ち上がりエッジが検出されたときのFF158のカウンタ遅延値CD_VALと、立ち下がりエッジが検出されたときのフリップフロップ回路158のカウンタ遅延値CD_VALとを取り込む。そして、立ち上がりエッジが検出されたときのフリップフロップ回路158の値と前記パルス周期レジスタ152の値とを比較して一致するか否かを判別するとともに、立ち下がりエッジが検出されたときのフリップフロップ回路158の値と前記パルス幅レジスタ153に設定された値とを比較して一致するか否かを判別する。その判別の結果は、状態レジスタ162に出力される。
状態レジスタ162は、比較回路161が不一致を検出したか否かを示す故障検出ビットを備える。例えば、比較回路161がパルス周期又はパルス幅の不一致を検出した場合には、エラーを示す値を保持し、その後もその値を保持し続ける。
割り込み発生回路163は、状態レジスタ162を監視し、状態レジスタ162にエラーを示す情報が設定されたら、割り込みコントローラ14に対して割り込み要求を発行する。比較回路161がパルス周期又はパルス幅の不一致を検出した場合に割り込みを発生させるか否かは、制御レジスタ151に設定された前記割り込み発生制御情報にしたがって決定される。
PWM信号の診断に係る動作タイミングについて、前述の図2を用いて詳細に説明する。同図では、一例として、パルス選択回路159がPWM信号164を選択して出力するものとする。
図2に示されるように、クロックサイクル9においてエッジ検出回路160がPWM信号164の立ち下がりエッジを検出すると、比較回路161はカウンタ遅延値CD_VAL(=2)とパルス幅バッファ153の値とを比較する比較処理C1を行う。すなわち、パルスの立ち上がりのタイミングとカウンタ157によるカウント開始のタイミングを合わせていること、及びカウント値C_VALを遅延させたカウント遅延値CD_VALを生成することにより、立ち下がりエッジのタイミングにおけるカウンタ遅延時CD_VALの値をPWM信号164のパルス幅の値として読み取ることができる。したがって、当該タイミングで読み取ったカウント遅延値CD_VALとパルス幅バッファ153の値とを比較することで、設定通りのパルス幅のPWM信号が生成されているか否かを判別することができる。
その後、クロックサイクル11においてエッジ検出回路160がPWM信号164の立ち上がりエッジを検出すると、カウンタ遅延値CD_VALとパルス周期レジスタ152の値を比較する比較処理C2を行う。すなわち、前述したように、パルスの立ち上がりのタイミングとカウンタ157によるカウント開始のタイミングを合わせていること、及びカウント値C_VALを遅延させたカウント遅延値CD_VALを生成することにより、立ち上がりエッジのタイミングにおけるカウンタ遅延時CD_VALの値をPWM信号164のパルス周期の値として読み取ることができる。したがって、当該タイミングで読み取ったカウント遅延値CD_VALとパルス周期レジスタ152の値とを比較することで、設定通りのパルス周期のPWM信号が生成されているか否かを判別することができる。
同様の方法により、クロックサイクル14においてパルス幅の比較の処理(C3)が行われ,クロックサイクル15においてパルス周期の比較の処理(C4)が行われる。
以上実施の形態1に係るマイクロコントローラ1によれば、PWM信号のパルス幅とパルス周期を検出することにより、PWM信号がCPU11によって設定された生成条件通りに生成されているか否かを診断することができ、PWMタイマ15の詳細な故障診断が可能となる。また、CPU11ではなくエッジ検出回路160や比較回路161等によって前記診断のための処理を実現するから、CPU11の処理負担を増加させることなく、PWMタイマ15の故障判定を行うことができる。
またマイクロコントローラ1によれば、例えば、外部出力端子POUTと外部入力端子PINをマイクロコントローラ1の外部で電気的に接続することで、パルス発生回路156で生成したPWM信号164を、外部入力端子PINを介して入力し、入力したPWM信号の診断を行うことも可能である。これによれば、外部出力端子POUTからPWM信号164を出力する出力機能と、外部入力端子PINからPWM信号を入力する入力機能が正常であるか否かの診断も行うことができる。
マイクロコントローラ1によれば、PWM信号のエラーを検出したときに割り込みを発生させるか否かを、制御レジスタ151の前記割り込み発生制御情報によって決定することができるから、システム設計の自由度が増す。例えば、割り込み要求を発生させない設定にすることで、CPU11がPWM信号のエラーが検出されたときには実行中の処理を中断せず、その処理が完了してから前記エラー検出に応じた処理を行うようなシステムとすることが可能となる。この場合、例えば、CPU11が定期的に状態レジスタ162をアクセスしてその値を監視するように設計すればよい。
更に、マイクロコントローラ1は、PWM信号を生成する機能部とPWM信号を診断する機能部とがPWMタイマ15内に構成されるので、PWM信号を生成する機能部とPWM信号を診断する機能部との間で回路を供用することができる。例えば、PWM信号を診断する機能部は、パルス周期レジスタ152、パルス幅レジスタ153、及びパルス幅バッファ154の値を診断のためのリファレンスとして利用することができるので、別途、前記生成条件を設定するためのレジスタ等を設ける必要がない。同様に、PWM信号を生成するための基準となるカウンタ157のカウント値C_VALを利用してカウンタ遅延値CD_VALを生成することで、診断機能のために別途、カウンタを設ける必要がない。したがって、マイクロコントローラ1によれば、既存のPWMタイマ15に診断機能を追加したことによるチップ面積の増加を抑えることができる。特にPWMタイマ15を新規設計する場合に、有効な手段と言える。
≪実施の形態2≫
図3は、実施の形態2に係る、PWMタイマ機能とその診断機能を備えるマイクロコントローラの一例を示すブロック図である。
実施の形態1では、PWMタイマ15がPWM信号を生成する機能部とPWM信号を診断する機能部とを備える構成としたが、実施の形態2では、PWM信号を診断する機能部をPWMタイマから独立した別の回路モジュールとする。
図3に示されるように、マイクロコントローラ2は、PWMタイマ21に加え、PWM信号診断部20を有する。なお、同図において、図1のマイクロコントローラ1と同一の構成要素には同一の符号を付して、その詳細な説明を省略する。
PWM信号診断部20は、パルス選択回路(SLCTR)159、カウンタ(CNTR)172、エッジ検出回路(DTCT_EDG)171、立ち上がりエッジレジスタ(REG_REDG)173、比較回路(CMP)176、状態レジスタ(REG_ST)162、制御レジスタ(REG_CNT)174、及び割り込み発生回路(INT)163を有する。
制御レジスタ174には、前記パルス選択情報と、前記割り込み発生制御情報と、前記比較処理制御情報とが、内部バス13を介してCPU11によって設定される。なお、PWMタイマ21内の制御レジスタ151には、前記パルス出力制御情報が設定される。
カウンタ172はPWMタイマ21のカウンタ157とは独立してクロック信号CLKをカウントする。カウンタ172は、カウンタ157と同様にPWM信号164の1周期毎に初期化するカウンタでもよいが、ここでは、初期化を行わないフリーランニングカウンタとする場合を例示する。
パルス選択回路159は、制御レジスタ174に設定された前記パルス選択情報に応じたPWM信号を選択し、エッジ検出回路171に与える。エッジ検出回路171は、パルス選択回路159によって選択されたPWM信号166の立ち上がりエッジ及び立ち下がりエッジを検出する。エッジ検出回路171は、選択されたPWM信号の立ち下がりエッジを検出すると、立ち上がりエッジレジスタ173に対してカウンタ172のカウント値CF_VALの書き込みを指示するとともに、比較回路176に対して比較処理の実行を指示する。また、エッジ検出回路171は、選択されたPWM信号の立ち上がりエッジを検出した場合も同様に、比較回路176に対して比較処理の実行を指示する。
立ち上がりエッジレジスタ173は、エッジ検出回路171からの書き込みの指示に応じて、そのときのカウント値CF_VALを保持する。
比較回路176は、エッジ検出回路171が立ち上がりエッジを検出したときに出力する比較処理の実行の指示を受けとると、そのときのカウンタ172のカウント値CF_VALと、立ち上がりエッジレジスタ173の値を取得し、取得した値に基づいてPWM信号166のパルス周期を算出するとともに、算出したパルス周期の値とPWMタイマ21におけるパルス周期レジスタ152の値を比較し、比較の結果を状態レジスタ162に出力する。パルス周期の算出は、例えば、立ち上がり時に取得したカウント値CF_VALから前記立ち上がりエッジレジスタ173の値を減算することにより行う。また、比較回路176は、エッジ検出回路171による立ち下がりエッジ検出時の比較処理の実行の指示を受けると、そのときのカウンタ172のカウント値CF_VALと、立ち上がりエッジレジスタ173の値を取得し、取得した値に基づいてPWM信号166のパルス幅を算出するとともに、算出したパルス幅の値とPWMタイマ21におけるパルス幅バッファ154の値を比較し、比較の結果を状態レジスタ162に出力する。パルス幅の算出は、例えば、立ち下がり時に取得したカウント値CF_VALから前記立ち上がりエッジレジスタ173の値を減算することにより行う。なお、比較回路176が比較処理を行うか否かは、制御レジスタ174に設定された前記比較処理制御情報にしたがって決定される。
状態レジスタ162は、実施の形態1と同様に、比較回路176がパルス周期又はパルス幅の不一致を検出した場合には、エラーを示す値を保持し、その後もその値を保持し続ける。割り込み発生回路163は、状態レジスタ162を監視し、状態レジスタ162にエラーを示す情報が設定されたら、割り込みコントローラ14に対して割り込み要求17を発行する。パルス周期又はパルス幅の不一致を検出した場合に割り込みを発生させるか否かは、制御レジスタ174に設定された前記割り込み発生制御情報にしたがって決定される。
図4は、PWMタイマ21とPWM信号診断部20の動作タイミングの一例を示すタイミングチャートである。同図では、前述の図2と同様に、制御レジスタ151にはパルス出力を行う設定がなされているものとし、パルス選択回路159がPWM信号164を選択して出力するものとする。なお、同図ではクロック信号CLKにクロックサイクルを表す番号を付している。
同図において、PWM信号164の生成タイミングは図2と同様である。クロックサイクル7において、エッジ検出回路171がPWM信号164の立ち上がりエッジを検出すると、次のクロックサイクル8において、立ち上がりエッジレジスタ173にカウンタ172のカウント値CF_VAL(=42)が書き込まれる。その後、クロックサイクル9において、エッジ検出回路171がPWM信号164の立ち下がりエッジを検出すると、比較回路176はパルス幅を算出するとともに、算出結果とパルス幅バッファ154の値と比較する比較処理C1を行う。同図の場合、立ち下がりエッジ検出時のカウンタ値CF_VAL(=44)から前記立ち上がりエッジレジスタ173の値(=42)を減算した値(=2)がPWM信号164のパルス幅の値となり、パルス幅バッファ154の値D2(=2)と一致する。
その後、クロックサイクル11において、エッジ検出回路171がPWM信号164の立ち上がりエッジを検出すると、比較回路176はパルス周期を算出するとともに、算出結果とパルス周期レジスタ152の値と比較する比較処理C2を行う。同図の場合、立ち上がりエッジ検出時のカウンタ値CF_VAL(=46)から前記立ち上がりエッジレジスタ173の値(=42)を減算した値(=4)がPWM信号164のパルス周期の値となり、パルス周期レジスタ152の値D1(=4)と一致する。また、エッジ検出回路171がPWM信号164の立ち上がりエッジを検出した次のクロックサイクル12において、立ち上がりエッジレジスタ173にカウンタ172のカウント値CF_VAL(=46)が書き込まれる。同様の方法により、クロックサイクル14においてパルス幅の比較の処理が行われ,クロックサイクル15においてパルス周期の比較の処理が行われる。
以上実施の形態2に係るマイクロコントローラ2によれば、実施の形態1と同様に、CPU11の処理負担を増加させることなく、PWMタイマ21のより詳細な故障判定を行うことができる。また、マイクロコントローラ2はPWMタイマ21から独立した回路モジュールとしてPWM診断回路20を備えるから、既存の設計資産を用いてPWMタイマ21を設計した場合であっても、PWMタイマ部分の改造が少なくて済むという利点がある。また、PWMタイマ21とPWM診断回路20を同一の半導体チップ内に構成した場合、夫々の回路ブロックを分離させて配置させることで、信頼性をより高めることが可能となる。仮にPWMタイマ21とPWM診断回路20を別個の半導体チップで構成した場合、診断対象と診断主体との独立性を担保することができるから、より高い信頼性を要求する安全規格に適合させることが可能となる。
≪実施の形態3≫
図5は、実施の形態3に係る、PWMタイマ機能とその診断機能を備えるマイクロコントローラの一例を示すブロック図である。同図において、マイクロコントローラ1及び2と同一の構成要素には同一の符号を付して、その詳細な説明を省略する。
同図に示されるマイクロコントローラ3は、PWM診断部30の内部に、PWM信号の診断に利用するPWM信号の生成条件の情報を格納するためのレジスタを備える。
PWM信号診断部30は、パルス選択回路(SLCTR)159、カウンタ(CNTR)172、エッジ検出回路(DTCT_EDG)171、立ち上がりエッジレジスタ(REG_REDG)173、比較回路(CMP)186、レジスタ制御回路170、状態レジスタ(REG_ST)162、制御レジスタ(REG_CNT)174、スヌープレジスタ(REG_SNP_A)181、スヌープレジスタ(REG_SNP_B)182、パルス周期レジスタ(REG_PRD)183、パルス幅レジスタ(REG_PW)184、パルス幅バッファ185、及び割り込み発生回路(INT)163を有する。
制御レジスタ174には、前記パルス選択情報、前記割り込み発生制御情報、及び前記比較処理制御情報に加え、後述するレジスタ制御部170によるスヌープ機能を有効にするか否かを示す情報(以下、スヌープ制御情報、とも称する。)が設定される。
パルス周期レジスタ183は、PWMタイマ21のパルス周期レジスタ152に設定されるPWM信号のパルス周期を示す情報が設定される。パルス幅レジスタ184は、PWMタイマ21のパルス幅レジスタ153に設定されるPWM信号のパルス幅を示す情報が設定される。パルス周期レジスタ183及びパルス幅レジスタ184の設定は、例えば、レジスタ制御部170のスヌープ機能によって実現される。
レジスタ制御回路170は、内部バス13上に出力されるアドレス値を監視し、出力されたアドレス値に対応するPWM診断部30内のレジスタに、前記内部バス13上に出力されたライトデータを書き込む。例えば、内部バス13上に制御レジスタ174のアドレス値が出力されたら、前記内部バス13上に出力されたライトデータを取得し、制御レジスタ174に書き込む。
また、レジスタ制御部170はスヌープ機能を備える。具体的には、レジスタ制御部170は、スヌープレジスタ181、182に格納された値に応じたアドレス値が内部バス上13に出力されたら、内部バス13に出力されたライトデータを取得し、スヌープレジスタ181、182に対応づけられた所定のレジスタに前記取得したライトデータを書き込む。スヌープレジスタ181、182には、スヌープ対象のレジスタ等のアドレス値が設定される。例えば、スヌープレジスタ181にPWMタイマ21内のパルス周期レジスタ152のアドレス値が設定され、スヌープレジスタ181がパルス周期レジスタ183に対応づけられている場合、レジスタ制御部170は、内部バス13上にパルス周期レジスタ152のアドレス値が出力されたら、そのライトデータを取得し、取得したライトデータをパルス周期レジスタ183に書き込む。また、例えば、スヌープレジスタ182にPWMタイマ21内のパルス幅レジスタ153のアドレス値が設定され、スヌープレジスタ182がパルス幅レジスタ184に対応づけられている場合、レジスタ制御部170は、内部バス13上にパルス幅レジスタ153のアドレス値が出力されたら、そのライトデータを取得し、取得したライトデータをパルス周期レジスタ184に書き込む。これによれば、PWM信号の診断のために、CPU11がパルス周期レジスタ183及びパルス幅レジスタ184に前記生成条件を設定する必要がないから、PWM信号の診断に係るCPU11の処理負担の増加を抑えることができる。なお、レジスタ制御部170によるスヌープ機能を有効にするか否かは、制御レジスタ174に設定された前記スヌープ機能制御情報によって決定される。スヌープ機能を有効にしない場合には、例えば、パルス周期レジスタ183とパルス幅レジスタ184に固有のアドレスを割り当て、CPU11がそのアドレスを指定してアクセスできるようにすることも可能である。
比較回路186は、エッジ検出回路171が立ち上がりエッジを検出したときに出力する比較処理の実行の指示を受けとると、そのときのカウンタ172のカウント値CF_VALと、立ち上がりエッジレジスタ173の値を取得し、取得した値に基づいてPWM信号166のパルス周期を算出するとともに、算出したパルス周期の値とパルス周期レジスタ183の値を比較し、比較の結果を状態レジスタ162に出力する。パルス周期の算出は、例えば、立ち上がり時に取得したカウント値CF_VALから前記立ち上がりエッジレジスタ173の値を減算することにより行う。また、比較回路186は、エッジ検出回路171が立ち下がりエッジを検出したときに出力する比較処理の実行の指示を受けとると、そのときのカウンタ172のカウント値CF_VALと、立ち上がりエッジレジスタ173の値を取得し、取得した値に基づいてPWM信号166のパルス幅を算出するとともに、算出したパルス幅の値とパルス幅バッファ185の値を比較し、比較の結果を状態レジスタ162に出力する。パルス幅の算出は、例えば、立ち下がり時に取得したカウント値CF_VALから前記立ち上がりエッジレジスタ173の値を減算することにより行う。
図6は、PWMタイマ21とPWM診断部30の動作タイミングの一例を示すタイミングチャートである。同図では、前述の図2及び図4と同様に、制御レジスタ151にはパルス出力を行う設定がなされているものとし、パルス選択回路159がPWM信号164を選択して出力するものとする。また、PWM診断部308のスヌープレジスタ181にはPWMタイマ21のパルス周期レジスタ152のアドレス(A1)が書き込まれており、スヌープレジスタ182にはPWMタイマ21のパルス幅レジスタ153のアドレス(A2)が書き込まれているものとする。なお、同図ではクロック信号CLKにクロックサイクルを表す番号を付している。
同図において、PWM信号164の生成タイミングは図2及び図4と同様である。クロックサイクル1において内部バス13上にコマンド信号W及びアドレスA1が出力されると、レジスタ制御部170は、次のクロックサイクル2で出力されたライトデータD1(=4)を取得して、クロックサイクル3においてパルス周期レジスタ183にライトデータD1を書き込む。また、クロックサイクル3において、内部バス13上にコマンド信号W及びアドレスA2が出力されると、レジスタ制御部170は、次のクロックサイクル4で出力されたライトデータD2(=2)を取得して、クロックサイクル5においてパルス幅レジスタ184にライトデータD2を書き込む。これにより、PWMタイマ21に設定された生成条件と同一の条件が、PWM信号診断部30に設定される。
クロックサイクル7において、エッジ検出回路171がPWM信号164の立ち上がりエッジを検出すると、次のクロックサイクル8において、立ち上がりエッジレジスタ173にカウンタ172のカウント値CF_VAL(=42)が書き込まれるとともに、パルス幅バッファ185にパルス幅レジスタ183の値が書き込まれる。その後、クロックサイクル9において、エッジ検出回路171がPWM信号164の立ち下がりエッジを検出すると、比較回路186はパルス幅を算出するとともに、算出結果とパルス幅バッファ185の値と比較する比較処理C1を行う。同図の場合、立ち下がりエッジ検出時のカウンタ値CF_VAL(=44)から前記立ち上がりエッジレジスタ173の値(=42)を減算した値(=2)がPWM信号164のパルス幅の値となり、パルス幅バッファ185の値D2(=2)と一致する。
その後、クロックサイクル11において、エッジ検出回路171がPWM信号164の立ち上がりエッジを検出すると、比較回路186はパルス周期を算出するとともに、算出結果とパルス周期レジスタ183の値と比較する比較処理C2を行う。同図の場合、立ち上がりエッジ検出時のカウンタ値CF_VAL(=46)から前記立ち上がりエッジレジスタ173の値(=42)を減算した値(=4)がPWM信号164のパルス周期の値となり、パルス周期レジスタ183の値D1(=4)と一致する。また、エッジ検出回路171がPWM信号164の立ち上がりエッジを検出した次のクロックサイクル12において、立ち上がりエッジレジスタ173にカウンタ172のカウント値CF_VAL(=46)が書き込まれる。同様の方法により、クロックサイクル14においてパルス幅の比較の処理が行われ、クロックサイクル15においてパルス周期の比較の処理が行われる。
以上実施の形態3に係るマイクロコントローラ3によれば、実施の形態1、2と同様に、CPU11の処理負担を増加させることなく、PWMタイマ21のより詳細な故障判定を行うことができる。また、マイクロコントローラ3は、PWM信号診断部30内にパルス周期レジスタ183、パルス幅レジスタ184、及びパルス幅バッファ185を備えることで、PWMタイマ21が備えるパルス周期レジスタ152、パルス幅レジスタ153、及びパルス幅バッファ154と独立してPWM信号の期待値を持つことができる。これにより、実施の形態2に係るPWM信号診断部20よりも更に信頼性を向上させることができる。独立したPWM信号診断部30内に上記レジスタ183〜185を設けたことにより、CPU11による当該レジスタ183〜185に対する書き込み処理が必要になるところ、マイクロコントローラ3によれば、PWM診断部30が前記スヌープ機能を備えるので、CPU11による上記レジスタ183〜185に対する書き込み処理が不要となり、CPU11の処理負担の増加を抑えることができる。
≪実施の形態4≫
図7は、実施の形態4に係る、PWMタイマ機能とその診断機能を備えるマイクロコントローラの一例を示すブロック図である。同図において、マイクロコントローラ1乃至3と同一の構成要素には同一の符号を付して、その詳細な説明を省略する。
同図に示されるマイクロコントローラ4は、PWM信号の生成条件としてデューティ比0%、100%が設定された場合であってもPWM信号の診断を可能とする。
PWM信号のパルス幅が0(ゼロ)となる場合(デューティ比0%の場合)には、PWM信号の1周期の期間の信号レベルが全てローレベルとなり、1つ前のPWM信号との間に立ち上がりエッジが発生しない。図8にデューティ比0%のPWM信号を生成する場合を例示する。
同図には、PWMタイマ21内のパルス周期レジスタ152にパルス周期D1(=4)を設定し、パルス幅レジスタ153に設定するパルス幅をD2(=2)からD3(=0)に変化させた場合のPWM信号の変化が示される。この場合、パルス幅バッファ154にパルス幅レジスタ153の値D3が設定されるクロックサイクル11においてPWM信号164が立ち上がらないため、クロックサイクル11〜14でPWM信号164のパルス幅がゼロとなる。
また、パルス幅とパルス周期とが一致する場合(デューティ比100%の場合)には、PWM信号の1周期の期間の信号レベルが全てハイレベルとなり、次に発生するPWM信号との間に立ち下がりエッジが発生しない。図9にデューティ比100%のPWM信号を生成する場合を例示する。
同図には、PWMタイマ21内のパルス周期レジスタ152にパルス周期D1(=4)を設定し、パルス幅レジスタ153に設定するパルス幅をD2(=2)からD3(=4)に変化させた場合のPWM信号の変化が示される。この場合、パルス幅バッファ154にパルス幅レジスタ153の値D3が設定されるクロックサイクル11においてPWM信号164が立ち上がってから、その後立ち下がらないため、クロックサイクル15でパルスが発生しない。
以上のように、PWM信号のデューティ比が0%又は100%の場合には、PWM信号にエッジが発生しないため、PWM信号の診断を行うことが困難である。そこで、実施の形態4に係るPWM診断部40では、実施の形態3に係るPWM信号診断部30の構成要素に加えて、パルス補正回路(P_REV)191を備え、パルス補正回路191によってPWM信号を補正し、補正後のPWM信号190に基づいて診断処理を行う。
パルス補正回路191は、パルス周期レジスタ値183、パルス幅レジスタ184、及びパルス幅バッファ185を監視し、これらに設定されたPWM信号の生成条件に応じて、パルス選択回路159から出力されたPWM信号166を補正してエッジ検出回路171に出力する。例えば、パルス補正回路191は、パルス幅レジスタ184に設定されたパルス幅がゼロである場合と、パルス幅バッファ185に設定されたパルス幅とパルス周期レジスタ183に設定されたパルス周期が一致する場合には、入力したPWM信号166を補正した信号をPWM信号190として出力し、上記2つの生成条件以外の条件が設定された場合には、入力したPWM信号166を補正せず、PWM信号190として出力する。
パルス補正回路191によるPWM信号の補正方法について図10及び図11を用いて具体的に説明する。
図10は、デューティ比0%のPWM信号の診断を行う場合のPWM診断部40の動作タイミングの一例を示すタイミングチャートである。同図では、前述の図6と同様に、制御レジスタ151にはパルス出力を行う設定がなされているものとし、パルス選択回路159がPWM信号164を選択して出力するものとする。また、PWM診断部40のスヌープレジスタ181にはPWMタイマ21のパルス周期レジスタ152のアドレス(A1)が書き込まれており、スヌープレジスタ182にはPWMタイマ21のパルス幅レジスタ153のアドレス(A2)が書き込まれているものとする。
同図に示されるように、前記スヌープ機能により、クロックサイクル3においてパルス周期レジスタ183にパルス周期D1(=4)が設定され、クロックサイクル5においてパルス幅レジスタ184にパルス幅D2(=2)が設定される。この生成条件の場合、パルス補正回路191は入力されたPWM信号164の補正は行わない。すなわち、クロックサイクル7からクロックサイクル10の期間において、パルス補正回路191はPWM信号164をPWM信号190として出力する。
その後、クロックサイクル9においてパルス幅レジスタ184にパルス幅D3(=0)が設定されると、パルス補正回路191は、1つ前の周期のPWM信号の立ち上がりエッジ(クロックサイクル7)から1周期分経過したタイミング(クロックサイクル11)で仮想立ち上がりエッジ信号を生成する。具体的には、パルス補正回路191は、立ち上がりエッジレジスタ173の値とパルス周期レジスタ183の値とを加算した値がカウンタ値CF_VALと一致したら、前記仮想立ち下がりエッジ信号を生成する。例えば、クロックサイクル11において、立ち上がりエッジレジスタ173の値(=42)とパルス周期レジスタ183の値(=4)を加算した値(=46)とカウンタ値CF_VAL(=46)とが一致するので、このタイミングでパルス補正回路191が前記仮想立ち上がりエッジ信号を生成する。同図では、前記仮想立ち上がりエッジ信号のパルス幅を、クロック信号CLKの1クロックサイクル分のパルス幅とする例が示されている。前記仮想立ち上がりエッジ信号は上記タイミングで立ち上がる信号であればそのパルス幅に特に制限はないが、前記仮想立ち上がりエッジ信号のパルス幅をクロック信号CLKの1クロックサイクル分のパルス幅とすることで、前記仮想立ち上がりエッジ信号の生成が容易となるため、パルス補正回路191の回路構成の簡素化を図ることができるという利点がある。
パルス補正回路191は、上記の方法で生成した前記仮想立ち上がりエッジ信号と入力されたPWM信号164との論理和をとった信号をPWM信号190として出力する。すなわち、クロックサイクル11からクロックサイクル14の1周期の期間に、クロックサイクル11のタイミングで1クロックサイクル分だけハイレベルとなるPWM信号190が生成される。その後のクロックサイクル15のタイミングでも同様の補正が行われる。これにより、デューティ比0%のPWM信号164が生成された場合であっても、補正後のPWM信号190を用いてエッジ検出を行うことができる。
図11は、デューティ比100%のPWM信号の診断を行う場合のPWM診断部40の動作タイミングの一例を示すタイミングチャートである。同図では、前述の図10と同様に、制御レジスタ151にはパルス出力を行う設定がなされているものとし、パルス選択回路159がPWM信号164を選択して出力するものとする。また、PWM診断部40のスヌープレジスタ181にはPWMタイマ21のパルス周期レジスタ152のアドレス(A1)が書き込まれており、スヌープレジスタ182にはPWMタイマ21のパルス幅レジスタ153のアドレス(A2)が書き込まれているものとする。
同図に示されるように、クロックサイクル8までの動作タイミングは図10と同様である。クロックサイクル9においてパルス幅レジスタ184にパルス幅D3(=4)が設定されると、パルス補正回路191は、次のPWM信号164の立ち上がりエッジのタイミング(クロックサイクル11)からパルス周期より短い期間が経過したタイミング(クロックサイクル14)で仮想立ち下がりエッジ信号を生成する。具体的には、パルス補正回路191は、立ち上がりエッジレジスタ173の値とパルス周期レジスタ183の値とを加算した値から“1(1クロックサイクル分)”だけ減算した値と、カウンタ値CF_VALとが一致したら、前記仮想立ち下がりエッジ信号を生成する。例えば、クロックサイクル14において、立ち上がりエッジレジスタ173の値(=46)とパルス周期レジスタ183の値(=4)を加算した値(=50)から“1”だけ減算した値(=49)が、カウンタ値(=49)に一致するので、このタイミングでパルス補正回路191が前記仮想立ち下がりエッジ信号を生成する。上記の減算する値“1(1クロックサイクル分)”は、前記仮想立ち下がりエッジ信号のパルス幅を規定する値である。上記の例では、減算する値を“1(1クロックサイクル分)”としたが、デューティ比100%のPWM信号164の1周期が経過する前に前記仮想立ち下がり信号が生成されるのであれば、その値に制限はない。すなわち、前記仮想立ち下がりエッジ信号のパルス幅に特に制限はないが、パルス幅をクロック信号CLKの1クロックサイクル分のパルス幅とすることで、仮想立ち下がりエッジ信号の生成が容易となるため、パルス補正回路191の回路構成の簡素化を図ることができるという利点がある。
パルス補正回路191は、上記の方法で生成した前記仮想立ち下がりエッジ信号の反転信号を生成し、その反転信号と入力されたPWM信号164との論理積をとった信号をPWM信号190として出力する。すなわち、クロックサイクル14のタイミングで1クロックサイクル分だけローレベルとなるPWM信号190が生成される。これにより、デューティ比100%のPWM信号164が生成された場合であっても、補正後のPWM信号190を用いてエッジ検出を行うことができる。
エッジ検出回路171は、実施の形態3と同様に、パルス補正回路191から出力されたPWM信号190の立ち上がりエッジを検出すると、立ち上がりエッジレジスタ173に対してカウンタ172のカウント値CF_VALの書き込みを指示するとともに、比較回路186に対して比較処理の実行を指示する。また、エッジ検出回路171は、PWM信号190の立ち上がりエッジを検出した場合も同様に、比較回路176に対して比較処理の実行を指示する。
比較回路192は、パルス周期レジスタ183、パルス幅レジスタ184、及びパルス幅バッファ185を監視し、上記2つの生成条件(デューティ比0%、デューティ比100%)以外の条件が設定された場合には、実施の形態3と同様の方法で比較処理を実行し、比較の結果を状態レジスタ162に出力する。
一方、デューティ比0%の生成条件(パルス幅レジスタ184の値がゼロ)が設定された場合の比較回路192の処理内容は以下となる。エッジ検出回路171がPWM信号190の立ち上がりエッジを検出すると、比較回路192はパルス周期を算出するとともに、算出結果とパルス周期レジスタ152の値と比較する比較処理を行う。例えば、図10の場合、クロックサイクル11において、立ち上がりエッジ検出時のカウンタ値CF_VAL(=46)から前記立ち上がりエッジレジスタ173の値(=42)を減算した値(=4)がPWM信号164のパルス周期の値となるので、減算した値(=4)とパルス周期レジスタ183の値D1(=4)とが一致するか否かを判別する。また、エッジ検出回路171がPWM信号190の立ち下がりエッジを検出すると、比較回路192はパルス幅を算出するとともに、算出結果とパルス周期レジスタ152の値と比較する比較処理を行う。例えば、図10の場合、クロックサイクル12において、立ち下がりエッジ検出時のカウンタ値CF_VAL(=47)から前記立ち上がりエッジレジスタ173の値(=46)を減算した値(=1)が、パルス幅バッファ185の値D3(=0)に“+1”を加算した値と一致するか否かを判別する。すなわち、前述のパルス補正回路190によるPWM信号の補正により、デューティ比0%のPWM信号164が1クロックサイクル分のパルス幅となるPWM信号190に補正されていることを考慮して比較処理を行う。これにより、生成条件に応じてデューティ比0%のPWM信号164が生成されているか否かを判別することができる。
デューティ比100%の生成条件(パルス幅レジスタ184の値がゼロ)が設定された場合の比較回路192の処理内容は以下となる。この場合、エッジ検出回路171がPWM信号190の立ち上がりエッジを検出すると、比較回路192はパルス周期を算出するとともに、算出結果とパルス周期レジスタ152の値と比較する比較処理を行う。例えば、図11の場合、クロックサイクル11において、立ち上がりエッジ検出時のカウンタ値CF_VAL(=46)から前記立ち上がりエッジレジスタ173の値(=42)を減算した値(=4)がPWM信号164のパルス周期となるので、算出した値(=4)とパルス周期レジスタ183の値D1(=4)とが一致するか否かを判別する。また、エッジ検出回路171がPWM信号190の立ち下がりエッジを検出すると、比較回路192はパルス幅を算出するとともに、算出結果とパルス周期レジスタ152の値と比較する比較処理を行う。例えば、図11の場合、クロックサイクル14において、立ち下がりエッジ検出時のカウンタ値CF_VAL(=49)から前記立ち上がりエッジレジスタ173の値(=46)を減算した値(=3)が、パルス幅バッファ185の値D3(=4)に“−1”を加算した値と一致するか否かを判別する。すなわち、前述のパルス補正回路190によるPWM信号の補正により、デューティ比100%のPWM信号164が3クロックサイクル分のパルス幅となるPWM信号190に補正されていることを考慮した比較処理を行う。これにより、生成条件に応じてデューティ比100%のPWM信号164が生成されているか否かを判別することができる。
以上実施の形態4に係るマイクロコントローラ4によれば、実施の形態1乃至3と同様に、CPU11の処理負担を増加させることなくPWMタイマ21のより詳細な故障判定を行うことができる。また、PWM信号診断部40の診断対象からの独立性を担保しつつ、前記スヌープ機能によってCPU11の処理負担の増加を抑えることができる。更に、マイクロコントローラ4によれば、パルス補正回路191を備えることで、パルスエッジが発生しない条件においてもPWMタイマ21の出力の診断が可能となるから、故障検出率を向上させることができ、更なる信頼性の向上を図ることができる。
≪実施の形態5≫
図12は、実施の形態5に係る、PWMタイマ機能とその診断機能を備えるマイクロコントローラの一例を示すブロック図である。同図において、マイクロコントローラ1乃至4と同一の構成要素には同一の符号を付して、その詳細な説明を省略する。
同図に示されるマイクロコントローラ5は、内部バス13とシステムバス52の2つのバスを有し、PWMタイマはシステムバス52に接続される。ここで、前記PWMタイマは、実施の形態1に係る診断機能を備えたPWMタイマ15である。システムバス52は、低速なバスクロック(低速クロック)で動作し、割り込みコントローラ14、PWMタイマ15、バスブリッジ(BUS_BRG)51が接続される。一方、内部バス13は、システムバス52よりも高速なバスクロック(高速クロック)で動作し、CPU11、メモリ12、及びバスブリッジ51が接続される。バスブリッジ51は、内部バス13に接続される回路とシステムバス52に接続される回路との間の通信を制御する。このような階層バス構成は、CPU11が高速動作する場合に特に有効である。例えば、CPU11がシステムバス52に接続されている周辺回路にアクセスすると、そのアクセスが完了するまでCPU11のパイプラインが停止するため処理の無駄が生じる。特に内部バス13とシステムバス52のクロック周波数の比が大きいほど、無駄なサイクル数が増える。そのため、前述の先行検討例のようにCPU11がPWMタイマの診断に係る処理を行うと、処理の無駄が増えるため、CPU11の高速動作を阻害する。一方、本実施の形態に係るマイクロコントローラ5によれば、PWMタイマ15自身が診断機能を備えるので、CPU11によるPWMタイマの診断に係る処理が不要となり、CPU11の高速動作を可能とする。また、階層バス構成とすることで、CPU11とメモリ12は高速なクロックで動作させ、高速に動作する必要のないPWMタイマ15や割り込みコントローラ14等の周辺回路は低速なクロックで動作させることができるから、マイクロコントローラ全体の消費電力を抑えることができる。
≪実施の形態6≫
図13は、実施の形態6に係る、PWMタイマ機能とその診断機能を備えるマイクロコントローラの一例を示すブロック図である。同図において、マイクロコントローラ1乃至5と同一の構成要素には同一の符号を付して、その詳細な説明を省略する。
同図に示されるマイクロコントローラ6は、実施の形態5に係るマイクロコントローラ5と同様に内部バス13とシステムバス52の2つのバスを有し、PWMタイマとPWM信号診断部はシステムバス52に接続される。同図における前記PWMタイマとしては、実施の形態2におけるPWMタイマ21が適用可能であり、前記PWM信号診断部としては、実施の形態2乃至4におけるPWM診断回路20、30、40のいずれかが適用可能である。図13では、一例としてPWM診断部20を適用した場合を代表的に示している。
これによれば、実施の形態5と同様に、CPU11にPWMタイマ21の診断に係る処理負担を低減させることができ、且つマイクロコントローラ全体の消費電力を抑えることができる。特に、スヌープ機能によって実現されるPWM信号診断部30、40へのパルス周期及びパルス幅の期待値設定により、CPU11の診断に係る処理負荷を増加させることがない。
≪実施の形態7≫
図14は、実施の形態7に係る、PWMタイマ機能とその診断機能を備えるマイクロコントローラの一例を示すブロック図である。同図において、マイクロコントローラ1乃至6と同一の構成要素には同一の符号を付して、その詳細な説明を省略する。
同図に示されるマイクロコントローラ7は、実施の形態6に係るマイクロコントローラ6と同様に内部バス13とシステムバス52の2つのバスを有し、PWM信号を生成するPWM信号生成部としてのM(Mは2以上の整数)個のPWMタイマ21_1〜21_Mと1つのPWM信号診断部がシステムバス52に接続される。同図における前記PWMタイマ21_1〜21_Mとしては、実施の形態2におけるPWMタイマ21が適用可能であり、前記PWM信号診断部としては、実施の形態2乃至4におけるPWM診断部20、30、40のいずれかが適用可能である。図14では、一例としてPWM診断部20を適用した場合を代表的に示している。
M個のPWMタイマ21_1〜21_Mによって夫々生成されるPWM信号164_1〜164_Mは、M個の外部出力端子POUT_1〜P_OUTMを介して出力される。また、マイクロコントローラ7は、N個(Nは1以上の整数)の外部入力端子PIN_1〜PIN_Nを有し、マイクロコントローラ外部からのPWM信号(外部PWM信号)165_1〜165_Nの入力を可能にする。
生成されたPWM信号164_1〜164_Mと外部PWM信号165_1〜165_Nは、選択部55に入力される。選択部55は、例えば第1選択回路551と第2選択回路552を有する。第1選択回路551は、PWM信号164_1〜164_Mの夫々を入力するとともに、選択信号56に基づいて、入力した信号のうち何れかの信号を選択し、選択した信号をPWM信号164としてPWM信号診断部20に出力する。第2選択回路552は、外部PWM信号165_1〜165_Nの夫々を入力するとともに、選択信号56に基づいて、入力した信号のうち何れかの信号を選択し、選択した信号を外部PWM信号165としてPWM信号診断部20に出力する。選択信号56、57は、何れのPWM信号を選択して出力するか指示する信号であり、診断パルス選択指示部54から出力される。診断パルス選択回路54は、システムバス52を介して書き込み可能な制御レジスタ541を有し、制御レジスタ541に設定された値にしたがって、信号生成部542が選択信号56、57を生成して出力する。
本マイクロコントローラ7によれば、実施の形態2乃至4と同様に、前記中央処理装置の処理負担を増加させることなく、PWMタイマのより詳細な故障判定を行うことができる。また、複数のPWM信号が生成される場合であっても、1つのPWM信号診断部によって選択的に診断を行うことができるから、生成されるPWM信号の数に応じて診断部を設ける必要がなく、マイクロコントローラの小面積化に資する。
更に、マイクロコントローラ7によれば、例えば外部出力端子POUT_1〜POUT_Mと外部入力端子PIN_1〜PIN_Nをマイクロコントローラの外部で電気的に接続することで、PWMタイマ21_1〜21_Mによって生成されたPWM信号164_1〜164_Mを、外部入力端子PIN_1〜PIN_Nを介して入力し、入力した信号を選択して診断することができる。これによれば、外部出力端子POUT_1〜POUT_MからPWM信号を出力する出力機能と、外部入力端子PIN_1〜PIN_NからPWM信号を入力する入力機能が正常であるか否かの診断も行うことができる。
≪実施の形態8≫
図15は、実施の形態8に係る、PWMタイマ機能とその診断機能を備えるマイクロコントローラの一例を示すブロック図である。同図において、マイクロコントローラ1乃至7と同一の構成要素には同一の符号を付して、その詳細な説明を省略する。
同図に示されるマイクロコントローラ8は、前記マイクロコントローラ6と同様に内部バス13とシステムバス52の2つのバスを有し、1個のPWMタイマ21とN(Nは2以上の整数)個のPWM信号診断部がシステムバス52に接続される。同図における前記PWM信号診断部としては、実施の形態2乃至4におけるPWM診断部20、30、40のいずれかが適用可能である。図15では、一例としてPWM診断部20を適用した場合を代表的に示している。
PWMタイマ21によって生成されるPWM信号164は、PWM信号診断部20_1〜20_Nに夫々入力されると共に、外部出力端子POUTを介してマイクロコントローラ8の外部に出力される。また、マイクロコントローラ8は、N個の外部入力端子PIN_1〜PIN_Nを有し、マイクロコントローラ外部からのPWM信号(外部PWM信号)165_1〜165_Nの入力を可能にする。外部PWM信号165_1〜165_Nは、選択部62に入力される。選択部62は、例えばN個の第3選択回路622_1〜622_Nを有する。第3選択回路622_1〜622_Nは、PWM信号診断部20_1〜20_N毎に対応して設けられる。夫々のPWM信号診断部20_1〜20_Nは外部PWM信号165_1〜165_Nを入力し、対応する選択信号61_1〜61_Nに基づいて、入力した信号のうち何れかの信号を選択するとともに、選択した信号を外部PWM信号165として、対応するPWM信号診断部20_1〜20_Nに出力する。選択信号61_1〜61_Nは、何れの外部PWM信号165_1〜165_Nを選択して出力するか指示する信号であり、診断パルス選択指示部60から出力される。診断パルス選択回路60は、システムバス52を介して書き込み可能な制御レジスタ601を有し、制御レジスタ601に設定された値にしたがって、信号生成部602が選択信号61_1〜61_Nを生成して出力する。
本マイクロコントローラ7によれば、実施の形態2乃至4と同様に、前記中央処理装置の処理負担を増加させることなく、前記PWMタイマのより詳細な故障判定を行うことができる。また、1つのPWM信号を複数の診断部によって診断することができるから、診断結果の信頼度が向上する。
更に、マイクロコントローラ8によれば、例えば外部出力端子POUTと外部入力端子PIN_1〜PIN_Nをマイクロコントローラの外部で電気的に接続することで、PWMタイマ21によって生成されたPWM信号164を、外部入力端子PIN_1〜PIN_Nを介して入力し、入力した信号を選択して診断することができる。これによれば、外部出力端子POUTからPWM信号を出力する出力機能と、外部入力端子PIN_1〜PIN_NからPWM信号を入力する入力機能が正常であるか否かの診断も行うことができる。
≪実施の形態9≫
図16は、実施の形態9に係る、PWMタイマ機能とその診断機能を備えるマイクロコントローラの一例を示すブロック図である。同図において、マイクロコントローラ1乃至8と同一の構成要素には同一の符号を付して、その詳細な説明を省略する。
同図に示されるマイクロコントローラ9は、前記マイクロコントローラ6と同様に内部バス13とシステムバス52の2つのバスを有し、PWM信号を生成するPWM信号生成部としてのM個のPWMタイマ21と、PWMタイマ機能を診断するための診断部としてのN個のPWM信号診断部がシステムバス52に接続される。同図における前記PWM信号診断部としては、実施の形態2乃至4におけるPWM診断部20、30、40のいずれかが適用可能である。図16では、一例としてPWM診断部20を適用した場合を代表的に示している。
M個のPWMタイマ21_1〜21_Mによって夫々生成されるPWM信号164_1〜164_Mは、M個の外部出力端子POUT_1〜POUT_Mを介して出力される。また、マイクロコントローラ9は、N個(Nは1以上の整数)の外部入力端子PIN_1〜PIN_Nを有し、マイクロコントローラ外部からのPWM信号(外部PWM信号)165_1〜165_Nの入力を可能にする。
生成されたPWM信号164_1〜164_Mと外部PWM信号165_1〜165_Nは、選択部65に入力される。選択部65は、例えば第4選択回路651_1〜651_Nと第5選択回路652_1〜651_Nを有する。第4選択回路651_1〜651_Nと第5選択回路652_1〜651_Nは、PWM信号診断部20_1〜20_N毎に対応して設けられる。例えば、第4選択回路651_1〜651_Nの夫々は、PWM信号164_1〜164_Mを入力し、対応する選択信号63_1〜63_Nに基づいて、入力した信号のうち何れかの信号を選択するとともに、選択した信号をPWM信号164として対応するPWM信号診断部20_1〜20_Nに出力する。同様に、第5選択回路652_1〜652_Nの夫々は、外部PWM信号165_1〜165_Nを入力し、対応する選択信号64_1〜64_Nに基づいて、入力した信号のうち何れかの信号を選択するとともに、選択した信号を外部PWM信号165として対応するPWM信号診断部20_1〜20_Nに出力する。
選択信号63_1〜63_Nは、何れのPWM信号164_1〜164_Nを選択して出力するか指示する信号であり、選択信号64_1〜64_Nは、何れのPWM信号165_1〜165_Nを選択して出力するか指示する信号である。選択信号63_1〜63_N及び選択信号64_1〜64_Nは、診断パルス選択指示部66から出力される。診断パルス選択回路66は、システムバス52を介して書き込み可能な制御レジスタ661を有し、制御レジスタ661に設定された値にしたがって、信号生成部662が選択信号63_1〜63_Nと選択回路64_1〜64_Nを生成して出力する。
本マイクロコントローラ9によれば、実施の形態2乃至4と同様に、前記中央処理装置の処理負担を増加させることなく、PWMタイマのより詳細な故障判定を行うことができる。また、PWMタイマ21_1〜21_MとPWM信号診断部20_1〜20_Nの夫々の個数に応じて診断対象と診断主体との組み合わせを自由に決定することができるから、システム設計や診断方法の自由度が増す。
更に、マイクロコントローラ9によれば、外部出力端子POUT_1〜POUT_Mと外部入力端子PIN_1〜PIN_Nとをマイクロコントローラの外部で電気的に接続することで、PWMタイマ21によって生成されたPWM信号164_1〜164_Mを、外部入力端子PIN_1〜PIN_Nを介して入力し、入力した信号を選択して診断することができる。これによれば、外部出力端子POUT_1〜POUT_MからPWM信号を出力する出力機能と、外部入力端子PIN_1〜PIN_NからPWM信号を入力する入力機能が正常であるか否かの診断も行うことができる。
≪実施の形態10≫
図17は、PWM信号の診断機能の診断方法の一例を示すフローチャートである。例えば、本診断方法による診断対象となるPWM信号診断部は、実施の形態2乃至9で示されるPWM信号診断部30、及び40である。
PWM信号診断部が正常であるか否かを判別するための診断処理は、例えば、マイクロコントローラ2乃至9における各種機能部の動作確認を行うテスト処理に含まれ、例えば、パワーオンリセット後の通常動作に移行する前に実行される。前記テスト処理には、上記PWMタイマのテストの他に、例えば、メモリ12のテスト、CPU11のテスト、及びその他の機能部のテストが含まれる。
ここでは、代表的に、実施の形態3に係るマイクロコントローラ3において前記テスト処理を行う場合の具体的な処理フローについて説明する。
図17に示されるように、先ずマイクロコントローラ3に電源が投入され、パワーオンリセットが解除されると、各機能部の初期設定が行われる(S101)。その後、各機能部のテスト処理が開始される。前記テスト処理では先ず、メモリ12のテストが実行される(S102)。続いてCPU11テストが実行される(S103)。次に、その他の機能部のテストが実行される(S104)。
その後、PWM信号診断部30のテストが開始される。PWM信号診断部30のテストでは先ず、CPU11が、例えば第1パルス周期かつ第1パルス幅のPWM信号を生成するための生成条件(以下、第1生成条件、とも称する。)をPWMタイマ21のレジスタ151〜153に設定する(S105)。設定する第1パルス周期と第1パルス幅の値に特に制限はない。次に、CPU11はPWM信号診断部30にアクセスし、パルス周期レジスタ183及びパルス幅レジスタ184に前記第1生成条件を設定する(S106)。そして、CPU11はPWM信号診断部30に診断処理を実行させ、その診断結果を確認する(S107)。ステップ107においてエラーを示す診断結果が出力された場合には、CPU11はPWM信号診断部が異常である判断し、そうでない場合には、PWM信号診断部が正常であると判断する。
CPU11は、ステップ107でPWM信号診断部が正常であると判断した場合には、CPU11はPWM信号診断部30に再度アクセスし、パルス周期レジスタ183及びパルス幅レジスタ184に、例えば第2パルス周期かつ第2パルス幅のPWM信号を生成するための生成条件(以下、第2生成条件、とも称する。)を設定する(S108)。第2生成条件は、第1生成条件と異なる生成条件であればよく、その第2パルス幅及び第2パルス周期の値に特に制限はない。そして、CPU11はPWM信号診断部30に診断処理を実行させ、その診断結果を確認する(S109)。ステップ109においてエラーを示す診断結果が出力された場合には、CPU11はPWM信号診断部が正常である判断し、そうでない場合には、PWM信号診断部が異常であると判断する。ステップ109でPWM信号診断部が正常であると判断された場合には、その他の機能部のテスト処理に移行し、すべてのテスト処理が完了したら、マイクロコントローラ3は通常動作を開始する。
これによれば、PWM信号診断部自身が正常に動作するか否かを容易に判別することができる。特に、PWMタイマに設定する生成条件と一致する条件をPWM信号診断部に設定した場合の診断と、PWMタイマに設定する生成条件と異なる条件をPWM信号診断部に設定した場合の診断の2つの診断を行うので、PWM信号診断部に対する診断の精度を上げることができる。これにより、PWMタイマの信頼性だけでなく、PWM信号診断部の信頼性をも向上させることができる。
上記の診断方法は、実施の形態1に係るPWMタイマ15にも適用することが可能である。例えば、PWMタイマ15内の比較回路161にパルス周期レジスタ152及びパルス幅レジスタ154の値を格納するためのバッファ回路を設け、前記バッファ回路はCPU11によってアクセス可能とする。比較回路161が比較処理を行う場合には、前記バッファ回路に格納されたパルス幅とパルス周期の値をリファレンスとして用いてPWM信号164の診断を行うようにする。PWM信号の診断機能のテスト時には、図17のステップ105においてCPU11がパルス周期レジスタ152及びパルス周期レジスタ153に前記第1生成条件を設定した後、ステップ106においてCPU11が比較回路161の前記バッファ回路にアクセスして前記第1生成条件を設定し、診断処理を実行させる。その後、ステップ108においてCPU11が再度前記バッファ回路にアクセスして前記第2生成条件を設定し、診断処理を実行させる。このようにすることで、実施の形態1に係るPWMタイマ15において、PWM信号の診断機能が正常であるか否かを診断することができる。実施の形態2に係るPWM診断部20においても上記と同様の方法により、PWM信号の診断機能が正常であるか否かを診断することができる。
≪実施の形態11≫
図18は、PWMタイマ機能とその診断機能を備えるマイクロコントローラを搭載した電子制御装置の一例を示すブロック図である。同図に示される電子制御装置104は、例えば、自動車のパワートレイン系を制御するための制御装置である。前記電子制御装置104は、例えば、マイクロコントローラ10と、ドライバ105と、安全装置106とを備える。前記マイクロコントローラ10は、自動車を駆動するモータ101を制御するための制御部であり、例えば、実施の形態1乃至9におけるマイクロコントローラ1乃至9のいずれかの回路構成をベースとし、更にPWM信号の診断結果を通知するための外部端子EOUTを備える。図18では、マイクロコントローラ10の回路構成として、複数のPWM信号164_1〜164_Mを出力するマイクロコントローラ7を適用した場合を代表的に示しているが、これに限定されない。
マイクロコントローラ10から出力されたPWM信号164_1〜164_Mは、ドライバ105に入力される。ドライバ105はインバータ102を駆動するための回路であり、入力したPWM信号164_1〜164_Mを増幅してインバータ102に出力する。インバータ102は、増幅されたPWM信号164_1〜164_Nに基づいてモータ101を駆動する。
マイクロコントローラ10におけるPWM信号の診断機能により、PWM信号164_1〜164_Mのいずれかの異常が検出されると、マイクロコントローラ10は、エラー信号を外部出力端子EOUTを介して安全装置106に出力する。安全装置106は、エラー信号に応じてモータ101の異常動作を防止するため処理を行う。当該処理の処理内容は、システムに依存するが、例えば自動車のダッシュボードに故障を示す警告を通知させたり、PWM信号生成のマイコン制御を停止させたりする方法が考えられる。その他にも、例えば電子制御装置105内に同じ機能を有するマイクロコントローラ10を複数設けておき、エラー信号に応じてマイクロコントローラを切り替える方法でもよい。具体的には、複数のマイクロコントローラに同一の処理を実行させておき、1つのマイクロコントローラによるPWM信号をドライバ105に入力させる。そして、安全装置106は、前記エラー信号が通知されたら、当該エラーを通知したマイクロコントローラに代えて、別のマイクロコントローラからのPWM信号をドライバ105に入力させる。
以上、実施の形態10に係るマイクロコントローラ10によれば、設定されたパルス周期及びパルス幅に従ってPWM信号が生成されているか否かを判別することができるから、より詳細な故障判定が可能となり、モータ制御の安全性をより高めることができる。また、前記診断は、CPUとは異なる別の回路モジュールによって実現されるから、マイクロコントローラ内のCPUの処理負担を増加させることない。
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
例えば、実施の形態1において、カウンタ157の値をフリップフロップ回路158で遅延させたカウンタ遅延値CD_VALを診断処理のために利用する方法を例示したが、これに限られない。例えば、実施の形態3又は4のように、診断処理のためのカウンタ172を別途設け、そのカウント値を診断処理に利用する方法でもよい。この場合のカウンタ172の構成は、フリーランニングカウンタでもよいし、PWM信号の1周期毎にリセットされる方式のカウンタでもよい。
1〜10 マイクロコントローラ(MCU)
11 CPU
12 メモリ(MRY)
13 内部バス
14 割り込みコントローラ(INT_CNT)
15、21 PWMタイマ(PWM_TMR)
16 クロック発生回路(CPG)
17 割り込み要求
18 専用線
EX_CLK 外部クロック信号
CLK クロック信号
POUT、POUT_1〜POUT_M 外部出力端子
PIN、PIN_1〜PIN_N 外部入力端子
200 信号生成機能部
201 診断機能部
151 制御レジスタ(REG_CNT)
152 パルス周期レジスタ(REG_PRD)
153 パルス幅レジスタ(REG_PW)
154 パルス幅バッファ
156 パルス発生回路(PG)
157 カウンタ(CNTR)
158 フリップフロップ回路(FF)
159 パルス選択回路(SLCTR)
160 エッジ検出回路(DTCT_EDG)
161 比較回路(CMP)
162 状態レジスタ(REG_ST)
163 割り込み発生回路(INT)
164、164_1〜164_M PWM信号
165、165_1〜165_N 外部PWM信号
166 選択されたPWM信号
C_VAL カウンタ値
CD_VAL カウンタ遅延値
20 PWM信号診断部(PWM_CHK)
171 エッジ検出回路(DTCT_EDG)
172 カウンタ(CNTR)
173 立ち上がりエッジレジスタ(REG_REDG)
174 制御レジスタ(REG_CNT)
176 比較回路(CMP)
30 PWM信号診断部(PWM_CHK)
186 比較回路(CMP)
170 レジスタ制御回路
181 スヌープレジスタ(REG_SNP_A)
182 スヌープレジスタ(REG_SNP_B)
183 パルス周期レジスタ(REG_PRD)
184 パルス幅レジスタ(REG_PW)
185 パルス幅バッファ
CF_VAL カウンタ値
40 PWM信号診断部(PWM_CHK)
190 補正後のPWM信号
191 パルス補正回路(P_REV)
192 比較回路(CMP)
51 バスブリッジ(BUS_BRG)
52 システムバス
21_1〜21_M PWMタイマ(PWM_TMR)
55 選択部
551 第1選択回路
552 第2選択回路
54 診断パルス選択回路
541 制御レジスタ
542 信号生成部
56、57 選択信号
20_1〜20_N PWM信号診断部(PWM_CHK)
17_1〜17_N 割り込み要求
62 選択部
621_1〜621_N 第3選択回路
60 診断パルス選択回路
601 制御レジスタ
602 信号生成部
61_1〜61_N 選択信号
65 選択部
651_1〜651_N 第4選択回路
652_1〜652_N 第5選択回路
66 診断パルス選択回路
661 制御レジスタ
662 信号生成部
63_1〜63_N、64_1〜64_N 選択信号
100 自動車
101 モータ
102 インバータ
103 バッテリ
104 電子制御装置
105 ドライバ
106 安全装置
10 マイクロコントローラ
EOUT 外部出力端子
800、801 マイクロコントローラ
81、84 PWMタイマ
82 信号生成部
83、85 パルス検出部
820 パルス発生回路
821 パルス周期レジスタ(REG_PRD)
822 パルス幅レジスタ(REG_PW)
823、816 カウンタ
210、211 PWM信号
811 立ち上がりエッジレジスタ(REG_REDG)
812 立ち下がりエッジレジスタ(REG_FEDG)
813 割り込み発生回路
814 フリッププロップ回路
815 エッジ検出回路

Claims (20)

  1. 中央処理装置と、
    前記中央処理装置によって設定された生成条件に応じてPWM信号を生成するPWM信号生成部と、
    前記PWM信号生成部によって生成されたPWM信号に基づいて該PWM信号のパルス周期及びパルス幅を検出するとともに、検出した前記パルス周期及びパルス幅と前記生成条件に基づく前記PWM信号のパルス周期及びパルス幅とを比較することにより、前記PWM信号生成部の診断を行う診断部と
    を有するマイクロコントローラ。
  2. 請求項1において、
    前記診断部は、PWM信号のパルス幅がゼロになる前記生成条件が前記PWM信号生成部に設定された場合には、前記設定された生成条件のパルス周期よりも短い第1期間だけハイレベルとなるように前記入力したPWM信号を補正するとともに、補正後のPWM信号のパルス周期とパルス幅を検出して前記比較を行う
    マイクロコントローラ。
  3. 請求項2において、
    前記診断部は、PWM信号のパルス幅とパルス周期とが一致する前記生成条件が前記PWM信号生成部に設定された場合には、前記設定された生成条件のパルス周期よりも短い第2期間だけローレベルとなるように前記入力したPWM信号を補正するとともに、補正後のPWM信号のパルス周期とパルス幅を検出して前記比較を行う
    マイクロコントローラ。
  4. 請求項3において、
    前記診断部は、
    前記PWM信号生成部に設定された前記生成条件に応じて、入力された前記PWM信号を補正して出力するパルス補正部と、
    前記パルス補正部から出力された信号の立ち上がりエッジと立ち下がりエッジを検出する検出部と、
    前記検出したエッジに基づいて前記パルス補正部から出力された信号のパルス周期とパルス幅を算出し、算出したパルス周期及びパルス幅と前記生成条件に応じたパルス周期及びパルス幅を比較する比較部と
    を有し、
    前記パルス補正部は、PWM信号のパルス幅がゼロになる前記生成条件が前記PWM信号生成部に設定された場合には、1つ前のPWM信号の立ち上がりからパルス周期分の時間が経過したタイミングにおいて、前記第1期間だけハイレベルとなる第1信号を生成し、前記第1信号と前記入力したPWM信号の論理和をとることで前記補正後のPWM信号を生成し、
    前記比較部は、PWM信号のパルス幅がゼロになる前記生成条件が前記PWM信号生成部に設定された場合には、前記算出したパルス周期と前記生成条件に応じたパルス周期とが一致し、且つ前記算出したパルス幅と前記第1期間に応じたパルス幅とが一致するならば、前記生成条件に応じたPWM信号が生成されていると判断し、前記算出したパルス周期と前記生成条件に応じたパルス周期とが一致せず、又は前記算出したパルス幅と前記第1期間に応じたパルス幅とが一致しないならば、前記生成条件に応じたPWM信号が生成されていないと判断する
    マイクロコントローラ。
  5. 請求項4において、
    前記パルス補正部は、PWM信号のパルス幅とパルス周期とが一致する前記生成条件が前記PWM信号生成部に設定された場合には、前記入力されたPWM信号が立ち上がってから所定期間が経過したタイミングにおいて、前記第2期間だけハイレベルとなる第2信号を生成し、前記第2信号の反転信号と前記入力したPWM信号の論理積をとることで前記補正後のPWM信号を生成し、
    前記比較部は、PWM信号のパルス幅とパルス周期とが一致する前記生成条件が前記PWM信号生成部に設定された場合には、前記算出したパルス周期と前記生成条件に応じたパルス周期とが一致し、且つ前記算出したパルス幅と、前記生成条件に応じたパルス幅を前記第2期間だけ短くしたパルス幅と、が一致するならば、前記生成条件に応じたPWM信号が生成されていると判断し、前記算出したパルス周期と前記生成条件に応じたパルス周期とが一致せず、又は前記算出したパルス幅と前記第2期間だけ短くしたパルス幅とが一致しないならば、前記生成条件に応じたPWM信号が生成されていないと判断する
    マイクロコントローラ。
  6. 請求項3において、
    前記PWM信号生成部はパルス周期とパルス幅を含む前記生成条件を格納するための第1レジスタを有し、
    前記診断部は、前記第1レジスタに格納される前記生成条件を含む情報を格納するための第2レジスタを更に有し、
    前記診断部は、前記第2レジスタに格納された前記生成条件に基づいて前記判別を行う
    マイクロコントローラ。
  7. 請求項3において、
    前記診断部は、前記中央処理装置による前記第1レジスタに対する前記生成条件の書き込みを監視し、前記中央処理装置が書き込む前記生成条件を取得して前記第2レジスタに格納する
    マイクロコントローラ。
  8. 請求項7において、
    前記中央処理装置と、前記PWM信号生成部と、前記診断部とは内部バスを介して互いに接続され、
    前記中央処理装置は、前記第1レジスタに前記生成条件を書き込むとき、前記第1レジスタを示すアドレス値と前記生成条件に係るデータとを前記内部バス上に出力し、
    前記診断部は、前記内部バス上に出力されるアドレス値を監視し、出力されたアドレス値が前記第1レジスタを示すアドレス値である場合には、前記内部バス上に出力された前記生成条件に係るデータを取得して、前記第2レジスタに保持する
    マイクロコントローラ。
  9. 請求項3において、
    前記PWM信号生成部によって生成されたPWM信号を外部に出力するための第1端子と、
    外部から信号を入力するための第2端子と
    を更に有し、
    前記診断部は、前記第1端子に出力されるPWM信号と、前記第2端子を介して入力されるPWM信号とを前記判別対象のPWM信号として選択可能である
    マイクロコントローラ。
  10. 請求項3において、
    前記PWM信号生成部と前記診断部とは、共通の回路モジュール内に構成される
    マイクロコントローラ。
  11. 請求項3において、
    前記PWM信号生成部と前記診断部とは、互いに別個の回路モジュールとして構成される
    マイクロコントローラ。
  12. 請求項3において、
    第1バスクロックで動作し、前記中央処理装置が接続される第1バスと、
    前記第1バスクロックとは異なる第2バスクロックで動作し、前記PWM信号生成部と前記診断部とが接続される第2バスと、
    前記第1バスと前記第2バスとの間の通信を制御するためのバス制御部と
    を更に有し、
    前記第2バスクロックは、前記第1バスクロックよりも低い周波数とされる
    マイクロコントローラ。
  13. 請求項1において、
    前記PWM信号生成部は、互いに異なる複数のPWM信号を生成するよう、複数の下位PWM信号生成部を含んで構成され、
    前記PWM信号生成部から出力された複数のPWM信号を入力し、入力した複数のPWM信号のうち何れかの信号を選択して出力する第1選択部を更に有し、
    前記診断部は、前記第1選択部から出力されたPWM信号を入力し、入力したPWM信号に基づいて該PWM信号のパルス周期及びパルス幅を検出するとともに、検出した前記パルス周期及びパルス幅と前記生成条件に基づく前記PWM信号のパルス周期及びパルス幅とを比較する
    マイクロコントローラ。
  14. 請求項13において、
    前記PWM信号生成部によって生成された複数のPWM信号を外部に出力するための複数の第1端子と、
    前記第1選択部が入力するPWM信号を外部から受けるための第2端子と
    を更に有し、
    前記第1選択部は、前記第1端子に出力される複数のPWM信号のうち何れか1つのPWM信号を選択して第1PWM信号として出力するとともに、前記第2端子を介して入力された複数のPWM信号のうち何れか1つのPWM信号を選択して第2PWM信号として出力し、
    前記診断部は、前記第1PWM信号と前記第2PWM信号とを前記判別対象のPWM信号として選択可能である
    マイクロコントローラ。
  15. 請求項1において、
    前記PWM信号生成部から出力されたPWM信号を入力し、入力したPWM信号に基づいて該PWM信号のパルス周期及びパルス幅を検出するとともに、検出した前記パルス周期及びパルス幅と前記生成条件に基づく前記PWM信号のパルス周期及びパルス幅とを比較する機能を有し、前記診断部とは異なる他の診断部を更に有する
    マイクロコントローラ。
  16. 請求項15において、
    前記PWM信号生成部によって生成されたPWM信号を外部に出力するための第1端子と、
    外部から信号を入力するための複数の第2端子と、
    前記複数の第2端子から入力されたPWM信号を入力し、入力したPWM信号のうち何れか1つの信号を選択して1つの前記診断部に出力する選択回路を前記診断回路に対応して複数有する第1選択部と
    を更に有し、
    夫々の前記診断部は、前記第1端子に出力されるPWM信号と、対応する前記選択回路で選択された信号とを前記判別対象のPWM信号として選択可能である
    マイクロコントローラ。
  17. 請求項1において、
    前記PWM信号生成部は、互いに異なるm(mは2以上の整数)個のPWM信号を生成するよう、前記m個の下位PWM信号生成部を含んで構成され、
    前記PWM信号生成部から出力された複数のPWM信号を入力し、入力した複数のPWM信号のうち何れかの信号を選択して出力する第1選択部を更に有し、
    前記診断部は、前記第1選択部から出力されたPWM信号を入力し、入力したPWM信号に基づいて該PWM信号のパルス周期及びパルス幅を検出するとともに、検出した前記パルス周期及びパルス幅と前記生成条件に基づく前記PWM信号のパルス周期及びパルス幅とを比較するn(nは1以上の整数)個の下位診断部を含んで構成される
    マイクロコントローラ。
  18. 請求項17において、
    前記生成されたm個のPWM信号を外部に出力するためのm個の第1端子と、
    前記第1選択部に入力するPWM信号を外部から受けるための複数の第2端子と
    を更に有し、
    前記第1選択部は、1つの前記診断部に対し、前記第1端子に出力されるm個のPWM信号のうち何れか1つのPWM信号を選択して第1PWM信号として出力するとともに、前記第2端子を介して入力された複数のPWM信号のうち何れか1つのPWM信号を選択して第2PWM信号として出力する選択回路を、前記診断部に対応してn個有し、
    夫々の前記診断部は、前記第1端子に出力されるPWM信号と、対応する前記選択回路で選択された信号とを前記判別対象のPWM信号として選択可能である
    マイクロコントローラ。
  19. モータを制御するための制御装置であって、
    モータを駆動するためのPWM信号を生成するとともに、生成したPWM信号が異常である場合には外部端子からエラー信号を出力するマイクロコントローラと、
    前記生成されたPWM信号に基づいて、モータを駆動するためのドライバと、
    前記エラー信号を受けてモータの異常動作を防止するため処理を行う安全装置と
    を有し、
    前記マイクロコントローラは、
    中央処理装置と、
    前記中央処理装置によって設定された生成条件に応じてPWM信号を生成するPWM信号生成部と、
    前記生成されたPWM信号を入力し、入力した信号に基づいてパルス周期とパルス幅を検出するとともに、検出したパルス周期とパルス幅が前記生成条件に応じたパルス周期とパルス幅に一致するか否かを判別する診断部と
    を有し、
    前記判別結果に応じて前記エラー信号を前記外部端子に出力する
    制御装置。
  20. 設定された生成条件に応じてPWM信号を生成するPWM信号生成部と、前記PWM信号生成部によって生成されたPWM信号が、自らに設定された条件に応じたパルス周期及びパルス幅を持つ信号であるか否かを判別する診断部とを有するマイクロコンピュータの前記診断部が正常であるか否かを判別する判別方法であって、
    前記PWM信号生成部に設定された前記生成条件と等価な条件を前記診断部に設定し、前記診断部が、前記生成されたPWM信号が前記等価な条件に応じたPWM信号と一致すると判別した場合には、前記診断部が正常であると判別し、一致しないと判別した場合には前記診断部が異常であると判断する第1ステップと、
    前記PWM信号生成部に設定された前記生成条件と異なる条件を前記診断部に設定し、前記診断部が、前記生成されたPWM信号が前記異なる条件に応じたPWM信号と一致すると判断した場合には、前記診断部が異常であると判別し、一致しないと判断した場合には前記診断部が正常であると判別する第2ステップとを有する判別方法。
JP2011159805A 2011-07-21 2011-07-21 マイクロコントローラ Active JP5722150B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2011159805A JP5722150B2 (ja) 2011-07-21 2011-07-21 マイクロコントローラ
EP12174189.6A EP2549281B1 (en) 2011-07-21 2012-06-28 Microcontroller, control device and determination method
US13/555,123 US9323595B2 (en) 2011-07-21 2012-07-21 Microcontroller, control device and determination method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011159805A JP5722150B2 (ja) 2011-07-21 2011-07-21 マイクロコントローラ

Publications (2)

Publication Number Publication Date
JP2013026827A true JP2013026827A (ja) 2013-02-04
JP5722150B2 JP5722150B2 (ja) 2015-05-20

Family

ID=47002502

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011159805A Active JP5722150B2 (ja) 2011-07-21 2011-07-21 マイクロコントローラ

Country Status (3)

Country Link
US (1) US9323595B2 (ja)
EP (1) EP2549281B1 (ja)
JP (1) JP5722150B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016105262A (ja) * 2014-12-01 2016-06-09 富士通株式会社 情報処理装置、診断方法及び診断プログラム
JP2020144541A (ja) * 2019-03-05 2020-09-10 株式会社東芝 半導体装置
CN112234961A (zh) * 2020-10-09 2021-01-15 中国船舶重工集团公司第七0七研究所九江分部 一种pwm信号传输的安全保护与故障诊断电路

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5948230B2 (ja) 2012-11-26 2016-07-06 日立オートモティブシステムズ株式会社 車載制御装置
CN103576081B (zh) * 2013-11-20 2016-06-15 镇江恒驰科技有限公司 一种脉冲宽度调制开关电路的实时诊断方法
WO2016104512A1 (ja) * 2014-12-26 2016-06-30 新日鐵住金株式会社 電磁鋼板
JP6587566B2 (ja) 2016-03-23 2019-10-09 ルネサスエレクトロニクス株式会社 半導体装置
DE102016210984A1 (de) * 2016-06-20 2017-12-21 Robert Bosch Gmbh Verfahren zum Betreiben eines Steuergeräts
JP6846991B2 (ja) * 2016-07-05 2021-03-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 異常検知電子制御ユニット、車載ネットワークシステム及び異常検知方法
JP7006435B2 (ja) 2018-03-26 2022-01-24 株式会社デンソーウェーブ 入出力装置
KR102398573B1 (ko) * 2019-01-14 2022-05-13 주식회사 엘지에너지솔루션 진단 장치
US10895601B2 (en) * 2019-05-10 2021-01-19 Infineon Technologies Ag System and method of monitoring a switching transistor
CN111726110B (zh) * 2020-07-06 2024-01-30 中车青岛四方车辆研究所有限公司 一种pwm信号生成方法
CN112613613B (zh) * 2020-12-01 2024-03-05 深圳泓越企业管理咨询有限公司 一种基于脉冲神经膜系统的三相感应电动机故障分析方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0426225A (ja) * 1990-05-22 1992-01-29 Honda Motor Co Ltd パルス幅変調回路の故障診断装置
JPH05275994A (ja) * 1992-03-27 1993-10-22 Nippon Motorola Ltd パルス幅変調装置
JP2001016081A (ja) * 1999-06-29 2001-01-19 Nec Corp パルス幅変調信号生成装置
JP2002014125A (ja) * 2000-06-28 2002-01-18 Sanyo Electric Co Ltd デジタル入力信号のデューティ比検出回路
JP2004339977A (ja) * 2003-05-14 2004-12-02 Hitachi Ltd 自動車用電子制御装置及びそれに用いる出力ドライバ回路
JP2006042446A (ja) * 2004-07-23 2006-02-09 Yamaha Motor Co Ltd モータ制御システムの異常監視装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0898284A (ja) * 1994-07-25 1996-04-12 Nippondenso Co Ltd データ受信装置,送信装置および通信装置
JP3609601B2 (ja) 1998-02-24 2005-01-12 株式会社東芝 自己診断機能付きタイマー回路
JP4253110B2 (ja) * 2000-09-04 2009-04-08 株式会社日立製作所 車両制御システム
JP2002318265A (ja) * 2001-04-24 2002-10-31 Hitachi Ltd 半導体集積回路及び半導体集積回路のテスト方法
US6538484B1 (en) * 2002-03-18 2003-03-25 Lynx-Photonic Networks Ltd. High-frequency PWM voltage control
DE102006006032A1 (de) * 2006-02-09 2007-08-23 Siemens Ag Verfahren und Vorrichtung zum Betreiben einer Synchronmaschine
US7694163B1 (en) * 2006-12-14 2010-04-06 Emc Corporation System for generating and monitoring voltages generated for a variety of different components on a common printed circuit board
US7667512B2 (en) * 2007-03-29 2010-02-23 Standard Microsystems Corporation Duty cycle comparator
US7791386B2 (en) * 2008-01-23 2010-09-07 Microchip Technology Incorporated Externally synchronizing multiphase pulse width modulation signals
JP5507830B2 (ja) 2008-11-04 2014-05-28 ルネサスエレクトロニクス株式会社 マイクロコントローラ及び自動車制御装置
CN102064715A (zh) * 2009-11-17 2011-05-18 鸿富锦精密工业(深圳)有限公司 Pwm控制器相位调节系统及调节方法
US8542046B2 (en) * 2011-05-04 2013-09-24 Intel Corporation Apparatus, system, and method for voltage swing and duty cycle adjustment

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0426225A (ja) * 1990-05-22 1992-01-29 Honda Motor Co Ltd パルス幅変調回路の故障診断装置
JPH05275994A (ja) * 1992-03-27 1993-10-22 Nippon Motorola Ltd パルス幅変調装置
JP2001016081A (ja) * 1999-06-29 2001-01-19 Nec Corp パルス幅変調信号生成装置
JP2002014125A (ja) * 2000-06-28 2002-01-18 Sanyo Electric Co Ltd デジタル入力信号のデューティ比検出回路
JP2004339977A (ja) * 2003-05-14 2004-12-02 Hitachi Ltd 自動車用電子制御装置及びそれに用いる出力ドライバ回路
JP2006042446A (ja) * 2004-07-23 2006-02-09 Yamaha Motor Co Ltd モータ制御システムの異常監視装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016105262A (ja) * 2014-12-01 2016-06-09 富士通株式会社 情報処理装置、診断方法及び診断プログラム
JP2020144541A (ja) * 2019-03-05 2020-09-10 株式会社東芝 半導体装置
CN111669157A (zh) * 2019-03-05 2020-09-15 株式会社东芝 半导体装置
JP7218212B2 (ja) 2019-03-05 2023-02-06 株式会社東芝 半導体装置
CN111669157B (zh) * 2019-03-05 2023-10-13 株式会社东芝 半导体装置
CN112234961A (zh) * 2020-10-09 2021-01-15 中国船舶重工集团公司第七0七研究所九江分部 一种pwm信号传输的安全保护与故障诊断电路
CN112234961B (zh) * 2020-10-09 2023-07-14 中国船舶重工集团公司第七0七研究所九江分部 一种pwm信号传输的安全保护与故障诊断电路

Also Published As

Publication number Publication date
US20130020978A1 (en) 2013-01-24
JP5722150B2 (ja) 2015-05-20
US9323595B2 (en) 2016-04-26
EP2549281B1 (en) 2014-11-19
EP2549281A1 (en) 2013-01-23

Similar Documents

Publication Publication Date Title
JP5722150B2 (ja) マイクロコントローラ
US8996927B2 (en) Electronic control device with watchdog timer and processing unit to diagnose malfunction of watchdog timer
JP6266239B2 (ja) マイクロコンピュータ
KR20180022759A (ko) 안전 관련 중대한 에러를 처리하는 방법 및 장치
JP5271602B2 (ja) マイクロコンピュータ
CN114203248A (zh) 用于捕获和传输数据错误的电路和方法
KR20190035480A (ko) 마이크로 컨트롤러 및 마이크로 컨트롤러의 제어방법
US20120166880A1 (en) Independently based diagnostic monitoring
JP2011163842A (ja) 半導体装置、及びその診断方法
JP2015035121A (ja) 半導体集積回路装置
US20140289553A1 (en) Integrated circuit
JP4422076B2 (ja) データ処理装置、電子制御ユニット、ならびに自動車
US20140129889A1 (en) Semiconductor integrated circuit
US20100308867A1 (en) Semiconductor device and abnormality prediction method thereof
JP2017106811A (ja) 診断回路、半導体装置、車載用電子制御ユニット及び診断回路による診断方法
US12019118B2 (en) Processing system, related integrated circuit, device and method
JP6588068B2 (ja) マイクロコンピュータ
JP2009282849A (ja) マイクロコンピュータ
JP2015005116A (ja) 負荷駆動装置
US20230314506A1 (en) Processing system, related integrated circuit, device and method
JP2018071992A (ja) マイコン、システム、電子制御装置、及びマイコンの機能試験方法
JP2011076584A (ja) 半導体集積回路装置
US8327054B2 (en) Data check circuit for checking program data stored in memory
JP2014159982A (ja) 半導体装置およびその診断方法
JP2015121478A (ja) 故障検出回路及び故障検出方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140502

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141127

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150114

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150325

R150 Certificate of patent or registration of utility model

Ref document number: 5722150

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350