マスターデバイスと、複数個のスレーブデバイスと、前記マスターデバイスと複数個の前記スレーブデバイス間とを接続しデータ転送の同期用クロック信号を伝送する同期クロック信号バスと、前記同期クロック信号線に同期して前記マスターデバイスが前記スレーブデバイスへデータを送信するデータ送信バスと又は前記同期クロック信号線に同期して前記マスターデバイスが前記スレーブデバイスからデータを受信するデータ受信バスとの少なくともいずれか一方と、前記マスターデバイスと前記スレーブデバイスとの間を一対一に接続して通信実行を通知するチップセレクト線と、を有し、シリアル通信を行うデータ通信装置において、前記マスターデバイスは、前記スレーブデバイス毎に対応させて通信プロトコル設定値を保持する通信プロトコル記憶手段と、該通信プロトコル記憶手段に記憶されている通信プロトコルを呼び出してコントロールレジスタへ格納し、前記スレーブデバイスへのシリアル通信を実行する通信制御手段とに備える車両用制御装置。前記シリアル通信を制御するシリアル通信ドライバは、前記同期クロック信号バスにより通信する同期用クロック信号を、前記マスターデバイスがアサートする前記チップセレクト線に応じてクロックの周波数を変更することを特徴とする請求項1に記載の車両用制御装置。前記シリアル通信を制御するシリアル通信ドライバは、前記同期クロック信号バスにより通信する同期クロック信号を、前記マスターデバイスがアサートする前記チップセレクト線に応じてクロック論理を変更することを特徴とした請求項1に記載の車両用制御装置。前記シリアル通信を制御するシリアル通信ドライバは、前記データ送信バス上の送信データ又は前記データ受信バス上の受信データの少なくとも一方を、前記マスターデバイスがアサートする前記チップセレクト線に応じて、前記同期クロック信号とのクロック同期位相を変更することを特徴とする請求項1に記載の車両用制御装置。前記マスターデバイスは、前記スレーブデバイス毎に少なくとも転送速度とクロック論理とクロック位相と送信データサイズと転送前遅延時間と転送後遅延時間とのうちから選択される少なくともいずれか1つの設定値を保持する通信プロトコル記憶手段と、該通信プロトコル記憶手段に記憶されている通信プロトコルを呼び出して前記スレーブデバイスへのシリアル通信を実行する通信制御手段と、を備えることを特徴とする請求項1に記載の車両用制御装置。前記マスターデバイスは、前記データ通信バスの通信プロトコルを設定する通信制御レジスタを1つのみ有するシリアル通信モジュールを有するマイクロコンピュータであることを特徴とする請求項1に記載の車両用制御装置。前記データ通信装置は、CPUを介さずにデータ転送を行うダイレクトメモリアクセスコントローラ以下、DMACと称する。を有し、前記DMACが、前記通信プロトコル記憶手段を読み出した通信プロトコルを前記通信制御レジスタにセットする制御を行うことを特徴とする請求項6に記載の車両用制御装置。請求項6に記載の前記マスターデバイスであって、データ通信バスの通信プロトコルを設定する通信制御レジスタを1つのみ有するシリアル通信モジュールを有するマイクロコンピュータに、前記スレーブデバイス毎に少なくとも転送速度とクロック論理とクロック位相と送信データサイズと転送前遅延時間と転送後遅延時間とのうちから選択される少なくともいずれか1つの設定値を保持する通信プロトコル記憶ステップと、該通信プロトコルステップにおいて記憶されている通信プロトコルを呼び出して前記スレーブデバイスへのシリアル通信を実行するステップと、を実行させるためのプログラム。センサによって計測した入力信号又は他の組込みコントローラから受信した入力信号のいずれかの入力信号をデータ化する外部入力処理手段と、前記入力信号に基づいて制御データを演算する制御演算手段と、前記制御データに基づいてアクチュエータを駆動する制御信号を生成する外部出力処理手段と、を有する組込みコントローラであって、前記制御演算手段と、少なくとも前記外部入力処理手段と前記外部出力処理手段と他の前記制御演算手段とのいずれか1つとの通信を行う、請求項1に記載の車両用制御装置を有することを特徴とする組み込みコントローラ。センサによって計測した運転者の指令と車両の状態または他の車両制御コントローラから受信した入力信号のいずれかの入力信号をデータ化する外部入力処理手段と、前記入力信号に基づいて制御データを演算する制御演算手段と、前記制御データに基づいて車両を制御する制御信号を生成する外部出力処理手段とを有する車両制御コントローラであって、前記制御演算手段と、少なくとも前記外部入力処理手段と前記外部出力処理手段と他の前記制御演算手段とのいずれか1つとの通信を行う、請求項1に記載の車両用制御装置を有することを特徴とする車両制御コントローラ。前記複数個のスレーブデバイス毎のそれぞれのスレーブデバイスに対応させて物理プロトコルを設定する通信ドライバと、前記マスターデバイスと前記スレーブデバイスとの間のシリアル通信を調停する通信マネージャと、を有するシリアル通信ドライバによりシリアル通信を制御することを特徴とする請求項1に記載の車両用制御装置。シリアル通信ドライバにより、複数個の前記スレーブデバイスのうちの少なくとも2つのスレーブデバイスが、共通のバスライン上において異なる物理プロトコルに基づいて動作するように制御することを特徴とする請求項1に記載の車両用制御装置。例えば、組込みコントローラの一種として、自動車に搭載されてエンジン、スロットル、変速機、ブレーキ、ステアリングやバッテリを制御する車両制御コントローラがある。近年、低燃費化低排出ガス化などを目的として、車両制御コントローラの制御機能の高度化が要求されている。きめ細かい制御を実現するために、組込みコントローラ内部には複数のマイコンやセンサアクチュエータの信号処理を行うICが搭載され、計測結果や出力値のデータはSPI通信バスによるデータ通信を用いてやり取りする方法が用いられている。上記特許文献1に記載のデータ通信装置では、物理的な通信手段に対応して通信プロトコルを設定しているそのため、例えば一対多通信を行う通信バスを用いた通信では、通信バスに接続された全てのデバイスの通信プロトコルを共通化しなければならないという問題がある。一般に、マイコンは高速な転送速度で動作させることができるが、ICによっては比較的な転送速度しか扱えない場合がある。そのため、マイコンとICとを同一SPI通信バス上に混在させた場合には、全てのデバイスの転送速度を最も低速なデバイスの転送速度によって共通化しなければならない。高速な転送速度を扱えるマイコンを用いても、低速な転送速度により制限されるため、通信時間を余分に要し、通信性能が悪化してしまうという問題があった。本発明は、同一のSPI通信バス上において複数の通信プロトコルを混在させ、それぞれにおいて適正な通信を行うことができるデータ通信装置を提供することを目的とする。本発明は、シリアル通信のドライバとして、デバイス毎の通信ドライバを設けることにより、デバイス毎の物理プロトコルを設定し、シリアル通信のバスを調停する通信マネージャを設けることを特徴とする。本発明の一観点によれば、マスターデバイスと、複数個のスレーブデバイスと、前記マスターデバイスと複数個の前記スレーブデバイス間とを接続しデータ転送の同期用クロック信号を伝送する同期クロック信号バスと、前記同期クロック信号線に同期して前記マスターデバイスが前記スレーブデバイスへデータを送信するデータ送信バスと又は前記同期クロック信号線に同期して前記マスターデバイスが前記スレーブデバイスからデータを受信するデータ受信バスとの少なくともいずれか一方と、前記マスターデバイスと前記スレーブデバイスとの間を一対一に接続して通信実行を通知するチップセレクト線と、を有し、シリアル通信を行うデータ通信装置において、前記スレーブデバイス毎の物理プロトコルを設定するデバイス通信ドライバ及び前記マスターデバイスと前記スレーブデバイスとの間のシリアル通信を調停する通信マネージャを有するシリアル通信ドライバと、を有するデータ通信装置が提供される。シリアル通信ドライバは、例えば以下のような特徴を有しているのが好ましい。1前記シリアル通信ドライバは、前記同期クロック信号バス上の同期用クロック信号に基づいて、前記マスターデバイスがアサートする前記チップセレクト線に応じてクロックの周波数を変更することを特徴とする。2前記シリアル通信ドライバは、前記同期クロック信号バスにより通信する同期クロック信号を、前記マスターデバイスがアサートする前記チップセレクト線に応じてクロック論理を変更することを特徴とする。3前記シリアル通信ドライバは、前記データ送信バス上の送信データ又は前記データ受信バス上の受信データの少なくとも一方を、前記マスターデバイスがアサートする前記チップセレクト線に応じて、前記同期クロック信号とのクロック同期位相を変更することを特徴とする。尚、前記スレーブデバイス毎の物理プロトコルを設定するデバイス通信ドライバ及び前記マスターデバイスと前記スレーブデバイスとの間のシリアル通信を調停する通信マネージャを有するシリアル通信ドライバは、例えばROM内に格納されているプログラムにより実行されるのが一般的である。また、シリアル通信ドライバが、デバイス通信ドライバと通信マネージャという形で明確に区別できない場合も、例えば上記1~3までの記載されるような通信が行われる場合には、本発明の範疇に入るものであり、名称等により限定されるものではない。上記の手段を用いることで、異なるプロトコルを持つデバイスでも、同じ通信バス上で使用が可能となる。また、それぞれのデバイスの最大転送効率プロトコルによりシリアル通信を行うことができ、全体として高速化が可能となる。本発明の実施の形態について説明する前に、まず、本発明に係るデータ通信装置の概略について説明する。図1aは、本発明に係るデータ通信装置の基本的な構成例を示す図である。図1aに示すように、本発明に係るデータ通信装置50は、マスターデバイス51と、複数のスレーブデバイス67、71、75と、マスターデバイス51と複数個のスレーブデバイス67、71、75との間を接続し、同期クロック信号に同期してマスターデバイス51がスレーブデバイス67、71、75へデータを送信するデータ送信バス又は同期クロック信号に同期してマスターデバイス51がスレーブデバイス67、71、75からデータを受信するデータ受信バスとの少なくともいずれか一方と、マスターデバイス51とスレーブデバイス67、71、75との間を一対一に接続して通信実行を通知するチップセレクト線と、を有し、SPIシリアル通信を行うデータ通信装置である。さらに、データ通信装置には、スレーブデバイス67、71、75毎の物理プロトコルを設定する通信ドライバ561a、61b、61cと、マスターデバイス51とスレーブデバイス67、71、75との間のシリアル通信を調停する通信マネージャ61eを有する。通信マネージャ61eにより調停されたシリアル通信が通信インタフェース65を介して、それぞれのスレーブデバイス67、71、75に対して適正な物理プロトコルに基づく通信を行う。以下、上記原理に基づく本発明の各実施の形態によるデータ通信装置について図面を参照しつつ説明を行う。尚、以下の実施の形態においては、データ通信装置を有する組込みコントローラの一例として、車両用電子制御ユニットECUを例に挙げて説明を行う。図1bは、本発明の第1の実施の形態によるデータ通信装置の構成例を示す図である。図1bに示すように、本実施の形態によるデータ通信装置は、メインマイコン1マスターデバイスに対応すると、サブマイコン2Aと、入出力制御用ドライバIC2Bとを有している。サブマイコン2A、入出力制御用ドライバIC2Bは、スレーブデバイスに対応する。上記構成において、チップセレクト線3Aは、メインマイコン1により制御され、メインマイコン1からサブマイコン2Aへの通信実行を通知する。チップセレクト線3Bは、メインマイコン1により制御され、メインマイコン1から入出力制御ドライバIC2Bへの通信実行を通知する。クロック信号バス4同期クロック信号バスに対応する。は、メインマイコン1により制御され、クロック信号バス4には、メインデバイスからサブデバイスへの通信の際にデータ転送の同期を取るためのクロック信号が出力される。データ送信線5は、メインマイコン1により制御され、データ送信線5には、クロック信号線4により通信されるクロック信号に同期して、メインマイコン1からサブマイコン2A又はドライバIC2Bへの送信データが出力される。データ受信線6は、サブマイコン2A又はドライバIC2Bにより制御される。データ受信線6には、クロック信号に同期してスレーブデバイスからマスターデバイスへの送信データが出力される。図2aは、本実施の形態によるデータ通信装置の第1の動作例であって、チップセレクト信号線3A、3B、クロック信号線4、データ送信線5、データ受信線6の出力例を示す図である。図2aにおける横軸は時間であり、縦軸は、それぞれの信号の電圧を示す。図2aにおいては、チップセレクト信号線3A、3Bは、電圧のHigh状態がネゲート、Low状態がアサートである。同期用クロック信号4は、High状態がネガティブ、Low状態がアクティブである。図2aに示すように、第1の動作例では、区間T1においては、図1bに示すメインマイコン1がチップセレクト信号線3Aをアサートし、メインマイコン1とサブマイコン2AとのSPI通信が実行される状態になっている。メインマイコン1は、クロック信号線4を制御し、通信するデータのビット数分だけ例えば8[bit]分、サブマイコンとの通信に適したボーレート例えば2[MHz]でクロック信号を出力する。メインマイコン1は、クロック信号に同期してサブマイコン2への送信データ51を出力する。サブマイコン2は、クロック信号に同期して、メインマイコン1が受信する受信データ61を出力する。クロック信号の出力が終了した後、メインマイコン1がチップセレクト信号線3Aをネゲートし、メインマイコン1とサブマイコン2AとのSPI通信が終了する。区間T2においては、メインマイコン1がチップセレクト信号線3Bをアサートし、メインマイコン1と入出力制御ドライバIC2BとのSPI通信が実行される状態になっている。メインマイコン1はクロック信号線4を制御して、通信するデータのビット数分だけ例えば8[bit]分、入出力制御ドライバIC2Bとの通信に適したボーレート例えば1[MHz]でクロック信号を出力する。メインマイコン1は、クロック信号に同期して、入出力制御ドライバIC2Bへの送信データ52を出力する。入出力制御ドライバIC2Bは、クロック信号に同期して、メインマイコン1が受信する受信データ62を出力する。クロック信号の出力が終わった後、メインマイコン1がチップセレクト信号線3Aをネゲートし、メインマイコン1とサブマイコン2AとのSPI通信が終了する。本実施の形態の第1の動作例においては、SPI通信における同期用クロック信号の周波数は、アサートするチップセレクト信号線に対応付けられている。従って、例えば、高性能なマイコンと廉価品のドライバICのように、SPI通信インタフェースにおいて対応しているクロック周波数の上限に差がある場合には、それぞれのスレーブデバイスに適した同期クロック周波数を用いることができる。すなわち、図1bの構成にすることによって、SPI通信バス上で複数の通信プロトコルを混在させることができるという利点がある。尚、図1bに記載されたデータ通信装置では、スレーブデバイスにチップセレクト線3とクロック信号線4とデータ送信線5とデータ受信線6とが接続されているが、データ送信線5とデータ受信線6とに関しては、いずれか1本のみが接続されている構造でも良い。例えば、センサ用ドライバICの場合には、チップセレクト線3とクロック信号線4とデータ受信線6とが接続されていて、センサによって計測したデータを通信するようにしても良い。以下において、本実施の形態の他の動作例について説明するが、基本的なシステム構成に関しては、図2aに示す構成と同様である。そこで、適宜図1a、bを参照しつつ説明を行う。図2bは、本実施の形態による通信データ技術の第2動作例を示す信号波形図である。図2bに示す第2動作例による信号波形例においては、チップセレクト信号線3Aがアサートされている期間T3、すなわちメインマイコン1とサブマイコン2Aとの通信期間においては、同期用クロック信号CLK43は、Lowの状態がネガティブ、Highの状態がアクティブとして図示されている。チップセレクト信号線3Bがアサートされている期間T4、すなわちメインマイコン1とドライバIC2Bとの通信期間においては、同期用クロック信号44は、Lowの状態がネガティブ、Highの状態がアクティブとなっている。図2bの符号53、54、63、64は、それぞれ図2aの符号53、54、63、64に対応する。同期用クロック信号のクロック論理43、44は、アサートされるチップセレクト信号に対応付けされている。すなわち、図2bのように第2動作例により動作させることにより、同期用クロック信号が電圧Highの場合にアクティブである設定と、電圧Lowの場合にアクティブである設定というように、クロック論理の設定が異なる通信プロトコルを、同一のSPI通信バス上に混在させることが可能である。図3は、本実施の形態によるしたデータ通信システムの第3動作例による通信データの一例を示す。第3動作例では、チップセレクト信号線3A、3Bは、電圧のHighの状態がネゲートであり、Lowの状態がアサートである。同期用クロック信号4は、High状態がネガティブ、Low状態がアクティブである。図3に示す第3動作例では、チップセレクト信号線3Aがアサートされている期間T5、すなわちメインマイコン1とサブマイコン2Aとの通信期間においては、同期クロック信号45がネガティブからアクティブに遷移するクロック信号の立ち上がりのタイミング例えば時間t1に対応して、送信データ55と受信データ65はそれぞれメインマイコン1とサブマイコン2Aによって更新される。チップセレクト信号線3Bがアサートされている期間T6、すなわちメインマイコン1とドライバIC2Bとの通信時には、同期クロック信号45がアクティブからネガティブに遷移するクロック信号の立ち下がりのタイミング例えば時間t2に対応して、送信データ56と受信データ66はそれぞれメインマイコン1とドライバIC2Bによって更新される。図3に示す第3動作例においては、同期用クロック信号の立ち上がりのタイミングでデータを更新するのか、立下りのタイミングでデータを更新するのかというクロック位相の設定が異なる通信プロトコルを、同一のSPI通信バス上に混在させることが可能である。次に、本発明の第2の実施の形態について説明する。本実施の形態は、上記第1の実施の形態によるデータ通信装置を車両に応用した例である。図4は、本実施の形態による車両を示す。図4に示すように、本実施の形態による車両7は、エンジン8と、エンジン8を制御する電子制御ユニットElectricControlUnit:ECU10と、ドライバにより操作されるアクセルペダル9と有する。ここで、ECU10は、エンジンに関する制御の他に、図示しない自動変速機、電子制御スロットル、電動ブレーキを制御するための組込みコントローラであっても良く、要するに図4のECUは車両に関連する様々な制御を行うための組込みコントローラである。図5は、本発明の第2の実施の形態によるECUの一例を示す図である。図5に示すように、本実施の形態によるECU10は、図1bにおいて説明したデータ通信システムを有している。ドライバIC2Bはセンサ計測値例えばアクセル開度を入力し、SPI通信によってメインマイコンに送信する。メインマイコン1は、受信した計測値をもとに、出力する電圧値やポート出力を演算する。メインマイコン1は、SPI通信を用いて出力値をドライバIC2Bに送信する。また、メインマイコンとサブマイコンとの間のデータ通信も、SPI通信によって行われる。図6は、図5に示すメインマイコン1の基本構成例を示す図である。図6に示すように、メインマイコン1は、メモリ11と、SPI通信バスを制御するSPIモジュール12と、演算処理を行うプロセッサ13と、データバス14と、ダイレクトメモリアクセスコントローラ15と、を含んで構成される。SPIモジュール12は、SPI通信の物理プロトコルを設定するコントロールレジスタ121と、送信するデータをセットするための送信データメモリ122と、受信したデータを保存するための受信データメモリ123と、を含んでいる。メモリ11は、制御データ等を演算するアプリケーションソフトウェア113と、制御データをSPIドライバが通信可能なデータ形式データサイズに変換する通信ミドルウェア112と、SPIモジュールを制御してSPI通信を実現するSPIドライバ111と、を有している。SPIドライバ111は、サブマイコン用通信プロトコル記憶手段11121と、ドライバIC用通信プロトコル記憶手段11122と、を含む通信プロトコル記憶手段1112と、通信制御手段1111と、を有している。符号3A、3B、4~6は、それぞれ図1b、図5の同符号に対応する。図7は、コントロールレジスタ121の構成例を示す図である。図7に示すように、コントロールレジスタ121は、アサートするチップセレクト信号線を設定するCS信号線設定領域1210と、転送するデータのビット長を設定するデータ長サイズ設定領域1211と、クロック論理設定領域1212と、クロック位相設定領域1213と、同期用クロック信号のボーレートを設定する転送速度設定領域1214と、チップセレクト信号線をアサートしてから同期用クロック信号を出力し始めるまでの転送前遅延時間を設定する転送前遅延設定領域1215と、同期用クロック信号を出力し終わってからチップセレクト信号線をネゲートするまでの転送後遅延時間を設定する転送前遅延設定領域1216と、を有する。図8は、サブマイコン用通信プロトコル記憶手段11121の構成例を示す図である。図8に示すように、サブマイコン用通信プロトコル記憶手段11121は、アサートするチップセレクト信号線を記憶するCS信号線記憶領域111210と、転送するデータのビット長を設定するデータ長サイズ記憶領域111211と、クロック論理記憶領域111212と、クロック位相記憶領域111213と、同期用クロック信号のボーレートを設定する転送速度記憶領域111214と、チップセレクト信号線をアサートしてから同期用クロック信号を出力し始めるまでの転送前遅延時間を記憶する転送前遅延記憶領域111215と、同期用クロック信号を出力し終わってからチップセレクト信号線をネゲートするまでの転送後遅延時間を記憶する転送前遅延記憶領域111216と、を有している。図9は、通信制御手段1111の動作の流れを示すフローチャート図である。図9に示すように、ステップS11において、通信ミドルウェア112が通信制御手段1111を動作させると、通信処理が開始される。ステップS12において、通信中か否かなど、現在通信開始可能な状態かどうかの判断を行う。ステップS12において、通信開始可能な場合であると判断された場合にはステップS13に進む。ステップS13においては、送信データメモリ122に送信するデータをセットする。データの受信のみを行う場合には、ステップS13の処理を省略しても良い。ステップS14では、通信先のデバイスに対応する通信プロトコルを、通信プロトコル記憶手段1112を参照してコントロールレジスタ121にセットする。ステップS15では、SPIモジュール12に対して通信開始の指示を出した後、SPI通信を開始する。ステップS12において、通信開始不可を検出した場合には、ステップS16に進む。ステップS16においては、現在通信不可状態であることを通信ミドルウェア112に通知する。以上の処理を実行した後に、一旦処理を終了する。ステップS21は、ステップS15において開始したSPI通信が終了した際に発生する通信完了割り込みで呼び出され、SPI通信の後処理が実行される。ステップS22において、受信したデータを受信データメモリ123から読み出す。データの送信のみを行う際にはステップS22の処理は省略しても良い。その後、ステップS23において、通信処理が完了したことを通信ミドルウェア112に通知する。通知完了後、ステップS24において通信処理を完了する。図6~図9までの構成にすることにより、SPI通信バスの通信プロトコルを設定するコントロールレジスタが1つしかないSPIモジュールであっても、複数の通信プロトコルを混在して利用可能になるという利点がある。また、図6、図8の構成にすることによって、通信先のデバイスに対応して個別に通信プロトコルを記憶することが出来る。そのため、通信バスに接続するデバイスを変更した場合でも、変更したデバイスに対応する通信プロトコル記憶手段のみ変更すればよく、他の通信プロトコル記憶手段はそのまま再利用することが出来る。すなわち、同一のSPI通信バス上で複数の通信プロトコルを混在可能なデータ通信装置を、効率良く開発できるという利点がある。図10は、本実施の形態による通信制御手段の一構成例を示す図である。図10に示すように、通信制御手段1111は、サブマイコン用通信制御ドライバ11111と、ドライバIC用通信制御ドライバ11112と、通信制御マネージャ11113と、を有している。サブマイコン用通信制御ドライバ11111は、送信するデータを保存しておく送信バッファ111111と、受信したデータを保存しておく受信バッファ111112とを有している。ドライバIC用通信制御ドライバも同様の送信バッファおよび受信バッファを有している。通信制御マネージャ11113は、通信開始要求を記憶しておくための通信ジョブキュー111131を有している。図11A、図11Bは、通信制御手段における処理の一例を示す図である。以下の処理の説明においては、図10を適宜参照する。ここでは、サブマイコン2との通信が要求された例を用いて説明する。図11Aは、通信制御ドライバ11111が通信ミドルウェア112によって呼び出された場合の処理例を示す図である。図11Aに示すように、ステップS31において、通信ミドルウェア112により通信制御ドライバ11111が呼び出され、通信処理が開始される。ステップS32において、現在サブマイコンとの通信を実行中か否かなどにより、現在通信開始可能な状態かどうかの判定を行う。通信開始が不可能と判定された場合にはステップS33に進む。ステップS33では、現在通信不可状態であることを通信ミドルウェア112に通知し処理が終了する。通信開始が可能な場合には、通信制御マネージャ11113を呼び出す。ステップS34において、通信ジョブキュー111131をチェックし、現在通信処理を実行中のジョブがあるか否かをチェックする。通信を実行中のジョブがあった場合にはステップS35に進み、要求があった通信先この例ではサブマイコン2をジョブの末尾に登録し処理を中断する。通信中のジョブが無かった場合にはステップS36に進み、要求があった通信先をジョブの先頭に登録する。その後、通信先に対応した通信制御ドライバこの例ではサブマイコン用通信制御ドライバを呼び出す。ステップS37では、サブマイコン用通信制御ドライバにより、SPI通信を実行するための通信実行処理が行われる。SPI通信を開始後、一旦処理は中断される。図11Bは、通信制御ドライバ11111がプロセッサの通信完了割り込みによって呼び出された場合の処理の流れを示すフローチャート図である。図11Bに示すように、SPI通信が終了する、とプロセッサの通信完了割り込みでステップS41が呼び出され、SPI通信の後工程処理が実行される。ステップS42において、通信ジョブキュー111131をチェックし先頭に登録されている通信ジョブの通信先を確認する。ステップS43において、ジョブキューの先頭に登録されていた通信先に対応する通信制御ドライバこの例ではサブマイコン用通信制御ドライバの通信完了処理を呼び出す。通信完了処理が終了すると、ステップS44において通信制御マネージャのジョブキューが更新される。ジョブキューの先頭の通信ジョブをクリヤし、登録されている通信ジョブの順位を1つずつ進める。ステップS45で、通信ジョブキュー111131をチェックし、通信ジョブが残っているか否かを判定する。残りジョブがない場合には処理を完了する。残りジョブがある場合にはこの例ではドライバIC用通信制御ドライバ、ジョブキューの先頭に登録されている通信先に対応する通信制御ドライバの通信開始処理ステップS37を呼び出す。図12は、通信制御ドライバの通信開始処理ステップS37の一例として、サブマイコン用通信制御ドライバ11111の動作を示す図である。ステップS371において、サブマイコン用通信制御ドライバ11111の送信バッファ111111に設定されたデータを送信データメモリ122図6にコピーすることにより、送信データをセットする。ステップS372では、サブマイコン用通信プロトコル記憶手段11121に設定された通信プロトコルをコントロールレジスタ121に設定することにより、通信プロトコルをサブマイコン用に設定する。ステップS373においては、SPIモジュールに対して通信開始を命令する。図13は、通信制御ドライバの通信完了処理ステップS43図11Aの一例として、サブマイコン用通信制御ドライバの通信完了処理を示す。ステップS431では、SPI通信により受信したデータを受信データメモリS123から読み出し、受信バッファ111112へとコピーする。ステップS432では、SPI通信が完了したことをミドルウェア112に通知する。図14は、本実施の形態を適用したデータ通信装置の動作の概念を示す図である。まず、時刻t10では通信SPIジョブキュー31~34は空である。時刻t11において、サブマイコン2Aとの通信開始要求21が呼び出される。通信ジョブキューは空なので、サブマイコンへの通信要求は通信ジョブキューの先頭31にセットされる。サブマイコン用の通信プロトコルをセットした上で、SPI通信22が開始される。時刻t12で、ドライバIC2Bとの通信開始要求23が出される。通信ジョブキュー31にジョブがセットされているため、キュー32にドライバICとの通信要求をセットし、一旦処理を終了し通信開始待ち状態24に入る。時刻t13で、サブマイコン2Aとの通信が完了する。通信ジョブキューをチェックし、先頭に登録されていたサブマイコン2Aの通信完了処理を実行する。そして、ジョブキューを更新する。その後、ジョブキューを再度チェックし、ジョブキューの先頭31にセットされているドライバICとの通信25を開始する。時刻t14で、ドライバIC2Bとの通信が完了する。通信ジョブキューをチェックし、先頭に登録されていたドライバIC2Bの通信完了処理を実行する。そして、ジョブキューを更新する。その後、ジョブキューを再度チェックして、ジョブキューが空であることを確認すると、SPI通信処理を完了する。図15は、本実施の形態によるデータ通信装置における通信制御手段1111の別構成例を示す図である。図15に示す構成において、通信制御手段1111は、通信ジョブリスト11114を有している。通信ジョブリスト11114は、通信先のデバイスの情報111141と、送信バッファ111142と、受信バッファ111143と、を有している。通信ミドルウェアは、通信ジョブリストに送信データと通信先データを登録し、SPI通信開始を要求する。SPI通信が開始されると、プロセッサは通信ジョブリストに登録された通信ジョブを逐次実行していく。全通信ジョブが完了すると、受信バッファから受信データを読み出すことが可能になる。ここで、通信ジョブの実行にDMAC15を用いることにより、送信バッファから送信データメモリ122へのコピーと、通信プロトコル記憶手段1112からコントロールレジスタへのコピーと、受信データメモリ123から受信バッファ111143へのコピーなどの処理を、プロセッサ13に負担をかけずに実行することが出来るという利点がある。図16は、本発明の実施の形態によるデータ通信装置におけるSPIモジュール12の別の構成例を示す図である。符号3A、3B、4~6は、それぞれ図1b、図5の同符号に対応する。図16に示すように、SPIモジュール12Bは、複数個のコントロールレジスタ12B1、12B2と、通信ジョブリスト12B3と、を有している。コントロールレジスタ12B1、12B2の構成は、図7に示すコントロールレジスタ121の構成と同様である。ジョブリスト12B3の個々の要素は、使用するコントロールレジスタ情報12B31と、送信するデータを登録する送信データメモリ12B32と、受信したデータが保存される受信データメモリ12B33と、を含む。SPIドライバ111は、通信ジョブリスト12Bに送信データと使用レジスタを登録し、SPI通信開始を要求する。SPI通信が開始されると、SPIモジュール12Bは通便ジョブリスト12B3に登録された通信ジョブを逐次実行していく。全通信ジョブが完了すると、受信データメモリ12B33から受信データを読み出すことが可能になる。本構成例のように、複数のコントロールレジスタを設け、ハードウェア的に通信プロトコルの切り替えを行うことも可能である。尚、図9AのステップS13においては、送信データメモリ122に送信するデータをセットする。データの受信のみを行う場合にはステップS13は省略しても良い。ステップS14では、通信先のデバイスに対応する通信プロトコルを、通信プロトコル記憶手段1112を参照してコントロールレジスタ121にセットする。ステップS15ではSPIモジュール12に対して通信開始の指示を出してSPI通信を開始し、一旦処理を中断する。ステップS12で通信開始不可を検出した場合にはステップS16に進む。以上、本発明の各実施の形態によるデータ通信装置を用いると、SPI通信などのシリアル通信においてアサートするチップセレクト信号線に対応して同期クロック信号のボーレートを切り替えることにより、通信先デバイスに最適な通信プロトコルで通信することが可能になる。また、SPI通信においてアサートするチップセレクト信号線に対応して同期クロック信号のクロック論理を切り替えることにより、通信先デバイスに最適な通信プロトコルで通信することが可能になる。さらに、SPI通信においてアサートするチップセレクト信号線に対応して同期クロック信号のクロック位相を切り替えることにより、通信先デバイスに最適な通信プロトコルで通信することが可能になる。加えて、送信先スレーブデバイス毎の通信プロトコル記憶手段と、通信プロトコル記憶手段を呼び出してSPI通信を実行する通信制御手段とを設けることにより、通信先デバイスに最適な通信プロトコルで通信することが可能になる。また、送信先スレーブデバイス毎の通信制御ドライバと、通信制御ドライバの排他制御を行う通信制御マネージャを設けることにより、通信先デバイスに最適な通信プロトコルで通信することが可能になる。さらに、通信プロトコル記憶手段と通信制御手段をメモリ上で動作するプログラムとすることによって、コントロールレジスタが1つしかないSPIモジュールでも通信プロトコルを切り替えることを可能になり、通信先デバイスに最適な通信プロトコルで通信することが可能になる。また、SPIモジュール-メモリ間の通信プロトコルや送信データや受信データの転送を、DMACを用いて行うことにより、コントロールレジスタが1つしかないSPIモジュールで高速に通信プロトコルを切り替えることが可能になる。