JP2016086385A - Pwm信号出力回路 - Google Patents

Pwm信号出力回路 Download PDF

Info

Publication number
JP2016086385A
JP2016086385A JP2014220087A JP2014220087A JP2016086385A JP 2016086385 A JP2016086385 A JP 2016086385A JP 2014220087 A JP2014220087 A JP 2014220087A JP 2014220087 A JP2014220087 A JP 2014220087A JP 2016086385 A JP2016086385 A JP 2016086385A
Authority
JP
Japan
Prior art keywords
pwm
clock signal
signal
internal clock
frequency
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.)
Pending
Application number
JP2014220087A
Other languages
English (en)
Inventor
永田 真也
Shinya Nagata
真也 永田
音川 昌也
Masaya Otogawa
昌也 音川
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.)
Aisin Corp
Original Assignee
Aisin Seiki Co Ltd
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 Aisin Seiki Co Ltd filed Critical Aisin Seiki Co Ltd
Priority to JP2014220087A priority Critical patent/JP2016086385A/ja
Publication of JP2016086385A publication Critical patent/JP2016086385A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Inverter Devices (AREA)
  • Manipulation Of Pulses (AREA)
  • Amplifiers (AREA)

Abstract

【課題】回路の複雑化やコストの上昇を伴うことなく、高精度な搬送波周波数でPWM信号を出力することができるPWM信号出力回路を提供する。【解決手段】内部クロック信号を生成する内部クロック信号生成部(16)と、内部クロック信号を基にした搬送波周波数でPWM信号を生成するPWM回路(20)とを含む回路部と、回路部の外部に設けられ、内部クロック信号よりも高精度な時間信号を生成する時間信号生成部(26)と、時間信号に基づき、前記搬送波周波数を補正する演算部(28)とを有する。【選択図】図4

Description

