JP2012034375A - データ通信装置及びそれを用いたコントローラ - Google Patents

データ通信装置及びそれを用いたコントローラ Download PDF

Info

Publication number
JP2012034375A
JP2012034375A JP2011180240A JP2011180240A JP2012034375A JP 2012034375 A JP2012034375 A JP 2012034375A JP 2011180240 A JP2011180240 A JP 2011180240A JP 2011180240 A JP2011180240 A JP 2011180240A JP 2012034375 A JP2012034375 A JP 2012034375A
Authority
JP
Japan
Prior art keywords
communication
data
control
clock signal
master device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2011180240A
Other languages
English (en)
Inventor
Kentaro Yoshimura
健太郎 吉村
Wataru Nagaura
永浦  渉
Takanori Yokoyama
孝典 横山
Nobuyasu Kanekawa
信康 金川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Automotive Systems Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Automotive Systems Ltd filed Critical Hitachi Automotive Systems Ltd
Priority to JP2011180240A priority Critical patent/JP2012034375A/ja
Publication of JP2012034375A publication Critical patent/JP2012034375A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】複数のデバイスを接続したSPIバスを用いたデータ通信システムにおいて、それぞれのデバイスに最適な通信プロトコルを用いてデータ通信を可能にする。
【解決手段】データ通信装置は、マスターデバイスと、複数のスレーブデバイスと、その間を接続し、同期クロック信号に同期してマスターデバイスがスレーブデバイスへデータを送信するデータ送信バス又は同期クロック信号に同期してマスターデバイスがスレーブデバイスからデータを受信するデータ受信バスとの少なくともいずれか一方と、デバイス間を一対一に接続して通信実行を通知するチップセレクト線とを有する。スレーブデバイス毎の物理プロトコルを設定する通信ドライバと、マスターデバイスとスレーブデバイスとの間のシリアル通信を調停する通信マネージャを有する。チップセレクト信号線に対応させ、通信プロトコルを切り替えることで、最適な通信プロトコルを用いて通信することが出来る。
【選択図】図1

Description

