JP2000299694A - デ−タ転送システムおよび転送エラー検出方法 - Google Patents

デ−タ転送システムおよび転送エラー検出方法

Info

Publication number
JP2000299694A
JP2000299694A JP11105786A JP10578699A JP2000299694A JP 2000299694 A JP2000299694 A JP 2000299694A JP 11105786 A JP11105786 A JP 11105786A JP 10578699 A JP10578699 A JP 10578699A JP 2000299694 A JP2000299694 A JP 2000299694A
Authority
JP
Japan
Prior art keywords
data
transmission
data line
line
bus
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
JP11105786A
Other languages
English (en)
Inventor
Sugiko Otegi
木 杉 高 樗
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP11105786A priority Critical patent/JP2000299694A/ja
Publication of JP2000299694A publication Critical patent/JP2000299694A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Transfer Systems (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Small-Scale Networks (AREA)

Abstract

(57)【要約】 【課題】 デ−タ線を多数のデバイスが共用し、デバイ
ス間デ−タ転送を行なうシステムで、デ−タ転送エラ−
を検出する。 【解決手段】 デ−タ線7に送り出した送信デ−タA
と、そのときデ−タ線7から受入れた受信デ−タBを比
較器40で比較する。複数ビット送信デ−タをレジスタ
30に記憶してデ−タ線7にシリアルに送出し、デ−タ
線7から受入れた受信デ−タをシフトレジスタ35に書
き、両レジスタ30,35のデ−タが合致するかチェッ
クする。1つのデバイスがデ−タ線7から受入れた受信
デ−タをレジスタ33に保持し、他の、送信したデバイ
スがレジスタ33のデ−タを読出して送信デ−タと比較
する。スレーブが予めデータ送受信量をレジスタ27に
保持し、マスタがスレーブに対してデータ送受信を行っ
たときにデータ送受信量をカウント26し、送受信後に
カウント値がレジスタ27の値と同一かをチェックす
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データ転送システ
ムにおけるデータ転送エラー検出に関する。
【0002】
【従来の技術】制御機器や検査システム、あるいはパー
ソナルコンピューターや画像・音声を扱うマルチメディ
アシステム等のデータ転送を伴うデータ処理システムや
機器システムでは、各機能デバイスや機能デバイスを塔
載したボード間の接続には、I 2CバスやPCIバスと
いったよく知られた様々な汎用バスが使用されるように
なってきている。
【0003】これは、必要最小限の機能を備えたデバイ
スを共通のバスに接続することで低コストなシステムを
容易に構築できたり、またこれら基本システムに用途に
応じて必要な処理を行うボード等を接続することで目的
とするシステムを容易に構築できるからである。
【0004】例えば、上記で述べたI2Cバスはシリア
ルバスの一種であり、比較的低速なデータ転送を行うシ
ステムに用いられる。またPCIバスは、パーソナルコ
ンピューター等でよく使用され、数式データはもとよ
り、画像や音声のデータ等、比較的高速なデータ転送が
求められるシステムに用いられる。
【0005】図1に、上述の汎用バスであるI2Cバス
によって接続されたシステム例を示す。I2Cバスにお
いて効率よくデータ転送を行う方法は、例えば特開平8
−83243号公報や特開平8−84154号公報など
に示されており、改良が行われながら広く使われてきて
いる。I2Cバスはフィリップス社によって提案された
シリアルバスであり、双方向のクロックラインSCL
6と双方向のデータラインSDA 7の2本の信号線に
よって、データ転送を行うバスである。
【0006】図1では、このI2Cバスにデバイス1か
らデバイス5の、5つのデバイスを接続している。図中
のマスタとは、データ転送を行う相手のデバイスをアド
レスによって指定して、自らデータ転送を起動できる能
力を持つデバイスを示す。一方、スレーブとは、マスタ
によって選択されたときのみ、マスタの起動信号に基づ
いてデータ転送を行う機能を持つデバイスを示す。I2
Cバスは、マスタデバイスを複数接続できるマルチマス
タバスなので、図1に示すようにマスタ機能を持ったデ
バイス(1,3,4)を複数接続することができる。
【0007】図2に、マスタデバイス1,3,4のI2
Cバスインターフェース11Aと、クロックラインSC
L 6およびデータラインSDA 7との接続を行なうバ
ス接続回路Aの構成を示す。I2Cバスのクロックライ
ンSCL 6とデータラインSDA 7は、プルアップ抵
坑18C,18Dを介して電源電圧Vccにプルアップ
されているため、データ転送が行われていない期間は、
高レベルH(電源電位Vcc)となっている。
【0008】インバータ13,16はその入力SCL_
OUT,SDA_OUTを反転する機能を持ち、トラン
ジスタ12,15は、インバータ13,16の出力を入
力し、これが高レベルHのときにON(導通)状態とな
り、クロックラインSCL6あるいはデータラインSD
A 7をGND電位に引き下げる働きをする。一方、こ
れらトランジスタ12,15の入力が低レベルLのとき
は、OFF(非導通)状態となり、クロックラインSC
L 6あるいはデータラインSDA 7は、プルアップさ
れているため電源電位(Vcc)となる。このGND電
位/電源電位の切換えを利用して、クロックラインSC
L 6及びデータラインSDA 7に接続したデバイス間
が、信号をやり取りする。これらの信号ラインSCL
6,SDA 7に、図1で示したように複数のデバイス
が接続されるため、クロックラインSCL 6及びデー
タラインSDA 7は、ワイヤードANDの働きをする
ことになる。
【0009】図2中の回路14,17は、入力バッファ
アンプであり、クロックラインSCL 6あるいはデー
タラインSDA 7の信号を、SCL_INとしてデバ
イス内のバスインタ−フェ−ス11Aに入力する。
【0010】図4に、各デバイス間でデータ転送を行う
様子を示す。これはマスタデバイスがスレーブデバイス
を指定して、1バイト(8ビット)のデータを送信する
例を示している。また、マスタ/スレーブ機能を持つI
2Cバスインタ−フェ−ス11Aの従来例を図7に示
す。ここで図4のタイミングチャートを参照して、図7
の従来のバスインタ−フェ−ス11Aの動作を説明す
る。
【0011】図7で、デバイス1内部のCPUやコント
ローラ(図示せず)が外部デバイス(例えば3)にデー
タをライトしたい場合、これらCPUやコントローラは
内部データバス45を介して制御ブロック23に、外部
デバイス3にデータをライトしたい旨の信号を出力す
る。ライトする相手デバイスのアドレス7ビット(A6
〜A0)とライト信号(RWB=’L’)の計8ビット
は同じく内部データバス45を介してシフトレジスタS
R 35に格納される。これらの信号を受取ったマスタ
制御ブロック23は、まずバス状態検出回路24によっ
て、クロックライン入力SCL_INとデータライン入
力SDA_INの状態からバスが使用されていないかを
チェックする。バスが使用されていない状態でマスタ制
御ブロック23は、データ出力SDA_OUTを’L’
出力とし、データ転送の開始を外部デバイス3に知らせ
る。すなわちI2Cバスでは、クロックラインSCL 6
が’H’のときデータラインSDA 7が’H’から’
L’に変化することによって、転送サイクルの開始を各
デバイスに通知する。以後、クロックを出力すると共
に、シフトレジスタSR35内のスレーブアドレス(A
6〜A0)を上位のビットのA6から1ビットずつ計7
ビット出力する。その後に、データ転送方向を示す1ビ
ット(RWB)、今はデータライトなので図4に示すよ
うに8ビット目は’L’(=RWB)、を出力する。
【0012】以上の計8ビットをスレーブデバイス3
は、データ入力SDA_INより取込み、スレーブデバ
イス3のバスインタ−フェ−スのシフトレジスタSR3
5内に格納する。そしてこれをあらかじめスレーブアド
レスレジスタSAR36内に格納されているスレーブア
ドレスと比較器37により比較し、その結果を制御ブロ
ック23に出力する。もし一致している、すなわちスレ
ーブとして自分が選択された、ならばデータラインSD
A 7にアクノレッジ信号(ACKB=’L’)を出力
し、マスタデバイス1にスレーブデバイス3が応答した
ことを知らせる。これらはスレーブデバイス3のバスイ
ンタ−フェ−スの処理である。
【0013】次に、図4に示すようにマスタデバイス1
は、アドレスと同様にライトデータを、マスタデバイス
1のバスインタ−フェ−エ11AのシフトレジスタSR
35に格納し、1ビットずつデータラインSDA 7に
出力する。選択されたスレーブデバイス3のバスインタ
−フェ−スは、この信号をデータラインSDA 7から
1ビットずつ受取り、シフトレジスタSR35に格納す
る。8ビット受取ったところでスレーブ3はマスタ1に
正しくデータを受取ったことを知らせるためにアクノレ
ッジ信号を’L’(ACKB)とする。そして、スレ−
ブ3のバスインタ−フェ−スのシフトレジスタSR35
に格納された8ビットデータを内部データバス45を介
して、スレ−ブデバイス3内部のCPUやコントローラ
(図示せず)に出力する。一方、マスタデバイス1のバ
スインタ−フェ−ス11Aは、データライトが終了する
とクロックラインSCL 6が’H’の状態でデータラ
インSDA 7を’L’→’H’と立ち上げることで、
データ転送の終了をスレーブデバイス3に知らせること
になる。
【0014】以上のように、図7に示す従来のバスイン
タ−フェ−ス11Aは、マスタ機能とスレーブ機能を併
せ持つ。ここで、クロック制御回路20は、デ−タ転送
に関して自己がマスタのときに転送クロックスピードを
決定し、クロックラインSCL 6に出力するもので、
ノイズ除去回路21Cは、自己がスレーブのときに入力
するクロックラインに含まれるひげなどの不要な信号を
除去する回路である。マルチプレクサ43は、制御クロ
ックとして自己がマスタのときにはクロック制御回路2
0からのマスタクロックを出力し、自己がスレーブのと
きはノイズ除去後の入力クロックを出力する。出力制御
回路22は、制御クロックに合わせシフトレジスタSR
35からのデータを出力する回路である。制御ブロック
23内のバス調停回路25は、同じバス(6,7)に複
数のマスタ(1,3,4)が接続されており、同時に2
つ以上のマスタがバスサイクルを開始しようとしている
場合にクロックラインSCL 6やデータラインSDA
7の状態から自分がマスタとしてバスサイクルを起こす
権限があるかどうかを判断するブロックである。IRQ
生成回路38は、アドレス比較器37によって、自分が
スレーブとして選ばれたことが判明した場合に、その旨
をデバイス内部のCPUあるいはコントローラに割込み
信号IRQにより知らせる回路である。
【0015】
【発明が解決しようとする課題】I2Cバスでは、図1
に示すように、1本のクロックラインSCL 6と1本
のデータラインSDA 7に複数のデバイスが接続され
る。従って、わずか2本の信号線6,7でデバイス間の
データ転送が可能である。このように割と容易な転送プ
ロトコルでデータの送受信が可能な反面、データ転送エ
ラーに関してはいろいろな問題が起こり得る。
【0016】ノイズ対策としては、図7に示したよう
に、クロック入力ラインSCL_INとデータ入力ライ
ンSDA_INにスパイク状のノイズを抑制するための
入力フィルタ等によるノイズ除去回路21C,21Dが
塔載されている。これらにより比較的幅の短いスパイク
状のノイズは除去されるが、信号線周辺の様々なノイズ
源によって引き起こされた割と幅の広いノイズは除去さ
れず、信号と認識されるのでこれらのエラー対応が重要
となる。
【0017】また、ノイズの他に新規にシステムを立ち
上げる際のデバッグ時においては、プログラムのミスに
よってI2Cバスのデータ転送エラーが起こり得る。例
えば、製品への組込み型システムにおいては、周辺機器
を制御するためマイクロコンピュータ(以後マイコンと
略す)が塔載され、この周辺インターフェースにI2
バスを採用し、各機器を制御する場合がある。これらマ
イコンに付属するI2Cバスの仕様では、図4に示した
ように通常1バイト(=8ビット)を単位として送受信
するところを、高速にしかも効率よくデータ転送を行う
ため、1回の転送で8ビットよりも多い、例えば数10
ビットを単位として送受信する場合もある。このような
場合、データを転送するマスタ側とデータを受信するス
レーブ側で、1回の転送ビット数が異なって設定された
場合、I2Cバスが正常に動作せず、エラーとなる。こ
のような場合に、エラーの原因をすばやく特定する手法
が重要となる。
【0018】また、ノイズ等により、誤ってデータが送
られる可能性がある場合、送信する側においてデータが
正しく送信されたかをチェックし、もし正しく送信され
ていない場合は、再度データを送り直す等の対応が確立
されていることが重要である。このような手法が確立さ
れていない場合、機器の暴走など大きな問題を生ずる危
険性がある。
【0019】本発明は、上記の問題を改善することを目
的とする。
【0020】
【課題を解決するための手段】(1)複数の機能デバイ
ス(1〜5)が共有のデータ線(7)で接続され、これらデバ
イス間でデータのやり取りを行うデータ転送システムに
おいて、送信側デバイスがデ−タ線に送出したデータの
値と、そのときに該データ線から受信したデータの値と
を比較してデータ転送エラーを検出する手段(40/32,35/
34,35)を有することを特徴とするデータ転送システム。
【0021】これによれば、データ線(7)周辺の様々な
ノイズ源によって引き起こされたノイズにより、誤った
データがデータ線(7)上を転送されたことを検出可能で
あり、このデータ転送エラーを検出したデバイスは、デ
ータ再送などの対策により間違ったデータが転送される
ことをなくすことができるため、システムの誤動作や機
器の暴走などを未然に防ぐことが可能である。また、新
規システムの立ち上げなど、プログラムのデバッグ時に
機器が誤動作した場合、その原因がデータ転送エラーで
あることが容易にわかるため、デバッグ時間を短くする
ことができ、機器動作の信頼性を向上させることができ
る。
【0022】
【発明の実施の形態】(1−1)データ転送エラーを検
出する手段は、共有のデ−タ線(7)に送り出した送信デ
−タAと、そのときデ−タ線(7)から受入れた受信デ−
タBを比較する比較手段(40)を含む。 (1−2)データ転送エラーを検出する手段は、共有の
デ−タ線(7)にシリアルに送り出す、複数ビットの送信
デ−タを記憶する手段(30),該送信デ−タを送り出した
ときにデ−タ線(7)から受入れたシリアル複数ビットの
受信デ−タを記憶する手段(35)、および、両記憶手段(3
0,35)の記憶デ−タが合致するか否をチェックする手段
(31)を含む。 (1−3)共有のデ−タ線(7)に接続された複数のデバ
イスの少くとも1つのデータ転送エラーを検出する手段
が、デ−タ線(7)から受入れたシリアル複数ビットの受
信デ−タを記憶する手段(33)を含み、他の少くとも1つ
のデバイスは、デ−タ線(7)に複数ビットの送信デ−タ
をシリアルに送出した後該記憶手段(33)の記憶デ−タを
読込んで送信デ−タと比較してデ−タ転送エラ−を検出
する。 (2)複数の機能デバイス(1〜5)が共有のデータ線(7)
で接続され、これらデバイス間でデータのやり取りを行
うデータ転送システムの、前記データ線(7)に接続され
た機能デバイスが該デ−タ線上のデータを取り込んでデ
バイス内の記憶手段(35あるいは33)に保持し、当該デバ
イスあるいは前記データ線(7)に接続された他のデバイ
スがこの記憶手段(35あるいは33)に保持されたデータを
読み出し、送受信したデータと比較することにより、デ
ータ転送エラーを検出することを特徴とするデータ転送
エラー検出方法。
【0023】これによれば、前述した(1)による効果
に加え、共有のデータ線(7)に接続され、データ保持回
路(34)を持たないデバイスがデータ保持回路(34)を備え
たデバイスにアクセスすることでデータ線(7)上を転送
されたデータの値を知ることができ、送信したデータが
正しく送信先に転送されたか否かを検証することができ
る。 (3)複数の機能デバイス(1〜5)が共有のデータ線(7)
で接続され、これらデバイス間でデータのやり取りを行
うデータ転送システムの、マスタデバイスによってデー
タ送受信先として指定されるスレーブデバイスが、あら
かじめデータ送受信量をスレーブデバイス内の記憶手段
(27)に保持し、マスタデバイスがデータ転送サイクルを
起動し、スレーブに対してデータ送受信を行ったとき
に、マスタデバイスによって転送されたデータ送受信量
をカウントし(26)、送受信後にこのデータ送受信量とあ
らかじめスレーブデバイス内の記憶手段に保持されたデ
ータ送受信量とを比較(28)することにより、データ転送
エラーを検出(29)することを特徴とするデータ転送エラ
ー検出方法。これによれば、前述した(1)による効果
と同様な効果が得られる。
【0024】本発明の他の目的および特徴は、図面を参
照した以下の実施例の説明より明らかになろう。
【0025】
【実施例】本発明の一実施例の主要部を図3に示す。な
お、この図3に示すデバイス1のバスインタ−フェ−ス
11Aは、図2に示すバス接続回路A 10Aに接続さ
れ、図1に示すように、デ−タ転送システムの一部をな
すものである。説明の重複を避けるため、従来例の図7
と同じ機能のブロックには、同じ番号を付加している。
図3に示すバスインタ−フェ−ス11Aは、従来例の図
7に示すものに、I 2Cバスの転送エラーを検出するた
めの機能を複数付加した態様になっている。これら複数
の転送エラ−検出機能の全部を塔載する態様に限らず、
どれか1つ、あるいは2つ程塔載する態様も、本発明の
実施形態である。
【0026】まず、図3中のエラー検出ブロック40
は、最も簡易なエラー検出回路の一つであり、第1態様
のエラ−検出方法を実施するもので、出力制御22の出
力デ−タすなわち送信データAと、I2Cバスのデータ
ラインSDAからノイズ除去21Dを通して得た電位B
すなわちデータラインSDA上のデ−タBを比較する1
ビット比較器39より成る。そして送信したデータAと
2CバスのデータラインSDAの電位Bが異なった場
合(A!=B)、比較器39によりこのエラーERR1
が検出され、例えばエラーフラグレジスタEFR41に
書込まれ、エラーが起こったことがエラーフラグとして
レジスタEFR41に保持される。デバイス1のCPU
(図示せず)は、内部データバス45を介してエラーフ
ラグレジスタEFR41の値を読み出すことで、データ
転送エラーが起こったことを認知する。エラーが検出さ
れた場合、CPUはデータの再送を行うなどの処置を取
る。
【0027】ここで、このようなエラーが起こる場合に
ついて述べる。例えば、今データ送信SDA_OUTと
して、’0’を送信した場合、この信号は図2の例えば
インバータ16に送られる。送信したデータ’0’は、
インバータ16で反転され、従って’1’がトランジス
タ15に与えられる。トランジスタ15はその入力が
今’1’なので、ON状態となりデータラインSDA
7をグランドレベル’0’に引き下げる。このとき、も
し他のデバイスがデータラインに’0’あるいは’1’
を出力していたとしてもデ−タラインSDA 7上の値
はワイヤ−ドANDであることから’0’のままで、送
信デ−タ’0’が正しくデ−タラインSDA 7に伝達
される。
【0028】一方、図3において今送信データSDA_
OUTとして’1’を送信した場合、この信号は図3の
インバータ16で’0’に反転され、トランジスタ15
に出力される。トランジスタ15は、その入力が’0’
の場合、OFF状態のままなのでデータラインSDA
7はグランド’0’に引き下げられず、プルアップ抵抗
18Dで電源電圧Vccにプルアップされた状態、すな
わち’1’となり、送信データ’1’がデータラインS
DA 7に正しく伝達されることになる。
【0029】しかし、ここでもし何らかのエラーで他の
デバイスがデータラインSDA 7に’0’を出力して
いた場合、データラインSDA 7上のデ−タ(電位)
はワイヤードANDで’0’となり、送信データ’1’
と食い違い、データ転送エラーが起こる。このような場
合に前述した図3のエラー検出回路40がエラーERR
1を発生しこれがエラーフラグレジスタEFR41に書
込まれる。
【0030】図3中の転送エラー検出ブロック32は、
第2態様のエラ−検出方法によりデータ転送エラー検出
を行なう。出力データレジスタ30には出力するデータ
1バイトが入力される。このデータをデータラインSD
A 7に出力している間、データラインSDA 7の値を
SDA_INからシフトレジスタSR35に1ビットず
つ取り込み、1バイト送信し終えたところで、バスイン
タ−フェ−ス11Aが送出した値をデ−タ出力データレ
ジスタOUTD30から、また、データラインSDA
7から読込んだ実際の値をシフトレジスタSR35から
読み出し、両者を比較器31で比較し、もし異なってい
たならば、すなわちデータ転送エラーが発生していたな
らば、エラ−フラグERR2を比較器31が発生して、
ばエラーフラグレジスタEFR41に書込む。このレジ
スタEFR41のエラ−フラグをデバイス1のCPUが
内部データバス45を介して読み込むことで、データ転
送におけるエラー発生を認識する。
【0031】図3中のブロック34は、第3態様のエラ
ー検出方法によりデ−タ転送エラ−検出を行なうため
の、データラインレジスタSDAR33を含む。データ
ラインSDA 7上のデータをSDA_INからシフト
レジスタSR35に1ビットづつ取り込み、バイトデ−
タに揃えた後、デ−タラインレジスタSDAR33に書
込む。このレジスタSDAR33は、I2Cバス上の他
のデバイスからもリ−ド可能なようにアドレスが割り振
られており、I2Cバス上の他のデバイスがデ−タ送信
後、このデータラインレジスタSDAR33の値を読み
込み、送信したデータと比較することで転送エラーの検
出を行う。従って、このブロック34のエラー検出回路
は、I2Cバス上の他のデバイスが図3のブロック3
2,34,35に示すようなエラー検出回路(32,3
5),デ−タ保持回路(34)を持たないときに、該他
のデバイスがデ−タ転送エラー検出を行うために利用し
うるものである。
【0032】図3中のブロック29は、第4態様のエラ
ー検出方法を実現するためのブロックである。このブロ
ックは、送信するビット数を格納するビット数レジスタ
BITR27とI2Cバス上で実際に送信されたビット
数をカウントするビットカウンタBITCNT26とこ
れらビット数レジスタBITR27の値とビットカウン
タBITCNT26の値とを比較し、異なった場合に転
送エラー信号ERR3を出力する比較器28から成る。
このときのエラー信号ERR3は、エラーフラグレジス
タEFR41に格納され、データ送信後、デバイス1の
CPUが内部データバス45を介してエラーフラグレジ
スタEFR41の値を読み出すことで転送エラーが発生
したことを認知する。もしデータ転送エラーが検出され
た場合には、データ再送などのエラー対応を行うことに
なる。
【0033】ここで、第4態様のエラ−検出方法による
エラ−検出の様子を、図5および図6に示すタイミング
チャ−トを参照して説明する。これらのタイミングチャ
−トは8ビットデータを送信する場合で、図5は正常に
8ビットデータを送信できた場合を示し、図6はビット
d7〜d2の6ビットしか送信できず、バスサイクル終
了(Stop)となったため転送エラーERR3が検出
されている場合を示す。データ転送の様子は、前述の図
4で示したものと同様である。今8ビットデータを送信
しようとしているため、図3中のビット数レジスタBI
TR27には、デバイス1のCPUにより内部データバ
ス45を介して、’8’が格納される。
【0034】図5において、バスサイクルが起動され、
マスタデバイス1により送信先デバイスを指定するスレ
ーブアドレス(A6〜A0)が送信された後、送信先の
デバイスすなわちスレーブデバイス(2〜5の1つ)か
らアクノレッジ信号を返したときに、図3中のビット数
カウンタBITCNT26にリセット信号RESが出力
され、カウンタBITCNT26のカウントデ−タが’
0’にリセットされた後、ビットデータが送信される毎
にビット数カウンタBITCNT26にインクリメント
信号INCが出力されるため、送信ビット数がカウンタ
BITCNT26でカウントされる。図5のタイミング
チャートに示すように、ライトデータが8ビット送信さ
れたところで図3中のビット数レジスタBITR27と
ビット数カウンタBITCNT26の値が’8’と一致
するため、従って転送エラーとはならず、スレーブデバ
イスは無事ライトデータを受取ったことを確認できる。
【0035】一方、図6においては図5に示したよう
に、ライトデータを送信し始めるのであるが、マスタデ
バイス1が何らかの理由で、送信の途中でストップコン
ディション(Stop)を発行し、バスサイクルを終了
してしまった場合を示している。このとき、ストップコ
ンディション(Stop)がマスタデバイス1により出
力された時点で、図3中のビット数レジスタBITR2
7の値’8’とビット数カウンタ26の値’6’とでは
異なるため、エラー検出信号ERR3がアサートされレ
ジスタEFR41に書込まれる。このレジスタEFR4
1のデ−タを読取ることにより、データ転送エラーが発
生したことをデバイス1のCPUは検出できる。このデ
ータ転送エラーを検出した場合には、CPUはデータの
再送などのエラー対応を行い、システムが誤動作するこ
とを防ぐことができる。
【0036】なお、上述の説明ではマスタをデバイス1
とし、他のデバイス2〜5をスレ−ブとしたが、図1に
示す転送システムの場合は、デバイス3がマスタとなっ
て他のデバイスがスレ−ブとなる態様ならびにデバイス
4がマスタとなって他のデバイスがスレ−ブとなる態様
もあり、その場合には上述の説明のデバイス1をデバイ
ス3又は4と読み替えればよい。図1に示す転送システ
ムではスレ−ブ専用のデバイス2および5は、クロック
ラインSCL 6にクロックパルスを送出しないので、
それらのバス接続回路Bは、バス接続回路A(図1の1
0A)からインバ−タ13およびトランジスタ12を削
除したものであってもよい。同様に、デバイス2および
5のバスインタ−フェ−スBは、バスインタ−フェ−ス
A(図3の11A)からクロック制御20およびデ−タ
セレクタ43を削除したものであってもよい。更には、
転送システム全体として、第2態様のエラ−検出方法を
実施するための機能要素32,35の数を低減するため
には、データラインレジスタSDAR33を利用する上
述の第3態様のエラー検出方法を実施するデバイスを多
くすればよい。例えば、デバイス1に図3に示すバスイ
ンタ−フェ−ス11Aを備えて、他のデバイス2〜5の
バスインタ−フェ−スは、図3に示す機能要素32,3
4,35を省略したものとする。この場合は、デバイス
2〜5は上述の第2態様のエラ−検出方法は実施できな
いが、代りに上述の第3態様のエラ−検出方法を実施し
て、第2態様のエラ−検出方法と同等のエラ−検出を実
現することができる。
【図面の簡単な説明】
【図1】 本発明の一実施例のシステム構成を示すブロ
ック図である。
【図2】 図1に示すバス接続回路Aの構成を示す電気
回路図である。
【図3】 図1に示すバスインタ−フェ−ス11Aの構
成を示すブロック図である。
【図4】 図1に示すデバイス1,3又は4とそれ以外
のデバイスとの間のデ−タ転送時の、I2Cバス上の信
号変化を示すタイムチャ−トである。
【図5】 図3に示すデバイス1がバスインタ−フェ−
ス11Aを介して他のデバイスとの間でデ−タ転送を行
ない、デ−タ転送エラ−が無いときの、図3に示すカウ
ンタ26のカウント値NCNTの変化を示す。
【図6】 図3に示すデバイス1がバスインタ−フェ−
ス11Aを介して他のデバイスとの間でデ−タ転送を行
ない、デ−タ転送エラ−が有ったときの、図3に示すカ
ウンタ26のカウント値NCNTの変化を示す。
【図7】 従来の1つのバスインタ−フェ−ス11Aの
構成を示すブロック図である。
【符号の説明】
12,15:トランジスタ 13,16:
インバ−タ 14,17:バッファアンプ 18C,18
D:プルアップ抵抗器 26:カウンタ 27,30,
33,36:レジスタ 28,31,37,39:比較器 32:第2態様の転送エラ−検出回路 34:第3態様の転送エラ−検出用のデ−タ保持回路 35:シフトレジスタ 38:割込み
信号生成回路 40:第1態様の転送エラ−検出回路 41:エラ−フラグレジスタ 42:転送エ
ラ−記憶回路 43,44:デ−タセレクタ 45:デバイ
スの内部バス

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】複数の機能デバイスが共有のデータ線で接
    続され、これらデバイス間でデータのやり取りを行うデ
    ータ転送システムにおいて、 送信側デバイスがデ−タ線に送出したデータの値と、そ
    のときに該データ線から受信したデータの値とを比較し
    てデータ転送エラーを検出する手段を有することを特徴
    とするデータ転送システム。
  2. 【請求項2】複数の機能デバイスが共有のデータ線で接
    続され、これらデバイス間でデータのやり取りを行うデ
    ータ転送システムの、前記データ線に接続された機能デ
    バイスが該デ−タ線上のデータを取り込んでデバイス内
    の記憶手段に保持し、当該デバイスあるいは前記データ
    線に接続された他のデバイスがこの記憶手段に保持され
    たデータを読み出し、送受信したデータと比較すること
    により、データ転送エラーを検出することを特徴とする
    データ転送エラー検出方法。
  3. 【請求項3】複数の機能デバイスが共有のデータ線で接
    続され、これらデバイス間でデータのやり取りを行うデ
    ータ転送システムの、マスタデバイスによってデータ送
    受信先として指定されるスレーブデバイスが、あらかじ
    めデータ送受信量をスレーブデバイス内の記憶手段に保
    持し、マスタデバイスがデータ転送サイクルを起動し、
    スレーブに対してデータ送受信を行ったときに、マスタ
    デバイスによって転送されたデータ送受信量をカウント
    し、送受信後にこのデータ送受信量とあらかじめスレー
    ブデバイス内の記憶手段に保持されたデータ送受信量と
    を比較することにより、データ転送エラーを検出するこ
    とを特徴とするデータ転送エラー検出方法。
JP11105786A 1999-04-13 1999-04-13 デ−タ転送システムおよび転送エラー検出方法 Pending JP2000299694A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11105786A JP2000299694A (ja) 1999-04-13 1999-04-13 デ−タ転送システムおよび転送エラー検出方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11105786A JP2000299694A (ja) 1999-04-13 1999-04-13 デ−タ転送システムおよび転送エラー検出方法

Publications (1)

Publication Number Publication Date
JP2000299694A true JP2000299694A (ja) 2000-10-24

Family

ID=14416830

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11105786A Pending JP2000299694A (ja) 1999-04-13 1999-04-13 デ−タ転送システムおよび転送エラー検出方法

Country Status (1)

Country Link
JP (1) JP2000299694A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006091924A (ja) * 2005-12-19 2006-04-06 Yamaha Corp 電子楽器用バスシステム
US7848856B2 (en) 2006-11-27 2010-12-07 Denso Corporation Communication system and electronic control unit including communication system for vehicle control
WO2015114858A1 (ja) * 2014-01-31 2015-08-06 株式会社東芝 通信システムおよび通信方法
KR101558687B1 (ko) * 2013-12-10 2015-10-08 현대자동차주식회사 직렬 통신 테스트 장치, 시스템 및 방법

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006091924A (ja) * 2005-12-19 2006-04-06 Yamaha Corp 電子楽器用バスシステム
JP4650253B2 (ja) * 2005-12-19 2011-03-16 ヤマハ株式会社 電子楽器用バスシステム
US7848856B2 (en) 2006-11-27 2010-12-07 Denso Corporation Communication system and electronic control unit including communication system for vehicle control
KR101558687B1 (ko) * 2013-12-10 2015-10-08 현대자동차주식회사 직렬 통신 테스트 장치, 시스템 및 방법
US9378076B2 (en) 2013-12-10 2016-06-28 Hyundai Motor Company Serial communication test device, system including the same and method thereof
WO2015114858A1 (ja) * 2014-01-31 2015-08-06 株式会社東芝 通信システムおよび通信方法
JP2015144375A (ja) * 2014-01-31 2015-08-06 株式会社東芝 通信システムおよび通信方法

Similar Documents

Publication Publication Date Title
US6874052B1 (en) Expansion bridge apparatus and method for an I2C bus
US20080086578A1 (en) Integrated circuit device having send/receive macro for serial transfer bus
KR100290943B1 (ko) 유니버설 시리얼 버스 제어 이전을 처리하는 장치 및 방법
US6728908B1 (en) I2C bus protocol controller with fault tolerance
US6173355B1 (en) System for sending and receiving data on a universal serial bus (USB) using a memory shared among a number of endpoints
US7529862B2 (en) System for providing access of multiple data buffers to a data retaining and processing device
US4984190A (en) Serial data transfer system
WO2019136595A1 (zh) 处理i2c总线死锁的方法、电子设备和通信系统
US7715450B2 (en) Sideband bus setting system and method thereof
EP0631239A2 (en) Serial data transfer method
WO2007030978A1 (fr) Procede, appareil de reinitialisation et equipement pour effectuer la reinitialisation d'un dispositif maitre dans un bus i2c
WO2012046634A1 (ja) 電子装置およびシリアルデータ通信方法
TWI795886B (zh) 硬碟機在位檢測裝置及方法
US5293384A (en) Microprocessor bus interface protocol analyzer
US20080244129A1 (en) Master device of two-wire bus providing release function for clock line and method thereof
JP2000299694A (ja) デ−タ転送システムおよび転送エラー検出方法
JPS6043546B2 (ja) デ−タ転送異常処理方式
EP2075943B1 (en) Methods and systems for error detection of data transmission
US5673419A (en) Parity bit emulator with write parity bit checking
US11580052B2 (en) I2C communication
EP0548077B1 (en) High speed active bus
US5617433A (en) Serial data transfer apparatus
JP2000231539A (ja) データ転送システムおよびデータ転送方法
JP2764452B2 (ja) バス転送応答方法
JP4201375B2 (ja) データ転送装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050509

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050629

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20051129