(57)【要約】【課題】  同時スイッチングノイズを抑制する回路を備えていている場合に、より同時スイッチングノイズを抑える。【解決手段】  送信データ制御回路は、先に送信した外部出力データとしての前送信データと、次に送信する信号発生回路からの内部出力データとしての次送信データとを比較して、０→１に変化するデータ数及び１→０へ変化するデータ数を検出し（Ｓ２）、０→１に変化するデータ数と１→０へ変化するデータ数との差を同時スイッチング出力本数とし（Ｓ３〜８）、この同時スイッチング出力本数が予め定めた閾値よりも大きい場合に、次送信データの各ビット値を反転させ、これを新たな外部出力データとして外部へ送信する（Ｓ９〜１５）。【選択図】  図５
2008245098.tif 000002
【特許請求の範囲】
【請求項１】
信号発生部から内部出力ｎ（ｎは自然数）ビットデータを受け付けて、外部出力ｎビットデータの信号を送信する送信データ制御回路において、
前記外部出力ｎビットデータに対して、該外部出力ｎビットデータの次に外部へ出力すべき前記信号発生部からの内部出力ｎビットデータのうちで、０から１に変化するデータ数及び１から０へ変化するデータ数を検出する変化数検出手段と、
前記変化数検出手段で検出された前記０から１に変化するデータ数と前記１から０へ変化するデータ数との差に応じて同時スイッチング出力本数を定める同時スイッチング出力本数算定手段と、
前記同時スイッチング出力本数が予め定められた閾値より大きいか否かを判定する判定手段と、
前記判定手段により、前記同時スイッチング出力本数が前記閾値より大きいと判定された場合に、前記内部出力ｎビットデータの各ビット値を反転させて出力し、該同時スイッチング出力本数が該閾値以下の場合に、該内部出力ｎビットデータをそのまま出力するデータ変換手段と、
前記データ変換手段から出力されたｎビットのデータ中に逆方向に変化する複数のデータが存在する場合に、同時スイッチングノイズを抑えて、前記外部出力ｎビットデータ信号を出力する同時スイッチングノイズ抑制手段と、
前記判定手段の判定結果に応じた制御信号を出力する制御信号出力手段と、
を備えていることを特徴とする送信データ制御回路。
【請求項２】
請求項１に記載の送信データ制御回路において、
前記同時スイッチング出力本数算定手段は、前記変化数検出手段で検出された前記０から１に変化するデータ数と前記１から０へ変化するデータ数との差を、同時スイッチング出力本数とする、
ことを特徴とする送信データ制御回路。
【請求項３】
請求項１に記載の送信データ制御回路において、
前記同時スイッチング出力本数算定手段は、前記変化数検出手段で検出された前記０から１に変化するデータ数と前記１から０へ変化するデータ数との差と、予め定められた重みとにより、前記同時スイッチング出力本数を定める、
ことを特徴とする送信データ制御回路。
【請求項４】
請求項１から３のいずれか一項に記載の送信データ制御回路において、
前記同時スイッチングノイズ抑制手段からの前記外部出力ｎビットデータ信号を出力するデータ信号出力端と、
前記データ信号出力端とは独立して、前記制御信号出力手段からの前記制御信号を出力する制御信号出力端と、
を備えていることを特徴とする送信データ制御回路。
【請求項５】
請求項１から３のいずれか一項に記載の送信データ制御回路において、
前記データ変換手段は、前記信号発生部から内部出力Ｎ（Ｎは自然数）ビットデータを受け付け、該内部出力ＮビットデータをＭ回に分けて出力し、前記内部出力Ｎビットデータのうち、１回からＭ回までの出力回毎に、各出力回で異なる予め定められたビット位置に存在するＮ／Ｍ（ＭはＮ／Ｍが自然数となる値）数のＮ／Ｍビットデータ又は該Ｎ／Ｍビットデータの各ビット値を反転させたデータを有効データとし、出力回毎に、残りのＮ−Ｎ／Ｍビット数のデータを無効データとし、一回の出力で該有効データと無効データとを併せてＮビットのデータを出力し、
前記ｎビット数は前記Ｎ／Ｍビット数であり、前記ｎビットデータは前記Ｎ／Ｍビットデータであり、
前記変化数検出手段は、前記内部出力Ｎビットデータのうちの前記Ｎ／Ｍビットデータ毎に、データ変化数を検出し、
前記同時スイッチング出力本数算定手段は、前記内部出力Ｎビットデータのうちの前記Ｎ／Ｍビットデータ毎の同時スイッチング出力本数を定め、
前記データ変換手段は、前記判定手段により、前記Ｎ／Ｍビットデータ中の前記同時スイッチング出力本数が予め定められた閾値より大きい判定された場合に、該Ｎ／Ｍビットデータの各ビット値を反転させたデータを前記有効データとし、前記判定手段により、前記Ｎ／Ｍビットデータ中の前記同時スイッチング出力本数が予め定められた閾値以下であると判定された場合に、該Ｎ／Ｍビットデータをそのまま有効データとし、
前記同時スイッチングノイズ抑制手段は、前記データ変換手段から出力された少なくとも前記有効データ中に逆方向に変化する複数のデータが存在する場合に、同時スイッチングノイズを抑え、該有効データと、該有効データに対応する前記無効データとを併せたＮビットのデータ信号を外部出力Ｎビットデータの信号として外部へ出力し、
前記制御信号出力手段は、１回からＭ回までの出力回毎に、前記有効データが、前記Ｎ／Ｍビットデータの各ビット値を反転させたデータであるか否かを示す制御信号を前記外部へ出力する、
ことを特徴とする送信データ制御回路。
【請求項６】
請求項５に記載の送信データ制御回路において、
前記制御信号出力手段は、前記有効データに対する前記無効データ中に、前記制御信号が示す内容を挿入する、
ことを特徴とする送信データ制御回路。
【請求項７】
請求項５に記載の送信データ制御回路において、
前記無効データは、直前に出力した前記外部出力Ｎビットデータ中で、該無効データのビット位置と対応するビット位置のビットデータである、
ことを特徴とする送信データ制御回路。
【請求項８】
請求項１から３のいずれか一項に記載の送信データ制御回路と、
前記送信データ制御回路に対して前記ｎビットデータを出力する前記信号発生部と、
を備えていることを特徴とする送信データ回路。
【請求項９】
請求項７に記載の送信データ制御回路と、
前記送信データ制御回路に対して前記Ｎビットデータを出力する前記信号発生部と、
を備えていることを特徴とする送信データ回路。
【請求項１０】
請求項１から３のいずれか一項に記載の送信データ制御回路、又は請求項８に記載の送信データ回路と、
前記送信データ制御回路からの前記外部出力ｎビットデータの信号と前記制御信号とを受信する受信データ制御回路と、
を備え、
前記受信データ制御回路は、前記制御信号を受信して、該制御信号が示す内容を前記外部出力ｎビットデータの各ビット値を反転したデータである場合に、該外部出力ｎビットデータの各ビット値を反転させるデータ変換手段と、を有する、
ことを特徴とするデータ送受信システム。
【請求項１１】
請求項７に記載の送信データ制御回路、又は請求項１１に記載の送信データ回路と、
前記送信データ制御回路からの前記外部出力Ｎビットデータの信号と前記制御信号とを受信する受信データ制御回路と、
を備え、
前記受信データ制御回路は、
前記送信データ制御回路からの前記Ｎビットデータに関するＭ回目の前記データ信号を、該Ｎビットデータを示すデータ信号として受け付けるデータ信号選別手段と、
前記制御信号を受信して、該制御信号が示す内容を解析する信号解析手段と、
前記データ信号選別手段がデータ信号として受け付けたデータ信号に対する制御信号の内容が該データ信号中の有効データが各ビット値を反転したデータであることを示す場合に、該有効データの各ビット値を反転させるデータ変換手段と、
を有する、
ことを特徴とするデータ送受信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号発生部から内部出力ｎ（ｎは自然数）ビットデータを受け付けて、外部出力ｎビットデータの信号を送信する送信データ制御回路、及びこれを備えたシステムに関する。
【背景技術】
【０００２】
ＬＳＩ（large Scale Integration）において複数の出力ピンが同時に変化するときに、近接する入力、出力信号にノイズが発生する。これはＬＳＩパッケージ上にあってPCB(Printed Circuit Board）の接地電位（ＧＮＤ）・電源電圧（ＶＣＣ）に接続するＬＳＩピンと、パッケージ内部にあるダイのＧＮＤ・ＶＣＣとを結ぶリードのインダクタンスによって生じた電圧降下が、他の信号にノイズとして現れる現象であり、一般的に同時スイッチングノイズと呼ばれる。また、同時に変化する出力信号を同時スイッチング出力と呼ぶ。例えば、４ビットの出力データが“００００”から“１１１１”に変化する時、同時スイッチング出力本数は４本である。
【０００３】
同時スイッチング出力本数が増大すると、同時スイッチングノイズも大きくなる。また、同時スイッチングノイズは、信号の立上り・立下り速度に依存するため、ＬＳＩの動作速度が遅い場合でも問題を引き起こす可能性がある。同時スイッチングノイズが引き起こす問題の一例として、次のようなことが考えられる。
【０００４】
（１）ＬＳＩ内部の電源・ＧＮＤレベルが変動してＬＳＩ自身が誤動作する。
【０００５】
（２）出力信号にノイズが乗ることで、次段の回路が誤動作する。
【０００６】
特に近年のＬＳＩは、低電圧化に伴いノイズの影響を受けやすくなっているため、上記同時スイッチングノイズに起因する回路の誤動作が大きな問題となっている。また、昨今のＬＳＩの、高速動作対応を目的とした信号の立上り・立下り速度の高速化や、多端子化は、発生するノイズ量を増大させ、この問題を更に深刻にしている。
【０００７】
この同時スイッチングノイズを低減する方法として、特許文献１に記載の技術がある。この技術では、同時スイッチング出力本数が所定の閾値以上の場合に出力信号の各ビット値を反転させ、これを新たな出力信号として出力している。そして、この新たな出力信号に制御信号を付加して送出している。具体的には、例えば、出力データが４ビットデータで、同時スイッチング出力本数が例えば３本以上のときに、出力データの各ビット値を反転させる場合について考えると、先に出力したデータが“００１１”で、その後に出力すべきデータが“１１００”のとき、“0→1”に変化するものが２本で、“１→０”に変化するものが２本であるため、これらを合計した４本を同時スイッチング出力本数とする。そして、この同時スイッチング出力本数が３本以上であるため、後から出力すべきデータ“１１００”の各ビット値を反転させた“００１１”を新たな出力データとして出力し、さらにこの出力データがビット値を反転したものを示す制御信号を出力する。この結果、“００１１”の出力の次に、“００１１”を出力することになり、同時スイッチング出力本数が０本になる。
【０００８】
【特許文献１】特開平８−３１６８４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
近年、複数の出力信号をそれぞれ逆方向（“０→１”、“１→０”）に変化させると、同時スイッチングノイズを抑えるノイズ抑制回路を備えたＬＳＩが出てきている。このようなＬＳＩで、前述の特許文献１に記載の技術を採用すると、出力データを反転させなくてもよい場合にも、不必要に、出力データを反転させてしまうという問題点がある。
【００１０】
例えば、特許文献1に記載の技術では、出力データが８ビットデータであり、同時スイッチング出力本数が例えば３本以上のときに、出力データの各ビット値を反転させる場合を考えると、先に出力したデータが“００１１  ００１１”で、その後に出力すべきデータが“００００  １０１１”のとき、“0→1”に変化するものが1本で、“１→０”に変化するものが２本であるため、これらを合計した３本を同時スイッチング出力本数とする。そして、この同時スイッチング出力本数が３本以上であるため、同時スイッチングノイズを抑えるべく、後から出力すべきデータ“００００  １０１１”の各ビット値を反転させた“１１１１  ０１００”を新たな出力データとして出力することになる。しかしながら、前述のノイズ抑制回路を備えている場合、“0→1”に変化するものが1本で、“１→０”に変化するものが２本であっても、本質的な同時スイッチング出力本数は、３本未満で、出力データを反転させる必要がないにも関わらず、出力データの各ビット値を反転させてしまう。
【００１１】
本発明は、このような従来技術の問題点に着目し、ノイズ抑制回路を備えている場合に、不必要な出力データの反転を避けることができる送信データ制御回路、及びこれを備えたシステムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
前記問題点を解決するための送信データ制御回路に係る発明は、
信号発生部から内部出力ｎ（ｎは自然数）ビットデータを受け付けて、外部出力ｎビットデータの信号を送信する送信データ制御回路において、
前記外部出力ｎビットデータに対して、該外部出力ｎビットデータの次に外部へ出力すべき前記信号発生部からの内部出力ｎビットデータのうちで、０から１に変化するデータ数及び１から０へ変化するデータ数を検出する変化数検出手段と、
前記変化数検出手段で検出された前記０から１に変化するデータ数と前記１から０へ変化するデータ数との差に応じて同時スイッチング出力本数を定める同時スイッチング出力本数算定手段と、
前記同時スイッチング出力本数が予め定められた閾値より大きいか否かを判定する判定手段と、
前記判定手段により、前記同時スイッチング出力本数が前記閾値より大きいと判定された場合に、前記内部出力ｎビットデータの各ビット値を反転させて出力し、該同時スイッチング出力本数が該閾値以下の場合に、該内部出力ｎビットデータをそのまま出力するデータ変換手段と、
前記データ変換手段から出力されたｎビットのデータ中に逆方向に変化する複数のデータが存在する場合に、同時スイッチングノイズを抑えて、前記外部出力ｎビットデータ信号を出力する同時スイッチングノイズ抑制手段と、
前記判定手段の判定結果に応じた制御信号を出力する制御信号出力手段と、
を備えていることを特徴とする。
【００１３】
ここで、送信データ制御回路において、
前記データ変換手段は、前記信号発生部から内部出力Ｎ（Ｎは自然数）ビットデータを受け付け、該内部出力ＮビットデータをＭ回に分けて出力し、前記内部出力Ｎビットデータのうち、１回からＭ回までの出力回毎に、各出力回で異なる予め定められたビット位置に存在するＮ／Ｍ（ＭはＮ／Ｍが自然数となる値）数のＮ／Ｍビットデータ又は該Ｎ／Ｍビットデータの各ビット値を反転させたデータを有効データとし、出力回毎に、残りのＮ−Ｎ／Ｍビット数のデータを無効データとし、一回の出力で該有効データと無効データとを併せてＮビットのデータを出力し、
前記ｎビット数は前記Ｎ／Ｍビット数であり、前記ｎビットデータは前記Ｎ／Ｍビットデータであり、
前記変化数検出手段は、前記内部出力Ｎビットデータのうちの前記Ｎ／Ｍビットデータ毎に、データ変化数を検出し、
前記同時スイッチング出力本数算定手段は、前記内部出力Ｎビットデータのうちの前記Ｎ／Ｍビットデータ毎の同時スイッチング出力本数を定め、
前記データ変換手段は、前記判定手段により、前記Ｎ／Ｍビットデータ中の前記同時スイッチング出力本数が予め定められた閾値より大きい判定された場合に、該Ｎ／Ｍビットデータの各ビット値を反転させたデータを前記有効データとし、前記判定手段により、前記Ｎ／Ｍビットデータ中の前記同時スイッチング出力本数が予め定められた閾値以下であると判定された場合に、該Ｎ／Ｍビットデータをそのまま有効データとし、
前記同時スイッチングノイズ抑制手段は、前記データ変換手段から出力された少なくとも前記有効データ中に逆方向に変化する複数のデータが存在する場合に、同時スイッチングノイズを抑え、該有効データと、該有効データに対応する前記無効データとを併せたＮビットのデータ信号を外部出力Ｎビットデータの信号として外部へ出力し、
前記制御信号出力手段は、１回からＭ回までの出力回毎に、前記有効データが、前記Ｎ／Ｍビットデータの各ビット値を反転させたデータであるか否かを示す制御信号を前記外部へ出力する、ものであってもよい。
【発明の効果】
【００１４】
本発明によれば、ノイズ抑制回路を備えている場合の本質的な同時スイッチング出力本数を把握でき、不必要な出力データの反転を避けることができ、結果として、同時スイッチングノイズを抑えることができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明に係る各種実施形態について、図面を用いて説明する。
【００１６】
まず、図１〜図７を用いて、本発明に係る第１実施形態としてのデータ送受信システムについて説明する。
【００１７】
本実施形態のデータ送受信システムは、図１に示すように、Ｎビットデータ信号を送信する送信側半導体集積回路１０と、Ｎビットデータ信号を受信する受信側半導体集積回路２０と、これらの集積回路１０，２０を搭載するプリント基板（ＰＣＢ）と、を備えている。
【００１８】
送信側半導体集積回路１０は、内部出力Ｎビットデータを出力するプロセッサ等の信号発生回路１１と、内部出力ＮビットデータをＭ回に分けて、受信側半導体集積回路２０へ送信する送信データ制御回路１００と、を備えている。また、受信側半導体集積回路２０は、Ｍ回に分けられた外部出力Ｎビットデータを受信し、信号発生回路１０が出力した内部出力Ｎビットデータに復元する受信データ制御回路２００と、この受信データ制御回路２００からのＮビットデータを受け付けるメモリ等の信号受付回路２１と、を備えている。なお、以下では、簡単のため、送信側半導体集積回路１０は、８（＝Ｎ）ビットデータを２（＝Ｍ）回に分けて出力し、受信側半導体集積回路２０は、２回に分けられた８ビットデータを受信するものとして説明する。
【００１９】
送信側半導体集積回路１０の送信データ制御回路１００は、図２に示すように、信号発生回路１１からの内部出力データ信号が示すデータのうち、０→１へ変化するデータ数と１→０へ変化するデータ数とをそれぞれ検出する変化数検出部１１０と、変化数検出部１１０で検出された０→１へ変化するデータ数と１→０へ変化するデータ数との差に応じて同時スイッチング出力本数を定める同時スイッチング出力本数算定部１２０と、この同時スイッチング出力本数算定部１２０で求めた同時スイッチング出力本数が予め定められた閾値（＝２）より大きか否かを判定し、判定結果に応じた制御信号を出力する判定部１３０と、制御信号に応じて、信号発生回路１１からの内部出力データ信号が示すデータのビット値を反転させるデータ変換部１４０と、データ変換部１４０からのデータの出力タイミングを制御する出力タイミング制御部１５０と、同時スイッチングノイズを抑制して８ビットの外部出力データ信号を出力する同時スイッチングノイズ抑制部１６０と、を備えている。
【００２０】
変化数検出部１１０は、信号発生回路１１からの内部出力８ビットデータ信号が示す８ビットデータのうち、ＭＳＢ（Most Significant Bit）側４ビットデータ［7：4］中のデータ変化数を検出するＭＳＢ側変化数検出部１１０Ｍと、ＬＳＢ（Least Significant Bit）側４ビットデータ［3：0］中のデータ変化数を検出するＬＳＢ側変化数検出部１１０Ｌとを有している。ＭＳＢ側変化数検出部１１０Ｍ及びＬＳＢ側変化数検出部１１０Ｌは、それぞれ、０→１へ変化するデータ数を検出するrise変化数検出部１１０Ｍｒ，１１０Ｌｒと、１→０へ変化するデータ数を検出するfall変化数検出部１１０Ｍｆ，１１０Ｌｆとを有している。各変化数検出部１１０Ｍｒ，１１０Ｍｆ，１１０Ｌｒ，１１０Ｌｆは、いずれも、送信データ制御回路１００が出力する外部出力データ信号が示す８ビットデータを保持するフリップフロップ（ＦＦ）１１１と、このＦＦ１１１で保持された外部出力データの各ビットデータと内部出力データの対応ビットデータとの変化点微分を求める微分回路１１２と、微分回路１１２からの出力をカウントする加算器１１３と、を有している。なお、微分回路１１２は、ＦＦ１１１で保持された外部出力データの各ビットデータと内部出力データの対応ビットデータとの変化点微分を求めることで、ＦＦ１１１で保持された外部出力データの各ビットデータに対して、内部出力データの対応ビットデータが変化しているか否かを検出している。
【００２１】
同時スイッチング出力本数算定部１２０も、ＭＳＢ側同時スイッチング出力本数算定部１２０ＭとＬＳＢ側同時スイッチング出力本数算定部１２０Ｌとを有している。各同時スイッチング出力本数算定部１２０Ｍ，１２０Ｌは、対応する変化数検出部１１０Ｍ，１１０Ｌからの０→１へ変化するデータ数と１→０へ変化するデータ数との大小関係を比較する比較器１２１と、この比較器１２１での比較結果が示す数が多い方のデータ数から数が少ない方のデータ数を引く減算器１２２と、を有している。
【００２２】
判定部１３０も、ＭＳＢ側判定部１３０ＭとＬＳＢ側判定部１３０Ｌとを有している。各判定部１３０Ｍ，１３０Ｌは、対応する同時スイッチング出力本数算定部１２０Ｍ，１２０Ｌで求めた同時スイッチング出力本数が予め定められた閾値（＝２）より大きいか否かを判定し、判定結果に応じた制御信号Flg［0］，Flg［1］を出力する。この制御信号は、内部出力Ｎビットデータを分ける数（Ｍ）に対応したビット数、この例では２ビットが割り当てられており、第１ビット（Flg［0］）はＬＳＢ側の４ビットの判定結果を示すために用いられ、第２ビット（Flg［1］）はＭＳＢ側の４ビットの判定結果を示すために用いられる。また、この例では、制御信号Flg［0］，Flg［1］は、ＯＮのときに、同時スイッチング出力本数が閾値より大きいこと、言い換えるとデータ反転をすることを示し、ＯＦＦのときに、同時スイッチング出力本数が閾値以下であること、言い換えるとデータ反転していないことを示す。
【００２３】
データ変換部１４０は、外部出力８ビットデータを保持するＦＦ１４１と、内部出力８ビットデータのうちのＭＳＢ側の４ビットデータを反転させる反転器１４２Ｍと、ＭＳＢ側の４ビットデータとこれを反転させた反転４ビットデータとのうち、ＭＳＢ側判定部１３０Ｍからの制御信号Flg［1］に応じて、一方の４ビットデータを出力するＭＳＢ側セレクタ１４３Ｍと、内部出力８ビットデータのうちのＬＳＢ側の４ビットデータを反転させる反転器１４２Ｌと、ＬＳＢ側の４ビットデータとこれを反転させた反転４ビットデータとのうち、ＬＳＢ側判定部１３０Ｌからの制御信号Flg［0］に応じて、一方の４ビットデータを出力するＬＳＢ側セレクタ１４３Ｌと、を有している。このデータ変換部１４０では、ＬＳＢ側セレクタ１４３ＬからのＬＳＢ側の４ビットデータを有効データとし、ＦＦ１４１が保持している外部出力８ビットデータのうちのＭＳＢ側の４ビットデータを無効データとし、これらを併せて初回出力の外部出力８ビットデータを生成して、出力タイミング制御部１５０へ送る。さらに、このデータ変換部１４０では、ＭＳＢ側セレクタ１４３ＭからのＭＳＢ側の４ビットデータを有効データとし、ＬＳＢ側セレクタ１４３ＬからのＬＳＢ側の４ビットデータを無効データとし、これらを併せて２回目出力の外部出力８ビットデータを生成して、出力タイミング制御部１５０へ送る。
【００２４】
出力タイミング制御部１５０は、信号発生部１１からの基準クロック信号を受け付けて、出力タイミング信号を生成し、これをタイミングセレクタ１５１に与えるタイミング生成器１５２と、データ変換部１４０からの初回出力の外部出力８ビットデータと２回目出力の外部出力８ビットデータとを受け付けて、これらを出力タイミング信号に応じて順次出力する出力タイミングセレクタ１５１と、を有する。
【００２５】
出力タイミング制御部１５０からの外部出力８ビットデータ信号は、同時スイッチングノイズ抑制部１６０により、同時スイッチングノイズが抑制された後、データ信号出力端１７３から、受信側半導体集積回路２０（図１）の受信データ制御回路２００へ送られる。また、判定部１３０で生成された制御信号Flg［0］，Flg［1］は、前述したように、データ変換部１４０へ送られると共に、バッファ１７１及び制御信号出力端１７２を経て、受信側半導体集積回路２０（図１）の受信データ制御回路２００へ送られる。
【００２６】
なお、以上の送信データ制御回路１００の構成は、各部の機能をハードウェアーで実現してもよいが、ソフトウェアーで実現してもよい。
【００２７】
同時スイッチングノイズ抑制部１６０は、図３に示すように、送信データ制御回路１００から送信するデータ信号が示すデータのビット数と同じ数、この例では、８つのバッファ１６１-１，１６１-２，…を有している。各バッファ１６１は、Ｐ・ＭＯＳ１６２とＮ・ＭＯＳ１６３とを有している。Ｐ・ＭＯＳ１６２のソースには、送信側半導体集積回路１０の電源電圧VCC LSI線と、ＰＣＢの電源電圧VCC PCBとが接続され、Ｎ・ＭＯＳ１６３のソースには、送信側半導体集積回路１０のグランド電圧GND LSI線と、ＰＣＢのグランド電圧GND PCBとが接続されている。また、Ｐ・ＭＯＳ１６２のドレインとＮ・ＭＯＳ１６３のドレインとが接続されている。Ｐ・ＭＯＳ１６２のゲート及びＮ・ＭＯＳ１６３のゲートは、互いに接続され、そこがこのバッファ１６１の入力端ＩＮとなっている。この入力端ＩＮには、出力タイミング制御部１５０からのデータ信号のうち、１ビット分のデータ信号が入力する。また、Ｐ・ＭＯＳ１６２のドレインとＮ・ＭＯＳ１６３のドレインとの接続部分は、このバッファ１６１の出力端ＯＵＴになっている。この出力端ＯＵＴからは、ゲートに入力した１ビット分のデータ信号のスイッチングノイズを抑えたデータ信号が出力され、これがデータ信号出力端１７３（図２）から出力される。
【００２８】
VCC LSI線とGND LSI線との間には、バイパスコンデンサ１６７が配置されている。各バッファ１６１-１，１６１-２の出力端ＯＵＴには、接続先の負荷容量１６６-１，１６１-２が接続されることになる。VCC LSI線及びGND LSI線は、送信側半導体集積回路１０のピンを介して、VCC PCB線及びGND PCB線と接続されている。このピンは、寄生インダクタンス１６４，１６５を有している。同時スイッチングノイズは、この寄生インダクタンス１６４，１６５に流れる電流ＩVCCL,ＩGNDLによって発生する。
【００２９】
例えば、バッファ１６１-１の入力端ＩＮとバッファ１６１-２の入力端ＩＮとに、それぞれ、１ビットのデータ信号として“０”が入力すると、Ｐ・ＭＯＳ１６２がオンになり、Ｎ・ＭＯＳ１６３がオフになって、各バッファ１６１-１，１６１-２の出力端ＯＵＴから“１”が出力され、接続先の負荷容量１６６-１，１６１-２に電荷が充電される。また、バッファ１６１-１の入力端ＩＮとバッファ１６１-２の入力端ＩＮとに、それぞれ、１ビットのデータ信号として“１”が入力すると、Ｐ・ＭＯＳ１６２がオフになり、Ｎ・ＭＯＳ１６３がオンとなって、各バッファ１６１-１，１６１-２の出力端ＯＵＴから“０”が出力され、接続先の負荷容量１６６-１，１６１-２から電荷が放電される。
【００３０】
バッファ１６１-１の出力端ＯＵＴからの信号が “０→１”に変化するとき、Ｐ・ＭＯＳ１６２がオフでＮ・ＭＯＳ１６３がオンの状態から、Ｐ・ＭＯＳ１６２がオンでＮ・ＭＯＳ１６３がオフの状態になる。この過程で、バッファ１６１-１の出力端ＯＵＴに電流Ｉcld1（図中実線で示す）が流れ、この電流Ｉcld1が負荷容量１６６-１に充電される。この電流Ｉcld1は、電源VCCとバイパスコンデンサ１６７との両方から供給される。すなわち、出力端ＯＵＴに流れる電流Ｉcld1は、バイパスコンデンサ１６７から流れる電流ＩCLと、寄生インダクタンス１６４を流れる電流ＩVCCL（図中実線で示す）とを合わせたものとなる。このように、バイパスコンデンサ１６７を備えることにより、寄生インダクタンス１６４に流れる電流ＩVCCLを小さくすることができる。また、ＧＮＤ側に着目すると、バイパスコンデンサ１６７から負荷容量１６６-１に流れた電流と同じ大きさ電流が、寄生インダクタンス１６５に、電流ＩGNDL（図中実線で示す）として流れる。
【００３１】
また、以上とは逆に、バッファ１６１-１の出力端ＯＵＴからの信号が “１→０”に変化するとき、Ｐ・ＭＯＳ１６２がオンでＮ・ＭＯＳ１６３がオフの状態から、Ｐ・ＭＯＳ１６２がオフでＮ・ＭＯＳ１６３がオンの状態になる。この過程で、バッファ１６１-２の出力端ＯＵＴに、前述とは逆向きの電流Ｉcld1（図中破線で示す）が流れ、負荷容量１６６-１から電荷が放電される。この電流Ｉcld1は、寄生インダクタンス１６５へ流れる電流ＩGNDL（図中破線で示す）と、バイパスコンデンサ１６７へ流れる電流ＩC1（図中破線で示す）とに分流される。このため、バイパスコンデンサ１６７を備えることにより、寄生インダクタンス１６５に流れる電流ＩGNDLを小さくすることができる。また、ＶＣＣ側に着目すると、負荷容量１６６-１からバイパスコンデンサ１６７に流れた電流と同じ大きさ電流が、寄生インダクタンス１６４に、電流ＩVCCL（図中破線で示す）として流れる。
【００３２】
また、バッファ１６１-１の出力端ＯＵＴからの信号が “０→１”に変化し、これと同時に、バッファ１６１-２の出力端ＯＵＴからの信号が“１→０”に変化したときには、バッファ１６１-１の出力端ＯＵＴに流れる電流Ｉcld1、言い換えると、バッファ１６１-１の負荷容量１６６-１に流れる電流Ｉcld1は、1）寄生インダクタンス１６４に流れる電流ＩVCCL（図中実線で示す）、2）バイパスコンデンサ１６７から供給される電流ＩCL（図中実線で示す）、3）バッファ１６１-２の負荷容量１６６-２から流れる電流のうち、バイパスコンデンサ１６７へ流れる電流と同じ大きさ電流、の合計となる。このため、バッファ１６１-１の出力端ＯＵＴの信号のみが、“０→１”に変化するときよりも、寄生インダクタンス１６４に流れる電流ＩVCCLは、小さくなる。
【００３３】
また、バッファ１６１-２の負荷容量１６１-２から電荷が放電されるために、バッファ１６１-２の出力端ＯＵＴに流れる電流Ｉcld2は、1）寄生インダクタンス１６５に流れる電流ＩVCCL（図中破線で示す）、2）バイパスコンデンサ１６７へ流れる電流ＩC1（図中破線で示す）、3）バッファ１６１-１の負荷容量１６６-１へ充電するために、バイパスコンデンサ１６７が流した電流と同じ大きさの電流、の合計となる。このため、バッファ１６１-２の出力端ＯＵＴの信号のみが、“１→０”に変化するときよりも、寄生インダクタンス１６５に流れる電流ＩGNDLは、小さくなる。
【００３４】
従って、この同時スイッチングノイズ抑制部１６０は、ここに入力する複数の１ビットデータ信号が互いに逆方向に変化することで、各１ビット信号により発生する同時スイッチングノイズを打ち消し合わせ、全体として、同時スイッチングノイズを抑制することができる。
【００３５】
受信側半導体集積回路２０の受信データ制御回路２００は、図４に示すように、送信データ制御回路１００からの制御信号を受信する制御信号受信端２４１と、この制御信号を保持する制御信号用バッファ２１１及び制御信号用ＦＦ２１２と、送信データ制御回路１００からの外部出力データ信号、言い換えると外部受付データ信号を受信する外部受付データ受信端２４２と、この外部受付データ信号を保持する外部受付データ用バッファ２２２及び外部受付データ用ＦＦ２２３と、この外部受付データ用ＦＦ２２３で保持された外部受付８ビットデータのうちのＭＳＢ側の４ビットデータを反転させる反転器２３２Ｍと、ＭＳＢ側の４ビットデータとこれを反転させた反転４ビットデータとのうちの一方の４ビットデータを選択的に出力するＭＳＢ側セレクタ２３３Ｍと、外部受付用ＦＦ２２３で保持された外部受付８ビットデータのうちのＬＳＢ側の４ビットデータを反転させる反転器２３２Ｌと、ＬＳＢ側の４ビットデータとこれを反転させた反転４ビットデータとのうちの一方の４ビットデータを選択的に出力するＬＳＢ側セレクタ２３３Ｌと、を有する。
【００３６】
外部受付データ用ＦＦ２２３は、送信データ制御回路１００からのＭ回目、つまり２回目のデータをラッチするために設けられている。また、制御信号用ＦＦ２１２は、制御信号を受信してから、外部受付データ用ＦＦ２２３が２回目のデータのラッチを解除するまで、この制御信号をラッチするために設けられている。
【００３７】
なお、以上の受信データ制御回路２００の構成は、各部の機能をハードウェアーで実現してもよいが、ソフトウェアーで実現してもよい。
【００３８】
次に、図５に示すフローチャートに従って、本実施形態の送信データ制御回路１００の動作について説明する。ここでは、既に受信データ制御回路２００へ送信した外部出力データを前送信データｙとし、この前送信データｙの後に送信するデータとして信号発生回路１１から送られてきた内部出力データを次送信データｘとする。さらに、前送信８ビットデータｙを“0010  1001”とし、次送信データ８ビットデータｘを“1111  0100”とする。
【００３９】
まず、次送信データ８ビットデータｘが入力すると（Ｓ１）、変化数検出部１１０が、次送信８ビットデータｘと前送信８ビットデータとを比較し、“０→１”へ変化する変化数と、“１→０”へ変化する変化数とを検出する（Ｓ２）。この際、変化数検出部１１０のＭＳＢ側変化数検出部１１０Ｍは、このＭＳＢ側変化数検出部１１０ＭのＦＦ１１１，１１１に保持されている前送信８ビットデータｙのうちのＭＳＢ側４ビットデータ［ｙ7：ｙ4］と、信号発生回路１１から送られてきた内部出力８ビットデータ、つまり次送信８ビットデータのうちのＭＳＢ側４ビットデータ［ｘ7：ｘ4］とを比較し、“０→１”へ変化する変化数kmsb rizeと、“１→０”へ変化する変化数kmsb fallとを検出する。ここでの例では、“０→１”へ変化する変化数kmsb rizeが“３”となり、“１→０”へ変化する変化数kmsb fallが“０”となる。また、ＬＳＢ側変化数検出部１１０Ｌは、このＬＳＢ側変化数検出部１１０ＬのＦＦ１１１，１１１に保持されている前送信８ビットデータｙのうちのＬＳＢ側４ビットデータ［ｙ3：ｙ0］と、信号発生回路１１から送られてきた次送信８ビットデータｘのうちのＬＳＢ側４ビットデータ［ｘ3：ｘ0］とを比較し、“０→１”へ変化する変化数klsb rizeと、“１→０”へ変化する変化数klsb fallとを検出する。ここでの例では、“０→１”へ変化する変化数klsb rizeが“１”となり、“１→０”へ変化する変化数klsb fallが“２”となる。
【００４０】
次に、ＭＢＳ側同時スイッチング出力本数算定部１２０Ｍの比較器１２１で、“０→１”へ変化する変化数kmsb rizeと、“１→０”へ変化する変化数kmsb fallとの大小関係を比較する（Ｓ３）。“０→１”へ変化する変化数kmsb rizeの方が大きい場合、ＭＢＳ側同時スイッチング出力本数算定部１２０Ｍの減算器１２２で、この変化数kmsb rizeから変化数kmsb fallを引き、この値をＭＳＢ側４ビットの同時スイッチング出力本数kmsbとする（Ｓ４）。また、“１→０”へ変化する変化数kmsb fallが“０→１”へ変化する変化数kmsb rize以上であれば、変化数kmsb fallから変化数kmsb rizeを引き、この値をＭＳＢ側４ビットの同時スイッチング出力本数kmsbとする（Ｓ５）。ここでの例では、変化数kmsb rizeが“３”で、変化数kmsb fallが“０”であるから、ステップ３で、変化数kmsb rizeが変化数kmsb fallより大きいと判断して、ステップ４で、ＭＳＢ側４ビットの同時スイッチング出力本数kmsbを“３”とする。
【００４１】
以上のステップ３と並行して、ＬＳＢ側同時スイッチング出力本数算定部１２０Ｌの比較器１２１で、“０→１”へ変化する変化数klsb rizeと、“１→０”へ変化する変化数klsb fallとの大小関係を比較する（Ｓ６）。“０→１”へ変化する変化数klsb rizeの方が大きい場合、ＬＳＢ側同時スイッチング出力本数算定部１２０Ｌの減算器１２２で、この変化数klsb rizeから変化数klsb fallを引き、この値をＬＳＢ側４ビットの同時スイッチング出力本数klsbとする（Ｓ７）。また、“１→０”へ変化する変化数klsb fallが“０→１”へ変化する変化数klsb rize以上であれば、変化数klsb fallから変化数klsb rizeを引き、この値をＬＳＢ側４ビットの同時スイッチング出力本数klsbとする（Ｓ８）。ここでの例では、変化数klsb rizeが“１”で、変化数klsb fallが“２”であるから、ステップ６で、変化数klsb rizeが変化数klsb fallより大きくないと判断して、ステップ８で、ＬＳＢ側４ビットの同時スイッチング出力本数klsbを“１”とする。
【００４２】
次に、ＭＳＢ側判定部１３０Ｍは、ＭＳＢ側４ビットの同時スイッチング出力本数kmsbが予め定めた閾値（２）より大きいか否かを判定する（Ｓ９）。同時スイッチング出力本数kmsbが閾値より大きい場合、ＭＳＢ側４ビットを反転させる旨を示す制御信号ｆｌｇ［1］をＯＮにして、この制御信号ｆｌｇ［1］をバッファ１７１に出力すると共に、データ変換部１４０のＭＳＢ側セレクタ１４３Ｍに出力する。このＭＳＢセレクタ１４３Ｍは、信号発生回路１１からの次送信８ビットデータｘのうちのＭＳＢ側４ビットデータ［ｘ7：ｘ4］と、これが反転器１４２Ｍで反転したＭＳＢ側反転４ビットデータnot（［ｘ7：ｘ4］）とのうち、制御信号ｆｌｇ［1］に従って、ＭＳＢ側反転４ビットデータnot（［ｘ7：ｘ4］）を有効データとして出力する（Ｓ１０）。また、同時スイッチング出力本数kmsbが閾値以下の場合、ＭＳＢ側４ビットを反転させる旨を示す制御信号ｆｌｇ［1］をＯＦＦにして、この制御信号ｆｌｇ［1］をバッファ１７１に出力すると共に、データ変換部１４０のＭＳＢ側セレクタ１４３Ｍに出力する。このＭＳＢセレクタ１４３Ｍは、信号発生回路１１からの次送信８ビットデータｘのうちのＭＳＢ側４ビットデータ［ｘ7：ｘ4］と、これが反転器１４２Ｍで反転したＭＳＢ側反転４ビットデータnot（［ｘ7：ｘ4］）とのうち、制御信号ｆｌｇ［1］に従って、ＭＳＢ側４ビットデータ［ｘ7：ｘ4］を有効データとして出力する（Ｓ１１）。ここでの例では、ＭＳＢ側４ビットの同時スイッチング出力本数kmsbが“３”であるから、ステップ９で、同時スイッチング出力本数kmsbが閾値より大きいと判断して、ステップ１０で、ＭＳＢ側４ビットを反転させる旨を示す制御信号ｆｌｇ［1］をＯＮにして、この制御信号ｆｌｇ［1］を出力する。さらに、ＭＳＢセレクタ１４３Ｍは、信号発生回路１１からの次送信８ビットデータｘのうちのＭＳＢ側４ビットデータ［ｘ7：ｘ4］（＝1111）を反転させたＭＳＢ側反転４ビットデータnot（［ｘ7：ｘ4］）（＝0000）を有効データとして出力する。
【００４３】
以上のステップ９と並行して、ＬＳＢ側判定部１３０Ｌは、ＬＳＢ側４ビットの同時スイッチング出力本数klsbが予め定めた閾値（２）より大きいか否かを判定する（Ｓ１２）。同時スイッチング出力本数klsbが閾値より大きい場合、ＬＳＢ側４ビットを反転させる旨を示す制御信号ｆｌｇ［0］をＯＮにして、この制御信号ｆｌｇ［0］をバッファ１７１に出力すると共に、データ変換部１４０のＬＳＢ側セレクタ１４３Ｌに出力する。このＬＳＢセレクタ１４３Ｌは、信号発生回路１１からの次送信８ビットデータｘのうちのＬＳＢ側４ビットデータ［ｘ3：ｘ0］と、これが反転器１４２Ｌで反転したＬＳＢ側反転４ビットデータnot（［ｘ3：ｘ0］）とのうち、制御信号ｆｌｇ［0］に従って、ＬＳＢ側反転４ビットデータnot（［ｘ3：ｘ0］）を有効データとして出力する（Ｓ１３）。また、同時スイッチング出力本数klsbが閾値以下の場合、ＬＳＢ側４ビットを反転させる旨を示す制御信号ｆｌｇ［0］をＯＦＦにして、この制御信号ｆｌｇ［0］をバッファ１７１に出力すると共に、データ変換部１４０のＬＳＢ側セレクタ１４３Ｌに出力する。このＬＳＢセレクタ１４３Ｌは、信号発生回路１１からの次送信８ビットデータｘのうちのＬＳＢ側４ビットデータ［ｘ3：ｘ0］と、これが反転器１４２Ｌで反転したＬＳＢ側反転４ビットデータnot（［ｘ3：ｘ0］）とのうち、制御信号ｆｌｇ［0］に従って、ＬＳＢ側４ビットデータ［ｘ3：ｘ0］を有効データとして出力する（Ｓ１４）。ここでの例では、ＬＳＢ側４ビットの同時スイッチング出力本数klsbが“１”であるから、ステップ１２で、同時スイッチング出力本数klsbが閾値以下であると判断して、ステップ１４で、ＬＳＢ側４ビットを反転させる旨を示す制御信号ｆｌｇ［0］をＯＦＦにして、この制御信号ｆｌｇ［0］を出力する。さらに、ＬＳＢセレクタ１４３Ｌは、信号発生回路１１からの次送信８ビットデータｘのうちのＬＳＢ側４ビットデータ［ｘ3：ｘ0］（＝0100）を有効データとして出力する。
【００４４】
データ変換部１４０は、ＬＳＢ側セレクタ１４３ＬからのＬＳＢ側の４ビットのデータ（not（［ｘ3：ｘ0］）or［ｘ3：ｘ0］）を有効データとし、データ変換部１４０のＦＦ１４１で保持している前送信８ビットデータのうちのＭＳＢ側の４ビットデータを無効データとして、これらを併せて初回出力（出力タイミング１）の外部出力８ビットデータを生成し、出力タイミング制御部１５０へ送る。さらに、データ変換部１４０は、ＭＳＢ側セレクタ１４３ＭからのＭＳＢ側の４ビットのデータ（not（［ｘ7：ｘ4］）or［ｘ7：ｘ4］）を有効データとし、ＬＳＢ側セレクタ１４３ＬからのＬＳＢ側の４ビットのデータ（not（［ｘ3：ｘ0］）or［ｘ3：ｘ0］）を無効データとして、これらを併せて２回目出力（出力タイミング２）の外部出力８ビットデータを生成し、出力タイミング制御部１５０へ送る。
【００４５】
ここの例では、データ変換部１４０は、ＬＳＢ側セレクタ１４３ＬからのＬＳＢ側４ビットデータ［ｘ3：ｘ0］（＝0100）を有効データとし、データ変換部１４０のＦＦ１４１で保持している前送信８ビットデータのうちのＭＳＢ側の４ビットデータ［ｙ7：ｙ4］（＝0010）を無効データとして、これらを併せて初回出力（出力タイミング１）の外部出力８ビットデータ（＝0010 0100）を生成し、出力タイミング制御部１５０へ送る。さらに、データ変換部１４０は、ＭＳＢ側セレクタ１４３ＭからのＭＳＢ側反転４ビットデータnot（［ｘ7：ｘ4］）（＝0000）を有効データとし、ＬＳＢ側セレクタ１４３ＬからのＬＳＢ側４ビットデータ［ｘ3：ｘ0］（＝0100）を無効データとして、これらを併せて２回目出力（出力タイミング２）の外部出力８ビットデータ（＝0000 0100）を生成し、出力タイミング制御部１５０へ送る。
【００４６】
出力タイミング制御部１５０のタイミング生成部１５２は、信号発生回路１１からの基準クロック信号を用いて、出力タイミング信号を生成し、これを出力タイミングセレクタ１５１に送る。出力タイミングセレクタ１５１は、図６に示すように、出力タイミング信号に従って、データ変換部１４０からの出力タイミング１の外部出力８ビットデータを出力し、その後、出力タイミング信号に従って、データ変換部１４０からの出力タイミング２の外部出力８ビットデータを出力する。出力タイミング１の外部出力８ビットデータ及び出力タイミング２の外部出力８ビットデータは、それぞれ、同時スイッチングノイズ抑制部１６０により、同時スイッチングノイズが抑制された後、データ信号出力端１７３から、受信側半導体集積回路２０（図１）の受信データ制御回路２００へ送られる。
【００４７】
判定部１３０からの制御信号（Flg［0］，Flg［1］）は、前述したように、データ変換部１４０に送られると共に、バッファ１７１にも送られる。そして、この制御信号（Flg［0］，Flg［1］）は、バッファ１７１により、データ信号出力端１７３から出力タイミング１での外部出力８ビットデータ信号の出力タイミングに併せられて、制御信号出力端１７２から、受信側半導体集積回路２０（図１）の受信データ制御回路２００へ送られる。
【００４８】
以上のように、本実施形態では、内部出力８ビットデータを二分割し、これを二回に分けて送信し、しかも、二分割のうちの一方の４ビット有効データに対して、他方の４ビット無効データとして先に送信したデータのうちで同一ビット位置のデータを用いているので、同時スイッチングノイズを低減させることができる。
【００４９】
具体的には、図６に示すように、先に送信した外部出力８ビットデータ（前送信８ビットデータ）ｙが“0010 1001”で、次に送信する内部出力８ビットデータ（次送信８ビットデータ）ｘが“1111 0100”の場合、出力タイミング１では、ＭＳＢ側４ビット無効データとして、先に送信した外部出力８ビットデータのうちのＭＳＢ側４ビットデータを用い、出力タイミング２では、ＬＳＢ側４ビット無効データとして、直前に送信した、つまり出力タイミング１で送信した外部出力８ビットデータのうちのＬＳＢ側４ビットデータを用いている。このため、出力タイミング１，２での各４ビット無効データに関する同時スイッチング出力本数が“０”となり、同時スイッチングノイズを低減させることができる。
【００５０】
さらに、本実施形態では、データが“０→１”に変化する数と、データが“１→０”に変化する数とをそれぞれ検出し、同時スイッチングノイズ抑制部１６０の機能により、逆方向に変化するデータ同士で同時スイッチングノイズが抑えられることを考慮して、それぞれの変化数に応じて、同時スイッチング出力本数を算定し、これに基づいて、データを反転させるか否かを判断しているので、無用なデータ反転を行う必要がなくなり、同時スイッチングノイズを低減させることができる。
【００５１】
具体的には、図６に示すように、ＬＳＢ側４ビットデータに着目すると、前送信８ビットデータｙのうちのＬＳＢ側４ビットデータは“1001”であり、次送信８ビットデータｘのうちのＬＳＢ側４ビットデータは“0100”であるから、“０→１”に変化する数が“１”で、“１→０”に変化する数が“２”であるから、データ変化の向きを考慮に入れなければ、同時スイッチング出力本数は“３”となる。仮に、本実施形態のように、反転するか否かを決める閾値を２とすると、ＬＳＢ側４ビットデータとして反転させた“1011”を出力することになる。これに対して、本実施形態では、データ変化の向きを考慮し、上記の場合、同時スイッチング出力本数を“１”（＝2−1）としているので、ＬＳＢ側４ビットデータとして反転させていない“0100”を出力させている。
【００５２】
次に、図７に示すフローチャートに従って、本実施形態の受信データ制御回路２００の動作について説明する。ここでは、前述の送信データ制御回路１００から出力タイミング１で出力された外部出力８ビットデータ、つまり外部受付８ビットデータを“0010  0100”とし、出力タイミング２で出力された外部出力８ビットデータ、つまり外部受付８ビットデータｘを“0000  0100”とし、出力タイミング１に出力された制御信号ｆｌｇ［0］, ｆｌｇ［1］がそれぞれＯＦＦ,ＯＮとする。すなわち、図５及び図６で例示した、前送信８ビットデータ“0010  1001”の後に、次送信データ８ビットデータｘを“1111  0100”とした場合の続きとする。
【００５３】
まず、出力タイミング１の外部受付８ビットデータを外部受付データ用ＦＦ２２３が受け付け、制御信号用ＦＦ２１２が制御信号ｆｌｇ［0］,ｆｌｇ［1］を受け付ける（Ｓ２１）。続いて、出力タイミング２の外部受付８ビットデータｘを外部受付データ用ＦＦ２２３が受け付けると、出力タイミング２の外部受付８ビットデータｘを出力する（Ｓ２２）。この外部受付８ビットデータｘのうちＭＳＢ側４ビットデータｘ［7：4］と、このデータｘ［7：4］が反転器２３２Ｍで反転したＭＳＢ側反転４ビットデータnot（ｘ［7：4］）とがＭＳＢ側セレクタ２３３Ｍに入力する。さらに、このＭＳＢ側セレクタ２３３Ｍには、制御信号用ＦＦ２１２からの制御信号ｆｌｇ［1］が入力する。また、外部受付８ビットデータｘのうちＬＳＢ側４ビットデータｘ［3：0］と、このデータｘ［3：0］が反転器２３２Ｌで反転したＬＳＢ側反転４ビットデータnot（ｘ［3：0］）とがＬＳＢ側セレクタ２３３Ｌに入力する。このＬＳＢ側セレクタ２３３Ｌには、さらに、制御信号用ＦＦ２１２からの制御信号ｆｌｇ［0］が入力する。
【００５４】
ＭＳＢ側セレクタ２３３Ｍは、制御信号用ＦＦ２１２からの制御信号ｆｌｇ［1］がＯＮか否かを判断し（Ｓ２３）、制御信号ｆｌｇ［1］がＯＮであれば、ＭＳＢ側反転４ビットデータnot（ｘ［7：4］）を出力する（Ｓ２４）。また、制御信号ｆｌｇ［1］がＯＦＦであれば、ＭＳＢ側４ビットデータｘ［7：4］を出力する（Ｓ２５）。
【００５５】
以上のステップ２３と並行して、ＬＳＢ側セレクタ２３３Ｌは、制御信号用ＦＦ２１２からの制御信号ｆｌｇ［0］がＯＮか否かを判断し（Ｓ２６）、制御信号ｆｌｇ［0］がＯＮであれば、ＬＳＢ側反転４ビットデータnot（ｘ［3：0］）を出力する（Ｓ２７）。また、制御信号ｆｌｇ［0］がＯＦＦであれば、ＬＳＢ側４ビットデータｘ［3：0］を出力する（Ｓ２８）。
【００５６】
そして、各セレクタ２３３Ｍ，２３３Ｌからの４ビットデータが、８ビットデータｘ［7：0］に合成されて、内部受付データ信号端２４３から信号受付回路２１へ、この８ビットデータが内部受付８ビットデータ信号として出力される（Ｓ２９）。
【００５７】
ここでの例では、ステップ２１で、出力タイミング１の外部受付８ビットデータ“0010  0100”を外部受付データ用ＦＦ２２３が受け付け、制御信号用ＦＦ２１２が制御信号ｆｌｇ［0］：ＯＦＦ,ｆｌｇ［1］：ＯＮを受け付ける。ステップ２２では、出力タイミング２の外部受付８ビットデータｘ“0000  0100”を外部受付データ用ＦＦ２２３が受け付けて、ステップ２４で、この出力タイミング２の外部受付８ビットデータｘ“0000  0100”を出力する。ステップ２３では、ＭＳＢ側セレクタ２３３Ｍが制御信号用ＦＦ２１２からの制御信号ｆｌｇ［1］：ＯＮを受け付け、ＭＳＢ側４ビットデータｘ［7：4］“0000”を反転させたＭＳＢ側反転４ビットデータnot（ｘ［7：4］）“1111”を出力する。また、ステップ２６では、ＬＳＢ側セレクタ２３３Ｌが制御信号用ＦＦ２１２からの制御信号ｆｌｇ［0］：ＯＦＦを受け付け、ＬＳＢ側４ビットデータｘ［3：0］“0100”を出力する。そして、ステップ２９で、ＭＳＢ側セレクタ２３３Ｍから４ビットデータnot（ｘ［7：4］）“1111”と、ＬＳＢ側２３３Ｌからの４ビットデータｘ［3：0］“0100”とが合成されて、内部受付８ビットデータ信号ｘ［7：0］“1111  0100”として出力される。すなわち、図５及び図６で例示した、信号発生回路１１が出力した次送信データ８ビットデータｘ“1111  0100”が復元されて、この８ビットデータが信号受付回路２１へ送られる。
【００５８】
以上のように、受信データ制御回路２００は、Ｍ回（２回）送られてくる各８ビットデータのうち、最後（２回目）に送られてきた８ビットデータを制御信号に従って、信号発生回路１１が出力したデータに復元して、これを信号受付回路２１に送る。
【００５９】
次に、本発明に係る第２実施形態としてのデータ送受信システムについて、図８〜図１１を用いて説明する。
【００６０】
本実施形態のデータ送受信システムは、図１を用いて説明した第１実施形態のデータ送受信システムと同様に、Ｎビットデータ信号を送信する送信側半導体集積回路１０と、Ｎビットデータ信号を受信する受信側半導体集積回路２０と、これらの集積回路１０,２０を搭載するプリント基板（ＰＣＢ）と、を備えおり、第１実施形態との相違点は、送信側半導体集積回路１０に搭載されている送信データ制御回路１００ａのみである。よって、以下では、送信データ制御回路１００ａを主として説明する。
【００６１】
本実施形態の送信データ制御回路１００ａは、図８に示すように、第１実施形態と同時スイッチング出力本数算定部１２０ａのみ異なっている。この同時スイッチング出力本数算定部１２０ａも、ＭＳＢ側同時スイッチング出力本数算定部１２０ＭａとＬＳＢ側同時スイッチング出力本数算定部１２０Ｌａとを有している。各同時スイッチング出力本数算定部１２０Ｍａ，１２０Ｌａは、対応する変化数検出部１１０Ｍ，１１０Ｌからの０→１へ変化するデータ数と１→０へ変化するデータ数との大小関係を比較する第一比較器１２１と、この比較器１２１での比較結果が示す数が多い方のデータ数から数が少ない方のデータ数を引く減算器１２２と、対応する変化数検出部１１０Ｍ，１１０Ｌからの０→１へ変化するデータ数と１→０へ変化するデータ数との大小関係を比較して小さい方のデータ数を出力する第二比較器１２３と、第二比較器１２３から出力されたデータ数に重みを付加する重付け部１２４と、重付け部１２４で重み付けされたデータ数と、減算器１２２での減算結果とを加える加算器１２５と、を有している。本実施形態では、この加算器１２５からの出力を同時スイッチング出力本数としている。
【００６２】
次に、図９に示すフローチャートに従って、本実施形態の送信データ制御回路１００ａの動作について説明する。
【００６３】
本実施形態の送信データ制御回路１００ａは、前述したように、第１実施形態の送信データ制御回路１００と同時スイッチング出力本数算定部１２０ａのみが異なっている。したがって、この送信データ制御回路１００ａの動作は、第１実施形態の送信データ制御回路１００の動作と、同時スイッチング出力本数の算定処理（Ｓ４ａ，Ｓ５ａ，Ｓ７ａ，Ｓ８ａ）でのみ異なっている。そこで、以下では、この同時スイッチング出力本数の算定処理（Ｓ４ａ，Ｓ５ａ，Ｓ７ａ，Ｓ８ａ）の処理を中心に説明する。
【００６４】
第１実施形態と同様に、ステップ３で、次送信８ビットデータのうちのＭＳＢ側４ビットデータ［ｘ7：ｘ4］に関する“０→１”へ変化する変化数kmsb rizeと、“１→０”へ変化する変化数kmsb fallとの大小関係を比較し、“０→１”へ変化する変化数kmsb rizeの方が大きい場合には、以下の（式１）に示すように、変化数kmsb rizeから変化数kmsb fallを引いた値と、小さい方の変化数kmsb fallに重み2ｆを掛けた値とを加えたものを同時スイッチング出力本数kmsbとする（Ｓ４ａ）。
【００６５】
Kmsb＝（kmsb rize−kmsb fall）＋kmsb fall×2ｆ  ・・・・・・・・・（式１）
また、“０→１”へ変化する変化数kmsb rizeの方が大きくない場合には、以下の（式２）に示すように、変化数kmsb fallから変化数kmsb rizeを引いた値と、小さい方の変化数kmsb riseに重み2ｆを掛けた値とを加えたものを同時スイッチング出力本数kmsbとする（Ｓ５ａ）。
【００６６】
Kmsb＝（kmsb fall−kmsb rize）＋kmsb rise×2ｆ  ・・・・・・・・・（式２）
また、第１実施形態と同様に、ステップ６で、次送信８ビットデータのうちのＬＳＢ側４ビットデータ［ｘ3：ｘ0］に関する“０→１”へ変化する変化数klsb rizeと、“１→０”へ変化する変化数klsb fallとの大小関係を比較し、“０→１”へ変化する変化数klsb rizeの方が大きい場合には、以下の（式３）に示すように、変化数klsb rizeから変化数klsb fallを引いた値と、小さい方の変化数klsb fallに重み2ｆを掛けた値とを加えたものを同時スイッチング出力本数klsbとする（Ｓ７ａ）。
【００６７】
Klsb＝（klsb rize−klsb fall）＋klsb fall×2ｆ  ・・・・・・・・・（式３）
また、“０→１”へ変化する変化数klsb rizeの方が大きくない場合には、以下の（式４）に示すように、変化数klsb fallから変化数klsb rizeからを引いた値と、小さい方の変化数klsb riseに重み2ｆを掛けた値とを加えたものを同時スイッチング出力本数klsbとする（Ｓ８ａ）。
【００６８】
Klsb＝（klsb fall−klsb rize）＋klsb rise×2ｆ  ・・・・・・・・・（式４）
以下は、第１実施形態と同様に、ＭＳＢ側４ビットデータに関する同時スイッチング出力本数Kmsbと閾値とを比較し（Ｓ９）、同時スイッチング出力本数Kmsbの方が大きければ、このＭＳＢ側４ビットデータを反転させたものを用い（Ｓ１０）、同時スイッチング出力本数Kmsbの方が大きくなければ、このＭＳＢ側４ビットデータをそのまま用いることにする（Ｓ１１）。さらに、ＬＳＢ側４ビットデータに関する同時スイッチング出力本数Klsbと閾値とを比較し（Ｓ１２）、同時スイッチング出力本数Klsbの方が大きければ、このＬＳＢ側４ビットデータを反転させたものを用い（Ｓ１３）、同時スイッチング出力本数Kmsbの方が大きくなければ、このＬＳＢ側４ビットデータをそのまま用いることにする（Ｓ１４）。そして、ステップ１５の処理を行う。
【００６９】
ここで、第１実施形態と同様に、前送信８ビットデータｙを“0010  1001”とし、次送信データ８ビットデータｘを“1111  0100”としたときの動作について、具体的に説明する。なお、重み2ｆは、1.2（ｆ＝0.6）とする。
【００７０】
ステップ２では、第１実施形態と同様、ＭＳＢ側４ビットデータに関して、“０→１”へ変化する変化数kmsb rizeとして“３”が検出され、“１→０”へ変化する変化数kmsb fallとして“０”が検出される。さらに、ＬＳＢ側４ビットデータに関して、“０→１”へ変化する変化数klsb rizeとして“１”が検出され、“１→０”へ変化する変化数klsb fallとして“２”が検出される。
【００７１】
ステップ３では、第１実施形態と同様、ＭＳＢ側４ビットデータに関して、変化数kmsb rize（＝３）の方が変化数kmsb fall（＝０）より大きいと判断して、ステップ４ａで、ＭＳＢ側４ビットデータの同時スイッチング出力本数kmsbとして、第１実施形態と同様の“３”が求められる。
【００７２】
ステップ９では、第１実施形態と同様、ＬＳＢ側４ビットデータに関して、変化数kmsb rize（＝１）の方が変化数kmsb fall（＝２）より大きくないと判断して、ステップ８ａで、ＬＳＢ側４ビットデータの同時スイッチング出力本数kmsbとして、以下のように、第１実施形態と異なる“２．２”が求められる。
【００７３】
Klsb＝（klsb fall−klsb rize）＋klsb rise×2ｆ
＝（2−1）＋1×2×0.6
＝1＋1.2
＝2.2
この結果、ステップ９〜ステップ１１のＭＳＢ側４ビットデータに関する処理では、第１実施形態と同様、ＭＳＢ側４ビットを反転させる旨を示す制御信号ｆｌｇ［1］をＯＮにし、次送信８ビットデータｘのうちのＭＳＢ側４ビットデータ［ｘ7：ｘ4］（＝1111）を反転させたＭＳＢ側反転４ビットデータnot（［ｘ7：ｘ4］）（＝0000）を有効データとして出力する。
【００７４】
一方、ステップ１２〜ステップ１４のＬＳＢ側４ビットデータに関する処理では、第１実施形態と異なり、ステップ１２で、ＬＳＢ側４ビットデータの同時スイッチング出力本数kmsb（＝２．２）が閾値（＝２）より大きいと判断して、ＬＳＢ側４ビットを反転させる旨を示す制御信号ｆｌｇ［0］をＯＮにし、次送信８ビットデータｘのうちのＬＳＢ側４ビットデータ［ｘ3：ｘ0］（＝0100）を反転させたＭＳＢ側反転４ビットデータnot（［ｘ7：ｘ4］）（＝1011）を有効データとして出力する。
【００７５】
そして、ステップ１５では、図１０に示すように、出力タイミング１で、前送信８ビットデータｙのうちのＭＳＢ側の４ビットデータ［ｙ7：ｙ4］（＝0010）を無効データとし、次送信８ビットデータｘのうちのＬＳＢ側反転４ビットデータnot（［ｘ3：ｘ0］）（＝1011）を有効データとし、これらを併せた外部出力８ビットデータ（＝0010 1011）を送信する。また、出力タイミング２で、次送信８ビットデータのうちのＭＳＢ側反転４ビットデータnot（［ｘ7：ｘ4］）（＝0000）を有効データとし、出力タイミング１で送信したＬＳＢ側反転４ビットデータ［ｘ3：ｘ0］（＝1011）を無効データとして、これらを併せた外部出力８ビットデータ（＝0000 1011）を送信する。さらに、制御信号Flg［0］，Flg［1］に関しては、制御信号Flg［0］と制御信号Flg［1］とのいずれもＯＮにして送信する。
【００７６】
本実施形態では、第１実施形態のように、単に、逆方向に変化するデータ相互の差を同時スイッチング出力本数とはせずに、この差に重み付けされた値を加えたものを同時スイッチング出力本数としている。これは、図３を用いて説明した同時スイッチングノイズ抑制部１６０において、逆方向に変化するデータ相互は、各データの変化によるノイズを相殺し合うが、相殺し合う程度は、バイパスコンデンサ１６７の容量等で異なるため、バイパスコンデンサ１６７の容量等の相違による相殺し合う程度の相違を考慮したからである。
【００７７】
従って、本実施形態では、第１実施形態よりも、より正確に、同時スイッチングノイズ抑制部１６０のノイズ低減効果を反映した同時スイッチング出力本数を求めることができ、結果として、同時スイッチングノイズをより抑えることができる。
【００７８】
なお、以上の各実施形態では、８ビットデータの分割態様として、８ビットデータをＭＳＢ側４ビットとＬＳＢ側４ビットとに分割した例を示しているが、本発明はこれに限定されるものではなく、８ビットデータを奇数ビット位置の４ビットと偶数ビット位置の４ビットとに分割してもよい。すなわち、本発明では、８ビットデータのうちの予め定めたビット位置の４ビットと、残りのビット位置の４ビットとに分けるのであれば、いかなる分割態様であってもよい。
【００７９】
また、以上の各実施形態では、８ビットデータを２分割し、この８ビットデータを２回に分けて送信しているが、分割数及び送信回数（Ｍ）を２より大きくしてもよい。この場合、以上の実施形態で、送信データ制御回路１００,１００ａ及び受信データ制御回路２００中のＭＳＢ側の処理を行う部位とＬＳＢ側を行う部位として、２個存在していた部位が、Ｍ個存在することになる。そして、送信データ制御回路は、信号発生回路からの内部出力８ビットデータをＭ分割し、１サイクルでＭ回データ送信し、受信データ制御回路は、１サイクル中のＭ回目のデータと制御信号とを用いて、信号発生回路からの内部出力８ビットデータを復元する。さらに、以上では、８ビットデータを取り扱っているが、本発明はこれに限定されるものではなく、８ビットより大きいデータに対しても、８ビットより小さいデータに対しても、本発明を適用できることは言うまでもない。この場合、データのビット数をＮとし、分割数をＭとすると、ＮビットデータをＭ回に分け、このＭ回を１サイクルとし、各回でＮビットのデータを送信するにあたり、Ｎ／Ｍビットを有効データとし、残りのＮ−Ｎ／Ｍビットを無効データとすることになる。
【００８０】
また、以上の実施形態の送信データ制御回路１００,１００ａは、データ信号出力端１７３からデータ信号を出力し、制御信号出力端１７４から制御信号を出力しているが、制御信号が示す制御データを外部出力データの無効データ中に組み込むことで、制御信号出力端を省略してもよい。この場合、第１実施形態で、外部出力データ中に制御データを組み込むには、図１１に示すように、無効データが割り当てられている４ビットのうち、ＬＳＢ側の２ビットを制御データに割り当てる。受信データ制御回路では、無効データが割り当てられている４ビットのうちのＬＳＢ側の２ビットに割り当てられた制御データを解析し、受信データを反転させるべきか否かを認識する。このように、無効データ中に制御データを組み込むことで、同時スイッチング出力本数が増える場合もあるが、この例は、半導体集積回路１０の出力ピンを増加させることができない場合に有効である。
【００８１】
また、本発明で適用できるデータ信号は、いわゆる一般的なデータに関する信号の他、例えば、アドレスデータ信号等、回路相互間で送受信される信号であれば、いかなる種類の信号であってもよい。この例としては、マイクロプロセッサとその周辺回路との間の信号の送受信がある。例えば、図１２に示すように、マイクロプロセッサ１１ｊとＲＡＭ２１ｋとの間のデータ信号及びアドレスデータ信号に関しても、本発明を適用できる。マイクロプロセッサ１１ｊ及びＲＡＭ２１ｋは、いずれも、以上の実施形態における信号発生回路１１及び信号受付回路２１に相当する。マイクロプロセッサ１１ｊは、マザーボード１０ｊに搭載され、このマザーボード１０ｊに送信データ制御回路１００ｊ及び受信データ制御回路２００ｊが搭載されている。また、ＲＡＭ２１ｋは、メモリモジュール２０ｋに組み込まれ、このメモリモジュール２０ｋ内に、さらに、送信データ制御回路１００ｋ及び受信データ制御回路２００ｋが組み込まれている。このメモリモジュール２０ｋは、マザーボード１０ｊに接続される。
【００８２】
マザーボード１０ｊ上の送信データ制御回路１００ｊは、信号発生回路としてのマイクロプロセッサ１１ｊからデータ信号及びアドレスデータ信号を受け取り、これらの信号をそれぞれ、Ｍ回に分けて、外部出力データ信号として、制御信号と共に送信する。この際、各外部出力データ信号中の有効データを、同時スイッチング出力本数に応じて反転制御する。メモリモジュール２０ｋの受信データ制御回路２００ｋは、データ信号及びアドレスデータ信号をそれぞれＭ回受信し、Ｍ回目に受信したデータ信号及びアドレスデータ信号と制御信号とを用いて、マイクロプロセッサ１１ｊから出力されたデータ信号及びアドレスデータ信号に復元し、これらを信号受付回路としてのＲＡＭ２１ｋに送る。
【００８３】
マイクロプロセンサ１１ｊからＲＡＭ２１ｋに対して、データ読出要求がなされた場合、メモリモジュール２０ｋ内の送信データ制御回路１００ｋは、信号発生回路としてのＲＡＭ２１ｋからデータ信号を受け取り、この信号をＭ回に分けて、外部出力データ信号として、制御信号と共に送信する。この際、各外部出力データ信号中の有効データを、同時スイッチング出力本数に応じて反転制御する。マザーボード１０ｊの受信データ制御回路２００ｊは、データ信号をＭ回受信し、Ｍ回目に受信したデータ信号と制御信号とを用いて、ＲＡＭ２１ｋから出力されたデータ信号に復元し、これらを信号受付回路としてのマイクロプロセッサ１１ｊに送る。
【図面の簡単な説明】
【００８４】
【図１】本発明に係る第１実施形態のデータ送受信システムの構成図。
【図２】本発明に係る第１実施形態のデータ送信制御回路の回路構成図。
【図３】本発明に係る第１実施形態のスイッチングノイズ抑制部の回路構成図。
【図４】本発明に係る第１実施形態のデータ受信制御回路の回路構成図。
【図５】本発明に係る第１実施形態のデータ送信制御回路の動作を示すフローチャート。
【図６】本発明に係る第１実施形態での前送信データ、次送信データ、制御信号の具体的な態様を示す説明図。
【図７】本発明に係る第１実施形態のデータ受信制御回路の動作を示すフローチャート。
【図８】本発明に係る第２実施形態のデータ送信制御回路の回路構成図。
【図９】本発明に係る第２実施形態のデータ送信制御回路の動作を示すフローチャート
【図１０】本発明に係る第２実施形態での前送信データ、次送信データ、制御信号の具体的な態様を示す説明図。
【図１１】本発明に係る第１実施形態の変形例での前送信データ、次送信データ、制御信号の具体的な態様を示す説明図。
【図１２】本発明に係る実施形態で、より具体的なデータ送受信システムの構成図。
【符号の説明】
【００８５】
１０：送信側半導体集積回路、１１：信号発生回路、２０：受信側半導体集積回路、２１：信号受付回路、１００，１００ａ，１００ｊ，１００ｋ：送信データ制御回路、２００，２００ｊ，２００ｋ：受信データ制御回路、１１０：変化数検出部、１２０，１２０ａ：同時スイッチング出力本数算定部、１３０：判定部、１４０：データ変換部、１５０：出力タイミング制御部１５０、１６０：スイッチングノイズ抑制部
【図１】
2008245098.tif 000003
【図２】
2008245098.tif 000004
【図３】
2008245098.tif 000005
【図４】
2008245098.tif 000006
【図５】
2008245098.tif 000007
【図６】
2008245098.tif 000008
【図７】
2008245098.tif 000009
【図８】
2008245098.tif 000010
【図９】
2008245098.tif 000011
【図１０】
2008245098.tif 000012
【図１１】
2008245098.tif 000013
【図１２】
2008245098.tif 000014