JP5407524B2 - 伝送装置、受信回路及び伝送装置の制御方法 - Google Patents

伝送装置、受信回路及び伝送装置の制御方法 Download PDF

Info

Publication number
JP5407524B2
JP5407524B2 JP2009107236A JP2009107236A JP5407524B2 JP 5407524 B2 JP5407524 B2 JP 5407524B2 JP 2009107236 A JP2009107236 A JP 2009107236A JP 2009107236 A JP2009107236 A JP 2009107236A JP 5407524 B2 JP5407524 B2 JP 5407524B2
Authority
JP
Japan
Prior art keywords
unit
transmission
circuit
lsi
reception
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.)
Expired - Fee Related
Application number
JP2009107236A
Other languages
English (en)
Other versions
JP2010258841A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009107236A priority Critical patent/JP5407524B2/ja
Priority to US12/763,551 priority patent/US8775891B2/en
Publication of JP2010258841A publication Critical patent/JP2010258841A/ja
Application granted granted Critical
Publication of JP5407524B2 publication Critical patent/JP5407524B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1854Scheduling and prioritising arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Dc Digital Transmission (AREA)

Description

本発明は、伝送装置に関し、特に伝送路の終端部(終端回路)の調整機能を備えた伝送装置に関する。
近年、LSI(Large Scale Integrated Circuit)間の伝送速度の高速化に対する要求は、CPU(Central Processing Unit)やチップセット等の半導体装置の性能向上によって、益々高まっている。当然ながら、LSI間の伝送速度の高速化は、それを搭載するコンピュータシステムの性能に大きな影響を与える。
LSI間の高速伝送においては、LSI間を伝送する信号波形に影響を与える各設計要素は、エラーなく信号を伝送するために、高い設計精度を要求する。その上、高速伝送では、波形の振幅が小さいため設計マージンは小さい。
LSI間の高速伝送の設計要素の一つに終端抵抗がある。この終端抵抗は、LSI間の伝送路(伝送線路)の両端に設置される抵抗である。終端抵抗は、伝送路の両端における伝送信号の反射を防止して伝送信号の波形の乱れを防ぎ、伝送路の電気的特性を向上させる役割をもっている。当該伝送信号の波形の乱れは、高速伝送においては、信号の伝送速度の高速化の障害となる。尚、終端抵抗の抵抗値は、伝送路の規定を満たすように、なるべく一定の値にする必要がある。
終端抵抗の抵抗値の変化が伝送路に及ぼす悪影響は、LSIの低消費電力化(電源電圧の低下)、高速伝送化、チップ集積度向上等の要因により、近年、ますます大きくなる傾向にある。このため、終端抵抗の調整精度は、LSI間の高速伝送実現のために、重要な要素となってきている。
図11は、LSI間でデータの送受信を行なう伝送装置の概略構成を示す図である。
図11に示す伝送装置900は、LSI1000(LSIa)、LSI2000(LSIb)、及びそれらのLSI間の伝送路3001、3002を備えている。LSI1000とLSI2000は、上記伝送路3001、3002を介して互いにデータの送受信を行なう。
LSI1000は、出力ドライバ(送信ドライバ)1001、受信レシーバ1002、信号線1011、1012、及び終端抵抗1021、1022を備えている。信号線1011は、送信ドライバ1001と伝送路3001を接続している。終端抵抗1021は、当該信号線1011と接地間に接続されている。信号線1012は、受信レシーバ1002と伝送路3002を接続している。終端抵抗1022は、当該信号線1012と接地間に接続されている。
LSI2000は、LSI1000と同様な構成をしている。LSI2000は、送信ドライバ(出力ドライバ)2001、受信レシーバ2002、信号線2011、2012、及び終端抵抗2021、2022を備えている。信号線2012は、受信レシーバ2002と伝送路3001を接続している。終端抵抗2022は、当該信号線2012と接地間に接続されている。信号線2011は、送信ドライバ2001と伝送路3002を接続している。終端抵抗2021は、当該信号線2011と接地間に接続されている。
上記構成の伝送装置900において、終端抵抗1021、2022の特性インピーダンスは、インピーダンス整合がとれるように、伝送路3001の特性インピーダンスを考慮し伝送路の規定値を満たす値になるように調整されている。同様に、終端抵抗1022、2021の特性インピーダンスは、高速伝送が良好に行われるように伝送路の規定値を満たすよう調整されている。
上記伝送装置900のように、終端抵抗を伝送路の特性インピーダンスに一致させるように制御する技術は、例えば、特開2003−122465号公報、特開2001−175373号公報などに開示されている。
図12は、従来のLSI間伝送装置の一般的な構成例を示す図である。
図12に示すLSI間伝送装置4000は、2つのLSI4100(LSIA)、LSI4200(LSIB)、及びそれら2つのLSI4100、4200間を接続する伝送路(LSIチップ間伝送路)4300、4400を備えている。LSI4100とLSI4200は、2つの伝送路4300、4400によって接続されている。伝送路4300は、LSI4100がLSI4200に対してデータを送信するために使用される伝送路であり、伝送路4400は、LSI4200がLSI4100に対してデータを送信するために使用される伝送路である。伝送路4300は、4本の信号線4301−1〜4から構成されている。伝送路4400は、4本の信号線4401−1〜4から構成されている。
LSI4100とLSI4200のインターフェース部は、同じ回路構成となっている。LSI4100のインターフェース部は、LSI4100において制御部41110を除く回路をさす。LSI4200のインターフェース部は、LSI4200において制御部4210を除く回路をさす。
したがって、ここでは主にLSI4100の回路構成を説明し、LSI4200の回路構成の説明は省略する。
LSI4100は、制御部4110、送信バッファ4120、送信パケット処理部4130、データ送信制御部4140、送信部4150、受信部4160、受信パケット処理部4170及び受信バッファ4180を備えている。
制御部4110は、通信相手のLSIと送受信するパケットの生成・制御などを行う。
制御部4110が生成・制御するパケットは、例えば、トランザクション層で制御されるパケット等である。制御部4110は、通信相手のLSIに送信するパケット(送信パケット)を制御し、その送信パケットを送信バッファ4120に格納する。また、受信バッファ4180から、通信相手のLSIから受信したパケット(受信パケット)を取り出すなどの処理を行う。
送信バッファ4120は、制御部4110からの送信パケットを格納するバッファである。送信バッファ4120に格納されている送信パケットの位置(格納位置)は、データ送信制御部4140で制御されるポインタにより制御できるような仕組みになっている。
送信パケット処理部4130は、送信データ処理部4130aとCRC挿入部4130bを備えている。送信データ処理部4130aは、送信バッファ4120から送信パケットを取り出し、それをCRC挿入部4130bに出力する。CRC挿入部4130bは、当該送信パケットのCRCコード(Cyclic Redundancy Check Code) を生成し、そのCRCコードを当該送信パケットに挿入する。そして、当該CRCコードが挿入された送信パケットを送信部4150に出力する。
送信部4150は、データ処理2・転送部4150a、4個の送信ドライバ4150b−1〜4、当該送信ドライバの出力端子に接続された信号線4301−1〜4と接地間に接続された終端抵抗4151−1〜4、及び送信側終端抵抗アップデート制御部4150tを備えている。データ処理2・転送部4150aは、送信データ処理部4130から受け取った送信パケットを、4個の送信ドライバ4150b−1〜4に分割出力する。各送信ドライバ4150b−1〜4は、データ処理2・転送部4150aから入力するデータを信号線4301−1〜4に出力する。送信側終端抵抗アップデート制御部4150tは、後述する終端抵抗調整回路4163と接続されている。送信側終端抵抗アップデート制御部4150tは、終端抵抗調整回路4163から入力される制御信号を基に、終端抵抗4151−1〜4の抵抗値を適正値に更新する。この適正値は、環境変化に依存して抵抗値が変動しにくい外部基準抵抗Raの抵抗値により設定される。
受信部4160は、データ処理3・転送部4160a、4個の受信レシーバ4160b−1〜4、当該受信レシーバ4160b−1〜4の入力端子に接続された信号線4401−1〜4と接地間に接続された終端抵抗4161−1〜4、及び終端抵抗調整回路4163を備えている。データ処理3・転送部4160aは、4個の受信レシーバ4160b−1〜4から入力するデータを統合してパケットを復元し、そのパケットを受信パケット処理部4170に出力する。終端抵抗調整回路4163は、抵抗調整回路4163aと受信側アップデート制御部4163rを備えている。終端抵抗調整回路4163には、LSI4100に外付けされた基準抵抗(外部基準抵抗)Raが接続されている。終端抵抗調整回路4163aと外部基準抵抗Raは、LSI4100の端子(ピン)とその端子に接続された配線により接続されている。
外部基準抵抗Raは、終端抵抗4151−1〜4、4161−1〜4の値(抵抗値)の基準となる抵抗値を持つ抵抗である。終端抵抗4151−1〜4、4161−1〜4の抵抗値が外部基準抵抗Raの抵抗値に等しくなるように調整されることで、伝送路4300、4400の終端においてインピーダンス調整され、伝送路4300、4400の終端での信号反射が抑止される。
終端抵抗調整回路4163の抵抗調整回路4163aは、外部基準抵抗Raの抵抗値を参照して、終端抵抗4151−1〜4、4161−1〜4の抵抗値を調整するための制御信号を生成する回路である。周囲温度の変化や電源電圧の変動などの影響により変化する終端抵抗4151−1〜4、4161−1〜4の抵抗値は、当該調整された抵抗値に設定される。送信側アップデート制御部4163tは、抵抗調整回路4163aから入力する制御信号を基に、終端抵抗4161−1〜4の抵抗値が外部基準抵抗Raの抵抗値に等しくなるように、終端抵抗4161−1〜4の抵抗値を更新する回路である。
受信部4160の抵抗調整回路4163aは、送信部4150の送信側アップデート制御部4150tと接続されている。抵抗調整回路4163aは、LSI4100の電源がオンになったときに、受信部4160の終端抵抗4161−1〜4と送信部4150の終端抵抗4151−1〜4を、それらの抵抗値が外部基準抵抗Raの抵抗値を参照して調整した抵抗値に設定する。
受信パケット処理部4170は、受信データ処理4部4170aとCRCチェッカー4170bを備えている。CRCチェッカー4170bは、受信部4160から受信したデータをCRCチェックし、パケットなどのデータとエラー情報等をデータ処理部4170aに通知する。データ処理部4170aは、CRCチェッカー4170bからの通知により、受信パケットがエラーであると判断した場合は、送信パケット処理部4130に対して受信パケットのエラーを通知する。送信部4150は、上記エラーが検出されたパケットの再送を要求するリクエスト(再送要求リクエスト)を、伝送路4300を介してLSI4200の受信部4260に送信する。
データ処理部4170aは、CRCチェッカー4170bから受信パケットにエラーが生じていないという結果を受け取った場合には、受信パケットから下位階層(例えばデータリンク層)のヘッダやCRCデータを除去するなどの処理を行い、上位階層(例えばトランザクション層)の受信パケットを生成し、その生成した受信パケットを受信バッファ4180に格納する。
受信バッファ4180は、受信パケット処理部4170から受信したパケットを格納するバッファである。受信バッファ4180に格納された受信パケットは、制御部4110によって読み出される。
LSI4200(LSIB)は、制御部4210、送信バッファ4220、送信パケット処理部4230、データ送信制御部4240、送信部4250、受信部4260、受信パケット処理部4270及び受信バッファ4280を備えている。LSI4200のインターフェース部の回路構成は、上述したLSI4100(LSIA)と同様である。LSI4200の構成要素において、LSI4100の構成要素と同じ構成要素には同じ名称を記載している。LSI4200の終端抵抗調整回路4263には基準抵抗(外部基準抵抗)Rbが外付けされている。
LSI4100の終端抵抗調整回路4163とLSI4200の終端抵抗調整回路4263の構成は、例えば特開2006−203405号公報に開示されている。終端抵抗調整回路4163、4263の抵抗調整回路4163a、4263aは、特開2006−203405号公報に開示されているキャリブレーション回路に該当する。
LSI4100の送信部4150とLSI4200の受信部4260は、伝送路4300によって接続されている。また、LSI4200の送信部4250とLSI4100の受信部4160は、伝送路4400によって接続されている。LSI4100とLSI4200は、伝送路4300と伝送路4400を利用することで双方向通信が可能になっている。より詳細に説明すると、LSI4100の送信部4150の送信ドライバ4150b−1〜4とLSI4200の受信レシーバ4160b−1〜4が、それぞれ、信号線4301−1〜4によって接続されている。また、LSI4200の送信部4250の送信ドライバ4250b−1〜4とLSI4100の受信レシーバ4260b−1〜4が、それぞれ、信号線4401−1〜4によって接続されている。したがって、LSI4200がLSI4100からデータを正確に受信する場合には、LSI4200の受信部4260の終端抵抗4261−1〜4の抵抗値を、外部基準抵抗Rbの抵抗値によって、所望の抵抗値に調整する必要がある。もう一方で、LSI4100の送信部4150の終端抵抗4151−1〜4の抵抗値を、外部基準抵抗Raの抵抗値によって、所望の抵抗値に調整する必要がある。同様に、LSI4100がLSI4200からデータを正確に受信する場合には、LSI4100の受信部4160の終端抵抗4161−1〜4の抵抗値を外部基準抵抗Raに、LSI4200の送信部4150の終端抵抗4151−1〜4の抵抗値を外部基準抵抗Rbによって、所望の抵抗値に調整する必要がある。
ここで、LSI4100からLSI4200にデータを送信する場合の動作を簡単に説明する。LSI4100の制御部4110から送出されたパケットは、LSI4100の送信バッファ4120を介して送信パケット処理部4130のデータ処理部4130aに送られる。送信パケット処理部4130のCRC挿入部4130bは、データ処理部4130aに入力したパケットのCRCコードを生成する。送信パケット処理部4130は、データ処理部4130aが入力したパケットにCRC挿入部4130bが生成したCRCコードを挿入し、CRCコードが挿入されたパケットを送信部4150に出力する。送信部4150は、送信パケット処理部4130から受け取ったパケットを、伝送路4300に送出する。LSI4200の受信部4260は、伝送路4300を通して送られてくるパケットを受信部4260で受信する。受信部4260は、LSI4100から送られてきたパケットを受信パケット処理部4270のデータ処理部4270aに送る。受信パケット処理部4270のCRCチェッカー4270bは、データ処理部4270aが受信部4260から受け取ったパケット(受信パケット)についてCRCによるデータ誤りチェックを行なう。
CRCチェッカー4270bは、受信パケットのデータ誤りの検出結果をデータ処理部4270aに通知する。データ処理部4270aは、受信パケットにエラーがなければ、その受信パケットを受信バッファ4280に書き込む。一方、データ処理部4270aは、受信パケットにエラーがあれば、送信パケット処理部4230に対して、そのエラーを受信したパケットに関するエラー情報を伝達する。送信パケット処理部4230は、受信パケット処理部4270から前記エラー情報を受け取ると、再送要求リクエストを生成し、それを送信部4250に送る。送信部4150は、送信パケット処理部4130から受け取った再送要求リクエストを伝送路4400に送出する。
LSI4100の受信部4160は、LSI4200が送出した再送要求リクエストを、伝送路4400を通して受信する。受信部4160は、LSI4200から受信した再送要求リクエストを受信パケット処理部4170に送る。受信パケット処理部4170は、受信部4160から再送要求リクエストを受け取ると、データ送信制御部4140にLSI4200がエラー受信したパケットに関する情報を通知することで、LSI4200がエラー受信したパケットの再送を依頼する。データ送信制御部4140は、送信バッファ4120のポインタを、再送する必要があるパケットの格納位置まで戻す。送信パケット処理部4130は、送信バッファ4120から、そのポインタが指すパケットを読み出し、LSI4200でエラー受信となったパケットを送信部4150に送る。送信部4150は、送信パケット処理部4130から受け取ったパケットを、伝送路4300を介してLSI4200に送信する。これにより、LSI4100からLSI4200に対して、LSI4200がエラー受信したパケットがLSI4200に再送される。
LSI4200は、LSI4100からパケットを正常に受信した場合には、パケットを正常に受信したことをLSI4100に通知する。LSI4100は、LSI4200からパケットを正常に受信した旨の通知を受け取ると、データ送信制御部4140は、そのパケットが正常に受信できたことを認識し、ポインタの制御に反映させる。そして、LSI4100へのパケットの送信を継続する。
尚、特開2003−122465号公報には、データの送受信が停止していることを検出して、データの送受信が停止している時に、終端抵抗を補正する技術が開示されている。また、特開2001−175373号公報には、ダミー負荷手段を設けて、伝送ラインのインピーダンスを常に終端抵抗手段と等しくなるように保持できる通信装置が開示されている。
特開2003−122465号公報 特開2001−175373号公報 特開2006−203405号公報
終端抵抗は、外部環境の温度(例えば、LSIチップの温度)等の影響により、その値(抵抗値)が変化する。コンピュータシステムは、長時間にわたって連続して運用される場合が多く、運用時間が長くなると、それに伴い装置内部の温度が上昇する。このため、コンピュータシステムに搭載される半導体装置は、コンピュータシステムが連続運用されると、自身及び周囲の熱の影響により、温度が上昇する。したがって、コンピュータシステムに実装される半導体装置内に設置される終端抵抗は、コンピュータシステムが長時間連続運用されると、その抵抗値が変化する。このため、コンピュータシステム内のLSI間の高速伝送において、インピーダンス不整合により、伝送する信号波形に歪が生じ、受信データ誤りが生じてしまう。
前述のコンピュータシステムの温度変化のため、コンピュータシステムを長時間連続して運用する場合には、LSI間の伝送路の両端に設置されている終端抵抗の抵抗値が常に最適な値になるように制御する必要がある。但し、データ伝送中に終端抵抗の抵抗値を変更すると、その変更を行なわなければ正常に伝送されたであろうデータが正常に受信できなくなる場合も起こりうる。このため、終端抵抗の抵抗値の調整は、データ伝送に誤りが生じないような方法で実施する必要がある。
本発明の目的は、データ転送中の伝送路の終端部の抵抗値の補正を、データを破壊することなくできるようにすることである。
本発明の伝送装置は、データを伝送路に送信する送信回路と、前記伝送路を介して前記データを受信する受信回路を有する伝送装置を前提とする。
本発明の伝送装置の送信回路は、エラー検出符号生成部、送信回路側送信部及び送信回路側受信部を有する。
本発明の伝送装置の前記受信回路は、受信側終端部、受信側終端部調整部、受信回路側受信部と、エラー検出部、受信回路側送信部及び制御部を有する。
受信側終端部は、前記伝送路の前記受信回路側における終端を行う。受信側終端部調整部は、前記受信側終端部の抵抗値を適正値に更新する。受信回路側受信部は、前記送信回路から送信された前記送信データを、前記伝送路を介して受信する。エラー検出部は、前記受信回路側受信部が受信したデータのエラーを検出する。受信回路側送信部は、前記エラー検出部によりエラーが検出されたデータの再送を要求するエラー発生データ再送要求を前記送信側受信部回路に送信する。制御部は、前記エラー検出部により受信データが検出されたことを契機として終端部調整期間に移行し、前記終端部調整期間内に前記受信側終端部調整部を制御して、前記終端部調整期間内に前記受信側終端部に前記受信側終端部の抵抗値を適正値に更新させる。
本発明によれば、データ転送中の終端抵抗の補正を、データを破壊することなく行なうことができる。
本発明の第1の実施形態であるLSI間伝送装置の全体構成図である。 第1の実施形態における受信パケット処理部の構成例を示す図である。 第1の実施形態において終端抵抗調整期間を設定するために使用されるパケットのデータ構造を示す図である。 第1の実施形態における終端抵抗の更新方法を示す図である。 第1の実施形態における終端抵抗の更新処理の手順を示すフローチャートである。 本発明の第2の実施形態であるLSI間伝送装置の全体構成図である。 第2の実施形態における終端抵抗の更新処理の手順を示すフローチャートである。 本発明の第3の実施形態であるLSI間伝送装置の全体構成図である。 第3の実施形態における終端抵抗の更新方法を示す図である。 第3の実施形態における終端抵抗の更新処理の手順を示すフローチャートである。 LSI間でデータの送受信を行なう伝送装置の概略構成を示す図である。 従来のLSI間伝送装置の一般的な構成例を示す図である。
以下、本発明を実施する形態を、図面を参照しながら説明する。
以下に述べる第1〜第3の実施形態は、いずれも、本発明の伝送装置を、LSI間でデータ転送を行う伝送装置(LSI間伝送装置)に適用したものである。本実施形態のLSI間伝送装置は、LSI間のデータ転送期間中に伝送エラーが発生した場合、終端抵抗を調整(更新)する期間に移行し、この終端抵抗の調整期間中に、LSI間の伝送路の終端に設置された終端抵抗の抵抗値を適正値(LSIに外付けされた外部基準抵抗の抵抗値に等しいか、または外部基準抵抗の抵抗値に準ずる値)に補正する。また、終端抵抗調整期間中は、受信側LSIは受信データのエラーチェックを実施しない。第1〜第3の実施形態のLSI間伝送装置は、いずれも、パケットを用いてデータ転送を行う伝送装置に本発明を適用したものであるが、本発明は、パケットによりデータ転送を行う伝送装置に限定されるものではない。
[第1の実施形態]
{第1の実施形態のシステム構成}
図1は、本発明の第1の実施形態であるLSI間伝送装置の全体構成図である。図1に示すLSI間伝送装置1は、LSI10−1、LSI20−1、伝送路4300(第1の伝送路)、伝送路4400(第2の伝送路)、外部基準抵抗Ra(第1の外部基準抵抗)及び外部基準抵抗Rb(第2の外部基準抵抗)を備えている。LSI間伝送装置1において、LSI10−1はLSI間伝送装置4000のLSI4100に相当し、LSI20−1はLSI間伝送装置4000のLSI4200に相当する。LSI10−1とLSI20−1は、伝送路4300、4400を介して、互いにデータの送受信が可能である。LSI間伝送装置1は、本発明の具体的な実装の一例である。
LSI10−1が備える構成要素において図12に示したLSI4100と異なる構成要素は、送信パケット処理部130−1、受信部160−1及び受信パケット処理部170−1である。受信部160−1は、終端抵抗調整回路163−1の構成が終端抵抗調整回路4163と異なっている。終端抵抗調整回路163−1は、抵抗調整回路163a−1と受信側アップデート制御R部163r−1を備えている。受信パケット処理部170−1と受信部160−1内の終端抵抗調整回路163−1は、信号線191−1で接続されている。
LSI20−1は、LSI10−1と同様な構成のLSIである。図1において、LSI20−1とLSI10−1に共通な構成要素には同じ名称を記載している。但し、説明の便宜上、LSI20−1が備える構成要素には、LSI10−1とは異なる符号を付与している。これは、後述する、図6と図8においても同様である。
LSI10−1の送信部4150は、伝送路4300を介して、LSI20−1の受信部260−1と接続されている。また、LSI10−1の受信部160−1は、伝送路4400を介して、LSI20−1の送信部4250と接続されている。LSI10−1は、LSI20−1に対してデータを転送する場合、送信部4150により、伝送路4300を介して、データをLSI20−1に送信する。このとき、LSI10−1は、受信部4160により、伝送路4400を介して、LSI20−1からパケットを受信可能である。
同様にして、LSI20−1からLSI10−1に対してデータ転送することも可能である。この場合、LSI20−1は、送信部4250により、伝送路4400を介して、LSI10−1にデータを転送する。このとき、LSI20−1は、受信部260−1により、伝送路4300を介して、LSI10−1からパケットを受信可能である。
第1の実施形態では、終端抵抗調整期間中に、送信側LSIは、データを送る通常のパケットとは異なる機能を有する特殊なパケットを受信側LSIに送信する。この特殊なパケットの構造・機能の詳細については後述する。
送信パケット処理部130−1は、データ処理1部130a−1とCRC挿入部130b−1を備えている。送信パケット処理部130−1は、上述した送信パケット処理部4130と同様な機能に加え、終端抵抗調整期間中に、前記特殊なパケットを送信部4150に出力する。データ処理1部130a−1は、この特殊なパケットを生成する。CRC挿入部130b−1は、上述したCRC挿入部4130bと同様な機能を備える。
受信パケット処理部170−1(270−1)は、図12に示した受信パケット処理部4170と同様な機能に加え、送信側LSIから受信するデータ(パケット)のデータ誤りを検出し、受信パケットのエラー頻度(エラーレート)が予め定めた規定値以上であった場合には、受信部160−1(260−1)の終端抵抗調整回路163−1(263−1)に対して終端抵抗の更新を通知する信号(終端抵抗値更新通知)信号を出力する機能を備える。
受信部160−1(260−1)は、図12に示した受信部4160が備える終端抵抗調整回路4163とは異なる構成の終端抵抗調整回路163−1(263−1)を備えている。終端抵抗調整回路163−1(263−1)は、抵抗調整回路163a−1(263a−1)と受信側アップデート制御R部163r−1(263r−1)を備えている。抵抗調整回路163a−1(263a−1)は、図12に示した抵抗調整回路4163aとほぼ同様な機能を有する。受信側アップデート制御R部163r−1(263r−1)は、上述した受信側アップデート制御部4163rと同様の機能に加え、以下の機能を備える。受信側アップデート制御R部163r−1(263r−1)は、受信パケット処理部170−1(270−1)から受け取る終端抵抗値更新通知信号を受信すると、抵抗調整回路163a−1(263a−1)で調整された最適な抵抗値を終端抵抗4161−1〜4に伝え、終端抵抗4161−1〜4の抵抗値を、その時点の最適値に更新する。
一方、終端抵抗4151−1〜4は、従来通り、アップデート制御部4150tにより最適な抵抗値に変更される。
{第1の実施形態の全体動作の概要}
ここで、第1の実施形態の伝送装置1の全体動作の概要を、LSI10−1からLSI20−1へのデータ転送の例を取り上げて説明する。
LSI10−1の制御部4110から送出されたパケット(転送データを格納しているパケット)は、送信用バッファ4120、送信パケット処理部130−1を経由して送信部4150に送られる。このとき、送信パケット処理部130−1のCRC挿入部130b−1は、制御部4110から受け取るパケットにCRCコードを付加する。LSI10−1の送信部4150は、当該CRCコードが付加されたパケット(通常パケット)を伝送路4300に送出する。
LSI20−1は、LSI10−1が伝送路4300に送出した通常パケットを、受信部260−1で受信する。LSI20−1は、受信パケット処理部270−1により、受信部260−1が受信した通常パケットについてCRCエラーチェックを行い、その通常パケットにエラーが生じていないかチェックする。このとき、LSI20−1は、受信パケット処理部270−1が当該通常パケットにエラーが発生していると判断した場合には、送信部4250により、伝送路4400を介して、LSI10−1に対して再送要求リクエストを送信する。
LSI10−1は、受信部160−1により、LSI20−1が送信した再送要求リクエストを、伝送路4400を介して受信する。LSI10−1の受信部160−1は、前記再送要求リクエストを受信パケット処理部170−1に送る。受信パケット処理部170−1は、再送要求リクエストに設定されている情報(再送するために必要な情報)をデータ送信制御部4140に通知する。データ送信制御部4140は、当該情報を受け取ると、送信バッファ4120のポインタを、該当するデータ(LSI20−1に再送する必要があるデータ)の格納位置まで戻す。送信パケット処理部130−1は、送信バッファ4120から再送データを読み出し、CRCコードが付加されたパケット(当該再送データが格納されたパケット)を生成する。LSI10−1は、送信パケット処理部130−1によって生成された再送データが格納されたパケットを、送信部4150により、伝送路4300を介して、LSI20−1に送信する。これにより、LSI10−1からLSI20−1に対して、転送エラーとなったデータが再送される。
LSI20−1は、受信パケット処理部270−1により、LSI10−1から受信する通常パケットのエラーレートを計測する。LSI20−1は、受信パケット処理部270−1により、LSI10−1から受信する通常パケットのエラーレートが規定値を超えたと判断されると、送信部4250から、伝送路4400を介してLSI10−1に終端抵抗値調整リクエスト発行依頼パケットを送信する。LSI10−1は、受信部160−1が伝送路4400から前記終端抵抗値調整リクエスト発行依頼パケットを受信すると、送信部4150から、伝送路4300を介して、LSI20−1に終端抵抗調整リクエストを送信する。LSI20−1は、受信部260−1により、伝送路4300から当該終端抵抗調整リクエストを(正常に)受信すると、終端抵抗値調整期間に移行する。LSI20−1は、この終端抵抗値調整期間中に、終端抵抗調整回路263−2の制御によって、終端抵抗4261−1〜4の抵抗値をその時点の最適値に更新する。このLSI20−1による終端抵抗値調整期間中における終端抵抗4261−1〜4の更新処理の詳細は後述する。LSI20−1は、終端抵抗4261−1〜4の抵抗値の更新が終了すると、送信部4250から、伝送路4400を介して、LSI10−1に終端抵抗値更新完了パケットを送信する。LSI10−1は、受信部160−1が伝送路4400からLSI20−1が送信した前記終端抵抗値更新完了パケットを受信すると、LSI20−1に対する通常パケットの送信を再開する。
LSI20−1は、受信パケット処理部270−1がLSI10−1から受信したパケットにCRCエラーを検出しなかった場合には、送信部4250により、伝送路4400を介して、LSI10−1に対してパケットを正常に受信したことを通知する。LSI10−1は、LSI20−1からパケットの正常受信の通知を受け取ると、データ送信制御部140−1により送信バッファ4120のポインタを制御し、LSI20−1へのデータ転送を継続する。
図2は、第1の実施形態におけるLSI10−1の受信パケット処理部170−1(LSI20−1の受信パケット処理部270−1)の構成例を示す図である。
図2に示す受信パケット処理部170−1(270−1)は、データ処理4部170a−1(270a−1)、CRCチェッカー170b−1(270b−1)、エラーカウンタ170c−1(270c−1)及びエラー規定値チェック部170d−1(270d−1)を備えている。
データ処理4部170a−1(270a−1)は、受信部160−1(270−1)から受信パケットを受け取る。CRCチェッカー170b−1(270b−1)は、受信部160−1(260−1)から受け取った受信パケットについてCRCによりデータ誤り(CRCエラー)の有無をチェックし、そのチェック結果をデータ処理4部170a−1(270a−1)に返す。データ処理4部170a−1(270a−1)は、CRCチェッカー170b−1(270b−1)からチェック結果を受け取ると、エラーが無い場合、受信パケットからCRCコードを取り除き、受信パケットを受信バッファ4180に書き込む。CRCチェッカー170b−1(270b−1)は、受信パケットがエラーであった場合には、エラー検出信号をエラーカウンタ170c−1(270c−1)に出力する。エラーカウンタ170c−1(270c−1)は、受信パケットのエラー数を計数するカウンタであり、CRCチェッカー170b−1(270b−1)からエラー検出信号を入力する毎に値を1つインクリメントする。
エラー規定値チェック部170d−1(270d−1)は、内部にエラーレート計数用の規定値(エラー規定値)を保持しており、エラーカウンタ170c−1(270c−1)の値とエラー規定値を比較する。そして、エラーカウンタ170c−1(270c−1)の値がエラー規定値を超えれば、受信パケットのエラーレートが許容されるエラーレートを超えたと判断し、信号線191−1(291−1)を介して、終端抵抗調整回路163−1(263−1)に終端抵抗更新命令を送る。ここで、エラーレートの許容値は、例えば1分間に10回のエラー発生とする。エラーレートは、パケットの伝送速度に応じて適切な値に設定するようにする。第1の実施形態の場合、LSI10−1、20−1の内部に、図2に示すレジスタ180(280)を設ける。このレジスタ180(280)は、LSI10−1、20−1の内部に設けられた外部I/F(外部インターフェース)を介して外部から値を変更可能である。エラー規定値チェック部170d−1(270d−1)が保持するエラー規定値は、レジスタ180(280)の値に等しくなるように設定される。したがって、レジスタ180(280)の値を変更することで、エラー規定値チェック部170d−1(270d−1)が保持するエラー規定値の変更が可能である。エラーカウンタ170c−1(270c−1)は、エラーレートの計測単位時間に応じた時間で、エラー規定値チェック部170d−1(270d−1)によってカウンタ値が“0”にリセットされる。
受信パケット処理部170−1(270−1)は、受信パケットのCRCエラーを検出した場合、そのCRCエラーが発生した受信パケットに関する情報を送信パケット処理部130−1(230−1)とデータ送信制御部140−1(240−1)に通知する。
{パケットのデータ構造}
図3は、第1の実施形態において終端抵抗調整期間を設定するために使用されるパケットのデータ構造を示す図である。
図3(b)に示すように、第1の実施形態では、終端抵抗調整期間を設定するために、下記のパケット(制御パケット)を使用する。
(1)終端抵抗調整リクエスト発行依頼パケット:受信パケットのエラーレートが規定値を超えたときに、受信側LSIが送信側LSIに対して「終端抵抗調整リクエスト」の発行を依頼するパケット
(2)終端抵抗調整リクエスト:送信側LSIが、受信側LSIの終端抵抗の抵抗値を外部基準抵抗の抵抗値に等しくなるように更新する期間(終端抵抗調整期間)に移行することを、受信側LSIに通知するパケット
(3)運用復帰リクエスト:送信側LSIが、終端抵抗調整期間の終了を対向LSIに通知するパケット
(4)終端抵抗値更新完了パケット:受信側LSIが、送信側LSIから運用復帰リクエストを受信したことを通知するパケット
(5)調整中パケット:終端抵抗調整期間のとくに終端抵抗調整リクエストと運用復帰リクエストとの間に送信側から受信側に送る無効パケット
図3(a)は、上記5種類のパケットのデータ構造を示している。このフォーマットのパケットは、送信パケット処理部130−1で制御される。図3(a)に示すように、パケット200のヘッダ210は、「R」、「Fmt」、「Type」、「Length」等のフィールドを有している。Rフィールドは1ビットであり“Reserved”を示す値が設定される。Fmtフィールドは3ビットであり、パケットのフォーマットを示す値が設定される。本実施形態の場合は、“111”に設定される。Typeフィールドは4ビットであり、図3(b)に示すように、パケットの種類を示す値が設定される。Lengthフィールドは、パケット200のデータ部に格納されるデータのサイズ(データ長)を示す値が設定される。本発明のパケットフォーマットではLengthフィールドは、有効ではない(例えば、all”0”の値を入れておけばよい)。送信パケット処理部130−1のCRC挿入部130b−1は、このパケット200全体のCRCコードを生成し、そのCRCコードをパケット200の末尾に付加する。図3(a)のkは、通常のデータ転送を行う際のパケットの終わりを示している。
{終端抵抗の更新方法}
図4は、第1の実施形態における終端抵抗の更新方法を示す図である。
第1の実施形態においては、LSI間のデータ転送中に終端抵抗調整期間を設け、この終端抵抗調整期間中に受信側LSIの終端抵抗の抵抗値を、伝送中のデータを破壊することなく適正な値に更新する。
図4は、LSI10−1とLSI20−1間でのデータ伝送例を示している。図4(a)はLSI10−1からLSI20−1へのパケット送信を示しており、図4(b)はLSI20−1からLSI10−1へのパケット送信を示している。図4(a)、(b)において、パケットは図面に示す時間軸t(時間(t))の矢印の向きに沿って送信される。したがって、図面の左端が最も早く送信されたパケットを示し、右端が最も遅く送信されたパケットを示す。
図4(a)に示すように、LSI10−1は、通常運転期間(Pn1、Pn2)中は、LSI20−1に対して通常パケットを送信する。図4(b)に示すように、LSI20−1は、LSI10−1の通常運転期間(Pn1)中に、LSI10−1から受信するパケットのエラーレートが規定値を超えたことを検出すると、LSI10−1に対して終端抵抗調整リクエスト発行依頼パケットを送信する(時刻t0)。LSI10−1は、LSI20−1が送信した終端抵抗調整リクエスト発行依頼パケットを受信すると、LSI20−1に対して終端抵抗調整リクエストを送信する(時刻t1)。この終端抵抗調整リクエストの送信により、通常運転期間(Pn1)から終端抵抗調整期間(Pt)に移行する。LSI20−1は、LSI10−1が調整中パケット(無効パケット)を送信している期間中(t2〜t5)に、自LSIの終端抵抗の抵抗値を正常な値に更新する。図4(a)に示す例では、LSI20−1は、自LSIの終端抵抗の抵抗値を時刻t4で更新している。
LSI20−1は、自LSIの終端抵抗の抵抗値の更新が完了すると、LSI10−1から運用復帰リクエストが送信されてくるのを待つ。そして、LSI20−1は、LSI10−1が送信した運用復帰リクエストを受信すると、終端抵抗値更新完了パケットをLSI10−1に対して送信する(時刻t6)。LSI10−1は、LSI20−1が送信した終端抵抗値更新完了パケットを受信すると、通常運転期間(Pn2)に移行する(時刻t8)。LSI10−1は、通常運転期間(Pn2)になると、LSI20−1に対する通常パケットの送信を開始する(時刻t7)。一方、LSI20−1は、LSI10−1に対して終端抵抗値更新完了パケットの送信が終了すると、LSI10−1に対する通常パケットの送信を続行する。LSI20−1は、終端抵抗調整リクエスト発行依頼パケットを送信してから終端抵抗値更新完了パケットを送信するまでの間は、LSI10−1に対して通常パケットの送信を続ける。
以上に述べたように、第1の実施形態では、受信パケットのエラーレートが規定値を超えた受信側LSIが、終端抵抗調整期間(Pt)中に、自LSIの終端抵抗の抵抗値を、外部基準抵抗Rbを用いて、適正な抵抗値に更新する。終端抵抗調整期間(Pt)は、受信パケットのエラーレートが規定値を超えた受信側LSIが、自LSIにパケットを送信してくる送信側LSIに対して終端抵抗調整リクエスト発行依頼パケットを送信し、この終端抵抗調整リクエスト発行依頼パケットを受信した送信側LSIが、受信側LSIに対して終端抵抗調整リクエストを送信し、受信側LSIがこの終端抵抗調整リクエストを受信することで開始される。また、終端抵抗調整期間(Pt)は、送信側LSIが受信側LSIに対して運用復帰リクエストを送信し、この運用復帰リクエストを受信した受信側LSIが送信側LSIに対して終端抵抗値更新完了パケットを送信し、この終端抵抗値更新完了パケットを送信側LSIが受信することで終了する。
{第1の実施形態の動作}
図5は、第1の実施形態の動作を示すフローチャートである。図5は、LSI10−1からLSI20−1にデータを送信するチップ間伝送路4300でエラーが生じ、LSI20−1(受信側LSI)の終端抵抗の抵抗値の更新が必要になる場合の例を説明する図である。図5において、左側がLSI10−1の動作を、右側がLSI20−1の動作を示している。また、図5の下側の破線で囲まれた部分は、両LSIの終端抵抗調整期間Pt1の処理を示している。尚、図5では、便宜上、LSI10−1によるLSI20−1からの受信パケットのCRCエラーチェックは省略している。実際には、LSI10−1も、LSI20−1と同様に、受信パケットのCRCエラーチェックを行う。
LSI10−1からLSI20−1へのデータ転送に先立って、両LSIは、初期化処理を行う(ステップST1、SR1)。この初期化では、内部終端抵抗の調整やその他の構成要素の初期設定などを行う。この処理により、LSI10−1の終端抵抗4151−1〜4、4161−1〜4及びLSI20−1の終端抵抗4251−1〜4、4261−1〜4の抵抗値が、それぞれの外部基準抵抗Ra、Rbの抵抗値を基に適正な値に設定される。
両LSIは、続いて、通常のデータ転送の運用を開始する(ステップST2、SR2)。
LSI10−1は、LSI20−1に対してデータを送信し(ステップST3)、ステップST4の処理に移行する。LSI10−1は、ステップST3において、データ送信をCRCコードが付加されたパケットによって行う。LSI20−1は、LSI10−1が伝送路4300に送出したデータを受信すると、パケットに付加されたCRCコードを基に、受信したパケットにCRCエラーが発生していないか判別する(ステップSR4)。すなわち、受信データに誤りが発生していないか判別する。LSI20−1は、ステップSR4においてCRCエラーが発生していなければ(ステップSR4、No)、ステップSR3に戻り、LSI10−1からの次のデータ受信に備える。一方、LSI20−1は、ステップSR4でCRCエラーの発生を検出すると(ステップSR4、Yes)、ステップSR5の処理に進む。
LSI20−1は、ステップSR5において、CRCエラーの回数をインクリメントする(“1”増加する)。そして、インクリメントにより得られたCRCエラーの回数を基に、CRCエラーのレート(CRCエラーレート)が規定値を超えているか判別する。LSI20−1は、CRCエラーレートが規定値を超えていないと判別すると(ステップSR5、No)、LSI10−1に対して、再送要求リクエストを送信する(ステップSR6)。
LSI10−1は、ステップST4において、LSI20−1がステップSR6で送信した再送要求リクエストを受信すると、送信バッファ4120から再送要求のあったデータを読み出し、送信パケット処理部130−1においてデータ送信用のパケットを再発行する。そして、LSI10−1は、ステップST3の処理に戻り、ステップST3において、LSI20−1から再送要求のあったデータを再送する。
LSI20−1は、ステップSR5において、CRCエラーのエラーレートが規定値を超えていると判別すると(ステップSR5、Yes)、ステップSR7の処理に進む。ステップSR7以降において、LSI10−1とLSI20−1は、終端抵抗値調整期間Pt1の処理を実行する。また、この時、データはエラーとなるので、LSI20−1はLSI10−1に対し、ステップSR6で再送要求リクエストを送信する。
(この例では、LSI20−1)が受信するデータのCRCエラーレートが規定値を超えると、両LSI(LSI10−1とLSI20−1)は、終端抵抗調整期間Pt1の処理に移行する。
次に、両LSIの終端抵抗調整期間Pt1中の処理を説明する。
終端抵抗調整期間Pt1において、まず、LSI20−1は、LSI10−1に対して「終端抵抗調整リクエスト」の発行を依頼するパケット(終端抵抗調整リクエスト発行依頼パケット)を送信し(ステップSR7)、LSI10−1から送信されてくるデータの受信を待つ(ステップSR8)。LSI10−1は、LSI20−1が送信した終端抵抗調整リクエスト発行依頼パケットを受信すると、リクエスト解読を行い、LSI20−1が終端抵抗調整リクエスト発行依頼パケットを送信してきたことを認識し、LSI20−1に対して終端抵抗調整リクエストを送信し、その後、所定回数の調整中パケットを送信する(ステップST6)。
LSI20−1は、ステップSR7において、LSI10−1からパケットを受信すると、そのパケットについてCRCチェックを行う(ステップSR8)。そして、LSI20−1は、ステップSR7でLSI10−1から受信したパケットにCRCエラーが発生しているか判別する(ステップSR9)。LSI20−1は、ステップSR9において、LSI10−1から受信したパケットがCRCエラーであれば(ステップSR9、Yes)、LSI10−1に対して再送要求リクエストを送信し(ステップSR10)、その後、ステップSR8に戻る。一方、LSI20−1は、ステップSR9において、ステップSR8で終端抵抗調整リクエスト(パケットにCRCエラーを生じていない)が受信されたと判別すれば(ステップSR9、No)、ステップSR11の処理に進む。
LSI10−1は、通常運転時と同様に、LSI20−1からのパケットの内容を解読(確認)しており、そのパケットが再送要求リクエストであるか判別する(ステップST7)。そして、再送要求リクエストであると判別すると(ステップST7、Yes)、ステップST6に戻り、ステップST6において、終端抵抗調整リクエストとそれに続く調整中パケットをLSI20−1に再送する。
このようにして、LSI20−1がLSI10−1の送信する終端抵抗調整リクエストを(正しく)受信するまで、LSI10−1によるステップST6〜ST7の処理とLSI20−1によるステップSR8〜SR10の処理が繰り返し実行される。つまり、LSI10−1は、LSI20−1が終端抵抗調整リクエストを(正常に)受信するまで、LSI20−1に対して終端抵抗調整リクエストを再送する。
つまり、LSI10−1は、LSI20−1が終端抵抗調整リクエストを再送要求してこない場合、LSI20−1に対して、予め定められた回数の調整中パケットを送信する。LSI10−1は、もし、LSI20−1から再送を要求された場合には、LSI20−1に対するパケット送信を、終端抵抗調整リクエストからやり直す。ステップST7は、通常運用と同様の機能であり、LSI10−1は、LSI20−1からの受信データを常時チェックしている。図5では、説明の便宜上、明示的に示していない。LSI10−1がLSI20−1に対して送信する調整中パケットの個数は、LSI20−1が終端抵抗調整リクエストを(正常に)受信してから自LSIの終端抵抗の抵抗値の更新を完了するまでの時間を考慮して決定される。
LSI20−1は、LSI10−1が送信する調整中パケットを受信し、その調整中パケットについてCRCエラーチェックを行う(ステップSR8)。LSI20−1は、終端抵抗調整リクエストを受信した後は、LSI10−1から受信した調整中パケットにCRCエラーが発生していても、そのCRCエラーを無効とする。したがって、LSI20−1は、ステップSR8においてLSI20−1が送信した調整中パケットを受信した場合には、ステップSR9の処理を通過して、ステップSR11の処理に進む。このように、LSI20−1は、LSI10−1から終端抵抗調整リクエストを受信した後は、LSI10−1から受信するパケットのCRCエラーチェックを解除する。
LSI20−1は、ステップSR11において、終端抵抗調整回路263−1により、自LSIの終端抵抗(終端抵抗4261−1〜4)の抵抗値をその時点の最適値に更新する。
このように、LSI20−1は、LSI10−1から終端抵抗調整リクエストを(正しく)受信すると、その後、LSI10−1から送信されてくるパケットのCRCエラーチェックを一定期間解除し、その一定期間中内に自LSIの終端抵抗の抵抗値をその時点の最適値に更新する処理を完了する。LSI20−1は、ステップSR11において自LSIの終端抵抗値の更新が完了すると、LSI10−1から受信するパケットのCRCエラーチェックを再開し、ステップSR12の処理に移る。
LSI10−1は、ステップST6においてLSI20−1に対する調整中パケットの送信が完了すると、LSI20−1に対する運用復帰リクエストを送信し(ステップST9)、その後、ステップST10の処理に移る。
LSI20−1は、ステップSR12において、LSI10−1から受信するパケットが運用復帰リクエストであるか判別する。LSI20−1は、LSI10−1からの受信パケットが運用復帰リクエストでない、つまり、調整中パケットであれば(ステップSR12、No)、ステップSR12の処理を繰り返す。そして、LSI20−1は、ステップSR12において、LSI10−1から受信したパケットが運用復帰リクエストであると判別すると(ステップSR12、Yes)、LSI10−1に対して終端抵抗値更新完了パケットを送信する(ステップSR13)。
LSI10−1は、ステップST10において、LSI20−1から受信するパケットが終端抵抗値更新完了パケットであるか判別する。LSI10−1は、LSI20−1からの受信パケットが終端抵抗値更新完了パケットでないと判別すると(ステップST10、No)、ステップST9に戻り、ステップST9において、再度、LSI20−1に対して運用復帰リクエストを送信する。一方、LSI10−1は、ステップST10において、LSI20−1から受信したパケットが終端抵抗値更新完了パケットであると判別すると(ステップST10、Yes)、ステップST3に戻る。
このようにして、LSI10−1は、ステップST10においてLSI20−1から終端抵抗値更新完了パケットを受信したと判別するまで、ステップST10において運用復帰リクエストをLSI20−1に対して送信し続ける。そして、LSI20−1がLSI10−1からの運用復帰リクエストに対して、LSI10−1に対して終端抵抗値更新完了パケットを返し、その終端抵抗値更新完了パケットの受信をLSI10−1が認識することで、終端抵抗調整期間Pt1が終了する(図4の終端抵抗値調整期間(Pt)参照)。LSI10−1は、終端抵抗値調整期間Pt1が終了すると、通常運用に復帰する。尚、LSI10−1が、ステップST10においてNoと判別するのは、例えば受信パケットが通常パケットである場合である。
[第2の実施形態]
第2の実施形態も、第1の実施形態と同様に、データ転送中に終端抵抗調整期間を設け、この終端抵抗調整期間中に受信側LSIの終端抵抗の抵抗値を、その時点の最適値に更新する。第2の実施形態は、終端抵抗調整期間中に、第1の実施形態とは異なる方法を用いて、受信側LSIの終端抵抗を更新する。より詳しく説明すると、送信側LSIは、終端抵抗調整期間中は、受信側LSIに対してNOPパケットを規定回数送信し続ける。一方、受信側LSIは、タイマを用いて終端抵抗調整期間を計時する。そして、終端抵抗調整期間内に、自LSIの終端抵抗を更新する。タイマが終端抵抗調整期間を計時する値(以下、タイマ値)は、例えば、LSI内部に設けられたタイマ値設定用のレジスタを介して設定・変更される。
{第2の実施形態のシステム構成}
図6は、本発明の第2の実施形態であるLSI間伝送装置2の全体構成図である。図6において、図1に示すLSI間伝送装置1と同様の構成要素には同じ符号を付与している。
LSI間伝送装置2において、LSI10−2はLSI間伝送装置4000のLSI4100に相当し、LSI20−2はLSI間伝送装置4000のLSI4200に相当する。LSI10−2とLSI20−2は、伝送路4300、4400を介して、互いにデータの送受信が可能である。LSI間伝送装置2は、本発明の具体的な実装の一例である。
以下に、LSI間伝送装置2とLSI間伝送装置1の構成・機能上の相違について説明する。
送信パケット処理部130−2は、データ処理1部130a−2とCRC挿入部130b−2を備える。送信パケット処理部130−1は、第1の実施形態の送信パケット処理部130−1とは異なり、調整中パケット、運用復帰リクエストを生成しない。送信パケット処理部130−2は、終端抵抗調整期間中、規定数のNOPパケットを生成し、その生成したNOPパケットを送信部4150に送る。送信部4150は、送信パケット処理部130−2から送られてくるNOPパケットを、伝送路4300を介してLSI20−2に送信する。
終端抵抗調整回路163−2は、抵抗調整回路163a−2、受信側アップデート制御R部163r−2及びタイマ制御部163t−2を備えている。受信側アップデート制御R部163r−2は、受信パケット処理部170−2内のデータ処理4部170a−2と信号線191−2で接続されている。
終端抵抗調整回路163−2は、第1の実施形態の終端抵抗調整回路163−1と同様な構成・機能を有する。受信側アップデート制御R部163r−2は、受信側アップデート制御R部163r−1が備える機能に加え、タイマ制御部163t−2と通信する機能を備える。タイマ制御部163t−2は、LSI10−1が受信側LSIとなっているとき、受信側アップデート制御R部163r−2の指示を受けて、終端抵抗調整期間を計時する。受信側アップデート制御R部163r−2は、終端抵抗調整期間が開始されると、タイマ制御部163t−2に対して終端抵抗調整期間の時間の計時を指示する。タイマ制御部163t−2は、受信側アップデート制御R部163r−2から終端抵抗調整期間の計時を指示されると、終端抵抗調整期間の計時を開始する。タイマ制御部163t−2は、計時時間が所定の時間になると、受信側アップデート制御R部163r−2に終端抵抗の抵抗値の更新時刻になったことを通知する。受信側アップデート制御R部163r−2は後述の終端抵抗調整リクエストを受信した際に終端抵抗の抵抗値を更新し、タイマ制御部163t−2から上記通知を受け取ると、自LSIの受信を通常運用に戻る動作を行う。通常動作は、受信パケット処理部170−2で行われる。
そして、その計時が終了すると、受信側アップデート制御R部163r−2に対してタイマ時間の終了を通知する。さらに、アップデート163r−2は、受信パケット処理部170−2にタイマの終了を伝えることで、通常動作に復帰する。
送信パケット処理部130−2のデータ処理1部130a−2は、LSI10−1が送信側LSIとなっているとき、受信側LSIであるLSI20−2に対してNOPパケットが送信されるように制御する。
{終端抵抗の更新処理手順}
上述したように、第2の実施形態(LSI間伝送装置2)が第1の実施形態(LSI間伝送装置1)と異なるのは、終端抵抗値調整期間中の動作のみである。したがって、以下では、第2の実施形態における終端抵抗値調整期間中の動作を中心にして説明する。
LSI間伝送装置12の全体動作は、図5のフローチャートの終端抵抗値調整期間Pt1の部分を、図7に破線で囲んで示す終端抵抗値調整期間Pt2に置き換えたものとなる。したがって、以下では、図7のフローチャートを参照しながら、LSI間伝送装置2の動作を、LSI間伝送装置1とは異なる動作部分についてのみについて説明することにする。
図7は、第2の実施形態における終端抵抗の更新処理の手順を示すフローチャートであり、LSI間伝送装置2の終端抵抗値調整期間Pt2中の処理を示している。図7において、破線で示された垂線の左側がLSI10−2(送信側LSI)の処理、当該垂線の右側がLSI20−2(受信側LSI)の処理を示している尚、図7では、便宜上、LSI10−2によるLSI20−2からの受信パケットのCRCエラーチェックは省略している。実際には、LSI10−2も、LSI20−2と同様に、受信パケットのCRCエラーチェックを行う。
図7のフローチャートを参照しながら、終端抵抗値調整期間中におけるLSI10−2とLSI20−2の動作を説明する。
LSI間伝送装置2は、LSI間伝送装置1と同様に、図5のフローチャートのステップSR5において、LSI20−2が受信データのエラーレートが規定値を超えたと判断すると(ステップSR5、Yes)、図7のステップSR7の処理に移行し、終端抵抗調整期間の処理を開始する。
図7のフローチャートの一点鎖線の枠で囲まれた前半部分の処理は、図5のフローチャートの前半部分の処理(LSI10−1のステップST5〜ST7の処理とLSI20−1のステップSR6〜SR10の処理)と同様である。
LSI間伝送装置2のLSI10−2とLSI20−2は、終端抵抗値調整期間Pt2において、まず、LSI間伝送装置1のLSI10−1とLSI20−1と同様な処理(LSI10−2のステップST5〜ST7の処理とLSI20−2のステップSR6〜SR10の処理)を行う。すなわち、LSI間伝送装置2の終端抵抗値調整期間Pt2の処理は、LSI20−2がLSI10−2に対して終端抵抗調整リクエストを送信し、その終端抵抗調整リクエスト発行依頼パケットに対する応答として、LSI10−2がLSI20−2に対して終端抵抗調整リクエストを返すことで開始される。
LSI10−2は、LSI20−1が終端抵抗調整リクエストがエラーであると検出するまでは(ステップST7、Noの間)、ステップST21の処理に進む。CRCチェック部170b―2は、第1の実施形態で説明した通り、通常動作と同様の動作を行う。
LSI20−2は、LSI10−1から終端抵抗調整リクエストを(正常に)受信すると(ステップSR9、No)、ステップSR21の処理に進む。
LSI10−2は、ステップST21において、LSI20−2に対して、規定回数のNOP(NOPパケット)を送信する。そして、LSI20−2に対するNOPパケットの送信が完了すると、通常運用に復帰する(ステップST22)。
LSI20−2は、ステップSR7においてLSI10−1が送信した終端抵抗調整リクエストを正しく受信すると、調整用タイマをスタートさせる(ステップSR21)。
この調整用タイマは、LSI20−2の終端抵抗の抵抗値を更新し、通常運用に戻るまでの期間を計時するためのタイマである。調整用タイマは、タイマ制御部163t−2によって実行される。LSI20−2は、ステップSR21において、調整用タイマをスタートさせると、その後、調整用タイマが終了したか判断する(ステップSR22)。LSI20−2は、ステップSR22において調整用タイマが終了したと判断するまで、ステップSR22の処理を繰り返す。そして、ステップSR22において、調整用タイマが終了したと判断すると(ステップSR22、Yes)、通常運用に復帰する(ステップSR23)。なお、調整用タイマが起動してから終了するまでの間、LSI20−2は、第一の実施形態と同様にCRCチェックを実施しない。
第2の実施形態では、必ず、受信側LSI(この例では、LSI20−2)が送信側LSI(この例では、LSI10−2)よりも早く通常運用に復帰するように制御する。終端抵抗調整期間の長さは、受信側LSIの終端抵抗の更新処理時間や伝送路4300、4400のデータ転送速度などを考慮して決定する。
第2の実施形態では、送信側LSIから受信側LSIへの調整中パケットや運用復帰リクエストの送信や受信側LSIから送信側LSIへの終端抵抗値更新完了パケットの送信が不要となる。したがって、第2の実施形態は、送信側LSIと受信側LSI間のパケット通信(リクエストや応答)を、第1の実施形態よりも簡略化できる。
[第3の実施形態]
LSI間のデータ伝送においては、受信側LSIは、受信データがエラーとなった場合、送信側LSIに対して再送要求リクエストを送信する。送信側LSIは、受信側LSIから再送要求を受信すると、受信側LSIにエラーとなったデータを再送する。受信側LSIは、再送データを待つ間、送信側LSIから受信する後続のデータを破棄する。第3の実施形態は、自LSIの終端抵抗の抵抗値の更新を、上記後続データを破棄している間に実行する。つまり、第3の実施形態においては、受信側LSIの終端抵抗の抵抗値の更新を、送信側LSIにエラーデータの再送要求を送信してから、そのエラーデータを受信するまでの期間(再送データ受信準備期間)に行う。また、第3の実施形態では、送信側LSIの終端抵抗の更新を、受信側LSIから再送要求を受け取ってから受信側LSIにエラーとなったデータを再送するまでの期間(再送データ送信準備期間)に行う。このように、第3の実施形態では、受信側LSIでデータ受信エラーが発生した場合、受信側LSIの終端抵抗の抵抗値の更新のみでなく、送信側LSIの終端抵抗の抵抗値の更新も行う。
{第3の実施形態のシステム構成}
図8は、本発明の第3の実施形態であるLSI間伝送装置3の全体構成図である。図8において、図1に示すLSI間伝送装置1が備える構成要素と同じ構成要素には同一の符号を付与している。
LSI間伝送装置3において、LSI10−3はLSI間伝送装置4000のLSI4100に相当し、LSI20−3はLSI間伝送装置4000のLSI4200に相当する。LSI10−3とLSI20−3は、伝送路4300、4400を介して、互いにデータの送受信が可能である。LSI間伝送装置3は、本発明の具体的な実装の一例である。
図8に示すLSI間伝送装置3は、LSI間伝送装置1が備える受信パケット処理部170−1と構成・機能が異なる受信パケット処理部170−3を備えている。受信パケット処理部170−3は、データ処理4部170a−3とCRCチェッカー170b−3に加え、タイマ170c−3を備えている。データ処理4部170a−3は、受信部160−3内の終端抵抗調整回路163−3と信号線191−3で接続されている。受信部160−3内のデータ処理4部170a−3と送信部150−3内の送信側アップデート制御T部150t−3は、信号線192−3で接続されている。尚、この信号線192−3は、必ずしも必要ではない。LSI10−3内に信号線192−3を設けない場合には、データ処理4部170a―3が、抵抗調整回路163a−3を経由して、受信側アップデート制御部163r−3及び送信側アップデート制御T部150t−3に終端抵抗の抵抗値の更新を指示するように構成すればよい。
送信部150−3は、送信側アップデート制御T部150t−3を備えている。送信側アップデート制御T部150t−3は、データ処理4部170a−3から信号線192−3を介して終端抵抗更新命令を受け取ると、送信部150−3内の終端抵抗4151−1〜4を、その時点の最適値に更新する。
データ処理4部170a−3は、データ処理1部130a−1が備える機能に加え、以下のような機能を備えている。データ処理4部170a−3は、CRCチェッカー170b―3により受信データのエラーが検出されると、送信パケット処理部130−3に対して再送要求リクエストの発行を依頼する。また、データ処理4部170a−3は、送信パケット処理部130−3へ再送要求リクエストの発行を依頼した後、アップデート制御部163t−3に対して終端抵抗の更新命令(終端抵抗更新命令)を通知する。データ処理1部130a−3は、データ処理4部170a−3から再送要求リクエスト発行依頼を受け取ると、再送要求リクエストを生成し、それを送信部150−3に送る。送信部150−3は、データ処理1部130a−3から受け取った再送要求リクエストを、伝送路4300を介してLSI20−3に送信する。
データ処理4部170a−3は、送信側アップデート制御T部150t−3に対して終端抵抗更新命令を通知する。データ処理4部170a−3は、送信パケット処理部130−3とデータ送信制御部4140に対して、受信エラーとなったパケットを再送するように指示する。一方、受信LSI20−3の受信パケット処理部270−3は、再送要求リクエストで要求したデータ(再送データ)の受信を待つ間、受信すべき再送データ以外のデータを破棄する。受信LSI20−3は、受信データの破棄の間に、データ処理4部270a―3から263r−3に終端抵抗を最適にするように指示する。同時に、受信側LSI20−3のCRCチェッカー207b-3はタイマ270cによりカウントされる時間中、CRCチェックを無効にする。 以上の説明は、LSI10−3からLSI20−3へ再送要求リクエストを送信した場合の例である。つまり、LSI10−3が送信側LSI、LSI20−3が受信側LSIとなっている場合の構成・動作の説明である。
{終端抵抗の更新方法}
図9は、第3の実施形態における終端抵抗の更新方法を示す図である。
図9は、LSI10−3が送信側LSI、LSI20−3が受信側LSIとなっている場合の例を示している。図9中央の水平な破線601は、LSI10−3とLSI20−3の境界を示すものである。図9は、LSI10−3とLSI20−3との間の通信が、この境界をまたいで行われる様子をイメージしている。
図9において、(a)はLSI10−3の終端抵抗調整状態(TL1)を、(b)はLSI10−3のデータ転送状態(DL1)を示している。また、(c)はLSI20−3のデータ転送状態(DL2)を、(d)はLSI20−3の終端抵抗調整状態(TL2)を示している。また、(e)は時間軸(t)を示している。この時間軸(t)の矢印の向きが示すように、図9(a)〜(d)において、時間は図面の左から右へ流れるものとする。
LSI10−3とLSI20−3は、通常運用期間中は、互いに、パケットの送受信が可能である(図9(b)、(c)参照)。
次に、図9を参照して、第3の実施形態における終端抵抗の更新方法を説明する。
図9(c)に示すように、LSI20−3は、時刻t31で、LSI10−3から受信したデータのCRCエラーを検出すると、LSI10−3に対して再送要求を行う。LSI20−3は、再送要求後、再送データ送信準備期間(図9(c)の期間(b))に移行する。LSI10−3は、LSI20−3が送信した再送要求を時刻t32で受信する(図9(b)参照)。LSI10−3は、LSI20−3から再送要求を受信すると、再送データ送信準備期間(図9(b)の期間(a))に移行する。LSI10−3は、再送データ送信準備期間において、再送要求のあったデータまで送信データの履歴を戻す等のデータの再送準備を行い、その再送準備が終了すると、時刻t33で、LSI20−3に対して再送データを送信する(図9(b)参照)。そして、通常運用期間に戻る。一方、LSI20−3は、再送データ受信準備期間中において、CRCエラー検出後にLSI10−3から受信したデータを破棄する処理を行う。そして、LSI10−3が送信した再送データを時刻t34で受信し、その再送データが正常であることを確認すると、通常運用期間に戻る(図9(c)参照)。
ここで、LSI20−3は、再送データ受信準備期間(期間(b))中は、LSI10−3から有用なデータを受信しない。また、LSI10−3も、再送データ送信準備期間(期間(a))中は、LSI20−3から有用なデータを受信しない。また、再送データ受信準備期間(期間(b))は、再送データ送信準備期間(期間(a))よりも開始時刻が早く、終了時刻が遅くなる(図9(b)、(c)参照)。再送データ受信準備期間(期間(b))中には、伝送路4300、4400には有効なデータは流れていない。したがって、再送データ受信準備期間(期間(b))中は、LSI10−3とLSI20−3は、受信データのエラー検出を中止する事が可能である。第3の実施形態では、伝送路4300、4400に有効なデータ伝送が流れていない再送データ送信準備期間(期間(a))と再送データ受信準備期間(期間(b))を利用して、これらの準備期間中に、LSI10−3の終端抵抗の抵抗値とLSI20−3の終端抵抗の抵抗値を最適値に更新する。
ところで、LSI10−3、LSI20−3は、通常運用期間中には、終端抵抗調整回路(終端抵抗調整回路163−3、263−3)の抵抗調整回路(抵抗調整回路163a−3、263a−3)により、終端抵抗の最適値を調整している。第3の実施形態では、送信側LSIであるLSI10−3は、再送データ送信準備期間(期間(a))中に、通常運用期間中に最適値に調整されていた抵抗値を、終端抵抗4151−1〜4に反映させる(図9の終端抵抗反映(GL1)参照)。また、受信側LSIであるLSI20−3は、再送データ受信準備期間(期間(b))中に、通常運用期間中に最適値に調整されていた抵抗値を、終端抵抗4261−1〜4に反映させる(図9の終端抵抗反映(GL2)参照)。
データの再送は、データ転送状態が良くない場合に発生する。伝送路の終端抵抗の抵抗値は、データ転送状態に影響を及ぼす要因の一つである。第3の実施形態は、このデータ転送状態と終端抵抗の抵抗値の相関関係を考慮し、受信側LSIと送信側LSIの終端抵抗を共に更新する。つまり、受信データのエラーをトリガーとして、再送データ送信準備期間(期間(a))内と再送データ受信準備期間(期間(b))内に、それぞれ、送信側LSIの終端抵抗の抵抗値と受信側LSIの終端抵抗の抵抗値を更新する(抵抗値を最適にする)。
{終端抵抗の更新処理手順}
図10は、第3の実施形態における終端抵抗の更新処理の手順を示すフローチャートである。
図10は、LSI10−3からLSI20−3へデータを送信する場合の例である。すなわち、送信側LSIがLSI10−3、受信側LSIがLSI20−3である場合のデータ転送の例である。
まず、LSI10−3がステップST1の処理を実行し、LSI20−3がステップSR1の処理を実行する。これにより、LSI10−3とLSI20−3は終端抵抗の抵抗値の調整(抵抗値の最適化)などの初期化処理を行う。続いて、LSI10−3とLSI20−3は、それぞれ、ステップST2とステップSR2の処理を実行する。これにより、LSI10−3とLSI20−3は、データ転送を開始する。
次に、LSI10−3は、LSI20−3に対してデータを送信する(ステップST3)。LSI20−3は、LSI10−3が送信したデータを受信し、その受信データについてCRCによるエラーチェックを行う(ステップSR3)。LSI20−3は、上記エラーチェックの結果を基に、受信データにCRCエラーが発生しているか判別する(ステップSR31)。LSI20−3は、受信データがCRCエラーでないと判別すれば(ステップSR31、No)、ステップSR3に戻る。一方、LSI20−3は、ステップSR31において、受信データがCRCエラーであると判別すれば(ステップSR31、Yes)、LSI10−3に対して再送要求リクエストを送信し(ステップSR32)、その後、自LSIの終端抵抗の抵抗値をその時点の最適値に設定する(ステップSR33)。この自LSIの終端抵抗を最適値に設定するための制御信号(終端抵抗設定信号)は、終端抵抗調整回路263−3の抵抗調整回路263a−3によって生成される。アップデート制御部263r−3は、抵抗調整回路263a−3によって生成された終端抵抗設定信号を基に、伝送路4300の終端抵抗4261−1〜4の抵抗値を、その時点の最適値に設定する。
LSI20−3は、再送データの受信準備処理を行い(ステップSR34)、再送データの受信準備処理が終了すると、ステップSR3に戻る。これにより、LSI20−3は、通常運用に復帰する。
尚、図10のフローチャートでは、便宜上、ステップSR33の処理に続いてステップSR34の処理が行われるように記載しているが、ステップSR33の処理とステップSR34の処理は同時並行で行われる。ステップSR33における終端抵抗値調更新処理期間は、タイマ270c−3によって計時される。
LSI10−3は、LSI20−3がステップSR32で送信した再送要求リクエストのパケットを受信すると、そのパケットのリクエストを解読する。そして、再送要求リクエストを受信したと認識する(ステップST31)。LSI10−3は、次に、自LSIの終端抵抗の抵抗値をその時点の最適値に設定する(ステップST32)。この自LSIの終端抵抗を最適値に設定するための制御信号(終端抵抗設定信号)は、終端抵抗調整回路163−3の抵抗調整回路163a−3によって生成される。送信側アップデート制御T部150t−3は、抵抗調整回路163a−3によって生成された終端抵抗設定信号を基に、伝送路4300の終端抵抗4151−1〜4の抵抗値を、その時点の最適値に設定する。なお、LSI10−3は、ステップST31でリクエスト解読し、再送要求でないと判断した場合は、ステップST3において通常のデータ送信を継続している。
LSI10−3は、再送データの送信準備処理を行い(ステップST33)、再送データの送信準備処理が終了すると、ステップST3に戻る。これにより、LSI10−3は、通常運用に復帰する。
このように、第3の実施形態では、受信側LSIの受信データのエラー検出を契機として、受信側LSIの終端抵抗と送信側LSIの終端抵抗をその時点の最適値に更新する。
送信側LSIは、再送データの送信準備期間中に自LSIの終端抵抗を更新する。受信側LSIは、再送データの受信準備期間中に自LSIの終端抵抗を更新する。
尚、第3の実施形態において、前記第1の実施形態と同様に、受信データのエラーレートが規定値を超えたときを契機として、終端抵抗の抵抗値を更新するようにしてもよい。
上述した本実施形態によれば、下記のような効果が得られる。
(1)終端抵抗の抵抗値を更新(補正)中に、LSI間を転送中のデータを破壊することがない。
(2)終端抵抗の抵抗値の更新処理は、LSI間のデータ転送を、ごく短時間中断するだけなので、コンピュータシステムの性能に対する影響はほとんどない。また、コンピュータシステムが正常なデータ転送をおこなっていないときに、終端抵抗の抵抗値を更新するので、コンピュータシステムの性能に悪影響を与えることはない。
(3)本実施形態は回路構成がシンプルであるため、本実施形態の実装には複雑な回路を必要としない。このため、本実施形態は、既存のコンピュータシステムへの実装が容易である。
(4)本実施形態を利用することで、本実施形態のように、伝送路に無効データを転送中に終端抵抗の抵抗値を変化させた場合と、伝送路に通常データを転送中に終端抵抗の抵抗値を変化させた場合での、受信データのエラー発生状況(例えばエラーレート)を比較することにより、終端抵抗が伝送路のデータ転送にどの程度の影響を与えているか観測することができる。
本発明は、上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々に変形して実施することができる。例えば、本発明は、伝送路の終端に、受動的な終端回路(終端部)である抵抗ではなく、能動的な終端回路であるアクティブターミネータが設置された形態の伝送装置にも適用可能である。アクティブターミネータは、例えば、シリーズ抵抗とボルテージレギュレータから構成される。また、本発明はLSI間伝送装置の伝送路の終端回路に限定されるものではなく、例えば、SCSIバス(Small Computer System Interface Bus) などの終端回路の調整にも適用可能である。また、上述した3つの実施形態は、いずれも、受信部に設けた終端抵抗調整回路によって、受信側の終端抵抗の抵抗値と送信側の終端抵抗の抵抗値を更新するような構成となっているが、受信側の終端抵抗の抵抗値の更新と送信側の終端抵抗の抵抗値の更新は、それぞれ、個別に設けられた終端抵抗調整回路によって行われるような構成にしてもよい。
上述した各実施形態のポイントをまとめると、以下のようになる。
1.データ転送中に、受信回路(受信側LSI)で受信する通常データに影響を及ぼすことなく、つまり、受信回路(受信側LSI)が受信する通常データにエラーを発生させることなく、終端抵抗の抵抗値を更新する(第1〜第3の実施形態)。
2.受信回路(受信側LSI)は、調整用パケットを受信している期間に、終端抵抗の抵抗値を更新する(第1の実施形態)。
3.受信回路(受信側LSI)は、終端抵抗の抵抗値を更新する期間(終端部調整期間)の計時にタイマを使用する(第2の実施形態)。
4.終端部調整期間中において、送信回路(送信側LSI)は無効なパケット(無効データ)を伝送路に送信し、受信回路(受信側LSI)は復帰パケット(運用復帰リクエスト)を検出するまで、伝送路を介して送信回路(送信側LSI)から受信する前記無効パケット(無効データ)を破棄する(第1の実施形態)。
5.受信回路(受信側LSI)の再送要求リクエスト、すなわち、受信回路(受信側LSI)の受信データのエラー発生をトリガーとして、受信回路(受信側LSI)の終端抵抗の抵抗値及び送信側LSIの終端抵抗の抵抗値を更新する。このとき、送信回路(送信側LSI)は、送信回路(受信側LSI)に対して、受信回路(受信側LSI)が終端抵抗の抵抗値を更新する期間(終端部調整期間)を調整するためのパケット(調整中パケット(無効パケット))を送信しない(第3の実施形態)。この場合、例えば、受信回路(受信側LSI)は、タイマで、前記終端部調整期間を計時する。
以上の実施形態に関し、更に、以下の付記を開示する。
(付記1)
データを伝送路に送信する送信回路と、前記伝送路を介して前記データを受信する受信回路を有する伝送装置において、
前記送信回路は、
前記受信回路に送信するデータのエラー検出用のエラー検出符号を生成するエラー検出符号生成部と、
前記データと前記エラー検出符号を含む送信データを前記伝送路に送信する送信回路側送信部と、
前記受信回路からデータを受信する送信回路側受信部を有し、
前記受信回路は、
前記伝送路の前記受信回路側における終端を行う受信側終端部と、
前記受信側終端部の抵抗値を適正値に更新する受信側終端部調整部と、
前記送信回路から送信された前記送信データを、前記伝送路を介して受信する受信回路側受信部と、
前記受信回路側受信部が受信したデータのエラーを検出するエラー検出部と、
前記エラー検出部によりエラーが検出されたデータの再送を要求するエラー発生データ再送要求を前記送信回路に送信する受信回路側送信部と、
前記エラー検出部により受信データが検出されたことを契機として終端部調整期間に移行し、前記終端部調整期間内に前記受信側終端部調整部を制御して、前記終端部調整期間内に前記受信側終端部の抵抗値を適正値に更新させる受信回路側制御部と、
を有することを特徴とする伝送装置。
(付記2)
前記受信回路において、
前記受信回路側送信部は、前記エラー検出部が受信データのエラーを検出した場合に前記送信回路に対して受信側終端部調整リクエストの発行を依頼する受信側終端部調整リクエスト発行依頼リクエストを生成・送信し、前記受信側終端部の抵抗値の更新が終了した後に、終端抵部更新完了パケットを前記送信回路に送信し、
前記エラー検出部は、前記送信回路が前記受信側終端部調整リクエスト発行依頼リクエストに応答して送信した終端抵抗調整リクエストを受信したとき、当該終端抵抗調整リクエストのエラーチェックを行い、前記終端部調整期間内に前記受信回路側受信部が前記送信回路から受信する調整中パケットのエラーは無効とみなし、
前記受信回路側制御部は、前記終端抵抗調整リクエストにエラーが発生していれば前記終端抵抗調整リクエストリクエストの再送を、前記受信回路側送信部により前記送信回路に依頼し、前記終端抵抗調整リクエストにエラーが発生していなければ前記終端抵抗値調整期間に移行し、
前記送信回路は、さらに、
前記送信回路側受信部が前記受信回路側送信部から前記受信側終端部調整リクエスト発行依頼リクエストを受信した場合に前記送信回路側送信部により受信側終端部調整リクエストを前記伝送路に送信し、その後、前記送信回路側受信部が前記受信回路から受信側終端部更新完了通知を受信するまでの間、前記伝送路に無効データを送信するように制御する送信回路側制御部を有することを特徴とする付記1記載の伝送装置。
(付記3)
前記受信回路は、さらに、
前記エラー検出部により前記受信回路側受信部が受信したデータのエラーが検出されてから、前記終端部調整期間の時間を計時する計時部を有し、
前記受信回路は、前記計時部が計時を開始してから終了するまでの間に、前記受信側終端部調整部により受信側終端部の抵抗値を更新し、
前記送信回路は、前記受信回路が前記受信側終端部調整リクエストを受信したことを確認した後、前記送信回路側送信部により前記伝送路に規定回数の無効データを送信することを特徴とする付記1記載の伝送装置。
(付記4)
前記送信回路は、少なくとも前記受信回路の計時部が計時を終了するまでの期間まで、前記送信回路側送信部により前記伝送路に無効データを送信し続けることを特徴とする付記3記載の伝送装置。
(付記5)
前記送信回路は、さらに、
前記伝送路の前記送信回路側における終端を行う送信側終端部と、
前記送信側終端部の抵抗値の更新を行う送信側終端部調整部を有し、
前記送信側終端部調整部は、前記送信回路側受信部が前記受信回路から前記データ再送要求を受信してから前記送信回路側送信部が前記再送を要求されたデータを前記受信回路に再送するまでの期間内に前記送信側終端部の抵抗値を更新し、
前記受信回路の受信側終端部調整部は、前記受信回路側送信部が前記データ再送要求を前記送信回路に送信してから前記受信回路側受信部が前記再送要求を行ったデータを前記送信回路から受信するまでの期間内に前記受信側終端部の抵抗値を更新する、
ことを特徴とする付記1記載の伝送装置。
(付記6)
送信回路が伝送路に送信するデータを、前記伝送路を介して受信する受信回路において、
前記伝送路の前記受信回路側における終端を行う受信側終端部と、
前記受信側終端部の抵抗値を適正値に更新する受信側終端部調整部と、
前記送信回路から送信された前記送信データを、前記伝送路を介して受信する受信回路側受信部と、
前記受信回路側受信部が受信したデータのエラーを検出するエラー検出部と、
前記エラー検出部によりエラーが検出されたデータの再送を要求するエラー発生データ再送要求を前記送信回路に送信する受信回路側送信部と、
前記エラー検出部により受信データのエラーが検出されたことを契機として終端部調整期間に移行し、前記終端部調整期間内に前記受信側終端部調整部を制御して、前記終端部調整期間内に前記受信側終端部の抵抗値を適正値に更新させる受信回路側制御部と、
を有することを特徴とする受信回路。
(付記7)
前記受信回路側送信部は、前記エラー検出部が受信データのエラーを検出した場合に前記送信回路に対して受信側終端部調整リクエストの発行を依頼する受信側終端部調整リクエスト発行依頼リクエストを生成・送信し、前記受信側終端部の抵抗値の更新が終了した後に、終端抵部更新完了パケットを前記送信回路に送信し、
前記エラー検出部は、前記送信回路が前記受信側終端部調整リクエスト発行依頼リクエストに応答して送信した終端抵抗調整リクエストを受信したとき、当該終端抵抗調整リクエストのエラーチェックを行い、前記終端部調整期間内に前記受信回路側受信部が前記送信回路から受信する調整中パケットのエラーは無効とみなし、
前記受信回路側制御部は、前記終端抵抗調整リクエストにエラーが発生していれば前記終端抵抗調整リクエストリクエストの再送を、前記受信回路側送信部により前記送信回路に依頼し、前記終端抵抗調整リクエストにエラーが発生していなければ前記終端抵抗値調整期間に移行する、
ことを特徴とする付記6記載の受信回路。
(付記8)
前記受信回路は、さらに、
前記エラー検出部により前記受信回路側受信部が受信したデータのエラーが検出されてから、前記終端部調整期間の時間を計時する計時部を有し、
前記受信回路は、前記計時部が計時を開始してから終了するまでの間に、受信側終端部調整部により受信側終端部の抵抗値を更新することを特徴とする付記6記載の受信回路。
(付記9)
前記受信回路の受信側終端部調整部は、前記受信回路側送信部が前記エラー発生データ再送要求を前記送信回路に送信してから前記受信回路側受信部が前記エラー発生データの再送データを受信するまでの期間内に、前記受信側終端部の抵抗値を更新することを特徴とする付記6記載の受信回路。
(付記10)
データを伝送路に送信する送信回路と、前記伝送路を介して前記データを受信する受信回路を有する伝送装置の制御方法において、
前記送信回路は、
前記受信回路に送信するデータのエラー検出用のエラー検出符号を生成するエラー検出符号生成ステップと、
前記データと前記エラー検出符号を含む送信データを前記伝送路に送信する送信回路側送信ステップと、
前記受信回路からデータを受信する送信回路側受信ステップを有し、
前記受信回路は、
前記伝送路の前記受信回路側における終端を行う受信側終端ステップと、
前記受信側終端部の抵抗値を適正値に更新する受信側終端部調整ステップと、
前記送信回路から送信された前記送信データを、前記伝送路を介して受信する受信回路側受信ステップと、
前記受信回路側受信部が受信したデータのエラーを検出するエラー検出部と、
前記エラー検出部によりエラーが検出されたデータの再送を要求するエラー発生データ再送要求を前記送信回路に送信する受信回路側送信ステップと、
前記エラー検出部により受信データが検出されたことを契機として終端部調整期間に移行し、前記終端部調整期間内に前記受信側終端部調整部を制御して、前記終端部調整期間内に前記受信側終端部の抵抗値を適正値に更新させる制御ステップとを有することを特徴とする伝送装置の制御方法。
1、2、3 LSI間伝送装置
10−1〜10−3、20−1〜20−3 LSI
130−1〜130−3 送信パケット処理部
130a−1〜130a−3 データ処理1部
130b−1〜130b−3 CRC挿入部
150−3 送信部
150t−3 送信側アップデート制御T部
160−1〜160−3 受信部
163−1〜163−3 終端抵抗調整回路
163a−1〜163a−3 抵抗調整回路
163r−1〜163r−3 受信側アップデート制御R部
163t−2 タイマ制御部
170−1〜170−3 受信パケット処理部
170a−1〜170a−3 データ処理4部
170b−1〜170b−3 CRCチェッカー
170c エラーカウンタ
170d エラー規定値チェック部
170e−3 タイマ
180 レジスタ
191−1〜191−3、192−3 信号線
200 パケット
210 ヘッダ