本発明は、パルス幅変調(Pulse Width Modulation、PWM)信号を出力するPWM信号出力回路に関する。
PWMとは、一定周期、一定振幅のパルス信号について、そのオン(ハイレベル)とオフ(ローレベル)との時間比であるデューティ比を変化させる変調方式をいう。このようなパルス信号であるPWM信号は、DCモータ、サーボモータ、圧電ブザー、電磁ブザー等の電子機器の制御に用いられている。PWM信号を用いた制御では、PWM信号のデューティ比を変化することにより、制御対象となる電子機器に供給する電力を調整するため、電力損失を低減することができるという利点がある。
これまで、PWMに関する技術として、例えば、標本化周波数を抑えながら2次高調波等の雑音を抑えることを目的とする技術、PWMパルスのパルス幅に対する分解能を向上させることを目的とする技術が記載されている(特許文献1、2参照)。
また、PWM信号は、CR発振回路等によるクロック信号を基にして生成することが行われている。特許文献3には、CR発振回路からのCR発振出力よりも周期が精密な外部発振パルスに基づき、CR発振回路における可変抵抗器の抵抗値を調整することにより、CR発振クロックを調整することが記載されている。
特開2003−264465号公報 特開平10−126235号公報 特開2001−111389号公報
PWM信号を生成するに際して、PWM信号の周期を決定する搬送波周波数は、源クロックを基にして決定される。源クロックは、PWM信号を出力する回路に内蔵されるCR発振回路、リングオシレータ等の発振回路により生成される。
しかしながら、上記の源クロックは、その発振回路の製造ばらつき、温度特性等の要因により値が変動し、精度が低下することがある。このように源クロックの精度が低下すると、PWM信号の搬送波周波数も、想定される値から変動することになる。搬送波周波数が変動すると、PWM信号による制御対象であるモータの効率が低下したり、ブザーの音圧が低下したりする等、PWM信号による制御に不都合が生じることがある。
本発明の目的は、回路の複雑化やコストの上昇を伴うことなく、高精度な搬送波周波数でPWM信号を出力することができるPWM信号出力回路を提供することにある。
本発明の一観点によれば、内部クロック信号を生成する内部クロック信号生成部と、前記内部クロック信号を基にした搬送波周波数でPWM信号を生成するPWM回路とを含む回路部と、前記回路部の外部に設けられ、前記内部クロック信号よりも高精度な時間信号を生成する時間信号生成部と、前記時間信号に基づき、前記搬送波周波数を補正する演算部とを有するPWM信号出力回路が提供される。
また、本発明の他の観点によれば、内部クロック信号を生成する内部クロック信号生成部と、PWM信号を生成するPWM回路とを含み、前記PWM回路が、前記内部クロック信号を分周する分周器を有し、前記内部クロック信号が分周されてなるクロック信号を基にした搬送波周波数で前記PWM信号を生成する回路部と、前記回路部の外部に設けられ、前記内部クロック信号よりも高精度な時間信号を生成する時間信号生成部と、前記分周器の前記内部クロック信号を分周する分周比が、前記時間信号に基づき設定されるPWM信号出力回路が提供される。
本発明によれば、回路の複雑化やコストの上昇を伴うことなく、高精度な搬送波周波数でPWM信号を出力することができる。
図1は、PWM信号の波形を説明する波形図である。 図2は、PWM信号を用いた一般的な制御処理を示すフローチャートである。 図3は、本発明の第1実施形態によるPWM信号出力回路を構成するPWM機能搭載IC及びMCUを示す概略図である。 図4は、本発明の第1実施形態によるPWM信号出力回路を構成するPWM機能搭載IC及びMCUの構成を示すブロック図である。 図5は、本発明の第1実施形態によるPWM信号出力回路におけるPWM回路の構成を示すブロック図である。 図6は、本発明の第1実施形態によるPWM信号出力回路の動作時における各種信号の波形等を示す波形図である。 図7は、本発明の第1実施形態によるPWM信号出力回路により出力されるPWM信号を用いた制御処理を示すフローチャートである。 図8は、本発明の第2実施形態によるPWM信号出力回路に用いられるPWM回路の構成を示すブロック図である。 図9は、本発明の第1実施形態によるPWM信号出力回路の動作時における各種信号の波形等を示す波形図である。 図10は、本発明の第3実施形態によるPWM信号出力回路を構成するPWM機能搭載IC及びMCUの構成を示すブロック図である。 図11は、本発明の第3実施形態によるPWM信号出力回路の動作時における各種信号の波形等を示す波形図である。 図12は、本発明の変形実施形態によるPWM信号出力回路を構成するPWM機能搭載IC及びMCUの構成を示すブロック図である。
[第1実施形態]
まず、本発明の第1実施形態によるPWM信号出力回路について説明するに先立ち、PWM信号の波形、及び源クロックとなる内部クロックの変動に伴う搬送波周波数の変動について図1及び図2を用いて説明する。図1は、PWM信号の波形を説明する波形図である。図2は、PWM信号を用いた一般的な制御処理を示すフローチャートである。
PWM回路におけるPWM信号の波形の生成には、PWM信号を生成するための源クロック信号である内部クロック信号によりカウントアップするPWMカウンタが用いられる。PWMカウンタでは、内部クロック信号により0からカウントアップが行われる。
PWMカウンタのカウント値は、PWM信号の周期を決定する設定値である搬送波設定値と比較される。PWMカウンタのカウント値が搬送波設定値と一致すると、カウント値がクリアされ、PWMカウンタにより0からのカウントアップが繰り返される。すなわち、PWMカウンタは、カウント値0から、カウント値(搬送波設定値−1)までのカウントを繰り返す。
PWMカウンタのカウント値は、PWM信号のデューティ比を決定する設定値であるデューティ設定値と比較される。PWMカウンタのカウント値がデューティ設定値よりも小さい場合、PWM信号の出力として、ハイレベルが出力される。一方、PWMカウンタのカウント値がデューティ設定値以上の場合、PWM信号の出力として、ローレベルが出力される。
こうして、所定のデューティ比を有するPWM信号が、所定の周波数で繰り返し出力される。PWM信号のデューティ比は、デューティ設定値を搬送波設定値で除した値で与えられる。また、PWM信号の周波数となる搬送波周波数は、内部クロック信号の周波数を搬送波設定値で除した値で与えられる。すなわち、PWM信号の周期は、内部クロック信号の周期に搬送波設定値を乗じた値で与えられる。また、PWM信号のデューティ分解能は、搬送波設定値で与えられる。
図1は、搬送波設定値を10、デューティ設定値を4に設定した場合のPWM信号の波形を説明する波形図である。図1では、上段に内部クロック信号の波形、中段にPWMカウンタのカウント値、下段にPWM信号の波形を示している。
図1に示す場合では、搬送波設定値が10に設定されている。PWMカウンタでは、内部クロック信号により0から9までカウントアップされ、そのカウント値0から3の間にPWM信号の出力としてハイレベルが出力され、カウント値4から9の間にPWM信号の出力としてローレベルが出力される。このような図1に示す場合において、内部クロック信号の周波数が1MHz(周期が1μs)であるとき、PWM信号の波形は、搬送波周波数が100kHz(周期が10μs)、デューティ比が40%のものとなる。また、図1に示す場合において、PWM信号のデューティ分解能は、搬送波設定値の値である10階調である。
上記のようにして生成されるPWM信号では、搬送波設定値を変更することにより搬送波周波数を変更することができる。また、搬送波設定値又はデューティ設定値を変更することにより、デューティ比を変更することができる。例えば、搬送波設定値をより低く設定すると、PWM信号のデューティ分解能もより低くなる。また、デューティ設定値を固定して搬送波設定値のみを変更すると、デューティ比が変動することになる。
このように搬送波周波数、デューティ比等を変更することが可能なPWM信号を用い、モータ、ブザー等の制御対象のスイッチング制御を行うことができる。
以下、PWM信号を用いた一般的な制御処理について図2を用いて説明する。図2は、PWM信号を用いた一般的な制御処理を示すフローチャートである。
まず、内部クロック信号を生成する発振回路の設計値等から想定される内部クロック信号を基準に、PWM信号について所望の搬送波周波数及びデューティ比となる搬送波設定値及びデューティ設定値をそれぞれ計算する(ステップS101)。
次いで、ステップS101において計算された搬送波設定値及びデューティ設定値をそれぞれ搬送波レジスタ及びデューティレジスタに書き込む(ステップS102)。搬送波レジスタ及びデューティレジスタは、PWM信号を生成するためのPWM回路に備えられている。
こうして搬送波レジスタ及びデューティレジスタに書き込まれた搬送波設定値及びデューティ設定値によりPWM回路においてPWM信号を生成し、生成されたPWM信号を用いて、モータ、ブザー等の制御対象を制御する(ステップS103)。
制御対象が制御される間、制御対象に状態変更があるか否かをモニタする(ステップS104)。制御対象の状態変更とは、例えば、制御対象がモータである場合にそのモータの回転数を増加又は減少する等、制御対象の駆動状態を変更することをいう。制御対象に状態変更がある場合(ステップS104、YES)、その制御対象の状態変更に応じて、想定される内部クロック信号を基準に、所望の搬送波周波数及びデューティ比となる搬送波設定値及びデューティ設定値を再び計算する(ステップS105)。
ステップS105の後、ステップS102に戻り、ステップS105において計算された搬送波設定値及びデューティ設定値をそれぞれ搬送波レジスタ及びデューティレジスタに書き込み、上記処理を繰り返す。
一方、制御対象に状態変更のない場合(ステップS104、NO)、続いて制御対象の制御を終了するか否かを判定する(ステップS106)。制御対象の制御を終了する場合(ステップS106、YES)、制御対象の処理を終了する。一方、制御対象の制御を終了しない場合(ステップS106、NO)、ステップS103に戻り、制御対象の制御を継続する。
上記制御処理では、制御対象の状態変更に応じて搬送波設定値及びデューティ設定値を再計算し、PWM信号を生成するための設定を変更する機会がある。この際、内部クロック信号を基準に再計算するため、内部クロック信号の精度が搬送波周波数の精度に直接影響することになる。すなわち、内部クロック信号の周波数が変動すると、搬送波周波数も変動することになる。
例えば、上記図1に示す場合を例に説明すると、内部クロック信号の周波数が1MHzからその2倍の2MHzに変動した場合、搬送波周波数も、本来必要とされる所望の100kHzからその2倍の200kHzに変化することになる。なお、ここでは、内部クロック信号の周波数が2倍に変動する場合を例に説明しているが、この例は説明の簡単のために周波数の変動率を誇張したものである。内部クロック信号を生成する発振回路として用いられる例えばCR発振回路、リングオシレータでは、そのクロック信号の周波数に例えば20%程度の変動が生じうる。
このようにPWM信号の搬送波周波数が変動すると、PWM信号による制御対象によっては不都合が生じる場合がある。例えば、圧電ブザー、電磁ブザー等のブザーには、駆動制御するPWM信号の周波数が特定の周波数帯域を外れると音圧が極端に低下するものがある。このため、PWM信号の搬送波周波数は、基準となる内部クロック信号の周波数の精度にかかわらず、高い精度であることが好ましい。
本発明は、回路の複雑化やコストの上昇を伴うことなく、高精度な搬送波周波数でPWM信号を生成して出力することを可能にするものである。以下、本発明の第1実施形態によるPWM信号出力回路について図3乃至図5を用いて説明する。図3は、本実施形態によるPWM信号出力回路を構成するPWM機能搭載IC及びMCUを示す概略図である。図4は、本実施形態によるPWM信号出力回路を構成するPWM機能搭載IC及びMCUの構成を示すブロック図である。図5は、本実施形態によるPWM信号出力回路におけるPWM回路の構成を示すブロック図である。
本実施形態によるPWM信号出力回路は、図1に示すように、PWM信号を生成して出力するPWM機能を搭載した集積回路(Integrated Circuit、IC)であるPWM機能搭載IC10の一部と、マイクロコントロールユニット(Micro Control Unit、MCU)12の一部とにより構成されている。PWM機能搭載IC10とMCU12とは、互いに別個の集積回路により構成されている。PWM機能搭載IC10とMCU12とは、例えばシリアルペリフェラルインタフェース(Serial Peripheral Interface、SPI)を介して互いに通信可能に接続されている。
SPIによる接続では、MCU12がマスタ、PWM機能搭載IC10がスレーブとなり、4本の信号線によりMCU12とPWM機能搭載IC10とが互いに接続されている。4本の信号線は、スレーブセレクト信号SS用の信号線LSS、シリアルクロック信号SCLK用の信号線LSCLK、シリアルデータ用の信号線LMOSI、及びシリアルデータ用の信号線LMISOである。
信号線LSSでは、MCU12がスレーブセレクト信号SSをローレベルにすることにより、MCU12の通信対象として、PWM機能搭載IC10が選択されるようになっている。信号線LSCLKでは、MCU12から出力されるシリアルクロック信号SCLKがPWM機能搭載IC10に入力されるようになっている。信号線LMOSIでは、MCU12から出力されるシリアルデータがPWM機能搭載IC10に入力されるようになっている。信号線LMISOでは、PWM機能搭載IC10から出力されるシリアルデータがMCU12に入力されるようになっている。
信号線LSCLKを介してMCU12からPWM機能搭載IC10に入力されるシリアルクロック信号SCLKは、PWM機能搭載IC10における内蔵発振回路16(図4参照)により出力される内部クロック信号ICLKよりも高精度なクロック信号となっている。すなわち、シリアルクロック信号SCLKは、内部クロック信号ICLKよりも周波数の精度が高くなっている。
図4は、上記PWM機能搭載IC10及びMCU12の構成を示している。
図4に示すように、PWM機能搭載IC10は、シリアル通信回路14と、内蔵発振回路16と、SCLKカウンタ18と、PWM回路20と、温度モニタ22とを有している。PWM機能搭載IC10は、内部クロック信号生成部として機能する内蔵発振回路16と、PWM回路とを含む回路部を構成している。なお、PWM機能搭載IC10は、これら以外に図示しない構成部を有し、PWM信号を生成して出力するPWM機能以外の他の機能を有するように構成することも可能である。
一方、MCU12は、シリアル通信回路24と、発振回路26と、演算器28とを有している。なお、MCU12は、これら以外に図示しない構成部を有し、コントローラとして機能する。
まず、PWM機能搭載IC10の各部について説明する。
シリアル通信回路14には、信号線LSS、信号線LSCLK、信号線LMOSI、及び信号線LMISOの各信号線が接続されている。これにより、PWM機能搭載IC10が、SPIを介してMCU12と通信可能になっている。
内蔵発振回路16は、例えば、CR発振回路、リングオシレータ等の発振回路であり、内部クロック信号を生成する内部クロック信号生成部として機能する。内蔵発振回路16は、PWM機能搭載IC10の内部クロック信号ICLKを生成する。内蔵発振回路16により生成された内部クロック信号ICLKは、SCLKカウンタ18及びPWM回路20にそれぞれ入力されるようになっている。
内蔵発振回路16により生成される内部クロック信号ICLKは、PWM回路20により生成されるPWM信号の搬送波周波数の基準となるものである。しかしながら、内部クロック信号ICLKは、内蔵発振回路16の製造ばらつき、温度特性のばらつき等の要因により変動する場合がある。本実施形態によるPWM信号出力回路は、このような場合であっても、後述するように、外部のMCU12の発振回路26により生成されるシリアルクロック信号SCLKを用い、高精度な搬送波周波数でPWM信号を出力することを可能にするものである。
SCLKカウンタ18には、内部クロック信号ICLKとともに、MCU12の発振回路26により生成されるシリアルクロック信号SCLKが入力されるようになっている。SCLKカウンタ18は、MCU12の発振回路26によるシリアルクロック信号SCLKを基準に、内蔵発振回路16による内部クロック信号ICLKをカウントするカウンタ部である。SCLKカウンタ18のカウント値は、SPIによる通信により、MCU12における演算器28に入力されるようになっている。
PWM回路20は、搬送波設定値及びデューティ設定値に基づき、内部クロック信号ICLKを基にした搬送波周波数で所定のデューティ比を有するPWM信号を生成して出力するものである。PWM回路20においてPWM信号の生成に用いられる搬送波設定値及びデューティ設定値は、SPIによる通信により、MCU12の演算器28からPWM回路20に入力されるようになっている。PWM回路20に入力された搬送波設定値及びデューティ設定値は、それぞれPWM回路20における搬送波レジスタ203及びデューティレジスタ204(図5参照)に書き込まれて記憶されるようになっている。
温度モニタ22は、PWM機能搭載IC10の温度を測定してモニタするものである。温度モニタ22による測定結果は、後述するように、SCLKカウンタ18及び演算器28による一連の処理のトリガとして用いることができる。
次に、MCU12の各部について説明する。
シリアル通信回路24には、信号線LSS、信号線LSCLK、信号線LMOSI、及び信号線LMISOの各信号線が接続されている。これにより、MCU12が、SPIを介してPWM機能搭載IC10と通信可能になっている。
発振回路26は、例えば、水晶振動子261を用いた発振回路であり、内部クロック信号ICLKよりも高精度な時間信号を生成する時間信号生成部として機能する。MCU12に設けられた発振回路26は、PWM機能搭載IC10の外部に設けられていることになる。発振回路26は、PWM機能搭載IC10の内蔵発振回路16による内部クロック信号ICLKよりも高精度なクロック信号MCLKを生成する。すなわち、クロック信号MCLKは、内部クロック信号ICLKよりも周波数の精度が高い。発振回路26によるクロック信号MCLKは、SPIによる通信における同期信号となるシリアルクロック信号SCLKとして用いられるほか、PWM機能搭載IC10のSCLKカウンタ18に入力されるようになっている。
後述するように、本実施形態によるPWM信号出力回路では、MCU12の発振回路26により生成される、内部クロック信号ICLKよりも高精度なシリアルクロック信号SCLKに基づき、PWM信号の搬送波設定値及びデューティ設定値が計算される。これにより、本実施形態によるPWM信号出力回路では、内部クロック信号ICLKが変動する場合であっても、PWM信号の搬送波周波数が補正され、搬送波周波数を一定に維持して搬送波周波数の精度を向上することが可能になる。また、発振回路26はMCU12に設けられた既存の回路であるため、回路の複雑化やコストの上昇を伴うこともない。
なお、発振回路26は、水晶振動子261を用いた発振回路に限定されるものではない。発振回路26としては、内蔵発振回路16による内部クロック信号ICLKよりも高精度なクロック信号MCLKを生成することができるものであれば、種々の発振回路を用いることができる。
演算器28は、SCLKカウンタ18のカウント値が入力され、このカウント値を予め求められているカウント値の理想値である理想カウント値と比較し、比較結果に基づき、搬送波設定値及びデューティ設定値を計算する演算部である。演算器28による搬送波設定値及びデューティ設定値の計算結果は、SPIによる通信により、PWM機能搭載IC10のPWM回路20に入力されるようになっている。演算器28は、こうして搬送波設定値及びデューティ設定値を計算することにより、PWM信号の搬送波周波数を補正する。
図5にPWM回路20の構成を示す。図5に示すように、PWM回路20は、n分周器201と、PWMカウンタ202と、搬送波レジスタ203と、デューティレジスタ204と、比較器205とを有している。
n分周器201には、内蔵発振回路16により生成される内部クロック信号ICLKが入力されるようになっている。n分周器201は、入力される内部クロック信号ICLKをそのまま又は分周比n(nは2以上の整数)で分周してPWMカウンタ202に入力するものである。
搬送波レジスタ203には、MCU12における演算器28により計算された搬送波設定値がMCU12により書き込まれて記憶されるようになっている。搬送波レジスタ203に記憶された搬送波設定値は、PWMカウンタ202のカウントアップにおける最大カウント値を決定するものである。すなわち、次に述べるように、PWMカウンタ202は、カウント値0からカウント値(搬送波設定値−1)までのカウントアップを繰り返す。
PWMカウンタ202は、n分周器201から入力される内部クロック信号ICLK又はn分周された内部クロック信号ICLKを、最大カウント値を(搬送波設定値−1)としてカウント値0からカウントアップするものである。PWMカウンタ202は、カウント値0から最大カウント値(搬送波設定値−1)までカウントアップすると、カウント値をクリアしてカウントアップを繰り返す。
デューティレジスタ204には、MCU12における演算器28により計算されたデューティ設定値がMCU12により書き込まれて記憶されるようになっている。デューティレジスタ204に書き込まれたデューティ設定値は、比較器205において、PWMカウンタ202のカウント値との比較に用いられる。
比較器205は、PWMカウンタ202によりカウントされるカウント値を、デューティレジスタ204に記憶されたデューティ設定値と比較する。比較器205は、PWMカウンタ202のカウント値がデューティ設定値よりも小さい場合、PWM信号の出力として、ハイレベルを出力する。一方、PWMカウンタ202のカウント値がデューティ設定値以上の場合、PWM信号の出力として、ローレベルを出力する。こうして、比較器205から、PWM信号が出力される。
PWM機能搭載IC10の内蔵発振回路16により生成される内部クロック信号ICLKは、回路の製造ばらつき、温度特性のばらつき等の要因により変動する場合がある。本実施形態によるPWM信号出力回路は、MCU12の発振回路26により生成される、内部クロック信号ICLKよりも高精度なシリアルクロック信号SCLKに基づき、PWM信号の搬送波設定値及びデューティ設定値を計算する。これにより、本実施形態によるPWM信号出力回路は、内部クロック信号ICLKが変動する場合であっても、PWM信号の搬送波周波数を補正し、PWM信号の搬送波周波数を一定に維持して搬送波周波数の精度を向上することを可能にするものである。
以下、本実施形態によるPWM信号出力回路の動作についてさらに図6を用いて説明する。図6は、本実施形態によるPWM信号出力回路の動作時における各種信号の波形等を示す波形図である。図6には、上段から下段に向かって順に、スレーブセレクト信号SSの波形、シリアルクロック信号SCLKの波形、内部クロック信号ICLKの波形、及びSCLKカウンタ18によるカウントの様子がそれぞれ示されている。なお、内部クロック信号ICLKについては、波形の一部を省略して示している。
MCU12のシリアル通信回路24からは、信号線LSSを介してPWM機能搭載IC10のシリアル通信回路14にスレーブセレクト信号SSが出力されている。まず、MCU12によりスレーブセレクト信号SSがローレベルにされることにより、PWM機能搭載IC10がMCU12の通信対象として選択される。
また、MCU12の発振回路26では、PWM機能搭載IC10の内蔵発振回路16により生成される内部クロック信号ICLKよりも高精度なクロック信号MCLKが生成される。発振回路26により生成された高精度なクロック信号MCLKは、シリアル通信回路24及び信号線LSCLKを介して、シリアルクロック信号SCLKとしてPWM機能搭載IC10に入力される。
PWM機能搭載IC10に入力されたシリアルクロック信号SCLKは、MCU12とPWM機能搭載IC10との間のSPIによる通信における同期信号として用いられるほか、SCLKカウンタ18に入力される。
SCLKカウンタ18には、シリアルクロック信号SCLKが入力されるとともに、内蔵発振回路16により生成された内部クロック信号ICLKが入力される。シリアルクロック信号SCLKは、内部クロック信号ICLKと比較して周波数の精度が高いクロック信号になっている。また、シリアルクロック信号SCLKは、内部クロック信号ICLKと比較して低周波数のクロック信号になっている。
SCLKカウンタ18では、MCU12の発振回路26によるシリアルクロック信号SCLKを基準に、内蔵発振回路16による内部クロック信号ICLKがカウントされる。SCLKカウンタ18のカウント値としては、シリアルクロック信号SCLKの所定のサイクル数(パルス数)の間における内部クロック信号ICLKのサイクル数(パルス数)が得られる。SCLKカウンタ18のカウント値は、SPIによる通信により、MCU12における演算器28に入力される。
具体的には、SCLKカウンタ18では、図6に示すように、シリアルクロック信号SCLKの17サイクル(17パルス)のうちの16サイクル(16パルス)の間、内部クロック信号ICLKがカウントされる。これにより、SCLKカウンタ18のカウント値として、シリアルクロック信号SCLKの17サイクルのうちの16サイクルの間の内部クロック信号ICLKのサイクル数(パルス数)が得られる。
なお、内部クロック信号ICLKがカウントされるシリアルクロック信号SCLKのサイクル数は、特定の値に限定されるものではなく、要求される精度等に応じて、1サイクル又は複数サイクルに適宜設定することができる。
演算器28では、SCLKカウンタ18のカウント値に基づき、PWM信号を出力するための搬送波設定値及びデューティ設定値が計算される。これにより、PWM信号の搬送波周波数が補正される。以下、搬送波設定値及びデューティ設定値の計算について具体的な数値を用いて説明する。
目標とするPWM信号の搬送波周波数Fpwmを100kHz、デューティ比を50%とする。また、内部クロック信号の周波数Fintの変動のない理想値が8MHzであるとする。
搬送波設定値は(1/Fpwm)/(1/Fint)で計算され、上記内部クロック信号の周波数Fintが8MHzである場合、搬送波設定値は80となる。また、デューティ比50%により、デューティ設定値は、搬送波設定値の50%である40となる。
SCLKカウンタ18は、シリアルクロック信号SCLKの17サイクルのうちの16サイクルの間の内部クロック信号ICLKのパルス数をカウントする。ここで、シリアルクロック信号SCLKの周波数Fsclkは、500kHzとする。このSCLKカウンタ18のカウント値は、次式に従って計算される。
{16×(1/Fsclk)/(1/Fint)}
上記内部クロック信号ICLKの周波数Fintが8MHzの場合におけるSCLKカウンタ18のカウント値である理想カウント値は、上記カウント値の計算式に従って256と計算される。
ここで、仮に、内部クロック信号ICLKの周波数Fintが、変動のない理想的な8MHzからその2倍の16MHzに変動した場合を考える。この場合、SCLKカウンタ18のカウント値は、上記カウント値の計算式に従って、理想カウント値である256の2倍の512と計算される。なお、ここでは内部クロック信号ICLKの周波数Fintが2倍に変動した場合を例に説明しているが、この例は説明の簡単のために周波数Fintの変動率を誇張したものである。内部クロック信号ICLKの周波数Fintは、内部発振回路16の製造ばらつき、温度特性等に起因して、様々な変動率で変動しうる。なお、以下の説明においても、説明の簡単のため内部クロック信号ICLKの周波数Fintが2倍に変動した場合を例として適宜用いる。
このように、内部クロック信号ICLKの周波数Fintが変動すると、SCLKカウンタ18のカウント値も、周波数Fintの変動率と同じ変動率で変動する。換言すると、SCLKカウンタ18のカウント値の変動率から内部クロック信号ICLKの周波数Fintの変動率が分かることになる。上記の場合、SCLKカウンタ18のカウント値が理想カウント値から2倍に変動しているため、内部クロック信号ICLKの周波数Fintも、変動のない理想値である8MHzから2倍の16MHzに変動していることが分かる。
内部クロック信号ICLKの周波数Fintが2倍に変動しているため、搬送波設定値を80からその2倍の160とし、デューティ設定値も40からその2倍の80とする。これにより、目標とする搬送波周波数100kHz、デューティ比50%のPWM信号を、内部クロックICLKの周波数Fintが変動した場合であっても実現することができる。
演算器28では、上記のようにして、SCLKカウンタ18のカウント値の理想カウント値に対する比であるカウント値の変動率に基づき、PWM信号の搬送波設定値及びデューティ設定値が計算される。すなわち、搬送波設定値及びデューティ設定値は、それぞれ内部クロック信号ICLKが変動のない理想的な場合の値に対して、CLKカウンタ18のカウント値の理想カウント値に対する比であるカウント値の変動率を乗じることにより、再計算される。
なお、演算器28に用いられるSCLKカウンタ18の理想カウント値は、内部クロック信号ICLKの周波数Fintに変動がない理想的な場合にSCLKカウンタ18によりカウントされるカウント値として、予め求められている。予め求められた理想カウント値は、回路の制御プログラムにプログラムされ、また、メモリ等の記憶部に記憶されており、演算器28による計算に際して読み出される。
演算器28において計算された搬送波設定値及びデューティ設定値は、SPIによる通信により、PWM機能搭載IC10のPWM回路20に入力される。PWM回路20に入力された搬送波設定値及びデューティ設定値は、それぞれ搬送波レジスタ203及びデューティレジスタ204に書き込まれて記憶される。こうして、搬送波設定値及びデューティ設定値が更新されて搬送波周波数が補正される。
上記SCLKカウンタ18によるカウント、演算器28による搬送波設定値及びデューティ設定値の計算、並びに各設定値の各レジスタへの書き込みの一連の処理による搬送波周波数の補正は、特定のイベントが発生したときに行われるようにすることができる。特定のイベントとしては、MCU12又はPWM機能搭載IC10の制御プログラムのメインループが実行されたとき等の所定の時間が経過したときが例示される。また、SPIによる通信が行われたときが例示される。また、温度モニタ部である温度モニタ22により測定される温度が所定の温度になったときが例示される。これらのような特定のイベントが発生する毎に、上記SCLKカウンタ18によるカウント、並びに演算器28による各設定値の計算及び各レジスタへの書き込みを行い、各設定値が更新されて搬送波周波数が補正されるようにすることができる。
また、上記SCLKカウンタ18によるカウント、演算器28による搬送波設定値及びデューティ設定値の計算、並びに各設定値の各レジスタへの書き込みの一連の処理による搬送波周波数の補正は、特定のイベントの発生と無関係に、一定の時間間隔で常時行うようにすることもできる。
PWM回路20では、搬送波レジスタ203に書き込まれる搬送波設定値、及びデューティレジスタ204に書き込まれるデューティ設定値に基づき、PWM信号が生成される。
PWMカウンタ202には、n分周器201を介して内部クロック信号ICLKが入力される。ここでは、内部クロック信号ICLKは、n分周器201により分周されることなく、PWMカウンタ202にそのまま入力される。PWMカウンタ202では、搬送波レジスタ203に書き込まれた搬送波設定値に基づき、内部クロック信号ICLKが、最大カウント値を(搬送波設定値−1)としてカウント値0からカウントアップされる。PWMカウンタ202では、カウント値0から最大カウント値(搬送波設定値−1)までカウントアップされると、カウント値がクリアされてカウントアップが繰り返される。
比較器205では、PWMカウンタ202によりカウントされるカウント値が、デューティレジスタ204に記憶されたデューティ設定値と比較される。比較器205からは、PWMカウンタ202のカウント値がデューティ設定値よりも小さい場合、PWM信号の出力として、ハイレベルが出力される。一方、PWMカウンタ202のカウント値がデューティ設定値以上の場合、PWM信号の出力として、ローレベルが出力される。こうして、比較器205からPWM信号が出力される。
このように、本実施形態によれば、内部クロック信号ICLKよりも高精度なシリアルクロック信号SCLKを基準に内部クロック信号ICLKをカウントする。そして、カウントされたカウント値と理想カウント値との比に基づき、PWM信号の搬送波設定値を計算してPWM信号の搬送波周波数を補正する。したがって、本実施形態によれば、高精度な搬送波周波数でPWM信号を出力することができる。また、シリアルクロック信号SCLKは、MCU12に設けられた既存の発振回路26により生成されるものであるため、回路の複雑化やコストの上昇を伴うことはない。
なお、SCLKカウンタ18におけるカウントの基準となるシリアルクロック信号SCLKの周期を適宜設定することにより、演算器28における計算の簡略化を図ることができる。例えば、SCLKカウンタ18によるカウントを行うシリアルクロック信号SCLKの所定のサイクル数(パルス数)の時間を、PWM信号の搬送波周期と同じ時間に設定することもできる。これにより、SCLKカウンタ18のカウント値をそのまま搬送波設定値とすることにより、内部クロック信号ICLKの周波数Fintが変動しても、PWM信号について所望の搬送波周波数を得ることができる。
具体的には、PWM信号の搬送波周波数100kHz(搬送波周期10μs)を目標とする場合を考える。この場合、図6に示す例では、内部クロック信号ICLKをカウントする16サイクル(16パルス)の間の時間が搬送波周期10μsとなるように、シリアルクロック信号SCLKの周期を調整する。すなわち、シリアルクロック信号SCLKの周期を(10/16)μsとする。
すると、内部クロック信号ICLKの周波数が8MHzの場合、SCLKカウンタ18のカウント値は、次のようになる。
10μs/(1/Fint)=10μs×8MHz=80
また、内部クロック信号ICLKの周波数が16MHzの場合、SCLKカウンタ18のカウント値は、次のようになる。
10μs/(1/Fint)=10μs×16MHz=160
したがって、SCLKカウンタ18のカウント値をそのまま搬送波設定値とすることにより、目標とする搬送波周波数100kHzを得ることができる。
次に、上記本実施形態によるPWM信号出力回路により出力されるPWM信号を用いた制御処理についてさらに図7を用いて説明する。図7は、本実施形態によるPWM信号出力回路により出力されるPWM信号を用いた制御処理を示すフローチャートである。
まず、内蔵発振回路16の設計値等から想定される内部クロック信号ICLKを基準に、PWM信号について所望の搬送波周波数及びデューティ比となる搬送波設定値及びデューティ設定値をそれぞれ計算する(ステップS11)。
次いで、ステップS11において計算された搬送波設定値及びデューティ設定値をそれぞれ搬送波レジスタ203及びデューティレジスタ204にそれぞれ書き込む(ステップS12)。
こうして各レジスタ203、204に書き込まれた搬送波設定値及びデューティ設定値によりPWM回路20においてPWM信号を生成し、生成されたPWM信号を用いて、モータ、ブザー等の制御対象を制御する(ステップS13)。
制御対象が制御される間、制御対象に状態変更がある否かをモニタする(ステップS14)。制御対象に状態変更がある場合(ステップS14、YES)、その制御対象の状態変更に応じて、想定される内部クロック信号ICLKを基準に、所望の搬送波周波数及びデューティ比となる搬送波設定値及びデューティ設定値を再び計算する(ステップS15)。
ステップS15の後、ステップS12に戻り、ステップS15において計算された搬送波設定値及びデューティ設定値をそれぞれ搬送波レジスタ203及びデューティレジスタ204に書き込み、上記処理を繰り返す。
一方、制御対象に状態変更がない場合(ステップS14、NO)、特定のイベントが発生した否かを判定する(ステップS16)。特定のイベントが発生した場合、上述のように、SCLKカウンタ18によるカウント、演算器28による搬送波設定値及びデューティ設定値の計算、並びに各設定値の各レジスタへの書き込みの一連の処理による搬送波周波数の補正を行う。こうして、高精度な外部クロック信号であるシリアルクロック信号SCLKに基づき、搬送波設定値及びデューティ設定値を再び計算してPWM信号の搬送波周波数を補正する(ステップS17)。
ステップS17の後、ステップS12に戻り、ステップS17において計算された搬送波設定値及びデューティ設定値をそれぞれ搬送波レジスタ203及びデューティレジスタ204に書き込み、上記処理を繰り返す。
一方、特定のイベントの発生がない場合(ステップS16、NO)、続いて制御対象の制御を終了するか否かを判定する(ステップS18)。制御対象の制御を終了する場合(ステップS18、YES)、制御対象の処理を終了する。一方、制御対象の制御を終了しない場合(ステップS18、NO)、ステップS13に戻り、制御対象の制御を継続する。
[第2実施形態]
本発明の第2実施形態によるPWM信号出力回路について図8及び図9を用いて説明する。図8は、本実施形態によるPWM信号出力回路に用いられるPWM回路の構成を示すブロック図である。図9は、本実施形態によるPWM信号出力回路の動作時における各種信号の波形等を示す波形図である。なお、第1実施形態によるPWM信号出力回路と同様の構成要素については同一の符号を付し説明を省略し又は簡潔にする。
上記第1実施形態によるPWM信号出力回路は、PWM信号の搬送波周波数の精度向上に有効である。ただし、搬送波設定値を再計算して再計算する前の値と異なる値に設定すると、PWM信号のデューティ分解能が変化することになる。本実施形態では、デューティ分解能を維持しつつ、搬送波周波数の精度を向上しうるPWM信号出力回路について説明する。
まず、本実施形態によるPWM信号出力回路を説明するに先立ち、PWM信号のデューティ分解能を維持することが可能なPWM回路について図8を用いて説明する。図8は、PWM信号のデューティ分解能を維持することが可能なPWM回路を示すブロック図である。なお、図8に示すPWM回路は、本実施形態によるPWM信号出力回路にもPWM回路として用いられる。
図8に示すように、PWM回路21は、n分周器211と、PWMカウンタ212と、デューティレジスタ214と、比較器215とを有している。
n分周器211には、周波数Fintの内部クロック信号ICLKが入力されるようになっている。n分周器211は、入力される内部クロック信号ICLKをそのまま又は分周比n(nは2以上の整数)で分周して、周波数Fpwmcのクロック信号としてPWMカウンタ212に入力するものである。
PWMカウンタ212は、例えば、8ビットのカウンタであり、入力される周波数Fpwmcのクロック信号を、最大カウント値を(2−1)としてカウント値0からカウントアップするものである。PWMカウンタ212は、カウント値0から最大カウント値(2−1)までカウントアップすると、カウント値をクリアしてカウントアップを繰り返す。PWMカウンタ212のカウント数は、PWM信号のデューティ分解能となる。例えば、PWMカウンタ212が8ビットのカウンタの場合、PWM信号のデューティ分解能の分解能も8ビット(256階調)となる。
デューティレジスタ214は、例えば、8ビットのレジスタである。デューティレジスタ214には、デューティ設定値が書き込まれて記憶されるようになっている。デューティレジスタ214に書き込まれたデューティ設定値は、比較器215において、PWMカウンタ212のカウント値との比較に用いられる。
比較器215は、PWMカウンタ212によりカウントされるカウント値を、デューティレジスタ214に記憶されたデューティ設定値と比較する。比較器215は、PWMカウンタ212のカウント値がデューティ設定値よりも小さい場合、PWM信号の出力として、ハイレベルを出力する。一方、PWMカウンタ212のカウント値がデューティ設定値以上の場合、PWM信号の出力として、ローレベルを出力する。こうして、比較器215からPWM信号が出力される。
上記図8に示すPWM回路21において、例えば、内部クロック信号ICLKの周波数Fintを8MHzとし、これを4分周して周波数Fpwmcを2MHzとし、デューティ設定値を128とした場合を考える。この場合、PWM信号の搬送波周波数は、以下のように計算される。
1/{(1/Fpwmc)×2}=Fpwmc/2=7.812kHz
また、デューティ比は、デューティ設定値を2で除することにより求められ、50%となる。
上記の場合において、内部クロック信号ICLKの周波数Fintのみが8MHzから16MHzに変動したとき、PWM信号の搬送波周波数は、15.625kHzになる。一方、デューティ比及びデューティ分解能は、内部クロック信号ICLKの周波数Fintに依存しないため、いずれも内部クロック信号ICLKの周波数Fintが8MHzのときと変わりはない。
上記の場合では、内部クロック信号ICLKの周波数Fintが変動したときにおいて、デューティ比及びデューティ分解能は変動しないものの、PWM信号の搬送波周波数は変動してしまうことになる。搬送波周波数が変動することによる不都合については、上述したとおりである。これに対して、本実施形態によるPWM信号出力回路は、デューティ比及びデューティ分解能の変動を伴うことなく、搬送波周波数の精度を向上しうるものである。以下、本実施形態によるPWM信号出力回路について説明する。
本実施形態によるPWM信号出力回路の構成では、図4に示す上記第1実施形態による構成において、PWM回路20に代えて、図8に示すPWM回路21が用いられている。PWM回路21の分周器211には、PWM機能搭載IC10の内蔵発振回路16により生成される周波数Fintの内部クロック信号ICLKが入力されるようになっている。
本実施形態によるPWM信号出力回路において、MCU12の発振回路26では、生成するシリアルクロック信号SCLKの周期が、目標とするPWM信号の搬送波の周期の1/(デューティ分解能)に設定される。例えば、デューティ分解能が8ビット(256階調)の場合、シリアルクロック信号SCLKの周期は、目標とするPWM信号の搬送波の周期の1/256に設定される。
また、SCLKカウンタ18は、第1実施形態と同様、MCU12の発振回路26によるシリアルクロック信号SCLKを基準に、内蔵発振回路16による内部クロック信号ICLKをカウントするカウンタ部である。ただし、本実施形態では、SCLKカウンタ18は、シリアルクロック信号SCLKの1サイクルの間、内部クロック信号ICLKをカウントする。SCLKカウンタ18のカウント値としては、シリアルクロック信号SCLKの1サイクルの間の内部クロック信号ICLKのサイクル数(パルス数)が得られる。
SCLKカウンタ18のカウント値は、後述するように、PWM回路21におけるn分周器211の分周比nとして用いられる。
以下、本実施形態によるPWM信号出力回路の動作についてさらに図9を用いて説明する。以下の説明では、PWM信号の搬送波周波数の目標値を上述した7.812kHzとし、デューティ分解能を8ビット(256階調)とした場合を例とする。図9は、本実施形態によるPWM信号出力回路の動作時における各種信号の波形等を示す波形図である。図9には、上段から下段に向かって順に、スレーブセレクト信号SSの波形、シリアルクロック信号SCLKの波形、内部クロック信号ICLKの波形、及びSCLKカウンタ18によるカウントの様子がそれぞれ示されている。なお、内部クロック信号ICLKについては、波形の一部を省略して示している。
まず、第1実施形態と同様に、MCU12によりスレーブセレクト信号SSがローレベルにされることにより、PWM機能搭載IC10がMCU12の通信対象として選択される。
また、MCU12の発振回路26では、PWM機能搭載IC10の内蔵発振回路16により生成される内部クロック信号ICLKよりも高精度なクロック信号MCLKが生成される。発振回路26により生成された高精度なクロック信号MCLKは、シリアル通信回路24及び信号線LSCLKを介して、シリアルクロック信号SCLKとしてPWM機能搭載IC10に入力される。
ここで、PWM信号の搬送波周波数の目標値は、7.812kHzであり、デューティ分解能は8ビット(256階調)である。したがって、シリアルクロック信号SCLKの周期は、(1/7.812kHz)×(1/256)により計算される。よって、シリアルクロック信号SCLKの周波数Fsclkは2MHzに設定される。
PWM機能搭載IC10に入力されたシリアルクロック信号SCLKは、MCU12とPWM機能搭載IC10との間のSPIによる通信における同期信号として用いられるほか、SCLKカウンタ18に入力される。
SCLKカウンタ18には、シリアルクロック信号SCLKが入力されるとともに、内蔵発振回路16により生成された内部クロック信号ICLKが入力される。シリアルクロック信号SCLKは、内部クロック信号ICLKと比較して周波数の精度が高いクロック信号になっている。また、シリアルクロック信号SCLKは、内部クロック信号ICLKと比較して低周波数のクロック信号になっている。
SCLKカウンタ18では、MCU12の発振回路26によるシリアルクロック信号SCLKを基準に、内蔵発振回路16による内部クロック信号ICLKがカウントされる。SCLKカウンタ18のカウント値としては、シリアルクロック信号SCLKの1サイクルの間における内部クロック信号ICLKのサイクル数(パルス数)が得られる。
具体的には、SCLKカウンタ18では、図6に示すように、シリアルクロック信号SCLKの1サイクルの時間TSCLKの間、内部クロック信号ICLKがカウントされる。ここで、時間TSCLKは、PWM信号の搬送波周期の1/(デューティ分解能)の時間である。これにより、SCLKカウンタ18のカウント値として、シリアルクロック信号SCLKの1サイクルの時間TSCLKの間の内部クロック信号ICLKのサイクル数が得られる。
SCLKカウンタ18のカウント値は、シリアルクロック信号SCLKの周波数Fsclk及び内部クロック信号ICLKの周波数Fintを用いて次式により計算される。
{1×(1/Fsclk)/(1/Fint)}
こうして計算されたSCLKカウンタ18のカウント値は、PWM回路21におけるn分周器211の分周比nとして用いられる。
ここで、上述のようにシリアルクロック信号SCLKの周波数Fsclkが2MHzに設定された例について考える。
内部クロック信号ICLKの周波数Fintが変動のない理想値である8MHzの場合には、SCLKカウンタ18のカウント値は、上記カウント値の計算式に従って4と計算される。このカウント値がSCLKカウンタ18の理想カウント値である。計算されたカウント値4をn分周器211の分周比とすると、n分周器211により内部クロック信号ICLKを4分周した搬送波周波数Fpwmcは2MHzとなる。したがって、上記図8を用いて説明したように、この場合のPWM信号の搬送波周波数は、以下のように計算される。
1/{(1/Fpwmc)×2}=Fpwmc/2=7.812kHz
ここで、仮に、内部クロック信号ICLKの周波数Fintが、変動のない理想的な8MHzからその2倍の16MHzに変動した場合、SCLKカウンタ18のカウント値は、上記カウント値の計算式により、理想カウント値である4の2倍の8と計算される。計算されたカウント値8をn分周器211の分周比とすると、n分周器211により内部クロック信号ICLKを8分周した搬送波周波数Fpwmcは2MHzとなる。したがって、この場合のPWM信号の搬送波周波数も、上記内部クロック信号ICLKの変動のない理想的な場合と同様に、以下のように計算される。
1/{(1/Fpwmc)×2}=Fpwmc/2=7.812kHz
このように、内部クロック信号ICLKの周波数Fintが変動すると、SCLKカウンタ18のカウント値も、周波数Fintの変動率と同じ変動率で変動する。換言すると、SCLKカウンタ18のカウント値の変動率から内部クロック信号ICLKの周波数Fintの変動率が分かることになる。上記の場合、SCLKカウンタ18のカウント値が理想カウント値から2倍に変動しているため、内部クロック信号ICLKの周波数Fintも、変動のない理想値である8MHzから2倍の16MHzに変動していることが分かる。
内部クロック信号ICLKの周波数Fintが2倍に変動しているため、n分周器211の分周比も4からその2倍の8とする。これにより、目標とする搬送波周波数7.812kHzのPWM信号を、内部クロックICLKの周波数Fintが変動した場合であっても実現することができる。
n分周器211では、上記のようにSCLKカウンタ18のカウント値が、その分周比nとして設定される。こうして分周器211の分周比nを設定してPWM信号の搬送波周波数を補正することで、PWM信号の搬送波周波数を目標値に維持することができる。
なお、PWM信号のデューティ分解能は、PWMカウンタ212の総カウント数であり、内部クロックICLKの周波数Fintが変動した場合であっても変動することはない。例えば、PWMカウンタ212が8ビットカウンタである場合、周波数Fintが変動した場合であっても、8ビット(256階調)であることに変わりない。また、PWM信号のデューティ比は、デューティレジスタ214に記憶されたデューティ設定値により決定され、内部クロック信号ICLKの周波数Fsclkの変動によりデューティ比が変動することもない。
上記のようにしてn分周器211の分周比nが設定されたPWM回路21におけるPWM信号の生成は、上述したとおりであるので説明を省略する。
なお、上記SCLKカウンタ18によるカウント、及びn分周器211における分周比の設定の一連の処理による搬送波周波数の補正は、特定のイベントが発生したときに行われるようにすることができる。特定のイベントとしては、MCU12又はPWM機能搭載IC10の制御プログラムのメインループが実行されたとき等の所定の時間が経過したときが例示される。また、SPIによる通信が行われたときが例示される。また、温度モニタ22により測定される温度が所定の温度になったときが例示される。これらのような特定のイベントが発生する毎に、上記SCLKカウンタ18によるカウント、及びn分周器211における分周比の設定の一連の処理による搬送波周波数の補正を行うようにすることができる。
また、上記SCLKカウンタ18によるカウント、及びn分周器211における分周比の設定の一連の処理による搬送波周波数の補正は、特定のイベントの発生と無関係に、一定の時間間隔で常時行うようにすることもできる。
このように、本実施形態によれば、内部クロック信号ICLKよりも高精度なシリアルクロック信号SCLKを基準に内部クロック信号ICLKをカウントする。そして、カウントされたカウント値と理想カウント値との比に基づき、PWM信号を生成するための内部クロック信号ICLKを分周する分周比を計算してPWM信号の搬送波周波数を補正する。したがって、本実施形態によれば、高精度な搬送波周波数でPWM信号を出力することができる。また、シリアルクロック信号SCLKは、MCU12に設けられた既存の発振回路26により生成されるものであるため、回路の複雑化やコストの上昇を伴うことはない。また、本実施形態によれば、PWM信号のデューティ分解能が変動することもない。
なお、上記の場合、シリアルクロック信号SCLKの1サイクルの間の内部クロック信号ICLKをカウントしている。この場合、PWMカウンタ18のカウント値が小さいと、シリアルクロック信号SCLKと内部クロック信号ICLKとの間の位相のずれ等に起因するカウント誤差の影響が大きくなる。PWMカウンタ18のカウント値は、シリアルクロック信号SCLKと内部クロック信号ICLKとの間の周波数の差が小さいほど小さくなる。
そこで、シリアルクロック信号SCLKの2サイクル(Nは1以上の整数)の間の内部クロック信号ICLKをカウントし、得られたカウント値を1/2してもよい。このようにシリアルクロック信号SCLKの2サイクル分のカウント値を平均することにより、シリアルクロック信号SCLKの1サイクルの間の内部クロック信号ICLKを高い精度でカウントすることができる。
例えば、シリアルクロック信号SCLKの4サイクルの間の内部クロック信号ICLKをカウントした場合、得られたカウント値を1/4する、すなわち2ビットだけ左シフトする。これにより、シリアルクロック信号SCLKの1サイクルの間のカウント値を高い精度で得ることができる。
[第3実施形態]
本発明の第3実施形態によるPWM信号出力回路について図10及び図11を用いて説明する。図10は、本実施形態によるPWM信号出力回路を構成するPWM機能搭載IC及びMCUの構成を示すブロック図である。図11は、本実施形態によるPWM信号出力回路の動作時における各種信号の波形等を示す波形図である。なお、第1実施形態によるPWM信号出力回路と同様の構成要素については同一の符号を付し説明を省略し又は簡潔にする。
上記第1実施形態及び第2実施形態では、MCU12からPWM機能搭載IC10に入力されるシリアルクロック信号SCLKを用いて、内部クロック信号ICLKの変動率を求めている。これらの方法とは逆に、PWM機能搭載IC10からMCU12に対して、PWM機能搭載IC10の内部クロック信号ICLKに基づく信号を入力して、内部クロック信号ICLKの変動率を求めることもできる。本実施形態では、後者の方法を用いたPWM信号出力回路について説明する。
本実施形態によるPWM信号出力回路は、上記第1実施形態によるPWM信号出力回路と同様、PWM機能搭載IC10の一部と、MCU12の一部とにより構成され、両者は、例えばSPIを介して互いに通信可能に接続されている。
図10に示すように、PWM機能搭載IC10は、シリアル通信回路14と、内蔵発振回路16と、PWM回路20と、温度モニタ22と、パルス信号生成回路30とを有している。なお、PWM機能搭載IC10は、これら以外に図示しない構成部を有し、PWM信号を生成して出力するPWM機能以外の他の機能を有するように構成することも可能である。
一方、MCU12は、シリアル通信回路24と、発振回路26と、パルス信号計測カウンタ32と、演算器34とを有している。なお、MCU12は、これら以外に図示しない構成部を有し、コントローラとして機能する。
まず、PWM機能搭載IC10の各部について説明する。
シリアル通信回路14には、第1実施形態による場合と同様、信号線LSS、信号線LSCLK、信号線LMOSI、及び信号線LMISOの各信号線が接続されている。
内蔵発振回路16は、第1実施形態における内蔵発振回路16と同様のものである。内蔵発振回路16により生成された内部クロック信号ICLKは、PWM回路20及びパルス信号生成回路30にそれぞれ入力されるようになっている。
パルス信号生成回路30は、内部クロック信号ICLKを所定の分周比で分周し、内部クロック信号ICLKが分周されてなるパルス信号PULSを生成するものである。パルス信号生成回路30により生成されたパルス信号PULSは、MCU12のパルス信号計測カウンタ32に入力されるようになっている。
PWM回路20は、第1実施形態におけるPWM回路20と同様に図5に示す構成を有し、搬送波設定値及びデューティ設定値に基づき、PWM信号を生成して出力するものである。PWM回路20においてPWM信号の生成に用いられる搬送波設定値及びデューティ設定値は、SPIによる通信により、MCU12の演算器34からPWM回路20に入力されるようになっている。PWM回路20に入力された搬送波設定値及びデューティ設定値は、それぞれPWM回路20における搬送波レジスタ203及びデューティレジスタ204(図5参照)に書き込まれて記憶されるようになっている。
温度モニタ22は、第1実施形態における温度モニタ22と同様のものである。
次に、MCU12の各部について説明する。
シリアル通信回路24には、第1実施形態による場合と同様、信号線LSS、信号線LSCLK、信号線LMOSI、及び信号線LMISOの各信号線が接続されている。
発振回路26は、第1実施形態における発振回路26と同様のものである。発振回路26によるクロック信号MCLKは、SPIによる通信における同期信号となるシリアルクロック信号SCLKとして用いられるほか、パルス信号計測カウンタ32に入力されるようになっている。
パルス信号計測カウンタ32には、発振回路26により生成されるクロック信号MCLKとともに、PWM機能搭載IC10のパルス信号生成回路30により生成されるパルス信号PULSが入力されるようになっている。パルス信号計測カウンタ32は、パルス信号生成回路30によるパルス信号PULSを基準に、発振回路26によるクロック信号MCLKをカウントするカウンタ部である。パルス信号計測カウンタ32のカウント値は、演算器34に入力されるようになっている。
演算器34は、パルス信号計測カウンタ32のカウント値が入力され、このカウント値を予め求められているカウント値の理想値である理想カウント値と比較し、比較結果に基づき、搬送波設定値及びデューティ設定値を計算する演算部である。演算器34による搬送波設定値及びデューティ設定値の計算結果は、SPIによる通信により、PWM機能搭載IC10のPWM回路20に入力されるようになっている。演算器34は、こうして搬送波設定値及びデューティ設定値を計算することにより、PWM信号の搬送波周波数を補正する。
以下、本実施形態によるPWM信号出力回路の動作についてさらに図11を用いて説明する。図11は、本実施形態によるPWM信号出力回路の動作時における各種信号の波形等を示す波形図である。図11には、上段から下段に向かって順に、パルス信号PULSの波形、発振回路26によるクロック信号MCLKの波形、及びパルス信号計測カウンタ32によるカウントの様子がそれぞれ示されている。なお、内部クロック信号MCLKについては、波形の一部を省略して示している。
MCU12の発振回路26では、PWM機能搭載IC10の内蔵発振回路16により生成される内部クロック信号ICLKよりも高精度なクロック信号MCLKが生成される。発振回路26により生成された高精度なクロック信号MCLKは、シリアル通信回路24及び信号線LSCLKを介して、シリアルクロック信号SCLKとしてPWM機能搭載IC10に入力される。PWM機能搭載IC10に入力されたシリアルクロック信号SCLKは、MCU12とPWM機能搭載IC10との間のSPIによる通信における同期信号として用いられる。
また、発振回路26により生成された高精度なクロック信号MCLKは、パルス信号計測カウンタ32に入力される。
また、PWM機能搭載IC10のパルス信号生成回路30には、内蔵発振回路16により生成される内部クロック信号ICLKが入力される。パルス信号生成回路30では、入力された内部クロック信号ICLKが所定の分周比で分周される。なお、内部クロック信号ICLKを分周する分周比は、適宜設定することができる。こうして、パルス信号生成回路30では、内部クロック信号ICLKを基にしたパルス信号として、内部クロック信号ICLKが分周されてなるパルス信号PULSが生成される。生成されたパルス信号PULSは、MCU12のパルス信号計測カウンタ32に入力される。
パルス信号計測カウンタ32には、発振回路26により生成されたクロック信号MCLKが入力されるとともに、パルス信号計測カウンタ32により生成されたパルス信号PULSが入力される。クロック信号MCLKは、内部クロック信号ICLKに基づき生成されたパルス信号PULSと比較して周波数の精度が高いクロック信号になっている。また、クロック信号MCLKは、パルス信号PULSと比較して高周波数のクロック信号になっている。
パルス信号計測カウンタ32では、PWM機能搭載IC10のパルス信号生成回路30によるパルス信号PULSを基準に、発振回路26によるクロック信号MCLKがカウントされる。パルス信号計測カウンタ32のカウント値としては、パルス信号PULSの所定のサイクル数(パルス数)の間におけるクロック信号MCLKのサイクル数(パルス数)が得られる。パルス信号計測カウンタ32のカウント値は、演算器34に入力される。
具体的には、パルス信号計測カウンタ32では、図11に示すように、パルス信号PULSの1サイクル(1パルス)の間、クロック信号MCLKがカウントされる。これにより、パルス信号計測カウンタ32のカウント値として、パルス信号PULSの1サイクルの間のクロック信号MCLKのサイクル数が得られる。
演算器34では、パルス信号計測カウンタ32のカウント値に基づき、PWM信号を出力するための搬送波設定値及びデューティ設定値が計算される。これにより、PWM信号の搬送波周波数が補正される。以下、搬送波設定値及びデューティ設定値の計算について具体的な数値を用いて説明する。
例えば、次の場合を考える。すなわち、PWM機能搭載IC10の内蔵発振回路16により生成される内部クロック信号ICLKの周波数Fintを8MHzとする。また、パルス信号PULSを、内部クロック信号ICLKを8分周したものとし、その周波数Fpulsを1MHzとする。また、MCU12の発振回路26により生成されるクロック信号MCLKの周波数Fmcuを32MHzとする。
ここで、パルス信号計測カウンタ32のカウント値は、次式に従って計算される。
(1/Fpuls)/(1/Fmcu)
上記の場合、パルス信号計測カウンタ32のカウント値は、上記カウント値の計算式に従って32と計算される。
ここで、仮に、内部クロック信号ICLKの周波数Fintが、変動のない理想的な8MHzからその2倍の16MHzに変動した場合、パルス信号PULSの周波数Fpulsも2倍の2MHzとなる。このため、パルス信号計測カウンタ32のカウント値は、上記カウント値の計算式に従って、32の1/2の16と計算される。
このように、内部クロック信号ICLKの周波数Fintが変動すると、パルス信号計測カウンタ32のカウント値は、周波数Fintの変動率の逆数となる変動率で変動する。換言すると、パルス信号計測カウンタ32のカウント値の変動率から内部クロック信号ICLKの周波数Fintの変動率が分かることになる。上記の場合、パルス信号計測カウンタ32のカウント値が理想カウント値から1/2に変動しているため、内部クロック信号ICLKの周波数Fintは、変動のない理想値である8MHzから2倍の16MHzに変動していることが分かる。
内部クロック信号ICLKの周波数Fintが2倍に変動しているため、搬送波設定値を2倍の値とし、デューティ設定値も2倍の値とする。例えば、搬送波設定値及びデューティ設定値をもともとそれぞれ80及び40に設定していた場合、搬送波設定値を2倍の160とし、デューティ設定値も2倍の80とする。これにより、目標とする搬送波周波数及びデューティ比のPWM信号を、内部クロックICLKの周波数Fintが変動した場合であっても実現することができる。
演算器34では、上記のようにして、パルス信号計測カウンタ32のカウント値の理想カウント値に対する比であるカウント値の変動率に基づき、PWM信号の搬送波設定値及びデューティ設定値が計算される。すなわち、搬送波設定値及びデューティ設定値は、それぞれ内部クロック信号ICLKが変動のない理想的な場合の値に対し、パルス信号計測カウンタ32のカウント値と理想カウント値との比であるカウント値の変動率の逆数を乗じることにより、再計算される。
なお、演算器34に用いられるパルス信号計測カウンタ32の理想カウント値は、内部クロック信号ICLKの周波数Fintに変動がない理想的な場合にパルス信号計測カウンタ32によりカウントされるカウント値として、予め求められている。予め求められた理想カウント値は、回路の制御プログラムにプログラムされ、また、メモリ等の記憶部に記憶されており、演算器34による計算に際して読み出される。
演算器34において計算された搬送波設定値及びデューティ設定値は、SPIによる通信により、PWM機能搭載IC10のPWM回路20に入力される。PWM回路20に入力された搬送波設定値及びデューティ設定値は、それぞれ搬送波レジスタ203及びデューティレジスタ204に書き込まれて記憶される。こうして、搬送波設定値及びデューティ設定値が更新されて搬送波周波数が補正される。
上記パルス信号計測カウンタ32によるカウント、演算器34による搬送波設定値及びデューティ設定値の計算、並びに各設定値の各レジスタへの書き込みの一連の処理による搬送波周波数の補正は、第1実施形態と同様、特定のイベントが発生したときに行われるようにすることができる。また、特定のイベントの発生と無関係に、一定の時間間隔で常時行うようにすることもできる。
PWM回路20では、上記第1実施形態の場合と同様に、搬送波レジスタ203に書き込まれる搬送波設定値、及びデューティレジスタ204に書き込まれるデューティ設定値に基づき、PWM信号が生成される。
このように、PWM機能搭載IC10からMCU12に対して、PWM機能搭載IC10の内部クロック信号ICLKに基づくパルス信号PULSを入力して、内部クロック信号ICLKの変動率を求めてもよい。
なお、上記では、内蔵発振回路16による内部クロック信号ICLKが分周されてなるパルス信号PULSをMCU12に入力しているが、内部クロック信号ICLKを分周することなく、そのままMCU12に入力してもよい。
また、上記では、パルス信号生成回路30によるパルス信号PULSを基準に、発振回路26によるクロック信号MCLKをカウントしている。しかしながら、パルス信号PULS又は内部クロック信号ICLKよりもクロック信号MCLKが低周波数の場合には、上記第1実施形態と同様に、クロック信号MCLKを基準に、パルス信号PULS又は内部クロック信号ICLKをカウントしてもよい。
また、上記では、演算器34及びパルス信号計測カウンタ32をMCU12に設けている。しかしながら、演算器34及びパルス信号計測カウンタ32のいずれか一方又は両方をPWM機能搭載IC10に設けてもよい。
[変形実施形態]
上記実施形態に限らず、種々の変形が可能である。
例えば、上記実施形態では、MCU12の発信回路26によるシリアルクロック信号SCLK又はクロック信号MCLKを、SCLKカウンタ18又はパルス信号計測カウンタ32におけるカウントに用いる場合を例に説明した。しかしながら、カウントに用いる高精度な時間信号は、内蔵クロック信号ICLKよりも高精度であればこれらに限定されるものでない。シリアルクロック信号SCLK又はクロック信号MCLKに代えて、例えば、ウォッチドッグタイマのランパルス信号、専用端子から入力される専用のクロック信号等を、高精度な時間信号として、SCLKカウンタ18又はパルス信号計測カウンタ32におけるカウントに用いることができる。
また、上記実施形態では、演算器28又は演算器34をMCU12に設けた場合を例に説明したが、演算器28又は演算器34は、必ずしもMCU12に設ける必要はなく、PWM機能搭載IC10に設けてもよい。また、演算器28又は演算器34は、PWM機能搭載IC10及びMCU12の両者とは別個のICに設けることもできる。
例えば、図12は、演算器28がPWM機能搭載IC10に設けられた変形実施形態によるPWM信号出力回路を構成するMCU及びPWM機能搭載ICの構成を示すブロック図である。図12に示すように、演算器28は、PWM機能搭載IC10に設けることもできる。
また、上記実施形態では、MCU12とPWM機能搭載IC10とを通信可能に接続する規格としてSPIを用いた場合を例に説明したが、両者を通信可能に接続する規格は、これに限定されるものではなく、種々の規格を用いることができる。
10…PWM機能搭載IC
12…MCU
16…内蔵発振回路
18…SCLKカウンタ
20…PWM回路
22…温度モニタ
26…発振回路
28…演算器
30…パルス信号生成回路
32…パルス信号計測カウンタ
34…演算器