本発明は、シリアル通信バス、特にSPI通信を用いて一対多のデータ通信を行うデータ通信装置およびデータ通信装置を有する組込みコントローラに関する。
データ通信システムとして、従来から、物理的なデータ通信手段に対応させて、転送速度やクロック論理位相などの物理プロトコル設定を行う技術が知られている(例えば、特許文献1参照)。また、物理的なデータ通信手段として、チップセレクト信号線を有したクロック同期式シリアルバス通信であるシリアル・ペリフェラル・インタフェース(以下「SPI」と称する。)を用いた方法がある(例えば、非特許文献1参照)。
特開2000−257501号公報(第25頁、図3、300)
モトローラ株式会社、「MPC555 User’s Manual MPC555UMJ/AD R0。95」、449頁−525頁
例えば、組込みコントローラの一種として、自動車に搭載されてエンジン、スロットル、変速機、ブレーキ、ステアリングやバッテリを制御する車両制御コントローラがある。近年、低燃費化・低排出ガス化などを目的として、車両制御コントローラの制御機能の高度化が要求されている。きめ細かい制御を実現するために、組込みコントローラ内部には複数のマイコンやセンサ・アクチュエータの信号処理を行うICが搭載され、計測結果や出力値のデータはSPI通信バスによるデータ通信を用いてやり取りする方法が用いられている。
上記特許文献1に記載のデータ通信装置では、物理的な通信手段に対応して通信プロトコルを設定しているそのため、例えば一対多通信を行う通信バスを用いた通信では、通信バスに接続された全てのデバイスの通信プロトコルを共通化しなければならないという問題がある。一般に、マイコンは高速な転送速度で動作させることができるが、ICによっては比較的な転送速度しか扱えない場合がある。そのため、マイコンとICとを同一SPI通信バス上に混在させた場合には、全てのデバイスの転送速度を最も低速なデバイスの転送速度によって共通化しなければならない。高速な転送速度を扱えるマイコンを用いても、低速な転送速度により制限されるため、通信時間を余分に要し、通信性能が悪化してしまうという問題があった。
本発明は、同一のSPI通信バス上において複数の通信プロトコルを混在させ、それぞれにおいて適正な通信を行うことができるデータ通信装置を提供することを目的とする。
本発明は、シリアル通信のドライバとして、デバイス毎の通信ドライバを設けることにより、デバイス毎の物理プロトコルを設定し、シリアル通信のバスを調停する通信マネージャを設けることを特徴とする。
本発明の一観点によれば、マスターデバイスと、複数個のスレーブデバイスと、前記マスターデバイスと複数個の前記スレーブデバイス間とを接続しデータ転送の同期用クロック信号を伝送する同期クロック信号バスと、前記同期クロック信号線に同期して前記マスターデバイスが前記スレーブデバイスへデータを送信するデータ送信バスと又は前記同期クロック信号線に同期して前記マスターデバイスが前記スレーブデバイスからデータを受信するデータ受信バスとの少なくともいずれか一方と、前記マスターデバイスと前記スレーブデバイスとの間を一対一に接続して通信実行を通知するチップセレクト線と、を有し、シリアル通信を行うデータ通信装置において、前記スレーブデバイス毎の物理プロトコルを設定するデバイス通信ドライバ及び前記マスターデバイスと前記スレーブデバイスとの間のシリアル通信を調停する通信マネージャを有するシリアル通信ドライバと、を有するデータ通信装置が提供される。
シリアル通信ドライバは、例えば以下のような特徴を有しているのが好ましい。
1)前記シリアル通信ドライバは、前記同期クロック信号バス上の同期用クロック信号に基づいて、前記マスターデバイスがアサートする前記チップセレクト線に応じてクロックの周波数を変更することを特徴とする。
2)前記シリアル通信ドライバは、前記同期クロック信号バスにより通信する同期クロック信号を、前記マスターデバイスがアサートする前記チップセレクト線に応じてクロック論理を変更することを特徴とする。
3)前記シリアル通信ドライバは、前記データ送信バス上の送信データ又は前記データ受信バス上の受信データの少なくとも一方を、前記マスターデバイスがアサートする前記チップセレクト線に応じて、前記同期クロック信号とのクロック同期位相を変更することを特徴とする。
尚、前記スレーブデバイス毎の物理プロトコルを設定するデバイス通信ドライバ及び前記マスターデバイスと前記スレーブデバイスとの間のシリアル通信を調停する通信マネージャを有するシリアル通信ドライバは、例えばROM内に格納されているプログラムにより実行されるのが一般的である。また、シリアル通信ドライバが、デバイス通信ドライバと通信マネージャという形で明確に区別できない場合も、例えば上記1)〜3)までの記載されるような通信が行われる場合には、本発明の範疇に入るものであり、名称等により限定されるものではない。
上記の手段を用いることで、異なるプロトコルを持つデバイスでも、同じ通信バス上で使用が可能となる。また、それぞれのデバイスの最大転送効率プロトコルによりシリアル通信を行うことができ、全体として高速化が可能となる。
図1(a)は本発明のデータ通信システムの構成例を示す概念図であり、図1(b)は本発明の一実施の形態によるデータ通信装置の第1構成例を示す図である。 図2(a)は、本発明の一実施の形態によるデータ通信装置の第1動作例を示す図であり、図2(b)は、第2動作例を示す図である。 本発明の一実施の形態によるデータ通信装置の第3動作例を示す図である。 本発明の一実施の形態によるデータ通信装置を車両制御コントローラの一部に適用した図である。 図4に示す車両制御コンピュータの概略構成例を示す図である。 本発明の一実施の形態によるデータ通信装置におけるメインマイコンの概要を示す図である。 本発明の一実施の形態によるデータ通信装置におけるコントロールレジスタの構成例を示す図である。 CS1用通信プロトコル記憶手段の構成例を示す図である。 本発明の一実施の形態によるデータ通信装置における通信制御手段の処理の流れを示す第1のフローチャート図である。 本発明の一実施の形態によるデータ通信装置における通信制御手段の処理の流れを示す第1のフローチャート図である。 本実施の形態による通信制御手段の構成例を示す図である。 本発明の一実施の形態によるデータ通信装置における通信制御手段の処理の流れを示す第2のフローチャート図である。 本発明の一実施の形態によるデータ通信装置における通信制御手段の処理の流れを示す第2のフローチャート図であり、図11Aに続く図である。 通信制御ドライバの通信実行処理の流れを示すフローチャート図である。 通信制御ドライバの通信完了処理の流れを示すフローチャート図である。 本発明の実施の形態によるデータ通信システムの動作の概要を示す図である。 本発明の第2の実施の形態による通信制御手段の構成例を示す図である。 本発明の第3の実施の形態によるSPIモジュールの構成例を示す図である。
本発明の実施の形態について説明する前に、まず、本発明に係るデータ通信装置の概略について説明する。図1(a)は、本発明に係るデータ通信装置の基本的な構成例を示す図である。図1(a)に示すように、本発明に係るデータ通信装置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)を例に挙げて説明を行う。
図1(b)は、本発明の第1の実施の形態によるデータ通信装置の構成例を示す図である。図1(b)に示すように、本実施の形態によるデータ通信装置は、メインマイコン1(マスターデバイスに対応する)と、サブマイコン2Aと、入出力制御用ドライバIC2Bとを有している。サブマイコン2A、入出力制御用ドライバIC2Bは、スレーブデバイスに対応する。
上記構成において、チップセレクト線3Aは、メインマイコン1により制御され、メインマイコン1からサブマイコン2Aへの通信実行を通知する。チップセレクト線3Bは、メインマイコン1により制御され、メインマイコン1から入出力制御ドライバIC 2Bへの通信実行を通知する。
クロック信号バス4(同期クロック信号バスに対応する。)は、メインマイコン1により制御され、クロック信号バス4には、メインデバイスからサブデバイスへの通信の際にデータ転送の同期を取るためのクロック信号が出力される。データ送信線5は、メインマイコン1により制御され、データ送信線5には、クロック信号線4により通信されるクロック信号に同期して、メインマイコン1からサブマイコン2A又はドライバIC 2Bへの送信データが出力される。データ受信線6は、サブマイコン2A又はドライバIC 2Bにより制御される。データ受信線6には、クロック信号に同期してスレーブデバイスからマスターデバイスへの送信データが出力される。
図2(a)は、本実施の形態によるデータ通信装置の第1の動作例であって、チップセレクト信号線3A、3B、クロック信号線4、データ送信線5、データ受信線6の出力例を示す図である。図2(a)における横軸は時間であり、縦軸は、それぞれの信号の電圧を示す。図2(a)においては、チップセレクト信号線3A、3Bは、電圧のHigh状態がネゲート、Low状態がアサートである。同期用クロック信号4は、High状態がネガティブ、Low状態がアクティブである。
図2(a)に示すように、第1の動作例では、区間T1においては、図1(b)に示すメインマイコン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と入出力制御ドライバIC 2BとのSPI通信が実行される状態になっている。メインマイコン1はクロック信号線4を制御して、通信するデータのビット数分だけ(例えば8[bit]分)、入出力制御ドライバIC 2Bとの通信に適したボーレート(例えば1[MHz])でクロック信号を出力する。メインマイコン1は、クロック信号に同期して、入出力制御ドライバIC 2Bへの送信データ52を出力する。入出力制御ドライバIC 2Bは、クロック信号に同期して、メインマイコン1が受信する受信データ62を出力する。クロック信号の出力が終わった後、メインマイコン1がチップセレクト信号線3Aをネゲートし、メインマイコン1とサブマイコン2AとのSPI通信が終了する。
本実施の形態の第1の動作例においては、SPI通信における同期用クロック信号の周波数は、アサートするチップセレクト信号線に対応付けられている。従って、例えば、高性能なマイコンと廉価品のドライバICのように、SPI通信インタフェースにおいて対応しているクロック周波数の上限に差がある場合には、それぞれのスレーブデバイスに適した同期クロック周波数を用いることができる。すなわち、図1(b)の構成にすることによって、SPI通信バス上で複数の通信プロトコルを混在させることができるという利点がある。
尚、図1(b)に記載されたデータ通信装置では、スレーブデバイスにチップセレクト線3とクロック信号線4とデータ送信線5とデータ受信線6とが接続されているが、データ送信線5とデータ受信線6とに関しては、いずれか1本のみが接続されている構造でも良い。例えば、センサ用ドライバICの場合には、チップセレクト線3とクロック信号線4とデータ受信線6とが接続されていて、センサによって計測したデータを通信するようにしても良い。
以下において、本実施の形態の他の動作例について説明するが、基本的なシステム構成に関しては、図2(a)に示す構成と同様である。そこで、適宜図1(a)、(b)を参照しつつ説明を行う。 図2(b)は、本実施の形態による通信データ技術の第2動作例を示す信号波形図である。図2(b)に示す第2動作例による信号波形例においては、チップセレクト信号線3Aがアサートされている期間T3、すなわちメインマイコン1とサブマイコン2Aとの通信期間においては、同期用クロック信号CLK43は、Lowの状態がネガティブ、Highの状態がアクティブとして図示されている。チップセレクト信号線3Bがアサートされている期間T4、すなわちメインマイコン1とドライバIC 2Bとの通信期間においては、同期用クロック信号44は、Lowの状態がネガティブ、Highの状態がアクティブとなっている。図2(b)の符号53、54、63、64は、それぞれ図2(a)の符号53、54、63、64に対応する。
同期用クロック信号のクロック論理43、44は、アサートされるチップセレクト信号に対応付けされている。すなわち、図2(b)のように第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とドライバIC 2Bとの通信時には、同期クロック信号45がアクティブからネガティブに遷移するクロック信号の立ち下がりのタイミング(例えば時間t2)に対応して、送信データ56と受信データ66はそれぞれメインマイコン1とドライバIC 2Bによって更新される。
図3に示す第3動作例においては、同期用クロック信号の立ち上がりのタイミングでデータを更新するのか、立下りのタイミングでデータを更新するのかというクロック位相の設定が異なる通信プロトコルを、同一のSPI通信バス上に混在させることが可能である。
次に、本発明の第2の実施の形態について説明する。本実施の形態は、上記第1の実施の形態によるデータ通信装置を車両に応用した例である。図4は、本実施の形態による車両を示す。図4に示すように、本実施の形態による車両7は、エンジン8と、エンジン8を制御する電子制御ユニット(Electric Control Unit: ECU)10と、ドライバにより操作されるアクセルペダル9と有する。ここで、ECU10は、エンジンに関する制御の他に、図示しない自動変速機、電子制御スロットル、電動ブレーキを制御するための組込みコントローラであっても良く、要するに図4のECUは車両に関連する様々な制御を行うための組込みコントローラである。
図5は、本発明の第2の実施の形態によるECUの一例を示す図である。図5に示すように、本実施の形態によるECU10は、図1(b)において説明したデータ通信システムを有している。ドライバIC 2Bはセンサ計測値(例えばアクセル開度)を入力し、SPI通信によってメインマイコンに送信する。メインマイコン1は、受信した計測値をもとに、出力する電圧値やポート出力を演算する。メインマイコン1は、SPI通信を用いて出力値をドライバIC 2Bに送信する。また、メインマイコンとサブマイコンとの間のデータ通信も、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は、それぞれ図1(b)、図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で、ドライバIC 2Bとの通信開始要求23が出される。通信ジョブキュー31にジョブがセットされているため、キュー32にドライバICとの通信要求をセットし、一旦処理を終了し通信開始待ち状態24に入る。
時刻t13で、サブマイコン2Aとの通信が完了する。通信ジョブキューをチェックし、先頭に登録されていたサブマイコン2Aの通信完了処理を実行する。そして、ジョブキューを更新する。その後、ジョブキューを再度チェックし、ジョブキューの先頭31にセットされているドライバICとの通信25を開始する。時刻t14で、ドライバIC 2Bとの通信が完了する。通信ジョブキューをチェックし、先頭に登録されていたドライバIC 2Bの通信完了処理を実行する。そして、ジョブキューを更新する。その後、ジョブキューを再度チェックして、ジョブキューが空であることを確認すると、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は、それぞれ図1(b)、図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モジュールで高速に通信プロトコルを切り替えることが可能になる。
1…メインマイコン(マスターデバイス)、2A…サブマイコン、2B…ドライバIC、3A…クロック信号線1、3B…クロック信号線2、4…同期用クロック信号バス、5…データ送信バス、6…データ受信バス、41、42、43、44、45、46…同期用クロック信号、51、52、53、54、55、56…送信データ、61、62、63、64、65、66…受信データ、7…車両、8…エンジン、9…アクセルペダル、10…車両制御コントローラ。

