(57)【要約】【課題】マスタ（ＭＳＣコントローラ）と各スレーブ（パワーデバイス）での効率的なデータ転送が行うこと【解決手段】ＣＳ設定回路１２０は、複数のシリアル転送周期の各々について、複数のデバイスの内のデータ送信対象となる対象デバイス及び当該対象デバイスへの送信データ長を含むデータ送信パターンを記憶し、処理対象となるシリアル転送周期のデータ送信パターンを出力する。ＣＳ生成回路１３０は、ＣＳ設定回路１２０が出力したデータ送信パターンに基づいて複数のデバイスの各々に送信するチップセレクト信号を生成して送信する。データ生成回路１４０は、タイマ出力データをシリアル変換したシリアルデータと、ＣＳ設定回路１２０が出力したデータ送信パターンと、を基に送信データを生成する。データ送信回路１５０は、データ生成回路１４０が生成した送信データを複数のデバイスに送信する。【選択図】図２
2014078816.tif 000002
【特許請求の範囲】
【請求項１】
複数のシリアル転送周期の各々について、複数のデバイスの内のデータ送信対象となる対象デバイス及び当該対象デバイスへの送信データ長を含むデータ送信パターンを記憶し、処理対象のシリアル転送周期にかかる前記データ送信パターンを出力する設定回路と、
前記設定回路が出力した前記データ送信パターンに基づいて前記複数のデバイスの各々に送信するチップセレクト信号を生成するチップセレクト生成回路と、
タイマ出力データをシリアル変換したシリアルデータと、前記設定回路が出力した前記データ送信パターンと、を基に前記複数のデバイスに共通して送信する送信データを生成するデータ生成回路と、
前記データ生成回路が生成した前記送信データを前記複数のデバイスに送信する送信回路と、を備える半導体装置。
【請求項２】
前記データ送信パターンは、前記対象デバイスへのデータ送信順序を含み、
前記データ生成回路は、前記データ送信順序を含む前記データ送信パターンに基づいて、前記シリアルデータからのデータ抽出及び抽出したデータの並び替えを行って前記送信データを生成し、
前記チップセレクト生成回路は、前記データ送信順序を含む前記データ送信パターンに基づいて、前記複数のデバイスの各々に送信する前記チップセレクト信号を生成する、請求項１に記載の半導体装置。
【請求項３】
前記送信回路は、前記送信データを格納する複数のデータバッファを有し、シリアル転送周期が変化する毎に前記複数のデータバッファに順番に前記送信データを格納する、請求項１に記載の半導体装置。
【請求項４】
前記送信回路は、外部から入力されるバッファ制御信号に応じて、前記複数のデータバッファの上書きを禁止する、請求項３に記載の半導体装置。
【請求項５】
前記データ送信パターンと前記シリアルデータに基づいて、前記データ生成回路から前記送信回路に転送された前記送信データの正常性を判定するデータ比較回路を更に備える、請求項２に記載の半導体装置。
【請求項６】
前記データ比較回路は、前記送信データが異常であると判定した場合、前記送信データの送信を禁止する送信制御信号を前記送信回路に入力する、請求項５に記載の半導体装置。
【請求項７】
前記データ比較回路は、前記送信データが異常であると判定した場合、外部の任意の回路に対してエラーを通知するエラー信号を送信する、請求項５に記載の半導体装置。
【請求項８】
前記設定回路は、前記複数のシリアル転送周期の少なくとも１つのシリアル転送周期において、複数の前記データ送信パターンを記憶し、モード信号に基づいて前記複数のデータ送信パターンから選択した１つの前記データ送信パターンを出力する、請求項１に記載の半導体装置。
【請求項９】
前記モード信号は、前記複数のデバイスのうちの１のデバイスから送信される、請求項８に記載の半導体装置。
【請求項１０】
前記複数のシリアル転送周期のうちの少なくとも１つのシリアル転送周期にかかる前記データ送信パターンは、コマンド送信にかかるパッシブ領域を含まない、請求項１に記載の半導体装置。
【請求項１１】
前記複数のシリアル転送周期のうちの少なくとも１つのシリアル転送周期にかかる前記データ送信パターンは、前記複数のデバイスに含まれる第１デバイスを前記対象デバイスとしない、請求項１に記載の半導体装置。
【請求項１２】
前記複数のシリアル転送周期の各々における前記送信データは、全て同じデータ長である、請求項１に記載の半導体装置。
【請求項１３】
前記データ送信パターンは、コマンド送信にかかるパッシブ領域のデータ長の情報を更に含む、請求項１に記載の半導体装置。
【請求項１４】
請求項１〜請求項１３のいずれか１項の半導体装置と、前記複数のデバイスと、を搭載した車載システム。
【請求項１５】
複数のシリアル転送周期の各々について、複数のデバイスの内のデータ送信対象となる対象デバイス及び当該対象デバイスへの送信データ長を含むデータ送信パターンを記憶し、  
処理対象となるシリアル転送周期の前記データ送信パターンを出力し、
前記データ送信パターンに基づいて前記複数のデバイスの各々に送信するチップセレクト信号を生成し、
タイマ出力データをシリアル変換したシリアルデータと、前記データ送信パターンと、を基に前記複数のデバイスに共通して送信する送信データを生成し、
前記送信データを前記複数のデバイスに送信する、データ送信制御方法。
【請求項１６】
請求項１５に記載の方法を実行するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体装置、データ送信制御方法、及びプログラムに関し、例えば複数のデバイスにシリアルデータを送信する半導体装置、データ送信制御方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、ＥＣＵ（Engine Control Unit）内の各タイマの出力値を用いて、複数のパワーデバイス（たとえば、噴射装置）をコントロールするシステムが広く用いられている。これらのシステムでは、各タイマの出力端子と全てのパワーデバイスの入力端子とをそれぞれ接続する必要があった。そのため、ＥＣＵおよびパワーデバイスの双方に大量の端子が必要となっていた。
【０００３】
この端子の増大の問題を解消するために、ＭＳＣ（Micro Second Channel）通信仕様が策定されている。このＭＳＣ通信仕様の詳細は、非特許文献１〜３に開示されている。ＭＳＣ通信仕様とは、各タイマからのパラレル出力をシリアル出力に変換し、ＥＣＵとパワーデバイス間でシリアル通信を行うことを定めた通信仕様である。ＥＣＵとパワーデバイス間で送信するデータを一連のシリアルデータに変換することにより、データ出力のための端子がＥＣＵ及びパワーデバイスそれぞれに１つずつのみとなる。すなわち、ＥＣＵに設けられるデータ出力用のポートを一つのみとし、かつ各パワーデバイスに設けられる当該データ入力用のポートを一つのみとすることができる。
【０００４】
当該ＭＳＣ通信仕様に沿ったＥＣＵ（マスタ）と各スレーブ（各パワーデバイス）の通信処理では、マスタは、一定周期（以下、シリアル転送周期と記載する。）内に各パワーデバイスへの送信データを設定して送信する。マスタは、一定周期毎に送信データを送信する。
【０００５】
ＥＣＵから各パワーデバイスに対して送信される送信データは、全てのパワーデバイスに対して同一のデータとなり、ＥＣＵの特定の端子から出力される。さらにＥＣＵは、各パワーデバイスに対して２値（ハイレベル、ロウレベル）のいずれかとなるチップセレクト信号をそれぞれ送信する。チップセレクト信号は、ハイレベルとなった場合に送信データの取り込みを指示する信号である。各パワーデバイスに送信されるチップセレクト信号の波形（ハイレベルになるタイミング、ロウレベルになるタイミング）は、それぞれ異なる。各パワーデバイスは、ＥＣＵから送信された送信データからチップセレクト信号に従ってデータを読み出す。さらに送信データには、データ（タイマの出力値）の他にコマンドが挿入される。各パワーデバイスは、ＥＣＵからの送信データを解析し、送信データからコマンドを抽出してコマンド実行を行う。
【０００６】
ここでＥＣＵから送信される送信データ及びチップセレクト信号は、各シリアル転送周期において同一となる。すなわち、あるパワーデバイスに対するチップセレクト信号は、各シリアル転送周期において同一タイミングで立ち上がり（ハイレベルに遷移し）、同一タイミングで立ち下がる（ロウレベルに遷移する）。また、各シリアル転送周期において送信データの同一領域に一定サイズのコマンドが挿入される。
【０００７】
特許文献１には上述のＭＳＣ通信に関連し、上述のシリアル転送周期の長さを可変にする手法が開示されている。なお、特許文献２には、ＭＳＣ通信仕様に関連し、ＣＰＵ負荷を増大させることなくマイクロコントローラ間のデータ参照を実現する技術が開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】米国特許第８１１２５６３Ｂ２号明細書
【特許文献２】特開２００９−１６６７７９号公報
【非特許文献】
【０００９】
【非特許文献１】Infineon technologies, "Micro Second Channel (MSC) Interface Description", Data Sheet, V1.0, July 2003
【非特許文献２】Infineon technologies, "TC 1796, 32-Bit Single-Chip Microcontroller, User's Manual", V2.0, July 2007
【非特許文献３】Infineon technologies, "TC 1797, 32-Bit Single-Chip Microcontroller, User's Manual", V1.1, May 2009
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上述のように非特許文献１に記載の仕様に従った通信では、各シリアル転送周期は一定のデータ送信パターンを持つ固定的な周期となる。すなわち、各シリアル転送周期において各パワーデバイスに対して送信するチップセレクト信号の波形（ハイレベルになるタイミング、ロウレベルになるタイミング）が固定的となる。たとえば、パワーデバイス１へのチップセレクト信号は、各シリアル転送周期において、周期開始からｘ秒後に立ち上がり、ｘ＋ｙ秒後に立ち下がるという波形となる。同様にパワーデバイス２へのチップセレクト信号は、各シリアル転送周期において、周期開始からｘ＋ｙ秒後に立ち上がり、ｘ＋ｙ＋ｚ秒後に立ち下がるという波形となる。このように、シリアル転送周期におけるデータ送信パターンが一定であることによる生じる問題を以下に２つ例示する。
【００１１】
各シリアル転送周期におけるデータ送信パターンが一定である場合、各パワーデバイスのデータ受信の周期、すなわち各パワーデバイスの更新周期は一定となる。しかしながら、各パワーデバイスが必要とする更新レートはそれぞれ異なる。そのため、あるパワーデバイスでは、短い周期での更新が不要であるにもかかわらずデータが頻繁に更新され、パワーデバイスにおけるデータの破棄や上書き等の不要な処理が生じる恐れがある。
【００１２】
また、上述のように、各シリアル転送周期では、データ（タイマ出力値）送信とは別にコマンド送信も生じる。上述した非特許文献１の仕様では、コマンドを送信するためのパッシブ期間を各シリアル転送周期内に設ける必要がある。この場合、コマンドを必要としないシリアル転送周期にもパッシブ期間を設けるために、各パワーデバイスのデータ更新が遅くなってしまうという問題が生じる。
【００１３】
このように、マスタ（たとえば、ＥＣＵ）から各スレーブ（たとえば、パワーデバイス）へのデータ転送において、各シリアル転送周期のデータ送信パターンが固定的であるために、マスタと各スレーブでの効率的なデータ転送が行えないという問題が生じていた。
【００１４】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１５】
一実施の形態によれば、半導体装置は、複数のシリアル転送周期の各々について、複数のデバイスの内のデータ送信対象となる対象デバイス及び当該対象デバイスへの送信データ長を含むデータ送信パターンを記憶し、処理対象となるシリアル転送周期の前記データ送信パターンに基づいて前記複数のデバイスの各々に送信するチップセレクト信号を生成するとともに、前記複数のデバイスに送信する送信データを生成する。
【発明の効果】
【００１６】
前記一実施の形態によれば、マスタ（たとえば、ＥＣＵ）から各スレーブ（たとえば、パワーデバイス）での効率的なデータ転送を行うことができる半導体装置を提供することができる。
【図面の簡単な説明】
【００１７】
【図１】実施の形態１にかかる車載システム１０００の全体構成を示すブロック図である。
【図２】実施の形態１にかかるマイクロコントローラ１の構成を示すブロック図である。
【図３】実施の形態１にかかるＭＳＣコントローラ１０の構成を示すブロック図である。
【図４】実施の形態１にかかるレジスタ１２４の内部にある各テーブル構成を示す概念図である。
【図５Ａ】実施の形態１にかかるデータ生成回路１４０の動作を示す概念図である。
【図５Ｂ】実施の形態１にかかるデータ生成回路１４０の動作を示す概念図である。
【図６】実施の形態１にかかるマイクロコントローラ１の動作を示すタイミングチャートである。
【図７】実施の形態１にかかるマイクロコントローラ１の動作を示すタイミングチャートである。
【図８】実施の形態１にかかるマイクロコントローラ１の動作を示すタイミングチャートである。
【図９】実施の形態２にかかるＭＳＣコントローラ１０の構成を示すブロック図である。
【図１０】実施の形態３にかかるＭＳＣコントローラ１０の構成を示すブロック図である。
【図１１】実施の形態３にかかるデータ比較回路１６０の動作を示す概念図である。
【図１２】実施の形態４にかかるＣＳ（チップセレクト）生成回路１２０の構成を示すブロック図である。
【発明を実施するための形態】
【００１８】
＜実施の形態１＞
以下、図面を参照して本実施の形態にかかるマイクロコントローラ（半導体装置）およびその周辺構成について説明する。なお、各図面において、同一の要素には同一の符号が付されており、重複説明は適宜省略されている。図１は、本実施の形態にかかるマイクロコントローラおよび周辺回路を含む車載システムの構成を示すブロック図である。
【００１９】
車載システム１０００は、マイクロコントローラ（半導体装置）１と、複数のパワーデバイス（たとえば、噴射装置）を備える。以下の説明では、マイクロコントローラ１は、４つのパワーデバイス（パワーデバイス０〜パワーデバイス３）と接続しているものとする。
【００２０】
マイクロコントローラ１とパワーデバイス（パワーデバイス０〜パワーデバイス３）との通信経路には、ダウンストリームチャネルとアップストリームチャネルがある。ダウンストリームチャネルでは、データ線、クロック線、チップセレクト線が使用される。チップセレクト線は、パワーデバイス毎に設けられる。アップストリームチャネルでは、データ線が使用される。ＭＳＣ（Micro Second Channel）仕様に準拠した通信では、マイクロコントローラ１とパワーデバイス間においてシリアルデータの送受信が行われる。以下の説明では、ダウンストリームチャネルのデータ線及びチップセレクト線に着目して説明を行う。
【００２１】
図２は、マイクロコントローラ１の構成を示すブロック図である。マイクロコントローラ１は、ＭＳＣコントローラ１０、タイマユニット２０、及びクロスバスイッチ３０を備える。
【００２２】
タイマユニット２０は、複数のタイマ２００−１〜２００−ｎ（ｎは１以上の自然数であり、例えばｎ＝２５６）を有する。タイマ２００−１〜２００−ｎは、それぞれカウント処理を行い、そのカウント値をクロスバスイッチ３０に出力する。
【００２３】
クロスバスイッチ３０は、内部に図示しないサブクロスバーを有し、図示しないクロスバスイッチ用レジスタの設定に応じて、タイマ２００−１〜２００−ｎの出力値を一定のタイミングで取り出し、パラレルデータとしてＭＳＣコントローラ１０に出力する。クロスバスイッチ用レジスタには、タイマ２００−１〜２００−ｎの出力ビット値からＭＳＣコントローラ１０に送信するパラレルデータを、どのように生成するかを示す設定がなされている。たとえば、クロスバスイッチ用レジスタには、"タイマ２００−１の出力１ビット値、タイマ２００−４の出力１ビット値、タイマ２００−３の出力１ビット値、タイマ２００−１の出力１ビット値、…"の順序で整列された６４ビットのパラレルデータを出力するといった内容が設定される。クロスバスイッチ用レジスタは、車載システム１０００のユーザが適宜設定可能である。
【００２４】
以下の説明では、クロスバスイッチ３０がＭＳＣコントローラ１０に出力するパラレルデータが６４ビット幅であるものとする。
【００２５】
続いてＭＳＣコントローラ１０の構成について説明する。ＭＳＣコントローラ１０は、シリアル変換回路１１０、送信パターン設定回路（設定回路）１２０、ＣＳ（Chip Select）生成回路１３０、データ生成回路１４０、及びデータ送信回路１５０を備える。ＭＳＣコントローラ１０は、各パワーデバイス（パワーデバイス０〜パワーデバイス３）に供給するチップセレクト信号用の出力端子４０−１〜４０−４、及び各パワーデバイスに共通して供給する送信データ信号用の出力端子５０を備える。
【００２６】
図３を参照して、ＭＳＣコントローラ１０の構成をさらに詳細に説明する。シリアル変換回路１１０は、クロスバスイッチ３０から入力されたパラレルデータ（６４ビット）をシリアルデータに変換し、当該シリアルデータをデータバッファ１１１に格納する。データバッファ１１１は、１６ビット毎に分割され、各パワーデバイス専用のデータが各分割領域に格納される。
【００２７】
送信パターン設定回路１２０は、複数のシリアル転送周期（データ送信ピリオドと同義であり、以下の説明では単にピリオドとも記載する。）の各々のデータ送信パターンを規定する設定データを保持する。データ送信パターンとは、あるピリオドにおいて、どのパワーデバイスに対して、どの順序で、どの程度のデータ長のデータを送信するか、を定めたパターンである。データ送信パターンは、具体的には、後述するレジスタ１２４の設定により定まる。送信パターン設定回路１２０は、ピリオド数レジスタ１２１、ピリオドカウンタ１２２、ピリオドステートマシン管理部１２３、及びレジスタ（記憶部）１２４を備える。
【００２８】
ピリオド数レジスタ１２１は、設定対象となるピリオドの数を保持するレジスタである。たとえば、ピリオド数レジスタ１２１に２（１０進数）が設定された場合、第０ピリオドと第１ピリオドの送信処理が終了した後に第０ピリオドの送信処理が再び行われる。ピリオド数レジスタ１２１の値は、ユーザが設定することができる。同様に、ピリオド数レジスタ１２１に５（１０進数）が設定された場合、第０ピリオドから第４ピリオドの送信処理が終了した後に第０ピリオドの送信処理が再び行われる。
【００２９】
ピリオドカウンタ１２２は、各ピリオドの送信処理が終了する毎にカウントアップするカウンタである。本実施の形態では、各ピリオドの送信データ長を同一（６４ビット）とする。そのため、ピリオドカウンタ１２２は、当該データ長の送信が終了する時間毎にカウントアップを行う。ピリオドカウンタ１２２は、カウントアップ時にピリオドステートマシン管理部１２３にピリオド変更を通知する。
【００３０】
ピリオドステートマシン管理部１２３は、ピリオド数レジスタ１２１に設定されたピリオド数に応じて、どのピリオドを処理中であるかを示すステートマシンを管理する。ピリオド数が３である場合、当該ステートマシンは、"ピリオド０→ピリオド１→ピリオド２→ピリオド０―――"というように状態を遷移する。ピリオドステートマシン管理部１２３は、ピリオドが遷移する毎、対応するピリオドの情報（後述）を、レジスタ１２４から読み出して、ＣＳ生成回路１３０及びデータ生成回路１４０に出力する。
【００３１】
レジスタ１２４は、送信有効／無効テーブル１２４１、送信順序テーブル１２４２、及びデータ対応テーブル１２４３を備える。上述の、ピリオドの情報は、これらのテーブルに設定された情報である。図４を参照して各テーブルの構成について詳細に説明する。
【００３２】
送信有効／無効テーブル１２４１は、各ピリオドにおける各パワーデバイスへのデータ送信を有効化するか否かを示すビット（図中における"有効／無効設定"）、及び有効化する場合の送信データ長（図中における"有効ビット数"）が設定されるテーブルである。すなわち、送信有効／無効テーブル１２４１は、各ピリオドにおける送信対象となるパワーデバイスの情報、及び送信対象となるパワーデバイスに送信するデータ長を記憶している。送信有効／無効テーブル１２４１には、ピリオド数レジスタ１２１に設定されたピリオド数と同数のデータ列が設けられる。たとえば、ピリオド数レジスタ１２１に設定されたピリオド数が３である場合、送信有効／無効テーブル１２４１には３列（ピリオド０〜パワーデバイス２）のデータ列が設けられる。また図４において、ＣＳ０〜ＣＳ３の表記は、それぞれパワーデバイス０〜パワーデバイス３に対応する。
【００３３】
図４の例では、ピリオド０においてパワーデバイス０がデータ送信対象となること（有効／無効設定＝１）及びピリオド０においてパワーデバイス０に送信するデータ長が８ビットであること（有効ビット数＝８）が記述されている。同様にピリオド０においてパワーデバイス２がデータ送信対象とならないこと（有効／無効設定＝０）も記述されている。
【００３４】
送信順序テーブル１２４２は、各ピリオドにおける各パワーデバイスへのデータ送信順序（図中における"順序"）が設定される。送信順序テーブル１２４２にも、ピリオド数レジスタ１２１に設定されたピリオド数と同数のデータ列が設けられる。図示するように、各データ列は、各ピリオドと対応付けられる。たとえば、図４の例では、ピリオド０においてパワーデバイス１へのデータ送信を行い、その後にパワーデバイス０へのデータ送信を行うことが規定されている。
【００３５】
データ対応テーブル１２４３には、データバッファ１１１の各領域と、パワーデバイス０〜パワーデバイス３と、の対応関係（図中における"対応データ"）が設定される。上述のように本実施の形態では、データバッファ１１１は、１６ビットの領域を４つ持つ。以下の説明では、０ビット目から１５ビット目までの領域を第０の領域とし、以降の領域を第１の領域、第２の領域、第３の領域とする。図４の例では、ピリオド０において、データバッファ１１１の第０の領域がパワーデバイス２に対応し、第１の領域がパワーデバイス３に対応し、第２の領域がパワーデバイス１に対応し、第３の領域がパワーデバイス０に対応することが設定されている。
【００３６】
再び図３を参照する。送信パターン設定回路１２０は、上述のように、ピリオドが遷移する毎に、新たなピリオドに関するレジスタ１２４内の各情報（各パワーデバイスへのデータ送信有効／無効設定、送信データ長、送信順序、各パワーデバイスとデータバッファ１１１の対応関係）を、ＣＳ生成回路１３０及びデータ生成回路１４０に送信する。たとえば、送信パターン設定回路１２０は、ピリオド２に遷移した場合、ピリオド２に関する各情報をレジスタ１２４から読み出してＣＳ生成回路１３０及びデータ生成回路１４０に送信する。
【００３７】
ＣＳ生成回路１３０は、ＣＳカウンタブロック１３１、及びＣＳステートマシン管理部１３２を有する。ＣＳカウンタブロック１３１は、各パワーデバイス（パワーデバイス０〜パワーデバイス３）に対応するビットカウンタ（ＣＳ０有効ビットカウンタ１３１１、ＣＳ１有効ビットカウンタ１３１２、ＣＳ２有効ビットカウンタ１３１３、ＣＳ３有効ビットカウンタ１３１４）を有する。
【００３８】
ＣＳ０有効ビットカウンタ１３１１は、処理中のピリオドにおいてパワーデバイス０へのデータ送信を行う場合、その送信データのデータ長が設定される。たとえば、図に示すピリオド０の処理中の場合、ＣＳ０有効ビットカウンタ１３１１には、"８"が設定される。ＣＳ０有効ビットカウンタ１３１１には、処理中のピリオドが変更される毎に送信パターン設定回路１２０からビット長が送信される。
【００３９】
同様にＣＳ１有効ビットカウンタ１３１２は、処理中のピリオドにおけるパワーデバイス１へのデータ送信を行う場合にそのデータ長が設定される。ＣＳ２有効ビットカウンタ１３１３は、処理中のピリオドにおけるパワーデバイス２へのデータ送信を行う場合にそのデータ長が設定される。ＣＳ３有効ビットカウンタ１３１４は、処理中のピリオドにおけるパワーデバイス３へのデータ送信を行う場合にそのデータ長が設定される。
【００４０】
ＣＳステートマシン管理部１３２は、処理中のピリオドにおける送信対象のパワーデバイスの順序に関するステートマシンを管理する。たとえば、図４に示す送信順序テーブル１２４２が設定され、処理中のピリオドが"ピリオド０"である場合、ＣＳステートマシン管理部１３２には"ＣＳ１（パワーデバイス１）、ＣＳ０（パワーデバイス０）"というステート情報が入力される。
【００４１】
ＣＳステートマシン管理部１３２は、最初のパワーデバイスに対してチップセレクト信号の送信を指示する送信開始フラグ信号１３３を、ＣＳカウンタブロック１３１に送信する。ＣＳカウンタブロック１３１内の対応する有効ビットカウンタは、設定されたビット数だけハイレベルとなるチップセレクト信号を対応するパワーデバイスに送信する。ＣＳカウンタブロック１３１は、チップセレクト信号がロウレベルとなったタイミングで送信完了フラグ信号１３４をＣＳステートマシン管理部１３２に出力する。送信完了フラグ信号１３４を受信したＣＳステートマシン管理部１３２は、内部のステートを変更し（上述の例ではＣＳ１からＣＳ０に変更し）、次のパワーデバイスに対してチップセレクト信号の送信を指示する送信開始フラグ信号１３３を、カウンタブロック１３１に送信する。
【００４２】
以下、具体例を説明する。図４のテーブルが設定され、ピリオド０の処理中である場合、ＣＳステートマシン管理部１３２は、まずパワーデバイス１に対応するＣＳ１有効ビットカウンタ１３１２に８ビットのデータを設定する。そしてＣＳステートマシン管理部１３２は、パワーデバイス１へのチップセレクト信号の送信を指示する送信開始フラグ信号１３３を、ＣＳカウンタブロック１３１に送信する。ＣＳ有効ビットカウンタ１３１２は、送信開始フラグ信号１３３が入力されたタイミングから８ビットだけハイレベルとなるチップセレクト信号を、パワーデバイス１に送信する。ＣＳカウンタブロック１３１は、送信終了後に、ＣＳステートマシン管理部１３２に対して送信完了フラグ信号１３４を送信する。送信完了フラグ信号１３４を受信したＣＳステートマシン管理部１３２は、処理中のステートをパワーデバイス１からパワーデバイス０に変更し、パワーデバイス０に対応するＣＳ０有効ビットカウンタ１３１１に８ビットのデータを設定する。そしてＣＳステートマシン管理部１３２は、パワーデバイス０へのチップセレクト信号の送信を指示する送信開始フラグ信号１３３を、ＣＳカウンタブロック１３１に送信する。
【００４３】
なお、上述のＣＳ生成回路１３０のチップセレクト信号の生成手法はあくまでも一例であり、レジスタ１２４の設定に対応したチップセレクト信号を生成できる任意の手法を用いればよい。
【００４４】
データ生成回路１４０は、データバッファ１１１内のシリアルデータと、送信パターン設定回路１２０から送信される各情報と、をもとに全てのパワーデバイスに共通して送信する送信データを生成する。以下、図５を参照して、データ生成回路１４０の動作について説明する。
【００４５】
図５Ａは、送信パターン設定回路１２０からデータ生成回路１４０に入力されたあるピリオドの情報（各パワーデバイスへのデータ送信有効／無効設定、送信データ長、送信順序、各パワーデバイスとデータバッファ１１１の対応関係）である。図５Ｂは、データ生成回路１４０が図５Ａに示す各情報を用いて、送信データを生成する処理を示す概念図である。なお図５Ｂに示す処理は、あくまでも例示であり、処理の順序等は任意に変更することができる。以下、図５Ｂに示す処理手順について説明する。
【００４６】
データ生成回路１４０は、"各パワーデバイスとデータバッファ１１１との対応関係（たとえば、ＣＳ０の対応データ＝３）"（図５Ａ）を参照し、データバッファ１１１から取得した６４ビットのシリアルデータのどのビット列がどのパワーデバイスと対応するかを特定する(図５Ｂ（１）)。
【００４７】
データ生成回路１４０は、"各パワーデバイスへの有効ビット数（たとえば、ＣＳ０の有効ビット数＝１６）"（図５Ａ）を参照し、送信対象となるビット列を特定する（図５Ｂ（２））。
【００４８】
データ生成回路１４０は、送信対象となるビット列を特定した後に、"各パワーデバイスへの送信順序（たとえば、ＣＳ０の送信順序＝１"）（図５Ａ）を参照し、送信対象となるビット列を並び替える（図５Ｂ（３））。さらにデータ生成回路１４０は、送信データ６４ビットの内の空き領域をパッシブ領域とする。パッシブ領域に挿入するコマンドデータの情報は、図示しないレジスタ群に格納されている。当該レジスタ群は、主に２つのレジスタから構成される。第１のレジスタには、送信相手のパワーデバイスを特定する情報や送信開始フラグが設定されている。第２のレジスタには、送信するコマンドの内容が設定されている。データ生成回路１４０は、当該レジスタの設定に応じてパッシブ領域にデータを挿入する。
【００４９】
再び図３を参照する。データ送信回路１５０は、データバッファ１５１、ピリオド長レジスタ１５２、及びピリオド長カウンタ１５３を備える。
【００５０】
データバッファ１５１は、データ生成回路１４０が生成した送信データを格納するバッファである。データバッファ１５１に格納された送信データは、後述するピリオド長カウンタ１５３からタイムチック（time tick）信号１５４が入力された場合に、パワーデバイス０〜パワーデバイス３に送信される。
【００５１】
ピリオド長レジスタ１５２は、各ピリオドの長さ(送信データビット数+パッシブ領域)が設定されるレジスタである。当該レジスタは、ユーザによって設定される。なお本実施の形態においては、各ピリオドの長さは全て同じビット数である。上述のように各デバイスへの送信データビット数は、有効／無効テーブル１２４１の設定により可変である。そのため、ピリオド長レジスタ１５２に設定されたピリオド長から全ての送信対象パワーデバイスへの送信データを減算した値が、各ピリオドにおけるパッシブ領域となる。たとえば、各ピリオドの送信データのデータ長が６４ビットであり、あるピリオドにおいてパワーデバイス０〜パワーデバイス３に送信するデータの総ビット数が３２ビットである場合、当該ピリオドのパッシブ領域は３２ビットとなる。
【００５２】
ピリオド長カウンタ１５３は、データバッファ１５１からの送信ビット数をカウントする。ピリオド長カウンタ１５３は、ピリオド長レジスタ１５２に設定されたビット長の送信データを送信し終わった場合に、ハイレベルとなるタイムチック信号１５４をデータバッファ１５１（及びデータバッファ１５１からデータを読み出してシリアル転送する転送回路（図示せず））に出力する。なお図示しないが、タイムチック信号１５４は、クロスバスイッチ１０にも供給される。クロスバスイッチ１０は、タイムチック信号１５４の入力タイミングで前述のデータの取り込みを行う。
【００５３】
出力端子４０−１〜４０−４は、それぞれパワーデバイス０〜パワーデバイス３のチップセレクト信号入力端子と対応する出力端子である。出力端子５０は、パワーデバイスにシリアルデータである送信データ（データバッファ１５１に格納されたデータ）を送信するための端子である。出力端子５０から出力されるシリアルデータは、全てのパワーデバイス（パワーデバイス０〜パワーデバイス３）に供給される。
【００５４】
続いて、図６のタイミングチャートを参照して、本実施の形態にかかるマイクロコントローラ１の動作について説明する。図６は、タイマユニット２０及びＭＳＣコントローラ１０の各回路の出力信号を示すタイミングチャートである。
【００５５】
各タイマ１〜Ｎは、カウント処理を行い、タイマ出力をクロスバスイッチ３０に供給する。クロスバスイッチ３０は、タイムチック信号がハイレベルとなったタイミングで各タイマ１〜Ｎの出力値を取り込み、シリアル変換回路１１０に取り込んだ値を入力する。シリアル変換回路１１０は、入力された値をシリアルデータに変換し、データバッファ１１１に格納する。
【００５６】
タイムチック信号１５４が出力される毎に、処理対象のピリオドが更新される。データ生成回路１４０は、レジスタ１２４の設定値及びデータバッファ１１１の格納値をもとに送信データを生成する。そしてデータ生成回路１４０は、生成した送信データをデータバッファ１５１に格納する。
【００５７】
次に、図７及び図８を参照して、ＭＳＣコントローラ１０の動作について説明する。図７及び図８は、ＭＳＣコントローラ１０からの出力信号を示すタイミングチャートである。図７は、レジスタ１２４に２周期（２つのピリオド）についてデータ送信パターンを設定した際の出力信号を示すタイミングチャートである。図８は、５周期（５つのピリオド）について、データ送信パターンをレジスタ１２４に設定した際の出力信号を示すタイミングチャートである。なお、図中におけるＥＮ０〜ＥＮ３の表記は、パワーデバイス０〜パワーデバイス３のチップセレクト信号を示す。
【００５８】
図７に示すように、２周期分のデータ送信パターンを設定した場合、"ピリオド０、ピリオド１、ピリオド０、ピリオド１、―――"というように、交互にピリオドが繰り返される。ピリオド０では、図示するように、パワーデバイス０〜パワーデバイス３へのチップセレクト信号をハイレベルとして、パッシブ領域（コマンドを埋め込むデータ領域）を設けない。ピリオド１では、図示するように、パワーデバイス２及びパワーデバイス３に対するチップセレクト信号をロウレベルのままとして、パッシブ領域を設けている。
【００５９】
なおパワーデバイス０〜パワーデバイス３は、受信したチップセレクト信号がハイレベルの場合にデータを取り込む。さらにパワーデバイス０〜パワーデバイス３は、受信した受信データを解析し、コマンドにかかる情報（予約データ）があるか否かを判定し、コマンドに関するデータを抽出する。
【００６０】
次に図８を参照する。図７に示すように、５周期分のデータ送信パターンを設定した場合、"ピリオド０、ピリオド１、ピリオド２、ピリオド３、ピリオド４、ピリオド０、―――"というようにピリオドが遷移する。たとえば、データの更新頻度が高いことが要求されるパワーデバイス０に対して、ＭＳＣコントローラ１０は、ピリオド毎にチップセレクト信号をハイレベルにして送信データを送信する。またパワーデバイス０のチップセレクト信号とパワーデバイス３のチップセレクト信号を比較すると明らかなように、パワーデバイス毎に送信データ長を可変にしている。さらに図示するように、パッシブ領域が設けられるピリオドと設けられないピリオドを設定可能である。
【００６１】
続いて本実施の形態にかかるＭＳＣコントローラ１０の効果について説明する。上述したように、本実施の形態にかかるＭＳＣコントローラ１０は、どのパワーデバイスに対して、どの程度のデータ長のデータ（タイマ出力）を送信するかを規定したデータ送信パターンを、シリアル転送周期（各ピリオド）毎にレジスタ１２４に設定する。そして当該レジスタ１２４の設定に応じて、ＭＳＣコントローラ１０は、送信データ及びチップセレクト信号を送信する。これにより、データの更新頻度の高いデバイスに対して、頻繁にデータを送信することができ、データの更新頻度の低いデバイスに対して、当該頻度に応じたデータ送信をすることができる。すなわち、各デバイスの用途や性質に応じたデータ送信を実現することができる。
【００６２】
またレジスタ１２４には、あるピリオドについてパッシブ領域を設けない設定を行うことも可能である。これにより、ＭＳＣコントローラ１０は、所定のタイミング（所定のピリオド）でのみコマンドを送信することができる。換言すると、ＭＳＣコントローラ１０は、パッシブ領域を設けないピリオドを設けることにより、データ更新周期を速めることができる。
【００６３】
さらに各ピリオドにおける各パワーデバイスへの送信データ長も送信有効／無効テーブル１２４１に設定することができる。これにより、各デバイスに対し、必要なデータ長のデータのみを、一度の処理で送信すると共に、不要な空き領域をなくし、パッシブ領域を確保することが可能となる。
【００６４】
さらにまた、送信順序テーブル１２４２において各ピリオドにおけるデータ送信の順序を設定することができる。データ生成回路１４０は、当該設定に応じてデータバッファ１１１内のシリアルデータを整列して送信データを生成する。これにより、デバイスの制御順序等を柔軟に変更することが可能となる。
【００６５】
なお、上述の説明ではデータ対応テーブル１２４３を設ける構成としたが、データ生成回路１４０に当該データ対応テーブル１２４３相当の情報を入力する構成とすることや、データ生成回路１４０がデータ対応テーブル１２４３を持つ構成としてもよい。さらに、各ピリオドにおいて送信順序を変更しない場合には、送信順序テーブル１２４２がレジスタ１２４内に存在しない構成としてもよい。
【００６６】
＜実施の形態２＞
実施の形態２にかかるＭＳＣコントローラ１０は、送信データ用のバッファを複数有することを特徴とする。以下、本実施の形態にかかるＭＳＣコントローラ１０について実施の形態１と異なる点を説明する。
【００６７】
実施の形態２にかかるマイクロコントローラ１は、ＭＳＣコントローラ１０内の構成のみが実施の形態１と異なる。以下、図９を参照して本実施の形態にかかるＭＳＣコントローラ１０について説明する。
【００６８】
図９は、本実施の形態にかかるＭＳＣコントローラ１０の構成を示すブロック図である。当該ＭＳＣコントローラ１０の構成は、データ送信回路２５０内の構成のみが図３の構成と異なる。なお図９では、図面の明確化のため、ＣＳ生成回路１３０内の構成を一部省略して記載しているが、その内部構成は図３と同様である。
【００６９】
データ送信回路２５０におけるピリオド長レジスタ２５２、ピリオド長カウンタ２５３、タイムチック信号２５４は同名称を持つ図３の各処理部や信号と同一である。データ送信回路２５０は、複数のデータバッファ２５１−１〜２５１−Ｍ（Ｍは２以上の整数）を有する。データバッファ２５１−１〜２５１−Ｍは、送信データよりも大きなデータサイズを有する。たとえば、送信データが上述のように６４ビットである場合、データバッファ２５１−１〜２５１−Ｍは、６４ビット（またはそれ以上）のデータサイズを格納できるバッファである。データバッファ２５１−１〜２５１−Ｍは、順番に使用され、全てのデータバッファを使用した場合には最初に使用したデータバッファが再度使用される。
【００７０】
さらに本実施の形態にかかるＭＳＣコントローラ１０は、図示するように、入力端子６０からバッファ制御信号２５５が入力される構成であってもよい。バッファ制御信号２５５とは、データバッファ２５１−１〜２５１−Ｍのデータ上書きを許可／禁止するための信号である。たとえば、当該バッファ制御信号２５５は、パワーデバイス内での処理中にエラーが発生した場合に当該パワーデバイスから入力される。データ上書きの禁止を示すバッファ制御信号２５５が入力された場合、データバッファ２５１−１〜２５１−Ｍの保持するデータは書き換えが生じなくなる。すなわち、データ送信回路２５０は、バッファ制御信号１５５に応じて、データ送信及びデータバッファ２５１−１〜２５１−Ｍの書き換え制御を行う。
【００７１】
続いて本実施の形態にかかるＭＳＣコントローラ１０の効果について説明する。本実施の形態にかかるＭＳＣコントローラ１０は、上述のようにデータ送信回路２５０内にデータバッファ２５１−１〜２５１−Ｍを有し、データバッファ２５１−１〜２５１−Ｍを順番に使用していく。これにより、各データバッファ２５１−１〜２５１−Ｍが更新されるまでに一定の時間を要すことになる。これにより、外部からＭＳＣコントローラ１０が送信した送信データの履歴を把握することができるようになる。送信データの履歴を把握できるために、エラー発生時の原因追及等を容易に行うことができる。
【００７２】
さらにバッファ制御信号２５５によって、明示的にデータバッファ２５１−１〜２５１−Ｍのデータ上書きを停止することができる。当該構成により、たとえば、データバッファ２５１−１〜２５１−Ｍの状態を、エラー発生時のまま維持することができる。これにより、エラー発生の原因追及をさらに容易に行うことができる。
【００７３】
なお、データバッファ２５１を複数設ける構成ではなく、データバッファ２５１に格納された送信データと同じ送信データが書き込まれる複数のレジスタを有する構成とすることも可能である。当該複数のレジスタは、順番に送信データが書き込まれていく。この構成であっても、エラー発生の原因追及を容易に行うことが可能となる。
【００７４】
上述の説明ではバッファ制御信号２５５は、マイクロコントローラ１の外部からマイクロコントローラ１に入力されるものとしたが、必ずしもこれに限られない。すなわち、マイクロコントローラ１内部の任意の回路がバッファ制御信号２５５を出力する構成としてもよい。
【００７５】
＜実施の形態３＞
本実施の形態にかかるＭＳＣコントローラ１０は、データ送信回路１５０内に格納された送信データが正常であるかを検査することを特徴とする。本実施の形態にかかるＭＳＣコントローラ１０について、実施の形態１と異なる点を以下に説明する。
【００７６】
図１０は、本実施の形態にかかるＭＳＣコントローラ１０の構成を示すブロック図である。なお、図１０において送信パターン設定回路１２０、ＣＳ生成回路１３０、データ送信回路１５０の構成は図３の構成と同様であるため、簡略記載としている。
【００７７】
本実施の形態にかかるＭＳＣコントローラ１０は、図３の構成に加えてデータ比較回路１６０を更に有する。データ比較回路１６０には、シリアル変換回路１１０から処理中のピリオドにかかるシリアルデータ（バッファ１１１に格納されていたシリアルデータ）が供給される。データ比較回路１６０には、処理中のピリオドにおける各情報（各パワーデバイスへのデータ送信有効／無効設定、送信データ長、送信順序、各パワーデバイスとデータバッファ１１１の対応関係）が、送信パターン設定回路１２０から入力される。さらにデータ比較回路１６０には、データ送信回路１５０から送信前の送信データ（データバッファ１５１に格納された送信データ）が入力される。
【００７８】
図１１を参照して、データ比較回路１６０の動作について説明する。図１１は、データ送信回路１６０に入力される各情報（各パワーデバイスへのデータ送信有効／無効設定、送信データ長、送信順序、各パワーデバイスとデータバッファ１１１の対応関係）、送信データ、及びシリアルデータを示す図である。
【００７９】
データ比較回路１６０は、送信データから各パワーデバイスに対応するビット列を特定する。たとえば、図１１の例では、データ比較回路１６０は、パワーデバイス１に送信するデータが、送信データの先頭から８ビットのビット列であることを特定する。このビット列が比較対象（比較対象ビット列１とする。）となる。またデータ比較回路１６０は、データバッファ１１１から得たシリアルデータから当該ビット列と対応するビット列を特定する。図１１の例では、データ比較回路１６０は、"対応データ＝２"という情報から、パワーデバイス１の対応データが、シリアルデータの３２ビット目からの１６ビットであることを特定し、当該１６ビットの内の先頭８ビットを抽出する。このビット列が比較対象（比較対象ビット列２とする。）となる。そしてデータ比較回路１６０は、比較対象ビット列１と比較対象ビット列２を比較し、両ビット列が一致しているか否かを判定する。
【００８０】
データ比較回路１６０は、この一致判定を"有効／無効設定＝１"と設定されている全てのパワーデバイスについて行う。図１１の例では、データ比較回路１６０は、パワーデバイス０、パワーデバイス１、パワーデバイス２について、この一致判定を行う。データ比較回路１６０は、全ての一致判定について問題がない（全ての比較において一致が確認できた）場合には送信制御信号１６１をハイレベル（送信を許可する値）にしてデータ送信回路１５０に供給する。
【００８１】
一方、データ比較回路１６０は、ある一致判定についてビット列が一致しなかった場合、送信制御信号１６１をロウレベル（送信を禁止する値）にしてデータ送信回路１５０に供給する。データ比較回路１６０は、ビット列が一致しなかった場合、エラー割り込み信号１６２をＭＳＣコントローラ１０の外部の任意回路に対して出力端子７０を介して送信してもよい。
【００８２】
データ送信回路１５０は、送信制御信号１６１がハイレベルの場合にのみ各パワーデバイスへのデータ送信を行う。
【００８３】
続いて本実施の形態にかかるＭＳＣコントローラ１０の効果について説明する。上述のように本実施の形態にかかるＭＳＣコントローラ１０は、送信データの正常性を判定するデータ比較回路１６０を有する。ＭＳＣコントローラ１０内では、データ生成回路１４０の処理においてエラーが起きる可能性やシリアル変換回路１１０からデータ送信回路１５０までの経路においてソフトエラーが生じる可能性がある。パワーデバイスに送信する送信データにエラーがある場合、パワーデバイスの誤動作を引き起こす危険性がある。本実施の形態では、データ比較回路１６０が送信データの正常性を判定し、正常な場合にのみデータ送信を行う。そのため、上述のパワーデバイスの誤動作の危険性を回避することができる。
【００８４】
またデータ比較回路１６０は、エラーが生じた場合に、外部の任意の処理部に対してエラー割り込み信号１６２を送信する。これにより、ＭＳＣコントローラ１０の外部からエラー制御を行うことが可能となる。なおデータ比較回路１６０は、ＭＳＣコントローラ１０内部の図示しない任意の回路に対してエラー割り込み信号１６２を供給する構成としてもよい。
【００８５】
＜実施の形態４＞
本実施の形態にかかるＭＳＣコントローラ１０は、各ピリオドについて複数のレジスタ１２４の設定を有することを特徴とする。本実施の形態にかかるＭＳＣコントローラ１０について実施の形態１と異なる点を以下に説明する。
【００８６】
本実施の形態にかかるＭＳＣコントローラ１０は、実施の形態１と送信パターン設定回路１２０の構成のみが異なる。そこで図１２を参照して、本実施の形態にかかる送信パターン設定回路１２０の構成を説明する。
【００８７】
送信パターン設定回路１２０は、レジスタ１２４の内部に送信有効／無効テーブル１２４１−１〜１２４１−Ｐ（Ｐは２以上の整数）、送信順序テーブル１２４２−１〜１２４２−Ｐ（Ｐは２以上の整数）、及びデータ対応テーブル１２４３を有する。また送信パターン設定回路１２０には、モード信号１２５が供給される。
【００８８】
送信有効／無効テーブル１２４１−１〜１２４１−Ｐの内部構成は、図４に示す構成と同様であるが、各テーブルに設定されている設定値はそれぞれ異なる。たとえば、送信有効／無効テーブル１２４１−１に設定された値と送信有効／無効テーブル１２４１−２に設定された値は異なる。同様に送信順序テーブル１２４２−１〜１２４２−Ｐの構成は図４に示す構成と同様であるが、各テーブルに設定されている設定値はそれぞれ異なる。
【００８９】
モード信号１２５は、使用する送信有効／無効テーブル及び送信順序テーブルを指定する信号である。モード信号１２５は、ＭＳＣコントローラ１０外の制御回路の出力信号であってもよく、ＭＳＣコントローラ１０と接続するパワーデバイスの出力信号であってもよい。またモード信号１２５は、ＭＳＣコントローラ１０内の任意の回路の出力信号であってもよい。
【００９０】
ピリオドステートマシン管理部１２３は、モード信号１２５の指定する送信有効／無効テーブル及び送信順序テーブルから値を読み出し、ＣＳ生成回路１３０及びデータ生成回路１４０に読み出した値を送信する。
【００９１】
続いて、本実施の形態にかかるＭＳＣコントローラ１０の効果について説明する。本実施の形態にかかるＭＳＣコントローラ１０は、複数の送信有効／無効テーブル、複数の送信順序テーブルを有し、モード信号１２５に応じて使用するテーブルを切り替えている。これにより、ＭＳＣコントローラ１０を搭載する車載システム１０００の状態変化（たとえば、車両の運転状態（ドライブ、アイドリング等）の変化）に応じて、パワーデバイスに対する制御を切り替えることができる。この制御切り替えを行うことにより、柔軟かつ正確なパワーデバイスの制御を実現することができる。
【００９２】
また、例えば、モード信号１２５がエラー制御回路等から入力されることにより、車載システム１０００の状態が不安定な場合には、安全性の高いモードに対応したテーブルを使用することも可能となる。これにより、車載システム１０００の安全性をより高めることが可能となる。モード信号１２５がパワーデバイスから入力される場合、パワーデバイスの状態に応じたテーブルを使用することができる。
【００９３】
なお上述の説明では、レジスタ１２４内の送信有効／無効テーブルの数と送信順序テーブルの数が同数であるものとして説明したが、必ずしもこれに限られず、異なる数のテーブルが備えられていてもよい。たとえば、送信有効／無効テーブル１２４１−１及び１２４１−２と、送信順序テーブル１２４２−１と、を対応付けてもよい。また、送信順序テーブル１２４２が１つのみの構成とすることも可能である。また、あるピリオドについてのみ２つ以上のテーブルを有する構成であってもよい。たとえば、２周期（ピリオド０、ピリオド１）が設定されている場合において、ピリオド０のみ２種類のデータ転送パターンを有する構成であってもよい。この場合、モード信号１２５は、ピリオド０についてのテーブル選択を示す信号となる。
【００９４】
＜その他の実施の形態＞
以下、マイクロコントローラ１の他の実施の形態について説明する。上述の説明では、送信有効／無効テーブル１２４１に各パワーデバイスへのデータ送信の有効／無効、及び各パワーデバイスへのデータ長を設定したが、パッシブ領域の有効／無効、及びパッシブ領域のデータ長も明示的に設定してもよい。すなわち、上述の構成（実施の形態１〜４）では、送信データの空き領域をパッシブ領域としていたが、明示的にパッシブ領域のデータ長を設定してもよい。
【００９５】
パッシブ領域のデータ長を明示的に定める場合、各ピリオドにおける送信データのデータ長を可変にしてもよい。上述の実施の形態では、各ピリオドの送信データのデータ長は固定長（たとえば、６４ビット）であった。しかしながら、パッシブ領域のデータ長を明示的に設定し、各ピリオドの送信データのデータ長を可変長にしてもよい。たとえば、ピリオド０の送信データのデータ長を６０ビットとし、ピリオド１の送信データのデータ長を７０ビットとしてもよい。この場合には、ピリオドカウンタ１２２やピリオド長カウンタ１５３は、送信有効／無効テーブル１２４１の設定値を参照してカウント処理を行う。
【００９６】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において、種々の変更が可能であることはいうまでもない。たとえば、ＭＳＣコントローラ１０は、任意の数のパワーデバイスと接続することが可能である。
【００９７】
また上述の説明では、マイクロコントローラ１は、車載システム１０００に搭載されているものとして説明したが、必ずしもこれに限られない。たとえば、マイクロコントローラ１は、通信機器、計算機器、音響機器等に搭載されていてもよい。
【００９８】
上述のＭＳＣコントローラ１０内の各回路（シリアル変換回路１１０、送信パターン設定回路１２０、ＣＳ生成回路１３０、データ生成回路１４０、データ送信回路１６０、データ比較回路１７０）の各処理は、任意のコンピュータＣＰＵ（Central Processing Unit）にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（random access memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００９９】
また、コンピュータが上述の実施の形態の機能を実現するプログラムを実行することにより、上述の実施の形態の機能が実現される場合だけでなく、このプログラムが、コンピュータ上で稼動しているＯＳ（Operating System）もしくはアプリケーションソフトウェアと協働して、上述の実施の形態の機能を実現する場合も、本発明の実施の形態に含まれる。さらに、このプログラムの処理の全てもしくは一部がコンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットによって行われて、上述の実施の形態の機能が実現される場合も、本発明の実施の形態に含まれる。
【符号の説明】
【０１００】
１  マイクロコントローラ
１０  ＭＳＣコントローラ
１１０  シリアル変換回路
１１１  データバッファ
１２０  送信パターン設定回路
１２１  ピリオド数レジスタ
１２２  ピリオドカウンタ
１２３  ピリオドステートマシン
１２４  レジスタ（記憶部）
１２４１  送信有効／無効テーブル
１２４１−１〜１２４１−Ｐ  送信有効／無効テーブル
１２４２  送信順序テーブル
１２４２−１〜１２４２−Ｐ  送信順序テーブル
１２４３  データ対応テーブル
１２５  モード信号
１３０  ＣＳ生成回路
１３１  ＣＳカウンタブロック
１３１１  ＣＳ０有効ビットカウンタ
１３１２  ＣＳ１有効ビットカウンタ
１３１３  ＣＳ２有効ビットカウンタ
１３１４  ＣＳ３有効ビットカウンタ
１３２  ＣＳステートマシン管理部
１３３  送信開始フラグ信号
１３４  送信完了フラグ信号
１４０  データ生成回路
１５０  データ送信回路
１５１  データバッファ
１５２  ピリオド長レジスタ
１５３  ピリオド長カウンタ
１５４  タイムチック信号
１５５  バッファ制御信号
１６０  データ比較回路
１６１  送信制御信号
１６２  エラー割り込み信号
２０  タイマユニット
２００−１〜２００−ｎ  タイマ
２５０  データ送信回路
２５１−１〜２５１−Ｍ  データバッファ
２５２  ピリオド長レジスタ
２５３  ピリオド長カウンタ
２５４  タイムチック信号
２５５  バッファ制御信号
３０  クロスバスイッチ
４０−１〜４０−４  出力端子
５０  出力端子
６０  入力端子
７０  出力端子
１０００  車載システム
【図１】
2014078816.tif 000003
【図２】
2014078816.tif 000004
【図３】
2014078816.tif 000005
【図４】
2014078816.tif 000006
【図５Ａ】
2014078816.tif 000007
【図５Ｂ】
2014078816.tif 000008
【図６】
2014078816.tif 000009
【図７】
2014078816.tif 000010
【図８】
2014078816.tif 000011
【図９】
2014078816.tif 000012
【図１０】
2014078816.tif 000013
【図１１】
2014078816.tif 000014
【図１２】
2014078816.tif 000015