JP4737049B2 - 通信システム及び電子制御装置 - Google Patents

通信システム及び電子制御装置 Download PDF

Info

Publication number
JP4737049B2
JP4737049B2 JP2006318711A JP2006318711A JP4737049B2 JP 4737049 B2 JP4737049 B2 JP 4737049B2 JP 2006318711 A JP2006318711 A JP 2006318711A JP 2006318711 A JP2006318711 A JP 2006318711A JP 4737049 B2 JP4737049 B2 JP 4737049B2
Authority
JP
Japan
Prior art keywords
data
communication
communication system
master device
transmission
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.)
Active
Application number
JP2006318711A
Other languages
English (en)
Other versions
JP2008135840A (ja
Inventor
啓晴 竹内
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.)
Denso Corp
Original Assignee
Denso Corp
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 Denso Corp filed Critical Denso Corp
Priority to JP2006318711A priority Critical patent/JP4737049B2/ja
Priority to EP07022143A priority patent/EP1926023B1/en
Priority to US11/984,871 priority patent/US7848856B2/en
Publication of JP2008135840A publication Critical patent/JP2008135840A/ja
Application granted granted Critical
Publication of JP4737049B2 publication Critical patent/JP4737049B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Selective Calling Equipment (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、マスタ装置と複数のスレーブ装置とを備え、マスタ装置がその複数のスレーブ装置と通信を行うように構成された通信システム及び電子制御装置に関する。
従来より、車両を制御するための電子制御装置(以下、ECUと言う)としては、マスタ装置(例えばマイコン)が複数のスレーブ装置(例えばICやLSI)と通信を行うものがある。
このようなECUとして、マスタ装置と複数のスレーブ装置との間に、マスタ装置からの信号により通信経路を切り換える切換回路を設けたものが知られている(例えば、特許文献1、2参照)。
例えば、特許文献1の装置では、マスタ装置としての第1のマイコンに、スレーブ装置として、第2のマイコンとアナログ/デジタル変換器とが、通信経路を切り換える切換回路を介してそれぞれ接続されている。
この装置では、第1のマイコンは、所定のプログラムに基づき動作し、切換回路への切換制御信号をアクティブレベル或いは非アクティブレベルにして切換回路を切り換えることで、第2のマイコン或いはアナログ/デジタル変換器と通信を行う。
ところで、このように、切換回路を通信経路の途中に設けることとすると、配線が複雑となり、ひいては装置の構成が大きくなってしまうとともに、コスト増大の要因ともなる。
そこで、所謂チップセレクト信号を用いて通信を行うものが考えられている(例えば、特許文献3参照)。
特許文献3では、マスタ装置としてのデータ転送装置と、スレーブ装置として複数のマイコンとがデータ通信のための共通の通信線で接続される。加えて、データ転送装置と各マイコンとは個別に、チップセレクト信号用の制御線(以下、CS線と言う)で接続されている。
データ通信装置は、何れかのチップセレクト信号をアクティブレベルにするとともに、アクティブレベルのチップセレクト信号が入力されたマイコンは、通信が許可されたと判断し、データ転送装置へのデータの送出を行う。
つまり、データ転送装置は、チップセレクト信号のアクティブレベル/非アクティブレベルを切り換えることで、データの衝突等を防止しつつ所望のマイコンと通信ができるようになる。
ところで、上述のような切換制御信号やチップセレクト信号の制御は、マスタ装置におけるソフト処理により実現される。
例えば、上記特許文献3では、データ転送装置には、各CS線に対応して、そのCS線と接続するポート端子と、そのポート端子それぞれに対応するポートラッチとがあり、データ転送装置のCPUは、所定のプログラムを実行してそのポートラッチにデータをラッ
チさせる。「1」がラッチされれば、そのポート端子のチップセレクト信号はアクティブレベルになり、逆に、「0」がラッチされれば非アクティブレベルになる。
特開平5−134982号公報 特開平4−203343号公報 特開平5−303545号公報
しかしながら、上述のような従来の技術では、通信対象の切り換えのためにマスタ装置がソフト処理を実行する分、マスタ装置の負荷の増大が問題となる。特に、通信クロックの周波数が高い、つまり通信速度が速い程、その問題は顕著である。高速に処理を実行する必要があるためである。
本発明は、こうした問題に鑑みなされたもので、マスタ装置が複数のスレーブ装置と通信を行うように構成された通信システム及び電子制御装置において、マスタ装置の負荷を低減させることを目的とする。
かかる問題を解決するためになされた請求項1に記載の通信システムは、マスタ装置と複数のスレーブ装置とが、データ通信のための共通の通信線と、そのマスタ装置と各スレーブ装置とを個別に接続する制御線(以下、CS線と言う)とで接続され、マスタ装置と、そのマスタ装置からCS線を介して通信許可信号が入力された何れかのスレーブ装置とが、通信線を介してデータ通信を行うようになっている通信システムである。
そして、マスタ装置は、通信許可信号の出力先を複数のスレーブ装置の何れかに切り換える手段として、第1のカウンタと、第1の比較回路と、第2のカウンタと、第2の比較回路と、切換回路とを備えている。
第1のカウンタは、マスタ装置から通信中のスレーブ装置へ出力されるデータの数(以下、送信データ数と言う)をカウントする。そして、第1の比較回路は、第1のカウンタによりカウントされる送信データ数と、予め送信に関して記憶されたデータ数(以下、設定送信データ数と言う)とを比較し、両者が同一になると、第1の信号を出力する。
一方、第2のカウンタは、通信中のスレーブ装置からマスタ装置に入力されるデータの数(以下、受信データ数と言う)をカウントする。そして、第2の比較回路は、第2のカウンタによりカウントされる受信データ数と、予め受信に関して記憶されたデータ数(以下、設定受信データ数と言う)とを比較し、両者が同一になると、第2の信号を出力する。
そして、切換回路は、第1の比較回路及び第2の比較回路から第1の信号及び第2の信号の両方が出力されると、通信許可信号の出力先を、複数のスレーブ装置のうち、マスタ装置が次に通信すべきスレーブ装置に切り換えるようになっている。
このような請求項1の通信システムによれば、スレーブ装置のそれぞれについて、予め、送信すべき送信データ数、及び受信すべき受信データ数をマスタ装置に記憶しておくだけで、そのマスタ装置において、送信データ数分のデータが送信され、かつ受信データ数分のデータが受信された際、通信許可信号の出力先が次に通信すべきスレーブ装置にハード的に自動で切り換わる。これにより、マスタ装置は、通信許可信号の出力先を切り換えるためのソフト処理を実行しなくてもよくなり、マスタ装置の負荷(具体的には、例えばマスタ装置に設けられて該マスタ装置の動作を司るCPUの負荷)が低減する。
また、マスタ装置の負荷をより低減させるためには、請求項2にように構成するとよい。
請求項2の通信システムは、請求項1の通信システムにおいて、マスタ装置は、複数のスレーブ装置のそれぞれに送信すべき送信データが記憶されるとともに、複数のスレーブ装置のそれぞれからの受信データを記憶するRAMと、転送回路とを備えている。
転送回路は、通信対象のスレーブ装置へ送信すべき送信データを、RAMからマスタ装置が備えるデータ送信用の送信回路に転送するとともに、通信対象のスレーブ装置からの受信データを、マスタ装置が備えるデータ受信用の受信回路からRAMに転送する。
つまり、請求項2の通信システムによれば、送信データがRAMから送信回路にハード的に自動で転送されて、その送信回路を介して通信対象のスレーブ装置に送信されるようになる。また、通信対象のスレーブ装置からの受信データが、受信回路からRAMにハード的に自動で転送されて、RAMに記憶されるようになる。このため、マスタ装置は、データ転送のソフト処理を実行しなくてもよくなり、マスタ装置の負荷が低減する。
ここで、送信データ及び受信データの転送効率を上げるためには、請求項3のように構成することが好ましい。
請求項3の通信システムは、請求項2の通信システムにおいて、転送回路は、DMAコントローラであるとともに、一度にDMA転送可能なデータビット長の異なるDMAチャンネルを複数有している。そして、その複数のDMAチャンネルのうち、今回通信するスレーブ装置が送受信する送信データ及び受信データのデータビット長に、一度にDMA転送可能なデータビット長が合ったDMAチャンネルを用いて、送信データ及び受信データをDMA転送するようになっている。
このような請求項3の通信システムによれば、複数の送信データをそれぞれ一度にDMA転送することができ、また、複数の受信データをそれぞれ一度にDMA転送することができる。つまり、例えば個々の送信データ或いは受信データを分割してDMA転送しなくても良くなるため、転送効率を上げることができる。
また、DMAチャンネルを切り換えるためには、請求項4のように構成すれば良い。
請求項4の通信システムは、請求項3の通信システムにおいて、転送回路は、今回通信するスレーブ装置についての設定送信データ数分の送信データのDMA転送が完了すると、次に通信するスレーブ装置への送信データをDMA転送すべきDMAチャンネルを起動し、今回通信するスレーブ装置についての設定受信データ数分の受信データのDMA転送が完了すると、次に通信するスレーブ装置からの受信データをDMA転送すべきDMAチャンネルを起動するDMAチャンネル起動手段を備えている。
このような請求項4の通信システムによれば、DMAチャンネル起動手段により、ハード的にDMAチャンネルを切り換えることができ、このため、DMAチャンネルの切り換えをソフト処理で行わなくてもよくなって、マスタ装置の負荷を抑えることができる。また、次に使用すべきDMAチャンネルが自動的に起動されるため、DMA転送が確実に実行されるようになり、ひいてはマスタ装置とスレーブ装置とのデータ通信が確実に実行されるようになる。
次に、請求項5の通信システムは、請求項1〜4の通信システムにおいて、マスタ装置
は、設定送信データ数と設定受信データ数との双方又は一方を、複数のスレーブ装置のそれぞれに対応して記憶するデータ数記憶手段を備えていることを特徴としている。
このような請求項5の通信システムによれば、スレーブ装置毎に、送信すべき送信データ数及び受信すべき受信データ数の双方又は一方を異なる数にすることができるため、所望の通信を実現することができる。
次に、請求項6の通信システムは、請求項1〜5の通信システムにおいて、マスタ装置は、複数のスレーブ装置のそれぞれに対応して通信ビットレートを予め記憶するビットレート記憶手段を備え、該ビットレート記憶手段に記憶された通信ビットレートでデータを送受信するようになっていることを特徴としている。
このような請求項6の通信システムによれば、スレーブ装置毎に通信可能な通信ビットレートが異なっている場合でも、マスタ装置は、その各スレーブ装置と通信を行うことができるようになる。
また、ここで、送信時及び受信時で、異なる通信ビットレートで通信ができるようにすることが好ましい。そこで、請求項7の通信システムは、請求項6の通信システムにおいて、ビットレート記憶手段は、データ送信時の通信ビットレートと、データ受信時の通信ビットレートとをそれぞれ記憶していることを特徴としている。
このような請求項7の通信システムによれば、マスタ装置は、各スレーブ装置と、データの送信時とデータの受信時とで異なる通信ビットレートで通信ができるようになる。
次に、請求項8の通信システムは、請求項1〜7の通信システムにおいて、マスタ装置は、複数のスレーブ装置のそれぞれに対応してデータビット長を予め記憶するビット長記憶手段を備え、各スレーブ装置との間で、そのビット長記憶手段に記憶されたデータビット長でデータを送受信するようになっていることを特徴としている。
このような請求項8の通信システムによれば、スレーブ装置毎に通信可能なデータビット長が異なる場合でも、マスタ装置は、その各スレーブ装置と通信を行うことができるようになる。
また、ここで、送信時及び受信時で、異なるデータビット長で通信できるようにすることが好ましい。そこで、請求項9の通信システムは、請求項8の通信システムにおいて、ビット長記憶手段は、送信データのデータビット長と、受信データのデータビット長とをそれぞれ記憶していることを特徴としている。
このような請求項9の通信システムによれば、マスタ装置は、各スレーブ装置と、データの送信時とデータの受信時とで、異なるデータビット長のデータを送受信できるようになる。
次に、請求項10の通信システムは、請求項1〜9の通信システムにおいて、マスタ装置は、送信データにエラーチェックコードを付与する際の条件(以下、チェックコード付与条件と言う)を複数のスレーブ装置のそれぞれに対応して記憶するとともに、その記憶されたチェックコード付与条件に従って、送信データにエラーチェックコードを挿入するチェックコード制御回路を備えていることを特徴としている。
このような請求項10の通信システムによれば、チェックコード制御回路により、エラーチェックコードが、送信データに自動で付与されるようになる。このため、マスタ装置
は、エラーチェックコードを付与するためのソフト処理を実行しなくてもよくなり、マスタ装置の負荷が低減する。
そして、エラーチェックコードの付与は、具体的に、請求項11のようにすることができる。
請求項11の通信システムは、請求項10の通信システムにおいて、チェックコード付与条件には、エラーチェックコードの挿入間隔の情報が含まれており、チェックコード制御回路は、第1のカウンタのカウント値がエラーチェックコードの挿入間隔の情報が表すデータ数と一致した際に、送信データにエラーチェックコードを挿入するようになっている。
このような請求項11の通信システムによれば、所望のタイミングでエラーチェックコードを付与できるようになり、ひいては所望の通信が実現できる。
ところで、マスタ装置において、受信データについてエラーが検出された場合、エラーがどのスレーブ装置に対応するかが認識できることが好ましい。
そこで、請求項12の通信システムは、請求項10,11の通信システムにおいて、マスタ装置が受信する受信データ(即ち、スレーブ装置がマスタ装置に送信する送信データ)にはエラーチェックコードが付与されており、マスタ装置は、そのエラーチェックコードを用いてエラーを検出した場合に、フラグがセットされるエラーレジスタを、複数のスレーブ装置のそれぞれに対応して備えていることを特徴としている。
尚、各スレーブ装置に、請求項10,11の構成を備えるようにすれば、スレーブ装置からマスタ装置への送信データ、つまり、マスタ装置における受信データに、エラーチェックコードが付与されるようにすることができる。
そして、マスタ装置は、エラーチェックコードを用いてエラーを検出した場合、そのエラーが検出された受信データの送信元のスレーブ装置に対応するエラーレジスタにフラグをセットする。このため、マスタ装置において、どのスレーブ装置からの受信データにエラーが生じたかが分かるようになる。よって、例えば、フェールセーフ処理等を有効に実行することができるようになる。
次に、請求項13の通信システムは、請求項1〜12の通信システムにおいて、マスタ装置は、第1のカウンタ及び第2のカウンタのカウント値をそれぞれ、当該マスタ装置が複数のスレーブ装置のそれぞれに通信許可信号を1回づつ出力する間積算するとともに、第1のカウンタについての積算値(以下、第1積算値と言う)が複数のスレーブ装置のそれぞれについての設定送信データ数の合計と一致した際、或いは第2のカウンタについての積算値が複数のスレーブ装置のそれぞれについての設定受信データ数の合計と一致した際の何れか遅いタイミングで、割込みを発生させる割込み制御回路を備えていることを特徴としている。
つまり、請求項13の通信システムでは、マスタ装置が各スレーブ装置と一通り通信を実行し終えたタイミングで、割込みが発生するようになっている。これによれば、例えばスレーブ装置のそれぞれと通信が完了する毎に割込みが発生する場合と比較して、マスタ装置の負荷を低減させることができる。割込みに伴うソフト処理の実行(例えば、実行待ちタスクや高重要度タスクの実行)頻度が小さくなるためである。一方、各スレーブ装置との通信が一通り終了すれば、割込みが発生して実行待ちタスクや高重要度タスクが実行されるようになるため、所望の制御が実現されない、というような問題が生じないように
できる。
次に、請求項14の通信システムは、請求項1〜13の通信システムにおいて、マスタ装置と複数のスレーブ装置のそれぞれとは、シリアル通信を行うことを特徴としている。
例えばシリアル通信を行うような簡単な構成の通信システムにおいても、請求項1〜13のような構成を備えることができ、このためマスタ装置の負荷を低減させることができるようになる。
一方、請求項15の通信システムは、請求項1〜13の通信システムにおいて、共通の通信線は、第1通信線と第2通信線とからなる差動2線式通信線であり、マスタ装置と複数のスレーブ装置のそれぞれとは、差動通信を行うことを特徴としている。
このように、差動通信を行う通信システムにおいても、請求項1〜13のような構成を備えることができ、このため、高速の通信を実現しつつ、マスタ装置の負荷を低減させることができるようになる。
次に、請求項16の通信システムは、請求項1〜15の通信システムにおいて、マスタ装置は、クロックを出力するクロック回路を備え、マスタ装置及び複数のスレーブ装置のそれぞれは、クロックの立ち下がりタイミング及び立ち上がりタイミングの双方又は一方に同期して、受信データをラッチするラッチ回路を備えていることを特徴としている。
このように、クロック同期により通信を行う通信システムにおいても、請求項1〜15の構成を備えるようにすることができ、上述したような効果を得ることができる。
一方、請求項17の通信システムは、請求項1〜15に記載の通信システムにおいて、マスタ装置及び複数のスレーブ装置のそれぞれは、通信対象へ出力するデータ信号の論理レベルが連続する場合、ハイ又はローの出力レベルが変化し、論理レベルが連続しない場合、出力レベルが変化しないストローブ信号を出力するストローブ信号出力回路と、データ信号とストローブ信号とが入力されるとともに、何れか一方がハイであればハイレベルの信号を出力し、双方がハイ又はローであればローレベルの信号を出力する排他的論理和回路と、排他的論理和回路から出力される信号の立ち下がりタイミング及び立ち上がりタイミングに同期して、受信データをラッチするラッチ回路とを備えていることを特徴としている。
つまり、請求項17の通信システムは、いわゆるデータストローブ方式で通信を行うものであり、このような通信システムにおいても、請求項1〜15の構成を備えるようにすることができる。このため、データストローブ方式の通信で得られる利点、例えばノイズの低減といったような利点を享受しつつ、上述したようなCPUの負荷の低減という効果も得られる通信システムを提供することができる。
次に、請求項18の発明は、車両の各部を制御するための電子制御装置であって、請求項1〜17の何れか1項に記載の通信システムを内蔵したことを特徴とする電子制御装置である。
このような電子制御装置によれば、請求項1〜17について述べたような効果を得ることができる。
以下に、本発明の実施形態を図面に基づき説明する。
[第1実施形態]
〈電子制御装置の構成〉
図1は、本発明が適用された電子制御装置(以下、ECUと記載する)の構成図である。
図1のECU1は、車両を制御するためのものであり、コネクタ2と、マスタ装置としてのマイコン3と、スレーブ装置としての4つのLSI4とを備えている。
コネクタ2は、このECU1と他の機器とを接続するためのインタフェースである。
マイコン3は、周知のCPU5,ROM6,RAM7等を備え、ECU1の動作を制御する。
LSI4は、各種機能を実現する回路であり、マイコン3と通信可能に接続され、マイコン3からデータを受け取ったり、マイコン3に所定の処理結果のデータを渡したりする。具体的に、マイコン3は、通信を制御する通信制御回路10を備えるとともに、LSI4はそれぞれ、通信制御回路11を備え、その通信制御回路10,11を介して、マイコン3とLSI4とが通信を行う。尚、通信制御回路10の詳細については後述する。また、以下において、4つのLSI4を区別する場合には、図1における上のLSI4から順に、LSI(1)、LSI(2)、LSI(3)、LSI(4)と記載する。
〈接続関係〉
次に、図2は、マイコン3とLSI4との接続関係を表す接続図である。尚、図2では、LSI(3),(4)については、LSI(1),(2)と同様であるため、記載を省略している。
図2に示すように、マイコン3とLSI4とは、マイコン3からLSI4へ出力される後述するストローブ信号(以下、マイコン3からLSI4へのストローブ信号を送信ストローブと記載する)用の制御線と、マイコン3からLSI4へデータを送信するための送信データ用の通信線と、LSI4からマイコン3へ出力されるストローブ信号(以下、LSI4からマイコン3へ出力されるストローブ信号を受信ストローブと記載する)用の制御線と、マイコン3がLSI4からデータを受信するための受信データ用の通信線とで接続される。これらの通信線及び制御線は、LSI(1)〜(4)に共通のものであるとともに、2線式であり、マイコン3とLSI4とは、差動通信を行うようになっている。
加えて、マイコン3とLSI4とは、それぞれ、通信の許可或いは不許可を表すチップセレクト信号(以下、CS信号と記載する)用の個別の制御線で接続される。そして、本実施形態では、アクティブレベルとしてのローレベルのCS信号が入力されたLSI4は、通信が許可されたと判断して、マイコン3にデータを送出するようになっている。
〈通信制御回路10の構成、機能〉
ここで、通信制御回路10の構成及び機能について図3〜図5を用いて説明する。
まず、図3は、通信制御回路10の構成図である。図3に示すように、通信制御回路10は、マイコン3の内部バスに接続する内部バスインタフェース12、受信バッファレジスタ14a,送信バッファレジスタ14b、受信用内部シフトレジスタ16a、送信用内部シフトレジスタ16b、クロック生成回路18、及び転送制御回路20を中心に構成されている。
ここで、データの送受信に関して説明する。
まず、RAM7には、LSI4へ送信すべき送信データが記憶されており、その送信デ
ータは、内部バスインタフェース12を介して送信バッファレジスタ14bに転送される。尚、ここでは、後述するようにDMA転送されるようになっている。
送信バッファレジスタ14bにDMA転送された送信データは、送信用内部シフトレジスタ16bに送られ、さらに、その送信用内部シフトレジスタ16bから、ドライバBTDを介してLSI4に送信される。
次に、LSI4からの受信データは、レシーバBRDを介して受信用内部シフトレジスタ16aに入力される。そして、受信用内部シフトレジスタ16aに入力された受信データは、受信バッファレジスタ14aに送られ、その受信バッファレジスタ14aから、内部バスインタフェース12を介して、マイコン3のRAM7に転送される。尚、ここでも、後述するようにDMA転送される。
また、LSI4からの受信データは、クロック生成回路18にも入力されるようになっている。そして、このクロック生成回路18には、他に、レシーバBRSを介して受信ストローブが入力されるようになっている。尚、ドライバBTSは、送信ストローブ用であり、バッファb1〜b4は、CS信号用である。
ここで、クロック生成回路18の構成及び機能について、図4を用いて説明する。
まず、図4(a)は、クロック生成回路18の構成及び信号の流れを表すブロック図である。図4(a)に示すように、クロック生成回路18は、排他的論理和回路18aからなる。クロック生成回路18、つまり排他的論理和回路18aには、前述のように、受信データ及び受信ストローブが入力される。尚、図4(a)において、送信側とはLSI4であり、受信側とはマイコン3である。
ここで、受信ストローブ、即ちストローブ信号は、図4(b)の2段目に示すような信号である。
具体的に、ストローブ信号(図4(b)の2段目)は、データ信号の論理レベルが連続する場合には、ハイ又はローの出力レベルが変化し、データ信号の論理レベルが連続しない場合には、ハイ又はローの出力レベルが変化しない、という信号である。
そして、クロック生成回路18(排他的論理和回路18a)では、データ信号(LSI4からの受信データ)とストローブ信号(受信ストローブ)との何れか一方が論理「1」であればハイレベルとなり、双方が論理「1」又は論理「0」であれば、ローレベルとなる信号が生成される。
マイコン3では、クロック生成回路18により生成されるそのクロックの立ち上がり及び立ち下がりタイミングで、ラッチ回路19(図4(a))により、受信データがラッチされる。尚、このように、データ信号とストローブ信号とを用いて同期をとる方式は、データストローブ方式と言われる。
ここで、図3に戻り、転送制御回路20は、CS制御回路22と、DMA制御回路24と、割込み制御回路26と、CRC制御回路28と、ボーレート制御回路30とを備えている。
また、LSI(1)〜(4)のそれぞれに送信すべき送信データ数SN1〜SN4を記憶するレジスタ31〜34、及びLSI(1)〜(4)のそれぞれから受信すべき受信データ数RN1〜RN4を記憶するレジスタ35〜38を備えている。このレジスタ31〜
38には、マイコン3が起動した際、CPU5の処理により、送信データ数SN1〜SN4及び受信データ数RN1〜RN4が格納されるようになっている。
CS制御回路22は、CS信号の出力先を、LSI(1)〜(4)の何れかに切り換える回路である。ところで、本実施形態では、CS制御回路22は、CS信号の出力先を、LSI(1)→LSI(4)の順で切り換えるようになっている。つまり、マイコン3は、LSI(1)→LSI(4)の順で、各LSI4と通信を行うようになっている。
DMA制御回路24は、送信データ及び受信データのDMA転送を制御する回路である。
割込み制御回路26は、所定のタイミングで割込みを発生させる回路である。
CRC制御回路28は、予め定められた条件に従ってエラーチェックコード(本実施形態では、CRCである)を送信データに付与したり、受信データのエラーを検出したりするための回路である。
ボーレート制御回路30は、通信において、単位時間当たりの変復調の回数を制御する、言い換えると、所望の通信ビットレートで通信が行われるようにする回路である。
ここで、CS制御回路22、及びDMA制御回路24について、図5を用いて説明する。図5は、CS制御回路22、DMA制御回路24、及びその周辺を表す構成図である。
まず、CS制御回路22について説明する。図5に示すように、CS制御回路22は、送信データカウンタ44と、送信データ数SN1〜SN4が格納されるレジスタ45と、受信データカウンタ54と、受信データ数RN1〜RN4が格納されるレジスタ55と、比較回路C1,C2と、論理積回路50と、CS選択回路60とを備えている。
送信データカウンタ44は、送信データ数をカウントする。具体的に、送信用内部シフトレジスタ16bが、入力された送信データを1ビットづつ送信回路(図3のドライバBTD)に出力する。さらに、送信用内部シフトレジスタ16bは、データ数1つ分のビット数だけ送信データを出力すると、送信完了信号を送信データカウンタ44に出力するようになっている。そして、送信データカウンタ44は、その送信完了信号が入力されるとカウント動作して、これにより、送信データ数をカウントする。
受信データカウンタ54は、受信データ数をカウントする。具体的に、受信用内部シフトレジスタ16aに、受信回路(図3のレシーバBRD)を介して受信データが1ビットづつ入力される。さらに、受信用内部シフトレジスタ16aにデータ数1つ分のビット数だけ受信データが入力されると、その受信用内部シフトレジスタ16aは、受信完了信号を受信データカウンタ54に出力するようになっている。そして、受信データカウンタ54は、その受信完了信号が入力されるとカウント動作して、これにより、受信データ数をカウントする。
比較回路C1は、送信データカウンタ44のカウント値と、レジスタ45の送信データ数とを比較し、一致すると、ハイレベルの信号を出力する。
比較回路C2は、受信データカウンタ54のカウント値と、レジスタ55の受信データ数とを比較し、一致すると、ハイレベルの信号を出力する。
比較回路C1,C2の出力信号は、それぞれ、論理積回路50に入力される。論理積回
路50は、比較回路C1,C2からの信号がともにハイレベルの場合のみ、ハイレベルの信号をCS選択回路60に出力する。
CS選択回路60は、論理積回路50からのハイレベルの信号が入力されると、内部の接続を切り換える。まず、マイコン3の電源がオフの状態の場合、CS選択回路60では、CS信号用のLSI(1)〜(4)への制御線(以下、制御線CS1〜CS4と記載する)の何れも非接続の状態(グランドに接続されていない状態)である。そして、マイコン3により通信の開始を指令(マイコン3が図示しない通信開始レジスタへの書込みを実行)すると、CS選択回路60は、まず、制御線CS1をグランドに接続する。
すると、制御線CS1の出力レベルはアクティブレベルとしてのローレベルになり、制御線CS1と接続するLSI(1)は、通信が許可されたと判断し、マイコン3とLSI(1)とが通信を行う。
その後、論理積回路50からハイレベルの信号がCS選択回路60に入力されると、CS選択回路60は、接続を切り換えて制御線CS2をグランドに接続し、その信号の出力レベルをアクティブレベルにする。
このようにして、CS選択回路60は、ハイレベルの信号が入力される毎に、グランドとの接続を、制御線CS1→制御線CS2→制御線CS3→制御線CS4→非接続というように切り換える。これにより、LSI(1)〜(4)へのCS信号が順次アクティブレベルになり、マイコン3は、LSI(1)〜(4)と順次通信を行うようになる。
次に、DMA制御回路24について説明する。
DMA制御回路24は、DMA転送制御ブロック41、51を備えている。
DMA転送制御ブロック41は、送信データについてのものであり、送信データのDMA転送回数が格納されるレジスタ41aと、送信データのDMA転送回数をカウントするDMA転送カウンタ41bとを備えている。また、ここで、DMA転送制御ブロック41は、16ビットのデータを一度にDMA転送できるDMAチャンネル(以下、DMAチャンネルAと記載する)と、32ビットのデータを一度にDMA転送できるDMAチャンネル(以下、DMAチャンネルBと記載する)とを有しており、そのDMAチャンネル毎に、レジスタ41a及びDMA転送カウンタ41bを備えている。
DMA転送制御ブロック51は、受信データについてのものであり、16ビットのデータを一度にDMA転送できるDMAチャンネルCと、32ビットのデータを一度にDMA転送できるDMAチャンネルDとを有している。そして、そのDMAチャンネル毎に、受信データのDMA転送回数が格納されるレジスタ51aと、受信データのDMA転送回数をカウントするDMA転送カウンタ51bとを備えている。
さらに、図6及び図7を用いて説明する。
図6において、(a)、(b)は、ROM6に格納されるDMA転送に関する情報である。
図6(a)に示すように、通信対象のLSI(1)〜(4)のそれぞれに、データビット幅(長)及びデータ数が、送信及び受信のそれぞれについて対応付けられている。これは、送信可能なデータビット幅(長)、受信可能なデータビット幅(長)、送信すべき送信データ数、受信すべき受信データ数を表す。また、図面におけるCSch(chは、チ
ャンネルのことである)は、通信対象のLSI(1)〜(4)のそれぞれに対応する制御線(制御線CS1〜CS4の何れか)を表す。
また、図6(b)に示すように、DMAチャンネルA〜Dのそれぞれに、CSchが対応付けられるとともに、RAM7における送信データの読出開始位置或いは受信データの格納開始位置を表すRAMアドレス設定の情報、及びDMA転送回数の情報が対応付けられている。
ここで、図7は、RAM7における送信データ及び受信データの格納位置を表す図面である。尚、図7において、RAM7の各アドレスには、32ビットのデータが格納可能である。
図7に示すように、送信データについて、本例では、RAM7のアドレス「FFFF0000H」から順に、LSI(1)への16ビットの送信データ4つ及びLSI(3)への16ビットの送信データ3つ、つまり合わせて7つの16ビット送信データが格納されている。また、アドレス「FFFF0018H」から順に、LSI(2)への32ビットの送信データ2つ及びLSI(4)への32ビットの送信データ2つ、つまり合わせて4つの32ビット送信データが格納されている。
また、受信データについて、本例では、16ビットの受信データはRAM7のアドレス「FFFF1000H」から順に格納され、32ビットの受信データはアドレス「FFFF1014H」から順に格納される。例えば、アドレス「FFFF1000H」から順に、LSI(1)からの16ビットの受信データ2つ及びLSI(2)からの16ビットの受信データ3つ、つまり合わせて5つの16ビット受信データが格納されることとなる。また、アドレス「FFFF1014H」から順に、LSI(3)からの32ビットの受信データ3つ及びLSI(4)からの32ビットの受信データ4つ、つまり合わせて7つの32ビット受信データが格納されることとなる。
そして、図6(c)に示すように、LSI(1)との通信(制御線CS1のCS信号がアクティブレベル)では、16ビット送信用のDMAチャンネルAと16ビット受信用のDMAチャンネルCとが起動される。
また、LSI(1)との通信が終了すると、次に、LSI(2)との通信で使用すべき32ビット送信用のDMAチャンネルBと、16ビット受信用のDMAチャンネルCが起動する。以下、LSI(3)、(4)についても同様である。
次に、転送制御回路20の動作について説明する。
マイコン3のCPU5が通信の開始を転送制御回路20に指令すると、転送制御回路20では、まず、最初の通信対象であるLSI(1)に送信すべき送信データ数SN1(図6(a)に示すように、本例では「4」)がレジスタ45(図5参照)に格納されるとともに、LSI(1)から受信すべき受信データ数RN1(本例では「2」)がレジスタ55(図5参照)に格納される。
また、各DMAチャンネルA,Bのレジスタ41a(図5参照)及びDMAチャンネルC,Dのレジスタ51a(図5参照)には、DMA転送回数(図6(b)参照)が格納される。
そして、送信に関して、DMA転送制御ブロック41(図5参照)がROM6に記憶された図6(a)、(b)の情報に基づき動作して、最初に起動すべきDMAチャンネルA
が起動する。この場合、図6(a)によれば、送信データ数が「4」であるため、DMA送信要求が4回発生して、4つの送信データ(図7において、アドレス「FFFF0000H」の先頭から4つ分)がDMA転送される。つまり、RAM7から、その4つの送信データが、内部バスインタフェース12を介して送信バッファレジスタ14bにDMA転送される。
送信バッファレジスタ14bは、DMA転送された送信データを送信用内部シフトレジスタ16bに転送し、転送が完了すると、転送完了信号をDMA転送カウンタ41bに出力する。DMA転送カウンタ41bは、転送完了信号が入力されるとカウント動作する。これにより、DMA転送の実行回数が認識される。
また、送信用内部シフトレジスタ16bから、4つ分の送信データがLSI(1)に出力される、言い換えると、送信データカウンタ44により「4」がカウントされると、比較回路C1からハイ信号が出力される。
一方、受信に関して、受信用内部シフトレジスタ16aに、LSI(1)から2つ分の受信データが入力される、言い換えると、受信データカウンタ54により「2」がカウントされると、比較回路C2からハイ信号が出力される。
また、DMA転送制御ブロック51(図5参照)が図6(a)、(b)の情報に基づき動作して、最初に起動すべきDMAチャンネルCが起動する。そして、図6(a)によれば、受信データ数が「2」であるため、DMAチャンネルCにおいてDMA受信要求が2回発生して、2つの受信データがDMA転送され、RAM7に格納される(図7において、アドレス「FFFF1000H」の先頭から2つ分)ようになる。
また、ここで、比較回路C1,C2の両方からハイ信号が出力されると、論理積回路50からCS選択回路60にハイ信号が出力され、CS選択回路60内部の接続が切り換わって、制御線CS2のCS信号がアクティブレベルになる。つまり、マイコン3とLSI(2)とが通信を行うようになる。
また、この際、論理積回路50から、レジスタ45,55のデータの格納を制御する図示しない制御回路にもハイ信号が出力される。その制御回路は、次に通信すべきLSI(2)についての送信データ数SN2をレジスタ45に格納するとともに、受信データ数RN2をレジスタ55に格納する。
一方、DMAチャンネルAのDMA転送(4回)が完了すると、図6(a)、(b)の情報に基づき、次に起動すべきDMAチャンネルBが起動し、DMA送信要求が2回発生して2つの送信データ(図7において、アドレス「FFFF0018H」の先頭から2つ分)がDMA転送される。また、図6(a)、(b)の情報に基づき、DMAチャンネルCで、続けて、3回のDMA受信要求が発生して3つの受信データがDMA転送され、RAM7に格納される(図7において、アドレス「FFFF1000H」の先頭から数えて3つ目〜5つ目)。
以下説明を省略するが、このようにして、マイコン3では、所定数の送信データがRAM7からDMA転送されるとともに、その送信データがLSI4に送信され、また、所定数の受信データがLSI4から受信されるとともに、その受信データがRAM7にDMA転送されるようになっている。かつ、通信対象が自動的に切り換わって、マイコン3は、LSI(1)〜(4)と順次通信を行うようになっている。
尚、図6(c)の下段に示すように、LSI(1)〜(4)との通信が一通り終了する
と、マイコン3では、割込み制御回路26(図3参照)が割込みを発生させる(図10も参照)。
そして、次に、図8〜図13、図15、図16は、本実施形態の作用(データ通信の態様)を表す図面であり、図14は、CPU5が実行する処理の一例である。尚、図17は、従来のデータ通信の態様を表す図面である。以下、順に説明する。
〈データ通信の例〉
図8は、マイコン3とLSI(1)とのデータ通信を表すタイムチャートである。尚、マイコン3は、LSI(2)〜(4)とも同じようにデータ通信を行う。
まず、マイコン3のCPU5の処理により、通信の開始が指令されると、CS選択回路60(図5参照)の動作により、制御線CS1のCS信号がアクティブレベルとしてのローレベルになる。そして、マイコン3は、LSI(1)へ送信データを送信するとともに、LSI(1)からマイコン3へ送信されるデータを受信する。
この例では、マイコン3からの送信データ数SN1及びLSI(1)からの受信データ数RN1はともに「6」である。そして、マイコン3からLSI(1)へデータ数6つ分の送信データが送信されるとともに、マイコン3にてデータ数6つ分だけLSI(1)からの受信データが受信され、送信完了時及び受信完了時の何れか遅いタイミングで、CS選択回路60内部の接続が切り換わることとなり、この場合CS信号が非アクティブレベルとしてのハイレベルになって、マイコン3とLSI(1)との通信が終了する。
また、図9は、送信データ数と受信データ数とがそれぞれ異なる例のタイムチャートである。尚、図9も、マイコン3とLSI(1)とのデータ通信を表すものとする。
図9の上段は、送信データ数SN1が「5」、受信データ数RN1が「10」の例である。また、図9の下段は、送信データ数SN1が「9」、受信データ数RN1が「4」の例である。
この例でも、前述のように、送信完了時及び受信完了時の何れか遅いタイミングで、CS信号が非アクティブレベルになって、マイコン3とLSI(1)との通信が終了することとなる。
〈割込み制御〉
次に、図10は、割込み発生のタイミングを示すタイムチャートである。割込みは、前述の割込み制御回路26(図3参照)が発生させる。
割込み制御回路26は、送信データカウンタ44(図5参照)のカウント値を読み出し、LSI(1)〜LSI(4)に送信される送信データ数の合計をカウントするとともに、受信データカウンタ54(図5参照)のカウント値を読み出し、LSI(1)〜LSI(4)からの受信データ数の合計をカウントする。そして、カウントした送信データ数が、送信データ数SN1〜SN4の合計と一致し、かつ、カウントした受信データ数が、受信データ数RN1〜RN4の合計と一致すると、割込みを発生させる。
つまり、マイコン3がLSI(1)〜(4)と一通りデータ通信を行った際に、割込みが発生するようになっている。尚、割込みが発生すると、マイコン3のCPU5は、実行待ちのタスクや重要度の高いタスクを実行する。
〈通信速度制御〉
次に、図11は、通信ビットレートが異なる例を表すタイムチャートである。尚、図11は、マイコン3と、LSI(1)、(2)とのデータ通信の例である。
ところで、通信可能な通信ビットレートは、LSI4の種類や仕様等により異なる。
そこで、各LSI4とのデータの送受信の際の通信ビットレートの情報を、予めマイコン3のROM6(RAM7でも良い)に記憶させておき、前述のボーレート制御回路30(図3参照)がその情報を参照して、LSI4毎に、及び送信時と受信時とで、それぞれの通信ビットレートで通信が行われるようにする。具体的に、ボーレート制御回路30は、例えばクロック周波数を変化させる。
このような構成によれば、マイコン3は、図11に示すように、例えばLSI(1)との間では、32Mbpsでデータを送信し、16Mbpsでデータを受信することができるようになる。また、LSI(2)との間では、32Mbpsでデータを送信し、同じく32Mbpsでデータを受信することができるようになる。
〈エラーチェック制御〉
次に、図12は、エラーチェックコード(本実施形態では、CRC)が付与される例を表すタイムチャートである。尚、図13は、マイコン3とLSI(1)とのデータ通信の例である。
マイコン3は、前述のように、CRC制御回路28(図3参照)を備えている。また、CRC制御回路28は、受信CRC確認ブロック17a及び送信CRC生成ブロック17b(図5参照)を備えている。そして、受信CRC確認ブロック17aは、CRCを用いて受信データのエラーを検出する。一方、送信CRC生成ブロック17bは、送信データに、所定の条件にしたがってCRCを付与するようになっている。尚、LSI4の通信制御回路11も、CRC制御回路28と同じ機能を有しており、マイコン3への送信データに、CRCを付与するようになっている。
図12に示すように、CRCを付与する際の付与条件を表す情報が予めマイコン3のROM6(或いは、RAM7でも良い)に記憶されるようになっており、送信CRC生成ブロック17bは、その記憶された付与条件に従って、送信データにCRCを付与する。尚、本実施形態では、ROM6には、LSI(1)からマイコン3への送信データについての付与条件も記憶されている。つまり、ROM6には、送信データと受信データのそれぞれについて、付与条件が記憶されている。
送信CRC生成ブロック17bは、付与条件に従い、送信データ数2つ(対象データ数=2)毎にCRCを付与して、あわせて3つのCRCを付与(CRC付与数=3)する。この際、送信データカウンタ44のカウント値を参照して、カウント値が2増加する毎(つまり、2つの送信データが送信される毎)に、CRCを送信用内部シフトレジスタ16bに入力する。尚、CRCを付与する場合には、レジスタ45(図5参照)には、送信データ数SN1〜SN4に、送信についてのCRC付与数をプラスした値が設定されることになる。具体的には、送信データ数SN1〜SN4と送信についてのCRC付与数とが図示しない加算回路により加算されるとともに、その加算値がレジスタ45に入力されるようになっている。受信データについても同様である。つまり、レジスタ55には、受信データ数RN1〜RN4に、受信についてのCRC付与数をプラスした値が設定されることになる。
また、ここで、送信用内部シフトレジスタ16bにCRCが入力されると、その入力されたCRCが送信用内部シフトレジスタ16bから出力されるまでは、送信バッファレジスタ14bにDMA転送された送信データは、送信用内部シフトレジスタ16bに出力されない。そして、送信バッファレジスタ14bから送信データが出力されるまでは、RAM7から次の送信データが送信バッファレジスタ14bにDMA転送されなくなる。
つまり、送信CRC生成ブロック17bがCRCを付与しても、結果的に送信データ数SN1〜SN4分の送信データが送信されるようになるとともに、CRCが出力された後、通信が停止することとなり、所望の通信が実現される。
また、ここで、マイコン3は、図13(7段目〜10段目)に示すように、エラーが検出された際にフラグがセットされるエラーレジスタを、LSI4のそれぞれに対応して備えている。
図13のように、例えばLSI(2)との通信中に受信CRC確認ブロック17aによりエラーが検出されると、その受信CRC確認ブロック17aにより、LSI(2)についてのエラーレジスタにフラグがセットされる。
加えて、マイコン3のCPU5は、図14に示す処理を、各LSI4のそれぞれについて実行する。尚、CPU5は、図14の処理を、割込みが発生した際に実行する。
この処理では、まず、S110で、エラー履歴があるか否かを判定する。具体的に、エラーレジスタにフラグがセットされているか否かを判定する。エラー履歴があると判定すると、S120へ移行し、エラー発生回数をカウントする図示しないエラーカウンタを1だけインクリメントするとともに、エラーレジスタをリセットする。
次に、S130へ進み、エラーカウンタのカウント値が3であるか否かを判定する。カウント値が3であると判定すると、S140へ移行し、通信異常をダイアグ情報として所定のメモリに記憶するとともに、所定のフェールセーフ処理を実行する。一方、S130でカウント値が3でない(3未満)と判定すると、そのまま当該処理を終了する。
また、S110で、エラー履歴がないと判定すると、S150へ移行し、受信した受信データに基づき、各種制御を実行する。
次に、図15は、ECU1を用いた車両制御の一例を表す図である。この例では、車両のエンジンの8気筒分について、4つのLSI4が各気筒に設けられたセンサから検出されるデータ値のA/D変換を行う。図15では、LSI(1)がセンサ#1,2を担当し、LSI(2)がセンサ#3,4を担当し、LSI(3)がセンサ#5,6を担当し、LSI(4)がセンサ#7,8を担当する。
図15の例では、センサ#1〜#8それぞれから、0.5°CA毎(エンジンのクランク軸が0.5°回転する毎)にそのセンサ#1〜#8の電圧値が検出され、LSI4は、その電圧値をA/D変換する。そして、90°CA毎に、マイコン3は、各LSI4と通信を行って、処理結果のデータ(A/D変換値)を受け取る。
つまり、図15の例では、マイコン3は、(1)〜(8)で示す期間(下から1段目参照)LSI4と通信を行うこととなる。そして、例えば(2)の期間を詳細に表したのが、図16である。
図16に示すように、90°CAのタイミングで、通信が起動される(CPU5が通信開始を指令する)。すると、まず、制御線CS1のCS信号がアクティブレベルになって、マイコン3はLSI(1)と通信を行う。完了すると、続いて自動的に、制御線CS2のCS信号がアクティブレベルになって、マイコン3はLSI(2)と通信を行う。以下、同様にして、マイコン3は、LSI(3)及びLSI(4)と、それぞれ通信を行う。
マイコン3とLSI(1)〜(4)との通信が一通り終了すると、割込みが発生し、マ
イコン3はLSI4との通信を停止する(CS選択回路60の接続状態が非接続状態となる)とともに、受信データに基づき、各種制御のための処理を実行する。例えば、失火判定等を行う。尚、この間(90°CAのタイミング以降の期間)も、LSI4は、それぞれ、センサ#1〜#8から検出される電圧値のA/D変換を行う。
そして、次に、180°CAのタイミングになると、再び通信が起動され、マイコン3とLSI4との通信が開始される。
つまり、各LSI4は、マイコン3との前回のデータ通信が終了したタイミングから90°CAに相当する期間データを取得するとともに保持して、その保持していたデータを次のデータ通信でマイコン3に出力する。
〈従来例〉
ここで、参考として、従来のソフト制御を主に利用した通信の例について、図17を用いて説明する。図17の例では、まず、90°CAのタイミングで通信が起動されるとともにソフト処理でLSI(1)のCS信号がアクティブレベルになり、マイコン3とLSI(1)とが通信を行う。完了すると、割込みが発生する。すると、マイコン3は、一旦LSI4との通信を停止し、割込み処理を実行する。そして、再び通信が起動されるとともにソフト処理でLSI(2)のCS信号がアクティブレベルに切り換えられると、次にマイコン3とLSI(2)とが通信を行う。以下、同様にして、マイコン3は、LSI(3)及びLSI(4)と、それぞれ通信を行う。そして、マイコン3は、各LSI4との通信が一通り終了すると、受信データに基づき、各種制御のための処理を実行する。
ところで、このような従来例のように、各LSI4との通信が終了する毎にソフト処理でCS信号を切り換えるようにすると、CPU5の負荷が大きくなってしまう。また、切り換えのために時間がかかってしまう。しかも、CS信号の切り換え毎に割込みが発生すると、さらにCPU5の負荷が大きくなってしまう。
そうすると、規定期間内に制御のための処理が終了しない場合が生じる。例えば、図17に示すように、各種制御のための処理が、次の通信の開始タイミング(180°CAのタイミング)までに終わらないこととなる。尚、この場合、適切な制御が実現されないこととなってしまう。
〈本実施形態の効果〉
これに対し、本実施形態では、これまで説明したように、CS信号がハード構成により自動的に切り換わるとともに、マイコン3がLSI4と一通り通信を行ってから割込みが自動的に発生するように構成されている。このため、CPU5の負荷が増大することがなく、また、図16に示すように、マイコン3がLSI(1)〜(4)と連続で通信を行うことができるようになる。よって、例えば、図16のように、各種制御のための処理が規定期間内に終了するようにすることができ、これにより適切な制御が実現されるようになる。
また、本実施形態では、送信データ数と受信データ数とが個別に記憶され、送信が完了した際、或いは受信が完了した際の何れか遅いタイミングで、CS信号が切り換わるようになっている。このため、マイコン3とLSI4との通信が確実に実現される。
また、DMA制御回路24により、送信データ及び受信データがDMA転送されるようになっているため、CPU5の負荷の増大を抑えることができる。しかも、送信データ数及び受信データ数に合わせて、DMA転送回数も予め記憶されており、このため、DMA転送とデータの送受信とが間接的に連動して、データ通信がスムーズに行われるようになる。
また、本実施形態では、マイコン3は、通信可能な通信ビットレートやデータビット長がLSI4毎に異なる場合でも、各LSI4と通信を行うことができるようになっている。つまり、マイコン3の汎用性が広いと言える。
また、マイコン3は、ハード構成(CRC制御回路28)により、送信データにCRCを付与するようになっているため、これにより、CPU5の負荷が増大することなく、データ通信の確実性が担保される。また、CRCが付与された受信データについてエラーが検出されると、エラーレジスタにフラグがセットされるようになっており、これにより、フェールセーフ処理等を有効に実施できるようになる。
また、本実施形態では、データ信号とストローブ信号とを用いて同期をとるデータストローブ方式を採用しており、これによれば、ノイズが低減するという効果や、データ信号とクロック信号との間に生じる時間のずれの調整が不要になるという効果も合わせて得られる。
尚、本実施形態において、送信データカウンタ44が第1のカウンタに相当し、比較回路C1が第1の比較回路に相当し、受信データカウンタ54が第2のカウンタに相当し、比較回路C2が第2の比較回路に相当し、論理積回路50及びCS選択回路60が切換回路に相当し、ドライバBTDが送信回路に相当し、レシーバBRDが受信回路に相当し、DMA制御回路24が転送回路に相当し、CRC制御回路28がチェックコード制御回路に相当し、割込み制御回路26が割込み制御回路に相当し、ラッチ回路19がラッチ回路に相当し、図4(b)に示すストローブ信号及びドライバBTSがストローブ信号出力回路に相当し、DMA転送制御ブロック41,51がDMAチャンネル起動手段に相当し、ROM6がデータ数記憶手段、ビットレート記憶手段、ビット長記憶手段に相当している。
[第2実施形態]
次に、第2実施形態について説明するが、第1実施形態と異なる点についてのみ説明する。
第2実施形態のECU1は、第1実施形態のECU1と比較して、マイコン3と4つのLSI4との通信方法が異なっている。図18は、第2実施形態のECU1におけるマイコン3とLSI4との接続関係を表す接続図である。
図18に示すように、本第2実施形態では、第1実施形態と異なり、マイコン3からLSI4へ送信される送信データ用の通信線、及びマイコン3がLSI4から受信する受信データ用の通信線は、それぞれ1本であり、マイコン3とLSI4とは、シリアル通信を行うようになっている。また、ストローブ信号を出力しない点が異なっている。
そして、マイコン3は、図19に示す構成を有している。
本第2実施形態のマイコン3は、第1実施形態と比較して、図19に示すように、受信用内部シフトレジスタ16a及び送信用内部シフトレジスタ16bに代えて、送受信用内部シフトレジスタ46を備えている点、クロック生成回路18を備えていない点、送信データ数及び受信データ数を合わせた送受信データ数n1〜n4を記憶するレジスタ61〜64を備えている点が異なっている。また、CS制御回路22の構成が異なっている。
ここで、本第2実施形態のCS制御回路22、及びその周辺の構成を、図20に示す。
図20に示すように、本第2実施形態のCS制御回路22は、第1実施形態と比較して、送信データカウンタ44及び受信データカウンタ54に代えて、送受信データカウンタ
47を備えている点、送信データ数が格納されるレジスタ45及び受信データ数が格納されるレジスタ55に代えて、送受信データ数n1〜n4が格納されるレジスタ48を備えている点、比較回路C1のみを備えている点、論理積回路50を備えていない点が異なっている。
図19において、送受信用内部シフトレジスタ46の動作は、基本的に、受信用内部シフトレジスタ16a及び送信用内部シフトレジスタ16bと同じである。尚、送受信用内部シフトレジスタ46は、受信データ及び送信データを同時に格納することはできないようになっている。
図20において、送受信データカウンタ47は、送信データ数及び受信データ数を合わせてカウントする。
具体的に、まず、送受信用内部シフトレジスタ46は、送信バッファレジスタ14bから入力された送信データを、1ビットづつ送信回路(バッファbT:図19参照)に出力する。さらに、送受信用内部シフトレジスタ46は、データ数1つ分のビット数だけ送信データを出力すると、送信完了信号を送受信データカウンタ47に出力する。また、送受信用内部シフトレジスタ46には、受信回路(バッファbR:図19参照)を介して受信データが1ビットづつ入力される。さらに、送受信用内部シフトレジスタ46にデータ数1つ分のビット数だけ受信データが入力されると、その送受信用内部シフトレジスタ46は受信完了信号を送受信データカウンタ47に出力する。
そして、送受信データカウンタ47は、その送信完了信号及び受信完了信号が入力されるとカウント動作し、これにより、送信データ数及び受信データ数を合わせてカウントする。
レジスタ48には、送受信データ数n1〜n4が、順次格納されるようになっている。尚、どのように格納されるかは、第1実施形態と同様である。
比較回路C1は、送受信データカウンタ47のカウント値と、レジスタ48に格納された送受信データ数とを比較し、一致すると、ハイレベルの信号をCS選択回路60に出力する。
つまり、本第2実施形態のECU1によれば、通信線が1本の線からなる通信システムにおいて、第1実施形態について述べた効果と同じ効果を得ることができる。
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の技術範囲内において種々の形態をとることができる。
例えば、上記実施形態では、CPU5は、図14の処理を割込みが発生した際に実行するが、割込み発生時以外において実行するようにしてもよい。
また、上記第1実施形態において、データストローブ方式を用いないようにしてもよい。一方、上記第2実施形態において、データストローブ方式を用いるようにしてもよい。
また、マスタECUと複数のスレーブECUとからなる通信システム、つまり、ECU同士が通信を行う通信システムにおいても、本発明を適用することができる。
発明が適用されたECU1の構成図である。 マイコン3とLSI4との接続状態を表す接続図である。 通信制御回路10及びその周辺の構成図である。 クロック生成回路18を説明する図である。 CS制御回路22及びその周辺の構成図である。 DMA転送を説明する図である。 RAM7におけるデータ格納位置を説明する図である。 本実施形態の作用を表すタイムチャートである(その1)。 本実施形態の作用を表すタイムチャートである(その2)。 CS自動切換、割込み発生を説明するタイムチャートである。 本実施形態の作用を表すタイムチャートである(ビットレート)。 本実施形態の作用を表すタイムチャートである(CRC付与)。 エラー検出を説明する図である。 CPU5がエラー検出に関して実行する処理のフローチャートである。 ECU1の動作の具体例を説明する図である(その1)。 ECU1の動作の具体例を説明する図である(その2)。 従来の動作の一例を説明する図である。 第2実施形態のマイコン3とLSI4との接続状態を表す接続図である。 第2実施形態の通信制御回路10及びその周辺の構成図である。 第2実施形態のCS制御回路22及びその周辺の構成図である。
符号の説明
1…ECU、2…コネクタ、3…マイコン、4…LSI、10…通信制御回路、12…内部バスインタフェース、14a…受信バッファレジスタ、14b…送信バッファレジスタ、16a…受信用内部シフトレジスタ、16b…送信用内部シフトレジスタ、17a…受信CRC確認ブロック、17b…送信CRC生成ブロック、18…クロック生成回路、18a…排他的論理和回路、19…ラッチ回路、20…転送制御回路、22…CS制御回路、24…DMA制御回路、26…割込み制御回路、28…CRC制御回路、30…ボーレート制御回路、31〜38…レジスタ、41…DMA転送制御ブロック、41b…DMA転送カウンタ、44…送信データカウンタ、46…送受信用内部シフトレジスタ、47…送受信データカウンタ、50…論理積回路、51…DMA転送制御ブロック、51b…DMA転送カウンタ、54…受信データカウンタ、60…CS選択回路、61〜64…レジスタ、C1,C2…比較回路。

Claims (18)

  1. マスタ装置と複数のスレーブ装置とが、データ通信のための共通の通信線と、そのマスタ装置と各スレーブ装置とを個別に接続する制御線(以下、CS線と言う)とで接続され、前記マスタ装置と、そのマスタ装置から前記CS線を介して通信許可信号が入力された何れかのスレーブ装置とが、前記通信線を介してデータ通信を行うように構成された通信システムにおいて、
    前記マスタ装置は、前記通信許可信号の出力先を前記複数のスレーブ装置の何れかに切り換える手段として、
    当該マスタ装置から通信中のスレーブ装置へ出力されるデータの数(以下、送信データ数と言う)をカウントする第1のカウンタと、
    前記第1のカウンタによりカウントされる送信データ数と、予め送信に関して記憶されたデータ数(以下、設定送信データ数と言う)とを比較し、両者が同一になると、第1の信号を出力する第1の比較回路と、
    前記通信中のスレーブ装置から当該マスタ装置に入力されるデータの数(以下、受信データ数と言う)をカウントする第2のカウンタと、
    前記第2のカウンタによりカウントされる受信データ数と、予め受信に関して記憶されたデータ数(以下、設定受信データ数と言う)とを比較し、両者が同一になると、第2の信号を出力する第2の比較回路と、
    前記第1の比較回路及び前記第2の比較回路から前記第1の信号及び前記第2の信号の両方が出力されると、前記通信許可信号の出力先を、前記複数のスレーブ装置のうち、当該マスタ装置が次に通信すべきスレーブ装置に切り換える切換回路とを備えていることを特徴とする通信システム。
  2. 請求項1に記載の通信システムにおいて、
    前記マスタ装置は、
    前記複数のスレーブ装置のそれぞれに送信すべき送信データが記憶されるとともに、前記複数のスレーブ装置のそれぞれからの受信データを記憶するRAMと、
    通信対象のスレーブ装置へ送信すべき送信データを、前記RAMから当該マスタ装置が備えるデータ送信用の送信回路に転送するとともに、通信対象のスレーブ装置からの受信データを、当該マスタ装置が備えるデータ受信用の受信回路から前記RAMに転送する転送回路とを備えていることを特徴とする通信システム。
  3. 請求項2に記載の通信システムにおいて、
    前記転送回路は、DMAコントローラであるとともに、一度にDMA転送可能なデータビット長の異なるDMAチャンネルを複数有し、その複数のDMAチャンネルのうち、今回通信するスレーブ装置が送受信する送信データ及び受信データのデータビット長に、一度にDMA転送可能なデータビット長が合ったDMAチャンネルを用いて、送信データ及び受信データをDMA転送するようになっていることを特徴とする通信システム。
  4. 請求項3に記載の通信システムにおいて、
    前記転送回路は、
    今回通信するスレーブ装置についての前記設定送信データ数分の送信データのDMA転送が完了すると、次に通信するスレーブ装置への送信データをDMA転送すべきDMAチャンネルを起動し、今回通信するスレーブ装置についての前記設定受信データ数分の受信データのDMA転送が完了すると、次に通信するスレーブ装置からの受信データをDMA転送すべきDMAチャンネルを起動するDMAチャンネル起動手段を備えていることを特徴とする通信システム。
  5. 請求項1ないし請求項4の何れか1項に記載の通信システムにおいて、
    前記マスタ装置は、
    前記設定送信データ数と前記設定受信データ数との双方又は一方を、前記複数のスレーブ装置のそれぞれに対応して記憶するデータ数記憶手段を備えていることを特徴とする通信システム。
  6. 請求項1ないし請求項5の何れか1項に記載の通信システムにおいて、
    前記マスタ装置は、
    前記複数のスレーブ装置のそれぞれに対応して通信ビットレートを予め記憶するビットレート記憶手段を備え、該ビットレート記憶手段に記憶された通信ビットレートでデータを送受信するようになっていることを特徴とする通信システム。
  7. 請求項6に記載の通信システムにおいて、
    前記ビットレート記憶手段は、データ送信時の通信ビットレートと、データ受信時の通信ビットレートとをそれぞれ記憶していることを特徴とする通信システム。
  8. 請求項1ないし請求項7の何れか1項に記載の通信システムにおいて、
    前記マスタ装置は、
    前記複数のスレーブ装置のそれぞれに対応してデータビット長を予め記憶するビット長記憶手段を備え、各スレーブ装置との間で、そのビット長記憶手段に記憶されたデータビット長でデータを送受信するようになっていることを特徴とする通信システム。
  9. 請求項8に記載の通信システムにおいて、
    前記ビット長記憶手段は、送信データのデータビット長と、受信データのデータビット長とをそれぞれ記憶していることを特徴とする通信システム。
  10. 請求項1ないし請求項9の何れか1項に記載の通信システムにおいて、
    前記マスタ装置は、
    送信データにエラーチェックコードを付与する際の条件(以下、チェックコード付与条件と言う)を前記複数のスレーブ装置のそれぞれに対応して記憶するとともに、その記憶されたチェックコード付与条件に従って、送信データにエラーチェックコードを挿入するチェックコード制御回路を備えていることを特徴とする通信システム。
  11. 請求項10に記載の通信システムにおいて、
    前記チェックコード付与条件には、エラーチェックコードの挿入間隔の情報が含まれており、前記チェックコード制御回路は、第1のカウンタのカウント値が前記エラーチェックコードの挿入間隔の情報が表すデータ数と一致した際に、送信データにエラーチェックコードを挿入するようになっていることを特徴とする通信システム。
  12. 請求項10又は請求項11に記載の通信システムにおいて、
    前記受信データにはエラーチェックコードが付与されており、
    前記マスタ装置は、そのエラーチェックコードを用いてエラーを検出した場合に、フラグがセットされるエラーレジスタを、前記複数のスレーブ装置のそれぞれに対応して備えていることを特徴とする通信システム。
  13. 請求項1ないし請求項12の何れか1項に記載の通信システムにおいて、
    前記マスタ装置は、
    前記第1のカウンタ及び第2のカウンタのカウント値をそれぞれ、当該マスタ装置が前記複数のスレーブ装置のそれぞれに前記通信許可信号を1回づつ出力する間積算するとともに、第1のカウンタについての積算値(以下、第1積算値と言う)が前記複数のスレーブ装置のそれぞれについての前記設定送信データ数の合計と一致した際、或いは第2のカ
    ウンタについての積算値が前記複数のスレーブ装置のそれぞれについての前記設定受信データ数の合計と一致した際の何れか遅いタイミングで、割込みを発生させる割込み制御回路を備えていることを特徴とする通信システム。
  14. 請求項1ないし請求項13の何れか1項に記載の通信システムにおいて、
    前記マスタ装置と前記複数のスレーブ装置のそれぞれとは、シリアル通信を行うことを特徴とする通信システム。
  15. 請求項1ないし請求項13の何れか1項に記載の通信システムにおいて、
    前記共通の通信線は、第1通信線と第2通信線とからなる差動2線式通信線であり、前記マスタ装置と前記複数のスレーブ装置のそれぞれとは、差動通信を行うことを特徴とする通信システム。
  16. 請求項1ないし請求項15の何れか1項に記載の通信システムにおいて、
    前記マスタ装置は、クロックを出力するクロック回路を備え、
    前記マスタ装置及び前記複数のスレーブ装置のそれぞれは、前記クロックの立ち下がりタイミング及び立ち上がりタイミングの双方又は一方に同期して、受信データをラッチするラッチ回路を備えていることを特徴とする通信システム。
  17. 請求項1ないし請求項15の何れか1項に記載の通信システムにおいて、
    前記マスタ装置及び前記複数のスレーブ装置のそれぞれは、
    通信対象へ出力するデータ信号の論理レベルが連続する場合、ハイ又はローの出力レベルが変化し、前記論理レベルが連続しない場合、前記出力レベルが変化しないストローブ信号を出力するストローブ信号出力回路と、
    前記データ信号と前記ストローブ信号とが入力されるとともに、何れか一方がハイであればハイレベルの信号を出力し、双方がハイ又はローであればローレベルの信号を出力する排他的論理和回路と、
    前記排他的論理和回路から出力される信号の立ち下がりタイミング及び立ち上がりタイミングに同期して、受信データをラッチするラッチ回路とを備えていることを特徴とする通信システム。
  18. 車両の各部を制御するための電子制御装置であって、
    請求項1ないし請求項17の何れか1項に記載の通信システムを内蔵したことを特徴とする電子制御装置。
JP2006318711A 2006-11-27 2006-11-27 通信システム及び電子制御装置 Active JP4737049B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006318711A JP4737049B2 (ja) 2006-11-27 2006-11-27 通信システム及び電子制御装置
EP07022143A EP1926023B1 (en) 2006-11-27 2007-11-14 Communication system and electronic control unit including communication system for vehicle control
US11/984,871 US7848856B2 (en) 2006-11-27 2007-11-23 Communication system and electronic control unit including communication system for vehicle control

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006318711A JP4737049B2 (ja) 2006-11-27 2006-11-27 通信システム及び電子制御装置

Publications (2)

Publication Number Publication Date
JP2008135840A JP2008135840A (ja) 2008-06-12
JP4737049B2 true JP4737049B2 (ja) 2011-07-27

Family

ID=39204717

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006318711A Active JP4737049B2 (ja) 2006-11-27 2006-11-27 通信システム及び電子制御装置

Country Status (3)

Country Link
US (1) US7848856B2 (ja)
EP (1) EP1926023B1 (ja)
JP (1) JP4737049B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012164253A (ja) 2011-02-09 2012-08-30 Denso Corp マイクロコンピュータ
US9002554B2 (en) * 2012-05-09 2015-04-07 Innova Electronics, Inc. Smart phone app-based remote vehicle diagnostic system and method
JP7046700B2 (ja) * 2018-04-25 2022-04-04 矢崎総業株式会社 通信システム
US11481280B2 (en) * 2021-02-11 2022-10-25 Nxp Usa, Inc. MCU-independent primary-secondary PMIC sequencing and centralized fault management

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03154539A (ja) * 1989-11-13 1991-07-02 Fujitsu Ltd スーパバイザ通信方式
JPH04203343A (ja) 1990-11-30 1992-07-23 Hitachi Ltd シリアル通信切替方法
JPH04236537A (ja) * 1991-01-18 1992-08-25 Fujitsu Ltd データ通信方式
JPH05134982A (ja) 1991-11-11 1993-06-01 Fujitsu Ten Ltd データ伝送装置
JPH05303545A (ja) 1992-04-27 1993-11-16 Nec Ic Microcomput Syst Ltd データ転送装置
JP2000299694A (ja) 1999-04-13 2000-10-24 Ricoh Co Ltd デ−タ転送システムおよび転送エラー検出方法
JP2002300035A (ja) * 2001-04-02 2002-10-11 Yaskawa Electric Corp A/dインタフェース回路
JP4203343B2 (ja) 2002-03-29 2008-12-24 新日本製鐵株式会社 800℃高温特性に優れる常温引張強さ400〜490N/mm2級耐火建築構造用鋼およびその厚鋼板の製造方法
JP2004080283A (ja) 2002-08-15 2004-03-11 Meidensha Corp 監視制御システムのデータ伝送方式
JP4834294B2 (ja) * 2004-01-07 2011-12-14 日立オートモティブシステムズ株式会社 データ通信装置及びそれを用いたコントローラ
US20060143348A1 (en) * 2004-12-29 2006-06-29 Wilson Matthew T System, method, and apparatus for extended serial peripheral interface

Also Published As

Publication number Publication date
US7848856B2 (en) 2010-12-07
EP1926023A3 (en) 2008-10-22
EP1926023A2 (en) 2008-05-28
JP2008135840A (ja) 2008-06-12
EP1926023B1 (en) 2013-03-06
US20080125919A1 (en) 2008-05-29

Similar Documents

Publication Publication Date Title
CN103714029B (zh) 新型二线同步通信协议及应用
US20130262724A1 (en) Method and Circuit Arrangement for Transmitting Data Between Processor Modules
JP4737049B2 (ja) 通信システム及び電子制御装置
US20020178310A1 (en) USB transmission control circuit
JP4160068B2 (ja) ベースバンドプロセッサと無線周波数集積モジュールとの間のデジタルプログラミングインターフェース
KR20070005386A (ko) 집적회로 상호 통신을 이용한 차량의 네트워크 시스템 및그 제어방법
US5765019A (en) Microcomputer with built-in serial input-output circuit and collision detection circuit responsive to common input-output line being occupied
JPH0381862A (ja) 車載ネットワークの通信装置及びその通信方法
JP4222720B2 (ja) データ転送システム、及び、データ転送方式
KR100619353B1 (ko) 이중 데이터 송신이 가능한 i2c 버스 제어 시스템
JP3459075B2 (ja) 同期式シリアルバス方式
JP5299261B2 (ja) 電子制御装置
US8427955B2 (en) Method and apparatus for transferring data
JP5409681B2 (ja) 通信システム
CN116909975B (zh) 一种串行总线标准多主多从交互控制系统
CN111832049B (zh) 一种基于spi的数据传输方法及系统
CN117234974B (zh) 一种通信系统、通信方法及存储介质
JP3827121B2 (ja) 通信制御装置
JP2001245017A (ja) Usbシミュレーション装置、及び、記憶媒体
CN116185936B (zh) 一种spi通信数据收发异常检测控制系统及检测方法
JP2012114724A (ja) 電子制御装置
JP2001236303A (ja) ユニバーサル・シリアル・バス制御回路
JP2008186077A (ja) バスインタフェース装置
JP4125933B2 (ja) 共通メモリを備えたプロセッサシステム
JP2612433B2 (ja) 自動車用データ伝送システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090318

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110203

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110405

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110418

R151 Written notification of patent or utility model registration

Ref document number: 4737049

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140513

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250