Claims (12)

  1. マスターデバイスと、複数個のスレーブデバイスと、前記マスターデバイスと複数個の前記スレーブデバイス間とを接続しデータ転送の同期用クロック信号を伝送する同期クロック信号バスと、前記同期クロック信号線に同期して前記マスターデバイスが前記スレーブデバイスへデータを送信するデータ送信バスと又は前記同期クロック信号線に同期して前記マスターデバイスが前記スレーブデバイスからデータを受信するデータ受信バスとの少なくともいずれか一方と、前記マスターデバイスと前記スレーブデバイスとの間を一対一に接続して通信実行を通知するチップセレクト線と、を有し、シリアル通信を行うデータ通信装置において、
    前記マスターデバイスは、前記スレーブデバイス毎に対応させて通信プロトコル設定値を保持する通信プロトコル記憶手段と、該通信プロトコル記憶手段に記憶されている通信プロトコルを呼び出してコントロールレジスタへ格納し、前記スレーブデバイスへのシリアル通信を実行する通信制御手段と
    に備える車両用制御装置。
  2. 前記シリアル通信を制御するシリアル通信ドライバは、
    前記同期クロック信号バスにより通信する同期用クロック信号を、前記マスターデバイスがアサートする前記チップセレクト線に応じてクロックの周波数を変更することを特徴とする請求項1に記載の車両用制御装置。
  3. 前記シリアル通信を制御するシリアル通信ドライバは、
    前記同期クロック信号バスにより通信する同期クロック信号を、前記マスターデバイスがアサートする前記チップセレクト線に応じてクロック論理を変更することを特徴とした請求項1に記載の車両用制御装置。
  4. 前記シリアル通信を制御するシリアル通信ドライバは、
    前記データ送信バス上の送信データ又は前記データ受信バス上の受信データの少なくとも一方を、前記マスターデバイスがアサートする前記チップセレクト線に応じて、前記同期クロック信号とのクロック同期位相を変更することを特徴とする請求項1に記載の車両用制御装置。
  5. 前記マスターデバイスは、前記スレーブデバイス毎に少なくとも転送速度とクロック論理とクロック位相と送信データサイズと転送前遅延時間と転送後遅延時間とのうちから選択される少なくともいずれか1つの設定値を保持する通信プロトコル記憶手段と、
    該通信プロトコル記憶手段に記憶されている通信プロトコルを呼び出して前記スレーブデバイスへのシリアル通信を実行する通信制御手段と、を備えることを特徴とする請求項1に記載の車両用制御装置。
  6. 前記マスターデバイスは、前記データ通信バスの通信プロトコルを設定する通信制御レジスタを1つのみ有するシリアル通信モジュールを有するマイクロコンピュータであることを特徴とする請求項1に記載の車両用制御装置。
  7. 前記データ通信装置は、CPUを介さずにデータ転送を行うダイレクト・メモリ・アクセス・コントローラ(以下、「DMAC」と称する。)を有し、前記DMACが、前記通信プロトコル記憶手段を読み出した通信プロトコルを前記通信制御レジスタにセットする制御を行うことを特徴とする請求項6に記載の車両用制御装置。
  8. 請求項6に記載の前記マスターデバイスであって、データ通信バスの通信プロトコルを設定する通信制御レジスタを1つのみ有するシリアル通信モジュールを有するマイクロコンピュータに、
    前記スレーブデバイス毎に少なくとも転送速度とクロック論理とクロック位相と送信データサイズと転送前遅延時間と転送後遅延時間とのうちから選択される少なくともいずれか1つの設定値を保持する通信プロトコル記憶ステップと、
    該通信プロトコルステップにおいて記憶されている通信プロトコルを呼び出して前記スレーブデバイスへのシリアル通信を実行するステップと、を実行させるためのプログラム。
  9. センサによって計測した入力信号又は他の組込みコントローラから受信した入力信号のいずれかの入力信号をデータ化する外部入力処理手段と、前記入力信号に基づいて制御データを演算する制御演算手段と、前記制御データに基づいてアクチュエータを駆動する制御信号を生成する外部出力処理手段と、を有する組込みコントローラであって、
    前記制御演算手段と、少なくとも前記外部入力処理手段と前記外部出力処理手段と他の前記制御演算手段とのいずれか1つとの通信を行う、請求項1に記載の車両用制御装置を有することを特徴とする組み込みコントローラ。
  10. センサによって計測した運転者の指令と車両の状態または他の車両制御コントローラから受信した入力信号のいずれかの入力信号をデータ化する外部入力処理手段と、前記入力信号に基づいて制御データを演算する制御演算手段と、前記制御データに基づいて車両を制御する制御信号を生成する外部出力処理手段とを有する車両制御コントローラであって、
    前記制御演算手段と、少なくとも前記外部入力処理手段と前記外部出力処理手段と他の前記制御演算手段とのいずれか1つとの通信を行う、請求項1に記載の車両用制御装置を有することを特徴とする車両制御コントローラ。
  11. 前記複数個のスレーブデバイス毎のそれぞれのスレーブデバイスに対応させて物理プロトコルを設定する通信ドライバと、前記マスターデバイスと前記スレーブデバイスとの間のシリアル通信を調停する通信マネージャと、を有するシリアル通信ドライバによりシリアル通信を制御することを特徴とする請求項1に記載の車両用制御装置。
  12. シリアル通信ドライバにより、複数個の前記スレーブデバイスのうちの少なくとも2つのスレーブデバイスが、共通のバスライン上において異なる物理プロトコルに基づいて動作するように制御することを特徴とする請求項1に記載の車両用制御装置。
