PWM制御のデューティ決定方法
【課題】通信周波数を微小変動させる技術よりも、ノイズレベルの低減を更に図ることができるPWM制御のデューティ決定方法を提供する。
【解決手段】制御IC63が、駆動回路に出力するPWM信号のデューティを、指令値を中心に、所定期間内における平均が前記指令値に一致するように微小変動させる場合、PC68のデータベース69に、実際にPWM信号を駆動回路に与えることで発生したノイズ成分のレベル測定結果を反映したデータを、そのデューティの変動態様と共に記憶する。そして、データベース69に記憶されているデータを参照し、与えられた動作環境や動作条件等に応じて抑圧対象となる周波数帯のノイズレベルを低減するように、制御IC63によるPWMデューティの変動態様を決定する。
【解決手段】制御IC63が、駆動回路に出力するPWM信号のデューティを、指令値を中心に、所定期間内における平均が前記指令値に一致するように微小変動させる場合、PC68のデータベース69に、実際にPWM信号を駆動回路に与えることで発生したノイズ成分のレベル測定結果を反映したデータを、そのデューティの変動態様と共に記憶する。そして、データベース69に記憶されているデータを参照し、与えられた動作環境や動作条件等に応じて抑圧対象となる周波数帯のノイズレベルを低減するように、制御IC63によるPWMデューティの変動態様を決定する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、駆動回路にPWM信号を出力することで負荷をスイッチング制御する駆動制御装置について、PWM制御のデューティを決定する方法に関する。
【背景技術】
【0002】
車両内部の配線で使用される通信プロトコルの1つとして、SbW(Safe by Wire)がある。SbWは、例えばエアバッグ制御のように、配線が少なくなることが好ましいものに適用するため、電源の供給並びに通信を2本の配線のみで行うようにしたプロトコルである。
図14には、1つのマスタ(例えば、車両用のECU)1と、複数のスレーブ2(1〜67)とを、バス3(+,−)を介して列状に接続した構成を示す。尚、各スレーブ2の内部に存在するスイッチ4は、後続のスレーブ2に故障が発生した場合に、当該スレーブ2に対するバス3の接続を切り離し、正常なスレーブ2のみで通信を続行するために設けられている。
【0003】
また、図15には、SbWによる通信でデータを送信する場合に、マスタ1若しくはスレーブ2がバス3をドライブする場合の電圧波形を示す。SbWでは、マスタ1は、先ず電源供給期間(Power Phase)においてバス3を電圧レベルVLPでドライブすることで、各スレーブ2に動作用電源を供給する。そして、電源供給期間に続くデータ期間(Data Phase)が、マスタ1若しくはスレーブ2が1ビットのデータを送信する期間となり、双方の期間を加えたものが1ビット期間(100%bit)として定義されている。また、この1ビット期間の長さによって通信速度が決まるようになっており、1つのシステムにおいてダイナミックに通信速度が変更される場合もある。
【0004】
データ期間においてマスタ1がデータを送信する場合は、バス3を電圧レベルVL0,VL1の何れかにドライブする。これらの電圧レベルは、夫々データ「0,1」に対応する。また、スレーブ2がデータを送信する期間では、マスタ1はデータ期間でバス3を電圧レベルVL0にドライブする。尚、電源供給期間,データ期間の期間長は、等しくなるように規定されている。
この時、スレーブ2側がバス3をドライブしなければ電圧レベルはVL0のままとなり、データ「0」を送信したことになる。そして、スレーブ2側がバス3を電圧レベルがVL0よりも低いVL1にドライブすれば、データ「1」を送信したことになる。また、スレーブ2側がバス3を電圧レベルがVL1よりも低いVLS0にドライブした場合は、マスタ1に対して割り込みを発生させることを意味する。
【0005】
また、図16には、マスタ1−スレーブ2間におけるデータ通信の一例を示す。マスタ1は、その時点での通信レートにおける1ビット期間の2倍の長さ(200%bit)でバス3をVLP,VL0にドライブすることで、通信の開始を示すSOF(Start Of Frame)を送信する。スレーブ2は、バス3にSOFが送信されたことにより、各々が通信の開始を認識する。
【0006】
それから、マスタ1は通信モードを指定するため、MSA,SELの2データビットを送信すると、以降はスレーブ2側がデータを送信する期間となる。即ち、Slot1_data及びそれに続くCRCは、マスタ1(1)のデータ送信期間であり、CRC(Cyclic Redundancy Check)は、Slot1_dataについて付された誤り検出符号である。以降同様に、他のスレーブ2により、Slot2_data,Slot3_data,・・・Slot_n_dataが順次送信される。尚、通信が行われないアイドル期間においては、マスタ1はバス3をVLP,VL0に交互にドライブする状態を繰り返している。
【0007】
以上のように、SbWでは、2本のバス3(+,−)によってマスタ1が電源供給期間に電源を供給しながら、スレーブ2との間の通信も行うシリアル通信システムである。
この通信システムを車両に搭載されるエアバッグ装置に適用することを想定すると、複数のスレーブ2が、車両の各部に配置されている加速度センサに対応する。そして、何れかの加速度センサが事故の衝撃を検出すると、その検出信号がスレーブ2からマスタ1に送信される。すると、マスタ1は、図示しないエアバッグ装置のインフレータに点火指令を出力してガスを発生させ、エアバッグを展開させる。
【0008】
上述のようにSbWでは、システムが稼動中であれば、マスタ1はスレーブ2に電源を供給し続けるためアイドル期間でもバス3をドライブする。従って、一定の周波数での通信が継続され易く、前記周波数を基本波とする高調波成分のパワーが上昇してノイズを発生し易くなるという問題がある。
斯様な問題を解決すための公知技術としては、例えばスペクトラム拡散通信や、Bluetooth(登録商標)に適用されている周波数ホッピングなどのように、通信周波数を変動させることでパワースペクトラムを分散させ、ノイズとなる成分のピークを低下させる技術が知られている。
【0009】
尚、SbW自体は未だ余り普及が進んでいない技術であるため、出願人は提示すべき適切な先行技術文献を見つけることはできなかった。
また、例えば、モータのような負荷を駆動する駆動回路に対し、PWM信号を出力してスイッチング制御を行うようなシステムにおいても、そのPWMデューティが一定に出力されると、そのPWM信号の高調波成分について上記した通信の場合と同様の問題が生じる。
【発明の開示】
【発明が解決しようとする課題】
【0010】
しかしながら、上記のような公知技術を導入するだけでは、ノイズレベルの低減を十分図ることができない場合がある。
本発明は上記事情に鑑みてなされたものであり、その目的は、通信周波数を微小変動させる技術よりも、ノイズレベルの低減を更に図ることができるPWM制御のデューティ決定方法を提供することにある。
【課題を解決するための手段】
【0011】
本発明のPWM制御のデューティ決定方法によれば、駆動制御装置のデューティ変動手段は、駆動回路に出力するPWM信号のデューティを、指令値を中心に、所定期間内における平均が前記指令値に一致するように微小変動させ、測定結果記憶手段には、PWM信号を駆動回路に与えることで発生したノイズ成分のレベル測定結果を反映したデータが、そのデューティの変動態様と共に記憶される。そして、測定結果記憶手段に記憶されているデータを参照して、与えられた動作環境または動作条件に応じて抑圧対象となる周波数帯のノイズレベルを低減するようにPWMデューティの変動態様を決定する。
【0012】
即ち、PWM信号のデューティを上記のように微小変動させれば所定期間内におけるデューティの平均は指令値に一致するため、負荷の駆動制御は指令通りに行われると共に、スイッチングにより発生するノイズのピークレベルを低減し、ノイズの周波数を分散させることができる。そして、測定結果記憶手段には、PWMデューティの変動態様に応じたノイズの発生結果が記憶されているので、その記憶内容を参照すれば、駆動制御装置につき与えられた動作環境または動作条件に応じて、抑圧すべき周波数帯のノイズレベルを低減するように変動態様を最適化することができる。
【図面の簡単な説明】
【0013】
【図1】第1参考例であり、マスタの構成を概略的に示す機能ブロック図
【図2】電圧ドライバに内蔵されている周波数分散機能部の構成を示す機能ブロック図
【図3】通信ビットレートを変動させる状態の一例を示すもので、(a)はカウンタに対するLoadデータ値と通信レートとの関係を示す図、(b)は状態遷移図
【図4】周波数分散機能部の動作例を示すタイミングチャート
【図5】電圧ドライバ内部における駆動電圧/電流調整部の構成を示す図
【図6】スレーブの構成を概略的に示す機能ブロック図
【図7】通信ドライバ/レシーバの内部において、バスをレベルVL1又はVLS0にドライブする構成部分を示す図
【図8】SbWによる通信でデータを送信する場合に、マスタ若しくはスレーブがバスをドライブする場合の電圧波形を示す図
【図9】第2参考例であり、ビットレートを微小変動させる原理を説明する図
【図10】ビットレートの変動制御を行う部分の構成を概略的に示す図
【図11】変動制御部における処理手順を示すフローチャート
【図12】本発明の一実施例であり、車両に搭載される直流モータを駆動制御する装置を示す図
【図13】制御ICとデータベースとの間で行う設定処理を概念的に示す図
【図14】従来技術の通信システムの一構成例を示す図
【図15】図8相当図
【図16】マスタ−スレーブ間におけるデータ通信の一例を示す図
【発明を実施するための形態】
【0014】
(第1参考例)
以下、第1参考例について図1乃至図8を参照して説明する。また、図14乃至図16と同一部分には同一符号を付して示す。図1は、マスタ(通信装置)11の構成を、要旨に係る部分を中心として概略的に示す機能ブロック図である。マスタ11は、CPU12が電圧ドライバ13を制御することで、バス3(BUS_A,BUS_B)をドライブするようになっている。
また、バス3(+),3(−)の間には、バス3のドライブレベルを監視する電圧監視部14が接続されており、電圧監視部14は、その監視結果に応じたデータを一致回路15に出力する。一致回路15には、CPU12が設定値レジスタ16に書き込んで設定したデータも与えられている。そして、一致回路15は、設定値データと監視結果データとが一致すると、一致信号を電圧ドライバ13に出力する。
【0015】
図2は、電圧ドライバ13に内蔵されている周波数分散機能部17の構成を示すブロック図である。周波数分散機能部17は、通信のビットレートを微小変動させるもので、状態遷移シーケンサ18,加減算器19,レジスタ20,カウンタ21,クロック回路22によって構成されている。クロック回路22は、例えば周波数8MHzのクロック信号clkをカウンタ21に供給する。状態遷移シーケンサ18には、CPU12によって制御データL0_STATEが与えられており、状態遷移シーケンサ18は、後述するカウンタ21からのドライブ指令をデータL0_STATEの値だけカウントする毎に、加減算器19の演算機能を加算/減算に切り替えるための制御信号PLUS/MINUSを出力する。
【0016】
加減算器19には、CPU12より周波数の分散量に相当するデータL0_STEPが与えられ、そのデータL0_STEPとレジスタ20の出力データとを、カウンタ21からのドライブ指令が2回(Power PhaseのVLP,Data PhaseのVL0又はVL1)出力される毎に加算/減算してレジスタ20に出力する。そして、レジスタ20の出力データはカウンタ21にロードされ、カウンタ21は、ロードされたデータ(Loadデータ)をクロック信号clkによりダウンカウントし、そのカウント値に応じてドライブ指令を出力する。
【0017】
図3は、周波数分散機能部17によって通信ビットレートを変動させる状態の一例を示すもので、図3(a)はカウンタ21に対するLoadデータの値(クロック信号clkによるダウンカウント数)と通信レートとの関係を示すテーブルである。変動分が「0」となる基本レートを80kbpsとすると、8MHzのクロック信号clkを50カウントすれば1ビットの送信期間の1/2:50%ビット期間となる。そして、この基本レートに対して±4%刻みで最大±12%まで通信レートを変動させる。
即ち、Loadデータを、「50」から「2」ずつ増加させて「52」,「54」,「56」とすると、通信レートは基本レートに対して−4%,−8%,−12%となる(遅くなる)。逆に、Loadデータを、「50」から「2」ずつ減少させて「48」,「46」,「44」とれば、通信レートは基本レートに対して+4%,+8%,+12%となる(速くなる)。
【0018】
従って、図3(b)には状態遷移図を示すが、50clk:0%からスタートして、48clk,46clk,最小値44clkまでLoadデータを減少させると、そこから加算に転じてデータを46clk,48clk,50clk,・・・と増加させる。そして、最大値の56clkに達すると、そこから減算に転じて最小値44clkまでデータを減少させる。以上の状態遷移を循環的に繰り返すことで、通信レートを±4%刻みで最大±12%まで微小変動させる。
【0019】
図4は、周波数分散機能部17の動作例を示すタイミングチャートである。図4(c)に示すように、カウンタ21にロードするデータの変化量が、+8%,+12%,+8%,+4%と推移する状態を示している。この場合、前半の通信波形2周期については加減算器19に減算をさせて、後半の2周期については加減算器19に加算をさせている。尚、図4(a)に示す通信波形は、実際にバス3上でドライブされた波形ではなく、図示の都合上矩形波として示している。
【0020】
また、図5は、電圧ドライバ13内部における駆動電圧/電流調整部23の構成を示すものである。駆動電圧/電流調整部23は、電源V1とバス3(+)との間に並列接続された複数のPチャネルMOSトランジスタ24(a〜c),バス3(−)とグランドとの間に接続されたNチャネルMOSトランジスタ25(a〜c),電源V2とバス3(+)との間に並列接続された複数のPチャネルMOSトランジスタ26(a〜c),バス3(−)とグランドとの間に接続された複数のNチャネルMOSトランジスタ27(a〜c),バス3(+),3(−)の間に直列接続されるPチャネルMOSトランジスタ28及びNチャネルMOSトランジスタ29などを備えている。尚、電源V1の電圧は例えば14V程度、電源V2の電圧は例えば7V程度に設定される。
【0021】
そして、MOSトランジスタ24〜29に対するゲート信号は、周波数分散機能部17からのドライブ指令がトリガとなって与えられるが、MOSトランジスタ24〜27に対しては、夫々選択回路30(a,b),31を介して出力されるようになっている。また、MOSトランジスタ28及び29の共通接続点(ドレイン)には、基準電源VLMが接続されており、その共通接続点とMOSトランジスタ28及び29のゲート間には、レベル可変の直流電源VL(+),VL(−)が夫々接続されている。
【0022】
駆動電圧/電流調整部23は、バス3をレベルVLP,VL0で夫々ドライブする場合には、各MOSトランジスタのON,OFFを以下のように設定する。
MOSトランジスタ 24 25 26 27 28 29
VLP ON ON OFF OFF OFF OFF
VL0 OFF OFF ON ON ON ON
そして、バス3をレベルVLPでドライブする場合には、選択回路30によりMOSトランジスタ24a〜24c,25a〜25cを1つ以上ONにする。この時、レベルVLPは、電源V1の電圧と、MOSトランジスタ24a〜24c,25a〜25cのうち幾つを同時にONさせたかによって決まる。例えば、MOSトランジスタ24a及び25aだけをONさせた場合と、MOSトランジスタ24a〜24c,25a〜25cを全てONさせた場合とでは、後者については等価的にトランジスタのサイズWを増加させたことに等しくなり、バス3に対する電流供給能力が向上する。また、トランジスタのON抵抗も減少するため、結果として電圧VLPはより上昇することになる。
【0023】
一方、バス3をレベルVL0でドライブする場合には、選択回路31によりMOSトランジスタ26a〜26c,27a〜27cを夫々1つ以上ONにする。また、MOSトランジスタ28,29に対しては、電圧VL(+),VL(−)を調整することで、ゲート電圧を与えた場合に両者がONするように設定する。この時、レベルVL0は、MOSトランジスタ28,29のしきい値電圧をVTとすると、
バス3(+):VLM+VL(+)+VT
バス3(−):VLM−VL(−)−VT
となり、レベルVL0は、両者の差となるので
VL0=VL(+)+VL(−)+2VT
で定まることになる。
【0024】
そして、この場合もMOSトランジスタ26a〜26c,27a〜27cを幾つONするかによって、レベルVL0は僅かに変動すると共に、バス3に対する電流供給能力も変化する。尚、選択回路30,31によりトランジスタをONする個数の選択は、例えば各レベルにドライブする毎に個数を変化させても良いし、1ドライブ期間内で個数を変化させるようにしても良い。
【0025】
図6は、スレーブ(通信装置)41側の構成を概略的に示す機能ブロック図である。バス3(+),3(−)の間には、電圧監視回路42が接続されている。この電圧監視回路42は、マスタ11がドライブするバス3の電圧を監視することで、スレーブ41が通信タイミングを把握するための情報を得るもので、電圧レベル比較用のコンパレータなどを内蔵して構成されている。そして、電圧監視回路42は、バス3のドライブレベルが正常か否かを監視し、その監視結果をCPU(マイクロコンピュータ)43に対して出力する。
【0026】
また、電圧監視回路42は、データカウント用の電圧しきい値VDCをVL0よりも若干高いレベルに設定しており、バス3の電圧レベルの立ち上がりがしきい値VDCを超える毎に、ワンショットパルスをデータカウンタ44に出力するようになっている。更に、電圧監視回路42は、バス3の電圧レベルがVLPを維持している間はアップダウンカウンタ45に出力するU/D切替え信号をハイレベルにする。そして、マスタ11がPower Phaseにおけるバス3のドライブを停止することで、上記電圧レベルがVLPから所定値だけ低下すると、U/D切替え信号をハイからロウに変化させる。
【0027】
アップダウンカウンタ45は、データカウンタ44により与えられるカウントイネーブル信号(CE2)がアクティブである場合に、クロック回路46により出力されるカウントクロック信号に基づきカウント動作を行なう。そして、上記U/D切替え信号がハイレベルの期間はアップカウント動作を行ない、U/D切替え信号がロウレベルの期間はダウンカウント動作を行なうようになっている。また、U/D切替え信号は、通信ドライバ/レシーバ47にも与えられている。
【0028】
CPU43は、通信ドライバ/レシーバ47を介してバス3をドライブすることでマスタ11にデータを送信すると共に、マスタ11より送信されたデータを通信ドライバ/レシーバ47を介して受信する。尚、マスタ11がPower Phaseにおいて送信した電力は、図示しない電源回路において平滑され、スレーブ41の各部に動作用電源として供給されるようになっている。
また、CPU43は、通信ドライバ/レシーバ47を介してマスタ1がバス3上にSOFを送信したことを検出すると、データカウンタ44に与えるカウントイネーブル信号(CE1)をアクティブにするようになっている。すると、データカウンタ44は、電圧監視回路42により与えられるパルスのカウント、即ち、SOFの出力時点からバス3上で送信されたデータ数のカウントを開始する。そして、そのカウント値が、スレーブ11のデータ送信期間の開始に相当する値になると、アップダウンカウンタ45に与えるカウントイネーブル信号(CE2)をアクティブにするようになっている。
【0029】
通信ドライバ/レシーバ47は、イネーブル信号CE2がアクティブになると共に、U/D切替え信号がハイからロウに変化すると、CPU43により与えられた送信データに応じてバス3のドライブを開始する。但し、データ「0」を送信する場合には、前述したようにバス3をドライブしない。
図7は、通信ドライバ/レシーバ47の内部において、バス3をレベルVL1又はVLS0にドライブするための構成部分を示すものである。バス3(+)と電源V3との間には、複数のNMOSトランジスタ48a,48b,・・・,48nが並列接続されている。そして、それらのトランジスタ48のゲートには、選択回路49を介してゲート信号が与えられるようになっている。
【0030】
選択回路49は、マスタ11側の選択回路30,31と同様に、CPU43より与えられるドライブ指令に応じてMOSトランジスタ48を幾つONするかを選択するものである。その選択により、スレーブ41がバス3をレベルVL1,又はVLS0にドライブする際に、マスタ11側と同様にドライブレベルを変動させると共に、バス3に対する電流供給能力を変化させる。
【0031】
次に、第1参考例の作用について図8も参照して説明する。図8は、マスタ11,スレーブ41がバス3をドライブする場合に、夫々がドライブレベル及び電流供給能力を変化させることによるバス3上の通信波形を示すものである。即ち、ドライブレベルVLP,VL0は、各ドライブ期間毎に変化すると共に、電流供給能力の変化によりレベル変化の立下り,立上りの傾きも変化するようになっている。また、立下り,立上りの傾きをより緩やかに変化させると、ドライブレベルの変化点における波形の急激な変化を緩和して丸めることができるため、高調波成分の発生が抑制される。
【0032】
そして、実際には、上記ドライブ状態の変化は、図4に示した通信レートの微小変動と同時に行われるので、通信波形に応じて発生する周波数スペクトラムの分布状態は、単に通信レートを微小変動させる場合に比較してより拡がるようになる。従って、通信に伴って発生する不要輻射レベルは、特定の周波数に集中する状態がより緩和されるため、全体域で見た場合のレベルのピークを低下させることが可能となる。
【0033】
ここで、SbWにおける各ドライブレベルは、例えば以下のような電圧値に設定されている。
VLP:12V,VL0:5V,VL1:3V,VLS0:0V
そして、各レベルについては、下限,上限の間で例えば0.5V〜1.4V程度の許容範囲が規定されている。従って、マスタ11並びにスレーブ41は、各レベルをドライブする場合は、上記の許容範囲内でレベルを変動させる。
【0034】
以上のように第1参考例によれば、マスタ11は、通信中において通信周波数を微小変動させると共に、バス3のドライブレベルを許容範囲内で変化させるので、発生するノイズのピークレベルを更に抑制することができる。また、マスタ11は、バス3をドライブする場合の電流駆動能力を変化させてレベル遷移に要する時間も変化させるので、信号レベルが変化する場合の波形の傾きもダイナミックに変化させて信号の周波数帯域をより拡げることができ、発生するノイズのピークレベルを一層抑制することができる。更に、マスタ11は、通信周波数を循環パターンにより微小変動させるので、周波数を微小変動させるために必要な構成を簡単にすることができる。
加えて、スレーブ41も、通信中においてバス3をドライブする場合のドライブレベルを変化させると共に、電流駆動能力を変化させることでレベル遷移に要する時間を変化させるので、ノイズのピークレベルを抑制する効果をより向上させることができる。
【0035】
(第2参考例)
図9乃至図11は第2参考例を示すものであり、第1参考例と同一部分には同一符号を付して説明を省略し、以下異なる部分について説明する。第1参考例では、通信周波数を微小変動させる場合にデータ12ビット分を1周期として循環的に変動させたが、第2参考例では、マスタ側において、ビットデータのまとまりである通信フレームを単位として変動を管理する。
【0036】
先ず、その原理について図9を参照して説明する。図9(a),(b)に示すように、各通信フレームは複数のデータビットで構成されており、その通信フレームの送信時間については、通信プロトコルの仕様上、最初に設定された時間に対する変動許容値が設定されている。一例として、その変動許容値が±10%であるとすると、1つの通信フレームを構成する各ビットの送信期間(ビットレート)を変動させる場合、その変動の総和が上記許容値の±10%以内となるように設定する。
【0037】
即ち、例えば、1フレームのビット数が「10」である場合、その内の1ビットだけは送信期間を変動させず、5ビットは+10%に変動させ、4ビットを−10%に変動させれば、1フレームの変動量の総和は+10%となる。そして、第1参考例と同様に基本レートが80kbsの場合、図9(c)に示すように、そのレートを−10%変動させる場合には、100%ビット期間としてのレート決定用のカウンタにロードするデータを「110」にすれば良い。尚、図9(c)に示した「サンプリングポイント」は、SbW以外の、その他一般のシリアル通信について、1ビット期間の中央付近で受信側がビットデータをサンプリングすることを想定した場合のタイミングを示している。
【0038】
図10は、上記のようにビットレートの変動制御を行う部分の構成を概略的に示すものである。変動制御部51は、フレーム幅制御部52,ビット数制御部53,ビットレート制御部54で構成されている。フレーム幅制御部52は、1通信フレームの幅、即ち、送信時間を決定するためのレジスタ52aを備えており、ビット数制御部53は、上記フレームを何ビット構成とするか設定するためのレジスタ53aと、1ビットデータの送信数をカウントするためのカウンタ53bと備えている。また、ビットレート制御部54は、上記フレームを構成する各ビットについて、通信レートを設定するためのレジスタ54aと、ビットレートをカウントするためのカウンタ54bとを備えている。
【0039】
即ち、ビットレート制御部54において、カウンタ54bによりカウントされるクロック数と、レジスタ54aに設定されたクロック数とが図示しないコンパレータにより比較され、両者が一致すると100%ビット期間が決まりビットクロックが生成され、そのビットクロックは、ビット数制御部53のカウンタ53bに与えられている。また、ビットレート制御部54では、各ビットのレジスタ54aのデータは、マルチプレクサなどにより切換えられて比較対象とされるようになっている。
【0040】
ビット数制御部53では、カウンタ53bがビットクロックの出力数をカウントし、そのカウント値がレジスタ53aの設定値に一致すれば、1フレームの終了となる。
図11は、変動制御部51における処理手順を示すフローチャートであるが、ハードウエアによる処理内容も含めて示している。先ず、フレーム幅制御部52において1通信フレームの幅を仕様上の許容範囲内で設定すると(ステップS1)、ビット数制御部53のレジスタ53aに、1フレームで送信するビット数を設定する(ステップS2)。尚、ステップS2の処理は、ステップS1で設定されたフレーム幅と、基本レートとの関係に基づいて自動的に設定するようにしても良い。
【0041】
次に、ビットレート制御部54において、最初に送信するビットのレート(変動値を含む)をレジスタ54aに書き込んで設定し(ステップS3)、カウンタ54bのカウント値がレジスタ54aのデータ値に一致すれば(ステップS4:NO)ステップS5に移行する。そして、ビット数制御部53において、カウンタ53bのカウント値がレジスタ53aの設定値に一致しなければ(YES)ステップS3に戻り、次に送信するビットのレートデータをレジスタ54aに設定する。また、ステップS3の処理についても、ステップS1,S2で設定されたフレーム幅,ビット数と、基本レートとの関係に基づいて自動的に設定するようにしても良い。
【0042】
上記のようにしてステップS3〜S5の処理を繰り返し、ステップS5において、カウンタ53bのカウント値がレジスタ53aの設定値に一致すれば(NO)、1フレームの送信処理は終了となる。尚、データの電圧レベルを変動にさせる方式については、第1参考例と同様に行われる。
【0043】
以上のように第2参考例によれば、マスタは、送信データのまとまりである通信フレームについて送信時間の変動値を許容範囲内で決定すると、当該通信フレームを構成する1ビット期間の送信時間を、各変動値の総和が前記通信フレームの変動値以内となるように変動させるようにした。従って、1ビット期間について与える時間変動を、通信フレームを単位とする枠内でより多様化させることができるので、ノイズレベルのピークを一層低減させると共に、ノイズ成分の周波数をより分散させることができる。
【0044】
(一実施例)
図12及び図13は本発明の一実施例を示すものである。本実施例は、本発明を、直流モータをPWM制御によって駆動する装置に適用する場合に、その駆動制御装置がPWMデューティについて与える変動量を、最適化して設定する方法を示すものである。図12には、例えば、車両に搭載される直流モータを駆動制御する装置を示す。車両のバッテリ61の正側,負側端子に接続されている電源線62(+),62(−)の間には、制御IC(駆動制御装置,デューティ変動手段)63が接続されていると共に、駆動回路64及びモータ(負荷)65の直列回路が接続されており、モータ65にはフライホイールダイオード66が並列に接続されている。
【0045】
制御IC63は、外部のECU(Electronic Control Unit)67より与えられる制御信号を受けて、駆動回路64に駆動信号をPWM信号として出力し、モータ65の駆動を制御するようになっている。駆動回路64は、例えばパワーMOSFETのような駆動素子を含んで構成される。また、制御IC63は、上記PWM信号のデューティについて、ECU67より与えられる制御信号に応じて所定の指令値を決定すると、その指令値を、第1,第2参考例で示したような制御と同様に変動させる。
【0046】
例えば、決定されたデューティ指令値が70%であったとすると、その指令値を、例えば±5%の範囲で変動させると共に(65%〜75%)、そのように変動させたPWM信号のデューティを一定期間について平均すると、指令値70%に一致するように変動させる。その結果、モータ65の駆動電力は、PWMデューティ70%に相当するものとなり、また、PWMデューティを70%で固定して出力した場合に、高調波成分により発生するノイズのピークを低減し、ノイズの周波数成分を分散させることができる。
【0047】
図13は、上記のように構成される制御IC63について、PWM信号に与えるデューティの変動態様を製品毎に最適化するための方法を、概念的に示す。即ち、PWM信号に与えるデューティの変動態様を変化させると、それに応じてノイズの発生態様も変化する。そこで、所定の変動パターンを制御IC63に設定して製品に組み込み動作させ、実際にモータ65を駆動した場合に発生するノイズを測定し、その測定結果をパーソナルコンピュータ(PC)68に記憶させる。
【0048】
上記変動パターンを様々に替えて測定結果を順次PC68に記憶させることで、周波数分散値データベース(測定結果記憶手段)69を形成する。そして、データベース69を参照すれば、製品毎の使用条件,状況,環境や負荷の種類、制御IC63の製造ばらつき、製品について抑制が要求されるノイズのレベルや周波数成分に応じて、どのような変動パターンがノイズの抑制に最適であるのかが分かるようになる。
従って、制御IC63を出荷する前の段階で、製品に応じてどのようにPWMデューティを変動させるパターンが最適であるのかを見極めて、制御IC63の内部レジスタ63Rに書き込んで設定する。すると、制御IC63は、内部レジスタ63Rに設定された変動パターンに応じて、PWMデューティを変動させる。
【0049】
以上のように本実施例によれば、制御IC63が、駆動回路64に出力するPWM信号のデューティを、指令値を中心に、所定期間内における平均が前記指令値に一致するように微小変動させる場合、PC68のデータベース69に、実際にPWM信号を駆動回路64に与えることで発生したノイズ成分のレベル測定結果を反映したデータを、そのデューティの変動態様と共に記憶する。そして、データベース69に記憶されているデータを参照して、与えられた動作環境や動作条件等に応じて抑圧対象となる周波数帯のノイズレベルを低減するように、制御IC63によるPWMデューティの変動態様を決定する。従って、各製品に応じて、抑圧すべき周波数帯のノイズレベルを低減するようにデューティの変動態様を最適化することができる。
【0050】
本発明は上記し又は図面に記載した実施例にのみ限定されるものではなく、以下のような変形が可能である。
通信周波数を微小変動させる範囲については、基準となる周波数を±数%〜十数%程度の範囲で任意に設定すれば良い。また、周波数の変動は循環パターンに限ることなく、ランダムなパターンで変動させても良い。
マスタ11においては、レベルVLPのみを変動させても良い。
スレーブ41においては、レベルVL0,VL1,VLS0の何れか1つのレベルだけを変動させても良い。
ドライブレベルを変動させる構成、又は電流駆動能力を変化させる構成はマスタ,スレーブの何れか一方だけに設けても良い。また、ドライブレベルと電流駆動能力との何れか一方だけを変化させても良い。
【0051】
ドライブレベルの遷移に伴う波形の立上り,立下りの傾きを変化させるには、ドライブ時間を変化させても良い。即ち、実際にバスをドライブする時間をより短くして、残りの期間はドライブを停止してハイインピーダンス状態にしても良い。
第2参考例において、各ビットレートを変動させる場合に、変動量の絶対値をビット毎に変化させても良い。また、それらの変動量の総和は、フレームについて設定した許容範囲より小さくなっても良い。また、フレームについての変動値も、仕様上の最大許容値より小さく設定しても良い。
SbWに限ることなく、マスタと複数のスレーブとの間で非同期通信を行うもので、マスタがバスに電源を供給する期間と、マスタ又はスレーブがバスをドライブして1ビットのデータを当該バス上に出力する期間とを併せた期間の連続で通信を行うプロトコルを採用するシステムであれば適用が可能である。
【符号の説明】
【0052】
図面中、3はバス、11はマスタ(通信装置)、13は電圧ドライバ、14は周波数分散機能部、23は駆動電圧/電流調整部、41はスレーブ(通信装置)、63は制御IC(駆動制御装置,デューティ変動手段)、64は駆動回路、65は直流モータ(負荷)、69は周波数分散値データベース(測定結果記憶手段)を示す。
【技術分野】
【0001】
本発明は、駆動回路にPWM信号を出力することで負荷をスイッチング制御する駆動制御装置について、PWM制御のデューティを決定する方法に関する。
【背景技術】
【0002】
車両内部の配線で使用される通信プロトコルの1つとして、SbW(Safe by Wire)がある。SbWは、例えばエアバッグ制御のように、配線が少なくなることが好ましいものに適用するため、電源の供給並びに通信を2本の配線のみで行うようにしたプロトコルである。
図14には、1つのマスタ(例えば、車両用のECU)1と、複数のスレーブ2(1〜67)とを、バス3(+,−)を介して列状に接続した構成を示す。尚、各スレーブ2の内部に存在するスイッチ4は、後続のスレーブ2に故障が発生した場合に、当該スレーブ2に対するバス3の接続を切り離し、正常なスレーブ2のみで通信を続行するために設けられている。
【0003】
また、図15には、SbWによる通信でデータを送信する場合に、マスタ1若しくはスレーブ2がバス3をドライブする場合の電圧波形を示す。SbWでは、マスタ1は、先ず電源供給期間(Power Phase)においてバス3を電圧レベルVLPでドライブすることで、各スレーブ2に動作用電源を供給する。そして、電源供給期間に続くデータ期間(Data Phase)が、マスタ1若しくはスレーブ2が1ビットのデータを送信する期間となり、双方の期間を加えたものが1ビット期間(100%bit)として定義されている。また、この1ビット期間の長さによって通信速度が決まるようになっており、1つのシステムにおいてダイナミックに通信速度が変更される場合もある。
【0004】
データ期間においてマスタ1がデータを送信する場合は、バス3を電圧レベルVL0,VL1の何れかにドライブする。これらの電圧レベルは、夫々データ「0,1」に対応する。また、スレーブ2がデータを送信する期間では、マスタ1はデータ期間でバス3を電圧レベルVL0にドライブする。尚、電源供給期間,データ期間の期間長は、等しくなるように規定されている。
この時、スレーブ2側がバス3をドライブしなければ電圧レベルはVL0のままとなり、データ「0」を送信したことになる。そして、スレーブ2側がバス3を電圧レベルがVL0よりも低いVL1にドライブすれば、データ「1」を送信したことになる。また、スレーブ2側がバス3を電圧レベルがVL1よりも低いVLS0にドライブした場合は、マスタ1に対して割り込みを発生させることを意味する。
【0005】
また、図16には、マスタ1−スレーブ2間におけるデータ通信の一例を示す。マスタ1は、その時点での通信レートにおける1ビット期間の2倍の長さ(200%bit)でバス3をVLP,VL0にドライブすることで、通信の開始を示すSOF(Start Of Frame)を送信する。スレーブ2は、バス3にSOFが送信されたことにより、各々が通信の開始を認識する。
【0006】
それから、マスタ1は通信モードを指定するため、MSA,SELの2データビットを送信すると、以降はスレーブ2側がデータを送信する期間となる。即ち、Slot1_data及びそれに続くCRCは、マスタ1(1)のデータ送信期間であり、CRC(Cyclic Redundancy Check)は、Slot1_dataについて付された誤り検出符号である。以降同様に、他のスレーブ2により、Slot2_data,Slot3_data,・・・Slot_n_dataが順次送信される。尚、通信が行われないアイドル期間においては、マスタ1はバス3をVLP,VL0に交互にドライブする状態を繰り返している。
【0007】
以上のように、SbWでは、2本のバス3(+,−)によってマスタ1が電源供給期間に電源を供給しながら、スレーブ2との間の通信も行うシリアル通信システムである。
この通信システムを車両に搭載されるエアバッグ装置に適用することを想定すると、複数のスレーブ2が、車両の各部に配置されている加速度センサに対応する。そして、何れかの加速度センサが事故の衝撃を検出すると、その検出信号がスレーブ2からマスタ1に送信される。すると、マスタ1は、図示しないエアバッグ装置のインフレータに点火指令を出力してガスを発生させ、エアバッグを展開させる。
【0008】
上述のようにSbWでは、システムが稼動中であれば、マスタ1はスレーブ2に電源を供給し続けるためアイドル期間でもバス3をドライブする。従って、一定の周波数での通信が継続され易く、前記周波数を基本波とする高調波成分のパワーが上昇してノイズを発生し易くなるという問題がある。
斯様な問題を解決すための公知技術としては、例えばスペクトラム拡散通信や、Bluetooth(登録商標)に適用されている周波数ホッピングなどのように、通信周波数を変動させることでパワースペクトラムを分散させ、ノイズとなる成分のピークを低下させる技術が知られている。
【0009】
尚、SbW自体は未だ余り普及が進んでいない技術であるため、出願人は提示すべき適切な先行技術文献を見つけることはできなかった。
また、例えば、モータのような負荷を駆動する駆動回路に対し、PWM信号を出力してスイッチング制御を行うようなシステムにおいても、そのPWMデューティが一定に出力されると、そのPWM信号の高調波成分について上記した通信の場合と同様の問題が生じる。
【発明の開示】
【発明が解決しようとする課題】
【0010】
しかしながら、上記のような公知技術を導入するだけでは、ノイズレベルの低減を十分図ることができない場合がある。
本発明は上記事情に鑑みてなされたものであり、その目的は、通信周波数を微小変動させる技術よりも、ノイズレベルの低減を更に図ることができるPWM制御のデューティ決定方法を提供することにある。
【課題を解決するための手段】
【0011】
本発明のPWM制御のデューティ決定方法によれば、駆動制御装置のデューティ変動手段は、駆動回路に出力するPWM信号のデューティを、指令値を中心に、所定期間内における平均が前記指令値に一致するように微小変動させ、測定結果記憶手段には、PWM信号を駆動回路に与えることで発生したノイズ成分のレベル測定結果を反映したデータが、そのデューティの変動態様と共に記憶される。そして、測定結果記憶手段に記憶されているデータを参照して、与えられた動作環境または動作条件に応じて抑圧対象となる周波数帯のノイズレベルを低減するようにPWMデューティの変動態様を決定する。
【0012】
即ち、PWM信号のデューティを上記のように微小変動させれば所定期間内におけるデューティの平均は指令値に一致するため、負荷の駆動制御は指令通りに行われると共に、スイッチングにより発生するノイズのピークレベルを低減し、ノイズの周波数を分散させることができる。そして、測定結果記憶手段には、PWMデューティの変動態様に応じたノイズの発生結果が記憶されているので、その記憶内容を参照すれば、駆動制御装置につき与えられた動作環境または動作条件に応じて、抑圧すべき周波数帯のノイズレベルを低減するように変動態様を最適化することができる。
【図面の簡単な説明】
【0013】
【図1】第1参考例であり、マスタの構成を概略的に示す機能ブロック図
【図2】電圧ドライバに内蔵されている周波数分散機能部の構成を示す機能ブロック図
【図3】通信ビットレートを変動させる状態の一例を示すもので、(a)はカウンタに対するLoadデータ値と通信レートとの関係を示す図、(b)は状態遷移図
【図4】周波数分散機能部の動作例を示すタイミングチャート
【図5】電圧ドライバ内部における駆動電圧/電流調整部の構成を示す図
【図6】スレーブの構成を概略的に示す機能ブロック図
【図7】通信ドライバ/レシーバの内部において、バスをレベルVL1又はVLS0にドライブする構成部分を示す図
【図8】SbWによる通信でデータを送信する場合に、マスタ若しくはスレーブがバスをドライブする場合の電圧波形を示す図
【図9】第2参考例であり、ビットレートを微小変動させる原理を説明する図
【図10】ビットレートの変動制御を行う部分の構成を概略的に示す図
【図11】変動制御部における処理手順を示すフローチャート
【図12】本発明の一実施例であり、車両に搭載される直流モータを駆動制御する装置を示す図
【図13】制御ICとデータベースとの間で行う設定処理を概念的に示す図
【図14】従来技術の通信システムの一構成例を示す図
【図15】図8相当図
【図16】マスタ−スレーブ間におけるデータ通信の一例を示す図
【発明を実施するための形態】
【0014】
(第1参考例)
以下、第1参考例について図1乃至図8を参照して説明する。また、図14乃至図16と同一部分には同一符号を付して示す。図1は、マスタ(通信装置)11の構成を、要旨に係る部分を中心として概略的に示す機能ブロック図である。マスタ11は、CPU12が電圧ドライバ13を制御することで、バス3(BUS_A,BUS_B)をドライブするようになっている。
また、バス3(+),3(−)の間には、バス3のドライブレベルを監視する電圧監視部14が接続されており、電圧監視部14は、その監視結果に応じたデータを一致回路15に出力する。一致回路15には、CPU12が設定値レジスタ16に書き込んで設定したデータも与えられている。そして、一致回路15は、設定値データと監視結果データとが一致すると、一致信号を電圧ドライバ13に出力する。
【0015】
図2は、電圧ドライバ13に内蔵されている周波数分散機能部17の構成を示すブロック図である。周波数分散機能部17は、通信のビットレートを微小変動させるもので、状態遷移シーケンサ18,加減算器19,レジスタ20,カウンタ21,クロック回路22によって構成されている。クロック回路22は、例えば周波数8MHzのクロック信号clkをカウンタ21に供給する。状態遷移シーケンサ18には、CPU12によって制御データL0_STATEが与えられており、状態遷移シーケンサ18は、後述するカウンタ21からのドライブ指令をデータL0_STATEの値だけカウントする毎に、加減算器19の演算機能を加算/減算に切り替えるための制御信号PLUS/MINUSを出力する。
【0016】
加減算器19には、CPU12より周波数の分散量に相当するデータL0_STEPが与えられ、そのデータL0_STEPとレジスタ20の出力データとを、カウンタ21からのドライブ指令が2回(Power PhaseのVLP,Data PhaseのVL0又はVL1)出力される毎に加算/減算してレジスタ20に出力する。そして、レジスタ20の出力データはカウンタ21にロードされ、カウンタ21は、ロードされたデータ(Loadデータ)をクロック信号clkによりダウンカウントし、そのカウント値に応じてドライブ指令を出力する。
【0017】
図3は、周波数分散機能部17によって通信ビットレートを変動させる状態の一例を示すもので、図3(a)はカウンタ21に対するLoadデータの値(クロック信号clkによるダウンカウント数)と通信レートとの関係を示すテーブルである。変動分が「0」となる基本レートを80kbpsとすると、8MHzのクロック信号clkを50カウントすれば1ビットの送信期間の1/2:50%ビット期間となる。そして、この基本レートに対して±4%刻みで最大±12%まで通信レートを変動させる。
即ち、Loadデータを、「50」から「2」ずつ増加させて「52」,「54」,「56」とすると、通信レートは基本レートに対して−4%,−8%,−12%となる(遅くなる)。逆に、Loadデータを、「50」から「2」ずつ減少させて「48」,「46」,「44」とれば、通信レートは基本レートに対して+4%,+8%,+12%となる(速くなる)。
【0018】
従って、図3(b)には状態遷移図を示すが、50clk:0%からスタートして、48clk,46clk,最小値44clkまでLoadデータを減少させると、そこから加算に転じてデータを46clk,48clk,50clk,・・・と増加させる。そして、最大値の56clkに達すると、そこから減算に転じて最小値44clkまでデータを減少させる。以上の状態遷移を循環的に繰り返すことで、通信レートを±4%刻みで最大±12%まで微小変動させる。
【0019】
図4は、周波数分散機能部17の動作例を示すタイミングチャートである。図4(c)に示すように、カウンタ21にロードするデータの変化量が、+8%,+12%,+8%,+4%と推移する状態を示している。この場合、前半の通信波形2周期については加減算器19に減算をさせて、後半の2周期については加減算器19に加算をさせている。尚、図4(a)に示す通信波形は、実際にバス3上でドライブされた波形ではなく、図示の都合上矩形波として示している。
【0020】
また、図5は、電圧ドライバ13内部における駆動電圧/電流調整部23の構成を示すものである。駆動電圧/電流調整部23は、電源V1とバス3(+)との間に並列接続された複数のPチャネルMOSトランジスタ24(a〜c),バス3(−)とグランドとの間に接続されたNチャネルMOSトランジスタ25(a〜c),電源V2とバス3(+)との間に並列接続された複数のPチャネルMOSトランジスタ26(a〜c),バス3(−)とグランドとの間に接続された複数のNチャネルMOSトランジスタ27(a〜c),バス3(+),3(−)の間に直列接続されるPチャネルMOSトランジスタ28及びNチャネルMOSトランジスタ29などを備えている。尚、電源V1の電圧は例えば14V程度、電源V2の電圧は例えば7V程度に設定される。
【0021】
そして、MOSトランジスタ24〜29に対するゲート信号は、周波数分散機能部17からのドライブ指令がトリガとなって与えられるが、MOSトランジスタ24〜27に対しては、夫々選択回路30(a,b),31を介して出力されるようになっている。また、MOSトランジスタ28及び29の共通接続点(ドレイン)には、基準電源VLMが接続されており、その共通接続点とMOSトランジスタ28及び29のゲート間には、レベル可変の直流電源VL(+),VL(−)が夫々接続されている。
【0022】
駆動電圧/電流調整部23は、バス3をレベルVLP,VL0で夫々ドライブする場合には、各MOSトランジスタのON,OFFを以下のように設定する。
MOSトランジスタ 24 25 26 27 28 29
VLP ON ON OFF OFF OFF OFF
VL0 OFF OFF ON ON ON ON
そして、バス3をレベルVLPでドライブする場合には、選択回路30によりMOSトランジスタ24a〜24c,25a〜25cを1つ以上ONにする。この時、レベルVLPは、電源V1の電圧と、MOSトランジスタ24a〜24c,25a〜25cのうち幾つを同時にONさせたかによって決まる。例えば、MOSトランジスタ24a及び25aだけをONさせた場合と、MOSトランジスタ24a〜24c,25a〜25cを全てONさせた場合とでは、後者については等価的にトランジスタのサイズWを増加させたことに等しくなり、バス3に対する電流供給能力が向上する。また、トランジスタのON抵抗も減少するため、結果として電圧VLPはより上昇することになる。
【0023】
一方、バス3をレベルVL0でドライブする場合には、選択回路31によりMOSトランジスタ26a〜26c,27a〜27cを夫々1つ以上ONにする。また、MOSトランジスタ28,29に対しては、電圧VL(+),VL(−)を調整することで、ゲート電圧を与えた場合に両者がONするように設定する。この時、レベルVL0は、MOSトランジスタ28,29のしきい値電圧をVTとすると、
バス3(+):VLM+VL(+)+VT
バス3(−):VLM−VL(−)−VT
となり、レベルVL0は、両者の差となるので
VL0=VL(+)+VL(−)+2VT
で定まることになる。
【0024】
そして、この場合もMOSトランジスタ26a〜26c,27a〜27cを幾つONするかによって、レベルVL0は僅かに変動すると共に、バス3に対する電流供給能力も変化する。尚、選択回路30,31によりトランジスタをONする個数の選択は、例えば各レベルにドライブする毎に個数を変化させても良いし、1ドライブ期間内で個数を変化させるようにしても良い。
【0025】
図6は、スレーブ(通信装置)41側の構成を概略的に示す機能ブロック図である。バス3(+),3(−)の間には、電圧監視回路42が接続されている。この電圧監視回路42は、マスタ11がドライブするバス3の電圧を監視することで、スレーブ41が通信タイミングを把握するための情報を得るもので、電圧レベル比較用のコンパレータなどを内蔵して構成されている。そして、電圧監視回路42は、バス3のドライブレベルが正常か否かを監視し、その監視結果をCPU(マイクロコンピュータ)43に対して出力する。
【0026】
また、電圧監視回路42は、データカウント用の電圧しきい値VDCをVL0よりも若干高いレベルに設定しており、バス3の電圧レベルの立ち上がりがしきい値VDCを超える毎に、ワンショットパルスをデータカウンタ44に出力するようになっている。更に、電圧監視回路42は、バス3の電圧レベルがVLPを維持している間はアップダウンカウンタ45に出力するU/D切替え信号をハイレベルにする。そして、マスタ11がPower Phaseにおけるバス3のドライブを停止することで、上記電圧レベルがVLPから所定値だけ低下すると、U/D切替え信号をハイからロウに変化させる。
【0027】
アップダウンカウンタ45は、データカウンタ44により与えられるカウントイネーブル信号(CE2)がアクティブである場合に、クロック回路46により出力されるカウントクロック信号に基づきカウント動作を行なう。そして、上記U/D切替え信号がハイレベルの期間はアップカウント動作を行ない、U/D切替え信号がロウレベルの期間はダウンカウント動作を行なうようになっている。また、U/D切替え信号は、通信ドライバ/レシーバ47にも与えられている。
【0028】
CPU43は、通信ドライバ/レシーバ47を介してバス3をドライブすることでマスタ11にデータを送信すると共に、マスタ11より送信されたデータを通信ドライバ/レシーバ47を介して受信する。尚、マスタ11がPower Phaseにおいて送信した電力は、図示しない電源回路において平滑され、スレーブ41の各部に動作用電源として供給されるようになっている。
また、CPU43は、通信ドライバ/レシーバ47を介してマスタ1がバス3上にSOFを送信したことを検出すると、データカウンタ44に与えるカウントイネーブル信号(CE1)をアクティブにするようになっている。すると、データカウンタ44は、電圧監視回路42により与えられるパルスのカウント、即ち、SOFの出力時点からバス3上で送信されたデータ数のカウントを開始する。そして、そのカウント値が、スレーブ11のデータ送信期間の開始に相当する値になると、アップダウンカウンタ45に与えるカウントイネーブル信号(CE2)をアクティブにするようになっている。
【0029】
通信ドライバ/レシーバ47は、イネーブル信号CE2がアクティブになると共に、U/D切替え信号がハイからロウに変化すると、CPU43により与えられた送信データに応じてバス3のドライブを開始する。但し、データ「0」を送信する場合には、前述したようにバス3をドライブしない。
図7は、通信ドライバ/レシーバ47の内部において、バス3をレベルVL1又はVLS0にドライブするための構成部分を示すものである。バス3(+)と電源V3との間には、複数のNMOSトランジスタ48a,48b,・・・,48nが並列接続されている。そして、それらのトランジスタ48のゲートには、選択回路49を介してゲート信号が与えられるようになっている。
【0030】
選択回路49は、マスタ11側の選択回路30,31と同様に、CPU43より与えられるドライブ指令に応じてMOSトランジスタ48を幾つONするかを選択するものである。その選択により、スレーブ41がバス3をレベルVL1,又はVLS0にドライブする際に、マスタ11側と同様にドライブレベルを変動させると共に、バス3に対する電流供給能力を変化させる。
【0031】
次に、第1参考例の作用について図8も参照して説明する。図8は、マスタ11,スレーブ41がバス3をドライブする場合に、夫々がドライブレベル及び電流供給能力を変化させることによるバス3上の通信波形を示すものである。即ち、ドライブレベルVLP,VL0は、各ドライブ期間毎に変化すると共に、電流供給能力の変化によりレベル変化の立下り,立上りの傾きも変化するようになっている。また、立下り,立上りの傾きをより緩やかに変化させると、ドライブレベルの変化点における波形の急激な変化を緩和して丸めることができるため、高調波成分の発生が抑制される。
【0032】
そして、実際には、上記ドライブ状態の変化は、図4に示した通信レートの微小変動と同時に行われるので、通信波形に応じて発生する周波数スペクトラムの分布状態は、単に通信レートを微小変動させる場合に比較してより拡がるようになる。従って、通信に伴って発生する不要輻射レベルは、特定の周波数に集中する状態がより緩和されるため、全体域で見た場合のレベルのピークを低下させることが可能となる。
【0033】
ここで、SbWにおける各ドライブレベルは、例えば以下のような電圧値に設定されている。
VLP:12V,VL0:5V,VL1:3V,VLS0:0V
そして、各レベルについては、下限,上限の間で例えば0.5V〜1.4V程度の許容範囲が規定されている。従って、マスタ11並びにスレーブ41は、各レベルをドライブする場合は、上記の許容範囲内でレベルを変動させる。
【0034】
以上のように第1参考例によれば、マスタ11は、通信中において通信周波数を微小変動させると共に、バス3のドライブレベルを許容範囲内で変化させるので、発生するノイズのピークレベルを更に抑制することができる。また、マスタ11は、バス3をドライブする場合の電流駆動能力を変化させてレベル遷移に要する時間も変化させるので、信号レベルが変化する場合の波形の傾きもダイナミックに変化させて信号の周波数帯域をより拡げることができ、発生するノイズのピークレベルを一層抑制することができる。更に、マスタ11は、通信周波数を循環パターンにより微小変動させるので、周波数を微小変動させるために必要な構成を簡単にすることができる。
加えて、スレーブ41も、通信中においてバス3をドライブする場合のドライブレベルを変化させると共に、電流駆動能力を変化させることでレベル遷移に要する時間を変化させるので、ノイズのピークレベルを抑制する効果をより向上させることができる。
【0035】
(第2参考例)
図9乃至図11は第2参考例を示すものであり、第1参考例と同一部分には同一符号を付して説明を省略し、以下異なる部分について説明する。第1参考例では、通信周波数を微小変動させる場合にデータ12ビット分を1周期として循環的に変動させたが、第2参考例では、マスタ側において、ビットデータのまとまりである通信フレームを単位として変動を管理する。
【0036】
先ず、その原理について図9を参照して説明する。図9(a),(b)に示すように、各通信フレームは複数のデータビットで構成されており、その通信フレームの送信時間については、通信プロトコルの仕様上、最初に設定された時間に対する変動許容値が設定されている。一例として、その変動許容値が±10%であるとすると、1つの通信フレームを構成する各ビットの送信期間(ビットレート)を変動させる場合、その変動の総和が上記許容値の±10%以内となるように設定する。
【0037】
即ち、例えば、1フレームのビット数が「10」である場合、その内の1ビットだけは送信期間を変動させず、5ビットは+10%に変動させ、4ビットを−10%に変動させれば、1フレームの変動量の総和は+10%となる。そして、第1参考例と同様に基本レートが80kbsの場合、図9(c)に示すように、そのレートを−10%変動させる場合には、100%ビット期間としてのレート決定用のカウンタにロードするデータを「110」にすれば良い。尚、図9(c)に示した「サンプリングポイント」は、SbW以外の、その他一般のシリアル通信について、1ビット期間の中央付近で受信側がビットデータをサンプリングすることを想定した場合のタイミングを示している。
【0038】
図10は、上記のようにビットレートの変動制御を行う部分の構成を概略的に示すものである。変動制御部51は、フレーム幅制御部52,ビット数制御部53,ビットレート制御部54で構成されている。フレーム幅制御部52は、1通信フレームの幅、即ち、送信時間を決定するためのレジスタ52aを備えており、ビット数制御部53は、上記フレームを何ビット構成とするか設定するためのレジスタ53aと、1ビットデータの送信数をカウントするためのカウンタ53bと備えている。また、ビットレート制御部54は、上記フレームを構成する各ビットについて、通信レートを設定するためのレジスタ54aと、ビットレートをカウントするためのカウンタ54bとを備えている。
【0039】
即ち、ビットレート制御部54において、カウンタ54bによりカウントされるクロック数と、レジスタ54aに設定されたクロック数とが図示しないコンパレータにより比較され、両者が一致すると100%ビット期間が決まりビットクロックが生成され、そのビットクロックは、ビット数制御部53のカウンタ53bに与えられている。また、ビットレート制御部54では、各ビットのレジスタ54aのデータは、マルチプレクサなどにより切換えられて比較対象とされるようになっている。
【0040】
ビット数制御部53では、カウンタ53bがビットクロックの出力数をカウントし、そのカウント値がレジスタ53aの設定値に一致すれば、1フレームの終了となる。
図11は、変動制御部51における処理手順を示すフローチャートであるが、ハードウエアによる処理内容も含めて示している。先ず、フレーム幅制御部52において1通信フレームの幅を仕様上の許容範囲内で設定すると(ステップS1)、ビット数制御部53のレジスタ53aに、1フレームで送信するビット数を設定する(ステップS2)。尚、ステップS2の処理は、ステップS1で設定されたフレーム幅と、基本レートとの関係に基づいて自動的に設定するようにしても良い。
【0041】
次に、ビットレート制御部54において、最初に送信するビットのレート(変動値を含む)をレジスタ54aに書き込んで設定し(ステップS3)、カウンタ54bのカウント値がレジスタ54aのデータ値に一致すれば(ステップS4:NO)ステップS5に移行する。そして、ビット数制御部53において、カウンタ53bのカウント値がレジスタ53aの設定値に一致しなければ(YES)ステップS3に戻り、次に送信するビットのレートデータをレジスタ54aに設定する。また、ステップS3の処理についても、ステップS1,S2で設定されたフレーム幅,ビット数と、基本レートとの関係に基づいて自動的に設定するようにしても良い。
【0042】
上記のようにしてステップS3〜S5の処理を繰り返し、ステップS5において、カウンタ53bのカウント値がレジスタ53aの設定値に一致すれば(NO)、1フレームの送信処理は終了となる。尚、データの電圧レベルを変動にさせる方式については、第1参考例と同様に行われる。
【0043】
以上のように第2参考例によれば、マスタは、送信データのまとまりである通信フレームについて送信時間の変動値を許容範囲内で決定すると、当該通信フレームを構成する1ビット期間の送信時間を、各変動値の総和が前記通信フレームの変動値以内となるように変動させるようにした。従って、1ビット期間について与える時間変動を、通信フレームを単位とする枠内でより多様化させることができるので、ノイズレベルのピークを一層低減させると共に、ノイズ成分の周波数をより分散させることができる。
【0044】
(一実施例)
図12及び図13は本発明の一実施例を示すものである。本実施例は、本発明を、直流モータをPWM制御によって駆動する装置に適用する場合に、その駆動制御装置がPWMデューティについて与える変動量を、最適化して設定する方法を示すものである。図12には、例えば、車両に搭載される直流モータを駆動制御する装置を示す。車両のバッテリ61の正側,負側端子に接続されている電源線62(+),62(−)の間には、制御IC(駆動制御装置,デューティ変動手段)63が接続されていると共に、駆動回路64及びモータ(負荷)65の直列回路が接続されており、モータ65にはフライホイールダイオード66が並列に接続されている。
【0045】
制御IC63は、外部のECU(Electronic Control Unit)67より与えられる制御信号を受けて、駆動回路64に駆動信号をPWM信号として出力し、モータ65の駆動を制御するようになっている。駆動回路64は、例えばパワーMOSFETのような駆動素子を含んで構成される。また、制御IC63は、上記PWM信号のデューティについて、ECU67より与えられる制御信号に応じて所定の指令値を決定すると、その指令値を、第1,第2参考例で示したような制御と同様に変動させる。
【0046】
例えば、決定されたデューティ指令値が70%であったとすると、その指令値を、例えば±5%の範囲で変動させると共に(65%〜75%)、そのように変動させたPWM信号のデューティを一定期間について平均すると、指令値70%に一致するように変動させる。その結果、モータ65の駆動電力は、PWMデューティ70%に相当するものとなり、また、PWMデューティを70%で固定して出力した場合に、高調波成分により発生するノイズのピークを低減し、ノイズの周波数成分を分散させることができる。
【0047】
図13は、上記のように構成される制御IC63について、PWM信号に与えるデューティの変動態様を製品毎に最適化するための方法を、概念的に示す。即ち、PWM信号に与えるデューティの変動態様を変化させると、それに応じてノイズの発生態様も変化する。そこで、所定の変動パターンを制御IC63に設定して製品に組み込み動作させ、実際にモータ65を駆動した場合に発生するノイズを測定し、その測定結果をパーソナルコンピュータ(PC)68に記憶させる。
【0048】
上記変動パターンを様々に替えて測定結果を順次PC68に記憶させることで、周波数分散値データベース(測定結果記憶手段)69を形成する。そして、データベース69を参照すれば、製品毎の使用条件,状況,環境や負荷の種類、制御IC63の製造ばらつき、製品について抑制が要求されるノイズのレベルや周波数成分に応じて、どのような変動パターンがノイズの抑制に最適であるのかが分かるようになる。
従って、制御IC63を出荷する前の段階で、製品に応じてどのようにPWMデューティを変動させるパターンが最適であるのかを見極めて、制御IC63の内部レジスタ63Rに書き込んで設定する。すると、制御IC63は、内部レジスタ63Rに設定された変動パターンに応じて、PWMデューティを変動させる。
【0049】
以上のように本実施例によれば、制御IC63が、駆動回路64に出力するPWM信号のデューティを、指令値を中心に、所定期間内における平均が前記指令値に一致するように微小変動させる場合、PC68のデータベース69に、実際にPWM信号を駆動回路64に与えることで発生したノイズ成分のレベル測定結果を反映したデータを、そのデューティの変動態様と共に記憶する。そして、データベース69に記憶されているデータを参照して、与えられた動作環境や動作条件等に応じて抑圧対象となる周波数帯のノイズレベルを低減するように、制御IC63によるPWMデューティの変動態様を決定する。従って、各製品に応じて、抑圧すべき周波数帯のノイズレベルを低減するようにデューティの変動態様を最適化することができる。
【0050】
本発明は上記し又は図面に記載した実施例にのみ限定されるものではなく、以下のような変形が可能である。
通信周波数を微小変動させる範囲については、基準となる周波数を±数%〜十数%程度の範囲で任意に設定すれば良い。また、周波数の変動は循環パターンに限ることなく、ランダムなパターンで変動させても良い。
マスタ11においては、レベルVLPのみを変動させても良い。
スレーブ41においては、レベルVL0,VL1,VLS0の何れか1つのレベルだけを変動させても良い。
ドライブレベルを変動させる構成、又は電流駆動能力を変化させる構成はマスタ,スレーブの何れか一方だけに設けても良い。また、ドライブレベルと電流駆動能力との何れか一方だけを変化させても良い。
【0051】
ドライブレベルの遷移に伴う波形の立上り,立下りの傾きを変化させるには、ドライブ時間を変化させても良い。即ち、実際にバスをドライブする時間をより短くして、残りの期間はドライブを停止してハイインピーダンス状態にしても良い。
第2参考例において、各ビットレートを変動させる場合に、変動量の絶対値をビット毎に変化させても良い。また、それらの変動量の総和は、フレームについて設定した許容範囲より小さくなっても良い。また、フレームについての変動値も、仕様上の最大許容値より小さく設定しても良い。
SbWに限ることなく、マスタと複数のスレーブとの間で非同期通信を行うもので、マスタがバスに電源を供給する期間と、マスタ又はスレーブがバスをドライブして1ビットのデータを当該バス上に出力する期間とを併せた期間の連続で通信を行うプロトコルを採用するシステムであれば適用が可能である。
【符号の説明】
【0052】
図面中、3はバス、11はマスタ(通信装置)、13は電圧ドライバ、14は周波数分散機能部、23は駆動電圧/電流調整部、41はスレーブ(通信装置)、63は制御IC(駆動制御装置,デューティ変動手段)、64は駆動回路、65は直流モータ(負荷)、69は周波数分散値データベース(測定結果記憶手段)を示す。
【特許請求の範囲】
【請求項1】
駆動回路にPWM(Pulse Width Modulation)信号を出力することで負荷をスイッチング制御するもので、前記PWM信号について決定されたデューティ指令値を中心として、PWM信号のデューティを、所定の期間内における平均が前記指令値に一致するように微小変動させるデューティ変動手段を備える駆動制御装置に対して、前記デューティの変動態様を設定するための方法において、
前記駆動制御装置が、前記駆動回路に前記PWM信号を出力することで発生したノイズ成分のレベル測定結果を反映したデータを、前記デューティ変動手段によるデューティの変動態様と共に測定結果記憶手段に記憶させ、
この測定結果記憶手段に記憶されているデータを参照することで、与えられた動作環境または動作条件に応じて抑圧対象となる周波数帯のノイズレベルを低減するように、前記デューティ変動手段によって付与される前記デューティの変動態様を決定することを特徴とするPWM制御のデューティ決定方法。
【請求項1】
駆動回路にPWM(Pulse Width Modulation)信号を出力することで負荷をスイッチング制御するもので、前記PWM信号について決定されたデューティ指令値を中心として、PWM信号のデューティを、所定の期間内における平均が前記指令値に一致するように微小変動させるデューティ変動手段を備える駆動制御装置に対して、前記デューティの変動態様を設定するための方法において、
前記駆動制御装置が、前記駆動回路に前記PWM信号を出力することで発生したノイズ成分のレベル測定結果を反映したデータを、前記デューティ変動手段によるデューティの変動態様と共に測定結果記憶手段に記憶させ、
この測定結果記憶手段に記憶されているデータを参照することで、与えられた動作環境または動作条件に応じて抑圧対象となる周波数帯のノイズレベルを低減するように、前記デューティ変動手段によって付与される前記デューティの変動態様を決定することを特徴とするPWM制御のデューティ決定方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2012−110060(P2012−110060A)
【公開日】平成24年6月7日(2012.6.7)
【国際特許分類】
【出願番号】特願2012−53153(P2012−53153)
【出願日】平成24年3月9日(2012.3.9)
【分割の表示】特願2007−9205(P2007−9205)の分割
【原出願日】平成19年1月18日(2007.1.18)
【出願人】(000004260)株式会社デンソー (27,639)
【Fターム(参考)】
【公開日】平成24年6月7日(2012.6.7)
【国際特許分類】
【出願日】平成24年3月9日(2012.3.9)
【分割の表示】特願2007−9205(P2007−9205)の分割
【原出願日】平成19年1月18日(2007.1.18)
【出願人】(000004260)株式会社デンソー (27,639)
【Fターム(参考)】
[ Back to top ]