(57)【特許請求の範囲】
【請求項１】
ＰＲＯＭ内蔵処理装置（１１）にデータを書込むデータ書込み装置（１２）であって、
前記ＰＲＯＭ内蔵処理装置（１１）は、
ｎ（ｎは２以上の自然数）ビットのデータが並列に入出力されるｎ個の第１データ入出力用端子（７４ａ〜７４ｈ）と、データの書込みおよび読出しを制御する制御信号が入力される制御信号用端子（７２，７３）と、データを記憶する領域を指定するアドレス信号が入力されるアドレス信号用端子（７５ａ〜７５ｈ）とを含む第１の端子（７１）を備えるＰＲＯＭ（２１）と、
ＰＲＯＭ（２１）に記憶されているデータに基づいて処理を行う処理手段（２４）と、
外部の装置との間で信号の入出力を行うための第２の端子（５１）であって、データが並列に入出力されるｍ（ｍはｎの約数で１とｎとを除く数）個の第２データ入出力用端子（５４ａ〜５４ｄ）と、
前記ＰＲＯＭ（２１）のｎ個の第１データ入出力用端子（７４ａ〜７４ｈ）をｍ個ずつ分割してなる各端子群（７４ａ〜７４ｄ；７４ｅ〜７４ｈ）を選択するための選択信号（ＭＬ）が入力される選択信号入力用端子（５８）と、
第２データ入出力用端子（５４ａ〜５４ｄ）に与えられる信号を、ＰＲＯＭ（２１）に与えるか、処理手段（２４）による処理のために供給するかを示す切換信号が入力される切換信号入力用端子（５９）とを含む第２の端子（５１）と、
前記切換信号入力用端子（５９）に与えられる切換信号に基づいて、第２データ入出力用端子（５４ａ〜５４ｄ）に与えられる信号を、データを書込むためにＰＲＯＭ（２１）に与えるか、処理手段（２４）による処理のために供給するかを切換える切換手段（２３）と、
前記選択信号入力用端子（５８）に与えられる選択信号に基づいて、第２データ入出力用端子（５４ａ〜５４ｄ）に与えられたデータを、前記端子群（７４ａ〜７４ｄ；７４ｅ〜７４ｈ）のうちいずれかの端子群に選択的に供給する信号選択手段（２２）とを含んで構成され、
前記データ書込み装置（１２）は、
前記ＰＲＯＭ内蔵処理装置（１１）のＰＲＯＭ（２１）に書込むべきｎ（ｎは２以上の自然数）ビットのデータと、アドレスとを対応付けて予め定める組数分記憶し、アドレス信号に対応付けてデータを出力するデータ供給手段（１３）と、
ｍ（ｍはｎの約数で１とｎとを除く数）ビットのデータが並列に入出力されるｎ個の第３データ入出力用端子（６４ａ〜６４ｈ）と、アドレス信号が与えられる第２アドレス信号用端子（６５ａ〜６５ｈ）とを備え、前記ＰＲＯＭ内蔵処理装置（１１）のＰＲＯＭ（２１）に書込むべきｎビットのデータと、アドレスとを対応付けて予め定める組数分記憶している記憶手段（１５）と、
データ供給手段（１３）から出力されたｎビットのデータを、第１データ入出力用端子（７４ａ〜７４ｈ）の予め定めるビット順位に基づいてｍビットずつのビットデータ列に分割して、１つのビットデータ列は前記ＰＲＯＭ内蔵処理装置（１１）に供給し、残余のデータは前記記憶手段（１５）に供給するデータ中継手段（１４）とを備え、
データ供給手段（１３）は、ＰＲＯＭ内蔵処理装置（１１）のＰＲＯＭ（２１）のアドレス信号用端子（７５ａ〜７５ｈ）にアドレス信号を供給してデータを書込む領域を指定し、前記ＰＲＯＭ（２１）に書込むべきｎビットのデータをデータ中継手段（１４）に供給し、
前記データ中継手段（１４）は、データ供給手段（１３）から与えられたｎビットのデータのうちの１つのビットデータ列を、前記ＰＲＯＭ内蔵処理装置（１１）の第２データ入出力用端子（５４ａ〜５４ｄ）を介してＰＲＯＭ（２１）に供給して書込みを行わせ、残余のデータは記憶手段（１５）に供給して書込みを行わせ、
ＰＲＯＭ内蔵処理装置（１１）のＰＲＯＭ（２１）および記憶手段（１５）にデータの書込みが終了した後、前記ＰＲＯＭ（２１）に書込まれたｍビット分のデータと、このデータが記憶されているアドレスに対応する記憶手段（１５）のアドレスに記憶されているｎビット分のデータとを読出し、
データ中継手段（１４）で、ＰＲＯＭ（２１）から読出したｍビットのデータと、前記記憶手段（１５）から読出したｎビットのデータのうち前記ｍビットのデータを除いたｎ−ｍビットのデータとを合成し、ｎビットのデータからなる読出しデータとしてデータ供給手段（１３）に供給し、
データ供給手段（１３）は、前記読出しデータと前記ＰＲＯＭ（２１）に書込むべきデータとを比較し、合致した場合には次のアドレス信号および対応するデータを供給して書込みを行わせ、データを書込もうとする最後のアドレスまで書込みを行わせ、
前記最後のアドレスまで書込みが行われた後に、データ中継手段（１４）はＰＲＯＭ（２１）に供給するビットデータ列を切換えて、データ供給手段（１３）から供給されるｎビットのデータのうち前記書込みを行ったビットデータ列とは異なるビットデータ列を供給してＰＲＯＭ（２１）に書込み、
上述の動作を繰返して、データを書込もうとするすべてのアドレスについてデータを書込むことによって、ＰＲＯＭ（２１）にデータを書込むことを特徴とするデータ書込み装置（１２）。
【請求項２】
前記記憶手段（１５）は、ＰＲＯＭ内蔵処理装置（１１）におけるＰＲＯＭ（２１）と同一の規格のＰＲＯＭであることを特徴とする請求項１記載のデータ書込み装置（１２）。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ユーザプログラムが書込まれるＲＯＭ（読出し専用メモリ）がＣＰＵ（中央演算処理装置）とともに１つの集積回路として形成された１チップのＰＲＯＭ内蔵処理装置に対してデータの書込みを行うデータ書込み装置に関する。
【０００２】
【従来の技術】
プログラムが書込まれたＲＯＭをＣＰＵとともに１つの集積回路として形成した、いわゆる１チップマイクロコンピュータは、幅広い分野で機器の制御などに用いられている。また、ＲＯＭ上に書込むプログラムをユーザが所望するプログラムとするためにＥＰＲＯＭ（プログラムの書込みおよび消去が可能なＲＯＭ）、ＥＥＰＲＯＭ（電気的にプログラムを消去することができるＥＰＲＯＭ）を形成した１チップマイクロコンピュータも広く用いられている。
【０００３】
前述のような書込み可能なＲＯＭが形成された１チップマイクロコンピュータは、ＰＲＯＭにプログラムデータを書込むときと、機器に組込まれて動作するときとでマイクロコンピュータ内部で端子からの信号供給先が切換わるように構成されている。ＰＲＯＭにプログラムを書込むときにデータの入出力用端子として割り当てられる端子は、通常機器に組み込まれて動作するときに外部との信号入出力用に用いられる端子が用いられる。
【０００４】
１チップマイクロコンピュータに内蔵されたＰＲＯＭに対して、プログラムデータを書込む際には、ＰＲＯＭと端子数などが等しく形成されるＥＰＲＯＭに対してプログラムデータの書込みを行うことができる構成のＥＰＲＯＭライタを用いる。後述する図６のフローチャートでＥＰＲＯＭライタの動作の一例を示す。
【０００５】
現在、一般的に用いられるＥＰＲＯＭライタは、データの書込みを行う際に、まずＥＰＲＯＭ上のアドレスの指定を行い、当該アドレスに書込むデータを並列にＥＰＲＯＭに与えている。書込みの終了後、書込まれたデータを読出してＥＰＲＯＭライタに記憶されているデータとの間で比較を行い、ベリファイを行っている。
【０００６】
近年、１チップマイクロコンピュータの小形化が図られており、１チップマイクロコンピュータに求められる機能に応じて少ない端子数、たとえば２０〜３０ピンの１チップマイクロコンピュータが作成されている。しかしながら、前記ＰＲＯＭにプログラムを書込む際には、ＰＲＯＭにデータを供給するための端子とＰＲＯＭ上のアドレスを指定するための端子とが必要となるため、これらのデータ書込み時に必要な端子数を少なくするための技術が提案されている。前述のようなデータ書込み時に必要となる端子数を削減する技術としては、プログラム書込み時に割り当てられるアドレス信号入力用端子を削減する方法と、データ入出力用端子を削減する方法とが用いられる。
【０００７】
アドレス信号入力用端子を削減する方法を示す第１の先行技術は、特開平３−２８８２８３号公報に開示されている。第１の先行技術では、１チップで形成されるマイクロコンピュータのＥＰＲＯＭにデータを書込む際、ＥＰＲＯＭのアドレスを示す信号をマイクロコンピュータに設けられるアドレスオートインクリメント回路によって発生させ、当該回路によって発生されるアドレスに基づいて順次的にプログラムデータを書込んでいる。
【０００８】
また、第２の先行技術は、特開平１−２４３１６４号公報に開示されている。第２の先行技術では、外部から供給するクロック信号に基づいてマイクロコンピュータ内のプログラムカウンタによってアドレス信号を発生し、書込み動作を行っている。さらに、前記クロック信号に基づいてマイクロコンピュータ内部で書込みおよび読出しを制御する信号を作成することによって、当該信号が入力される端子を削減している。
【０００９】
データ入出力用の端子を削減する方法を示す第３の先行技術は、特開平５−２０４７４号公報に開示されている。第３の先行技術では、データをシリアル転送することによってデータ入出力用の端子を削減している。
【００１０】
また、第４の先行技術として、たとえば１０ビットのプログラムデータを加工して上位と下位との５ビットずつに分割し、分割したプログラムデータをそれぞれ異なるアドレスのデータとして格納するような１チップマイクロコンピュータが市販されている。
【００１１】
【発明が解決しようとする課題】
前述した第１および第２の先行技術は、プログラムデータを書込もうとするアドレスを示す信号およびデータ出力のタイミングを規定する信号をマイクロコンピュータ内部で作成しており、アドレスを示す信号などを外部の装置から入力することができないので、前述のようなＥＰＲＯＭライタを用いてプログラムデータを書込むことができない。
【００１２】
また、前述した第３の先行技術では、データの入出力タイミングはマイクロコンピュータに供給されるクロック信号に基づいて制御されるので、データを供給する装置からタイミングを制御することができず、前述のようなＥＰＲＯＭライタを用いて書込み動作を行うことができない。第４の先行技術では、ユーザが作成したプログラムデータを加工しなければならず、データ加工時の操作ミスなどによってデータが変化してしまう可能性があり、ＰＲＯＭに格納されたデータの信頼性が乏しくなる。
【００１３】
前述のような方法でＰＲＯＭにデータを書込むために割り当てられる端子を削減した場合、前述したような一般的なＥＰＲＯＭライタを用いることができず、データ書込みに不便であるので、専用のＥＰＲＯＭライタおよびそのＥＰＲＯＭライタを動作させるソフトウエアが必要となり、それらの開発に必要なコストがマイクロコンピュータの製造コストに付加されることとなり、製造コストが上昇することも考えられる。
【００１４】
本発明の目的は、専用のＥＰＲＯＭライタなどのデータ書込み装置を用いることなくプログラムデータを書込むことができ、比較的端子数が少ないＰＲＯＭ内蔵処理装置にデータの書込みを行うデータ書込み装置を提供することである。
【００１５】
【課題を解決するための手段】
本発明は、ＰＲＯＭ内蔵処理装置にデータを書込むデータ書込み装置であって、
前記ＰＲＯＭ内蔵処理装置は、
ｎ（ｎは２以上の自然数）ビットのデータが並列に入出力されるｎ個の第１データ入出力用端子と、データの書込みおよび読出しを制御する制御信号が入力される制御信号用端子と、データを記憶する領域を指定するアドレス信号が入力されるアドレス信号用端子とを含む第１の端子を備えるＰＲＯＭと、
ＰＲＯＭに記憶されているデータに基づいて処理を行う処理手段と、
外部の装置との間で信号の入出力を行うための第２の端子であって、
データが並列に入出力されるｍ（ｍはｎの約数で１とｎとを除く数）個の第２データ入出力用端子と、
前記ＰＲＯＭのｎ個の第１データ入出力用端子をｍ個ずつ分割してなる各端子群を選択するための選択信号が入力される選択信号入力用端子と、
第２データ入出力用端子に与えられる信号を、ＰＲＯＭに与えるか、処理手段による処理のために供給するかを示す切換信号が入力される切換信号入力用端子とを含む第２の端子と、
前記切換信号入力用端子に与えられる切換信号に基づいて、第２データ入出力用端子に与えられる信号を、データを書込むためにＰＲＯＭに与えるか、処理手段による処理のために供給するかを切換える切換手段と、
前記選択信号入力用端子に与えられる選択信号に基づいて、第２データ入出力用端子に与えられたデータを、前記端子群のうちいずれかの端子群に選択的に供給する信号選択手段とを含んで構成され、
前記データ書込み装置は、
前記ＰＲＯＭ内蔵処理装置のＰＲＯＭに書込むべきｎ（ｎは２以上の自然数）ビットのデータと、アドレスとを対応付けて予め定める組数分記憶し、アドレス信号に対応付けてデータを出力するデータ供給手段と、
ｍ（ｍはｎの約数で１とｎとを除く数）ビットのデータが並列に入出力されるｎ個の第３データ入出力用端子と、アドレス信号が与えられる第２アドレス信号用端子とを備え、前記ＰＲＯＭ内蔵処理装置のＰＲＯＭに書込むべきｎビットのデータと、アドレスとを対応付けて予め定める組数分記憶している記憶手段と、データ供給手段から出力されたｎビットのデータを、第１データ入出力用端子の予め定めるビット順位に基づいてｍビットずつのビットデータ列に分割して、１つのビットデータ列は前記ＰＲＯＭ内蔵処理装置に供給し、残余のデータは前記記憶手段に供給するデータ中継手段とを備え、
データ供給手段は、ＰＲＯＭ内蔵処理装置のＰＲＯＭのアドレス信号用端子にアドレス信号を供給してデータを書込む領域を指定し、前記ＰＲＯＭに書込むべきｎビットのデータをデータ中継手段に供給し、
前記データ中継手段は、データ供給手段から与えられたｎビットのデータのうちの１つのビットデータ列を、前記ＰＲＯＭ内蔵処理装置の第２データ入出力用端子を介してＰＲＯＭに供給して書込みを行わせ、残余のデータは記憶手段に供給して書込みを行わせ、
ＰＲＯＭ内蔵処理装置のＰＲＯＭおよび記憶手段にデータの書込みが終了した後、前記ＰＲＯＭに書込まれたｍビット分のデータと、このデータが記憶されているアドレスに対応する記憶手段のアドレスに記憶されているｎビット分のデータとを読出し、
データ中継手段で、ＰＲＯＭから読出したｍビットのデータと、前記記憶手段から読出したｎビットのデータのうち前記ｍビットのデータを除いたｎ−ｍビットのデータとを合成し、ｎビットのデータからなる読出しデータとしてデータ供給手段に供給し、
データ供給手段は、前記読出しデータと前記ＰＲＯＭに書込むべきデータとを比較し、合致した場合には次のアドレス信号および対応するデータを供給して書込みを行わせ、データを書込もうとする最後のアドレスまで書込みを行わせ、
前記最後のアドレスまで書込みが行われた後に、データ中継手段はＰＲＯＭに供給するビットデータ列を切換えて、データ供給手段から供給されるｎビットのデータのうち前記書込みを行ったビットデータ列とは異なるビットデータ列を供給してＰＲＯＭに書込み、
上述の動作を繰返して、データを書込もうとするすべてのアドレスについてデータを書込むことによって、ＰＲＯＭにデータを書込むことを特徴とするデータ書込み装置である。
また本発明の前記記憶手段は、ＰＲＯＭ内蔵処理装置におけるＰＲＯＭと同一の規格のＰＲＯＭであることを特徴とする。
【００１６】
本発明に従えば、ＰＲＯＭ内蔵処理装置のＰＲＯＭに書込みを行う際には、制御信号を供給して、ＰＲＯＭおよび記憶手段にデータを書込むことができる状態にする。ＰＲＯＭおよび記憶手段にデータ供給手段からアドレス信号を供給して書込みを行うアドレスを指定する。たとえば、データ供給手段から供給される切換信号で切換手段を切換えて、データを第２データ入出力用端子に供給する。ＰＲＯＭのｎ個のデータ入力用端子に対して、ｍビットからなるビットデータ列毎にデータを供給し、各アドレスにおいてｍビットずつデータを書込む。前記ビットデータ列が前記選択信号によって、ｎビットのデータの最上位ビットから順にｍビット分選択されている場合には、当該ビットデータ列が供給されるべきＰＲＯＭの最上位ビットからｍビット目までにデータが供給されるように信号選択手段を切換える。前記ビットデータ列として選択されるデータは、たとえば最上位ビットから奇数ビット毎にｍ個選択してもよく、また偶数ビット毎でもよい。１アドレスにおける前記選択されたビットデータ列を除く残余のデータは、記憶手段に供給され書込みが行われる。
データの書込みが終了すると、前記制御信号を切換えてＰＲＯＭおよび記憶手段からデータを読出し、ＰＲＯＭに書込まれたｍビットのデータと記憶手段から読出したデータのｎ−ｍビットのデータとを合成してｎビットの読出しデータを形成し、データ供給手段に記憶されているデータと読出しデータとを比較する。データが正確に書込まれているかを確認した後、次のアドレスにデータの書込みを行う。予め定める書込みを行う最後のアドレスまでデータの書込みを行った後、信号選択手段によって第２データ入出力用端子と第１データ入出力用端子との接続状態を切換える。このようなデータ書込み動作をＰＲＯＭのデータ書込みを行うアドレスの全てのビットに対して行う。
したがって、ＰＲＯＭに対してデータを書込む際に、第２データ入出力用端子の数をＰＲＯＭに設けられる第１データ入出力用端子の数であるｎ個よりも少ないｍ個とすることができるので、ＰＲＯＭ内蔵処理装置に設けられる端子数が少なく、ＰＲＯＭのビット数よりも少ない端子しかデータ入出力用に割当てられない場合であってもＰＲＯＭにデータの書込みを行うことができる。
また本発明に従えば、記憶手段はＰＲＯＭ内蔵処理装置に内蔵されるＰＲＯＭと同一の規格であるので、ユーザが所望するプログラムデータを記憶手段に書込んで保持しておくことができる。
【００１７】
【発明の実施の形態】
図１は、本発明の実施の一形態であるＰＲＯＭ内蔵処理装置１１と書込み装置１２との構成を示す図である。書込み装置１２は、ＥＰＲＯＭライタ１３と、ソケットアダプタ１４と、ダミーＰＲＯＭ１５とを含んで構成される。
【００１８】
ＰＲＯＭ内蔵処理装置１１は、ＰＲＯＭ２１と、信号選択回路２２と、信号切換回路２３と、処理回路２４とを含んで構成される。また、ＰＲＯＭ内蔵処理装置１１には、複数の信号入出力用の端子５１が設けられている。第２の端子である端子５１は、端子５１に含まれる予め定められる端子５９に入力される切換信号によってＰＲＯＭ２１にデータを書込むときと、ＰＲＯＭ内蔵処理装置１１が機器に組込まれて動作するときとで機能が切換えられる。端子５１は、チップイネーブル信号入力用端子５２と、出力イネーブル信号入力用端子５３と、データ入出力用端子５４ａ〜５４ｄと、アドレス信号入力用端子５５ａ〜５５ｈと、プログラム電圧入力用端子５６と、デバイス電圧入力用端子５７と、選択信号入力用端子５８と、切換信号入力用端子５９とを含んで構成される。本実施の形態の説明においては、ＰＲＯＭ内蔵処理装置１１はＰＲＯＭ２１にプログラムデータを書込むモードに設定されているとする。なお、前記切換信号は、たとえばソケットアダプタ１４から供給されるか、もしくは他の装置から供給されてもよい。
【００１９】
チップイネーブル信号ＣＥ＊（＊は反転を意味する）は、ＰＲＯＭ２１にデータを書込むタイミングを規定する信号であり、チップイネーブル信号入力用端子５２を介してＰＲＯＭ内蔵処理装置１１に入力される。出力イネーブル信号ＯＥ＊は、ＰＲＯＭ２１からデータを読出すタイミングを規定する信号であり、出力イネーブル信号入力用端子５３を介してＰＲＯＭ内蔵処理装置１１に入力される。
【００２０】
アドレス信号ＡＤは、ＰＲＯＭ２１にデータを書込む際のアドレスを指定する信号であり、ＰＲＯＭ２１の記憶領域毎に割り当てられるアドレスを指定するのに必要なビット数分の信号で構成される。本実施の形態では、たとえばアドレス信号ＡＤは８ビットの信号であり、アドレス信号入力用端子５５ａ〜５５ｈを介してＰＲＯＭ内蔵処理装置１１に入力される。選択信号入力用端子５８を介して、ＰＲＯＭ内蔵処理装置１１に入力される選択信号ＭＬについては後述する。
【００２１】
また、プログラム電圧Ｖｐｐは、ＰＲＯＭ２１にプログラムデータを書込む際に印加される電圧であり、デバイス電圧Ｖｃｃは、ＰＲＯＭ内蔵処理装置１１などを動作させるために供給される電圧である。プログラム電圧Ｖｐｐは、プログラム電圧入力用端子５６を介して与えられ、デバイス電圧Ｖｃｃはデバイス電圧入力用端子５７を介して与えられる。
【００２２】
データ供給手段であるＥＰＲＯＭライタ１３は、制御回路３１とメモリ３２と比較回路３３とを含んで構成される。ＥＰＲＯＭライタ１３からは、前記各信号とデータ信号Ｄ１〜Ｄ８とが出力される。メモリ３２は、図示しないデータ入出力用の端子を介して供給されるプログラムデータを記憶している。前記プログラムデータは、外部のたとえばパーソナルコンピュータなどから供給されるか、または予めプログラムデータが記憶されているダミーＰＲＯＭ１５から読出してもよい。比較回路３３は、たとえばＰＲＯＭ内蔵処理装置１１のＰＲＯＭ２１に書込まれたプログラムデータとメモリ３２に記憶されているプログラムデータとの比較を行う。
【００２３】
ＥＰＲＯＭライタ１３は、たとえばダミーＰＲＯＭ１５とアドレスおよびデータのビット数が同一であるＥＰＲＯＭに対して書込みを行うように動作する。この動作は、ＥＰＲＯＭの仕様などによって定められる複数種類のフォーマットプログラムのうちの１つに基づいて制御回路３１によって制御される。
【００２４】
ダミーＰＲＯＭ１５には、プログラムデータなどの信号が供給される複数の端子６１が設けられている。端子６１は、チップイネーブル信号入力用端子６２と、出力イネーブル信号入力用端子６３と、データ入出力用端子６４ａ〜６４ｈと、アドレス信号入力用端子６５ａ〜６５ｈと、プログラム電圧入力用端子６６と、デバイス電圧入力用端子６７とを含んで構成される。
【００２５】
アドレスを示すアドレス信号ＡＤは、アドレス信号入力用端子６５ａ〜６５ｈを介してダミーＰＲＯＭ１５に与えられる。また、並列に入出力されるプログラムデータＤＤ１〜ＤＤ８は、データ入出力用端子６４ａ〜６４ｈを介してダミーＰＲＯＭ１５に与えられる。ダミーＰＲＯＭ１５には、予め各アドレスに対応付けてプログラムデータが記憶されている。
【００２６】
ＰＲＯＭ内蔵処理装置１１のＰＲＯＭ２１にプログラムデータを書込む際には、ダミーＰＲＯＭ１５にもプログラムデータが供給され書込みが行われることとなる。予めダミーＰＲＯＭ１５に記憶されているデータとソケットアダプタ１４から与えられるデータとが一致している場合には、ソケットアダプタ１４から供給されたデータを書込むことができる。ダミーＰＲＯＭ１５は、プログラムデータの書込み時にＰＲＯＭ内蔵処理装置１１に供給されなかったデータの供給先であり、かつＰＲＯＭ２１に書込まれたデータをベリファイする際の不足分のデータの供給源となる。
【００２７】
図２は、ＰＲＯＭ内蔵処理装置１１の内部の構成を示す図である。ＰＲＯＭ２１には、プログラムデータなどの信号が供給される複数の端子７１が設けられている。第１の端子である端子７１は、チップイネーブル信号入力用端子７２と、出力イネーブル信号入力用端子７３と、データ入出力用端子７４ａ〜７４ｈと、アドレス信号入力用端子７５ａ〜７５ｈと、プログラム電圧入力用端子７６と、デバイス電圧入力用端子７７とを含んで構成される。ＰＲＯＭ２１に設けられる端子７１を介して与えられる信号は、前述のダミーＰＲＯＭ１５と同一である。
【００２８】
ＰＲＯＭ２１にプログラムデータを書込む際には、ＰＲＯＭ内蔵処理装置１１のデータ入出力用端子５４ａ〜５４ｄに与えられたデータ信号ＰＤ１〜ＰＤ４は、信号選択回路２２と信号切換回路２３とを介して、データ信号ＰＰＤ１〜ＰＰＤ４もしくはＰＰＤ５〜ＰＰＤ８として、データ入出力用端子７４ａ〜７４ｄ；７４ｅ〜７４ｈを介してＰＲＯＭ２１に与えられる。
【００２９】
信号切換回路２３は、切換スイッチＳＷ１〜ＳＷ４（総称するときには参照符ＳＷを用いる）を含んで構成されており、データ信号ＰＤ１〜ＰＤ４がそれぞれ切換スイッチＳＷの入力用端子に与えられる。切換スイッチＳＷの一方の出力端子からの出力は信号選択回路２２に供給され、他方の出力端子からの出力であるデータ信号Ｄ１Ａ〜Ｄ４ＡはＰＲＯＭ内蔵処理装置１１の処理回路２４などに供給される。切換スイッチＳＷは、前記切換信号入力用端子５９を介して供給される切換信号によって、入力用端子に供給される信号ＰＤ１〜ＰＤ４をいずれか一方の出力端子へと出力する。前記切換信号によって、ＰＲＯＭ内蔵処理装置１１は、ＰＲＯＭ２１にデータを書込む状態と、他の装置に組込まれて動作を行う状態とが切換えられる。
【００３０】
信号選択回路２２は、スイッチＳ１〜Ｓ８と、インバータＮＧ１とを含んで構成される。信号選択回路２２には、ＰＲＯＭ内蔵処理装置１１の選択信号入力用端子５８を介して選択信号ＭＬが供給される。
【００３１】
信号選択回路２２に設けられるスイッチＳ１〜Ｓ８は、双方向に信号の入出力が可能であり、スイッチＳ１〜Ｓ４は選択信号ＭＬをインバータＮＧ１で反転させた信号によって開閉が制御され、スイッチＳ５〜Ｓ８は選択信号ＭＬによって開閉が制御される。選択信号ＭＬのレベルに応じてスイッチＳ１〜Ｓ４とスイッチＳ５〜Ｓ８とがそれぞれ組となって切換わり、データ信号ＰＤ１〜ＰＤ４が端子７４ａ〜７４ｄおよび端子７４ｅ〜７４ｈのいずれかに供給される。
【００３２】
データ信号ＰＤ１は、スイッチＳ１，Ｓ５に供給されており、選択信号ＭＬによってスイッチＳ１が選択されている場合にはデータ信号ＰＰＤ１としてデータ入出力用端子７４ａに与えられ、スイッチＳ５が選択されている場合にはデータ信号ＰＰＤ５としてデータ入出力用端子７４ｅに与えられる。データ信号ＰＤ２は、選択信号ＭＬによってスイッチＳ２が選択されている場合にはデータ信号ＰＰＤ２としてデータ入出力用端子７４ｂに与えられ、スイッチＳ６が選択されている場合にはデータ信号ＰＰＤ６としてデータ入出力用端子７４ｆに与えられる。
【００３３】
データ信号ＰＤ３は、選択信号ＭＬによってスイッチＳ３が選択されている場合にはデータ信号ＰＰＤ３としてデータ入出力用端子７４ｃに与えられ、スイッチＳ７が選択されている場合にはデータ信号ＰＰＤ７としてデータ入出力用端子７４ｇに与えられる。データ信号ＰＤ４は、選択信号ＭＬによってスイッチＳ４が選択されている場合にはデータ信号ＰＰＤ４としてデータ入出力用端子７４ｄに与えられ、スイッチＳ８が選択されている場合にはデータ信号ＰＰＤ８としてデータ入出力用端子７４ｈに与えられる。
【００３４】
図３は、ソケットアダプタ１４の内部の構成を示す回路図である。特に図３では、データの入出力に関係する部分について示す。データ中継手段であるソケットアダプタ１４には、双方向に信号の入出力が可能なスイッチＳＡ１〜ＳＡ１６が設けられており、ＥＰＲＯＭライタ１３から出力されたデータ信号Ｄ１〜Ｄ８はそれぞれスイッチＳＡ１，ＳＡ９；ＳＡ２，ＳＡ１０；…；ＳＡ８，ＳＡ１６に供給される。
【００３５】
切換スイッチＳＫ１は、一方入力用端子にデバイス電圧Ｖｃｃが供給され、他方入力用端子は接地されている。切換スイッチＳＫ１は、たとえばＰＲＯＭ内蔵処理装置１１のＰＲＯＭ２１にプログラムデータの書込みを行わせようとする操作者によって切換られる。切換スイッチＳＫ１の出力は、選択信号ＭＬとしてスイッチＳＡおよびＰＲＯＭ内蔵処理装置１１などに供給される。スイッチＳＡ１〜ＳＡ８は選択信号ＭＬの信号レベルによって導通／遮断が制御され、スイッチＳＡ９〜ＳＡ１６は、選択信号ＭＬをインバータＮＧ２によって反転させた信号ＭＬ＊のレベルによって導通／遮断が制御される。スイッチＳＡ１〜ＳＡ４，ＳＡ１３〜ＳＡ１６の出力は、信号ＤＤ１〜ＤＤ８としてダミーＰＲＯＭ１５に供給される。
【００３６】
ソケットアダプタ１４には、それぞれ電圧Ｖｃｃに接続されるプルアップ素子Ａ１〜Ａ８が設けられており、ダミーＰＲＯＭ１５のデータ入出力用端子がデータ出力状態でないときに、これらの端子の電位を安定させている。プルアップ素子の各抵抗値は、ダミーＰＲＯＭ１５のデータ入出力用端子の電流供給能力に対して影響を与えない程度の大きさに定められる。
【００３７】
ソケットアダプタ１４のスイッチＳＡ１〜ＳＡ１６は、プログラムデータの書込みが行われた状態のまま保持されるので、データのベリファイのために読出されたＰＲＯＭ２１の４ビットのデータとダミーＰＲＯＭ１５の８ビットのデータとがソケットアダプタ１４に入力された際に、ＰＲＯＭ２１から読出された４ビットのデータと、ダミーＰＲＯＭ１５からの８ビットのデータのうち前記ＰＲＯＭ２１からの４ビットのデータを除く４ビットのデータとが合成されてＥＰＲＯＭライタ１３に与えられることとなる。
【００３８】
図４は、書込み装置１２における処理の流れを示すフローチャートである。ステップｐ１では、切換スイッチＳＫ１を切換えて選択信号ＭＬをハイレベルにする。スイッチＳＡ１〜ＳＡ８には電圧Ｖｃｃが印加され、スイッチＳＡ９〜ＳＡ１６には、グランド電圧が印加される。すなわち、ＳＡ１〜ＳＡ８は導通され、スイッチＳＡ９〜ＳＡ１６は遮断される。ステップｐ２では、ＥＰＲＯＭライタ１３から供給されるデータ信号Ｄ１〜Ｄ８をＰＲＯＭ内蔵処理装置１１のＰＲＯＭ２１およびダミーＰＲＯＭ１５へと供給することによって書込みを行う。書込みを行う際、たとえば１アドレスにおけるプログラムデータが８ビットで構成され、上位と下位とで４ビットずつに分割されてプログラムデータの書込みが行われるとすると、ステップｐ３では上位の４ビットがＰＲＯＭ２１にプログラムデータとして与えられ、書込みが行われる。また、ステップｐ３と同時に行われるステップｐ４では、下位の４ビットがダミーＰＲＯＭ１５にプログラムデータとして与えられ、書込みが行われる。ダミーＰＲＯＭ１５には、予めプログラムデータが記憶されているが、当該データと与えられるプログラムデータとが一致する場合には前記書込み動作を行うことができる。
【００３９】
ステップｐ３およびステップｐ４において、それぞれのデータの書込みが行われた後、ステップｐ５では、ＰＲＯＭ２１およびダミーＰＲＯＭ１５に書込まれたデータを読出し、ＥＰＲＯＭライタ１３のメモリ３２に記憶されているプログラムデータとの比較を行う。ＰＲＯＭ２１からは書込まれた４ビットのデータが読出され、ダミーＰＲＯＭ１５からは予め記憶されている８ビットのデータが読み出される。ＰＲＯＭ２１から読み出された上位の４ビットと、ダミーＰＲＯＭ１５から読出された８ビットのデータのうち下位の４ビットデータとがソケットアダプタ１４で合成されてＥＰＲＯＭライタ１３に入力される。前記合成されたデータとＥＰＲＯＭライタ１３に記憶されているプログラムデータとが合致したときにはステップｐ６に進む。
【００４０】
ステップｐ６では、データ信号Ｄ１〜Ｄ８の供給先を変更するために切換スイッチＳＫ１を切換えて、スイッチＳＡ１〜ＳＡ８にはグランド電圧を印加し、スイッチＳＡ９〜ＳＡ１６には電圧Ｖｃｃを印加する。
【００４１】
ステップｐ７では、ステップｐ２の処理と同様にＥＰＲＯＭライタ１３から供給されるデータ信号Ｄ１〜Ｄ８をＰＲＯＭ２１およびダミーＰＲＯＭ１５に供給する。ＥＰＲＯＭライタ１３から供給されるプログラムデータであるデータ信号Ｄ１〜Ｄ８をソケットアダプタ１４で上位４ビットと下位４ビットとに分割し、ＰＲＯＭ２１とダミーＰＲＯＭ１５とにそれぞれ４ビットずつ供給する。ステップｐ８では、プログラムデータの上位４ビットをダミーＰＲＯＭ１５に供給して書込みを行う。また、ステップｐ８と同時に行われるステップｐ９では、プログラムデータの下位４ビットをＰＲＯＭ２１に供給して書込みを行う。
【００４２】
ステップｐ８およびｐ９において、データが書込まれた後は、前述のステップｐ５の処理と同様にデータの比較を行う。ＰＲＯＭ２１およびダミーＰＲＯＭ１５に書込まれたデータとＥＰＲＯＭライタ１３のプログラムデータとが一致した場合には、ＰＲＯＭ内蔵処理装置１１のＰＲＯＭ２１への書込みが完了したとして処理を終了する。ステップｐ５およびステップｐ１０において、書込まれたデータとＥＰＲＯＭライタ１３のプログラムデータとが合致しなかった場合には、書込みエラーとして処理を終了する。本フローチャートにおいては、複数のアドレスについて書込みを行う場合については説明しなかったが、複数のアドレスについて書込みを行う場合には、たとえばいずれか一方の４ビットのプログラムデータをすべてのアドレスについて書込み、書込みおよびベリファイが終了してからいずれか他方の４ビットのプログラムデータの書込みを行う。
【００４３】
図５は、書込み装置１２における各信号のタイミングチャートである。図５（３）に示すプログラム電圧Ｖｐｐは、時刻ｔ０において電圧ＶＰとなり、図５（４）に示すデバイス電圧Ｖｃｃは、時刻ｔ０において予め定める電圧、たとえば６．２５Ｖになる。図５（１）に示すアドレス信号ＡＤは、時刻ｔ０から時刻ｔ１０までの期間Ｔ１で１つのアドレス値をとる。
【００４４】
また、図５（２）に示すデータ信号Ｄは、前記データ信号Ｄ１〜Ｄ８を代表した信号であり、時刻ｔ０からｔ５までの期間Ｔ２で、ＥＰＲＯＭライタ１３においてアドレス信号ＡＤによって示されるアドレスに記憶されているデータを示す。データ信号Ｄは、たとえば８ビットが並列に出力される。データ信号Ｄの電圧レベルは、データ入力時にはハイレベルが電圧ＶＩＨ、ローレベルがＶＩＬとなり、データ出力時にはハイレベルが電圧ＶＯＨ、ローレベルが電圧ＶＯＬとなる。また、データ入力時でも出力時でもない場合は、高インピーダンス状態となる。図５（５）に示すチップイネーブル信号ＣＥ＊は、ハイレベルを示す電圧ＶＩＨから立下り始める時刻ｔ１から再び電圧ＶＩＨとなる時刻ｔ４までの期間Ｔ３が書込みサイクル期間となる。また、チップイネーブル信号ＣＥ＊が電圧ＶＩＬとなる時刻ｔ２から時刻ｔ３までの期間Ｔ４でＰＲＯＭ２１およびダミーＰＲＯＭ１５にデータが書込まれる。
【００４５】
図５（６）に示す出力イネーブル信号ＯＥ＊が立下り始める時刻ｔ６から再び電圧ＶＩＨとなる時刻ｔ９までの期間Ｔ５がベリファイサイクル時間となる。出力イネーブル信号ＯＥ＊が電圧ＶＩＬとなった時刻ｔ７から時刻ｔ８までの間で、前記書込みサイクル期間Ｔ３において書込まれたプログラムデータをＰＲＯＭ２１およびダミーＰＲＯＭ１５から読出す。期間Ｔ５における時刻ｔ８以降の期間で読出されたデータとＥＰＲＯＭライタ１３に記憶されているプログラムデータとの比較が行われる。
【００４６】
図６は、ＥＰＲＯＭライタ１３の動作の一例を説明するためのフローチャートである。ステップｓ１では、ＰＲＯＭ２１およびダミーＰＲＯＭ１５における書込みを開始するアドレスを設定する。ステップｓ２においては、書込みを行うための電圧として、たとえばデバイス電圧Ｖｃｃを６．０Ｖ、プログラム電圧Ｖｐｐを１２．５Ｖに設定する。
【００４７】
ステップｓ３では、書込みエラーが発生した場合の繰り返し回数を示すＸを０とする。ステップｓ４では、書込みを行うためのパルスとして、たとえば１ｍｓの間ハイレベルとなるパルスを出力し、プログラムデータの書込みを行う。ステップｓ５では、Ｘの値を１増加させる。ステップｓ６では、Ｘの値が２５になったかどうかを判断する。Ｘが２５未満であるときには、ステップｓ７に進む。ステップｓ７では、書込みを行った１バイト分のデータのベリファイを行う。ベリファイの結果、データが一致していればステップｓ８に進む。また、データが一致していなかった場合には、ステップｓ４に戻る。
【００４８】
ステップｓ８では、３・Ｘｍｓの間ハイレベルとなるパルスを出力して追加の書込みを行う。ステップｓ９では、予め設定したアドレスまで書込みが終了したかどうかを判断する。予め定めるアドレスまで書込みが終了した場合にはステップｓ１０に進む。ステップｓ１０では、電圧Ｖｃｃ，Ｖｐｐをともに６Ｖに定めている。ステップｓ１１では、書込みを行った全てのデータについてＥＰＲＯＭライタ１３に記憶されているプログラムデータと一致しているかどうかを判断する。一致している場合には、書込み処理が終了したとして処理を終了する。
【００４９】
ステップｓ６においてＸが２５になったと判断したときには、ステップｓ１２に進む。ステップｓ１２では、書込まれたプログラムデータのベリファイを行う。ベリファイの結果、元のデータと一致したときにはステップｓ８へと進む。また、一致しなかったときにはＰＲＯＭ２１の故障などの要因によって書込みができない状態であるとして処理を終了する。ステップｓ９において、最後のアドレスまで書込みが終了していないと判断したときにはステップｓ１３に進む。ステップｓ１３では、データの書込みおよびベリファイを行ったアドレスの値を１増加させる。アドレスを１増加させた後はステップｓ２以降の処理を行う。また、ステップｓ１１においてベリファイを行った結果、データが一致していないと判断されたときには、書込みに失敗したとして処理を終了する。
【００５０】
以上のように本発明の実施の形態によれば、たとえば８ビット分のデータ入出力用の端子７４ａ〜７４ｈを備えるＰＲＯＭ２１を含んで構成されるＰＲＯＭ内蔵処理装置１１において、ＰＲＯＭ２１にデータを書込むときに、ＰＲＯＭ２１のデータ入出力用に割り当てられるＰＲＯＭ内蔵処理装置１１の端子数を４個とする。ＥＰＲＯＭライタ１３に記憶されている８ビットのプログラムデータを上位４ビットと下位４ビットとに分割してＰＲＯＭ内蔵処理装置１１の端子５４ａ〜５４ｄに上位４ビットを供給する際には、下位４ビットをダミーＰＲＯＭ１５に供給して書込みを行い、書込みの終了後は、ＰＲＯＭ２１からのデータとダミーＰＲＯＭ１５からのデータとを合成したデータを１アドレス分のデータとしてＥＰＲＯＭライタ１３に与えて、ＥＰＲＯＭライタ１３に記憶されているプログラムデータと比較を行うので、形成される端子数が少なくなり、データ書込み時に割当てられるデータ入出力用端子の数がデータを書込もうとするＰＲＯＭのビット数よりも少ない場合であってもデータを複数回に分けて書込むことができる。また、書込み動作を複数回行うことによってＥＰＲＯＭライタ１３のメモリ３２に記憶されているときのアドレスと同一のアドレスにプログラムデータを書込むことができる。
【００５１】
また、ＥＰＲＯＭライタ１３を動作させるプログラムは、前述のような従来用いられる８ビットを並列に書込む制御を行うプログラムをそのまま用いることができ、端子数を削減したＰＲＯＭ内蔵処理装置１１専用のＰＲＯＭライタを用意する必要がないため、ＰＲＯＭ内蔵処理装置１１の開発コストの上昇を抑えることができる。
【００５２】
なお、本発明の実施のこの形態によれば、プログラムデータのビット数を８ビットとし、ＰＲＯＭ２１にプログラムデータを書込むときに割り当てられるＰＲＯＭ内蔵処理装置１１の端子数を４端子として上位、下位の４ビットずつプログラムデータを書込んだが、ＰＲＯＭ２１のデータ入出力用の端子数よりもＰＲＯＭ内蔵処理装置１１において割り当てられる端子の方が少なくなる場合に本発明は有効である。
【００５３】
また、本発明の実施のこの形態においては、ＰＲＯＭ内蔵処理装置１１に内蔵する記憶装置としてＰＲＯＭを用いて説明を行ったが、ＥＰＲＯＭおよびＥＥＰＲＯＭであってもよく、またダミーＰＲＯＭ１５は前記内蔵される記憶装置と同一のビット数で同一のアドレス構成であり、予めプログラムデータを記憶し、出力することができる構成であればよい。
【００５４】
本発明の実施のこの形態におけるＰＲＯＭ内蔵処理装置１１は、外部との接続用に設けられる端子が、たとえば１５ピンに形成される１チップマイクロコンピュータである。１チップマイクロコンピュータに形成される端子が、たとえば１５ピンである場合、電源供給用の端子およびクロック信号用の端子はＰＲＯＭにプログラムデータを書込む際のデータ入出力用およびアドレス信号用の端子とすることができないので、データおよびアドレス用の端子として割当てられる端子の数は限定されることとなる。１チップマイクロコンピュータは、機器に組込まれて使用されるが、このときの機器の制御はＰＲＯＭ２１に書込まれているプログラムデータに基づいて行われている。機器の機能などを拡張しようとする際、ＰＲＯＭ２１の構成を、たとえば４ビットから８ビットへと変更することによってより高度なプログラム処理を行わせることなどが考えられるが、このような構成の変更を行うと機器の構成全体を変更する必要がある。しかしながら、本発明のＰＲＯＭ内蔵処理装置１１では、１つの選択信号を加えるだけで他の端子に供給する信号を変更する事なく、ＰＲＯＭ２１の構成を高ビット化することができ、ＰＲＯＭ内蔵処理装置１１が組込まれる機器の機能の向上を機器の構成を変更することなく行うことができる。
【００５５】
【発明の効果】
以上のように本発明によれば、ｎ個の第１データ入出力用端子を備えるＰＲＯＭに対してデータを書込む際に、ＰＲＯＭ内蔵処理装置に設けられる第２データ入出力用端子が、前記ｎ個より少ないｍ個であっても、データ供給手段から供給されるｎビットのデータをデータ中継手段によってｍビットとｎ−ｍビットとに分割してｍビットをＰＲＯＭに供給し、ｎ−ｍビットを記憶手段に供給して書込みを行うので、ＰＲＯＭ内蔵処理装置１１に設けられる第２データ入出力用端子の数を削減して、ＰＲＯＭにデータを書込む時に必要となる第２データ入出力用端子がＰＲＯＭの第１データ入出力用端子よりも少なくなった場合であっても、ｎビットのデータを並列に出力するデータ供給手段を用いてデータの書込みを行うことができ、当該装置専用のデータ供給手段を開発する手間を省くことができる。
【図面の簡単な説明】
【図１】ＰＲＯＭ内蔵処理装置１１と書込み装置１２との構成を示す図である。
【図２】ＰＲＯＭ内蔵処理装置１１の内部の構成を示す図である。
【図３】ソケットアダプタ１４の内部の構成を示す回路図である。
【図４】書込み装置１２における処理の流れを示すフローチャートである。
【図５】書込み装置１２における各信号のタイミングチャートである。
【図６】ＥＰＲＯＭライタ１３の動作の一例を説明するためのフローチャートである。
【符号の説明】
１１  ＰＲＯＭ内蔵処理装置
１２  書込み装置
１３  ＥＰＲＯＭライタ
１４  ソケットアダプタ
１５  ダミーＰＲＯＭ
２１  ＰＲＯＭ
２２  信号選択回路
２３  信号切換回路
２４  処理回路
３１  制御回路
３２  メモリ
３３  比較回路
５２，６２，７２  チップイネーブル信号入力用端子
５３，６３，７３  出力イネーブル信号入力用端子
５４ａ〜５４ｄ，６４ａ〜６４ｈ  データ入出力用端子
５５ａ〜５５ｈ，６５ａ〜６５ｈ  アドレス信号入力用端子
５６，６６，７６  プログラム電圧入力用端子
５７，６７，７７  デバイス電圧入力用端子
５８  選択信号入力用端子
５９  切換信号入力用端子
【図１】
0003541100.tif 000002
【図２】
0003541100.tif 000003
【図３】
0003541100.tif 000004
【図４】
0003541100.tif 000005
【図５】
0003541100.tif 000006
【図６】
0003541100.tif 000007