Claims (11)

  1. 内部クロック信号を生成する内部クロック信号生成部と、前記内部クロック信号を基にした搬送波周波数でPWM信号を生成するPWM回路とを含む回路部と、
    前記回路部の外部に設けられ、前記内部クロック信号よりも高精度な時間信号を生成する時間信号生成部と、
    前記時間信号に基づき、前記搬送波周波数を補正する演算部と
    を有するPWM信号出力回路。
  2. 前記時間信号は、前記内部クロック信号よりも低周波数であり、
    前記時間信号の1サイクル又は複数サイクルの間における前記内部クロック信号をカウントするカウンタ部をさらに有し、
    前記演算部は、前記カウンタ部によりカウントされた前記カウント値と、前記内部クロック信号が変動していない場合に前記カウンタ部によりカウントされるカウント値である理想カウント値との比に基づき、前記搬送波周波数を設定するための設定値を計算する請求項1記載のPWM信号出力回路。
  3. 前記カウンタ部が前記内部クロック信号をカウントする前記時間信号の1サイクル又は複数サイクルの間の時間が、前記PWM信号の搬送波周期と同じ時間に設定されている請求項2記載のPWM信号出力回路。
  4. 前記回路部は、第1の集積回路に設けられ、
    前記演算部は、前記第1の集積回路とは別個の第2の集積回路に設けられている請求項1乃至3のいずれか1項に記載のPWM信号出力回路。
  5. 前記回路部及び前記演算部は、同一の集積回路に設けられている請求項1乃至3のいずれか1項に記載のPWM信号出力回路。
  6. 前記内部クロック信号又は前記内部クロック信号を基にしたパルス信号は、前記時間信号よりも低周波数であり、
    前記内部クロック信号又は前記パルス信号の1サイクル又は複数サイクルの間における前記時間信号をカウントするカウンタ部をさらに有し、
    前記演算部は、前記カウンタ部によりカウントされた前記カウント値と、前記内部クロック信号が変動していない場合に前記カウンタ部によりカウントされるカウント値である理想カウント値との比に基づき、前記搬送波周波数を設定するための設定値を計算する請求項1記載のPWM信号出力回路。
  7. 前記回路部は、第1の集積回路に設けられ、
    前記時間信号生成部及び前記カウンタ部は、前記第1の集積回路とは別個の第2の集積回路に設けられている請求項6記載のPWM信号出力回路。
  8. 前記回路部の温度を測定してモニタする温度モニタ部をさらに有し、
    前記温度モニタ部により測定される温度が所定の温度になったときに、前記演算部が動作して前記搬送波周波数が補正される請求項1乃至7のいずれか1項に記載のPWM信号出力回路。
  9. 前記回路部に前記時間信号が入力されたときに、前記演算部が動作して前記搬送波周波数が補正される請求項1乃至7のいずれか1項に記載のPWM信号出力回路。
  10. 内部クロック信号を生成する内部クロック信号生成部と、PWM信号を生成するPWM回路とを含み、前記PWM回路が、前記内部クロック信号を分周する分周器を有し、前記内部クロック信号が分周されてなるクロック信号を基にした搬送波周波数で前記PWM信号を生成する回路部と、
    前記回路部の外部に設けられ、前記内部クロック信号よりも高精度な時間信号を生成する時間信号生成部と、
    前記分周器の前記内部クロック信号を分周する分周比が、前記時間信号に基づき設定されるPWM信号出力回路。
  11. 前記時間信号の周期は、前記PWM信号の搬送波周期を前記PWM信号のデューティ分解能で除した値に設定され、
    前記時間信号の1サイクルの間の前記内部クロック信号のパルス数をカウントするカウンタ部をさらに有し、
    前記分周器の前記内部クロック信号を分周する分周比が、前記カウンタ部によりカウントされたカウント値に設定される請求項10記載のPWM信号出力回路。
