(57)【特許請求の範囲】
【請求項１】
少なくともシリアルデータ伝送フレームの開始を示すスタートデリミタ（以下、SDと略称する）とフレームの終了を示すエンドデリミタ（以下、EDと略称する）とを有するデータを受信するデータ受信部と、この受信したデータが書き込まれる受信データバッファと、受信データバッファに書き込まれたデータを送信するデータ送信部からなるデータ中継装置において、
前記データ受信部は、受信したデータのSDを、予め保持しているSDパターンと比較するSD検出手段と、SD検出手段にて予め保持しているSDパターンと一致したならば、このときの受信データバッファの受信ポインタ値を保持する受信ポインタ制御手段と、を備え、
前記データ送信部は、
前記受信クロックと同期している送信クロックで動作する送信ポインタ制御手段と、所定のSDを生成するSD生成手段と、データ中継装置から送信するデータを切り替える第１の切換手段と、を備え、
前記送信ポインタ制御手段は、前記SD検出手段にて予め保持しているSDパターンと一致したとき、前記第１の切換手段をSD生成手段側に切り替え、前記SD生成手段から所定時間だけ遅らせてSDを送信し、SDを送信し終えたら前記第１の切換手段を受信データバッファ側に切り替え、受信データバッファに書き込まれた受信データのうち前記受信ポインタ値以降のデータを送信する、
ことを特徴とするデータ中継装置。
【請求項２】
前記データ受信部は、さらに受信したデータからEDを検出するED検出手段を備え、
前記データ送信部は、さらに、
前記データ送信部から出力されるデータを監視し、１つのデータ送信が終了したことを検出する送信終了制御手段と、前記ED検出手段の出力と前記送信終了制御手段の出力とが入力されるED検知手段と、前記SD検出手段の出力と前記ED検知手段の出力とが入力されるマスク手段と、を備え、
前記ED検知手段は、
前記ED検出手段にてあるデータのEDを検出したときは、前記マスク手段をアクティブにする信号を送り、前記送信終了制御手段にてあるデータのEDを検出したときは、前記マスク手段を非アクティブにする信号を送り、
前記マスク手段は、
前記ED検知手段からのアクティブ信号により、前記SD検出手段にて検出される新たなSDをマスクし、前記ED検知手段からの非アクティブ信号により、前記マスクを解除するようにした、
ことを特徴とする請求項１に記載のデータ中継装置。
【請求項３】
前記送信終了制御手段は、１つのデータ送信が終了したことを検出したら無効データを出力する無効データ出力手段をさらに備え、
前記マスク手段は、
前記SD検出手段にて予め保持されたSDパターンと一致したとき、前記無効データ出力手段にデータ出力を中止させる機能をさらに備え、データ送信終了後に不要なデータの送出を防ぐ、
ことを特徴とする請求項２に記載のデータ中継装置。
【請求項４】
請求項１〜３のいずれかに記載のデータ中継装置において、
さらに、プロセッサと、このプロセッサから送信されるデータをストアする記憶領域と、前記データ送信部からのデータと前記記憶領域からのデータとを選択的に送信するための第２の切換手段を備え、
前記プロセッサからの制御信号により前記第２の切換手段を制御してデータを送信する、
ことを特徴とするデータ中継装置。
【請求項５】
少なくともシリアルデータ伝送フレームの開始を示すスタートデリミタ（以下、SDと略称する）フレームの終了を示すエンドデリミタ（以下、EDと略称する）とを有するデータを受信バッファに格納し、受信データを、所定時間後に送信するデータ中継方法において、
受信データと同一のSDをSD生成回路で生成し、このSD生成回路からのSD送信に続けて、受信バッファに格納されたデータのうちSDを除いた部分を送信することで、受信データを所定時間後に送信する、
ことを特徴とするデータ中継方法。
【請求項６】
あるデータの送信が終了するまでは、次のデータのSDを検出してもSD生成回路へはマスクすることで次のデータのSDを生成せず、かつ次のデータを、あるデータに続けて受信データバッファに格納し、
あるデータの送信が終了したのに続き、次のデータを受信バッファから送信することで、あるデータが破壊されるのを防ぐ、
ことを特徴とする請求項５に記載のデータ中継方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、シリアルインターフェースを行う際の受信クロックと送信クロックの周波数偏差によって生じるビット誤り（欠落、誤挿入、ビット化け）を防止するデータ中継装置およびその方法に関する。
【０００２】
【従来の技術】
従来技術によるデータ中継装置およびその方法は、シリアルデータ伝送フレームの開始を示すスタートデリミタ（以下、SDと略称する）SDを検知することで、この受信フレームを送出するタイミングを初期化し、フレーム長に対する許容範囲内のビット分、送信タイミングを遅らせて送信することにより、受信クロックRCK と送信クロックTCK との周波数偏差によって生じる送信フレームのデータビットの欠落、誤挿入、ビット化けなどのビット誤りを防止する、エラスティックバッファを用いたデータ中継装置およびその方法が知られている。
【０００３】
図15〜図17は、従来技術によるエラスティックバッファを用いたデータ中継方法を説明する概念図であり、図15はSDを検知し送信フレームを送出するときの動作説明図、図16はエンドデリミタ（以下、EDと略称する）EDを検出しEDフレーム送出終了前に次のSDを検出したときの誤動作説明図、図17はEDフレームを送出して終了するときの動作説明図である。
【０００４】
図15において、エラスティックバッファ６は、データ受信部とデータ送信部とに分けることができる。データ受信部は、受信フレームRDT から受信クロックRCK を検出する手段10と、受信フレームRDT のSDを検出する手段11と、受信フレームRDT のEDを検出する手段12と、１ビット毎に受信データRDT を受信ポインタ(RPAD)に従って順次受信データバッファ24に格納する受信ポインタ制御手段13と、から構成される。なお、データ受信部は、受信フレームから受信クロック検出手段10により得られたクロックで動作する。
【０００５】
データ送信部は、受信フレームのSDを検出したとき、このときの受信ポインタ値から予め定められたSDのビット長を減算するポインタ減算手段61A と、予め定められた一定時間経過後、この減算値を送信ポインタ(TPAD)の初期値とし、この中継装置自身の送信クロックTCK で送信ポインタ(TPAD)を順次サイクリックに循環動作させ、この送信ポインタ(TPAD)に従って受信データバッファ24から順次送信データを読み出す送信ポインタ制御手段61と、を備えて構成される。なお、図示していない機能部により、データ受信部のクロックとデータ送信部のクロックとは同期合わせがなされている。
【０００６】
かかる構成により、エラスティックバッファ６は、データ受信部は、受信クロックRCK で動作し、受信データRDT を１ビット毎に受信ポインタ(RPAD)に従って順次受信データバッファ24に格納する。図示例ではSDがポインタ0 からh に順次入力され、続いてポインタi からDATAが書き込まれ、ポインタm までくるとポインタ0 にもどり、以降ポインタ0 からデータの上書きがサイクリックに循環する。
【０００７】
データ送信部では、ポインタh でSD検出手段11がSDを検出すると、この時点で送信ポインタ制御手段61は、受信データバッファ24に格納されたSDの先頭ポインタ値をポインタ減算手段61A で所定の演算を行い、一定時間経過（例えば、m/2 ）後、即ち、受信データバッファ24のビット長の約半分の時間経過後、ポインタ減算手段61A で求めた先頭ポインタ位置から受信データバッファ24に格納された受信データRDT を中継装置自身の送信クロックTCK で順次読み出し、送信データTDT として受信したSD,DATA,(ED)の順でデータを送信する。尚、データバッファ24に格納されるSDの先頭ポインタは、図示例ではポインタ0 から書き込まれる場合を示したが、一般的には任意の位置から書き込まれる。
【０００８】
上述の様に、エラスティックバッファ６は、受信データRDT を受信データバッファ24に一時格納し次に送出するまでに時間差（通常、数ビット〜数十ビットで、受信クロックRCK と送信クロックTCK 間に生ずる周波数偏差を何ビット分補償するかによって決まる）を持たせることにより、クロックの周波数偏差によって生じるビット誤り（欠落、誤挿入、ビット化け）を防止し、送信データフレームの補償を行うものである。
【０００９】
この時間差を作り出すための方法として、フレームのSD検出で送信タイミングの初期化を行い、一定時間（一定クロック）の後、フレームの送信処理を行う。従って受信フレームを一旦受信データバッファ24に格納し、一定時間後、SDの先頭ビットから再び送信することになる。このSD送信を行うために受信データバッファ24内に格納されたSDのパターンを送信するためにSDを検出した時点の受信ポインタに対してSDを示すビット長だけ減算した値を算出しなければならない。つまりSDの先頭が入力されたときの受信データバッファ24のポインタを知る必要があり、それを算出するポインタ減算手段61A が必要になる。次に、図16でデータ中継装置が中継するフレーム間隔が短いときの詳細を述べる。図16において、図示例では、第１フレームのDATA-1が受信ポインタh まで書き込まれ、ポインタi からポインタl まで第１フレームのED-1が書き込まれたものとする。一方、第２フレームの受信がポインタm からポインタ2 まで書き込まれる。今、何らかの理由により、第１フレームのED-1の送出が終了する前に、第２フレームのSD-2が検出されたとする。例えば、第１フレームのポインタk を送信処理しているとき、第２フレームのSD-2を検出したとすると、この時点でエラスティックバッファ６の送信処理は初期化され、受信バッファ24内に残っている第１フレームのデータは破棄されることになり、第１フレームが破壊される。
【００１０】
即ち、図15で述べた様に、エラスティックバッファ６は、受信データRDT がエラスティックバッファ６に格納されてから送出されるまでに予め定められた時間差を持たせることでデータの補償を行っている。そしてこの時間差を作り出す方法としてフレームのSD検出で送信タイミングの初期化を行い、一定時間（一定クロック）後、フレームの送信処理を行っている。しかしながら、第１フレームと第２フレームの間隔が著しく短いフレームを扱う場合、例えば、第１フレームと第２フレームを連続して受信した場合、ノイズとか何らかの理由により、第１フレームの受信データがエラスティックバッファ６内に残っている状態で第２フレームのSDを検出したとする。そうすると第２フレームのSDが検出された時点でエラスティックバッファ６の送信処理は初期化され、受信バッファ24内に残っている第１フレームのデータは破棄されることになり、第１フレームのデータ破壊を招くことになる。
【００１１】
次に、図17において、送信ポインタi でフレームのEDを送出した後も、そのままエラスティックバッファ６に入力される受信データを送信し続けていると、ノイズなどで不要に壊された受信バッファ24のビットデータがそのまま送信される。しかし、データ中継の高信頼性を求めるためには、フレームのEDを送信した後は、エラスティックバッファ６の出力を無効データパターン（プリアンブルパターン）にし、新たなフレームのSDを検出しない限り無効データ（プリアンブルパターン）を送出し続けることで、フレーム単位に区切られたビットストリームのみを送信し、フレーム外のビットストリームは中継対象としない、すなわち送信フレームのフィルターの役割を果すことが望ましい。
【００１２】
【発明が解決しようとする課題】
この様に、従来技術によるデータ中継装置およびその方法では、エラスティックバッファは、受信データがエラスティックバッファに格納されてから送出されるまでに受信クロックと送信クロック間に生ずる周波数偏差を数ビット〜数十ビットで補償する時間差を持たせることでデータの保証を行う。この時間差を作り出すための方法としてフレームのSD検出で送信タイミングの初期化を行い、一定時間（一定クロック）の後フレームの送信処理を行う。従って受信フレームを一旦バッファに格納し一定時間後SDから再び送信することになる。このSD送信を行うためにバッファ内に格納されたSDのパターンを送信するために、SDを検出した時点の受信ポインタに対してSDを示すビット長だけ減算した値を算出する必要があり、それを算出する回路が必要になる。
【００１３】
また、複数のフレームの中で、フレーム間隔が著しく短いフレームを扱う場合、第１フレームの受信データがエラスティックバッファ内に残っている状態で第２フレームのSDを検出した場合、この第２フレームのSDを検出した時点でエラスティックバッファの送信処理が初期化され、バッファ内に残っている第１フレームの受信データが破棄されてフレームの破壊を招くことになる。
【００１４】
また、フレームのEDを送出した後、そのままエラスティックバッファに入力される受信データを送信し続けていると、ノイズ等で不要に壊れたビットデータをそのまま送信することもあり得る。フレームのEDを送信した後はエラスティックバッファの出力を無効データパターンにし、新たなフレームのSDを検出しない限り無効データを送出し続けることにより、フレーム単位に区切られたビットストリームのみを送信し、フレーム外のビットストリームは中継対象としない、ことがデータ中継の高信頼性化の観点からも望まれる。
【００１５】
本発明は上記の点に鑑みてなされたものであり、その目的は前記した課題を解決して、データ中継回路を簡素化し、フレーム間隔が短い場合でもフレーム破壊を防止でき、フレーム送信後の不要データ送信を防止し、信頼性の高いデータ中継方法およびその方法を用いたデータ中継装置を提供することにある。
【００１６】
【課題を解決するための手段】
上記目的を解決するため、本発明によるデータ中継装置は、少なくともシリアルデータ伝送フレームの開始を示すスタートデリミタ（以下、SDと略称する）とフレームの終了を示すエンドデリミタ（以下、EDと略称する）とを有するデータを受信するデータ受信部と、この受信したデータが書き込まれる受信データバッファと、受信データバッファに書き込まれたデータを送信するデータ送信部からなるデータ中継装置において、以下の構成を備える。
【００１７】
データ受信部は、受信したデータのSDを、予め保持しているSDパターンと比較するSD検出手段と、SD検出手段にて予め保持しているSDパターンと一致したならば、このときの受信したデータから得られる受信クロック値を保持する受信ポインタ制御手段と、を備える。
データ送信部は、受信クロックと同期している送信クロックで動作する送信ポインタ制御手段と、所定のSDを生成するSD生成手段と、データ中継装置から送信するデータを切り替える第１の切換手段と、を備える。
【００１８】
さらに、送信ポインタ制御手段は、SD検出手段にて予め保持しているSDパターンと一致したとき、第１の切換手段をSD生成手段側に切り替え、SD生成手段から所定時間だけ遅らせてSDを送信し、SDを送信し終えたら第１の切換手段を受信データバッファ側に切り替え、受信データバッファに書き込まれた受信データのうち受信クロック値以降のデータを送信する。
【００１９】
このような構成により、シリアルインターフェイスを行う際の受信クロックと送信クロックの周波数偏差によって生じるビット誤り（欠落、誤挿入、ビット化けなど）を防止することができる。
また、以下のような構成にすると望ましい。
データ受信部は、さらに受信したデータからEDを検出するED検出手段を備える。
【００２０】
データ送信部は、さらに、データ送信部から出力されるデータを監視し、１つのデータ送信が終了したことを検出する送信終了制御手段と、ED検出手段の出力と送信終了制御手段の出力とが入力されるED検知手段と、SD検出手段の出力とED検知手段の出力とが入力されるマスク手段と、を備える。
ED検知手段は、ED検出手段にてあるデータのEDを検出したときは、マスク手段をアクティブにする信号を送り、送信終了制御手段にてあるデータのEDを検出したときは、マスク手段を非アクティブにする信号を送る。
【００２１】
マスク手段は、ED検知手段からのアクティブ信号により、SD検出手段にて検出される新たなSDをマスクし、ED検知手段からの非アクティブ信号により、マスクを解除する。
このような構成により、複数のデータを中継する場合で、受信フレームのフレーム間隔が短いときでも、先に中継するデータを破壊（初期化）することなしにデータ中継が可能になる。
【００２２】
また、以下の構成にするとさらに望ましい。
送信終了制御手段は、１つのデータ送信が終了したことを検出したら無効データを出力する無効データ出力手段をさらに備える。
マスク手段は、SD検出手段にて予め保持されたSDパターンと一致したとき、無効データ出力手段にデータ出力を中止させる機能をさらに備える。
【００２３】
このような構成により、データ送信終了後に、不要なビットパターンの送出を防ぐことができる。
また、データ中継装置は、さらに、プロセッサと、このプロセッサから送信されるデータをストアする記憶領域と、データ送信部からのデータと記憶領域からのデータとを選択的に送信するための第２の切換手段を備え、プロセッサからの制御信号により第２の切換手段を制御してデータを送信してもよい。
【００２４】
このような構成により、データ中継装置は、上位プロセッサからの制御信号により、受信バッファに書き込まれた出力をそのまま中継するか、あるいは、上位プロセッサからのデータを送信する、ことを選択的に実行できる。
【００２５】
【発明の実施の形態】
図１は本発明の一実施例としての第１エラスティックバッファを用いたデータ中継方法の概念図、図２はブロック回路図、図３はタイムチャート、図４は第２エラスティックバッファを用いたフレーム間隔が短いときのフレーム破壊を防ぐデータ中継方法の概念図、図５はブロック回路図、図６はタイムチャート、図７は第３エラスティックバッファを用いたフレームED送出後に無効データを送信するデータ中継方法の概念図、図８はブロック回路図、図９、図10はタイムチャート、図11はデータ中継装置のブロック回路図、図12は図３に対応するタイムチャート、図13は図６に対応するタイムチャート、図14は図９、10に対応するタイムチャートであり、図15〜図17に対応する同一手段には同じ符号が付してある。
（実施形態１）
図１において、本発明によるデータ中継装置は、少なくともシリアルデータ伝送フレームRDT の開始を示すスタートデリミタSDとフレームの終了を示すエンドデリミタEDとを有するフレームRDT を受信し、受信データバッファ24に書き込み、このデータを再び送信データTDT として送信するものであり、大まかな構成は以下のとおりである。
【００２６】
受信フレームRDT から受信クロックRCK を検出する受信CK検出手段10と、受信フレームRDT のSDを検出し、予め保持しているSDパターンと比較するSD検出手段11と、１ビット毎に受信データRDT を順次受信データバッファ24に格納し、かつ、受信フレームRDT のSDを検出したときの受信ポインタをラッチし保持する受信ポインタ制御手段13と、受信フレームRDT のSD検出により送信側が自らSDを生成送信するSD生成回路26と、このSDを送信ポインタ制御手段14により所定時間だけ遅らせて送信後、受信ポインタ制御手段13が示す受信ポインタから順次データ(DATA+ED) を送信する上述の送信ポインタ制御手段14と、セレクタ27と、を備えてなる第１エラスティックバッファ1Aから構成される。
【００２７】
かかる構成において、第１エラスティックバッファ1Aは、受信フレームRDT を一旦受信データバッファ24に格納し、この受信データバッファ24に格納されたデータの読み出しを、所定時間を示すデータ長だけ遅らせて送信クロックTCK で送信することができるので、シリアルインターフェースを行う際の受信クロックRCK と送信クロックTCK の周波数偏差によって生じるビット誤り（欠落、誤挿入、ビット化けなど）を防止することができる。
（実施形態２）
図４において、データ中継装置は、実施形態１の第１エラスティックバッファ1Aの他に、以下のものを備える。
【００２８】
受信フレームRDT のEDを検出するED検出手段12と、受信フレームRDT-1 のED-1を検出してからこのED-1を送信終了するまでの間に新たな受信フレームRDT-2 のSD-2を検出したとき、SD生成回路にてSD-2の生成・送信を行わないようマスク回路に指示を与える送信終了制御手段 15 と、を備えてなる第２エラスティックバッファ1Bを備えて構成される。
【００２９】
かかる構成において、受信フレームのフレーム間隔が短いとき、先に受信した受信フレームRDT-1 のED-1送信終了まで、受信フレームRDT-2 のSD-2生成をマスクするので、受信フレームRDT-1,RDT-2 のフレーム破壊を防止することができる。
（実施形態３）
図７において、データ中継装置は、実施形態２の第２エラスティックバッファ1Bの他に、以下のものを備える。
【００３０】
受信フレームRDT-1 のED-1を送信した後は、無効データパターン（プリアンブルパターン）を出力し新たに受信フレームRDT-2 のSD-2を検出することにより、この無効データパターンの送出を取りやめるPR出力制御手段16と、を備えてなる第３エラスティックバッファ1Cを備えて構成される。
かかる構成において、所定のフレームTDT 送信終了後に、不要なビットパターンの送出を防ぐことができる。
【００３１】
【実施例】
（実施例１）
図２により実施形態１の詳細を説明する。図２において、第１エラスティックバッファ１Ａは、データ受信部２Ａと、受信バッファ24と、データ送信部２Ｄから構成される。
【００３２】
データ受信部２Ａは、受信フレームRDT から受信クロックRCK を検出する、図１に図示された受信CK検出手段10と、シリアルデータをパラレルデータにシフトするシフトレジスタ21と、内部バス2aで接続されるSD検出デコーダ22と、受信フレームRDT からの受信データRDT を線路2c経由で受信データバッファ24に１ビット毎に格納する受信ポインタ制御回路23と、から構成される。なお、データ受信部２Ａは、受信CK検出手段にて受信フレームから検出される受信クロックRCK に従って動作する。
【００３３】
データ送信部２Ｄは、受信データバッファ24に格納されたデータを順次１ビットごとに読み出す送信ポインタ制御回路25と、SD検出デコーダ22で検出されたSDを生成するSD生成回路26と、受信データバッファ24からのデータとSD生成回路26からのデータとを切り換えて制御するセレクタ27と、から構成される。データ送信部２Ｄは、データ中継装置自身が内蔵する送信クロックTCK で動作する。なお、従来と同様に、データ受信部２Ａの受信クロックRCK と、データ送信部２Ｄの送信クロックTCK は、信号の同期合わせがなされている。
【００３４】
このような構成により、データ中継装置は、受信クロックに従って、受信データRDT をシフトレジスタ21に順次入力する。シフトレジスタ21は、このシリアルデータをパラレルデータに変換してバス２ａに出力し、このパラレルデータは、バス２ａを経由してSD検出デコーダ22に入力される。SD検出デコーダ22は、このパラレルデータのSDを、SD検出デコーダ22内に予め内蔵しているSDデータと比較し、一致したときはRSD 信号をハイ（以下、Ｈと略称する）にする。
【００３５】
受信ポインタ制御回路23は、RSD 信号がＨになったとき、このときの受信ポインタ値RPL をラッチし、送信ポインタ制御回路25に通知する。また、受信ポインタ制御回路23の受信ポインタRPAD信号は、システムをリセットしたときのみ初期化されるリングポインタとなっており、図１の図示例では、受信クロックRCK で 0〜m のポインタを循環している。
【００３６】
送信ポインタ制御回路25は、RSD 信号2dを受信してから所定時間後に制御信号（送信開始指令）SDSND をＨにする。この信号により、セレクタ27をSD生成回路側に切り換えると同時に、SD生成回路26から、SD検出デコーダ22で検出したSDと同一のSDパターンを送信クロックTCK で出力し始める。
通常、このSDは特殊なコードとして示されているので、一定パターンにとどめられるコードとなり、このコードをSD生成回路26に保持しておく回路は小規模で済む。即ち、SD生成回路26を設け、SDを検出したタイミングで保持しているSDパターンを送出することで、複雑な回路を必要とせず、フレームのSDを送出することが可能となる。また、SDの種類が複数になっても、どのSDを検出したかを示す信号を設けることで、送信すべきSDを特定でき、回路構成も複雑にならない。
【００３７】
なお、本実施例は、２ｋバイトのデータフレームを中継するデータ中継装置の場合であり、データを受信してから送信するまで６ビット時間差を持たせている。何ビット分時間差を持たせるかは、取り扱うデータフレームの長さ、および、データ受信部の受信クロックRCK とデータ送信部の送信クロックTCK の周波数偏差による。
【００３８】
受信クロックRCK よりも送信クロックTCK の方が、時間をカウントするのが速いときを考える。このとき、データを受信して数ビット時間差を持たせてから送信しても、送信クロックTCK の方が速いため、受信バッファ24にデータを書き込むよりも、読み出す作業の方が速い状態になる。すなわち、読み出す作業が書き込む作業に追いついていき、ついには追い越してしまう。よって、追い越してしまうと、何も書き込まれていない部分を読み出すことになり、データが壊れてしまう。
【００３９】
逆に、送信クロックTCK よりも受信クロックRCK の方が速いときを考える。このときは、受信バッファ24から読み出す作業に、書き込む作業が追いつき、ついにはまだ送信されていない前のデータを上書きすることにより、データが壊れてしまう。
よって、周波数偏差による、このような事態を招かないように、数ビットの時間差を持たせる必要がある。この時間差は、周波数偏差の大きさにもよるが、当然ながら、扱うデータ量が大きいほど、大きな時間差を持たせる必要がある。よって、周波数偏差の大きさ、および扱うデータ量により、持たせる時間差を調整する。この時間差の変更は、パソコンやシーケンサなどのＣＰＵから送信ポインタ制御回路25へアクセスし、データ送信を遅らせる時間を調整する。同様に、パソコンやシーケンサなどのＣＰＵから受信バッファ24へアクセスし、このサイズも調整する。受信バッファ24のサイズは、データを受信してから送信するまでに遅らせたいビット数の、２倍以上必要である。この実施例では、６ビットの時間差を持たせるため、12ビット以上のサイズの受信バッファが必要となる。受信バッファが２倍より小さいサイズだと、データが書き込まれる前に空のビットが読み出されたり、データが読み出される前に次のデータが上書きされたりして、データが壊れる恐れがる。
【００４０】
SD生成回路26からSDを送出し終わるタイミングで送信ポインタ制御回路25は、制御信号SDSND 信号をＬにする。この信号により、セレクタ27は受信バッファ24からのデータを送信するように切り換えられる。と同時に、送信制御回路25により、受信バッファ24に入力されたデータ(SD+DATA+ED)のうちＳＤを除いたデータ(DATA+ED) が、SD生成回路26からのSDパターンに続いて送出される。ここでTPAD信号は、RPL 信号を受信した時点により、受信バッファ24に書き込まれたデータのポインタを初期化することで、受信バッファ24に書き込まれているどのビットから送信するかを指示する。この実施例では、SD生成回路26からのSD送信に続けて、受信バッファ24に書き込まれているデータ（DATA＋ED）を送信するよう指示する。すなわち、SD検出デコーダ22でSDパターンを検出した直後を示すポインタ、(DATA+ED) の先頭送信ポインタを指示する。この先頭送信ポインタは、前述のラッチされたＲＰＬ信号から知ることができる。RPAD信号は受信クロックで常に動作しているカウンタ出力値であり、所定のSDを検出したことでＨになるRSD 信号のクロック値をラッチし、RPL に出力する。そして、この信号を基に、送信制御回路25は、データからSDを除いた部分の先頭ビットを知ることができる。
【００４１】
送信ポインタ制御回路25は、SDSND 信号がＨのときは受信バッファ24かれらの送信を停止して、Ｌのとき前述のRPL 信号で初期化された送信ポインタから送信クロックTCK 毎に順次h 〜m, 0〜m を循環する。送信ポインタがこの様に動作をすることによって、受信バッファ24に格納されたSDパターンは送信せず、データ中継装置自らが内蔵しているSDパターンの送信と、続いて、受信バッファ24からのデータ部分(DATA+ED) を送信することが可能となり、回路の簡素化を図ることができる。
【００４２】
図３は横軸に時間軸をとりこの図２の動作をタイムチャート化したものである。今、受信フレームRDT をSD＋DATA＋EDから構成されているフレームとする。なお、受信クロックRCK と送信クロックTCK とは周波数偏差を持つため、本来ならば異なる周期で図示するところだが、受信データを所定時間遅らせて送信する、という動作を説明するにおいては、周波数偏差を持たないように図示しても問題なく所要の目的を説明できる。
【００４３】
受信フレームRDT は、受信クロックRCK によって順次シフトレジスタ21に入力され、バス2aにパラレルに変換されたデータが受信クロックRCK 毎に出力される（×印で示す）。SD検出デコーダは、バス2aのデータパターンが期待するSDのパターンと一致することでRSD 信号をＨにする。受信ポインタRPAD信号は受信クロックRCK で常に動作しているカウンタ出力値である。RSD 信号がＨになるとその時点RPADの値をラッチし、送信ポインタ制御回路25にラッチされた受信ポインタRPL を出力する。つまり、このときのRPAD信号は受信データRDT のDATA部が格納される先頭ポインタを示している。
【００４４】
RSD 信号がＨになると、制御信号SDSND がＨになり送信ポインタTPAD信号は停止する。このときのポインタ値は、前述の受信データRDT のDATA部が受信バッファに格納された先頭ポインタを示している。制御信号SDSND がＨになると同時に送信データTDT には、SD生成回路26からSDが送出され、このSDが送出完了したタイミングで制御信号SDSND をＬにし、受信バッファ24に格納されているデータ(DATA+ED) を送信する。従って、送信データTDT は、SD,DATA,EDの順番で送信することができる。尚、図３は受信クロックRCK と送信クロックTCK との間の同期合わせを便宜上省いて書いてあるが、実際には信号同期合わせが必要になる。
（実施例２）
図５により、複数のデータ伝送フレームが連続、または、フレーム間隔が短い場合でもデータ破壊を防ぐことを目的とする実施形態２の詳細を説明する。図５において、実施例１で述べたシフトレジスタ21、SD検出デコーダ22、受信ポインタ制御回路23、受信バッファ24、SD生成回路26、セレクタ回路27、送信ポインタ制御回路25は実施例１と同じであるのでその説明は省略する。従って、第２エラスティックバッファ1Bとして新たに追加されるものは、上述の第１エラスティックバッファ1Aの構成の他に、受信部2BにED検出デコーダ31を備え、送信部2Eに送信終了制御回路32と、ED検知回路33と、マスク回路34と、を備えて構成される。
【００４５】
かかる構成により、データ中継装置が、受信フレームRDT のSDを検出してからSDを送出し、DATA、EDの順番で送信フレームTDT を送信する手順は実施例１と同様である。ここでは、受信フレームRDT のEDを検出して、このEDがエラスティックバッファ1Bから送出されるまでの間の動作を説明する。
シフトレジスタ21は、シリアル伝送路からのフレームRDT の直列データを受信し、データの直並列変換をし、バス2aを介してこの並列データをED検出デコーダ31に書き込み、ED検出デコーダ31は、この書き込みデータから受信フレームRDT のEDを検出しRED 信号を出力する。受信フレームRDT のEDがＥＤ検出デコーダ31で検出されると、ED検出デコーダ31からRED 信号が出力される。このRED 信号はED検知回路33に入力され、マスク回路34に対してSDマスク信号SDMSK を出力する。このSDMSK 信号は、SD検出デコーダ22からの信号2dで示される線路中にマスク回路34を挿入し、RSD 信号をマスクするための信号であり、一旦セットされるとエラスティックバッファ1BからEDが送出し終わるまで保持される。このマスクにより、新たなデータフレームのSDを検出した場合でもマスクすることでSD生成回路26において新たなSDを生成することがない。よって、従来ならば、現在送信しているデータの途中に次のデータのSDを受信すると、次のSDを受信したことで現在の受信バッファ24にあるデータが壊れてしまうが、新たなSDを生成しないため、この心配がない。送信終了制御回路32はエラスティックバッファ1Bの出力2hを監視し、データ中継装置がEDを送出し受信フレームRDT の中継が終了したかどうかを監視する。
【００４６】
データ中継装置がEDを送出し受信フレームRDT の中継が終了すると、送信終了制御回路32はSEND信号を出力し、ED検知回路33に通知する。SEND信号を受けたED検知回路33はSDMSK 信号を非アクティブにする。SDMSK 信号が非アクティブになると、SD検出デコーダ22からの信号2dがマスクされることなく、スルーでSD生成信号SDS が出力される様になる。
【００４７】
この結果、受信フレームRDT のED(RED) を検出してから, 送信終了制御回路32がこのフレームRDT のEDを送信終了するまでの間に新たな受信フレームRDT-2 のSD-2を検出したときは、ED検知回路33を介してマスク回路34を操作し、新受信フレームRDT-2 に対して実施例１に記載される受信ポインタ保持手段が示すポインタから順次データを送信する動作を中止させ、フレーム間隔が短い場合のフレーム破壊を防止することができる。
【００４８】
図６は、上記実施例２の動作を受信フレームRDT-1,RDT-2 が間隔なしで受信したときのタイムチャートである。尚ここでは、受信フレームRDT-1,RDT-2 の前後いずれの受信フレームに関係する動作かを明示するために、必要に応じて関係する信号に-1,-2 を付加して区分する。
受信フレームRDT-1 を受信し、送信データTDT-1 を出力するまでの動作は実施例１で説明したものと同じ動作である。この受信フレームRDT-1 のED-1を検出するとRED-1 信号が出力され、RED-1 をイネーブルにしSDMSK 信号がＨになる。送信データTDT-1 にED-1のパターンが送出されるとSEND-1信号が出力され、SEND-1信号をイネーブルにし、SDMSK 信号はＬになる。このSDMSK 信号がＨのときに受信フレームのSDを検出してもマスク回路34によってそのSDはマスクされSDS-2 信号が出力されず、送信ポインタ制御回路25に通知されない。この結果、受信フレームのED-1を検出してそのED-1が送出される前に、新たなフレームのSD-2を検出してもこのSD-2で送信処理が初期化されず、受信フレームRDT-1 の破壊を防ぐことが可能になる。図６中の（ア）部分はSD生成回路26で自己で生成したSDパターンを送出している部分であり、（イ）部分は受信バッファ24に入力された受信フレームRDT-2 のSD-2が送出されている。このように、マスクされたため、SD生成回路26にて生成されなかったSD-2は、ED-1に続いて受信バッファ24に書き込まれ、SD-1に続いて受信バッファ24からSD-2も送信される。
（実施例３）
図８により実施形態３の詳細を説明する。図８において、実施例１で述べたシフトレジスタ21、SD検出デコーダ22、受信ポインタ制御回路23、受信バッファ24、SD生成回路26、セレクタ回路27、送信ポインタ制御回路25は実施例１と同じであり、また、実施例２で述べたED検出デコーダ31、送信終了制御回路32、ED検知回路33、マスク回路34は実施例２と同じであるのでその説明は省略する。従って、第３エラスティックバッファ1Cとして新たに追加されるものは、上述の第１, 第２エラスティックバッファ1A,1B の構成の他に、送信部2FにOR論理素子35を備えて構成される。
【００４９】
かかる構成により、データ中継装置は、OR論理素子35は、セレクタ回路27の送信出力と送信終了制御回路32の出力PRとの論理和をとり、受信フレームRDT のEDを送信した後は、送信終了制御回路32がＨレベルを出力し，無効データパターン（プリアンブルパターン）を出力する。また、新たに受信フレームRDT-2 のSD-2を検出することにより、この無効データパターンの送出を取りやめ、フレームの間隔が短い場合のフレーム破壊を防止する、とともに、フレーム送信後不要なデータパターンを送出することを防止することができる。
【００５０】
即ち、マスク回路34からPRリセーブ信号SDC が出力され、ED検知回路33と送信終了制御回路32に入力される。このSDC 信号は、SDMSK 信号に関係なくRSD 信号を受けることで出力される信号である。この結果、送信終了制御回路32は、エラスティックバッファ3Cの出力送信データTDT(2k) を監視し、EDパターン2mを検出するとSEND信号を出力するとともにPR信号を出力し保持する。そしてこのPR信号はSDC 信号でキャンセルされる。PR信号がＨの間、送信データTDT は、Ｈレベルを保持し、この出力はプリアンブルとして扱われる。この場合はＨが続くことでプリアンブルと扱う装置の場合であるが、いうまでもなくＬで無効データとする装置の場合は、プリアンブル出力をＬにすることで（例えば、OR論理素子35をNOR 素子とする）対処することができる。
【００５１】
図９は図８の動作をタイムチャートにした図である。送信データTDT にEDが送出されたことでSEND信号が出力され、これをイネーブルにしてPR信号がＨになる。PR信号がＨになることで送信データTDT はＨになりプリアンブルパターンの送出となる。
図10は図８の受信フレームRDT-1,RDT-2 が連続して受信される動作を示した図である。受信フレームRDT-1 のED-1を検出したところでRED-1 が出力されSDMSK がＨになる。SDMSK がＨの間に、続いて受信された受信フレームRDT-2 のSD-2を検出するとSDC 信号によって、PR出力はキャンセルされる。従って、送信データTDT には２つの続いたフレームが送出されることになる。
（実施例４）
図11により他の実施例を説明する。図11において、実施例１〜実施３で述べたデータ中継装置において、上位プロセッサ51と、この上位プロセッサ51からの送信データP-DATAを一時ストアするレジスタ53と、このレジスタ53からの上位プロセッサ51のデータP-DATAとエラスティックバッファ１の出力TDT とを切り換えて制御する第２セレクタ回路54と、を備えて構成することができる。
【００５２】
かかる構成により、上位プロセッサ51からの制御信号SEL により、受信バッファ24に書き込まれたエラスティックバッファ１（1A〜1C）の出力TDT をそのまま中継する、あるいは、上位プロセッサ51からのデータP-DATAを送信する、ことが選択して出力TXD を出力することができる。
図12において、受信データRDT に入力される受信フレームRDT は、エラスティックバッファ１を通過して送信データTDT に出力される。図12の(A) 部分は、上位プロセッサ51がSEL 信号をＬにしているため、送信データTDT がTXD に出力され、データ中継を行うことができる。図12の(B) 部分は、上位プロセッサ51がSEL をＨにしているため受信データTDT が中継されず、上位プロセッサ51が用意したデータP-DATAを送信することができる。
【００５３】
図13において、受信データRDT の受信フレームRDT-1,RDT-2 が２つ続いている場合であるが、実施例２で説明したように受信フレームRDT-1 のデータ破壊を防止することができるので、続いた受信フレームRDT-2 も問題なく中継できる。
また、図14において、上位プロセッサ51はSEL 信号をＬにすることで、ED送信後プリアンブル信号を送信することができる。
【００５４】
【発明の効果】
以上述べたように本発明によれば、エラスティックバッファにSDコードを自ら保持し, SDを検出したタイミングで保持しているSDパターンを送出することで, 複雑な回路を必要とせずデータ中継回路を簡素化できる。さらに、、受信フレームのEDを検出してからそのフレームの送出が終了するまでの間, 次のフレームのSD検出信号をマスクすることで, 送信処理の初期化を行わないようにし, フレームの破壊を防止できる。さらに、エラスティックバッファの出力のED送信を検出してエラスティックバッファの出力を無効データにすることで, フレーム単位に区切られたビットストリームのみを送信し、フレーム外のビットストリームはフィルターされ、不要なデータの送出を防ぐことが可能となり、信頼性の高いデータ中継方法およびその方法を用いたデータ中継装置を提供することができる。
【図面の簡単な説明】
【図１】本発明の一実施例としての第１エラスティックバッファを用いたデータ中継方法の概念図
【図２】ブロック回路図
【図３】タイムチャート
【図４】他の実施例としての第２エラスティックバッファを用いたフレーム間隔が短いときのフレーム破壊を防ぐデータ中継方法の概念図
【図５】ブロック回路図
【図６】タイムチャート
【図７】他の実施例としての第３エラスティックバッファを用いたフレームED送出後に無効データを送信するデータ中継方法の概念図
【図８】ブロック回路図
【図９】タイムチャート
【図１０】タイムチャート
【図１１】他の実施例によるデータ中継装置のブロック回路図
【図１２】図３に対応するタイムチャート
【図１３】図６に対応するタイムチャート
【図１４】図９、10に対応するタイムチャート
【図１５】従来技術によるエラスティックバッファを用いたデータ中継方法の概念図
【図１６】従来技術によるエラスティックバッファを用いたデータ中継方法の概念図
【図１７】従来技術によるエラスティックバッファを用いたデータ中継方法の概念図
【符号の説明】
１,1A,1B,1C     エラスティックバッファ
10,52   受信CK検出手段
11    SD検出手段
12    ED検出手段
13    受信ポインタ制御手段
14  送信ポインタ制御手段
15    送信終了制御手段
16    PR出力制御手段
21    シフトレジスタ
22    SD検出デコーダ
23    受信ポインタ制御回路
24    受信バッファ
25,61     送信ポインタ制御回路
26    SD生成回路
27,54     セレクタ回路
35    論理素子
51  上位プロセッサ
53    レジスタ
61A     ポインタ減算手段
2A,2B     受信部
2D,2E,2F    送信部
2a,5a     バス
2b,RDT    受信フレーム
2c    線路
2d,RSD    SD検出
2e    受信バッファ出力
2f    SD出力
2g,TDT  送信出力
RCK   受信クロック
TCK   送信クロック
RED   ED検出
RPL   SD検出時ラッチ受信ポインタ
SD    スタートデリミタ
ED    エンドデリミタ
DATA    データ
RPAD    受信ポインタ
TPAD    送信ポインタ
SDSND     制御信号
SDMSK     SDマスク
SDS     SD生成信号
SEND    送信終了信号
SDC     PRリセーブ信号
PR    プリアンブル
P-DATA    プロセッサデータ
SEL   選択信号
【図１】
0003925027.tif 000002
【図２】
0003925027.tif 000003
【図３】
0003925027.tif 000004
【図４】
0003925027.tif 000005
【図５】
0003925027.tif 000006
【図６】
0003925027.tif 000007
【図７】
0003925027.tif 000008
【図８】
0003925027.tif 000009
【図９】
0003925027.tif 000010
【図１０】
0003925027.tif 000011
【図１１】
0003925027.tif 000012
【図１２】
0003925027.tif 000013
【図１３】
0003925027.tif 000014
【図１４】
0003925027.tif 000015
【図１５】
0003925027.tif 000016
【図１６】
0003925027.tif 000017
【図１７】
0003925027.tif 000018