JP2011180240A 2011-08-22 2011-08-22 データ通信装置及びそれを用いたコントローラ Pending JP2012034375A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011180240A JP2012034375A (ja) 2011-08-22 2011-08-22 データ通信装置及びそれを用いたコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011180240A JP2012034375A (ja) 2011-08-22 2011-08-22 データ通信装置及びそれを用いたコントローラ

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2004002284A Division JP4834294B2 (ja) 2004-01-07 2004-01-07 データ通信装置及びそれを用いたコントローラ

Publications (1)

Publication Number Publication Date
JP2012034375A true JP2012034375A (ja) 2012-02-16

Family

ID=45847178

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011180240A Pending JP2012034375A (ja) 2011-08-22 2011-08-22 データ通信装置及びそれを用いたコントローラ

Country Status (1)

Country Link
JP (1) JP2012034375A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101407996B1 (ko) 2012-11-16 2014-06-17 대우조선해양 주식회사 Spi 통신용 마이크로컨트롤러를 이용한 동기 직렬 인터페이스시스템 및 그 방법
KR20190075005A (ko) * 2017-12-20 2019-06-28 아우디 아게 차량의 섀시 구성 요소의 제어

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59723A (ja) * 1982-06-28 1984-01-05 Hitachi Ltd 入出力インタ−フエ−ス制御方式
JPS6236940A (ja) * 1985-08-09 1987-02-17 Mitsubishi Electric Corp 自動車内デ−タ通信装置
JPS62226361A (ja) * 1986-03-28 1987-10-05 Mitsubishi Electric Corp マイクロプロセツサシステム
JPS62284450A (ja) * 1986-06-02 1987-12-10 Ascii Corp I/o選択装置
JPS63311554A (ja) * 1987-06-15 1988-12-20 Mitsubishi Electric Corp 同期制御方式のマイクロプロセツサ周辺回路
JPH0628307A (ja) * 1992-07-06 1994-02-04 Toshiba Corp バス制御装置
JPH0844665A (ja) * 1994-07-14 1996-02-16 Fujitsu Ltd 複数のデータ転送サイズ及びプロトコルをサポートするバス
JPH1023097A (ja) * 1996-07-09 1998-01-23 Nec Commun Syst Ltd 複数プロトコルバージョン対応方法
JPH1185673A (ja) * 1997-09-02 1999-03-30 Hitachi Ltd 共有バスの制御方法とその装置
JPH1196106A (ja) * 1997-09-19 1999-04-09 Matsushita Electric Ind Co Ltd デバイスドライバ装置
JPH11250006A (ja) * 1998-03-02 1999-09-17 Fujitsu Ltd シリアルバス高速化回路
JP2000257501A (ja) * 1999-03-10 2000-09-19 Denso Corp 自動車用制御装置
JP2002311060A (ja) * 2001-04-17 2002-10-23 Yokogawa Electric Corp 波形測定器
JP2002324009A (ja) * 2001-04-24 2002-11-08 Nec Corp メモリ制御方法及びメモリ制御システム
JP2002335303A (ja) * 2001-05-11 2002-11-22 Yaskawa Electric Corp 通信路切り替え方法

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59723A (ja) * 1982-06-28 1984-01-05 Hitachi Ltd 入出力インタ−フエ−ス制御方式
JPS6236940A (ja) * 1985-08-09 1987-02-17 Mitsubishi Electric Corp 自動車内デ−タ通信装置
JPS62226361A (ja) * 1986-03-28 1987-10-05 Mitsubishi Electric Corp マイクロプロセツサシステム
JPS62284450A (ja) * 1986-06-02 1987-12-10 Ascii Corp I/o選択装置
JPS63311554A (ja) * 1987-06-15 1988-12-20 Mitsubishi Electric Corp 同期制御方式のマイクロプロセツサ周辺回路
JPH0628307A (ja) * 1992-07-06 1994-02-04 Toshiba Corp バス制御装置
JPH0844665A (ja) * 1994-07-14 1996-02-16 Fujitsu Ltd 複数のデータ転送サイズ及びプロトコルをサポートするバス
JPH1023097A (ja) * 1996-07-09 1998-01-23 Nec Commun Syst Ltd 複数プロトコルバージョン対応方法
JPH1185673A (ja) * 1997-09-02 1999-03-30 Hitachi Ltd 共有バスの制御方法とその装置
JPH1196106A (ja) * 1997-09-19 1999-04-09 Matsushita Electric Ind Co Ltd デバイスドライバ装置
JPH11250006A (ja) * 1998-03-02 1999-09-17 Fujitsu Ltd シリアルバス高速化回路
JP2000257501A (ja) * 1999-03-10 2000-09-19 Denso Corp 自動車用制御装置
JP2002311060A (ja) * 2001-04-17 2002-10-23 Yokogawa Electric Corp 波形測定器
JP2002324009A (ja) * 2001-04-24 2002-11-08 Nec Corp メモリ制御方法及びメモリ制御システム
JP2002335303A (ja) * 2001-05-11 2002-11-22 Yaskawa Electric Corp 通信路切り替え方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNA200003188001; ユーザーズ・マニュアル MPC860 第1版, 19971125, 671〜688頁, 日本モトローラ株式会社 *
JPN6011031093; ユーザーズ・マニュアル MPC860 第1版, 19971125, 671〜688頁, 日本モトローラ株式会社 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101407996B1 (ko) 2012-11-16 2014-06-17 대우조선해양 주식회사 Spi 통신용 마이크로컨트롤러를 이용한 동기 직렬 인터페이스시스템 및 그 방법
KR20190075005A (ko) * 2017-12-20 2019-06-28 아우디 아게 차량의 섀시 구성 요소의 제어
KR102135708B1 (ko) 2017-12-20 2020-07-20 아우디 아게 차량의 섀시 구성 요소의 제어