JP2014220087A 2014-10-29 2014-10-29 Pwm信号出力回路 Pending JP2016086385A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014220087A JP2016086385A (ja) 2014-10-29 2014-10-29 Pwm信号出力回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014220087A JP2016086385A (ja) 2014-10-29 2014-10-29 Pwm信号出力回路

Publications (1)

Publication Number Publication Date
JP2016086385A true JP2016086385A (ja) 2016-05-19

Family

ID=55973415

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014220087A Pending JP2016086385A (ja) 2014-10-29 2014-10-29 Pwm信号出力回路

Country Status (1)

Country Link
JP (1) JP2016086385A (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006309479A (ja) * 2005-04-28 2006-11-09 Nec Electronics Corp クロック補正回路及びクロック補正方法並びにマイクロコントローラ
JP2007240666A (ja) * 2006-03-06 2007-09-20 Nanao Corp 温度推定方法、補正方法及び表示装置
JP2013045383A (ja) * 2011-08-26 2013-03-04 Alpine Electronics Inc 電子システム
JP2013117785A (ja) * 2011-12-01 2013-06-13 Lapis Semiconductor Co Ltd 時間測定装置、マイクロコントローラ、プログラム、及び時間測定方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006309479A (ja) * 2005-04-28 2006-11-09 Nec Electronics Corp クロック補正回路及びクロック補正方法並びにマイクロコントローラ
JP2007240666A (ja) * 2006-03-06 2007-09-20 Nanao Corp 温度推定方法、補正方法及び表示装置
JP2013045383A (ja) * 2011-08-26 2013-03-04 Alpine Electronics Inc 電子システム
JP2013117785A (ja) * 2011-12-01 2013-06-13 Lapis Semiconductor Co Ltd 時間測定装置、マイクロコントローラ、プログラム、及び時間測定方法

Similar Documents

Publication Publication Date Title
CN104901687B (zh) 时钟频率校准方法和系统
JP6268020B2 (ja) クロック生成方法および半導体装置
JP2007208969A (ja) ローカルクロック補正方法および回路
JP2007094931A (ja) 補正クロック発生回路及びそれを備えるusbデバイス
WO2019061077A1 (zh) 脉宽修正电路、脉宽修正方法及电子设备
CN103135661A (zh) 时间测量装置、微型控制器、程序以及时间测量方法
JP5914718B2 (ja) 発振器を有する時間ベース、周波数分割回路及びクロックパルス抑制回路
TWI613890B (zh) 數位控制振盪器的頻率校正方法及其頻率校正裝置
US10826474B2 (en) Clock generation circuit and clock adjustment method thereof
KR101297413B1 (ko) 적응형 클럭 생성 장치 및 방법
JP4487937B2 (ja) マイクロコンピュータ
JP2013098872A (ja) 発振器
JP2016086385A (ja) Pwm信号出力回路
JP6298686B2 (ja) 発振器
US20130170537A1 (en) Data equalizing circuit and data equalizing method
CN112414437B (zh) 将传感器信号与请求信号同步的传感器装置
JP5225299B2 (ja) スペクトラム拡散クロックジェネレータ
JP6500550B2 (ja) タイマ補正装置、タイマ補正方法及びタイマ補正プログラム
JP6274638B2 (ja) 周波数調整回路および周波数調整方法
WO2018094893A1 (zh) 一种信号幅度的校准方法及装置、计算机存储介质
JP5680507B2 (ja) 電子システム
TWI495269B (zh) 用於訊號處理的連續逼近式乘除法電路及其訊號處理方法
JP6880167B2 (ja) 計時回路、電子機器および計時回路の制御方法
TWI417702B (zh) 自動校正頻率之頻率校正電路及其方法
JP4323460B2 (ja) 周波数測定回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170907

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180529

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180605

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20181218