(57)【特許請求の範囲】
【請求項１】
動作モード・ビット、アドレス・ビットおよびデータ・ビットを含むｎビット情報をアドレスバスから入力し、且つ、読出制御信号を制御信号線から入力する入力手段と、
動作モード・ビットと前記読出制御信号とを用いてイネーブル信号を生成するイネーブル生成手段と、
前記アドレス・ビットからアドレスを生成する手段と、
前記イネーブル信号が’有効’のときに、前記アドレスに対応させて前記データ・ビット上のデータを記憶する記憶手段と、
を備え、
前記動作モード・ビットに基づいて、前記記憶手段に対するデータの記憶／読出動作を同一の動作シーケンスで実行するようにしたことを特徴とするデータ記憶装置。
【請求項２】
前記記憶手段が、前記イネーブル信号が’無効’のときに、前記アドレスに対応する記憶領域に予め記憶されたデータ・ビットを、データバスに出力することを特徴とする請求項１に記載のデータ記憶装置。
【請求項３】
前記イネーブル信号が’有効’のときに、前記記憶手段に記憶されたデータ・ビットの検証データを生成する検証手段と、
前記イネーブル信号が’有効’のときには前記検証データを前記データバスに出力し、前記イネーブル信号が’無効’のときは前記記憶手段に予め記憶されたデータ・ビットをデータバスに出力する選択手段と、
を備えたことを特徴とする請求項１に記載のデータ記憶装置。
【請求項４】
前記記憶手段から記憶データを読み出して、この記憶データに対応するコマンドを実行する制御手段を更に備えたことを特徴とする請求項１に記載のデータ記憶装置。
【請求項５】
動作モード・ビット、アドレス・ビットおよびデータ・ビットを含むｎビット情報をアドレスバス上に出力し、且つ、読出制御信号を制御信号線に出力する、演算処理装置と、
前記アドレスバスから前記ｎビット情報を入力し且つ前記制御信号線から前記読出制御信号を入力する入力手段と、前記動作モード・ビットおよび前記読出制御信号を用いてイネーブル信号を生成するイネーブル生成手段と、前記アドレス・ビットからアドレスを生成するデコード手段と、前記イネーブル信号が’有効’のときに前記アドレスに対応させて前記データ・ビット上のデータを記憶する記憶手段と、
を備え、
前記動作モード・ビットに基づいて、前記記憶手段に対するデータの記憶／読出動作を同一の動作シーケンスで実行するようにしたことを特徴とするデータ伝送システム。
【請求項６】
前記記憶手段が、前記イネーブル信号が’無効’のときに、前記アドレスに対応する記憶領域に予め記憶されたデータ・ビットを、データバスに出力することを特徴とする請求項５に記載のデータ伝送システム。
【請求項７】
前記イネーブル信号が’有効’のときに、前記記憶手段に記憶されたデータ・ビットの検証データを生成する検証手段と、
前記イネーブル信号が’有効’のときには前記検証データを前記データバスに出力し、前記イネーブル信号が’無効’のときは前記記憶手段に予め記憶されたデータ・ビットをデータバスに出力する選択手段と、
を備えたことを特徴とする請求項５に記載のデータ伝送システム。
【請求項８】
前記記憶手段から記憶データを読み出して、この記憶データに対応するコマンドを実行する制御手段を更に備えたことを特徴とする請求項５に記載のデータ伝送システム。
【請求項９】
前記演算処理装置が、プログラム開発ボードであり、且つ、前記データ記憶装置がＲＯＭエミュレータであることを特徴とする請求項５に記載のデータ伝送システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、バスを用いてデータの伝送を行うデータ記憶装置およびこれを用いたデータ伝送システムに関する。
【０００２】
【従来の技術】
従来より、同一の回路基板内のデータ伝送や同一のシステム内のデータ伝送等を行う技術として、バスを用いた技術が知られている。
【０００３】
例えば、演算処理回路（マイクロコントローラなど）と外部メモリ（ランダム・アクセス・メモリなど）との間でデータ伝送を行う場合、かかる演算処理回路および外部メモリは、データバスおよびアドレスバスに接続される。さらに、演算処理回路と外部メモリとは、読出制御信号線および書込制御信号線で接続される。
【０００４】
演算処理回路が外部メモリからデータを読み出す場合、この演算処理回路は、読み出しアドレスをアドレスバス上に出力する。外部メモリは、読み出しアドレスをアドレスバスから入力すると、このアドレスに対応する記憶データを、データバス上に出力する。その後、演算処理回路が、読み出し制御信号をアクティブにするとともに、データバス上のデータを読み込む。この読出制御信号により、外部メモリは、そのデータが読み込まれたことを知る。
【０００５】
一方、演算処理回路から外部メモリにデータを書き込む場合には、この演算処理回路は、書き込みアドレスをアドレスバス上に出力し且つ書き込みデータをデータバス上に出力した後で、書き込み制御信号をアクティブにする。外部メモリは、書き込み制御信号がアクティブになったことを検出すると、アドレスバスから受け取ったアドレスに対応する記憶領域に、データバスから受け取ったデータを書き込む。
【０００６】
また、演算処理回路としては、外部メモリに対するデータの書き込みを行うように構成されていないもの、すなわち外部メモリからのデータ読み出しのみを行うように構成されたものが、知られている。外部メモリがＲＯＭ(Read Only Memory)の場合等には、データの書き込みを行わないからである。
【０００７】
データ書き込みを行わない演算処理回路は、当然のごとく、書込制御信号を生成・出力する機能も備えていない。すなわち、このような演算処理回路のインタフェースは、アドレスバス、データバスおよび読出制御信号線には接続できるが、書込制御信号線には接続できない。
【０００８】
【発明が解決しようとする課題】
マイクロコントローラ等の演算処理回路を搭載したシステムでは、外部回路の差し替えや増設等によって、機能を拡張したい場合がある。また、このような機能拡張に伴って、演算処理回路から外部メモリへのデータ書き込みを行わないシステムを、かかるデータ書き込みを行うことができるシステムに変更したい場合が生じる。
【０００９】
しかしながら、上述したように、外部回路に対するデータ書き込みを行わない演算処理回路は、書込制御信号を生成・出力する機能を備えていないため、データ書き込みを行うシステムには使用することができなかった。このため、従来は、外部メモリへのデータ書き込みを行えるようにシステムを変更するためには、高価な演算処理回路自体を交換する必要があった。
【００１０】
このような理由から、外部回路へのデータ書き込みを行わない演算処理回路をそのまま使用して、外部メモリ等へのデータ書き込みを行えるようにする技術が、嘱望されていた。
【００１１】
【課題を解決するための手段】
第１の発明に係るデータ記憶装置は、動作モード・ビット、アドレス・ビットおよびデータ・ビットを含むｎビット情報をアドレスバスから入力し、且つ、読出制御信号を制御信号線から入力する入力手段と、動作モード・ビットと前記読出制御信号とを用いてイネーブル信号を生成するイネーブル生成手段と、アドレス・ビットからアドレスを生成するデコード回路と、イネーブル信号が’有効’のときに、アドレスに対応させてデータ・ビット上のデータを記憶する記憶手段とを備え、動作モード・ビットに基づいて、前記記憶手段に対するデータの記憶／読出動作を同一の動作シーケンスで実行するように構成している。
【００１２】
このデータ記憶装置によれば、アドレスバスから、読出制御信号、アドレスおよび書き込みデータを受け取ることができる。したがって、書込制御信号線を使用することなく、データ記憶装置へのデータ書き込みを行うことができる。
【００１３】
第２の発明に係るデータ伝送システムは、動作モード・ビット、アドレス・ビットおよびデータ・ビットを含むｎビット情報をアドレスバス上に出力し、且つ、読出制御信号を制御信号線に出力する、演算処理装置と、アドレスバスからｎビット情報を入力し且つ制御信号線から読出制御信号を入力する入力手段と、動作モード・ビットおよび読出制御信号を用いてイネーブル信号を生成するイネーブル生成手段と、アドレス・ビットからアドレスを生成するデコード手段と、前記イネーブル信号が’有効’のときに前記アドレスに対応させて前記データ・ビット上のデータを記憶する記憶手段とを備え、動作モード・ビットに基づいて、前記記憶手段に対するデータの記憶／読出動作を同一の動作シーケンスで実行するように構成している。
【００１４】
このデータ伝送システムによれば、アドレスバスを用いて、演算処理装置からデータ記憶装置に、読出制御信号、書き込みアドレスおよび書き込みデータを送ることができる。したがって、書込制御信号線を使用することなく、データ記憶装置へのデータ書き込みを行うことができる。
【００１５】
【発明の実施の形態】
以下、この発明の実施の形態について、図面を用いて説明する。なお、図中、各構成成分の大きさ、形状および配置関係は、本発明が理解できる程度に概略的に示してあるにすぎず、また、以下に説明する数値的条件は単なる例示にすぎない。
【００１６】
第１の実施の形態
以下、この発明に係るデータ記憶装置およびデータ伝送システムの第１の実施の形態について説明する。
【００１７】
図１は、この実施の形態に係るデータ伝送システム１００の構成を概略的に示すブロック図である。
【００１８】
図１に示したように、このシステム１００は、演算処理回路としてのマイクロコントローラ１１０、データ記憶装置（外部メモリ等）としての外部回路１２０、データバス１３０、アドレスバス１４０および読出制御信号線１５０を備えている。
【００１９】
マイクロコントローラ１１０は、プロセッサコア１１１、ＲＯＭ(Read Only Memory)１１２、ＲＡＭ(Random Access Memory)１１３、内部バス１１４および外部メモリインタフェース１１５を備えている。
【００２０】
プロセッサコア１１１は、外部回路１２０へのデータの書き込みは行わないが、外部回路１２０からのデータの読み込みなどの処理を行う。
【００２１】
ＲＯＭ１１２は、プロセッサコア１１１が処理を実行するためのプログラム等を格納する。
【００２２】
ＲＡＭ１１３は、プロセッサ１１１の処理中のデータを一時的に記憶する。
【００２３】
内部バス１１４は、プロセッサコア１１１、ＲＯＭ１１２、ＲＡＭ１１３および外部メモリインタフェース１１５相互間の、プログラムやデータの伝送に使用される。
【００２４】
外部メモリインタフェース１１５は、内部バス１１４と、データバス１３０、アドレスバス１４０および読出制御信号線１５０とを接続するインタフェースである。この実施の形態では、データバス１３０を８ビットとし、各ビットの信号をＤ0 〜Ｄ7 で表すことにする。また、アドレスバス１４０を１６ビットとし、各ビットの信号をＡ0 〜Ａ15で表すことにする。
【００２５】
外部回路１２０は、イネーブル回路１２１、デコーダ１２２、レジスタ群１２３およびインタフェース１２４を備えている。
【００２６】
イネーブル回路１２１は、インタフェース１２４を介して、アドレスバス１４０から１６ビット情報の最上位ビットＡ15（動作モードビット）を入力するとともに、読出制御信号線１５０から読出制御信号＿RD を入力する。そして、読出制御信号＿RD が「０」で且つアドレス信号Ａ15が「１」のときはイネーブル回路１２１は、書き込みモードであると判断して、イネーブル信号EBを「有効」にする。一方、信号＿RD ，Ａ15が他の値である場合はイネーブル回路１２１は、読み出しモードであると判断して、イネーブル信号EBを「無効」にする。ここで、イネーブル信号EBは、レジスタ群１２３へのデータの書き込みを許可する信号であり、実質的には書き込み信号として使用される。
【００２７】
デコーダ１２２は、アドレスバス１４０から、９ビット目〜１５ビット目の信号Ａ8 〜Ａ14（アドレスビット）を入力する。そして、デコーダ１２２は、これらの信号Ａ8 〜Ａ14を、レジスタ群１２３内のいずれかのレジスタを特定するためのアドレスにデコードする。
【００２８】
レジスタ群１２３は、８ビットのレジスタを、例えば１２８個備えている（図示せず）。このレジスタ群１２３は、アドレスバス１４０から、１６ビット情報の１ビット目〜８ビット目の信号Ａ0 〜Ａ7 （データビット）を入力する。そして、レジスタ群１２３は、イネーブル信号EBが「有効」のときは、デコーダ１２２によって特定されたレジスタに、信号Ａ0 〜Ａ7 の値を書き込む。一方、イネーブル信号EBが「無効」のときは、デコーダ１２２によって特定されたレジスタの記憶データを、データバス１３０に出力する。各レジスタを８ビットとしたのは、データバス１３０が８ビットであるためである。但し、データバスが１６ビットのシステムに外部回路１２０を搭載する場合には、上位８ビットまたは下位８ビットの一方のみを使用し、他方の８ビットは不定値（ハイインピーダンス）に固定してもよい。また、上位８ビットと下位８ビットとに、同じ８ビット信号を出力することにしてもよい。
【００２９】
インタフェース１２４は、データバス１３０、アドレスバス１４０および読出制御信号線１５０に接続される。上述の説明から解るように、データバス１３０は、インタフェース１２４を介して、レジスタ群１２３に接続される。アドレスバス１４０は、インタフェース１２４を介して、ビットＡ0 〜Ａ7 がレジスタ群１２３に接続され、ビットＡ8 〜Ａ14がデコーダ１２２に接続され、ビットＡ15がイネーブル回路１２１に接続される。また、読出制御信号線１５０は、インタフェース１２４を介して、イネーブル回路１２１に接続される。
【００３０】
データバス１３０およびアドレスバス１４０としては、通常のバスが使用される。これらのバス１３０，１４０は、他の回路や機器等に、接続されていてもよい。
【００３１】
次に、図１に示したデータ伝送システム１００の動作について、図２のタイミングチャートを用いて説明する。図２のシーケンスは基本的には読み取りシーケンスである。
【００３２】
このデータ伝送システム１００において、外部回路１２０へのデータの書き込みは、以下のようにして行う。以下に説明するように、この実施の形態では、マイクロコントローラ１１０の読み出しモードの動作シーケンスをそのまま用いて、書き込み動作が実行される。
【００３３】
まず、システムクロックのタイミングＴ１で、マイクロコントローラ１１０が、アドレスバス１４０に、１６ビット情報Ａ0 〜Ａ15を出力する。この実施の形態では、書き込みモードを実行するとき、アドレスバス１４０の最上位ビットＡ15の値が「１」に設定される。また、第９ビット〜第１５ビットＡ8 〜Ａ14には、レジスタ群１２３の１個のレジスタを特定するためのアドレスが格納される。さらに、アドレスバス１４０の第１ビット〜第８ビットＡ0 〜Ａ7 には、レジスタに書き込むための８ビットデータが格納される。
【００３４】
外部回路１２０は、アドレスバス１４０から、この１６ビット情報Ａ0 〜Ａ15を読み込む。上述したように、この１６ビット情報Ａ0 〜Ａ15のうち、最上位ビットＡ15はイネーブル回路１２１に入力され、第９ビット〜第１５ビットＡ8 〜Ａ14はデコーダ１２２でレジスタを特定するためのデータにデコードされ、第１ビット〜第８ビットＡ0 〜Ａ7 はレジスタ群１２３に入力される。
【００３５】
ここでは書き込みモードを実行しているので、アドレスバス１４０上に１６ビット情報Ａ0 〜Ａ15が出力されても、外部回路１２０はデータバス１３０上にデータを出力しない。しかし、上述したように、マイクロコントローラ１１０は、読み出しモードの動作シーケンスを実行しているので、アドレスバス１４０への１６ビット情報Ａ0 〜Ａ15の出力から所定の遅延時間後（図２の例ではタイミングＴ３付近）に、データバス１３０上にデータが出力されていると判断する。そして、マクロコントローラ１１０は、システムクロックのＴ４→Ｔ５の間に、データバス１３０上のデータを読み込んで、読み込み信号＿RD をアクティブ（すなわち「０」）にする。
【００３６】
外部回路１２０内のイネーブル回路１２１は、読み込み信号＿RD がアクティブ且つビットＡ15の値が「１」の場合に、イネーブル信号EBを‘有効’（すなわち「１」）にする。ここでは、ビットＡ15の値は「１」なので、読み込み信号＿RD がアクティブである期間中（すなわちＴ４→Ｔ５の期間）、イネーブル信号EBは‘有効’になる。
【００３７】
デコーダ１２２で特定されたレジスタは、イネーブル信号EBの立ち上がりタイミング（図２の時間Ｔ４）で、１６ビット情報Ａ0 〜Ａ15の内の第１ビット〜第８ビットＡ0 〜Ａ7 を記憶する。
【００３８】
その後、システムクロックのタイミングＴ６で、マイクロコントローラ１１０が、次の１６ビット情報Ａ0 〜Ａ15を、アドレスバス１４０上に出力する。そして、タイミングＴ１〜Ｔ５の動作と同様の書き込み動作が、繰り返される。
【００３９】
このように、この実施の形態に係るシステム１００では、マイクロコントローラ１１０の書き込み動作シーケンスは、従来のマイクロコントローラの読み出し動作シーケンスと同一である。すなわち、アドレスバス１４０の送信情報として上述のような１６ビット情報を使用するだけで、読み出し動作シーケンスによる、外部回路１２０へのデータ書き込みを行うことができる。したがって、マイクロコントローラ１１０が外部回路に対する書き込み機能を備えない場合であっても、この実施の形態に係る外部回路１２０をシステム１００に搭載することにより、データ書き込みを行うことができるようになる。
【００４０】
次に、外部回路１２０からデータを読み出す動作について、説明する。以下に説明するように、外部回路１２０からデータを読み出す場合も、マイクロコントローラ１１０は、この実施の形態の書き込み動作と全く同じシーケンス、すなわち、図２に示したような読み出し動作シーケンスと同じシーケンスを用いる。
【００４１】
まず、システムクロックのタイミングＴ１で、マイクロコントローラ１１０が、アドレスバス１４０に、１６ビット情報Ａ0 〜Ａ15を出力する。この実施の形態では、読み出しモードを実行するとき、１６ビット情報の最上位ビットＡ15の値が「０」に設定される。さらに、書き込み動作の場合と同様、第９ビット〜第１５ビットＡ8 〜Ａ14には、レジスタ群１２３の１個のレジスタを特定するためのアドレスが格納される。ここで、読み出し動作の場合には、１６ビット情報の第１ビット〜第８ビットＡ0 〜Ａ7 にデータを格納する必要はない。
【００４２】
外部回路１２０は、アドレスバス１４０から、１６ビット情報Ａ0 〜Ａ15を読み込む。上述したように、１６ビット情報Ａ0 〜Ａ15のうち、最上位ビットＡ15はイネーブル回路１２１に入力され、第９ビット〜第１５ビットＡ8 〜Ａ14はデコーダ１２２でレジスタを特定するためのデータにデコードされる。ここで、第１ビット〜第８ビットＡ0 〜Ａ7 はレジスタ群１２３に入力されるが、読み出し動作では使用されない。
【００４３】
この時点で、読出制御信号＿RD は非アクティブ（すなわち「１」）なので、イネーブル信号EBも‘無効’（すなわち「０」）である。イネーブル信号EBが‘無効’のとき、デコーダ１２２で特定されたレジスタは、記憶値を出力する。この記憶値は、インタフェース１２４を介して、データバス１３０上に出力される。
【００４４】
上述の書き込み動作の場合と同様、マイクロコントローラ１１０は、１６ビット情報Ａ0 〜Ａ15の出力から所定の遅延時間後（図２の例ではタイミングＴ３付近）に、データバス１３０上にデータが出力されたと判断する。そして、マクロコントローラ１１０は、システムクロックのＴ４→Ｔ５の期間、データバス１３０上のデータを読み込んで、読み込み信号＿RD をアクティブ（すなわち「０」）にする。読み込まれたデータは、例えばＲＡＭ１１３に格納される。
【００４５】
ここでは、１６ビット情報の最上位ビットＡ15が「０」なので、読み込み信号＿RD がアクティブになっても、イネーブル信号EBは‘有効’にならない。したがって、デコーダ１２２で特定されたレジスタは、１６ビット情報の第１ビット〜第８ビットＡ0 〜Ａ7 を格納しない。
【００４６】
その後、システムクロックのタイミングＴ６で、マイクロコントローラ１１０が、アドレスバス１４０上に、次の１６ビット情報Ａ0 〜Ａ15を出力する。そして、タイミングＴ１〜Ｔ５の動作と同様の読み出し動作が、繰り返される。
【００４７】
このように、この実施の形態に係るシステム１００では、マイクロコントローラ１１０の読み出し動作シーケンスも、従来のマイクロコントローラの読み出し動作シーケンスと同一である。
【００４８】
以上説明したように、この実施の形態に係るシステム１００では、書き込み動作および読み出し動作の両方を、従来の読み出し動作シーケンスと全く同じ動作シーケンスで、実行することができる。したがって、この実施の形態によれば、外部回路に対する、書き込み機能を有さないマイクロコントローラを用いて、書き込み動作および読み出し動作の両方を行うことができる。
【００４９】
また、書き込み動作で、マイクロコントローラ１１０はデータバス１３０を使用しないので、データバス１３０が他の回路間の通信に使用されているときでも、アドレスバス１４０が使用されていなければ、マイクロコントローラ１１０はデータの書き込みを行うことができる。例えば、他の回路間でＤＭＡ(Direct Memory Access)転送を行っている最中でも、マイクロコントローラ１１０は、外部回路１２０にデータを書き込むことができる。
【００５０】
第２の実施の形態
次に、この発明の第２の実施の形態について、図２及び図３を用いて説明する。
【００５１】
図３は、この実施の形態に係るデータ伝送システム３００の構成を概略的に示すブロック図である。
【００５２】
図３において、図１と同じ符号を付した構成要素は、ぞれぞれ、図１の場合と同じものを示している。
【００５３】
図３に示したように、外部回路３１０は、インタフェース１２４、レジスタ回路３１１、検証回路３１２およびマルチプレクサ３１３を備えている。ここで、レジスタ回路３１１は、第１の実施の形態の外部回路１２０と同様の、イネーブル回路１２１、デコーダ１２２およびレジスタ群１２３を備えている。
【００５４】
検証回路は３１２は、デコーダ１２２によって特定されたレジスタから、記憶データを入力する。そして、この記憶データの検証データを生成して、出力する。検証データは、例えば、チェックサムやパリティ等の検証法で用いられるデータである。
【００５５】
マルチプレクサ３１３は、一方の入力ポートから、デコーダ１２２によって特定されたレジスタの記憶データを入力し、また、他方の入力ポートから、検証データを入力する。さらに、マルチプレクサ３１３は、選択信号として、１６ビット情報の最上位ビットＡ15を入力する。そして、マルチプレクサ３１３は、ビットＡ15の信号値が「１」の場合は検証データを出力し、ビットＡ15の信号値が「０」の場合はレジスタの記憶データを出力する。
【００５６】
次に、図３に示したデータ伝送システム３００の動作を説明する。この実施の形態におけるマイクロコントローラ１１０の動作シーケンスは、第１の実施の形態の場合（図２参照）と全く同じである。
【００５７】
まず、外部回路３１０へデータを書き込む動作を説明する。
【００５８】
最初に、システムクロックのタイミングＴ１で、マイクロコントローラ１１０が、アドレスバス１４０に、１６ビット情報Ａ0 〜Ａ15を出力する。第１の実施の形態における書き込み動作と同様、１６ビット情報の最上位ビットＡ15の値は「１」に設定され、第９ビット〜第１５ビットＡ8 〜Ａ14にはレジスタを特定するためのアドレスが格納され、且つ、第１ビット〜第８ビットＡ0 〜Ａ7 には、８ビットの書き込みデータが格納される。
【００５９】
外部回路３１０は、アドレスバス１４０から、１６ビット情報を読み込む。この１６ビット情報のうち、最上位ビットＡ15はイネーブル回路１２１およびマルチプレクサ３１３に入力され、第９ビット〜第１５ビットＡ8 〜Ａ14はデコーダ１２２に入力され、且つ、第１ビット〜第８ビットＡ0 〜Ａ7 はレジスタ群１２３に入力される。
【００６０】
第１の実施の形態と同様、マクロコントローラ１１０は、システムクロックのＴ４→Ｔ５の期間、読み込み信号＿RD をアクティブ（すなわち「０」）にする。そして、イネーブル回路１２１は、読み込み信号＿RD がアクティブである間に（すなわちＴ４→Ｔ５の期間）、イネーブル信号EBを‘有効’にする。
【００６１】
デコーダ１２２で特定されたレジスタは、イネーブル信号EBの立ち上がりタイミングで、１６ビット情報の第１ビット〜第８ビットＡ0 〜Ａ7 を記憶する。このとき、この記憶データはそのまま出力されて、検証回路３１２に入力される。検証回路３１２は、上述のような検証データを出力する。
【００６２】
マルチプレクサ３１３は、ビットＡ15の信号値が「１」なので、この検証データを選択して出力する。この検証データは、インタフェース１２４を介して、データバス１３０上に出力される。
【００６３】
上述したように、マイクロコントローラ１１０は、書き込み動作であっても、読み出し動作のシーケンスを実行している。したがって、データバス１３０上の検証データは、マイクロコントローラ１１０に入力される。
【００６４】
このように、この実施の形態に係るシステム３００では、外部回路にデータを書き込んだ際に、この書き込みデータの検証結果をデータバス１３０上に出力することができる。
【００６５】
次に、外部回路３１０からデータを読み出す動作について、説明する。この動作でも、マイクロコントローラ１１０は、図２に示したような従来の読み出し動作シーケンスと同じシーケンスを行う。
【００６６】
まず、システムクロックのタイミングＴ１で、マイクロコントローラ１１０が、アドレスバス１４０に、１６ビットの１６ビット情報Ａ0 〜Ａ15を出力する。このとき、１６ビット情報の最上位ビットＡ15の値は、「０」に設定される。さらに、第１の実施の形態と同様、第９ビット〜第１５ビットＡ8 〜Ａ14にはレジスタ群１２３の１個のレジスタを特定するためのアドレスが格納され、また、１６ビット情報の第１ビット〜第８ビットＡ0 〜Ａ7 にはデータが格納されない。
【００６７】
外部回路３１０は、アドレスバス１４０から、この１６ビット情報を読み込む。この１６ビット情報のうち、最上位ビットＡ15はイネーブル回路１２１およびマルチプレクサ３１３に入力され、第９ビット〜第１５ビットＡ8 〜Ａ14はデコーダ１２２でレジスタを特定するためのデータにデコードされる。特定されたレジスタは、記憶データをマルチプレクサ３１３に出力する。
【００６８】
ここでは、最上位ビットＡ15は「０」なので、マルチプレクサ３１３は、記憶データを選択する。
【００６９】
その後、第１の実施の形態の場合と同様にして、デコーダ１２２に特定されたレジスタの記憶データが、マルチプレクサ３１３およびインタフェース１２４を介して、データバス１３０上に出力される。そして、この記憶データが、データバス１３０から、マクロコントローラ１１０に読み込まれる。
【００７０】
第３の実施の形態
次に、この発明の第３の実施の形態について、図４を用いて説明する。
【００７１】
図４は、この実施の形態に係るデータ伝送システム４００の構成を概略的に示すブロック図である。
【００７２】
図４において、図１と同じ符号を付した構成要素は、ぞれぞれ、図１の場合と同じものを示している。
【００７３】
図４に示したように、この実施の形態に係るデータ伝送システム４００は、マイクロコントローラ１１０、外部専用コントローラ４１０および制御機器４２０を備えている。
【００７４】
外部専用コントローラ４１０は、レジスタ回路４１１、制御回路４１２およびインタフェース４１３，４１４を備えている。
【００７５】
レジスタ回路４１１は、第１の実施の形態の外部回路１２０と同様の、イネーブル回路１２１、デコーダ１２２およびレジスタ群１２３を備えている。この実施の形態では、レジスタ群１２３内の各レジスタ（図示せず）には、マイクロコントローラ１１０から受け取ったコマンド、または、マイクロコントローラ１１０に送られるステータス情報が、記憶される。この実施の形態では、これらコマンドおよびステータス情報は、８ビットとする。
【００７６】
制御回路４１２は、レジスタ回路４１１から読み出したコマンドを実行する。このコマンドの実行に伴って、制御回路４１２は、制御機器４２０へ制御信号CTR を送信し、且つ、制御機器４２０からステータス信号STを受信する。制御回路４１２は、受け取ったステータス信号STを、ステータス情報として、レジスタ群１２３内のレジスタに書き込む。さらに、制御回路４１２は、マイクロコントローラ１１０に割り込み要求信号IRQ を送るとともに、このマイクロコントローラ１１０から割り込み応答信号IAK を受け取る。
【００７７】
インタフェース４１３は、データバス１３０、アドレスバス１４０および読出制御信号線１５０に接続され、加えて、割り込み要求信号IRQ 用の制御信号線４３０および割り込み応答信号IAK 用の制御信号線４４０に接続される。すなわち、これらの信号線１３０，１４０，１５０，４３０，４４０を用いて、インタフェース１１５，４１３間の、信号の送受信が行われる。
【００７８】
インタフェース４１４は、制御信号線４５０，４６０で、制御機器４２０と接続される。制御信号線４５０はステータス信号STの受信に使用され、制御信号線４６０は制御信号CTR の送信に使用される。
【００７９】
制御機器４２０は、制御信号線４５０，４６０を用いてステータス信号STの送信および制御信号CTR の受信を行うための、インタフェース４２１を備えている。制御機器４２０は、これらの信号ST，CTR の送受信により、外部専用コントローラ４１０により制御される。
【００８０】
マイクロコントローラ１１０がレジスタ回路４１１にデータを書き込む際の動作は、第１の実施の形態の場合と同様である。但し、この実施の形態では、書き込みの際に、１６ビット情報の第１ビット〜第８ビットＡ0 〜Ａ7 にコマンドが格納される。すなわち、この実施の形態の書き込み動作では、レジスタ回路４１１にコマンドが書き込まれる。このコマンドは、制御回路４１２に読み出されて実行される。これにより、制御回路４１２から制御機器４２０に、制御信号CTR が送信される。この制御信号CTR により、制御機器４２０の制御が、実行される。
【００８１】
制御機器４２０は、制御内容に応じて生成されたステータス信号STを、制御回路４１２に送信する。制御回路４１２は、受信したステータス信号STを、レジスタ回路４１１内の、所定のレジスタに書き込む。レジスタに記憶されたステータス信号STは、第１の実施の形態に係るシステム１００と同様の読み出し動作で、マイクロコントローラ１１０に読み出される。
【００８２】
また、制御回路４１２は、ステータス信号STの値が所定値の場合に、マイクロコントローラ１１０に対して、割り込み要求信号IRQ を送信する。マイクロコントローラ１１０は、信号IRQ の受信を認識すると、制御回路４１２に割り込み応答信号IAK を送信し、さらに、第１の実施の形態の書き込み動作と同様の動作により、割り込み制御のためのコマンドをレジスタ回路４１１に書き込む。このコマンドは、制御回路４１２によって読み出され、実行される。これにより、制御回路４１２は、割り込み制御を実行することができる。
【００８３】
この実施の形態に係るデータ伝送システム４００によれば、アドレスバス１４０のみを用いて、外部専用コントローラ４１０へのコマンドの書き込みを行うことができる。このため、外部回路に対する書き込み機能を有さず且つ割り込み機能を有するマイクロコントローラを用いて、制御機器４２０の制御を行うことができる。
【００８４】
また、マイクロコントローラ１１０は、書き込み動作でデータバス１３０を使用しないので、データバス１３０が他の回路間の通信に使用されているときでも、アドレスバス１４０が使用されていなければ、制御機器４２０の制御を行うことができる。例えば、他の回路間でＤＭＡ(Direct Memory Access)転送を行っている最中でも、マイクロコントローラ１１０は、レジスタ回路４１１にコマンドを書き込むことができる。但し、この場合、ＤＭＡ転送によりデータバス１３０が使用されるので、レジスタ回路４１１からマイクロコントローラ１１０へのステータス情報の送信は、行うことができない。
【００８５】
加えて、割り込み要求信号IRQ および割り込み応答信号IAK を使用するので、制御機器４２０の迅速な制御が可能である。
【００８６】
第４の実施の形態
次に、この発明の第４の実施の形態について、図５を用いて説明する。
【００８７】
この実施の形態は、この発明に係る演算処理装置をプログラム開発ボードに適用し、且つ、この発明に係るデータ記憶装置をＲＯＭエミュレータに適用した例である。
【００８８】
図５は、この実施の形態に係るシステム５００の構成を概略的に示すブロック図である。
【００８９】
図５に示したように、このシステム５００は、プログラム開発ボード５１０、ＲＯＭエミュレータ５２０、プログラムデバッガ５３０および接続ケーブル５４０，５５０を備えている。
【００９０】
プログラム開発ボード５１０は、プロセッサ５１１と、ＲＡＭ５１２と、ＲＯＭソケット５１３と、内部バス５１４とを備えている。
【００９１】
プロセッサ５１１は、プログラムデバッガ５３０へのデータの書き込みや、プログラムデバッガ５３０からのデータの読み込みなどの処理を行う。
【００９２】
ＲＡＭ５１２は、プログラムデバッガ５３０に書き込むデータや、プログラムデバッガ５３０から読み出されたデータを一時的に記憶する。
【００９３】
ＲＯＭソケット５１３は、接続ケーブル５４０を内部バス５１４に接続するために使用される。
【００９４】
内部バス５１４は、プロセッサ５１１、ＲＡＭ５１２、ＲＯＭソケット５１３およびインタフェース５１５相互間の、プログラムやデータの伝送に使用される。
【００９５】
インタフェース５１５は、内部バス５１４と接続ケーブル５５０とを繋ぐ入出力回路である。
【００９６】
ＲＯＭエミュレータ５２０は、プロセッサ５１１に実行されるプログラムを格納する。ＲＯＭエミュレータ５２０は、このプログラムを、インタフェース５２１、接続ケーブル５４０、ＲＯＭソケット５１３および内部バス５１４を介して、プロセッサ５１１等に送る。また、ＲＯＭエミュレータ５２０は、内部バス５１４、ＲＯＭソケット５１３、接続ケーブル５４０およびインタフェース５２１を介して、プロセッサ５１１等から、デバッグに係るデータ等を受け取る。この実施の形態では、ＲＯＭエミュレータ５２０とプロセッサ５１１とのデータ送受信に、この発明を適用する。このため、ＲＯＭエミュレータ５２０は、第１の実施の形態に係る外部回路１２０のイネーブル回路１２１、デコーダ１２２およびレジスタ群１２３に相当する回路を備えている。
【００９７】
プログラムデバッガ５３０は、アプリケーションプログラム等のプログラムをデバッグするための開発ツールである。プログラムデバッガ５３０としては、例えばパーソナルコンピュータ等が使用される。ここで、プログラムデバッガ５３０に代えて他の開発ツールを使用する場合にも、この実施の形態に係るシステムを適用することができる。プログラムデバッガ５３０は、インタフェース５３１で、接続ケーブル５５０と接続される。
【００９８】
接続ケーブル５４０は、ＲＯＭソケット５１３とＲＯＭエミュレータ５２０とを接続する。上述したように、ＲＯＭソケット５１３とＲＯＭエミュレータ５２０とのデータ送受信には、この発明が適用される。このため、接続ケーブル５４０には、この発明に係るデータバス、アドレスバスおよび読出制御信号線が含まれる。
【００９９】
接続ケーブル５５０は、上述のように、プログラム開発ボード５１０のインタフェース５１５とプログラムデバッガ５３０のインタフェース５３１とを接続する。プログラムデバッガ５３０は、一般に、データの書き込みと読み出しとを行うことができるように構成されており、したがって、接続ケーブル５５０を介するプログラムデバッガ５３０へのデータ送受信については、この発明を適用する必要がない。但し、この発明を適用することも、可能である。
【０１００】
この実施の形態の具体的な動作、すなわちプログラム開発ボード５１０とＲＯＭエミュレータ５２０との間でデータを送受信する際の具体的な動作は、第１の実施の形態の場合と同様であるので、説明を省略する。
【０１０１】
プログラム開発ボード５１０を用いてプログラムを開発する場合、従来は、ＲＯＭソケット５１３に、ＥＥＰＲＯＭ(Electrically Erasable Programmable Read Only Memory) を、セットしていた。ＥＥＰＲＯＭに書き込まれたプログラムは、プロセッサ５１１の制御によりプログラムデバッガ５３０に送られ、このプログラムデバッガ５３０によって実行される。そして、デバッグによってバグなどの不都合が発見された場合は、発見の度に、開発者がＥＥＰＲＯＭをＲＯＭソケット５１３から取り外して、ＥＥＰＲＯＭ内のプログラムの書き換えを行っていた。このようなＥＥＰＲＯＭの書き換え作業は、プログラム開発の効率を低下させる一因となっていた。
【０１０２】
これに対して、この実施の形態に係るシステムでは、ＲＯＭソケット５１３に、ＲＯＭエミュレータ５２０が接続される。ＲＯＭエミュレータ５２０は、ＥＥＰＲＯＭの場合のような面倒な書き換え作業を伴わずに、プログラムを変更することができる。しかし、通常のプログラム開発ボード５１０は、プロセッサ５１１等からＲＯＭソケット５１３へ書込制御信号を送ることができるように構成されていない。したがって、通常のプログラム開発ボード５１０は、ＲＯＭエミュレータ５２０にデータを書き込むことができない。しかし、デバッグ作業の効率を向上させるためには、プログラム開発ボード５１０からＲＯＭエミュレータ５２０に、デバッグに係るデータを書き込めるようにすることが望ましい。
【０１０３】
この実施の形態では、ＲＯＭソケット５１３とＲＯＭエミュレータ５２０とのデータ送受信に、この発明が適用される。このため、従来のプログラム開発ボード５１０をそのまま使用して、ＲＯＭエミュレータ５２０へのデータの送信および書き込みを行うことができる。これにより、デバッグ作業の自由度が向上し、したがって、デバッグ作業が効率化される。
【０１０４】
【発明の効果】
以上詳細に説明したように、本発明によれば、外部回路へのデータ書き込み手段を備えていない演算処理装置をそのまま使用して、外部メモリ等へのデータの書き込みを、読み取り動作と同一のシーケンスで行うことが出来る。
【図面の簡単な説明】
【図１】第１の実施の形態に係るデータ伝送システムの構成を示すブロック図である。
【図２】第１の実施の形態に係るデータ伝送システムの動作を示すタイミングチャートである。
【図３】第２の実施の形態に係るデータ伝送システムの構成を示すブロック図である。
【図４】第３の実施の形態に係るデータ伝送システムの構成を示すブロック図である。
【図５】第４の実施の形態に係るデータ伝送システムの構成を示すブロック図である。
【符号の説明】
１００  データ伝送システム
１１０  マイクロコントローラ
１１１  プロセッサコア
１１２  ＲＯＭ
１１３  ＲＡＭ
１１４  内部バス
１１５  外部メモリインタフェース
１２０  外部回路
１２１  イネーブル回路
１２２  デコーダ
１２３  レジスタ群
１２４  インタフェース
１３０  データバス
１４０  アドレスバス
１５０  読出制御信号線
【図１】
0003650072.tif 000002
【図２】
0003650072.tif 000003
【図３】
0003650072.tif 000004
【図４】
0003650072.tif 000005
【図５】
0003650072.tif 000006