Claims (10)

  1. データを伝送路に送信する送信回路と、前記伝送路を介して前記データを受信する受信回路を有する伝送装置において、
    前記送信回路は、
    前記受信回路に送信するデータのエラー検出用のエラー検出符号を生成するエラー検出符号生成部と、
    前記データと前記エラー検出符号を含む送信データを前記伝送路に送信する送信回路側送信部と、
    前記受信回路からデータを受信する送信回路側受信部を有し、
    前記受信回路は、
    前記伝送路の前記受信回路側における終端を行う受信側終端部と、
    前記受信側終端部の抵抗値を適正値に更新する受信側終端部調整部と、
    前記送信回路から送信された前記送信データを、前記伝送路を介して受信する受信回路側受信部と、
    前記受信回路側受信部が受信したデータのエラーを検出するエラー検出部と、
    前記エラー検出部によりエラーが検出されたデータの再送を要求するデータ再送要求を前記送信回路に送信する受信回路側送信部と、
    前記エラー検出部によりエラーが検出されたことを契機として終端部調整期間に移行し、前記終端部調整期間内に前記受信側終端部調整部を制御して、前記終端部調整期間内に前記受信側終端部の抵抗値を適正値に更新させる受信回路側制御部と、
    を有し、
    前記終端部調整期間中において、前記送信回路は無効データを前記伝送路に送信し、前記受信回路は前記伝送路を介して前記送信回路から受信する前記無効データを破棄する
    ことを特徴とする伝送装置。
  2. 前記受信回路において、
    前記受信回路側送信部は、前記エラー検出部が受信データのエラーを検出した場合に前記送信回路に対して受信側終端部調整リクエストの発行を依頼する受信側終端部調整リクエスト発行依頼リクエストを生成・送信し、前記受信側終端部の抵抗値の更新が終了した後に、終端抵部更新完了パケットを前記送信回路に送信し、
    前記エラー検出部は、前記送信回路が前記受信側終端部調整リクエスト発行依頼リクエストに応答して送信した終端抵抗調整リクエストを受信したとき、当該終端抵抗調整リクエストのエラーチェックを行い、前記終端部調整期間内に前記受信回路側受信部が前記送信回路から受信する調整中パケットのエラーは無効とみなし、
    前記受信回路側制御部は、前記終端抵抗調整リクエストにエラーが発生していれば前記終端抵抗調整リクエストの再送を、前記受信回路側送信部により前記送信回路に依頼し、前記終端抵抗調整リクエストにエラーが発生していなければ前記終端抵抗値調整期間に移行し、
    前記送信回路は、さらに、
    前記送信回路側受信部が前記受信回路側送信部から前記受信側終端部調整リクエスト発行依頼リクエストを受信した場合に前記送信回路側送信部により受信側終端部調整リクエストを前記伝送路に送信し、その後、前記送信回路側受信部が前記受信回路から受信側終端部更新完了通知を受信するまでの間、前記伝送路に前記無効データを送信するように制御する送信回路側制御部を有することを特徴とする請求項1記載の伝送装置。
  3. 前記受信回路は、さらに、
    前記エラー検出部により前記受信回路側受信部が受信したデータのエラーが検出されてから、前記終端部調整期間の時間を計時する計時部を有し、
    前記受信回路は、前記計時部が計時を開始してから終了するまでの間に、前記受信側終端部調整部により受信側終端部の抵抗値を更新し、
    前記送信回路側送信部により前記伝送路に規定回数の終端抵抗調整中パケットを送信することを特徴とする請求項1記載の伝送装置。
  4. 前記送信回路は、少なくとも前記受信回路の計時部が計時を終了するまでの期間まで、前記送信回路側送信部により前記伝送路に終端抵抗調整中パケットを送信し続けることを特徴とする請求項3記載の伝送装置。
  5. 前記送信回路は、さらに、
    前記伝送路の前記送信回路側における終端を行う送信側終端部と、
    前記送信側終端部の抵抗値の更新を行う送信側終端部調整部を有し、
    前記送信側終端部調整部は、前記送信回路側受信部が前記受信回路から前記データ再送要求を受信してから前記送信回路側送信部が前記再送を要求されたデータを前記受信回路に再送するまでの期間内に前記送信側終端部の抵抗値を更新し、
    前記受信回路の受信側終端部調整部は、前記受信回路側送信部が前記データ再送要求を前記送信回路に送信してから前記受信回路側受信部が前記再送要求を行ったデータを前記送信回路から受信するまでの期間内に前記受信側終端部の抵抗値を更新する、
    ことを特徴とする請求項1記載の伝送装置。
  6. 送信回路が伝送路に送信するデータを、前記伝送路を介して受信する受信回路において、
    前記伝送路の前記受信回路側における終端を行う受信側終端部と、
    前記受信側終端部の抵抗値を適正値に更新する受信側終端部調整部と、
    前記送信回路から送信された前記送信データを、前記伝送路を介して受信する受信回路側受信部と、
    前記受信回路側受信部が受信したデータのエラーを検出するエラー検出部と、
    前記エラー検出部によりエラーが検出されたデータの再送を要求するエラー発生データ再送要求を前記送信回路に送信する受信回路側送信部と、
    前記エラー検出部により受信データのエラーが検出されたことを契機として終端部調整期間に移行し、前記終端部調整期間内に前記受信側終端部調整部を制御して、前記終端部調整期間内に前記受信側終端部の抵抗値を適正値に更新させる受信回路制御部と、
    を有し、
    前記終端部調整期間中において、前記送信回路は無効データを前記伝送路に送信し、前記受信回路は前記伝送路を介して前記送信回路から受信する前記無効データを破棄する
    ことを特徴とする受信回路。
  7. 前記受信回路において、
    前記受信回路側送信部は、前記エラー検出部が受信データのエラーを検出した場合に前記送信回路に対して受信側終端部調整リクエストの発行を依頼する受信側終端部調整リクエスト発行依頼リクエストを生成・送信し、前記受信側終端部の抵抗値の更新が終了した後に、終端抵部更新完了パケットを前記送信回路に送信し、
    前記エラー検出部は、前記送信回路が前記受信側終端部調整リクエスト発行依頼リクエストに応答して送信した終端抵抗調整リクエストを受信したとき、当該終端抵抗調整リクエストのエラーチェックを行い、前記終端部調整期間内に前記受信回路側受信部が前記送信回路から受信する調整中パケットのエラーは無効とみなし、
    前記受信回路側制御部は、前記終端抵抗調整リクエストにエラーが発生していれば前記終端抵抗調整リクエストの再送を、前記受信回路側送信部により前記送信回路に依頼し、前記終端抵抗調整リクエストにエラーが発生していなければ前記終端抵抗値調整期間に移行する、
    ことを特徴とする請求項6記載の受信回路。
  8. 前記受信回路は、さらに、
    前記エラー検出部により前記受信回路側受信部が受信したデータのエラーが検出されてから、前記終端部調整期間の時間を計時する計時部を有し、
    前記受信回路は、前記計時部が計時を開始してから終了するまでの間に、受信側終端部調整部により受信側終端部の抵抗値を更新することを特徴とする請求項6記載の受信回路。
  9. 前記受信回路の受信側終端部調整部は、前記受信回路側送信部が前記エラー発生データ再送要求を前記送信回路に送信してから前記受信回路側受信部が前記エラー発生データの再送データを受信するまでの期間内に、前記受信側終端部の抵抗値を更新することを特徴とする請求項6記載の受信回路。
  10. データを伝送路に送信する送信回路と、前記伝送路を介して前記データを受信する受信回路を有する伝送装置の制御方法において、
    前記送信回路は、
    前記受信回路に送信するデータのエラー検出用のエラー検出符号を生成するエラー検出符号生成ステップと、
    前記データと前記エラー検出符号を含む送信データを前記伝送路に送信する送信回路側送信ステップと、
    前記受信回路からデータを受信する送信回路側受信ステップを有し、
    前記受信回路は、
    前記伝送路の前記受信回路側における終端を行う受信側終端ステップと、
    前記受信側終端部の抵抗値を適正値に更新する受信側終端部調整ステップと、
    前記送信回路から送信された前記送信データを、前記伝送路を介して受信する受信回路側受信ステップと、
    前記受信回路側受信部が受信したデータのエラーを検出するエラー検出ステップと、
    前記エラー検出ステップによりエラーが検出されたデータの再送を要求するエラー発生データ再送要求を前記送信回路に送信する受信回路側送信ステップと、
    前記エラー検出ステップによりエラーが検出されたことを契機として終端部調整期間に移行し、前記終端部調整期間内に前記受信側終端部調整部を制御して、前記終端部調整期間内に前記受信側終端部の抵抗値を適正値に更新させる制御ステップと
    を有し、
    前記終端部調整期間中において、前記送信回路は無効データを前記伝送路に送信し、前記受信回路は前記伝送路を介して前記送信回路から受信する前記無効データを破棄する
    ことを特徴とする伝送装置の制御方法。
