(57)【要約】      （修正有）【課題】汎用のシリアル通信プロトコルを使用した通信回路において行われるパーシャルライトの転送効率を改善するフィルタ回路、フィルタ回路を備えた通信回路及びフィルタ回路を備えた数値制御装置を提供すること。【解決手段】数値制御装置の通信回路は、送信回路と受信回路を有する。受信回路において、パーシャルライトイネーブルフィルタ回路３２は、入力データを受け付けるデータ入力部３２１と、入力データのパーシャルライトが有効であるか否かを判定する判定部３２２と、パーシャルライトイネーブル情報を取得するイネーブル情報取得部３２３と、パーシャルライトイネーブル情報を記憶する記憶部３２４と、入力データにおける有効データを演算する演算部３２５と、演算部により演算された有効データを出力するデータ出力部３２６と、を備える。【選択図】図５Ａ
2018018196.tif 000002
【特許請求の範囲】
【請求項１】
送信回路とシリアル通信を行う受信回路において入力データの一部又は全部について書き込みを許可又は禁止するパーシャルライトイネーブルフィルタ回路であって、
前記入力データを受け付けるデータ入力部と、
前記データ入力部に入力される前記入力データのパーシャルライトが有効であるか否かを判定する判定部と、
前記データ入力部に入力される前記入力データの有効部分を示すパーシャルライトイネーブル情報を取得するイネーブル情報取得部と、
前記イネーブル情報取得部により取得された前記パーシャルライトイネーブル情報を記憶する記憶部と、
前記判定部により前記入力データのパーシャルライトが有効であると判定された場合には、前記記憶部に記憶され、かつ前記入力データに対応する前記パーシャルライトイネーブル情報と、前記データ入力部に入力された前記入力データとに基づいて、前記入力データにおける有効データを演算する演算部と、
前記演算部により演算された前記有効データを出力するデータ出力部と、
を備えるフィルタ回路。
【請求項２】
前記記憶部は、複数の前記パーシャルライトイネーブル情報を記憶し、
前記パーシャルライトイネーブルフィルタ回路は、前記データ入力部に入力された前記入力データに基づいて、前記記憶部に記憶された複数の前記パーシャルライトイネーブル情報から一つの前記パーシャルライトイネーブル情報を選択する選択部を更に備え、
前記演算部は、前記データ入力部に入力された前記入力データと、前記選択部により選択された前記パーシャルライトイネーブル情報とに基づいて、前記有効データを演算する請求項１に記載のフィルタ回路。
【請求項３】
前記選択部は、前記入力データにおいてデータが書き込まれたアドレスを示す入力アドレスに基づいて、前記記憶部に記憶された複数の前記パーシャルライトイネーブル情報から一つの前記パーシャルライトイネーブル情報を選択する請求項２に記載のフィルタ回路。
【請求項４】
前記入力データごとに異なる転送先アドレス情報を含む前記入力データを前記受信回路へ送信する前記送信回路と、
請求項２又は３に記載の前記フィルタ回路と、前記有効データを前記受信回路の記憶領域内に書き込むためのアドレスを変換するアドレス変換部と、を備える前記受信回路と、
を備える通信回路であって、
前記フィルタ回路の前記選択部は、前記データ入力部に入力された前記入力データの前記転送先アドレス情報に基づいて、前記記憶部に記憶された複数の前記パーシャルライトイネーブル情報から一つの前記パーシャルライトイネーブル情報を選択し、
前記アドレス変換部は、前記有効データの前記アドレスを変換して、前記有効データを前記受信回路の前記記憶領域内の同一のアドレスに格納する
通信回路。
【請求項５】
請求項４に記載の通信回路を備える数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シリアル通信を行うための受信回路に実装されるフィルタ回路、当該フィルタ回路を備えた通信回路及び当該フィルタ回路を備えた数値制御装置に関する。
【背景技術】
【０００２】
従来より、シリアル通信を介して送信回路から受信回路へ不連続なデータを転送する際に、転送効率を向上させるための技術が知られている。
【０００３】
例えば、特許文献１は、転送効率を向上させるために、パーシャルライトイネーブル機能を用いるデータ転送システムを開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−１０２３４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載のデータ転送システムは、パーシャルライトイネーブル情報を送信回路内に保持し、送信回路内で送信データに付加して受信回路へ転送し、受信回路内でデータに付加されたパーシャルライトイネーブル情報に基づいて、データの一部又は全部について書き込みの許可又は禁止を行っている。
【０００６】
これにより転送回数を抑えることができるが、全データに対するパーシャルライトイネーブル情報を送信データのパケット内に持たせる必要があるため、ＰＣＩ  Ｅｘｐｒｅｓｓ（ＰＣＩｅ）等のような汎用のシリアル通信プロトコル上では実現できない。
【０００７】
そこで、本発明は、汎用のシリアル通信プロトコルを使用した通信回路において行われるパーシャルライトの転送効率を改善するフィルタ回路、フィルタ回路を備えた通信回路及びフィルタ回路を備えた数値制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係るフィルタ回路（例えば、後述のパーシャルライトイネーブルフィルタ回路３２）は、送信回路（例えば、後述の送信回路２）とシリアル通信を行う受信回路（例えば、後述の受信回路３）において入力データの一部又は全部について書き込みを許可又は禁止するパーシャルライトイネーブルフィルタ回路であって、前記入力データを受け付けるデータ入力部（例えば、後述のデータ入力部３２１）と、前記データ入力部に入力される前記入力データのパーシャルライトが有効であるか否かを判定する判定部（例えば、後述の判定部３２２）と、前記データ入力部に入力される前記入力データの有効部分を示すパーシャルライトイネーブル情報を取得するイネーブル情報取得部（例えば、後述のイネーブル情報取得部３２３）と、前記イネーブル情報取得部により取得された前記パーシャルライトイネーブル情報を記憶する記憶部（例えば、後述の記憶部３２４）と、前記判定部により前記入力データのパーシャルライトが有効であると判定された場合には、前記記憶部に記憶され、かつ前記入力データに対応する前記パーシャルライトイネーブル情報と、前記データ入力部に入力された前記入力データとに基づいて、前記入力データにおける有効データを演算する演算部（例えば、後述の演算部３２５）と、前記演算部により演算された前記有効データを出力するデータ出力部（例えば、後述のデータ出力部３２６）と、を備える。
【０００９】
前記記憶部は、複数の前記パーシャルライトイネーブル情報を記憶し、前記パーシャルライトイネーブルフィルタ回路は、前記データ入力部に入力された前記入力データに基づいて、前記記憶部に記憶された複数の前記パーシャルライトイネーブル情報から一つの前記パーシャルライトイネーブル情報を選択する選択部（例えば、後述の選択部３２７）を更に備え、前記演算部は、前記データ入力部に入力された前記入力データと、前記選択部により選択された前記パーシャルライトイネーブル情報とに基づいて、前記有効データを演算してもよい。
【００１０】
前記選択部は、前記入力データにおいてデータが書き込まれたアドレスを示す入力アドレスに基づいて、前記記憶部に記憶された複数の前記パーシャルライトイネーブル情報から一つの前記パーシャルライトイネーブル情報を選択してもよい。
【００１１】
本発明に係るフィルタ回路（例えば、後述の通信回路１）は、前記入力データごとに異なる転送先アドレス情報を含む前記入力データを前記受信回路へ送信する前記送信回路と、前記フィルタ回路と、前記有効データを前記受信回路の記憶領域（例えば、後述の記憶領域３３）内に書き込むためのアドレスを変換するアドレス変換部（例えば、後述のアドレス変換回路３４）と、を備える前記受信回路と、を備え、前記フィルタ回路の前記選択部は、前記データ入力部に入力された前記入力データの前記転送先アドレス情報に基づいて、前記記憶部に記憶された複数の前記パーシャルライトイネーブル情報から一つの前記パーシャルライトイネーブル情報を選択し、前記アドレス変換部は、前記有効データの前記アドレスを変換して、前記有効データを前記受信回路の前記記憶領域内の同一のアドレスに格納する。
【００１２】
本発明に係る数値制御装置（例えば、後述の数値制御装置１０）は、前記通信回路を備える。
【発明の効果】
【００１３】
本発明によれば、汎用のシリアル通信プロトコルを使用した通信回路において行われるパーシャルライトの転送効率を改善するフィルタ回路、フィルタ回路を備えた通信回路及びフィルタ回路を備えた数値制御装置を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】図１は、一般的なシリアル通信について示すブロック図である。
【図２】図２は、パーシャルライトイネーブル機能を有さない場合にシリアル通信を介して不連続なデータを転送する例を示すブロック図である。
【図３】図３は、パーシャルライトイネーブル機能を有する場合にシリアル通信を介して不連続なデータを転送する例を示すブロック図である。
【図４】図４は、第１実施形態に係る通信回路において送信回路と受信回路との間でのシリアル通信について示すブロック図である。
【図５Ａ】図５Ａは、図４に示されるパーシャルライトイネーブルフィルタ回路の具体的な構成を示すブロック図である。
【図５Ｂ】図５Ｂは、図５Ａに示されるパーシャルライトイネーブルフィルタ回路の別の構成を示すブロック図である。
【図６】図６は、第１実施形態に係る通信回路におけるデータ転送処理の流れについて説明するフローチャートである。
【図７】図７は、図４に示される送信回路及び受信回路に具体的な値を示した例である。
【図８】図８は、第２実施形態に係るパーシャルライトイネーブルフィルタ回路について示すブロック図である。
【図９】図９は、第２実施形態に係る通信回路におけるデータ転送処理の流れについて説明するフローチャートである。
【図１０】図１０は、図８に示されるパーシャルライトイネーブルフィルタ回路を用いた通信回路１の例を示すブロック図である。
【図１１】図１１は、第３実施形態に係る通信回路１におけるデータ転送処理の流れについて説明するフローチャートである。
【図１２】図１２は、図１０に示す通信回路１の変形例を示すブロック図である。
【図１３】図１３は、図１０に示す通信回路１の変形例を示すブロック図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態の一例について説明する。
図１から図３は、送信回路と受信回路との間でのシリアル通信について示すブロック図である。
【００１６】
図１は、一般的なシリアル通信について示すブロック図である。図１に示す例では、シリアル通信を介したバースト転送について示す。
図１の送信回路１００側において、受信回路２００へ転送すべきデータは、網掛けパターンで示され、無効なデータは、斜線パターンで示される。
【００１７】
送信回路１００内のデータは、パラレルバスを通じてシリアライザ１１０へ送信され、シリアライザ１１０でシリアル信号へと変換される。
そして、変換されたデータは、シリアルバスを介して受信回路２００内のデシリアライザ２１０へ到達し、デシリアライザ２１０でパラレル信号へと変換され、受信回路２００内の記憶領域へ送信される。
【００１８】
このようなシリアル通信では、有効なデータと共に、無効なデータも転送しているため、受信回路２００内の記憶領域の転送先アドレスに有効なデータが存在していた場合も上書きしてしまう。
【００１９】
図２は、パーシャルライトイネーブル機能を有さない場合にシリアル通信を介して不連続なデータを転送する例を示すブロック図である。
図２の送信回路３００側において、受信回路４００へ転送すべきデータは、網掛けパターンで示され、無効なデータは、斜線パターンで示される。また、受信回路４００において転送されないデータは、白塗りパターンで示される。
【００２０】
図２に示す例では、転送すべきデータが不連続に存在するため、連続部分ごとに転送を行い、連続部分の個数と等しい回数の転送を行うことによりパーシャルライトを行う。しかし、このようなパーシャルライトでは、図１の場合と比べてデータの転送回数が増加する。シリアル転送では、データ量が減少しても転送回数が増加することで転送遅延が増加する場合がある。例えば、ＰＣＩ  ｅｘｐｒｅｓｓ（ＰＣＩｅ）通信では、１度の転送につき１６〜２４バイト相当の情報が付属する。また、転送ごとに転送結果を記録するようなシステムの場合も、転送回数が遅延に対して支配的となる可能性がある。
【００２１】
図３は、パーシャルライトイネーブル機能を有する場合にシリアル通信を介して不連続なデータを転送する例を示すブロック図である。
図３の送信回路５００側において、受信回路６００へ転送すべきデータは、網掛けパターンで示され、無効なデータは、斜線パターンで示される。また、受信回路６００において転送されないデータは、白塗りパターンで示される。また、送信回路５００側において、パーシャルライトイネーブル情報は別の網掛けパターンで示される。
【００２２】
図３の例では、パーシャルライトイネーブル情報は、送信回路５００内に保持され、送信回路５００内で送信データに付加され、受信回路６００へ転送される。
そして、受信回路６００は、受信回路６００内でデータに付加されたパーシャルライトイネーブル情報に基づいて、データの一部又は全部について書き込みの許可又は禁止を行う。
【００２３】
これにより、図３に示す例では、データの転送回数を抑えることはできる。しかし、全データに対するパーシャルライトイネーブル情報を送信データのパケット内に持たせる必要があるため、ＰＣＩｅ等の汎用のシリアル通信プロトコル上では実現できない。
【００２４】
＜第１実施形態＞
図４は、第１実施形態に係る通信回路１において送信回路２と受信回路３との間でのシリアル通信について示すブロック図である。本実施形態に係る通信回路１は、例えば、数値制御装置（Ｃｏｍｐｕｔｅｒ  Ｎｕｍｅｒｉｃａｌ  Ｃｏｎｔｒｏｌ：ＣＮＣ）１０内に設けられ、シリアル通信を介してデータを送受信する。
【００２５】
図４に示すように、通信回路１は、送信回路２と、受信回路３と、を備える。
送信回路２と受信回路３とは、シリアルバス４によって接続され、シリアル通信を行うことが可能となっている。
送信回路２は、シリアライザ２１を備え、シリアライザ２１を経由してデータを受信回路３へ送信する。
【００２６】
図４に示すように、送信回路２から受信回路３へ送信すべきデータは、網掛けパターンで示され、無効なデータは、斜線パターンで示される。また、受信回路３の記憶領域３３内に予め保持されていたデータは、白塗りパターンで示される。
【００２７】
シリアライザ２１は、受信回路３内のパラレルバス（図示せず）を通じて送信されたデータ（パラレルデータ）をシリアライズ（シリアル信号へ変換）する。シリアライザ２１は、例えば、汎用の規格に則った回路を用いる。
【００２８】
受信回路３は、デシリアライザ３１と、パーシャルライトイネーブルフィルタ回路３２と、記憶領域３３と、を備える。
デシリアライザ３１は、送信回路２から送信されたデータ（シリアルデータ）をデシリアライズする。デシリアライザ３１は、例えば、汎用の規格に則った回路を用いる。
【００２９】
パーシャルライトイネーブルフィルタ回路３２は、デシリアライザ３１から入力された入力データの一部又は全部について書き込み（パーシャルライト）を許可又は禁止するための回路である。
【００３０】
なお、パーシャルライトイネーブルフィルタ回路３２は、データの一部について書き込みを許可又は禁止する場合、バイトイネーブルと呼ばれる１バイト単位での許可又は禁止を行ってもよく、１ビット単位や１ワード単位等の他の単位での許可又は禁止を行ってもよい。
【００３１】
記憶領域３３は、パーシャルライトイネーブルフィルタ回路３２で処理されたデータを格納する。
【００３２】
図５Ａは、図４に示されるパーシャルライトイネーブルフィルタ回路３２の具体的な構成を示すブロック図である。
【００３３】
図５Ａに示すように、パーシャルライトイネーブルフィルタ回路３２は、データ入力部３２１と、判定部３２２と、イネーブル情報取得部３２３と、記憶部３２４と、演算部３２５と、データ出力部３２６と、を備える。
【００３４】
データ入力部３２１は、デシリアライザ３１によってデシリアライズされた入力データを受け付ける。また、データ入力部３２１は、入力データの有効部分を示すパーシャルライトイネーブル情報が入力されているか否かを判定する。
判定部３２２は、データ入力部３２１に入力された入力データのパーシャルライトが有効であるか否かを判定する。
【００３５】
具体的には、判定部３２２は、入力データの転送先アドレスに基づいて、入力データの特定のアドレス範囲においてパーシャルライトが有効であるか否かを判定する。
また、判定部３２２は、カウンタ、タイマ、設定レジスタ等を用いた別の基準に基づいて判定してもよく、又はパーシャルライトを常に有効と判定してもよい。
【００３６】
イネーブル情報取得部３２３は、データ入力部３２１に入力される入力データの有効部分を示すパーシャルライトイネーブル情報を取得する。パーシャルライトイネーブル情報は、例えば、数値制御装置１０の入力装置等を用いてユーザによって外部から入力される。
【００３７】
記憶部３２４は、イネーブル情報取得部３２３により取得されたパーシャルライトイネーブル情報を記憶する。
【００３８】
演算部３２５は、判定部３２２により入力データのパーシャルライトが有効であると判定された場合には、記憶部３２４に記憶され、かつ入力データに対応するパーシャルライトイネーブル情報と、データ入力部３２１に入力された入力データとに基づいて、入力データにおける有効データを演算する。
【００３９】
具体的には、演算部３２５は、判定部３２２によりパーシャルライトが有効であると判定された場合には、パーシャルライトイネーブル情報と入力データとに基づいて入力データにおける有効データを演算し、入力データに対応するパーシャルライトイネーブル情報を入力データに付加する。
【００４０】
また、前記演算部は、パーシャルライトイネーブル情報と入力データとに基づいて入力データにおける有効データを演算し、入力データに対応するパーシャルライトイネーブル情報を前記入力データに付加せず、前記有効データとして前記パーシャルライトイネーブル情報と前記入力データとを個別に出力してもよい。
【００４１】
また、判定部３２２によりパーシャルライトが無効であると判定された場合には、演算部３２５は、入力データの全てを有効としたパーシャルライトイネーブル情報を入力データに付加する。
【００４２】
データ出力部３２６は、演算部３２５により演算された有効データを出力する。
【００４３】
図５Ｂは、図５Ａに示されるパーシャルライトイネーブルフィルタ回路３２の別の構成を示すブロック図である。
図５Ｂに示される例では、図５Ａに示されるパーシャルライトイネーブルフィルタ回路３２とは異なり、演算部３２５は、記憶部３２４に記憶され、かつ入力データに対応するパーシャルライトイネーブル情報を、データ入力部３２１に入力された入力データに付加せず、有効データとしてパーシャルライトイネーブル情報と入力データとを個別に出力する。
【００４４】
図６は、第１実施形態に係る通信回路１におけるデータ転送処理の流れについて説明するフローチャートである。
【００４５】
ステップＳ１において、データ入力部３２１は、入力データの有効部分を示すパーシャルライトイネーブル情報が入力されているか否かを判定する。パーシャルライトイネーブル情報が入力されている場合（ＹＥＳ）には、ステップＳ２へ進む。パーシャルライトイネーブル情報が入力されていない場合（ＮＯ）には、ステップＳ４へ進む。このように受信回路３は、一度イネーブル情報を記憶すると、変更がない限り、既に記憶したイネーブル情報を使用する。
【００４６】
ステップＳ２において、イネーブル情報取得部３２３は、データ入力部３２１に入力される入力データの有効部分を示すパーシャルライトイネーブル情報を取得する。パーシャルライトイネーブル情報は、例えば、数値制御装置１０の入力装置等を用いてユーザによって外部から入力される。
【００４７】
ステップＳ３において、記憶部３２４は、イネーブル情報取得部３２３により取得されたパーシャルライトイネーブル情報を記憶する。
【００４８】
ステップＳ４において、送信回路２のシリアライザ２１は、送信回路２内のパラレルバス（図示せず）を通じて送信されたデータ（パラレルデータ）をシリアライズ（シリアル信号へ変換）する。
【００４９】
ステップＳ５において、送信回路２は、シリアライザ２１によりシリアライズされたデータを受信回路３へ送信する。
【００５０】
ステップＳ６において、デシリアライザ３１は、送信回路２から送信されたデータ（シリアルデータ）をデシリアライズ（パラレル信号へ変換）する。
ステップＳ７において、データ入力部３２１は、デシリアライザ３１によってデシリアライズされた入力データを受け付ける。
【００５１】
ステップＳ８において、判定部３２２は、データ入力部３２１に入力された入力データのパーシャルライトが有効であるか否かを判定する。パーシャルライトが有効であると判定された場合（ＹＥＳ）には、ステップＳ９へ進む。パーシャルライトが無効であると判定された場合（ＮＯ）には、ステップＳ１０へ進む。
【００５２】
ステップＳ９において、演算部３２５は、記憶部３２４に記憶され、かつ入力データに対応するパーシャルライトイネーブル情報と、データ入力部３２１に入力された入力データとに基づいて、入力データにおける有効データを演算する。
【００５３】
ステップＳ１０において、演算部３２５は、全てのデータを有効としたパーシャルライトイネーブル情報を入力データに付加する。その後、処理は、ステップＳ１１へ進む。
【００５４】
ステップＳ１１において、データ出力部３２６は、演算部３２５により演算された有効データを出力し、処理を終了する。
【００５５】
図７は、図４に示される送信回路２及び受信回路３に具体的な値を与えた場合の例である。図７に示されるように、例えば、パーシャルライトイネーブルフィルタ回路３２の１ビットあたりデータの４ビットについて、書き込みの許可及び禁止の設定が可能だとする。
そして、送信回路２は、アドレス０ｘ００にデータ０ｘ１２３４５６７８を送信し、受信回路３の記憶領域は、アドレス０ｘ００にはデータ０ｘＦＦＦＦＦＦＦＦを保持しており、パーシャルライトイネーブルフィルタ回路３２は、パーシャルライトイネーブル情報として０ｂ１１０１０１００を有していたとする。
【００５６】
この場合、まず、送信回路２内のパラレルデータ０ｘ１２３４５６７８は、シリアライズされ、シリアルデータとして受信回路３へ送信される。次に、送信回路２から送信されたデータは、受信回路３のデシリアライザ３１によりデシリアライズされて、パラレルデータに変換される。
【００５７】
パーシャルライトイネーブルフィルタ回路３２は、パラレルデータにパーシャルライトイネーブル情報０ｂ１１０１０１００を付加する。その結果、受信回路３の記憶領域内のアドレス０ｘ００には、データ０ｘ１２Ｆ４Ｆ６ＦＦが記憶される。
【００５８】
上述した第１実施形態によれば、パーシャルライトイネーブルフィルタ回路３２は、データの有効部分を示すパーシャルライトイネーブル情報を予め記憶しておく記憶部３２４を設け、対応するデータが入力されたときには、有効データと、パーシャルライトイネーブル情報とを出力する構成とした。これにより、パーシャルライトイネーブルフィルタ回路３２は、ＰＣＩｅ等の汎用シリアル通信プロトコルを使用した通信回路１において生じるパーシャルライトの転送効率を改善することができる。
【００５９】
例えば、図７に示す例において、仮にパーシャルライトを行わない場合には、データを４回に分けて転送する必要があり、転送１回当たりの遅延が大きく、転送長による遅延の差が小さいシリアル転送の場合、遅延が大きくなってしまう。また、送信回路２内でバイトイネーブル情報をデータに付加して転送を行う場合、送信回路２内にバイトイネーブル情報をデータに付加するための手段を備える必要があり、一般的な送信回路を用いた通信ではパーシャルライトを行うことができない。
【００６０】
一方、第１実施形態に係る通信回路１は、パーシャルライトイネーブルフィルタ回路３２を備えることにより、パーシャルライトの転送効率を改善することができる。
また、第１実施形態に係る通信回路１は、受信回路３のみにパーシャルライトイネーブルフィルタ回路３２が存在していればよく、送信回路２は、一般的な回路を用いることができる。
【００６１】
＜第２実施形態＞
次に、本発明に係る第２実施形態について説明する。
なお、第２実施形態の説明にあたっては、第１実施形態と同一の構成要件については同一符号を付し、その説明を省略もしくは簡略化する。第２実施形態のパーシャルライトイネーブルフィルタ回路３２は、選択部３２７を備える点が第１実施形態とは主として異なり、他の構成は、図５Ａに示される第１実施形態と同様の構成を備える。
【００６２】
図８は、第２実施形態に係るパーシャルライトイネーブルフィルタ回路３２について示すブロック図である。
図８に示すように、パーシャルライトイネーブルフィルタ回路３２は、データ入力部３２１と、判定部３２２と、イネーブル情報取得部３２３と、記憶部３２４と、演算部３２５と、データ出力部３２６と、選択部３２７と、を備える。なお、データ入力部３２１、判定部３２２、イネーブル情報取得部３２３及びデータ出力部３２６は、第１実施形態と同様の機能であるため、説明を省略する。
【００６３】
第２実施形態では、記憶部３２４は、例えば外部機器によりパーシャルライトイネーブル情報を書き換え可能であり、複数のパーシャルライトイネーブル情報を記憶している。
選択部３２７は、データ入力部３２１に入力された入力データに基づいて、記憶部３２４に記憶された複数のパーシャルライトイネーブル情報から一つのパーシャルライトイネーブル情報を選択する。
【００６４】
具体的には、選択部３２７は、入力データにおいてデータが書き込まれたアドレスを示す入力アドレスに基づいて、記憶部３２４に記憶された複数のパーシャルライトイネーブル情報から一つのパーシャルライトイネーブル情報を選択する。
【００６５】
演算部３２５は、データ入力部３２１に入力されたデータと、選択部３２７により選択されたパーシャルライトイネーブル情報とに基づいて、有効データを演算する。
【００６６】
なお、選択部３２７により複数のパーシャルライトイネーブル情報から、適用すべきパーシャルライトイネーブル情報を選択する方法としては、上述された入力アドレスに基づいて選択すること以外の方法を用いてもよい。
【００６７】
例えば、選択部３２７は、入力データがＰＣＩ  ｅｘｐｒｅｓｓ形式のプロトコルである場合、当該プロトコルのパケットに含まれるヘッダ情報に基づいて、入力データの送信元を認識する。そして、選択部３２７は、認識された入力データの送信元に基づいて、パーシャルライトイネーブル情報を選択してもよい。
【００６８】
また、データの転送順序が予めルール付けられている場合、受信回路３内にカウンタを設けてもよい。当該カウンタは、入力データの受信の度にインクリメントされる。そして、選択部３２７は、カウンタの出力に基づいてパーシャルライトイネーブル情報を選択してもよい。
【００６９】
図９は、第２実施形態に係る通信回路１におけるデータ転送処理の流れについて説明するフローチャートである。
なお、ステップＳ１１〜ステップＳ１８、ステップＳ２０及びステップＳ２２の処理は、それぞれステップＳ１〜ステップＳ８、ステップＳ１０及びステップＳ１１の処理と同様の処理であるため、説明を省略する。
ステップＳ１９において、選択部３２７は、データ入力部３２１に入力された入力データにおいてデータが書き込まれたアドレスを示す入力アドレスに基づいて、記憶部３２４に記憶された複数のパーシャルライトイネーブル情報から一つのパーシャルライトイネーブル情報を選択する。
ステップＳ２１において、演算部３２５は、データ入力部３２１に入力されたデータと、選択部３２７により選択されたパーシャルライトイネーブル情報とに基づいて、有効データを演算する。
【００７０】
上述された第２実施形態によれば、選択部３２７は、複数のパーシャルライトイネーブル情報から、一つのパーシャルライトイネーブル情報を選択する。これにより、パーシャルライトイネーブルフィルタ回路３２は、適用すべき適切なパーシャルライトイネーブル情報を用いてパーシャルライトを行うことができる。
【００７１】
また、選択部３２７は、入力データにおいてデータが書き込まれたアドレスを示す入力アドレスに基づいて、複数のパーシャルライトイネーブル情報から一つのパーシャルライトイネーブル情報を選択する。これにより、パーシャルライトイネーブルフィルタ回路３２は、適用すべき適切なパーシャルライトイネーブル情報を選択することができる。
【００７２】
＜第３実施形態＞
次に、本発明に係る第３実施形態について説明する。
図１０は、図８に示されるパーシャルライトイネーブルフィルタ回路３２を用いた通信回路１の例を示すブロック図である。
【００７３】
図１０に示される通信回路１は、シリアライザ２１Ａ及び２１Ｂをそれぞれ有する送信回路２Ａ及び２Ｂ、デシリアライザ３１Ａ及び３１Ｂ、並びにアドレス変換回路３４を備える点で図４に示される通信回路１と異なる。
また、送信回路２から受信回路３へ送信すべきデータは、左下がりの斜線パターンで示され、無効なデータは、右下がりの斜線パターンで示される。
【００７４】
送信回路２Ａ及び２Ｂは、それぞれシリアライザ２１Ａ及び２１Ｂを備える。送信回路２Ａ及び２Ｂは、入力データごとに異なる転送先アドレス情報を含む入力データを受信回路３へ送信する。
【００７５】
シリアライザ２１Ａ及び２１Ｂは、受信回路３へ送信する異なる入力データをそれぞれシリアライズする。
デシリアライザ３１Ａ及び３１Ｂは、シリアライザ２１Ａ及び２１Ｂによりシリアライズされた入力データをそれぞれデシリアライズする。
【００７６】
パーシャルライトイネーブルフィルタ回路３２の選択部３２７は、データ入力部３２１に入力された入力データの転送先アドレス情報に基づいて、記憶部３２４に記憶された複数のパーシャルライトイネーブル情報から一つのパーシャルライトイネーブル情報を選択する。
【００７７】
アドレス変換回路３４は、パーシャルライトイネーブルフィルタ回路３２のデータ出力部３２６により出力された有効データを受信回路３の記憶領域３３内に書き込むためのアドレスを変換する。
【００７８】
具体的には、アドレス変換回路３４は、パーシャルライトイネーブルフィルタ回路３２によってパーシャルライトイネーブル情報を複数の異なる有効データに付加した後、複数の異なる有効データのアドレスを変換する。そして、アドレス変換回路３４は、アドレスが変換された複数の有効データを受信回路３の記憶領域３３内の同一のアドレスに格納する。
【００７９】
図１１は、第３実施形態に係る通信回路１におけるデータ転送処理の流れについて説明するフローチャートである。
【００８０】
ステップＳ３１において、データ入力部３２１は、入力データの有効部分を示すパーシャルライトイネーブル情報が入力されているか否かを判定する。パーシャルライトイネーブル情報が入力されている場合（ＹＥＳ）には、ステップＳ３２へ進む。パーシャルライトイネーブル情報が入力されていない場合（ＮＯ）には、ステップＳ３４へ進む。このように受信回路３は、一度イネーブル情報を記憶すると、変更がない限り、既に記憶したイネーブル情報を使用する。
【００８１】
ステップＳ３２において、イネーブル情報取得部３２３は、データ入力部３２１に入力される入力データの有効部分を示すパーシャルライトイネーブル情報を取得する。
ステップＳ３３において、記憶部３２４は、イネーブル情報取得部３２３により取得されたパーシャルライトイネーブル情報を記憶する。
【００８２】
ステップＳ３４において、送信回路２Ａのシリアライザ２１Ａは、送信回路２Ａ内のパラレルバス（図示せず）を通じて送信されたデータをシリアライズする。また、送信回路２Ｂのシリアライザ２１Ｂは、受信回路３内のパラレルバス（図示せず）を通じて送信されたデータをシリアライズする。
【００８３】
ステップＳ３５において、送信回路２Ａは、シリアライザ２１Ａによりシリアライズされたデータに転送先アドレス情報を付加して、受信回路３へ送信する。送信回路２Ｂは、シリアライザ２１Ｂによりシリアライズされたデータに転送先アドレス情報を付加して、受信回路３へ送信する。
【００８４】
ステップＳ３６において、デシリアライザ３１Ａ及び３１Ｂは、送信回路２Ａ及び２Ｂから送信されたデータをデシリアライズする。
ステップＳ３７において、データ入力部３２１は、デシリアライザ３１Ａ及び３１Ｂによってデシリアライズされた入力データを受け付ける。
【００８５】
ステップＳ３８において、判定部３２２は、データ入力部３２１に入力された入力データのパーシャルライトが有効であるか否かを判定する。パーシャルライトが有効であると判定された場合（ＹＥＳ）には、ステップＳ３９へ進む。パーシャルライトが無効であると判定された場合（ＮＯ）には、ステップＳ４０へ進む。
【００８６】
ステップＳ３９において、選択部３２７は、データ入力部３２１に入力された入力データの転送先アドレス情報に基づいて、記憶部３２４に記憶された複数のパーシャルライトイネーブル情報から一つのパーシャルライトイネーブル情報を選択する。
【００８７】
ステップＳ４０において、演算部３２５は、全てのデータを有効としたパーシャルライトイネーブル情報を入力データに付加する。その後、処理は、ステップＳ４２へ進む。
【００８８】
ステップＳ４１において、演算部３２５は、記憶部３２４に記憶され、かつ入力データに対応するパーシャルライトイネーブル情報と、データ入力部３２１に入力された入力データとに基づいて、入力データにおける有効データを演算する。そして、演算部３２５は、ステップＳ４０において選択されたパーシャルライトイネーブル情報を複数の異なる有効データに付加する。
【００８９】
ステップＳ４２において、データ出力部３２６は、演算部３２５により演算された有効データを出力する。
ステップＳ４３において、アドレス変換回路３４は、複数の異なる有効データのアドレスを変換する。そして、アドレス変換回路３４は、アドレスが変換された複数の有効データを受信回路３の記憶領域３３内の同一のアドレスに格納し、処理を終了する。
【００９０】
第３実施形態によれば、通信回路１は、異なるアドレス情報を有するデータに、異なるパーシャルライトイネーブル情報を付加した後に、アドレス変換回路３４により記憶領域３３内の同一のアドレスに格納する。これにより、通信回路１は、複数のデータを一つにまとめる、すなわち、データのパッキングが可能になる。そして、データをパッキングすることにより、記憶容量の削減や、受信されたデータを更に別の場所へ転送する場合に、データを一括転送することが可能になる。
【００９１】
なお、図１０では異なる送信回路２Ａ及び２Ｂから送信されたデータのパッキングを行っているが、同一の送信回路から異なるアドレスにデータを送信し、異なるパーシャルライトイネーブル情報を付加してもよい。これにより、図１０の例と同様にデータのパッキングを行うことが可能である。
【００９２】
また、パーシャルライトイネーブルフィルタ回路３２のイネーブル情報取得部３２３へ入力されるパーシャルライトイネーブル情報については、上述したような入力装置等を用いてユーザによって外部から入力された情報に基づいて決定する方法だけでなく、他の方法を用いてもよい。
【００９３】
パーシャルライトイネーブル情報を、ユーザによって入力された情報に基づいて決定する場合、例えば以下のような処理が行われる。なお、以下の例では、工作機械を制御する数値制御装置１０に通信回路１を適用する場合について説明する。
【００９４】
工作機械を制御する数値制御装置１０において、以下の前提条件が満たされていると仮定する。
（１）複数の送信回路２は、デジタルシグナルプロセッサ（ＤＳＰ）であり、受信回路３は、制御ＬＳＩであり、シリアルデータ通信するための通信プロトコルは、ＰＣＩ  ｅｘｐｒｅｓｓであるものとする。
（２）数値制御装置１０によって制御される工作機械は、制御対象となる軸を複数有し、全ての軸は異なる軸番号を有する。
（３）送信回路２及び受信回路３は、軸番号に対応したオフセットを有する記憶領域を備える。
（４）数値制御装置１０からの全ての軸の回転量のデータは、全ての送信回路２（ＤＳＰ）によって受信される。
（５）各送信回路２は、軸の一部を送信回路２間で重複せずに受け持つ。
（６）各送信回路２は、数値制御装置１０から受信したデータのうち、各送信回路２自体が受け持つ軸のデータについてのみ演算を行う。
（７）各送信回路２は、軸のデータについての演算結果を軸番号に対応した記憶領域に格納し、演算結果を受信回路３に送信する。
（８）各送信回路２がどの軸を受け持つかという情報は、工作機械の加工停止時（一般的には加工開始前）に、ユーザによって数値制御装置１０の入力装置からパラメータとして入力される。
【００９５】
以上の前提条件を満たす例では、ユーザの入力した情報に基づいて、ある送信回路２から受信回路３へのデータには、当該送信回路２が受け持つ軸のデータ部分のみ書き込みを有効とすればよい。
【００９６】
また、送信回路２又は受信回路３が、どの送信回路２（ＤＳＰ）がどの軸を受け持つかを、数値制御装置１０のコネクタへの接続の検出等により判断可能である場合には、入力装置等用いてユーザによってパラメータとして入力されることに代えて、送信回路２は、工作機械の加工停止時に受信回路３（制御ＬＳＩ）内のパーシャルライトイネーブルフィルタ回路３２の記憶部３２４への書き込みを行ってもよい。
【００９７】
また、送信回路２又は受信回路３が、どの送信回路２（ＤＳＰ）がどの軸を受け持てば効率的に演算が行えるかを判断できる場合には、送信回路２又は受信回路３は、当該判断の結果に基づいて、パーシャルライトイネーブル情報を生成する、又は送信回路２（ＤＳＰ）へ当該送信回路２（ＤＳＰ）が受け持つ軸を通知することができる。
【００９８】
図１２は、図１０に示す通信回路１の変形例を示すブロック図である。
図１２に示されるように、通信回路１は、パーシャルライトイネーブル情報を送信回路２Ａで決定して、当該パーシャルライトイネーブル情報を受信回路３へ出力している点が図１０に示す例とは異なっている。なお、パーシャルライトイネーブル情報は、データの一種として通常のシリアルデータと同一の通信線上で送信されるが、図１２では説明の便宜上別々に示している。
【００９９】
図１２に示されるように、送信回路２Ｃ及び２Ｄは、それぞれシリアルバス４Ｃ及び４Ｄを介して、受信回路３Ｃへデータを送信する。
受信回路３Ｃは、デシリアライザ３１によって送信回路２Ｃ及び２Ｄから送信されたデータをデシリアライズする。
【０１００】
パーシャルライトイネーブルフィルタ回路３２は、デシリアライザ３１によってデシリアライズされた入力データの一部又は全部について書き込みを許可又は禁止する。
【０１０１】
アドレス変換回路３４は、複数の異なる有効データのアドレスを変換する。そして、アドレス変換回路３４は、アドレスが変換された複数の有効データを受信回路３の記憶領域３３内の同一のアドレスに格納する。
【０１０２】
このように図１２に示される通信回路１は、送信回路２Ｃ側でパーシャルライトイネーブル情報を決定して、当該パーシャルライトイネーブル情報を受信回路３Ｃへ出力してもよい。
【０１０３】
図１３は、図１０に示す通信回路１の変形例を示すブロック図である。
図１３に示されるように、送信回路２Ｅ及び２Ｆは、それぞれシリアルバス４Ｅ及び４Ｆを介して、受信回路３Ｄへデータを送信する。
受信回路３Ｄは、デシリアライザ３１Ｄ及び３１Ｅによって送信回路２Ｅ及び２Ｆから送信されたデータをデシリアライズする。
【０１０４】
そして、パーシャルライトイネーブルフィルタ回路３２Ｄ及び３２Ｅは、デシリアライザ３１Ｄ及び３１Ｅのそれぞれによってデシリアライズされた入力データ一部又は全部について書き込みを許可又は禁止する。
【０１０５】
アドレス変換回路３４は、複数の異なる有効データのアドレスを変換する。そして、アドレス変換回路３４は、アドレスが変換された複数の有効データを受信回路３の記憶領域３３内の同一のアドレスに格納する。
【０１０６】
このように図１３に示される通信回路１は、パーシャルライトイネーブルフィルタ回路３２Ｄ及び３２Ｅを備えることによってパーシャルライトイネーブル情報を選択してもよい。
【０１０７】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
【符号の説明】
【０１０８】
１  通信回路
２  送信回路
３  受信回路
４  シリアルバス
１０  数値制御装置
３１  デシリアライザ
３２  パーシャルライトイネーブルフィルタ回路
３３  記憶領域
３４  アドレス変換回路
３２１  データ入力部
３２２  判定部
３２３  イネーブル情報取得部
３２４  記憶部
３２５  演算部
３２６  データ出力部
３２７  選択部
【図１】
2018018196.tif 000003
【図２】
2018018196.tif 000004
【図３】
2018018196.tif 000005
【図４】
2018018196.tif 000006
【図５Ａ】
2018018196.tif 000007
【図５Ｂ】
2018018196.tif 000008
【図６】
2018018196.tif 000009
【図７】
2018018196.tif 000010
【図８】
2018018196.tif 000011
【図９】
2018018196.tif 000012
【図１０】
2018018196.tif 000013
【図１１】
2018018196.tif 000014
【図１２】
2018018196.tif 000015
【図１３】
2018018196.tif 000016