(57)【要約】【課題】通信周波数を微小変動させる技術よりも、ノイズレベルの低減を更に図ることができる通信システムを提供する。【解決手段】マスタ１１は、通信中において通信周波数を微小変動させると共に、バス３のドライブレベルを許容範囲内で変化させる。また、マスタ１１は、バス３をドライブする場合の電流駆動能力を変化させてレベル遷移に要する時間も変化させるので、信号レベルが変化する場合の波形の傾きもダイナミックに変化させて信号の周波数帯域をより拡げるようにして、発生するノイズのピークレベルを一層抑制する。【選択図】図１
2007300599.tif 000002
【特許請求の範囲】
【請求項１】
マスタと、このマスタにバスを介して接続される複数のスレーブとの間で非同期通信を行うもので、
前記マスタが前記バスに電源を供給する電源供給期間と、前記マスタ又は前記スレーブが前記バスをドライブして１ビットのデータを当該バス上に出力するデータ期間とを併せてなる１ビット期間の連続により通信を行うプロトコルを採用する通信システムにおいて、
前記マスタは、前記通信中において、通信周波数を微小変動させると共に、前記バスのドライブレベルを許容範囲内で変化させるように構成されていること特徴とする通信システム。
【請求項２】
前記マスタは、前記バスをドライブする場合のレベル遷移に要する時間を変化させるように構成されていること特徴とする請求項１記載の通信システム。
【請求項３】
マスタと、このマスタにバスを介して接続される複数のスレーブとの間で非同期通信を行うもので、
前記マスタが前記バスに電源を供給する電源供給期間と、前記マスタ又は前記スレーブが前記バスをドライブして１ビットのデータを当該バス上に出力するデータ期間とを併せてなる１ビット期間の連続により通信を行うプロトコルを採用する通信システムにおいて、
前記マスタは、前記通信中において、通信周波数を微小変動させると共に、前記バスをドライブする場合のレベル遷移に要する時間を変化させるように構成されていること特徴とする通信システム。
【請求項４】
前記マスタは、前記バスをドライブする場合の電流駆動能力を変化させること特徴とする請求項２又は３記載の通信システム。
【請求項５】
前記マスタは、通信フレームについて送信時間の変動値を許容範囲内で決定すると、当該通信フレームを構成する１ビット期間の送信時間を、各変動値の総和が前記通信フレームの変動値以内となるように変動させること特徴とする請求項１乃至４の何れかに記載の通信システム。
【請求項６】
前記マスタは、前記通信周波数を循環パターンにより微小変動させること特徴とする請求項１乃至５の何れかに記載の通信システム。
【請求項７】
前記スレーブも、前記通信中において、前記バスのドライブレベルを許容範囲内で変化させるように構成されていること特徴とする請求項１乃至６の何れかに記載の通信システム。
【請求項８】
前記スレーブも、前記通信中において、前記バスをドライブする場合のレベル遷移に要する時間を変化させるように構成されていること特徴とする請求項１乃至７の何れかに記載の通信システム。
【請求項９】
前記スレーブは、前記バスをドライブする場合の電流駆動能力を変化させること特徴とする請求項８記載の通信システム。
【請求項１０】
請求項１乃至６の何れかに記載の通信システムに使用され、前記マスタとして機能することを特徴とする通信装置。
【請求項１１】
請求項７乃至９の何れかに記載の通信システムに使用され、前記スレーブとして機能することを特徴とする通信装置。
【請求項１２】
駆動回路にＰＷＭ（Pulse Width Modulation）信号を出力することで負荷をスイッチング制御するもので、前記ＰＷＭ信号について決定されたデューティ指令値を中心として、ＰＷＭ信号のデューティを、所定の期間内における平均が前記指令値に一致するように微小変動させるデューティ変動手段を備える駆動制御装置に対して、前記デューティの変動態様を設定するための方法において、
前記駆動制御装置が、前記駆動回路に前記ＰＷＭ信号を出力することで発生したノイズ成分のレベル測定結果を反映したデータを、前記デューティ変動手段によるデューティの変動態様と共に測定結果記憶手段に記憶させ、
この測定結果記憶手段に記憶されているデータを参照することで、与えられた動作環境または動作条件に応じて抑圧対象となる周波数帯のノイズレベルを低減するように、前記デューティ変動手段によって付与される前記デューティの変動態様を決定することを特徴とするＰＷＭ制御のデューティ決定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マスタと、このマスタにバスを介して接続される複数のスレーブとの間で非同期通信を行う通信システム，及びそのシステムに使用される通信装置，並びに駆動回路にＰＷＭ信号を出力することで負荷をスイッチング制御する駆動制御装置について、ＰＷＭ制御のデューティを決定する方法に関する。
【背景技術】
【０００２】
車両内部の配線で使用される通信プロトコルの１つとして、ＳｂＷ（Safe by Wire）がある。ＳｂＷは、例えばエアバッグ制御のように、配線が少なくなることが好ましいものに適用するため、電源の供給並びに通信を２本の配線のみで行うようにしたプロトコルである。
図１４には、１つのマスタ（例えば、車両用のＥＣＵ）１と、複数のスレーブ２（１〜６７）とを、バス３（＋，−）を介して列状に接続した構成を示す。尚、各スレーブ２の内部に存在するスイッチ４は、後続のスレーブ２に故障が発生した場合に、当該スレーブ２に対するバス３の接続を切り離し、正常なスレーブ２のみで通信を続行するために設けられている。
【０００３】
また、図１５には、ＳｂＷによる通信でデータを送信する場合に、マスタ１若しくはスレーブ２がバス３をドライブする場合の電圧波形を示す。ＳｂＷでは、マスタ１は、先ず電源供給期間（Power Phase）においてバス３を電圧レベルＶＬＰでドライブすることで、各スレーブ２に動作用電源を供給する。そして、電源供給期間に続くデータ期間（Data Phase）が、マスタ１若しくはスレーブ２が１ビットのデータを送信する期間となり、双方の期間を加えたものが１ビット期間（１００％bit）として定義されている。また、この１ビット期間の長さによって通信速度が決まるようになっており、１つのシステムにおいてダイナミックに通信速度が変更される場合もある。
【０００４】
データ期間においてマスタ１がデータを送信する場合は、バス３を電圧レベルＶＬ０，ＶＬ１の何れかにドライブする。これらの電圧レベルは、夫々データ「０，１」に対応する。また、スレーブ２がデータを送信する期間では、マスタ１はデータ期間でバス３を電圧レベルＶＬ０にドライブする。尚、電源供給期間，データ期間の期間長は、等しくなるように規定されている。
この時、スレーブ２側がバス３をドライブしなければ電圧レベルはＶＬ０のままとなり、データ「０」を送信したことになる。そして、スレーブ２側がバス３を電圧レベルがＶＬ０よりも低いＶＬ１にドライブすれば、データ「１」を送信したことになる。また、スレーブ２側がバス３を電圧レベルがＶＬ１よりも低いＶＬＳ０にドライブした場合は、マスタ１に対して割り込みを発生させることを意味する。
【０００５】
また、図１６には、マスタ１−スレーブ２間におけるデータ通信の一例を示す。マスタ１は、その時点での通信レートにおける１ビット期間の２倍の長さ（２００％bit）でバス３をＶＬＰ，ＶＬ０にドライブすることで、通信の開始を示すＳＯＦ（Start Of Frame）を送信する。スレーブ２は、バス３にＳＯＦが送信されたことにより、各々が通信の開始を認識する。
【０００６】
それから、マスタ１は通信モードを指定するため、ＭＳＡ，ＳＥＬの２データビットを送信すると、以降はスレーブ２側がデータを送信する期間となる。即ち、Slot1＿data及びそれに続くＣＲＣは、マスタ１（１）のデータ送信期間であり、ＣＲＣ（Cyclic Redundancy Check）は、Slot1＿dataについて付された誤り検出符号である。以降同様に、他のスレーブ２により、Slot2＿data，Slot3＿data，・・・Slot＿n＿dataが順次送信される。尚、通信が行われないアイドル期間においては、マスタ１はバス３をＶＬＰ，ＶＬ０に交互にドライブする状態を繰り返している。
【０００７】
以上のように、ＳｂＷでは、２本のバス３（＋，−）によってマスタ１が電源供給期間に電源を供給しながら、スレーブ２との間の通信も行うシリアル通信システムである。
この通信システムを車両に搭載されるエアバッグ装置に適用することを想定すると、複数のスレーブ２が、車両の各部に配置されている加速度センサに対応する。そして、何れかの加速度センサが事故の衝撃を検出すると、その検出信号がスレーブ２からマスタ１に送信される。すると、マスタ１は、図示しないエアバッグ装置のインフレータに点火指令を出力してガスを発生させ、エアバッグを展開させる。
【０００８】
上述のようにＳｂＷでは、システムが稼動中であれば、マスタ１はスレーブ２に電源を供給し続けるためアイドル期間でもバス３をドライブする。従って、一定の周波数での通信が継続され易く、前記周波数を基本波とする高調波成分のパワーが上昇してノイズを発生し易くなるという問題がある。
斯様な問題を解決すための公知技術としては、例えばスペクトラム拡散通信や、Bluetooth（登録商標）に適用されている周波数ホッピングなどのように、通信周波数を変動させることでパワースペクトラムを分散させ、ノイズとなる成分のピークを低下させる技術が知られている。
【０００９】
尚、ＳｂＷ自体は未だ余り普及が進んでいない技術であるため、出願人は提示すべき適切な先行技術文献を見つけることはできなかった。
また、例えば、モータのような負荷を駆動する駆動回路に対し、ＰＷＭ信号を出力してスイッチング制御を行うようなシステムにおいても、そのＰＷＭデューティが一定に出力されると、そのＰＷＭ信号の高調波成分について上記した通信の場合と同様の問題が生じる。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上記のような公知技術を導入するだけでは、ノイズレベルの低減を十分図ることができない場合がある。
本発明は上記事情に鑑みてなされたものであり、その目的は、通信周波数を微小変動させる技術よりも、ノイズレベルの低減を更に図ることができる通信システム，及びそのシステムに使用される通信装置，並びにＰＷＭ制御のデューティ決定方法を提供することにある。
【課題を解決するための手段】
【００１１】
請求項１記載の通信システムによれば、マスタは、通信中において通信周波数を微小変動させると共に、バスのドライブレベルを許容範囲内で変化させる。すると、バス上に出力される通信信号の振幅、即ち波形がダイナミックに変化することになり、その結果、信号の周波数成分はより広い帯域に亘って分布するようになる。従って、通信中に周波数を微小変動させるだけの構成に比較して、発生するノイズのピークレベルを更に抑制することができる。尚、ここで「通信周波数を微小変動させる」とは、基準となる周波数を±数％〜十数％程度の範囲で変動させることを言うものとする。また、「許容範囲」とは、ドライブレベルについて通信仕様で規定されている許容範囲を示す。
【００１２】
請求項２記載の通信システムによれば、マスタは、バスをドライブする場合のレベル遷移に要する時間を変化させる。斯様に構成すれば、信号レベルが変化する場合の波形の傾きもダイナミックに変化するので、信号の周波数帯域をより拡げることができ、発生するノイズのピークレベルを一層抑制することができる。
【００１３】
請求項３記載の通信システムによれば、マスタは、通信中において周波数を微小変動させると共に、バスをドライブする場合のレベル遷移に要する時間を変化させる。従って、請求項２と同様の作用により、通信中に周波数を微小変動させるだけの構成に比較して、発生するノイズのピークレベルを更に抑制することができる。
【００１４】
請求項４記載の通信システムによれば、マスタは、バスをドライブする場合の電流駆動能力を変化させる。即ち、電流駆動能力を変化させることで、請求項２のように信号レベルが変化する場合の波形の傾が変化するので、発生するノイズのピークレベルを抑制することができる。
【００１５】
請求項５記載の通信システムによれば、マスタは、送信データのまとまりである通信フレームについて送信時間の変動値を許容範囲内で決定すると、当該通信フレームを構成する１ビット期間の送信時間を、各変動値の総和が前記通信フレームの変動値以内となるように変動させる。斯様に構成すれば、１ビット期間について与える時間変動を、通信フレームを単位とする枠内でより多様化させることができるので、ノイズレベルのピークを一層低減させると共に、ノイズ成分の周波数をより分散させることができる。
【００１６】
請求項６記載の通信システムによれば、マスタは、通信周波数を循環パターンにより微小変動させるので、周波数を微小変動させるために必要な構成を簡単にすることができる。
【００１７】
請求項７記載の通信システムによれば、スレーブも、通信中において、バスのドライブレベルを許容範囲内で変化させるので、信号の周波数帯域を一層拡げることができる。
請求項８記載の通信システムによれば、スレーブも、通信中においてバスをドライブする場合のレベル遷移に要する時間を変化させるので、ノイズのピークレベルを抑制する効果をより向上させることができる。
【００１８】
請求項９記載の通信システムによれば、スレーブは、バスをドライブする場合の電流駆動能力を変化させるので、請求項４と同様の作用により、ノイズのピークレベルを抑制する効果を更に向上させることができる。
【００１９】
請求項１２記載のＰＷＭ制御のデューティ決定方法によれば、駆動制御装置のデューティ変動手段は、駆動回路に出力するＰＷＭ信号のデューティを、指令値を中心に、所定期間内における平均が前記指令値に一致するように微小変動させ、測定結果記憶手段には、ＰＷＭ信号を駆動回路に与えることで発生したノイズ成分のレベル測定結果を反映したデータが、そのデューティの変動態様と共に記憶される。そして、測定結果記憶手段に記憶されているデータを参照して、与えられた動作環境または動作条件に応じて抑圧対象となる周波数帯のノイズレベルを低減するようにＰＷＭデューティの変動態様を決定する。
【００２０】
即ち、ＰＷＭ信号のデューティを上記のように微小変動させれば所定期間内におけるデューティの平均は指令値に一致するため、負荷の駆動制御は指令通りに行われると共に、スイッチングにより発生するノイズのピークレベルを低減し、ノイズの周波数を分散させることができる。そして、測定結果記憶手段には、ＰＷＭデューティの変動態様に応じたノイズの発生結果が記憶されているので、その記憶内容を参照すれば、駆動制御装置につき与えられた動作環境または動作条件に応じて、抑圧すべき周波数帯のノイズレベルを低減するように変動態様を最適化することができる。
【発明を実施するための最良の形態】
【００２１】
（第１実施例）
以下、本発明の通信システムを、ＳｂＷに適用した場合の第１実施例について図１乃至図８を参照して説明する。また、図１４乃至図１６と同一部分には同一符号を付して示す。図１は、マスタ（通信装置）１１の構成を本発明の要旨に係る部分を中心として概略的に示す機能ブロック図である。マスタ１１は、ＣＰＵ１２が電圧ドライバ１３を制御することで、バス３（ＢＵＳ＿Ａ，ＢＵＳ＿Ｂ）をドライブするようになっている。
また、バス３（＋），３（−）の間には、バス３のドライブレベルを監視する電圧監視部１４が接続されており、電圧監視部１４は、その監視結果に応じたデータを一致回路１５に出力する。一致回路１５には、ＣＰＵ１２が設定値レジスタ１６に書き込んで設定したデータも与えられている。そして、一致回路１５は、設定値データと監視結果データとが一致すると、一致信号を電圧ドライバ１３に出力する。
【００２２】
図２は、電圧ドライバ１３に内蔵されている周波数分散機能部１７の構成を示すブロック図である。周波数分散機能部１７は、通信のビットレートを微小変動させるもので、状態遷移シーケンサ１８，加減算器１９，レジスタ２０，カウンタ２１，クロック回路２２によって構成されている。クロック回路２２は、例えば周波数８ＭＨｚのクロック信号ｃｌｋをカウンタ２１に供給する。状態遷移シーケンサ１８には、ＣＰＵ１２によって制御データL0＿STATEが与えられており、状態遷移シーケンサ１８は、後述するカウンタ２１からのドライブ指令をデータL0＿STATEの値だけカウントする毎に、加減算器１９の演算機能を加算／減算に切り替えるための制御信号PLUS／MINUSを出力する。
【００２３】
加減算器１９には、ＣＰＵ１２より周波数の分散量に相当するデータL0＿STEPが与えられ、そのデータL0＿STEPとレジスタ２０の出力データとを、カウンタ２１からのドライブ指令が２回（Power PhaseのＶＬＰ，Data PhaseのＶＬ０又はＶＬ１）出力される毎に加算／減算してレジスタ２０に出力する。そして、レジスタ２０の出力データはカウンタ２１にロードされ、カウンタ２１は、ロードされたデータ（Ｌｏａｄデータ）をクロック信号ｃｌｋによりダウンカウントし、そのカウント値に応じてドライブ指令を出力する。
【００２４】
図３は、周波数分散機能部１７によって通信ビットレートを変動させる状態の一例を示すもので、図３（ａ）はカウンタ２１に対するＬｏａｄデータの値（クロック信号ｃｌｋによるダウンカウント数）と通信レートとの関係を示すテーブルである。変動分が「０」となる基本レートを８０ｋｂｐｓとすると、８ＭＨｚのクロック信号ｃｌｋを５０カウントすれば１ビットの送信期間の１／２：５０％ビット期間となる。そして、この基本レートに対して±４％刻みで最大±１２％まで通信レートを変動させる。
即ち、Ｌｏａｄデータを、「５０」から「２」ずつ増加させて「５２」，「５４」，「５６」とすると、通信レートは基本レートに対して−４％，−８％，−１２％となる（遅くなる）。逆に、Ｌｏａｄデータを、「５０」から「２」ずつ減少させて「４８」，「４６」，「４４」とれば、通信レートは基本レートに対して＋４％，＋８％，＋１２％となる（速くなる）。
【００２５】
従って、図３（ｂ）には状態遷移図を示すが、５０ｃｌｋ：０％からスタートして、４８ｃｌｋ，４６ｃｌｋ，最小値４４ｃｌｋまでＬｏａｄデータを減少させると、そこから加算に転じてデータを４６ｃｌｋ，４８ｃｌｋ，５０ｃｌｋ，・・・と増加させる。そして、最大値の５６ｃｌｋに達すると、そこから減算に転じて最小値４４ｃｌｋまでデータを減少させる。以上の状態遷移を循環的に繰り返すことで、通信レートを±４％刻みで最大±１２％まで微小変動させる。
【００２６】
図４は、周波数分散機能部１７の動作例を示すタイミングチャートである。図４（ｃ）に示すように、カウンタ２１にロードするデータの変化量が、＋８％，＋１２％，＋８％，＋４％と推移する状態を示している。この場合、前半の通信波形２周期については加減算器１９に減算をさせて、後半の２周期については加減算器１９に加算をさせている。尚、図４（ａ）に示す通信波形は、実際にバス３上でドライブされた波形ではなく、図示の都合上矩形波として示している。
【００２７】
また、図５は、電圧ドライバ１３内部における駆動電圧／電流調整部２３の構成を示すものである。駆動電圧／電流調整部２３は、電源Ｖ１とバス３（＋）との間に並列接続された複数のＰチャネルＭＯＳトランジスタ２４（ａ〜ｃ），バス３（−）とグランドとの間に接続されたＮチャネルＭＯＳトランジスタ２５（ａ〜ｃ），電源Ｖ２とバス３（＋）との間に並列接続された複数のＰチャネルＭＯＳトランジスタ２６（ａ〜ｃ），バス３（−）とグランドとの間に接続された複数のＮチャネルＭＯＳトランジスタ２７（ａ〜ｃ），バス３（＋），３（−）の間に直列接続されるＰチャネルＭＯＳトランジスタ２８及びＮチャネルＭＯＳトランジスタ２９などを備えている。尚、電源Ｖ１の電圧は例えば１４Ｖ程度、電源Ｖ２の電圧は例えば７Ｖ程度に設定される。
【００２８】
そして、ＭＯＳトランジスタ２４〜２９に対するゲート信号は、周波数分散機能部１７からのドライブ指令がトリガとなって与えられるが、ＭＯＳトランジスタ２４〜２７に対しては、夫々選択回路３０（ａ，ｂ），３１を介して出力されるようになっている。また、ＭＯＳトランジスタ２８及び２９の共通接続点（ドレイン）には、基準電源ＶＬＭが接続されており、その共通接続点とＭＯＳトランジスタ２８及び２９のゲート間には、レベル可変の直流電源ＶＬ（＋），ＶＬ（−）が夫々接続されている。
【００２９】
駆動電圧／電流調整部２３は、バス３をレベルＶＬＰ，ＶＬ０で夫々ドライブする場合には、各ＭＯＳトランジスタのＯＮ，ＯＦＦを以下のように設定する。
ＭＯＳトランジスタ    ２４    ２５    ２６    ２７    ２８    ２９
ＶＬＰ    ＯＮ    ＯＮ    ＯＦＦ  ＯＦＦ  ＯＦＦ  ＯＦＦ
ＶＬ０    ＯＦＦ  ＯＦＦ  ＯＮ    ＯＮ    ＯＮ    ＯＮ
そして、バス３をレベルＶＬＰでドライブする場合には、選択回路３０によりＭＯＳトランジスタ２４ａ〜２４ｃ，２５ａ〜２５ｃを１つ以上ＯＮにする。この時、レベルＶＬＰは、電源Ｖ１の電圧と、ＭＯＳトランジスタ２４ａ〜２４ｃ，２５ａ〜２５ｃのうち幾つを同時にＯＮさせたかによって決まる。例えば、ＭＯＳトランジスタ２４ａ及び２５ａだけをＯＮさせた場合と、ＭＯＳトランジスタ２４ａ〜２４ｃ，２５ａ〜２５ｃを全てＯＮさせた場合とでは、後者については等価的にトランジスタのサイズＷを増加させたことに等しくなり、バス３に対する電流供給能力が向上する。また、トランジスタのＯＮ抵抗も減少するため、結果として電圧ＶＬＰはより上昇することになる。
【００３０】
一方、バス３をレベルＶＬ０でドライブする場合には、選択回路３１によりＭＯＳトランジスタ２６ａ〜２６ｃ，２７ａ〜２７ｃを夫々１つ以上ＯＮにする。また、ＭＯＳトランジスタ２８,２９に対しては、電圧ＶＬ（＋），ＶＬ（−）を調整することで、ゲート電圧を与えた場合に両者がＯＮするように設定する。この時、レベルＶＬ０は、ＭＯＳトランジスタ２８,２９のしきい値電圧をＶＴとすると、
バス３（＋）：ＶＬＭ＋ＶＬ（＋）＋ＶＴ
バス３（−）：ＶＬＭ−ＶＬ（−）−ＶＴ
となり、レベルＶＬ０は、両者の差となるので
ＶＬ０＝ＶＬ（＋）＋ＶＬ（−）＋２ＶＴ
で定まることになる。
【００３１】
そして、この場合もＭＯＳトランジスタ２６ａ〜２６ｃ，２７ａ〜２７ｃを幾つＯＮするかによって、レベルＶＬ０は僅かに変動すると共に、バス３に対する電流供給能力も変化する。尚、選択回路３０，３１によりトランジスタをＯＮする個数の選択は、例えば各レベルにドライブする毎に個数を変化させても良いし、１ドライブ期間内で個数を変化させるようにしても良い。
【００３２】
図６は、スレーブ（通信装置）４１側の構成を概略的に示す機能ブロック図である。バス３（＋），３（−）の間には、電圧監視回路４２が接続されている。この電圧監視回路４２は、マスタ１１がドライブするバス３の電圧を監視することで、スレーブ４１が通信タイミングを把握するための情報を得るもので、電圧レベル比較用のコンパレータなどを内蔵して構成されている。そして、電圧監視回路４２は、バス３のドライブレベルが正常か否かを監視し、その監視結果をＣＰＵ（マイクロコンピュータ）４３に対して出力する。
【００３３】
また、電圧監視回路４２は、データカウント用の電圧しきい値ＶDCをＶＬ０よりも若干高いレベルに設定しており、バス３の電圧レベルの立ち上がりがしきい値ＶDCを超える毎に、ワンショットパルスをデータカウンタ４４に出力するようになっている。更に、電圧監視回路４２は、バス３の電圧レベルがＶＬＰを維持している間はアップダウンカウンタ４５に出力するＵ／Ｄ切替え信号をハイレベルにする。そして、マスタ１１がPower Phaseにおけるバス３のドライブを停止することで、上記電圧レベルがＶＬＰから所定値だけ低下すると、Ｕ／Ｄ切替え信号をハイからロウに変化させる。
【００３４】
アップダウンカウンタ４５は、データカウンタ４４により与えられるカウントイネーブル信号（ＣＥ２）がアクティブである場合に、クロック回路４６により出力されるカウントクロック信号に基づきカウント動作を行なう。そして、上記Ｕ／Ｄ切替え信号がハイレベルの期間はアップカウント動作を行ない、Ｕ／Ｄ切替え信号がロウレベルの期間はダウンカウント動作を行なうようになっている。また、Ｕ／Ｄ切替え信号は、通信ドライバ／レシーバ４７にも与えられている。
【００３５】
ＣＰＵ４３は、通信ドライバ／レシーバ４７を介してバス３をドライブすることでマスタ１１にデータを送信すると共に、マスタ１１より送信されたデータを通信ドライバ／レシーバ４７を介して受信する。尚、マスタ１１がPower Phaseにおいて送信した電力は、図示しない電源回路において平滑され、スレーブ４１の各部に動作用電源として供給されるようになっている。
また、ＣＰＵ４３は、通信ドライバ／レシーバ４７を介してマスタ１がバス３上にＳＯＦを送信したことを検出すると、データカウンタ４４に与えるカウントイネーブル信号（ＣＥ１）をアクティブにするようになっている。すると、データカウンタ４４は、電圧監視回路４２により与えられるパルスのカウント、即ち、ＳＯＦの出力時点からバス３上で送信されたデータ数のカウントを開始する。そして、そのカウント値が、スレーブ１１のデータ送信期間の開始に相当する値になると、アップダウンカウンタ４５に与えるカウントイネーブル信号（ＣＥ２）をアクティブにするようになっている。
【００３６】
通信ドライバ／レシーバ４７は、イネーブル信号ＣＥ２がアクティブになると共に、Ｕ／Ｄ切替え信号がハイからロウに変化すると、ＣＰＵ４３により与えられた送信データに応じてバス３のドライブを開始する。但し、データ「０」を送信する場合には、前述したようにバス３をドライブしない。
図７は、通信ドライバ／レシーバ４７の内部において、バス３をレベルＶＬ１又はＶＬＳ０にドライブするための構成部分を示すものである。バス３（＋）と電源Ｖ３との間には、複数のＮＭＯＳトランジスタ４８ａ，４８ｂ，・・・，４８ｎが並列接続されている。そして、それらのトランジスタ４８のゲートには、選択回路４９を介してゲート信号が与えられるようになっている。
【００３７】
選択回路４９は、マスタ１１側の選択回路３０，３１と同様に、ＣＰＵ４３より与えられるドライブ指令に応じてＭＯＳトランジスタ４８を幾つＯＮするかを選択するものである。その選択により、スレーブ４１がバス３をレベルＶＬ１，又はＶＬＳ０にドライブする際に、マスタ１１側と同様にドライブレベルを変動させると共に、バス３に対する電流供給能力を変化させる。
【００３８】
次に、本実施例の作用について図８も参照して説明する。図８は、マスタ１１，スレーブ４１がバス３をドライブする場合に、夫々がドライブレベル及び電流供給能力を変化させることによるバス３上の通信波形を示すものである。即ち、ドライブレベルＶＬＰ，ＶＬ０は、各ドライブ期間毎に変化すると共に、電流供給能力の変化によりレベル変化の立下り，立上りの傾きも変化するようになっている。また、立下り，立上りの傾きをより緩やかに変化させると、ドライブレベルの変化点における波形の急激な変化を緩和して丸めることができるため、高調波成分の発生が抑制される。
【００３９】
そして、実際には、上記ドライブ状態の変化は、図４に示した通信レートの微小変動と同時に行われるので、通信波形に応じて発生する周波数スペクトラムの分布状態は、単に通信レートを微小変動させる場合に比較してより拡がるようになる。従って、通信に伴って発生する不要輻射レベルは、特定の周波数に集中する状態がより緩和されるため、全体域で見た場合のレベルのピークを低下させることが可能となる。
【００４０】
ここで、ＳｂＷにおける各ドライブレベルは、例えば以下のような電圧値に設定されている。
ＶＬＰ：１２Ｖ，ＶＬ０：５Ｖ，ＶＬ１：３Ｖ，ＶＬＳ０：０Ｖ
そして、各レベルについては、下限，上限の間で例えば０．５Ｖ〜１．４Ｖ程度の許容範囲が規定されている。従って、マスタ１１並びにスレーブ４１は、各レベルをドライブする場合は、上記の許容範囲内でレベルを変動させる。
【００４１】
以上のように本実施例によれば、マスタ１１は、通信中において通信周波数を微小変動させると共に、バス３のドライブレベルを許容範囲内で変化させるので、発生するノイズのピークレベルを更に抑制することができる。また、マスタ１１は、バス３をドライブする場合の電流駆動能力を変化させてレベル遷移に要する時間も変化させるので、信号レベルが変化する場合の波形の傾きもダイナミックに変化させて信号の周波数帯域をより拡げることができ、発生するノイズのピークレベルを一層抑制することができる。更に、マスタ１１は、通信周波数を循環パターンにより微小変動させるので、周波数を微小変動させるために必要な構成を簡単にすることができる。
加えて、スレーブ４１も、通信中においてバス３をドライブする場合のドライブレベルを変化させると共に、電流駆動能力を変化させることでレベル遷移に要する時間を変化させるので、ノイズのピークレベルを抑制する効果をより向上させることができる。
【００４２】
（第２実施例）
図９乃至図１１は本発明の第２実施例を示すものであり、第１実施例と同一部分には同一符号を付して説明を省略し、以下異なる部分について説明する。第１実施例では、通信周波数を微小変動させる場合にデータ１２ビット分を１周期として循環的に変動させたが、第２実施例では、マスタ側において、ビットデータのまとまりである通信フレームを単位として変動を管理する。
【００４３】
先ず、その原理について図９を参照して説明する。図９（ａ），（ｂ）に示すように、各通信フレームは複数のデータビットで構成されており、その通信フレームの送信時間については、通信プロトコルの仕様上、最初に設定された時間に対する変動許容値が設定されている。一例として、その変動許容値が±１０％であるとすると、１つの通信フレームを構成する各ビットの送信期間（ビットレート）を変動させる場合、その変動の総和が上記許容値の±１０％以内となるように設定する。
【００４４】
即ち、例えば、１フレームのビット数が「１０」である場合、その内の１ビットだけは送信期間を変動させず、５ビットは＋１０％に変動させ、４ビットを−１０％に変動させれば、１フレームの変動量の総和は＋１０％となる。そして、第１実施例と同様に基本レートが８０ｋｂｓの場合、図９（ｃ）に示すように、そのレートを−１０％変動させる場合には、１００％ビット期間としてのレート決定用のカウンタにロードするデータを「１１０」にすれば良い。尚、図９（ｃ）に示した「サンプリングポイント」は、ＳｂＷ以外の、その他一般のシリアル通信について、１ビット期間の中央付近で受信側がビットデータをサンプリングすることを想定した場合のタイミングを示している。
【００４５】
図１０は、上記のようにビットレートの変動制御を行う部分の構成を概略的に示すものである。変動制御部５１は、フレーム幅制御部５２，ビット数制御部５３，ビットレート制御部５４で構成されている。フレーム幅制御部５２は、１通信フレームの幅、即ち、送信時間を決定するためのレジスタ５２ａを備えており、ビット数制御部５３は、上記フレームを何ビット構成とするか設定するためのレジスタ５３ａと、１ビットデータの送信数をカウントするためのカウンタ５３ｂと備えている。また、ビットレート制御部５４は、上記フレームを構成する各ビットについて、通信レートを設定するためのレジスタ５４ａと、ビットレートをカウントするためのカウンタ５４ｂとを備えている。
【００４６】
即ち、ビットレート制御部５４において、カウンタ５４ｂによりカウントされるクロック数と、レジスタ５４ａに設定されたクロック数とが図示しないコンパレータにより比較され、両者が一致すると１００％ビット期間が決まりビットクロックが生成され、そのビットクロックは、ビット数制御部５３のカウンタ５３ｂに与えられている。また、ビットレート制御部５４では、各ビットのレジスタ５４ａのデータは、マルチプレクサなどにより切換えられて比較対象とされるようになっている。
【００４７】
ビット数制御部５３では、カウンタ５３ｂがビットクロックの出力数をカウントし、そのカウント値がレジスタ５３ａの設定値に一致すれば、１フレームの終了となる。
図１１は、変動制御部５１における処理手順を示すフローチャートであるが、ハードウエアによる処理内容も含めて示している。先ず、フレーム幅制御部５２において１通信フレームの幅を仕様上の許容範囲内で設定すると（ステップＳ１）、ビット数制御部５３のレジスタ５３ａに、１フレームで送信するビット数を設定する（ステップＳ２）。尚、ステップＳ２の処理は、ステップＳ１で設定されたフレーム幅と、基本レートとの関係に基づいて自動的に設定するようにしても良い。
【００４８】
次に、ビットレート制御部５４において、最初に送信するビットのレート（変動値を含む）をレジスタ５４ａに書き込んで設定し（ステップＳ３）、カウンタ５４ｂのカウント値がレジスタ５４ａのデータ値に一致すれば（ステップＳ４：ＮＯ）ステップＳ５に移行する。そして、ビット数制御部５３において、カウンタ５３ｂのカウント値がレジスタ５３ａの設定値に一致しなければ（ＹＥＳ）ステップＳ３に戻り、次に送信するビットのレートデータをレジスタ５４ａに設定する。また、ステップＳ３の処理についても、ステップＳ１，Ｓ２で設定されたフレーム幅，ビット数と、基本レートとの関係に基づいて自動的に設定するようにしても良い。
【００４９】
上記のようにしてステップＳ３〜Ｓ５の処理を繰り返し、ステップＳ５において、カウンタ５３ｂのカウント値がレジスタ５３ａの設定値に一致すれば（ＮＯ）、１フレームの送信処理は終了となる。尚、データの電圧レベルを変動にさせる方式については、第１実施例と同様に行われる。
【００５０】
以上のように第２実施例によれば、マスタは、送信データのまとまりである通信フレームについて送信時間の変動値を許容範囲内で決定すると、当該通信フレームを構成する１ビット期間の送信時間を、各変動値の総和が前記通信フレームの変動値以内となるように変動させるようにした。従って、１ビット期間について与える時間変動を、通信フレームを単位とする枠内でより多様化させることができるので、ノイズレベルのピークを一層低減させると共に、ノイズ成分の周波数をより分散させることができる。
【００５１】
（第３実施例）
図１２及び図１３は本発明の第３実施例を示すものである。第３実施例は、本発明を、直流モータをＰＷＭ制御によって駆動する装置に適用する場合に、その駆動制御装置がＰＷＭデューティについて与える変動量を、最適化して設定する方法を示すものである。図１２には、例えば、車両に搭載される直流モータを駆動制御する装置を示す。車両のバッテリ６１の正側，負側端子に接続されている電源線６２（＋），６２（−）の間には、制御ＩＣ（駆動制御装置，デューティ変動手段）６３が接続されていると共に、駆動回路６４及びモータ（負荷）６５の直列回路が接続されており、モータ６５にはフライホイールダイオード６６が並列に接続されている。
【００５２】
制御ＩＣ６３は、外部のＥＣＵ（Electronic Control Unit）６７より与えられる制御信号を受けて、駆動回路６４に駆動信号をＰＷＭ信号として出力し、モータ６５の駆動を制御するようになっている。駆動回路６４は、例えばパワーＭＯＳＦＥＴのような駆動素子を含んで構成される。また、制御ＩＣ６３は、上記ＰＷＭ信号のデューティについて、ＥＣＵ６７より与えられる制御信号に応じて所定の指令値を決定すると、その指令値を、第１，第２実施例で示したような制御と同様に変動させる。
【００５３】
例えば、決定されたデューティ指令値が７０％であったとすると、その指令値を、例えば±５％の範囲で変動させると共に（６５％〜７５％）、そのように変動させたＰＷＭ信号のデューティを一定期間について平均すると、指令値７０％に一致するように変動させる。その結果、モータ６５の駆動電力は、ＰＷＭデューティ７０％に相当するものとなり、また、ＰＷＭデューティを７０％で固定して出力した場合に、高調波成分により発生するノイズのピークを低減し、ノイズの周波数成分を分散させることができる。
【００５４】
図１３は、上記のように構成される制御ＩＣ６３について、ＰＷＭ信号に与えるデューティの変動態様を製品毎に最適化するための方法を、概念的に示す。即ち、ＰＷＭ信号に与えるデューティの変動態様を変化させると、それに応じてノイズの発生態様も変化する。そこで、所定の変動パターンを制御ＩＣ６３に設定して製品に組み込み動作させ、実際にモータ６５を駆動した場合に発生するノイズを測定し、その測定結果をパーソナルコンピュータ（ＰＣ）６８に記憶させる。
【００５５】
上記変動パターンを様々に替えて測定結果を順次ＰＣ６８に記憶させることで、周波数分散値データベース（測定結果記憶手段）６９を形成する。そして、データベース６９を参照すれば、製品毎の使用条件，状況，環境や負荷の種類、制御ＩＣ６３の製造ばらつき、製品について抑制が要求されるノイズのレベルや周波数成分に応じて、どのような変動パターンがノイズの抑制に最適であるのかが分かるようになる。
従って、制御ＩＣ６３を出荷する前の段階で、製品に応じてどのようにＰＷＭデューティを変動させるパターンが最適であるのかを見極めて、制御ＩＣ６３の内部レジスタ６３Ｒに書き込んで設定する。すると、制御ＩＣ６３は、内部レジスタ６３Ｒに設定された変動パターンに応じて、ＰＷＭデューティを変動させる。
【００５６】
以上のように第３実施例によれば、制御ＩＣ６３が、駆動回路６４に出力するＰＷＭ信号のデューティを、指令値を中心に、所定期間内における平均が前記指令値に一致するように微小変動させる場合、ＰＣ６８のデータベース６９に、実際にＰＷＭ信号を駆動回路６４に与えることで発生したノイズ成分のレベル測定結果を反映したデータを、そのデューティの変動態様と共に記憶する。そして、データベース６９に記憶されているデータを参照して、与えられた動作環境や動作条件等に応じて抑圧対象となる周波数帯のノイズレベルを低減するように、制御ＩＣ６３によるＰＷＭデューティの変動態様を決定する。従って、各製品に応じて、抑圧すべき周波数帯のノイズレベルを低減するようにデューティの変動態様を最適化することができる。
【００５７】
本発明は上記し又は図面に記載した実施例にのみ限定されるものではなく、以下のような変形が可能である。
通信周波数を微小変動させる範囲については、基準となる周波数を±数％〜十数％程度の範囲で任意に設定すれば良い。また、周波数の変動は循環パターンに限ることなく、ランダムなパターンで変動させても良い。
マスタ１１においては、レベルＶＬＰのみを変動させても良い。
スレーブ４１においては、レベルＶＬ０，ＶＬ１，ＶＬＳ０の何れか１つのレベルだけを変動させても良い。
ドライブレベルを変動させる構成、又は電流駆動能力を変化させる構成はマスタ，スレーブの何れか一方だけに設けても良い。また、ドライブレベルと電流駆動能力との何れか一方だけを変化させても良い。
【００５８】
ドライブレベルの遷移に伴う波形の立上り，立下りの傾きを変化させるには、ドライブ時間を変化させても良い。即ち、実際にバスをドライブする時間をより短くして、残りの期間はドライブを停止してハイインピーダンス状態にしても良い。
第２実施例において、各ビットレートを変動させる場合に、変動量の絶対値をビット毎に変化させても良い。また、それらの変動量の総和は、フレームについて設定した許容範囲より小さくなっても良い。また、フレームについての変動値も、仕様上の最大許容値より小さく設定しても良い。
ＳｂＷに限ることなく、マスタと複数のスレーブとの間で非同期通信を行うもので、マスタがバスに電源を供給する期間と、マスタ又はスレーブがバスをドライブして１ビットのデータを当該バス上に出力する期間とを併せた期間の連続で通信を行うプロトコルを採用するシステムであれば適用が可能である。
【図面の簡単な説明】
【００５９】
【図１】本発明の通信システムをＳｂＷに適用した場合の第１実施例であり、マスタの構成を概略的に示す機能ブロック図
【図２】電圧ドライバに内蔵されている周波数分散機能部の構成を示す機能ブロック図
【図３】通信ビットレートを変動させる状態の一例を示すもので、（ａ）はカウンタに対するＬｏａｄデータ値と通信レートとの関係を示す図、（ｂ）は状態遷移図
【図４】周波数分散機能部の動作例を示すタイミングチャート
【図５】電圧ドライバ内部における駆動電圧／電流調整部の構成を示す図
【図６】スレーブの構成を概略的に示す機能ブロック図
【図７】通信ドライバ／レシーバの内部において、バスをレベルＶＬ１又はＶＬＳ０にドライブする構成部分を示す図
【図８】ＳｂＷによる通信でデータを送信する場合に、マスタ若しくはスレーブがバスをドライブする場合の電圧波形を示す図
【図９】本発明の第２実施例であり、ビットレートを微小変動させる原理を説明する図
【図１０】ビットレートの変動制御を行う部分の構成を概略的に示す図
【図１１】変動制御部における処理手順を示すフローチャート
【図１２】本発明の第３実施例であり、車両に搭載される直流モータを駆動制御する装置を示す図
【図１３】制御ＩＣとデータベースとの間で行う設定処理を概念的に示す図
【図１４】従来技術の通信システムの一構成例を示す図
【図１５】図８相当図
【図１６】マスタ−スレーブ間におけるデータ通信の一例を示す図
【符号の説明】
【００６０】
図面中、３はバス、１１はマスタ（通信装置）、１３は電圧ドライバ、１４は周波数分散機能部、２３は駆動電圧／電流調整部、４１はスレーブ（通信装置）、６３は制御ＩＣ（駆動制御装置，デューティ変動手段）、６４は駆動回路、６５は直流モータ（負荷）、６９は周波数分散値データベース（測定結果記憶手段）を示す。
【図１】
2007300599.tif 000003
【図２】
2007300599.tif 000004
【図３】
2007300599.tif 000005
【図４】
2007300599.tif 000006
【図５】
2007300599.tif 000007
【図６】
2007300599.tif 000008
【図７】
2007300599.tif 000009
【図８】
2007300599.tif 000010
【図９】
2007300599.tif 000011
【図１０】
2007300599.tif 000012
【図１１】
2007300599.tif 000013
【図１２】
2007300599.tif 000014
【図１３】
2007300599.tif 000015
【図１４】
2007300599.tif 000016
【図１５】
2007300599.tif 000017
【図１６】
2007300599.tif 000018