JP2009107236A 2009-04-27 2009-04-27 伝送装置、受信回路及び伝送装置の制御方法 Expired - Fee Related JP5407524B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009107236A JP5407524B2 (ja) 2009-04-27 2009-04-27 伝送装置、受信回路及び伝送装置の制御方法
US12/763,551 US8775891B2 (en) 2009-04-27 2010-04-20 Transmission device, receiving circuit and control method of transmission device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009107236A JP5407524B2 (ja) 2009-04-27 2009-04-27 伝送装置、受信回路及び伝送装置の制御方法

Publications (2)

Publication Number Publication Date
JP2010258841A JP2010258841A (ja) 2010-11-11
JP5407524B2 true JP5407524B2 (ja) 2014-02-05

Family

ID=42993199

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009107236A Expired - Fee Related JP5407524B2 (ja) 2009-04-27 2009-04-27 伝送装置、受信回路及び伝送装置の制御方法

Country Status (2)

Country Link
US (1) US8775891B2 (ja)
JP (1) JP5407524B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8578222B2 (en) * 2011-02-17 2013-11-05 Qualcomm Incorporated SerDes power throttling as a function of detected error rate
JP6371111B2 (ja) * 2014-05-16 2018-08-08 ザインエレクトロニクス株式会社 受信装置
JP7059860B2 (ja) 2018-08-06 2022-04-26 富士通株式会社 パラメータ設定送受信システムおよびパラメータ設定方法
US11870612B2 (en) * 2020-03-26 2024-01-09 Intel Corporation Method of adaptive termination calibration

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0380741A (ja) * 1989-08-24 1991-04-05 Oki Electric Ind Co Ltd 通信装置の送信及び受信レベル自動調整装置
JP2001175373A (ja) 1999-12-15 2001-06-29 Yokogawa Electric Corp 通信装置
JP3506330B2 (ja) * 2000-12-27 2004-03-15 松下電器産業株式会社 データ送信装置
JP3609363B2 (ja) 2001-10-10 2005-01-12 沖電気工業株式会社 インタフェース回路
JP2005234976A (ja) 2004-02-20 2005-09-02 Renesas Technology Corp 記憶装置
JP4159553B2 (ja) 2005-01-19 2008-10-01 エルピーダメモリ株式会社 半導体装置の出力回路及びこれを備える半導体装置、並びに、出力回路の特性調整方法
JP4706755B2 (ja) * 2006-03-29 2011-06-22 日本電気株式会社 基地局装置及びそのデータ再送方法
JP5256855B2 (ja) * 2008-05-30 2013-08-07 富士通株式会社 データ転送装置、データ転送方制御方法

