(57)【要約】【課題】制御データによって各種動作が制御されるスイッチをオン／オフに制御する際の処理負荷を軽減することが可能なスイッチのオン／オフ制御方法及びスイッチ回路を実現する。【解決手段】ＲＡＭ１３に含まれるコマンドテーブル１３１内の全てのコマンドをＳＰＩコントローラ１７にＤＭＡ転送し、ＤＭＡ転送したコマンドをＳＰＩ通信でＩＰＤ１８に送信してオン／オフに制御する。ＩＰＤ１８のオン／オフ制御とは無関係のＤＩＡＧコマンドを予めコマンドテーブル１３１の全域に書き込でおき、ＩＰＤ１８をオン及びオフ夫々に制御すべき位相にてＩＰＤ１８にＤＭＡ転送されるコマンドの転送元アドレスを算出し、算出した夫々の転送元アドレスに予め書き込まれた診断コマンドに、ＩＰＤ１８をオン及びオフに制御するためのＯＮコマンド及びＯＦＦコマンドを上書きする。【選択図】図１
2015210676.tif 000002
【特許請求の範囲】
【請求項１】
メモリの所定領域に書き込まれた複数の転送データの全てを所定の周期でＤＭＡ転送するＤＭＡコントローラと、該ＤＭＡコントローラからの転送データによってオン／オフに制御されるスイッチとを備えるスイッチ回路で前記スイッチをオン／オフに制御する方法において、
前記転送データは、前記スイッチをオンに制御するためのオンデータ、オフに制御するためのオフデータ又はオン／オフに制御するため以外に用いられる第３のデータであり、
前記所定領域の全域に前記第３のデータを予め書き込んでおき、
前記所定の周期内で前記スイッチをオンに制御すべき位相及びオフに制御すべき位相の夫々にて前記スイッチにＤＭＡ転送される転送データの転送元アドレスを算出し、
算出した夫々の転送元アドレスに書き込まれた第３のデータに前記オンデータ及びオフデータを上書きすること
を特徴とするスイッチのオン／オフ制御方法。
【請求項２】
前記オンデータ（又はオフデータ）が書き込まれた転送元アドレスの内容に前記第３のデータを上書きし、
前記スイッチをオンに制御すべき位相（又はオフに制御すべき位相）にて前記スイッチにＤＭＡ転送される転送データの転送元アドレスを更新し、
更新した転送元アドレスに書き込まれた第３のデータに前記オンデータ（又はオフデータ）を上書きすること
を特徴とする請求項１に記載のスイッチのオン／オフ制御方法。
【請求項３】
記憶部を用意し、
前記オンデータ（又はオフデータ）が書き込まれた転送元アドレスを前記記憶部に記憶し、
該記憶部に記憶した転送元アドレス及び更新した転送元アドレスを比較し、
比較結果が一致する場合、前記第３のデータの上書き及び前記オンデータ（又はオフデータ）の上書きを禁止すること
を特徴とする請求項２に記載のスイッチのオン／オフ制御方法。
【請求項４】
前記オンデータ（又はオフデータ）を、算出又は更新した転送元アドレスと該転送元アドレスから離隔したアドレスとに書き込まれた第３のデータに上書きすることを特徴とする請求項１から３の何れか１項に記載のスイッチのオン／オフ制御方法。
【請求項５】
第２の記憶部を用意し、
前記スイッチ回路は、前記スイッチを複数備え、
該複数のスイッチは、前記ＤＭＡコントローラからの転送データの１つによって個別にオン及びオフに制御されるようにしてあり、
前記所定の周期内で前記スイッチの何れをもオン／オフに制御しない位相の範囲を予め設定し、
設定した位相の範囲内で前記スイッチにＤＭＡ転送される転送データの転送元アドレスの範囲を前記第２の記憶部に記憶しておき、
該第２の記憶部に記憶した転送元アドレスの範囲内の任意のアドレスに書き込まれた第３のデータに他の第３のデータを上書きすること
を特徴とする請求項１から４の何れか１項に記載のスイッチのオン／オフ制御方法。
【請求項６】
前記所定領域内の奇数番目（又は偶数番目）のアドレスの中から、前記スイッチをオンに制御すべき位相及びオフに制御すべき位相の夫々にて前記スイッチにＤＭＡ転送される転送データの転送元アドレスを算出し、
前記所定領域内の偶数番目（又は奇数番目）のアドレスのうち、任意のアドレスに書き込まれた第３のデータに他の第３のデータを上書きすること
を特徴とする請求項１から４の何れか１項に記載のスイッチのオン／オフ制御方法。
【請求項７】
前記所定領域内で相前後してＤＭＡ転送される転送データの境界を予め設定し、
前記境界より前側（又は後側）の転送データがＤＭＡ転送されている間に、後側（又は前側）の任意の転送データに他の転送データを上書きすること
を特徴とする請求項１から６の何れか１項に記載のスイッチのオン／オフ制御方法。
【請求項８】
メモリの所定領域に書き込まれた複数の転送データの全てを所定の周期でＤＭＡ転送するＤＭＡコントローラと、該ＤＭＡコントローラからの転送データによってオン／オフに制御されるスイッチとを備えるスイッチ回路において、
前記転送データは、前記スイッチをオンに制御するためのオンデータ、オフに制御するためのオフデータ又はオン／オフに制御するため以外に用いられる第３のデータであり、
前記所定領域の全域に前記第３のデータを書き込む書込手段と、
前記所定の周期内で前記スイッチをオンに制御すべき位相及びオフに制御すべき位相の夫々にて前記スイッチにＤＭＡ転送される転送データの転送元アドレスを算出する算出手段と、
該算出手段が算出した夫々の転送元アドレスに書き込まれた第３のデータに前記オンデータ及びオフデータを上書きする上書手段と
を備えることを特徴とするスイッチ回路。
【請求項９】
前記オンデータ（又はオフデータ）が書き込まれた転送元アドレスの内容に前記第３のデータを上書きする第２の上書手段と、
前記スイッチをオンに制御すべき位相（又はオフに制御すべき位相）にて前記スイッチにＤＭＡ転送される転送データの転送元アドレスを更新する更新手段とを備え、
前記上書手段は、前記更新手段が更新した転送元アドレスに書き込まれた第３のデータに前記オンデータ（又はオフデータ）を上書きするようにしてあること
を特徴とする請求項８に記載のスイッチ回路。
【請求項１０】
前記オンデータ（又はオフデータ）が書き込まれた転送元アドレスを記憶する記憶手段と、
該記憶手段が記憶した転送元アドレス及び前記更新手段が更新した転送元アドレスを比較する比較手段と、
該比較手段による比較結果が一致する場合、前記第３のデータの上書き及び前記オンデータ（又はオフデータ）の上書きを禁止する禁止手段と
を備えることを特徴とする請求項９に記載のスイッチ回路。
【請求項１１】
前記上書手段は、前記オンデータ（又はオフデータ）を、前記算出手段又は更新手段夫々が算出又は更新した転送元アドレスと該転送元アドレスから離隔したアドレスとに書き込まれた第３のデータに上書きすることを特徴とする請求項８から１０の何れか１項に記載のスイッチ回路。
【請求項１２】
前記スイッチ回路は、前記スイッチを複数備え、
該複数のスイッチは、前記ＤＭＡコントローラからの転送データの１つによって個別にオン及びオフに制御されるようにしてあり、
前記所定の周期内で前記スイッチの何れをもオン／オフに制御しない位相の範囲が予め設定されており、
設定された位相の範囲内で前記スイッチにＤＭＡ転送される転送データの転送元アドレスの範囲を記憶する第２の記憶手段と、
該第２の記憶手段が記憶した転送元アドレスの範囲内の任意のアドレスに書き込まれた第３のデータに他の第３のデータを上書きする第３の上書手段と
を備えることを特徴とする請求項８から１１の何れか１項に記載のスイッチ回路。
【請求項１３】
前記所定領域内の奇数番目（又は偶数番目）のアドレスの中から、前記スイッチをオンに制御すべき位相及びオフに制御すべき位相の夫々にて前記スイッチにＤＭＡ転送される転送データの転送元アドレスを算出する第２の算出手段と、
前記所定領域内の偶数番目（又は奇数番目）のアドレスのうち、任意のアドレスに書き込まれた第３のデータに他の第３のデータを上書きする第４の上書手段と
を備えることを特徴とする請求項８から１１の何れか１項に記載のスイッチ回路。
【請求項１４】
前記所定領域内で相前後してＤＭＡ転送される転送データの境界が予め設定されており、
前記境界より前側（又は後側）の転送データがＤＭＡ転送されている間に、後側（又は前側）の任意の転送データに他の転送データを上書きする第５の上書手段を備えること
を特徴とする請求項８から１３の何れか１項に記載のスイッチ回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ内の複数の転送データを周期的にＤＭＡ転送するＤＭＡコントローラと、該ＤＭＡコントローラからの転送データによってオン／オフに制御されるスイッチとを備えるスイッチ回路でスイッチをオン／オフに制御するスイッチのオン／オフ制御方法及びスイッチ回路に関する。
【背景技術】
【０００２】
近年、ＩＰＤ（Intelligent Power Device ）と称するスイッチ回路が多数商品化されている。ＩＰＤは、例えば内蔵するスイッチを過電流から保護する機能、スイッチに流れる電流をセンスする機能等を備えている。このようなＩＰＤをＰＷＭ信号でオン／オフに制御して電源電圧をスイッチングさせることにより、ＩＰＤを介して電源に接続された負荷に対する電力制御が容易且つ安全に行われる。
【０００３】
ＰＷＭ制御に用いられるＰＷＭ信号は、例えばフィードバックされた制御量（出力値）及び目標値の誤差電圧と、鋸歯状波又は三角波の電圧との比較結果に基づいてソフトウェアの介在なしに生成される場合がある。一方では、例えばタイマ割込に基づくソフトウェア制御によってＰＷＭ信号が生成される場合がある。
【０００４】
ソフトウェア制御によってＰＷＭ信号が生成される場合、ＰＷＭ信号がオフからオンに変化する立ち上がり、又はオンからオフに変化する立ち下がりでＣＰＵの処理負荷が増大する。また、例えばＣＰＵが割込禁止状態にあるときは、タイマ割込による処理に遅れが生じてＰＷＭ信号のデューティに誤差が生じることもある。
【０００５】
これに対し、非特許文献１には、ＰＷＭ信号のオン／オフに対応する１／０のデータが複数書き込まれたＰＷＭ参照テーブルからＩ／Ｏポートに対して周期的にＤＭＡ転送が行われるように構成することにより、Ｉ／ＯポートからＤＭＡ転送に同期したＰＷＭ信号を出力する方法が記載されている。非特許文献１に記載された方法によれば、ＣＰＵは、ＰＷＭ参照テーブルの更新と、ＤＭＡ転送の周期的な設定及び起動とを行うだけでよいため、ＣＰＵの処理負荷が軽減される。
【０００６】
さて、ＩＰＤの中には、Ｉｎｆｉｎｅｏｎ社製のＳＰＯＣ（登録商標）のように、シリアルの通信インタフェースを介して与えられるコマンドによってスイッチがオン／オフに制御されるものがある。ＳＰＯＣは、ＳＰＩ（登録商標）と称する通信規格に準拠する通信インタフェースを備えている。Ｉｎｆｉｎｅｏｎ社は、ＳＰＯＣを用いてＰＷＭ制御を実現するためのコマンド列をＳＰＯＣに対して周期的に与える例を非特許文献２で紹介している。具体的には、”raster method ”と称する方法により、ＰＷＭ制御に必要な１周期分のコマンドが１つずつ一定の時間間隔でＳＰＯＣに与えられる。この場合、非特許文献１に記載されたＤＭＡ転送の技術が適用される。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】「ＲＬ７８／Ｇ１３  ＤＭＡを利用した多重ＰＷＭ生成」、アプリケーションノート、R01AN1023JJ0100、Rev.1.00、［online］、FEB.29.2012、ルネサスエレクトロニクス（株）、Ｐ３、［平成２６年２月１７日検索］、インターネット＜ＵＲＬ：http://documentation.renesas.com/doc/products/mpumcu/apn/rl78/r01an1023jj0100_rl78g13.pdf＞
【非特許文献２】「How to drive loads with PWM over the SPI bus : Introduction」、［online］、2013/10/16、Infineon Technologies、［平成２６年２月１７日検索］、インターネット＜ＵＲＬ：http://www.youtube.com/watch?v=obFP7GDJDus＞
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、非特許文献２に開示された技術によれば、ＣＰＵが、ＰＷＭ制御のための１周期分のコマンドをメモリに書き込んだ後にＤＭＡ転送の設定及び起動を実行しなければならず、１周期分のコマンドを生成してメモリに書き込む処理の負荷は、依然として軽いと言えるものではなかった。
【０００９】
本発明は斯かる事情に鑑みてなされたものであり、その目的とするところは、制御データによって各種動作が制御されるスイッチをオン／オフに制御する際の処理負荷を軽減することが可能なスイッチのオン／オフ制御方法及びスイッチ回路を実現することにある。
【課題を解決するための手段】
【００１０】
本発明に係るスイッチのオン／オフ制御方法は、メモリの所定領域に書き込まれた複数の転送データの全てを所定の周期でＤＭＡ転送するＤＭＡコントローラと、該ＤＭＡコントローラからの転送データによってオン／オフに制御されるスイッチとを備えるスイッチ回路で前記スイッチをオン／オフに制御する方法において、前記転送データは、前記スイッチをオンに制御するためのオンデータ、オフに制御するためのオフデータ又はオン／オフに制御するため以外に用いられる第３のデータであり、前記所定領域の全域に前記第３のデータを予め書き込んでおき、前記所定の周期内で前記スイッチをオンに制御すべき位相及びオフに制御すべき位相の夫々にて前記スイッチにＤＭＡ転送される転送データの転送元アドレスを算出し、算出した夫々の転送元アドレスに書き込まれた第３のデータに前記オンデータ及びオフデータを上書きすることを特徴とする。
【００１１】
本発明に係るスイッチのオン／オフ制御方法は、前記オンデータ（又はオフデータ）が書き込まれた転送元アドレスの内容に前記第３のデータを上書きし、前記スイッチをオンに制御すべき位相（又はオフに制御すべき位相）にて前記スイッチにＤＭＡ転送される転送データの転送元アドレスを更新し、更新した転送元アドレスに書き込まれた第３のデータに前記オンデータ（又はオフデータ）を上書きすることを特徴とする。
【００１２】
本発明に係るスイッチのオン／オフ制御方法は、記憶部を用意し、前記オンデータ（又はオフデータ）が書き込まれた転送元アドレスを前記記憶部に記憶し、該記憶部に記憶した転送元アドレス及び更新した転送元アドレスを比較し、比較結果が一致する場合、前記第３のデータの上書き及び前記オンデータ（又はオフデータ）の上書きを禁止することを特徴とする。
【００１３】
本発明に係るスイッチのオン／オフ制御方法は、前記オンデータ（又はオフデータ）を、算出又は更新した転送元アドレスと該転送元アドレスから離隔したアドレスとに書き込まれた第３のデータに上書きすることを特徴とする。
【００１４】
本発明に係るスイッチのオン／オフ制御方法は、第２の記憶部を用意し、前記スイッチ回路は、前記スイッチを複数備え、該複数のスイッチは、前記ＤＭＡコントローラからの転送データの１つによって個別にオン及びオフに制御されるようにしてあり、前記所定の周期内で前記スイッチの何れをもオン／オフに制御しない位相の範囲を予め設定し、設定した位相の範囲内で前記スイッチにＤＭＡ転送される転送データの転送元アドレスの範囲を前記第２の記憶部に記憶しておき、該第２の記憶部に記憶した転送元アドレスの範囲内の任意のアドレスに書き込まれた第３のデータに他の第３のデータを上書きすることを特徴とする。
【００１５】
本発明に係るスイッチのオン／オフ制御方法は、前記所定領域内の奇数番目（又は偶数番目）のアドレスの中から、前記スイッチをオンに制御すべき位相及びオフに制御すべき位相の夫々にて前記スイッチにＤＭＡ転送される転送データの転送元アドレスを算出し、前記所定領域内の偶数番目（又は奇数番目）のアドレスのうち、任意のアドレスに書き込まれた第３のデータに他の第３のデータを上書きすることを特徴とする。
【００１６】
本発明に係るスイッチのオン／オフ制御方法は、前記所定領域内で相前後してＤＭＡ転送される転送データの境界を予め設定し、前記境界より前側（又は後側）の転送データがＤＭＡ転送されている間に、後側（又は前側）の任意の転送データに他の転送データを上書きすることを特徴とする。
【００１７】
本発明に係るスイッチ回路は、メモリの所定領域に書き込まれた複数の転送データの全てを所定の周期でＤＭＡ転送するＤＭＡコントローラと、該ＤＭＡコントローラからの転送データによってオン／オフに制御されるスイッチとを備えるスイッチ回路において、前記転送データは、前記スイッチをオンに制御するためのオンデータ、オフに制御するためのオフデータ又はオン／オフに制御するため以外に用いられる第３のデータであり、前記所定領域の全域に前記第３のデータを書き込む書込手段と、前記所定の周期内で前記スイッチをオンに制御すべき位相及びオフに制御すべき位相の夫々にて前記スイッチにＤＭＡ転送される転送データの転送元アドレスを算出する算出手段と、該算出手段が算出した夫々の転送元アドレスに書き込まれた第３のデータに前記オンデータ及びオフデータを上書きする上書手段とを備えることを特徴とする。
【００１８】
本発明に係るスイッチ回路は、前記オンデータ（又はオフデータ）が書き込まれた転送元アドレスの内容に前記第３のデータを上書きする第２の上書手段と、前記スイッチをオンに制御すべき位相（又はオフに制御すべき位相）にて前記スイッチにＤＭＡ転送される転送データの転送元アドレスを更新する更新手段とを備え、前記上書手段は、前記更新手段が更新した転送元アドレスに書き込まれた第３のデータに前記オンデータ（又はオフデータ）を上書きするようにしてあることを特徴とする。
【００１９】
本発明に係るスイッチ回路は、前記オンデータ（又はオフデータ）が書き込まれた転送元アドレスを記憶する記憶手段と、該記憶手段が記憶した転送元アドレス及び前記更新手段が更新した転送元アドレスを比較する比較手段と、該比較手段による比較結果が一致する場合、前記第３のデータの上書き及び前記オンデータ（又はオフデータ）の上書きを禁止する禁止手段とを備えることを特徴とする。
【００２０】
本発明に係るスイッチ回路は、前記上書手段は、前記オンデータ（又はオフデータ）を、前記算出手段又は更新手段夫々が算出又は更新した転送元アドレスと該転送元アドレスから離隔したアドレスとに書き込まれた第３のデータに上書きすることを特徴とする。
【００２１】
本発明に係るスイッチ回路は、前記スイッチ回路は、前記スイッチを複数備え、該複数のスイッチは、前記ＤＭＡコントローラからの転送データの１つによって個別にオン及びオフに制御されるようにしてあり、前記所定の周期内で前記スイッチの何れをもオン／オフに制御しない位相の範囲が予め設定されており、設定された位相の範囲内で前記スイッチにＤＭＡ転送される転送データの転送元アドレスの範囲を記憶する第２の記憶手段と、該第２の記憶手段が記憶した転送元アドレスの範囲内の任意のアドレスに書き込まれた第３のデータに他の第３のデータを上書きする第３の上書手段とを備えることを特徴とする。
【００２２】
本発明に係るスイッチ回路は、前記所定領域内の奇数番目（又は偶数番目）のアドレスの中から、前記スイッチをオンに制御すべき位相及びオフに制御すべき位相の夫々にて前記スイッチにＤＭＡ転送される転送データの転送元アドレスを算出する第２の算出手段と、前記所定領域内の偶数番目（又は奇数番目）のアドレスのうち、任意のアドレスに書き込まれた第３のデータに他の第３のデータを上書きする第４の上書手段とを備えることを特徴とする。
【００２３】
本発明に係るスイッチ回路は、前記所定領域内で相前後してＤＭＡ転送される転送データの境界が予め設定されており、前記境界より前側（又は後側）の転送データがＤＭＡ転送されている間に、後側（又は前側）の任意の転送データに他の転送データを上書きする第５の上書手段を備えることを特徴とする。
【００２４】
本発明にあっては、メモリの所定領域内の全ての転送データを所定の周期でＤＭＡ転送し、ＤＭＡ転送した転送データをスイッチに与えてスイッチを周期的にオン／オフに制御する。各転送データは、スイッチをオン／オフに制御するためのオンデータ／オフデータ、又はスイッチのオン／オフ制御とは無関係の第３のデータであり、そのうちの第３のデータを予め所定領域の全域に書き込でおく。例えば、所定の周期内でスイッチをオン及びオフ夫々に制御すべき位相を取得した場合、又は目標とするデューティが与えられてスイッチをオン及びオフ夫々に制御すべき位相を算出した場合、取得又は算出した夫々の位相にてスイッチにＤＭＡ転送される転送データの転送元アドレスを算出し、算出した夫々の転送元アドレスに予め書き込まれた第３のデータにオンデータ及びオフデータを上書きする。
つまり、スイッチのオン／オフ制御とは無関係の固定的な制御データをメモリの所定領域の全域に一律に書き込んでおき、スイッチをオン及びオフ夫々に制御すべき位相に対応するメモリの転送元アドレスの内容に夫々オンデータ及びオフデータを上書きした後に、メモリの所定領域内の全ての転送データを順次ＤＭＡ転送することにより、オンデータ及びオフデータ夫々が書き込まれた転送元アドレスに応じた位相でスイッチがオン／オフに制御される。
【００２５】
本発明にあっては、スイッチをオン／オフに制御する位相の更新に先立ち、オンデータ及び／又はオフデータが書き込まれた更新前の転送元アドレスの内容に第３のデータを上書きする。その後、スイッチをオン及び／又はオフに制御すべき新たな位相にてスイッチにＤＭＡ転送される転送データの転送元アドレスを更新する。そして、スイッチのオン制御に係る転送元アドレスを更新した場合は、更新した転送元アドレスの内容にオンデータを上書きし、スイッチのオフ制御に係る転送元アドレスを更新した場合は、更新した転送元アドレスの内容にオフデータを上書きする。
つまり、オンデータ及び／又はオフデータが書き込まれる転送元アドレスを更新する際に、更新前の転送元アドレスの内容に第３のデータを上書きし、上書きに対応して更新した転送元アドレスの内容にオンデータ及び／又はオフデータを上書きすることにより、スイッチがオン及び／又はオフに制御される位相が簡単に更新される。
【００２６】
本発明にあっては、更新前のオンデータ及び／又はオフデータが書き込まれた転送元アドレスを記憶部に記憶し、記憶した転送元アドレスと更新後の転送元アドレスとを比較して、一致したアドレスに書き込まれたオンデータ及び／又はオフデータに対する第３データの上書きと、第３データに対するオンデータ及び／又はオフデータの上書きとを禁止する。
これにより、スイッチをオン及び／又はオフに制御すべき位相の更新の前後でオンデータ及び／又はオフデータの転送元アドレスに変化がない場合は、メモリの所定領域内への不要な書き込みが省略される。
【００２７】
本発明にあっては、算出した転送元アドレスに書き込まれた第３のデータにオンデータを上書きする場合、算出した転送元アドレスから前／後に離隔したアドレスに書き込まれた第３のデータにもオンデータを上書きする。また、算出した転送元アドレスに書き込まれた第３のデータにオフデータを上書きする場合、算出した転送元アドレスから前／後に離隔したアドレスに書き込まれた第３のデータにもオフデータを上書きする。
これにより、オンデータ及びオフデータの何れか一方又は両方が二度書きされるため、スイッチに対するオン／オフ制御が確実に行われる。
【００２８】
本発明にあっては、１つの転送データによって個別にオン及びオフに制御される複数のスイッチの何れをもオン／オフに制御することがない位相の範囲が予め設定される場合、設定された位相の範囲内でスイッチにＤＭＡ転送される転送データの転送元アドレスの範囲を第２の記憶部に記憶しておく。この転送元アドレスの範囲内には常に第３のデータが保持されている。この状態で例えばスイッチにオン／オフ制御以外の他の制御を行う場合、第２の記憶部に記憶した転送元アドレスの範囲内の任意のアドレスに書き込まれた第３のデータに、上記他の制御に対応した他の第３のデータを上書きする。
これにより、他の第３のデータを上書きしても差し支えない転送元アドレスのサーチが必要になることも、スイッチに対するオン／オフ制御に影響を与えることもなしに、スイッチに対する他の制御が行われる。
【００２９】
本発明にあっては、その内容にオンデータ及びオフデータの夫々を上書きすべきアドレスは、両方ともメモリの所定領域内の奇数番目のアドレスの中から算出するか、又は両方とも偶数番目のアドレスの中から算出する。この状態で例えばスイッチにオン／オフ制御以外の他の制御を行う場合、オンデータ及びオフデータを奇数番目のアドレスの内容に上書きするときは、偶数番目のアドレスのうち、任意のアドレスの内容に、上記他の制御に対応した他の第３のデータを上書きする。また、オンデータ及びオフデータを偶数番目のアドレスの内容に上書きするときは、奇数番目のアドレスのうち、任意のアドレスの内容に、上記制御に対応した他の第３のデータを上書きする。
これにより、他の第３のデータを上書きしても差し支えない転送元アドレスのサーチが必要になることも、スイッチに対するオン／オフ制御に影響を与えることもなしに、スイッチに対する他の制御が随時行われる。
【００３０】
本発明にあっては、メモリの所定領域内の転送データを更新する処理が、例えば時間的に前後に分割される場合、分割された各処理で更新すべき転送データの境界を予め設定する。そして、設定した境界より前側の転送データがＤＭＡ転送されている間に、後側の任意の転送データに他の転送データを上書きして更新する。また、設定した境界より後側の転送データがＤＭＡ転送されている間に、前側の任意の転送データに他の転送データを上書きして更新する。
これにより、スイッチに対するオン／オフ制御に影響を与えることなく、スイッチがオン／オフに制御される位相が更新される。
【発明の効果】
【００３１】
本発明によれば、スイッチのオン／オフ制御とは無関係の固定的な制御データをメモリの所定領域の全域に一律に書き込んでおき、そのうちの２つの制御データ夫々にオンデータ及びオフデータを上書きしてＤＭＡ転送を起動することにより、スイッチがオン／オフに制御される。
従って、制御データによって各種動作が制御されるスイッチをオン／オフに制御する際の処理負荷を軽減することが可能となる。
【図面の簡単な説明】
【００３２】
【図１】本発明の実施の形態１に係るスイッチ回路の構成例を示すブロック図である。
【図２】本発明の実施の形態１に係るスイッチ回路におけるコマンド及びレスポンスの授受を説明するためのタイミング図である。
【図３】本発明の実施の形態１に係るスイッチ回路におけるコマンドとＦＥＴのオン／オフ制御との対応を示す説明図である。
【図４】本発明の実施の形態１に係るスイッチ回路でＦＥＴをオン／オフに制御するＣＰＵの処理手順を示すフローチャートである。
【図５】本発明の実施の形態２に係るスイッチ回路におけるコマンドとＦＥＴのオン／オフ制御との対応を示す説明図である。
【図６】本発明の実施の形態２に係るスイッチ回路でＦＥＴに対するオン／オフ制御を更新するＣＰＵの処理手順を示すフローチャートである。
【図７】Ａ及びＢは、本発明の実施の形態３に係るスイッチ回路におけるコマンドとＦＥＴのオン／オフ制御との対応を示す説明図である。
【図８】本発明の実施の形態３に係るスイッチ回路でＦＥＴに対するオン制御を更新するＣＰＵの処理手順を示すフローチャートである。
【図９】本発明の実施の形態４に係るスイッチ回路におけるコマンドとＦＥＴのオン／オフ制御との対応を示す説明図である。
【図１０】本発明の実施の形態５に係るスイッチ回路におけるコマンドとＦＥＴのオン／オフ制御との対応を示す説明図である。
【図１１】Ａ及びＢは、本発明の実施の形態６に係るスイッチ回路におけるコマンドとＦＥＴのオン／オフ制御との対応を示す説明図である。
【発明を実施するための形態】
【００３３】
以下、本発明をその実施の形態を示す図面に基づいて詳述する。ここでは、本発明に係るスイッチ装置が備えるスイッチとして、Ｉｎｆｉｎｅｏｎ社製のＳＰＯＣに代表されるインテリジェントパワーデバイス、具体的にはＳＰＩ通信インタフェースを有する複数チャンネルＩＰＤ（以下、単にＩＰＤという）を用いた例について説明する。
（実施の形態１）
図１は、本発明の実施の形態１に係るスイッチ回路の構成例を示すブロック図である。スイッチ回路は、ＣＰＵ１１を有するマイクロコンピュータからなる。ＣＰＵ１１は、プログラム等の情報を記憶するＲＯＭ１２、一時的に発生した情報を記憶するＲＡＭ（メモリ、記憶部及び第２の記憶部に相当）１３、定周期の信号を発生するタイマ１４、ＤＭＡ要求に対するＤＭＡ転送を制御するＤＭＡコントローラ１５、割込要求を処理する割込コントローラ１６、及びＳＰＩに準拠する通信を行うＳＰＩコントローラ１７と互いにバス接続されている。
【００３４】
スイッチ回路は、また、４つのＭＯＳＦＥＴ（以下、単にＦＥＴという）１８１を有するＩＰＤ（スイッチに相当）１８を備え、ＳＰＩコントローラ１７及びＩＰＤ１８の間は、ＳＰＩ通信におけるマスタ出力／スレーブ入力（ＭＯＳＩ：Master Out Slave In ）、マスタ入力／スレーブ出力（ＭＩＳＯ：Master In Slave Out ）、及びクロック（ＳＣＫ：Serial Clock ）の各信号線によって接続されている。本実施の形態１では、ＳＰＩコントローラ１７がマスタに、ＩＰＤ１８が内蔵する不図示のＳＰＩインタフェースがスレーブに設定されている。
【００３５】
ＲＡＭ１３は、ＤＭＡコントローラ１５によるＤＭＡ転送によってＳＰＩコントローラ１７に転送される複数のコマンド（転送データに相当）が書き込まれるコマンドテーブル（所定領域に相当）１３１と、ＤＭＡ転送によってＳＰＩコントローラ１７から転送されるレスポンスが書き込まれるレスポンステーブル１３２とを含んでなる。コマンドテーブル１３１のサイズによって、上述のＦＥＴ１８１がオン／オフに制御されるときのデューティの精度が決定付けられる（詳細については後述する）。
【００３６】
タイマ１４は、ＤＭＡコントローラ１５がコマンドテーブル１３１及びレスポンステーブル１３２夫々を対象にＤＭＡ転送を行うためのトリガとなるＤＭＡ要求を定周期で発生する。タイマ１４が発生したＤＭＡ要求は、ＤＭＡコントローラ１５の２つのＤＭＡチャネル（後述する）に各別に与えられる。
【００３７】
ＤＭＡコントローラ１５は、複数のＤＭＡ要求を夫々受け付けるためのＤＭＡチャネルを複数有する。ＤＭＡコントローラ１５は、何れかのＤＭＡ要求を受け付けた場合、ＣＰＵ１１に対してバスのホールドを要求する信号（所謂ＨＯＬＤ信号）を与え、ＣＰＵ１１からアクノレッジ信号（所謂ＨＯＬＤＡ信号）が与えられたときに、受け付けたＤＭＡ要求に対するＤＭＡ転送を実行する。夫々のＤＭＡチャネルについて設定された一連のＤＭＡ転送が完了した場合、ＤＭＡコントローラ１５は、割込コントローラ１６に対してＤＭＡ完了の割込要求を与える。
【００３８】
ＤＭＡコントローラ１５は、各ＤＭＡチャネルについて、例えばＤＭＡの転送元アドレスを示すレジスタと、ＤＭＡの転送先アドレスを示すレジスタと、ＤＭＡの転送回数を示すレジスタと、ＤＭＡの転送サイズ、転送元アドレスのカウント方向（インクリメント／デクリメント／固定）及び転送先アドレスのカウント方向（インクリメント／デクリメント／固定）を示すレジスタと、ＤＭＡ転送の許可／禁止を示すレジスタとを有する。１回のＤＭＡ転送が行われる都度、転送回数は１つだけデクリメントされる。
【００３９】
割込コントローラ１６は、複数の割込要求を受け付け可能に構成されており、何れかの割込要求を受け付けた場合、ＣＰＵ１１に対してインタラプトを要求する信号（所謂ＩＮＴ信号）を与え、ＣＰＵ１１からアクノレッジ信号（所謂ＩＮＴＡ信号）が与えられたときに、各割込要求に対応する割込ベクタをバスに送出する。バスに送出された割込ベクタがＣＰＵ１１に読み込まれた場合、ＣＰＵ１１が各割込要求に対応する割込処理を実行するようになっている。本実施の形態１では、ＤＭＡ完了の割込要求の優先度を最も高くしてある。
【００４０】
ＳＰＩコントローラ１７は、ＭＯＳＩの信号線に送出するコマンドをバッファリングする送信バッファと、ＭＩＳＯの信号線から受信したレスポンスをバッファリングする受信バッファとを有する。送信バッファ及び受信バッファの夫々は、メモリにマッピングされたアドレス、又は入出力ポートのアドレスが割り当てられており、ＣＰＵ１１又はＤＭＡコントローラ１５からバスを介してアクセスされる。本実施の形態１では、コマンドが送信される間、且つレスポンスが受信される間にのみ、ＳＰＩコントローラ１７がＳＣＫの信号線にクロックを送出する。
【００４１】
ＩＰＤ１８は、ＭＯＳＩの信号線からコマンドを受信してコマンドに応じた処理を行い、ＭＩＳＯの信号線に処理結果としてのレスポンスを送出する。ＩＰＤ１８が有する４つのＦＥＴ１８１の夫々は、Ｎチャネル型のＭＯＳＦＥＴからなり、夫々のドレインが＋Ｂ電源に接続され、夫々のソースからの出力１，２，３，４が負荷１９に供給される。４つのＦＥＴ１８１の夫々は、ＭＯＳＩの信号線から受信される出力コマンドに含まれる相異なる１ビットによってオン／オフに制御される。
【００４２】
上述の構成において、コマンドテーブル１３１の先頭アドレスが転送元アドレスに設定されるＤＭＡ転送では、転送先アドレスがＳＰＩコントローラ１７の送信バッファのアドレスに設定され、転送先アドレスのカウント方向が“固定”に設定される。転送サイズは、ＩＰＤ１８のコマンド長に合わせて１バイトに設定される。また、レスポンステーブル１３２の先頭アドレスが転送先アドレスに設定されるＤＭＡ転送では、転送元アドレスがＳＰＩコントローラ１７の受信バッファのアドレスに設定され、転送元アドレスのカウント方向が“固定”に設定され、転送サイズが１バイトに設定される。コマンドテーブル１３１及びレスポンステーブル１３２夫々の先頭アドレスに設定された転送元アドレス及び転送先アドレスは、１回のＤＭＡ転送が行われる都度、１つだけインクリメントされる。
【００４３】
これにより、コマンドテーブル１３１に書き込まれたコマンドは、ＤＭＡコントローラ１５が制御するＤＭＡ転送により、タイマ１４が発生するＤＭＡ要求の周期で順次ＳＰＩコントローラ１７の送信バッファに転送されてＩＰＤ１８に送信される。また、ＳＰＩコントローラ１７がＩＰＤ１８から受信して受信バッファにバッファリングしたレスポンスは、ＤＭＡコントローラ１５が制御するＤＭＡ転送により、タイマ１４が発生したＤＭＡ要求の周期で順次レスポンステーブル１３２に転送される。
【００４４】
ところで、ＳＰＩコントローラ１７がＳＣＫの信号線に送出するクロックは、ＳＰＩコントローラ１７が有する不図示の分周器が、不図示の原クロックを分周して生成した信号に基づいている。ＳＰＩコントローラ１７が１つのコマンドをＭＯＳＩの信号線に送出するには、少なくとも上記クロックの周期の８倍に相当する時間が必要であるが、この時間よりも、ＳＰＩコントローラ１７の送信バッファにコマンドがＤＭＡ転送される時間間隔の方が十分長くなるようにしてある。換言すれば、タイマ１４が発生するＤＭＡ要求の周期の１／８の周期よりも、上記クロックの周期の方が十分短くなるように、上記分周器の分周比を選択してある。
【００４５】
次に、コマンドテーブル１３１及びレスポンステーブル１３２の夫々とＩＰＤ１８との間で授受されるコマンド及びレスポンスについて説明する。
図２は、本発明の実施の形態１に係るスイッチ回路におけるコマンド及びレスポンスの授受を説明するためのタイミング図である。図２に示す６つのタイミング図では、何れも同一の時間軸を横軸にしてあり、図の上からコマンドテーブル１３１からのＤＭＡ転送の実行状態、ＤＭＡコントローラ１５から割込コントローラ１６に与えられるＤＭＡ完了割込のオン／オフ状態、ＭＯＳＩの信号線上のデータの内容、ＭＩＳＯの信号線上のデータの内容、ＳＰＩコントローラ１７の受信バッファの内容、及びレスポンステーブル１３２へのＤＭＡ転送の実行状態を示してある。
【００４６】
コマンドテーブル１３１には、例えば先頭アドレスから順に、コマンドＡからコマンドＺまでの２６のコマンドが書き込まれているものとする。各コマンドは、タイマ１４が発生したＤＭＡ要求の周期でＤＭＡ転送される。コマンドテーブル１３１の末尾に書き込まれたコマンドＺが時刻ｔ１でＳＰＩコントローラ１７の送信バッファ（以下、単に送信バッファという）にＤＭＡ転送された場合、ＭＯＳＩの信号線上にコマンドＺが送出される。コマンドＺが送出される間にＭＩＳＯの信号線上に送出されるレスポンスは、コマンドＺの１つ前のコマンドＹに対するレスポンスＹである。
【００４７】
一方、レスポンスＹより更に１つ前のレスポンスＸが受信されてからレスポンスＹの受信が完了するまでの間、ＳＰＩコントローラ１７の受信バッファ（以下、単に受信バッファという）にはレスポンスＸが保持されている。このレスポンスＸは、時刻ｔ１におけるコマンドＺのＤＭＡ転送とほぼ同時にレスポンステーブル１３２にＤＭＡ転送される。ＤＭＡコントローラ１５によるＤＭＡ転送が２つ同時に行われることはないから、コマンドＺのＤＭＡ転送とレスポンスＸのＤＭＡ転送との間に僅かな時間差が生じるが、ここではその時間差を無視する。
【００４８】
さて、時刻ｔ１におけるＤＭＡ転送が完了した場合、ＤＭＡコントローラ１５から割込コントローラ１６に対してＤＭＡ完了割込が発生し、このＤＭＡ完了割込に応じた割込処理にて、ＤＭＡコントローラ１５に対する設定が行われる。その結果、コマンドテーブル１３１から送信バッファへのＤＭＡ転送の転送元アドレスは、コマンドテーブル１３１の先頭アドレス、即ちコマンドＡが書き込まれたアドレスに設定される。また、受信バッファからレスポンステーブル１３２へのＤＭＡ転送の転送先アドレスは、レスポンステーブル１３２の先頭アドレスに設定される。
【００４９】
その後、時刻ｔ２では、コマンドテーブル１３１の先頭アドレスに書き込まれたコマンドＡが送信バッファにＤＭＡ転送されてＭＯＳＩの信号線上に送出され、その間にＭＩＳＯの信号線上には、レスポンスＺが送出される、また、レスポンスＹが受信されてからレスポンスＺの受信が完了するまでの間、受信バッファにはレスポンスＹが保持されており、このレスポンスＹが、時刻ｔ２におけるコマンドＡのＤＭＡ転送とほぼ同時にレスポンステーブル１３２の先頭アドレスに転送される。
【００５０】
以下同様にして、時刻ｔ３では、コマンドテーブル１３１の２番目のアドレスに書き込まれたコマンドＢが送信バッファにＤＭＡ転送され、受信バッファに保持されたレスポンスＺが、レスポンステーブル１３２の２番目のアドレスに転送される。また、時刻ｔ４では、コマンドテーブル１３１の３番目のアドレスに書き込まれたコマンドＣが送信バッファにＤＭＡ転送され、受信バッファに保持されたレスポンスＡが、レスポンステーブル１３２の３番目のアドレスに転送される。このように、コマンドが書き込まれているアドレスのオフセット（テーブルの先頭アドレスとの差分）と、コマンドに対応するレスポンスが転送されるアドレスのオフセットとの間には、アドレス２つ分のずれが生じることに留意する。
【００５１】
次に、コマンドテーブル１３１の内容によってＦＥＴ１８１をオン／オフに制御する具体例について説明する。
図３は、本発明の実施の形態１に係るスイッチ回路におけるコマンドとＦＥＴ１８１のオン／オフ制御との対応を示す説明図である。図３では、ＦＥＴ１８１がオン／オフに制御される周期（所定の周期に相当）における位相（単位はラジアン：以下同様）を横軸にしてあり、図の上段から、ＦＥＴ１８１をオン／オフに制御するためのコマンドテーブル１３１の内容Ａ及び内容Ｂ夫々と、ＦＥＴ１８１のオン／オフ状態とを示してある。ＦＥＴ１８１をオン／オフに制御する周期は、例えば１０ｍｓである。
【００５２】
以下、特に断りのない限り、コマンドテーブル１３１に１３個のコマンドが書き込まれるものとする。また、コマンドテーブル１３１内のコマンドのうち、１番目のアドレス内のコマンドによって位相０におけるＦＥＴ１８１のオン／オフ状態が制御され、ｙ番目（ｙ＝２，３，・・１０，１１，１２，１３）のアドレス内のコマンドによって位相Ｐｚ（ｚ＝２，・・ａ，ｂ，ｃ，ｄ）におけるＦＥＴ１８１のオン／オフ状態が制御されるものとする。よって、ＦＥＴ１８１がオン／オフに制御されるときのデューティの精度は、７．７％（＝１００／１３）となる。例えば、コマンドテーブル１３１のサイズを、１００個のコマンドが書き込めるサイズとした場合は、上記デューティの精度が１％となる。
【００５３】
コマンドによる制御の対象となるＦＥＴ１８１は、コマンドの下位４ビットの夫々によって指定される。各ＦＥＴ１８１に対応するビットが１（又は０）である場合、夫々のＦＥＴ１８１がオン（又はオフ）に制御される。以下では、特に断りのない限り、着目する特定のＦＥＴ１８１をオン及びオフ夫々に制御するコマンドをＯＮコマンド（オンデータに相当）及びＯＦＦコマンド（オフデータに相当）と表記する。ＤＩＡＧコマンドは、ＦＥＴ１８１のオン／オフ制御とは無関係の診断コマンド（第３のデータに相当）である。
【００５４】
図３の下段に示すように、位相Ｐ３でＦＥＴ１８１をオンに制御し、位相ＰｂでＦＥＴ１８１をオフに制御する場合、従来は、コマンドテーブル１３１の第１番目及び第２番目のアドレス（位相０及びＰ２に対応）と第１１〜１３番目のアドレス（位相Ｐｂ〜Ｐｄに対応）とにＯＦＦコマンドを準備して書き込み、第３〜１０番目のアドレス（位相Ｐ３〜Ｐａに対応）にＯＮコマンドを準備して書き込む必要があった。コマンドテーブル１３１のサイズが大きい場合は、ＣＰＵ１１の処理負荷がその分だけ増加するという問題があった。
【００５５】
これに対し、本実施の形態１では、図３の上段に示すように、先ずコマンドテーブル１３１の全域、即ち連続する全ての番地に定型のＤＩＡＧコマンドを単純にコピーして書き込み、その後図３の中段に示すように、コマンドテーブル１３１の第３番目及び第１１番目のアドレス（位相Ｐ３及びＰｂに対応）夫々に書き込まれたＤＩＡＧコマンドにＯＮコマンド及びＯＦＦコマンドを上書きすることによって、ＣＰＵ１１の処理負荷を軽減する。ＤＭＡコントローラ１５のＤＭＡチャネルに空きがある場合は、例えばＲＯＭ１２に記憶したＤＩＡＧコマンドのデータをＤＭＡ転送にてコマンドテーブル１３１の全域に書き込むことにより、ＣＰＵ１１の処理負荷が飛躍的に軽減される。ＤＩＡＧコマンドは、レジスタの読出コマンド等の他のコマンドであってもよい。
【００５６】
以下では、上述したスイッチ回路の動作を、それを示すフローチャートを用いて説明する。以下に示す処理は、ＲＯＭ１２に予め格納されている制御プログラムに従って、ＣＰＵ１１により実行される。
図４は、本発明の実施の形態１に係るスイッチ回路でＦＥＴ１８１をオン／オフに制御するＣＰＵ１１の処理手順を示すフローチャートである。図４の処理は、例えば本スイッチ回路を初期化した後で最初にＦＥＴ１８１をオン／オフに制御するときに起動される。
【００５７】
図４で用いられるオン位相及びオフ位相の夫々は、負荷１９に供給する電力をＰＷＭ制御するためにＦＥＴ１８１をオン及びオフに制御すべき位相であって、ＲＡＭ１３から随時読み出し可能であるものとする。オン位相及びオフ位相は、例えば、ＣＰＵ１１が不図示の通信手段によって外部から適時取得するものであってもよいし、目標とするデューティに基づいてＣＰＵ１１が適時演算するものであってもよい。
【００５８】
以下に示すフローチャートでは、ＯＮコマンド、ＯＦＦコマンド及びＤＩＡＧコマンドの夫々を、オンデータ、オフデータ及び診断コマンドと表記する（後述する他の実施の形態におけるフローチャートについても同様）。
【００５９】
図４の処理が起動された場合、ＣＰＵ１１は、コマンドテーブル１３１の全域に診断コマンドを書き込む（Ｓ１０：書込手段に相当）。その後、ＣＰＵ１１は、ＲＡＭ１３からオン位相を読み出し（Ｓ１１）、読み出したオン位相に基づいて、オンデータを書き込むべきオンアドレス（オン位相にてスイッチにＤＭＡ転送されるべき転送データの転送元アドレスに相当）を算出する（Ｓ１２：算出手段に相当）。そして、ＣＰＵ１１は、算出したオンアドレスに書き込まれている診断コマンドにオンデータを上書きし（Ｓ１３：上書手段に相当）、後の参照のためにオンアドレスをＲＡＭ１３に記憶しておく（Ｓ１４：記憶手段に相当）。但し、オンアドレスを算出する過程で、ＣＰＵ１１のレジスタ等にオンアドレスが記憶される場合は、ステップＳ１４の処理が不要となる（後述するオフアドレスについても同様）。
【００６０】
次いで、ＣＰＵ１１は、ＲＡＭ１３からオフ位相を読み出し（Ｓ１５）、読み出したオフ位相に基づいて、オフデータを書き込むべきオフアドレス（オフ位相にてスイッチにＤＭＡ転送されるべき転送データの転送元アドレスに相当）を算出する（Ｓ１６：算出手段に相当）。そして、ＣＰＵ１１は、算出したオフアドレスに書き込まれている診断コマンドにオフデータを上書きし（Ｓ１７：上書手段に相当）、後の参照のためにオフアドレスをＲＡＭ１３に記憶しておく（Ｓ１８：記憶手段に相当）。
【００６１】
その後、ＣＰＵ１１は、ＤＭＡコントローラ１５に対してＤＭＡ転送を禁止する設定を行った（Ｓ１９）後、ＤＭＡ転送に係る転送元アドレス、転送回数等の設定を行い（Ｓ２０）、最後にＤＭＡ転送を許可する設定を行って（Ｓ２１）図４の処理を終了する。
【００６２】
ＤＭＡ転送を許可する設定が行われた後は、ＤＭＡコントローラ１５によって、タイマ１４からの定周期のＤＭＡ要求が受け付けられ、コマンドテーブル１３１に書き込まれたＤＩＡＧコマンド、ＯＮコマンド、ＯＦＦコマンド等のコマンドが、上記定周期で１つずつＳＰＩコントローラ１７にＤＭＡ転送される。コマンドテーブル１３１の内容が全てＤＭＡ転送された場合、ＤＭＡ完了の割込要求に応じた割込処理では、図４のステップＳ１９〜Ｓ２１に示す処理が実行されるようにすればよい。但し、ＤＭＡコントローラ１５がＤＭＡ転送のリピート機能を有する場合、即ち、ＤＭＡ転送の完了時に、転送元アドレス、転送回数等の設定が自動的にリロードされる場合は、特段の割込処理は不要である。
【００６３】
以上のように本実施の形態１によれば、ＲＡＭ１３に含まれるコマンドテーブル１３１内の全てのコマンドを例えば１０ｍｓ周期でＤＭＡ転送し、ＤＭＡ転送したコマンドをＩＰＤ１８に与えてＩＰＤ１８（具体的にはＩＰＤ１８が有するＦＥＴ１８１：以下同様）を１０ｍｓ周期でオン／オフに制御する。各コマンドは、ＩＰＤ１８をオン／オフに制御するためのＯＮコマンド（オンデータ）／ＯＦＦコマンド（オフデータ）、又はＩＰＤ１８のオン／オフ制御とは無関係のＤＩＡＧ（診断）コマンドであり、そのうちのＤＩＡＧコマンドを予めコマンドテーブル１３１の全域に書き込でおく。そして、１０ｍｓの周期内でＩＰＤ１８をオン及びオフ夫々に制御すべき位相をＲＡＭ１３から読み出し、読み出した夫々の位相にてＩＰＤ１８にＤＭＡ転送されるコマンドの転送元アドレス（オンアドレス及びオフアドレス）を算出し、算出した夫々の転送元アドレスに予め書き込まれたＤＩＡＧコマンドにＯＮコマンド及びＯＦＦコマンドを上書きする。
【００６４】
つまり、ＩＰＤ１８のオン／オフ制御とは無関係の固定的な制御データである診断コマンドをコマンドテーブル１３１の全域に一律に書き込んでおき、ＩＰＤ１８をオン及びオフ夫々に制御すべき位相に対応するコマンドテーブル１３１内のオンアドレス及びオフアドレスの内容に夫々オンデータ及びオフデータを上書きした後に、コマンドテーブル１３１内の全てのコマンドを順次ＤＭＡ転送することにより、オンデータ及びオフデータ夫々が書き込まれたオンアドレス及びオフアドレスに応じた位相でＩＰＤ１８がオン／オフに制御される。
従って、制御データによって各種動作が制御されるスイッチをオン／オフに制御する際の処理負荷を軽減することが可能となる。
【００６５】
（実施の形態２）
実施の形態１が、ＩＰＤ１８をオン／オフに制御する位相の更新を考慮しない形態であるのに対し、実施の形態２は、実施の形態１での処理を実行した後に、ＩＰＤ１８をオン／オフに制御する位相を更新する形態である。
実施の形態２におけるスイッチ回路のハードウェア構成は、実施の形態１と同じであるため、対応する箇所に同様の符号を付してその説明を省略する。
【００６６】
図５は、本発明の実施の形態２に係るスイッチ回路におけるコマンドとＦＥＴ１８１のオン／オフ制御との対応を示す説明図である。図５では、ＦＥＴ１８１がオン／オフに制御される周期における位相を横軸にしてあり、図の最上段から順番に、ＦＥＴ１８１をオン／オフに制御するためのコマンドテーブル１３１の内容Ｂ、内容Ａ及び内容Ｃの夫々と、ＦＥＴ１８１のオン／オフ状態とを示してある。
【００６７】
ここでは、前述の図３の下段に示すように、位相Ｐ３でＦＥＴ１８１をオンに制御し、位相ＰｂでＦＥＴ１８１をオフに制御する状態から、図５の最下段に示すように、位相Ｐ３でＦＥＴ１８１をオンに制御し、位相Ｐ９でＦＥＴ１８１をオフに制御する状態に更新する場合について説明する。制御の更新前は、図５の最上段に示すように、コマンドテーブル１３１の第３番目のアドレスにＯＮコマンドが、第１１番目のアドレスにＯＦＦコマンドが、夫々書き込まれている。
【００６８】
制御の更新に際し、図５の第２段目に示すように、コマンドテーブル１３１の全域がＤＩＡＧコマンドで埋め尽くされるようにする。つまり、図３の上段に示すコマンドテーブル１３１の内容Ａに戻す。そのために、ＯＮコマンド及びＯＦＦコマンドが夫々書き込まれていた第３番目及び第１１番目のアドレス夫々の内容にＤＩＡＧコマンドを上書きする。
【００６９】
次いで、新たにＲＡＭ１３から読み出したオン位相及びオフ位相の夫々に基づいてオンアドレス及びオフアドレスを更新する。ここでは、オンアドレスは更新前と同じアドレスであり、オフアドレスはコマンドテーブル１３１の第９番目のアドレスになるものとする。そして、更新したオンアドレス及びオフアドレス夫々の内容にＯＮコマンド及びＯＦＦコマンドを上書きして、図５の第３段目に示すような、コマンドテーブル１３１の内容Ｃとする。
【００７０】
なお、更新の前後におけるオンアドレス（又はオフアドレス）が一致するか否かを判定し、オンアドレス（又はオフアドレス）が一致する場合は、オンアドレス（又はオフアドレス）にＤＩＡＧコマンドとオンコマンド（又はオフコマンド）とを上書きしないようにしてもよい。
【００７１】
以下では、上述したスイッチ回路の動作を、それを示すフローチャートを用いて説明する。以下に示す処理は、ＲＯＭ１２に予め格納されている制御プログラムに従って、ＣＰＵ１１により実行される。
図６は、本発明の実施の形態２に係るスイッチ回路でＦＥＴ１８１に対するオン／オフ制御を更新するＣＰＵ１１の処理手順を示すフローチャートである。
【００７２】
図５の処理は、ＲＡＭ１３に記憶されるオン位相及び／又はオフ位相が更新されたときに起動される。以下に示すフローチャートでは、「アドレスの内容に上書きする」ことを、単に「アドレスに上書きする」と表記する（後述する他の実施の形態におけるフローチャートについても同様）。
【００７３】
図６の処理が起動された場合、ＣＰＵ１１は、例えば図４のステップＳ１４で記憶したオンアドレス、即ち、更新前にオンデータが書き込まれていたアドレスをＲＡＭ１３から読み出す（Ｓ３１）。そして、ＣＰＵ１１は、更新されたオン位相をＲＡＭ１３から新たに読み出し（Ｓ３２）、新たに読み出したオン位相に基づいて、オンデータを上書きすべきオンアドレスを更新する（Ｓ３３：更新手段に相当）。次いで、ＣＰＵ１１は、ＲＡＭ１３から読み出したオンアドレスと更新したオンアドレスとを比較して（Ｓ３４：比較手段に相当）、比較結果が一致するか否かを判定し（Ｓ３５）、一致する場合（Ｓ３５：ＹＥＳ）、後述するステップＳ４１へ処理を移す（禁止手段に相当）。
【００７４】
比較判定した２つのアドレスが一致しない場合（Ｓ３５：ＮＯ）、ＣＰＵ１１は、ＲＡＭ１３から読み出したオンアドレスに診断コマンドを上書きする（Ｓ３６：第２の上書手段に相当）と共に、更新したオンアドレスに書き込まれている診断コマンドにオンデータを上書きし（Ｓ３７：上書手段に相当）、更新したオンアドレスをＲＡＭ１３に記憶する（Ｓ３８：記憶手段に相当）。但し、オンアドレスを算出する過程で、ＣＰＵ１１のレジスタ等（記憶部に相当）にオンアドレスが記憶される場合は、ステップＳ３８の処理が不要となる（後述するオフアドレスについても同様）。
【００７５】
次いで、ＣＰＵ１１は、例えば図４のステップＳ１８で記憶したオフアドレス、即ち、更新前にオフデータが書き込まれていたアドレスをＲＡＭ１３から読み出す（Ｓ４１）。そして、ＣＰＵ１１は、更新されたオフ位相をＲＡＭ１３から新たに読み出し（Ｓ４２）、新たに読み出したオフ位相に基づいて、オフデータを上書きすべきオフアドレスを更新する（Ｓ４３：更新手段に相当）。次いで、ＣＰＵ１１は、ＲＡＭ１３から読み出したオフアドレスと更新したオフアドレスとを比較して（Ｓ４４：比較手段に相当）、比較結果が一致するか否かを判定し（Ｓ４５）、一致する場合（Ｓ４５：ＹＥＳ）、図６の処理を終了する（禁止手段に相当）。
【００７６】
比較判定した２つのアドレスが一致しない場合（Ｓ４５：ＮＯ）、ＣＰＵ１１は、ＲＡＭ１３から読み出したオンアドレスに診断コマンドを上書きする（Ｓ４６：第２の上書手段に相当）と共に、更新したオフアドレスに書き込まれている診断コマンドにオフデータを上書きし（Ｓ４７：上書手段に相当）、更新したオフアドレスをＲＡＭ１３に記憶して（Ｓ４８：記憶手段に相当）図６の処理を終了する。
【００７７】
なお、上述のフローチャートでは、ステップＳ３５及びＳ４５夫々にて、更新の前後におけるオンアドレス及びオフアドレスが一致するか否かを判定しているが、ステップＳ３５及び／又はＳ４５の判定を行わずに、ステップＳ３６及び／又はＳ４６に処理を引き継ぐようにしてもよい。
このように、コマンドテーブル１３１におけるＯＮコマンド及び／又はＯＦＦコマンドの書き込みアドレスを更新することにより、ＦＥＴ１８１をオン／オフに制御する位相を適時更新する。
【００７８】
以上のように本実施の形態２によれば、ＩＰＤ１８をオン／オフに制御する位相の更新に先立ち、ＯＮコマンド（オンデータ）及び／又はＯＦＦコマンド（オフデータ）が書き込まれた更新前の転送元アドレス（オンアドレス及び／又はオフアドレス）を一時的に記憶し、記憶した転送元アドレスの内容にＤＩＡＧ（診断）コマンドを上書きする。その後、ＩＰＤ１８をオン及び／又はオフに制御すべき新たな位相にてＩＰＤ１８にＤＭＡ転送されるコマンドの転送元アドレスを更新する。そして、ＩＰＤ１８のオン制御に係る転送元アドレスを更新した場合は、更新した転送元アドレスにＯＮコマンドを上書きし、ＩＰＤ１８のオフ制御に係る転送元アドレスを更新した場合は、更新した転送元アドレスにＯＦＦコマンドを上書きする。
従って、オンデータ及び／又はオフデータが書き込まれるオンアドレスを更新する際に、更新前のオンアドレス及び／又はオフアドレスの内容を診断コマンドで上書きし、上書きに対応して更新したオンアドレス及び／又はオフアドレスの内容にオンデータ及び／又はオフデータを上書きすることにより、ＩＰＤ１８をオン及び／又はオフに制御する位相を簡単に更新することが可能となる。
【００７９】
また、実施の形態２によれば、更新前のオンアドレス及び／又はオフアドレスをＲＡＭ１３に記憶し、記憶したオンアドレス及び／又はオフアドレスと更新後の対応するオンアドレス及び／又はオフアドレスとを比較して、一致したアドレスに書き込まれたオンデータ及び／又はオフデータに対するＤＩＡＧコマンドの上書きと、ＤＩＡＧコマンドに対するオンデータ及び／又はオフデータの上書きとを禁止する。
従って、ＩＰＤ１８をオン及び／又はオフに制御すべき位相の更新の前後でオンアドレス及び／又はオフアドレスに変化がない場合は、コマンドテーブル１３１への不要な書き込みを省略することが可能となる。
【００８０】
（実施の形態３）
実施の形態１が、オン位相及びオフ位相夫々に対応するコマンドテーブル１３１内のオンアドレス及びオフアドレスにのみＯＮコマンド及びＯＦＦコマンドを上書きする形態であるのに対し、実施の形態３は、オンアドレス及びオフアドレスの夫々から離隔したアドレスにもＯＮコマンド及びＯＦＦコマンドを上書きする形態である。
実施の形態３におけるスイッチ回路のハードウェア構成は、実施の形態１と同じであるため、対応する箇所に同様の符号を付してその説明を省略する。
【００８１】
図７のＡ及びＢは、本発明の実施の形態３に係るスイッチ回路におけるコマンドとＦＥＴ１８１のオン／オフ制御との対応を示す説明図である。図７Ａ及びＢでは、ＦＥＴ１８１がオン／オフに制御される周期における位相を横軸にしてある。図７Ａ及びＢの夫々では、上段にＦＥＴ１８１をオン／オフに制御するためのコマンドテーブル１３１の内容Ｄ及び内容Ｅを、下段にＦＥＴ１８１のオン／オフ状態を示してある。
【００８２】
図７Ａに示すように、ＦＥＴ１８１をオン及びオフ夫々に制御すべきオン位相に対応するオンアドレスと、該アドレスから１番地だけ離隔したアドレスとにＯＮコマンド及びＯＦＦコマンドを上書きすることにより、ＦＥＴ１８１に対するオン／オフの制御が確実となる。
【００８３】
例えば、ＦＥＴ１８１をオンに制御すべきオン位相が位相Ｐ３（又はＰ４）である場合、位相Ｐ４（又はＰ３）に対応するアドレスにもＯＮコマンドを上書きする。これにより、ＦＥＴ１８１が位相Ｐ３でオンに制御されなかった場合であっても、位相Ｐ４ではオンに制御される確率が高まる。同様にＦＥＴ１８１をオフに制御すべきオフ位相が位相Ｐ９（又はＰａ）である場合、位相Ｐａ（又はＰ９）に対応するアドレスにもＯＦＦコマンドを上書きする。これにより、ＦＥＴ１８１が位相Ｐ９でオフに制御されなかった場合であっても、位相Ｐａではオフに制御される確率が高まる。
【００８４】
図７Ｂに移って、ＦＥＴ１８１をオン及びオフ夫々に制御すべきオン位相及びオフ位相に対応するアドレスと、該アドレスから２番地以上離隔したアドレスとにＯＮコマンド及びＯＦＦコマンドを上書きすることにより、ＦＥＴ１８１に対するオン／オフの制御が確実となる。
【００８５】
例えば、ＦＥＴ１８１をオンに制御すべきオン位相が位相Ｐ３（又はＰ５）である場合、位相Ｐ５（又はＰ３）に対応するアドレスにもＯＮコマンドを上書きする。これにより、ＦＥＴ１８１が位相Ｐ３でオンに制御されなかった場合であっても、位相Ｐ５ではオンに制御される確率が高まる。同様にＦＥＴ１８１をオフに制御すべきオフ位相が位相Ｐ９（又はＰｂ）である場合、位相Ｐｂ（又はＰ９）に対応するアドレスにもＯＦＦコマンドを上書きする。これにより、ＦＥＴ１８１が位相Ｐ９でオフに制御されなかった場合であっても、位相Ｐｂではオフに制御される確率が高まる。
【００８６】
以下では、上述したスイッチ回路の動作を、それを示すフローチャートを用いて説明する。以下に示す処理は、ＲＯＭ１２に予め格納されている制御プログラムに従って、ＣＰＵ１１により実行される。
図８は、本発明の実施の形態３に係るスイッチ回路でＦＥＴ１８１に対するオン制御を更新するＣＰＵ１１の処理手順を示すフローチャートである。図８の処理は、ＲＡＭ１３に記憶されるオン位相が更新されたときに起動される。
【００８７】
図８の処理が起動された場合、ＣＰＵ１１は、例えば図４のステップＳ１２又はＳ１４で記憶したオンアドレス、即ち、更新前にオンデータが書き込まれていたアドレスに診断コマンドを上書きし（Ｓ５０：第２の上書手段に相当）、更に、上書きしたアドレスから１番地離隔したアドレス又は２番地以上離隔したアドレスにも診断コマンドを上書きする（Ｓ５１：第２の上書手段に相当）。アドレスが離隔する方向は、アドレスが増加する方向であっても減少する方向であってもよい。その後、ＣＰＵ１１は、更新されたオン位相をＲＡＭ１３から新たに読み出し（Ｓ５２）、新たに読み出したオン位相に基づいて、オンデータを書き込むべきオンアドレスを更新する（Ｓ５３：更新手段に相当）。
【００８８】
次いで、ＣＰＵ１１は、更新したオンアドレスにオンデータを上書きし（Ｓ５４：上書手段に相当）、更に、上書きしたアドレスから１番地離隔したアドレス又は２番地以上離隔したアドレスにオンデータを上書きする（Ｓ５５：上書手段に相当）。その後、ＣＰＵ１１は、更新したオンアドレスをＲＡＭ１３に記憶して（Ｓ５６：記憶手段に相当）図８の処理を終了する。但し、オンアドレスを算出する過程で、ＣＰＵ１１のレジスタ等にオンアドレスが記憶される場合は、ステップＳ４６の処理が不要となる。
【００８９】
なお、上述のフローチャートでは、オン位相が更新された場合について説明したが、オフ位相が更新された場合に、ＦＥＴ１８１に対するオン制御を更新するＣＰＵ１１の処理手順を示すフローチャートは、図８と同様に示される。具体的には、図８におけるオンアドレス、オン位相及びオンデータの夫々を、オフアドレス、オフ位相及びオフデータに置き換えたものとすればよい。
【００９０】
以上のように本実施の形態３によれば、算出した転送元アドレス（オンアドレス）に書き込まれたＤＩＡＧコマンドにＯＮコマンド（オンデータ）を上書きする場合、算出した転送元アドレスから前／後に１番地以上離隔したアドレスに書き込まれたＤＩＡＧコマンドにもＯＮコマンドを上書きする。また、算出した転送元アドレス（オフアドレス）に書き込まれたＤＩＡＧコマンドにＯＦＦコマンド（オフデータ）を上書きする場合、算出した転送元アドレスから前／後に１番地以上離隔したアドレスに書き込まれたＤＩＡＧコマンドにもＯＦＦコマンドを上書きする。
従って、オンデータ及びオフデータの何れか一方又は両方を二度書きすることにより、ＩＰＤ１８に対するオン／オフ制御を確実に行うことが可能となる。
【００９１】
（実施の形態４）
実施の形態１〜３が、ＦＥＴ１８１をオン／オフに制御するコマンド及びＤＩＡＧコマンドをＤＭＡ転送する形態であるのに対し、実施の形態４は、ＩＰＤ１８にＦＥＴ１８１をオン／オフに制御するコマンド及びＤＩＡコマンドと、それ以外の制御コマンドとをＤＭＡ転送する形態である。
実施の形態４におけるスイッチ回路のハードウェア構成は、実施の形態１と同じであるため、対応する箇所に同様の符号を付してその説明を省略する。
【００９２】
図９は、本発明の実施の形態４に係るスイッチ回路におけるコマンドとＦＥＴ１８１のオン／オフ制御との対応を示す説明図である。図９では、ＦＥＴ１８１がオン／オフに制御される周期における位相を横軸にしてあり、図の上段から順番に、４つのＦＥＴ１８１をオン／オフに制御するためのコマンドテーブル１３１の内容Ｆと、出力１〜４夫々に対応するＦＥＴ１８１のオン／オフ状態とを示してある。
【００９３】
図９の最上段に示すコマンドテーブル１３１の内容Ｆでは、１つの出力コマンドに含まれる下位４ビットの１／０によって、出力１〜４夫々に対応するＦＥＴ１８１がＯＮ／ＯＦＦに制御されることを表している。例えば、出力１に対応するＦＥＴ１８１は、位相Ｐ３でオンに制御され、位相Ｐ９でオフに制御される。同様に出力２，３，４夫々に対応するＦＥＴ１８１は、位相Ｐ４，Ｐ５，Ｐ６でオンに制御され、位相Ｐａ，Ｐｂ，Ｐｃでオフに制御される。
【００９４】
図９に示す例のように、０から２πまでの１周期における各位相のうち、ＩＰＤ１８の出力１〜４夫々に対応するＦＥＴ１８１の何れもがオン／オフに制御されない位相の範囲が予め設定される場合、設定された位相の範囲に対応するコマンドテーブル１３１内のアドレスの範囲には、常にＤＩＡＧコマンドが書き込まれることとなる。具体的には、コマンドテーブル１３１における第１番目、第２番目、第７番目、第８番目及び第１３番目のアドレスである。このようなアドレスの範囲を記憶しておき（第２の記憶手段に相当）、記憶した範囲内の何れかのアドレスに書き込まれたＤＩＡＧコマンドに対して、ＩＰＤ１８を制御するための他の制御コマンドを上書きする（第３の上書手段に相当）ことにより、各ＦＥＴ１８１のオン／オフ制御に影響を与えることなく、ＩＰＤ１８の動作が制御される。
【００９５】
即ち、上書きされた他の制御コマンドがＤＭＡ転送によってＳＰＩコントローラ１７に転送され、更にＳＰＩ通信によってＩＰＤ１８に受信されたときに、ＩＰＤ１８が他の制御コマンドによって制御される。他の制御コマンドの例として、例えば、ラッチ状態に保持されたＦＥＴ１８１を解除するコマンドや、出力１〜４についてのセンス電流を切り替えるコマンドが挙げられる。
【００９６】
以上のように本実施の形態４によれば、１つのコマンドによって個別にオン及びオフに制御される４つのＦＥＴ１８１の何れをもオン／オフに制御することがない位相の範囲が予め設定される場合、設定された位相の範囲内でスイッチにＤＭＡ転送される転送データの転送元アドレスの範囲をＲＡＭ１３に記憶しておく。この転送元アドレスの範囲内には常にＤＩＡＧ（診断）コマンドが保持されている。この状態で例えばＩＰＤ１８にオン／オフ制御以外の他の制御を行う場合、ＲＡＭ１３に記憶した転送元アドレスの範囲内の任意のアドレスに書き込まれたＤＩＡＧコマンドに、上記他の制御に対応した他の制御コマンドを上書きする。
従って、他の制御コマンドを上書きしても差し支えない転送元アドレスのサーチが必要になることも、ＩＰＤ１８に対するオン／オフ制御に影響を与えることもなしに、ＩＰＤ１８に対する他の制御を行うことが可能となる。
【００９７】
（実施の形態５）
実施の形態４が、常時ＤＩＡＧコマンドが保持されることとなる転送元アドレスの範囲を記憶しておき、記憶したアドレスの範囲内の任意のアドレスの内容に他の制御コマンドを上書きする形態であるのに対し、実施の形態５は、その内容にＯＮコマンド又はＯＦＦコマンドが上書きされる転送元アドレスと、他の制御コマンドが上書きされる転送元アドレスとを１つおきに分けて準備する形態である。
実施の形態５におけるスイッチ回路のハードウェア構成は、実施の形態１と同じであるため、対応する箇所に同様の符号を付してその説明を省略する。
【００９８】
図１０は、本発明の実施の形態５に係るスイッチ回路におけるコマンドとＦＥＴ１８１のオン／オフ制御との対応を示す説明図である。図１０では、ＦＥＴ１８１がオン／オフに制御される周期における位相を横軸にしてあり、図の上段にＦＥＴ１８１をオン／オフに制御するためのコマンドテーブル１３１の内容Ｇを、下段にＦＥＴ１８１のオン／オフ状態を示してある。
【００９９】
本実施の形態５では、例えば、コマンドテーブル１３１のサイズを２００個のコマンドが書き込めるサイズとし、予めコマンドテーブル１３１の全域にＤＩＡＧコマンドを書き込んでおく（書込手段に相当）。コマンドテーブル１３１内のＤＩＡＧコマンドにＯＮコマンド又はＯＦＦコマンドを上書きする場合は、コマンドテーブル１３１に含まれる１００個の奇数番目のアドレスの中から上書きすべきアドレスを算出する（第２の算出手段に相当）。このため、ＩＰＤ１８がオン／オフに制御されるときのデューティの精度は、１％となる。また、コマンドテーブル１３１内のＤＩＡＧコマンドに他の制御コマンドを上書きする場合は、１００個の偶数番目のアドレスのうち、任意のアドレスの内容に上書きする（第４の上書手段に相当）。複数の偶数番目のアドレスの内容に他の制御コマンドを上書きしてもよい。
【０１００】
このように、ＦＥＴ１８１をオン／オフに制御するためのコマンドを上書きするアドレスと、ＤＩＡＧコマンド以外の他の制御コマンドを上書きするアドレスとを分離することにより、ＦＥＴ１８１をオン／オフに制御する周期における任意の位相で、任意の制御コマンドをＩＰＤ１８に与えることができる。
なお、奇数番目のアドレスの内容に他の制御コマンドを上書きし、偶数番目のアドレスの内容にＯＮコマンド又はＯＦＦコマンドを上書きするようにしてもよい。
【０１０１】
以上のように本実施の形態５によれば、その内容にＯＮコマンド（オンデータ）及びＯＦＦコマンド（オフデータ）の夫々を上書きすべきアドレスは、両方ともコマンドテーブル１３１内の奇数番目のアドレスの中から算出するか、又は両方とも偶数番目のアドレスの中から算出する。この状態で例えばＩＰＤ１８にオン／オフ制御以外の他の制御を行う場合、ＯＮコマンド及びＯＦＦコマンドを奇数番目のアドレスの内容に上書きするときは、偶数番目のコマンドが書き込まれる任意のアドレスに書き込まれたＤＩＡＧコマンドに、他の制御コマンドを上書きする。また、ＯＮコマンド及びＯＦＦコマンドを偶数番目のアドレスの内容に上書きするときは、奇数番目のコマンドが書き込まれる任意のアドレスに書き込まれたＤＩＡＧコマンドに他の制御コマンドを上書きする。
従って、他の制御コマンドを上書きしても差し支えない転送元アドレスのサーチが必要になることも、ＩＰＤ１８に対するオン／オフ制御に影響を与えることもなしに、ＩＰＤ１８に対する他の制御を随時行うことが可能となる。
【０１０２】
また、実施の形態５によれば、実施の形態１でＩＰＤ１８をオン／オフに制御するデューティの精度を１％にする場合と比較して、コマンドテーブル１３１のサイズを２倍にしておくことにより、実施の形態１の場合と同精度のデューティでＩＰＤ１８をオン／オフに制御することが可能となる。
【０１０３】
（実施の形態６）
実施の形態１〜５が、コマンドテーブル１３１の内容を更新すべきタイミングを明示しない形態であるのに対し、実施の形態６は、ＦＥＴ１８１をオン／オフに制御する周期における前半及び後半のタイミングでコマンドテーブル１３１内の異なる領域の内容を更新する形態である。
実施の形態６におけるスイッチ回路のハードウェア構成は、実施の形態１と同じであるため、対応する箇所に同様の符号を付してその説明を省略する。
【０１０４】
図１１のＡ及びＢは、本発明の実施の形態６に係るスイッチ回路におけるコマンドとＦＥＴ１８１のオン／オフ制御との対応を示す説明図である。図１１Ａ及びＢでは、ＦＥＴ１８１がオン／オフに制御される周期における位相を横軸にしてある。図１１Ａ及びＢの夫々では、下段にＦＥＴ１８１のオン／オフ状態を、その上段にＦＥＴ１８１をオン／オフに制御するためのコマンドテーブル１３１の内容Ｈ及び内容Ｉを示す。図１１Ａの最上段には、コマンドテーブル１３１の内容の更新処理の実行状態を示してある。
【０１０５】
さて、コマンドテーブル１３１内のアドレスを転送元アドレスとするＤＭＡ転送と、ＣＰＵ１１によるコマンドテーブル１３１の更新処理とが直接的に競合することは無いと言える。しなしながら、例えばＣＰＵ１１がオンアドレスを更新する場合、更新前のオンアドレスの内容にＤＩＡＧコマンドを上書きした後で、更新後のオンアドレスにＯＮコマンドを上書きする前に、更新前後のオンアドレスの内容がＤＭＡ転送されると、その周期ではＦＥＴ１８１がオンにならず、１周期分だけＦＥＴ１８１のオン／オフ制御ができなくなる。これを回避するには、ＣＰＵ１１がコマンドテーブル１３１の一部の領域（又は他の領域）を更新している期間中は、前記一部の領域（又は他の領域）がＤＭＡ転送の対象とならないことが保証されるようにすればよい。
【０１０６】
そこで、図１１Ａの最上段に示すように、コマンドテーブル１３１の全域を更新する処理を、例えばＦＥＴ１８１をオン／オフに制御する周期における位相０及びＰ７の２箇所で起動される処理に分割する。そして、これら２つの更新処理によって更新される領域の境界を、例えば位相Ｐ６及びＰ７の中間位相に対応するアドレスに設定する。つまり、位相０で起動される更新処理にて、上記アドレスの境界より後側のアドレスの内容を更新する（第５の上書手段に相当）。そして、位相Ｐ７で起動される更新処理にて、上記アドレスの境界より前側のアドレスの内容を更新する（第５の上書手段に相当）。これにより、コマンドテーブル１３１の内容の更新処理とＤＭＡ転送との干渉が防止される。
【０１０７】
なお、上記２つの更新処理の夫々が処理中に、処理対象の領域がＤＭＡ転送されることがない限り、これら２つの更新処理が起動されるべき位相が、位相０及びＰ７に限定されることはなく、上記アドレスの境界が、位相Ｐ６及びＰ７の中間位相に対応するアドレスに限定されることもない。例えば、上記２つの更新処理が、ＦＥＴ１８１をオン／オフに制御する周期内で、時間的に等間隔で起動されるようにしてもよい。また、上記更新処理が、上記周期内で３回以上起動されてもよく、その場合は、その起動回数に応じて、各更新処理の更新対象となる領域の境界のアドレスを適当に設定すればよい。
【０１０８】
次に、位相０及びＰ７で起動される更新処理のうち、一方の更新処理を省略できる場合について説明する。
図１１Ａの最下段に示すように、例えばＦＥＴ１８１をオンに制御するオン位相が位相０に固定されており、ＦＥＴ１８１をオフに制御するオフ位相が位相Ｐ７〜Ｐｄの間で変化する場合、位相Ｐ７で起動される更新処理は省略が可能である。つまり、コマンドテーブル１３１に書き込まれたコマンドのうち、位相Ｐ０及びＰ２〜Ｐ６の夫々に対応する１番目及び２番目〜６番目のアドレス内のコマンドは、ＯＮコマンド及びＤＩＡＧコマンドに固定されており、これらのコマンドを更新する必要がない。
【０１０９】
これに対し、位相Ｐ７〜Ｐｄに対応する７番目〜１３番目のアドレス内のコマンドは、うち１つがＯＦＦコマンド、他はＤＩＡＧコマンドであって、どちらのコマンドであるかは、ＦＥＴ１８１をオフに制御すべきオフ位相によって変化する（図ではＯＦＦ／ＤＧと表記する）。このため、位相Ｐ０で起動される更新処理によるコマンドの更新が必要とされる。図１１Ａでは、ＤＩＡＧコマンドがＯＦＦコマンドに更新される位相が位相Ｐ７からＰｄまで変化するときに、ＦＥＴ１８１がオフに制御される位相が位相Ｐ７からＰｄまで変化する様子を示す。
【０１１０】
図１１Ｂに移って、例えばＦＥＴ１８１をオフに制御するオフ位相が位相Ｐｄに固定されており、ＦＥＴ１８１をオンに制御するオン位相が位相０〜Ｐ６の間で変化する場合、位相Ｐ０で起動される更新処理は省略が可能である。つまり、コマンドテーブル１３１に書き込まれたコマンドのうち、位相Ｐ７〜Ｐｃ及びＰｄの夫々に対応する７番目〜１２番目及び１３番目のアドレス内のコマンドは、ＤＩＡＧコマンド及びＯＦＦコマンドに固定されており、これらのコマンドを更新する必要がない。
【０１１１】
これに対し、位相Ｐ０〜Ｐ６に対応する１番目〜６番目のアドレス内のコマンドは、うち１つがＯＦＦコマンド、他はＤＩＡＧコマンドであって、どちらのコマンドであるかは、ＦＥＴ１８１をオフに制御すべきオフ位相によって変化する。このため、位相Ｐ７で起動される更新処理によるコマンドの更新が必要とされる。図１１Ｂでは、ＤＩＡＧコマンドがＯＮコマンドに更新される位相が位相０からＰ６まで変化するときに、ＦＥＴ１８１がオンに制御される位相が位相０からＰ６まで変化する様子を示す。
【０１１２】
以上のように本実施の形態６によれば、コマンドテーブル１３１内のコマンドを更新する処理が、位相０及び位相Ｐ７で起動される２つの更新処理に分割されており、分割された各更新処理で更新すべきコマンドの境界を、位相Ｐ６及びＰ７の中間に対応するアドレスに設定する。そして、設定した境界より前側のコマンドがＤＭＡ転送されている間に、後側の任意のコマンドに他のコマンドを上書きして更新する。また、設定した境界より後側のコマンドがＤＭＡ転送されている間に、前側の任意のコマンドに他のコマンドを上書きして更新する。
従って、ＩＰＤ１８に対するオン／オフ制御に影響を与えることなく、ＩＰＤ１８をオン／オフに制御する位相を更新することが可能となる。
【０１１３】
また、実施の形態６によれば、コマンドテーブル１３１内のコマンドを更新する処理が起動される起動周期を、ＩＰＤ１８がオン／オフに制御されるＰＷＭ周期の丁度半分にすることにより、例えば偶数番目及び奇数番目夫々の起動周期で起動された処理によって、コマンドテーブル１３１の前側及び後側の領域内のコマンドを更新するように、ソフトウェアの設計を簡略化することが可能となり、併せてコマンドテーブル１３１内のコマンドを漏れなく確実に更新することが可能となる。
【０１１４】
今回開示された実施の形態は、全ての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上述した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。また、各実施の形態で記載されている技術的特徴は、お互いに組み合わせることが可能である。
【符号の説明】
【０１１５】
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１３１  コマンドテーブル
１３２  レスポンステーブル
１４  タイマ
１５  ＤＭＡコントローラ
１６  割込コントローラ
１７  ＳＰＩコントローラ
１８  ＩＰＤ
１８１  ＦＥＴ
１９  負荷
【図１】
2015210676.tif 000003
【図２】
2015210676.tif 000004
【図３】
2015210676.tif 000005
【図４】
2015210676.tif 000006
【図５】
2015210676.tif 000007
【図６】
2015210676.tif 000008
【図７】
2015210676.tif 000009
【図８】
2015210676.tif 000010
【図９】
2015210676.tif 000011
【図１０】
2015210676.tif 000012
【図１１】
2015210676.tif 000013