(57)【特許請求の範囲】
【請求項１】
バスを介してデータのリードおよびライトを行う装置であって、
２系統のバスを制御するマルチバスＣＰＵと、
各バスに接続された記憶手段と、
前記２系統のバスのうち一方のバスに接続され、該接続されたバスの制御を行うバスマスタと、
前記マルチバスＣＰＵ内に設けられ、該マルチバスＣＰＵが前記２系統のバスの一方のバスに接続された記憶手段にアクセスしている場合において、該マルチバスＣＰＵがアクセスをしていない他方のバスに対して、前記アクセスをしている一方のバスと同じアクセスに関するデータを出力する出力手段と
を具えたことを特徴とするメモリ制御装置。
【請求項２】
バスを介してデータのリードおよびライトを行う装置であって、
２系統のバスを制御するマルチバスＣＰＵと、
各バスに接続された記憶手段と、
前記２系統のバスのうち一方のバスに接続され、該接続されたバスの制御を行うバスマスタと、
前記マルチバスＣＰＵ内に設けられ、前記バスマスタが当該バスに接続された記憶手段にアクセスをしている場合において、アクセスをしていない他方のバスに対して、該アクセスをしている一方のバスと同じアクセスに関するデータを出力する出力手段と
を具えたことを特徴とするメモリ制御装置。
【請求項３】
バスを介してデータのリードおよびライトを行う装置であって、
多系統のバスを制御するマルチバスＣＰＵと、
各バスに接続された記憶手段と、
前記多系統のバスのうち所定のバスに接続され、該接続された所定のバスの制御を行うバスマスタと、
前記マルチバスＣＰＵ内に設けられ、該マルチバスＣＰＵが前記所定のバスに接続された記憶手段にアクセスしている場合において、該マルチバスＣＰＵがアクセスをしていない前記所定のバス以外のバスに対して、前記アクセスをしている所定のバスと同じアクセスに関するデータを出力する出力手段と
を具えたことを特徴とするメモリ制御装置。
【請求項４】
バスを介してデータのリードおよびライトを行う装置であって、
多系統のバスを制御するマルチバスＣＰＵと、
各バスに接続された記憶手段と、
前記多系統のバスのうち所定のバスに接続され、該接続された所定のバスの制御を行うバスマスタと、
前記マルチバスＣＰＵ内に設けられ、前記バスマスタが当該バスに接続された記憶手段にアクセスをしている場合において、アクセスをしていない前記所定のバス以外のバスに対して、該アクセスをしている所定のバスと同じアクセスに関するデータを出力する出力手段と
を具えたことを特徴とするメモリ制御装置。
【請求項５】
前記出力手段からの出力信号が入力され、前記マルチバスＣＰＵがアクセスをしているバスと同じアクセスに関するデータを監視するバス監視手段をさらに具えたことを特徴とする請求項１又は３記載のメモリ制御装置。
【請求項６】
前記出力手段からの出力信号が入力され、前記バスマスタがアクセスをしているバスと同じアクセスに関するデータを監視するバス監視手段をさらに具えたことを特徴とする請求項２又は４記載のメモリ制御装置。
【請求項７】
前記バス監視手段は、ＲＯＭエミュレータであることを特徴とする請求項５又は６記載のメモリ制御装置。
【請求項８】
２系統のバスを制御するマルチバスＣＰＵと、各バスに接続された記憶手段と、前記２系統のバスのうち一方のバスに接続され、該接続されたバスの制御を行うバスマスタとを用い、バスを介してデータのリードおよびライトを行う制御方法であって、
前記マルチバスＣＰＵが前記２系統のバスの一方のバスに接続された記憶手段にアクセスしている場合において、該マルチバスＣＰＵがアクセスをしていない他方のバスに対して、前記アクセスをしている一方のバスと同じアクセスに関するデータを出力する出力工程を具えたことを特徴とするメモリ制御方法。
【請求項９】
２系統のバスを制御するマルチバスＣＰＵと、各バスに接続された記憶手段と、前記２系統のバスのうち一方のバスに接続され、該接続されたバスの制御を行うバスマスタとを用い、バスを介してデータのリードおよびライトを行う制御方法であって、
前記マルチバスＣＰＵ内に設けられ、前記バスマスタが当該バスに接続された記憶手段にアクセスをしている場合において、アクセスをしていない他方のバスに対して、該アクセスをしている一方のバスと同じアクセスに関するデータを出力する出力工程を具えたことを特徴とするメモリ制御方法。
【請求項１０】
多系統のバスを制御するマルチバスＣＰＵと、各バスに接続された記憶手段と、前記多系統のバスのうち所定のバスに接続され、該接続された所定のバスの制御を行うバスマスタとを用い、バスを介してデータのリードおよびライトを行う制御方法であって、
前記マルチバスＣＰＵが前記所定のバスに接続された記憶手段にアクセスしている場合において、該マルチバスＣＰＵがアクセスをしていない前記所定のバス以外のバスに対して、前記アクセスをしている所定のバスと同じアクセスに関するデータを出力する出力工程を具えたことを特徴とするメモリ制御方法。
【請求項１１】
多系統のバスを制御するマルチバスＣＰＵと、各バスに接続された記憶手段と、前記多系統のバスのうち所定のバスに接続され、該接続された所定のバスの制御を行うバスマスタとを用い、バスを介してデータのリードおよびライトを行う制御方法であって、
前記バスマスタが当該バスに接続された記憶手段にアクセスをしている場合において、アクセスをしていない前記所定のバス以外のバスに対して、該アクセスをしている所定のバスと同じアクセスに関するデータを出力する出力工程を具えたことを特徴とするメモリ制御方法。
【請求項１２】
前記出力工程により出力された出力信号を用い、前記マルチバスＣＰＵがアクセスをしているバスと同じアクセスに関するデータを監視する工程をさらに具えたことを特徴とする請求項８又は１０記載のメモリ制御方法。
【請求項１３】
前記出力工程により出力された出力信号を用い、前記バスマスタがアクセスをしているバスと同じアクセスに関するデータを監視する工程をさらに具えたことを特徴とする請求項９又は１１記載のメモリ制御方法。
【請求項１４】
ＲＯＭエミュレータを用いてバスの状態を監視することを特徴とする請求項１２又は１３記載のメモリ制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データのリード、ライトを行うプログラマブルコントローラ等のメモリ制御装置およびメモリ制御方法に関する。
【０００２】
【従来の技術】
プログラマブルコントローラ（以下、ＰＬＣという）に搭載されるＣＰＵにおけるバス接続、および、アクセスの従来の手法について説明する。
【０００３】
近年、ＰＬＣにおいては、処理速度の高速化が求められている。その処理速度は、ＰＬＣに搭載されるＣＰＵの処理速度によるところが大きい。
【０００４】
ＣＰＵの処理速度を高めるために、いろいろな手法が用いられてきているが、その中の１つに、専用ＣＰＵを開発し、マルチバスアクセス方式を用いることによって、バスアクセスタイムの短縮を行う方式がある。
【０００５】
図４は、そのマルチバスアクセス方式を用いた従来のＰＬＣの構成例を示す。図４において、２系統のバス６，７を同時にアクセスできるマルチバスＣＰＵ１が設けられている。その一方のバス６には、ＰＬＣを動作させるためのプログラムが格納されたＲＯＭ３と、ユーザが記述した実行プログラムが格納されるＲＡＭ４とが接続されている。その他方のバス７には、ユーザが記述したプログラムの実行結果データが格納されるＲＡＭ５と、ＰＬＣ外部から内部のデータ領域がアクセス可能なバスマスタとが接続されている。
【０００６】
このようにしてマルチバスの接続を行うことにより、マルチバスＣＰＵ１は、プログラムを読み込むバス６へのアクセスと、プログラム実行結果データを書き込むバス７へのアクセスとを同時に処理することが可能となり、バスアクセス時間の削減を行っている。
【０００７】
【発明が解決しようとする課題】
専用のＣＰＵを開発した場合、汎用のインサーキットエミュレータを接続しようとすると、専用ＣＰＵにインサーキットエミュレータ対応の回路追加、外部ピン追加が必要となり、低コスト化、小型化に不利な方向に働く。そこで、近年では、ＲＯＭ接続部分を使用したＲＯＭエミュレータが普及してきている。
【０００８】
しかし、ＲＯＭエミュレータは、プログラムが格納されるＲＯＭの代わりに接続されるため、図４に示したようなマルチバス構成においては、接続されたバス以外のアクセスに関するデータを取得することができない。
【０００９】
その結果、プログラマブルコントローラでは、デバッグにおいて使用頻度の高いリアルタイムトレース機能、ハードウェアブレーク機能等が、使用できない状態が発生してしまう。
【００１０】
言い替えると、２系統のバスを制御できるＣＰＵと、そのそれぞれのバスに接続されるメモリ素子と、一方のバスに接続される上記ＣＰＵ以外のバスマスタとしての素子とを有し、データのリード、ライトを行うプログラマブルコントローラにおいて、
（１）ＣＰＵが、一方（ＲＯＭが接続されていない側）のバスに接続されている素子に対してアクセスをしている場合、上記機能が使用できない状態になったり、
（２）ＣＰＵ以外のバスマスタとしての素子が動作し、そのバスマスタが一方（ＲＯＭが接続されていない側）のバスをアクセスしている場合、使用できない状態になってしまう問題が発生する。
【００１１】
そこで、本発明の目的は、処理能力を向上させることが可能なメモリ制御装置およびメモリ制御方法を提供するマルチバス構成において、接続されたバス以外のアクセスに関するデータの取得を可能とすることにある。
【００１２】
【課題を解決するための手段】
本発明は、バスを介してデータのリードおよびライトを行う装置であって、２系統のバスを制御するマルチバスＣＰＵと、各バスに接続された記憶手段と、前記２系統のバスのうち一方のバスに接続され、該接続されたバスの制御を行うバスマスタと、前記マルチバスＣＰＵ内に設けられ、該マルチバスＣＰＵが前記２系統のバスの一方のバスに接続された記憶手段にアクセスしている場合において、該マルチバスＣＰＵがアクセスをしていない他方のバスに対して、前記アクセスをしている一方のバスと同じアクセスに関するデータを出力する出力手段とを具えることによって、メモリ制御装置を構成する。
【００１３】
本発明は、バスを介してデータのリードおよびライトを行う装置であって、２系統のバスを制御するマルチバスＣＰＵと、各バスに接続された記憶手段と、前記２系統のバスのうち一方のバスに接続され、該接続されたバスの制御を行うバスマスタと、前記マルチバスＣＰＵ内に設けられ、前記バスマスタが当該バスに接続された記憶手段にアクセスをしている場合において、アクセスをしていない他方のバスに対して、該アクセスをしている一方のバスと同じアクセスに関するデータを出力する出力手段とを具えることによって、メモリ制御装置を構成する。
【００１４】
本発明は、バスを介してデータのリードおよびライトを行う装置であって、多系統のバスを制御するマルチバスＣＰＵと、各バスに接続された記憶手段と、前記多系統のバスのうち所定のバスに接続され、該接続された所定のバスの制御を行うバスマスタと、前記マルチバスＣＰＵ内に設けられ、該マルチバスＣＰＵが前記所定のバスに接続された記憶手段にアクセスしている場合において、該マルチバスＣＰＵがアクセスをしていない前記所定のバス以外のバスに対して、前記アクセスをしている所定のバスと同じアクセスに関するデータを出力する出力手段とを具えることによって、メモリ制御装置を構成する。
【００１５】
本発明は、バスを介してデータのリードおよびライトを行う装置であって、多系統のバスを制御するマルチバスＣＰＵと、各バスに接続された記憶手段と、前記多系統のバスのうち所定のバスに接続され、該接続された所定のバスの制御を行うバスマスタと、前記マルチバスＣＰＵ内に設けられ、前記バスマスタが当該バスに接続された記憶手段にアクセスをしている場合において、アクセスをしていない前記所定のバス以外のバスに対して、該アクセスをしている所定のバスと同じアクセスに関するデータを出力する出力手段とを具えることによって、メモリ制御装置を構成する。
【００１６】
前記出力手段からの出力信号が入力され、前記マルチバスＣＰＵがアクセスをしているバスと同じアクセスに関するデータを監視するバス監視手段をさらに具えてもよい。
【００１７】
前記出力手段からの出力信号が入力され、前記バスマスタがアクセスをしているバスと同じアクセスに関するデータを監視するバス監視手段をさらに具えてもよい。
【００１８】
前記バス監視手段は、ＲＯＭエミュレータにより構成することができる。
【００１９】
本発明は、２系統のバスを制御するマルチバスＣＰＵと、各バスに接続された記憶手段と、前記２系統のバスのうち一方のバスに接続され、該接続されたバスの制御を行うバスマスタとを用い、バスを介してデータのリードおよびライトを行う制御方法であって、前記マルチバスＣＰＵが前記２系統のバスの一方のバスに接続された記憶手段にアクセスしている場合において、該マルチバスＣＰＵがアクセスをしていない他方のバスに対して、前記アクセスをしている一方のバスと同じアクセスに関するデータを出力する出力工程を具えることによって、メモリ制御方法を提供する。
【００２０】
本発明は、２系統のバスを制御するマルチバスＣＰＵと、各バスに接続された記憶手段と、前記２系統のバスのうち一方のバスに接続され、該接続されたバスの制御を行うバスマスタとを用い、バスを介してデータのリードおよびライトを行う制御方法であって、前記マルチバスＣＰＵ内に設けられ、前記バスマスタが当該バスに接続された記憶手段にアクセスをしている場合において、アクセスをしていない他方のバスに対して、該アクセスをしている一方のバスと同じアクセスに関するデータを出力する出力工程を具えることによって、メモリ制御方法を提供する。
【００２１】
本発明は、多系統のバスを制御するマルチバスＣＰＵと、各バスに接続された記憶手段と、前記多系統のバスのうち所定のバスに接続され、該接続された所定のバスの制御を行うバスマスタとを用い、バスを介してデータのリードおよびライトを行う制御方法であって、前記マルチバスＣＰＵが前記所定のバスに接続された記憶手段にアクセスしている場合において、該マルチバスＣＰＵがアクセスをしていない前記所定のバス以外のバスに対して、前記アクセスをしている一方のバスと同じアクセスに関するデータを出力する出力工程を具えることによって、メモリ制御方法を提供する。
【００２２】
本発明は、多系統のバスを制御するマルチバスＣＰＵと、各バスに接続された記憶手段と、前記多系統のバスのうち所定のバスに接続され、該接続された所定のバスの制御を行うバスマスタとを用い、バスを介してデータのリードおよびライトを行う制御方法であって、前記バスマスタが当該バスに接続された記憶手段にアクセスをしている場合において、アクセスをしていない前記所定のバス以外のバスに対して、該アクセスをしている所定のバスと同じアクセスに関するデータを出力する出力工程を具えることによって、メモリ制御方法を提供する。
【００２３】
前記出力工程により出力された出力信号を用い、前記マルチバスＣＰＵがアクセスをしているバスと同じアクセスに関するデータを監視する工程をさらに具えてもよい。
【００２４】
前記出力工程により出力された出力信号を用い、前記バスマスタがアクセスをしているバスと同じアクセスに関するデータを監視する工程をさらに具えてもよい。
【００２５】
ＲＯＭエミュレータを用いてバスの状態を監視することができる。
【００２６】
【発明の実施の形態】
以下、図面を参照して、本発明の実施の形態を詳細に説明する。
【００２７】
（概要）
まず、本発明の概要について説明する。
【００２８】
本発明は、２系統のバスを制御するＣＰＵと、そのそれぞれのバスに接続されるメモリ素子と、一方のバスに接続される上記ＣＰＵ以外のバスマスタとなり得る素子とを有し、データのリード、ライトを行うプログラマブルコントローラにおいて、ＣＰＵが、一方のバスに接続されている素子に対して、アクセスをし、他方のバスに接続されている素子に対しては、アクセスしていない場合に、アクセスしていない側のバスに、アクセスしている側のバスの状態を出力する手段を備えたことを特徴とする。
【００２９】
また、本発明は、２系統のバスを制御するＣＰＵと、そのそれぞれのバスに接続されるメモリ素子と、一方のバスに接続される上記ＣＰＵ以外のバスマスタとなり得る素子とを有し、データのリード、ライトを行うプログラマブルコントローラにおいて、ＣＰＵ以外のバスマスタとなり得る素子がバスマスタとなり、一方のバスをアクセスしている場合、ＣＰＵがそのバスを監視し他方のバスにその状態を出力する手段を備えたことを特徴とする。
【００３０】
以下、具体例を挙げて説明する。
【００３１】
（第１の例）
本発明の第１の実施の形態を、図１および図２に基づいて説明する。なお、前述した従来例（図４参照）と同一部分についての説明は省略し、同一符号を付す。
【００３２】
図１は、本発明に係るプログラマブルコントローラ（以下、ＰＬＣという）におけるマルチバスの概略構成を示す。なお、本例では、２系統のマルチバスの構成について説明する。
【００３３】
マルチバスＣＰＵ１の一方のバス６には、ＲＯＭエミュレータ８と、ユーザが記述した実行プログラムが格納されるユーザプログラムＲＡＭ４とが接続されている。また、その他方のバス７には、ＰＬＣ外部から内部のデータ領域がアクセス可能なバスマスタ２と、ユーザが記述したプログラムの実行結果データが格納されるＲＡＭ５とが接続されている。また、マルチバスＣＰＵ１内には、後述する図２に示すような制御回路１０が設けられている。
【００３４】
そして、マルチバスＣＰＵ１が、アクセス経路Ａに従ってバス７側のユーザデータＲＡＭ５にアクセスするような場合において、マルチバスＣＰＵ１がそのアクセスするデータおよび制御信号を読み戻し、制御回路１０による出力経路Ｂに従ってそれらの信号をバス６側に出力する。これにより、バス６に接続されたＲＯＭエミュレータ８において、アクセスされた側のバス７の状態を監視することが可能となる。
【００３５】
図２は、制御回路１０の構成例を示す。
【００３６】
マルチバスＣＰＵ１がバス７をアクセスする際、バス７に接続された出力バッファ１５から出力されるデータＤ２は、バス７に接続された入力バッファ１６を通して読み戻される。この入力バッファ１６の出力は、バス６をアクセスしていなければ、セレクタ１３を通してバス６に接続された出力バッファ１４に入力される。また、バス７に接続された出力バッファ１５をイネーブルにするコントロール信号Ｃ２が、ＯＲ回路１７を通してバス６に接続された出力バッファ１４をイネーブルにする。これにより、アクセスしていない側のバス６には、アクセスしている側のバス７と同じデータが出力されることになる。
【００３７】
上述したように、制御回路１０をシステム内に設けたことによって、アクセスしていない側のバス６に、アクセスしている側のバス７の状態を出力することができるので、接続されたバス以外のアクセスに関するデータを取得することが可能となる。これにより、デバッグにおいて使用頻度の高いリアルタイムトレース機能、ハードウェアブレーク機能等を使用することができる。
【００３８】
（第２の例）
本発明の第２の実施の形態を、図３に基づいて説明する。なお、前述した第１の例と同一部分についての説明は省略し、同一符号を付す。
【００３９】
本例は、前述した図２の制御回路１０を備えたマルチバスＣＰＵ１の制御処理が異なる場合の例である。
【００４０】
図３において、バスマスタ２が、バス７のアクセス権を獲得し、ユーザデータＲＡＭ５にアクセスする場合において、バス７を使用したアクセス経路Ｃに従ってデータおよび制御信号のアクセスが行われる。また、そのバス７側でアクセスするデータおよび制御信号は、マルチバスＣＰＵ１の制御回路１０による出力経路Ｄに従ってバス６側に出力される。これにより、バス６側に接続されたＲＯＭエミュレータ８において、バス７側の状態を監視することが可能となる。
【００４１】
ここで、前述した図２の制御回路１０を用いて、本システムの制御処理について説明する。
【００４２】
バスマスタ２がアクセス権を得てアクセスする場合において、アクセスしているデータＤ２′（図２において、Ｄ２′はＤ２とは異なる経路Ｃ上のデータ、Ｄ２はあくまでもＣＰＵがアクセス権をもっている時の出力データ）は、バス７に接続された入力バッファ１６を通して読み込まれ、セレクタ１３を通してバス６に接続された出力バッファ１４に入力される。また、バス７をアクセス中であることがわかるバス７側のリード信号Ｒ、ライト信号Ｗが、入力バッファ１６を通して読み込まれ、ＯＲ回路１７を通してバス６側の出力バッファ１４をイネーブルにする。これにより、アクセスしていない側のバス６には、アクセスしている側のバス７と同じデータが出力されることになる。なお、データＤ１、コントロール信号Ｃ１は、バス６側に入力される情報である。
【００４３】
上述したように、制御回路１０をシステム内に設けたことによって、アクセスしていない側のバス６に、アクセスしている側のバス７の状態を出力することができるので、接続されたバス以外のアクセスに関するデータを取得することが可能となる。これにより、デバッグにおいて使用頻度の高いリアルタイムトレース機能、ハードウェアブレーク機能等を使用することができる。
【００４４】
なお、上記各例では、マルチバスＣＰＵ１内の制御回路１０を論理回路によるハード的な構成としたが、これに限るものではなく、プログラムによるソフト的な構成によっても同様な作用効果を得ることができる。
【００４５】
また、上記各例では、システム構成を２系統の場合について説明したが、３系統以上の多系統の場合においても、同様な処理を実行することが可能である。
【００４６】
【発明の効果】
以上説明したように、本発明によれば、マルチバス構成のシステムにおいて、マルチバスＣＰＵが、ＲＯＭエミュレータが接続されていない側のバスにアクセスしている場合、そのＲＯＭエミュレータが接続された側のアクセスしていないバスにおいても出力手段を介して、アクセスしている側のバスの動作状態を監視することができるので、デバッグにおいて使用頻度の高いリアルタイムトレース機能、ハードウェアブレーク機能等を使用することが可能となる。
【００４７】
また、本発明によれば、マルチバスＣＰＵ以外のマスタとなり得る素子が、バスにアクセスしている場合、その素子がアクセスしていない側のバスにおいても出力手段を介して、アクセスしている側のバスの動作状態を監視することができるので、デバッグにおいて使用頻度の高いリアルタイムトレース機能、ハードウェアブレーク機能等を使用することが可能となる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態であるシステム構成を示すブロック図である。
【図２】マルチバスＣＰＵ内の出力手段の構成例を示すブロック図である。
【図３】本発明の第２の実施の形態であるシステム構成を示すブロック図である。
【図４】従来例のシステム構成を示すブロック図である。
【符号の説明】
１  マルチバスＣＰＵ
２  バスマスタ
３〜５  記憶手段
６，７  バス
９  ＲＯＭエミュレータ
１０  出力手段
【図１】
0003596730.tif 000002
【図２】
0003596730.tif 000003
【図３】
0003596730.tif 000004
【図４】
0003596730.tif 000005