Also Published As

Publication number Publication date
US8775891B2 (en) 2014-07-08
JP2010258841A (ja) 2010-11-11
US20100275084A1 (en) 2010-10-28

Similar Documents

Publication Publication Date Title
US11128388B2 (en) Communication channel calibration using feedback
CN100366029C (zh) 通信控制器、主机端控制器、通信设备、通信系统和方法
JP5407524B2 (ja) 伝送装置、受信回路及び伝送装置の制御方法
US7793030B2 (en) Association of multiple PCI express links with a single PCI express port
US7308516B2 (en) Bi-directional serial interface for communication control
US8250416B2 (en) Redundant acknowledgment in loopback entry
WO1992009151A1 (en) Local area network adaptive throughput control for instantaneously matching data transfer rates between personal computer nodes
US8880921B2 (en) Communication device and communication system
CN113806262B (zh) 接口装置及其操作方法
KR100778114B1 (ko) 통신에러를 개선하기 위한 통신방법 및 그 통신방법이적용된 전자장치
US6625163B1 (en) Collision detection on a differential bus
CN218772141U (zh) 双处理器电路及分布式控制系统的控制主板
CN108241586B (zh) 控制器电路与估计延迟补偿方法
EP1491016B1 (en) Impedance compensation control
JP2005129008A (ja) ホスト側コントローラ,usbシステム,通信コントローラ,パケット通信方法,パケット通信プログラムおよび記録媒体
US20240143434A1 (en) Flow control between peripheral component interconnect express devices
US9880968B2 (en) Bi-directional communication between electronic components
GB2503933A (en) Time sensitive transaction over an asynchronous serial link
US20080256273A1 (en) Serial communication method and serial communication system
KR970005745B1 (ko) 데이터전송라인 점검장치와 그 방법
CN117349218A (zh) 一种单线通讯接口及协议
JP2001166891A (ja) 印刷装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130523

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130709

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130909

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131008

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131021

LAPS Cancellation because of no payment of annual fees