Similar Documents

Publication Publication Date Title
JP4834294B2 (ja) データ通信装置及びそれを用いたコントローラ
WO2018120780A1 (zh) PCIe中断方法和系统
JP2012064021A (ja) 通信システム、マスター装置、及びスレーブ装置、並びに通信方法
US20160034411A1 (en) Subsystem Peripheral Ownership Scheduling and Reconfiguration for Highly Integrated System on Chips
WO2012088293A2 (en) Common protocol engine interface for a controller interface
EP2423824A1 (en) Data transfer device, method of transferring data, and image forming apparatus
JP2012034375A (ja) データ通信装置及びそれを用いたコントローラ
KR102360214B1 (ko) 실시간 공유 인터페이스를 포함하는 시스템 온 칩의 스케쥴링 방법
EP1813494B1 (en) Vehicle control apparatus having event management unit
JP5473817B2 (ja) プログラマブルコントローラおよびバス変換器
KR100633742B1 (ko) 주변 장치로부터 데이터 전송 크기를 자동으로 갱신하는직접 메모리 액세스 제어 장치 및 방법
JP2009163531A (ja) 割り込み管理機構およびマイクロコンピュータ
JP4353211B2 (ja) 通信機能内蔵制御装置
US20110055446A1 (en) Semiconductor integrated circuit device
KR102333544B1 (ko) 마이크로컴퓨터 시스템용 인터럽트-구동 i/o 중재기
JP4788004B2 (ja) 情報処理装置、pciバス制御方法、およびpciバス制御プログラム
CN116594951B (zh) 一种基于fpga的数据传输系统及方法
JP2011150637A (ja) 車載マルチプロセッサシステム
JP3827920B2 (ja) マルチ機能カード
US20090307401A1 (en) Circuit and method for bridging multiple source ahb slaves to a target ahb slave
JP2021043537A (ja) 電子制御装置
JP2002219826A (ja) Pdlボードおよびその制御方法ならびに印刷装置
JP2006031227A (ja) Dma転送を用いたコンピュータシステム
JP2016063727A (ja) 電源rcpシステム
JPH09218859A (ja) マルチプロセッサ制御システム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120607

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120626

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120827

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121023

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121225

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130514