(57)【特許請求の範囲】
【請求項１】
外部の第２の情報処理装置が含む第２の通信手段との間で調歩同期式によりデータを通信する第１の通信手段を含む情報処理装置であって、
前記第１の通信手段は、
第１のクロックを分周し、調歩同期式で通信されるデータの各ビットをサンプリングするための第１のサンプリングクロックを生成する第１の分周回路と、
前記第１のサンプリングクロックに基づいてデータの送信及び受信の少なくとも一方を行う回路とを含み、
前記第１の通信手段は、
前記第２の通信手段が含む第２の分周回路が第２のサンプリングクロックを生成するための信号として、前記第１のクロックを、前記第２の情報処理装置に供給し、
前記第１の通信手段は、
前記第１の分周回路での分周比を制御する第１の分周比制御手段を含み、
前記第１の分周比制御手段は、
前記第２の通信手段が含む第２の分周比制御手段が前記第１のクロックの周波数に応じて分周比を変化させ変化後の分周比を知らせる分周比データを前記第１の通信手段に通信した場合に、前記分周比データに基づいて前記第１の分周回路での分周比を変化させることを特徴とする情報処理装置。
【請求項２】
請求項１において、
命令の実行処理を行う中央処理ユニットを含み、
前記第１の通信手段は、
デバッグツールとなる前記第２の情報処理装置との間でデバッグのためのデータを通信することを特徴とする情報処理装置。
【請求項３】
請求項２において、
デバッグモードからユーザプログラム実行モードに切り替わった場合に、前記第１のクロックを、トレースデータをサンプリングするためのクロックとして使用することを特徴とする情報処理装置。
【請求項４】
外部の第２の情報処理装置が含む第２の通信手段との間で調歩同期式によりデータを通信する第１の通信手段と、命令の実行処理を行う中央処理ユニットとを含む情報処理装置であって、
前記第１の通信手段は、
第１のクロックを分周し、調歩同期式で通信されるデータの各ビットをサンプリングするための第１のサンプリングクロックを生成する第１の分周回路と、
前記第１のサンプリングクロックに基づいてデータの送信及び受信の少なくとも一方を行う回路とを含み、
前記第１の通信手段は、
前記第２の通信手段が含む第２の分周回路が第２のサンプリングクロックを生成するための信号として、前記第１のクロックを、前記第２の情報処理装置に供給すると共に、デバッグツールとなる前記第２の情報処理装置との間でデバッグのためのデータを通信し、
デバッグモードからユーザプログラム実行モードに切り替わった場合に、前記第１のクロックを、トレースデータをサンプリングするためのクロックとして使用することを特徴とする情報処理装置。
【請求項５】
請求項１乃至４のいずれかのいずれかの情報処理装置と、
前記情報処理装置の処理対象となるデータの入力源と、
前記情報処理装置により処理されたデータを出力するための出力装置とを含むことを特徴とする電子機器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置及び電子機器に関する。
【０００２】
【背景技術及び発明が解決しようとする課題】
近年、ゲーム装置、カーナビゲーションシステム、プリンタ、携帯情報端末などの電子機器に組み込まれ、高度な情報処理を実現できるマイクロコンピュータに対する需要が高まっている。そして、このような組み込み型のマイクロコンピュータは、通常、ターゲットシステムと呼ばれるユーザボードに実装される。そして、このターゲットシステムを動作させるソフトウェアの開発を支援するためにＩＣＥ（In-Circuit Emulator）と呼ばれるソフトウェア開発支援ツールが広く使用されている。
【０００３】
さて、ＩＣＥにおいては、ターゲットシステムに実装されるマイクロコンピュータと外部のデバッグツールとの間でデバッグのためのデータを通信する必要がある。この場合、通信の方式としては、いわゆる同期式と呼ばれるものや調歩同期式と呼ばれるものを採用できる。そしてＩＣＥにおいては、マイクロコンピュータとデバッグツールとの間の通信ラインの本数をできる限り少なくすることが望まれる。更に通信データのサンプリングエラーをできる限り防止することも望まれる。
【０００４】
ところが同期式で通信を行う場合には、図１（Ａ）に示すように、マイクロコンピュータ３４０（情報処理装置）とデバッグツール３４２（第２の情報処理装置）との間に４本の通信ラインを設ける必要がある。即ち、送信データであるＴＸＤのライン、ＴＸＤのサンプリングクロックであるＴＣＬＫのライン、受信データであるＲＸＤのライン、ＲＸＤのサンプリングクロックであるＲＣＬＫのラインが必要になる。このため、通信ラインの本数が不要に増えてしまう。
【０００５】
一方、調歩同期式で通信を行う場合には、図１（Ｂ）に示すように、マイクロコンピュータ３４０とデバッグツール３４２は、別々にほぼ同一周波数のクロックを持つことになる。例えばマイクロコンピュータ３４０はクロックＣＬＫ１を持ち、デバッグシステム３４２はクロックＣＬＫ２を持ち、ＣＬＫ１とＣＬＫ２の周波数をほぼ同一にする。そしてマイクロコンピュータ３４０は、図２（Ａ）に示すように、ＣＬＫ１を分周することでサンプリングクロックＳＭＣ１を生成し、調歩同期式で通信されるデータの各ビット（スタートビット、Ｄ０〜Ｄ７、ストップビット）を、このＳＭＣ１でサンプリングする。またデバッグツール３４２は、図２（Ｂ）に示すように、ＣＬＫ２を分周することでサンプリングクロックＳＭＣ２を生成し、調歩同期式で通信されるデータの各ビット（ステートビット、Ｄ０〜Ｄ７、ストップビット）をこのＳＭＣ２でサンプリングする。
【０００６】
しかしながら、この調歩同期式では、マイクロコンピュータ３４０に含まれるＣＰＵの動作周波数が高くなりＣＬＫ１及びＣＬＫ２の周波数が高くなると、ＳＭＣ１及びＳＭＣ２の周波数も高くなり、通信データのサンプリングエラーが生じやすくなってしまう。逆に言えば、通信データのサンプリングエラーが生じない程度までしか、ＣＬＫ１及びＣＬＫ２の周波数を高くできない。これは、マイクロコンピュータ３４０が高速動作する環境でのデバッグ作業ができないということを意味する。即ち、デバッグ作業時においては、マイクロコンピュータのクロック周波数を下げなければいけなくなる。
【０００７】
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、調歩同期式でありながら高速にデータを通信できる情報処理装置及び電子機器を提供することにある。
【０００８】
【課題を解決するための手段】
上記課題を解決するために本発明は、外部の第２の情報処理装置が含む第２の通信手段との間で調歩同期式によりデータを通信する第１の通信手段を含む情報処理装置であって、前記第１の通信手段が、第１のクロックを分周し、調歩同期式で通信されるデータの各ビットをサンプリングするための第１のサンプリングクロックを生成する第１の分周回路と、前記第１のサンプリングクロックに基づいてデータの送信及び受信の少なくとも一方を行う回路とを含み、前記第１の通信手段が、前記第２の通信手段が含む第２の分周回路が第２のサンプリングクロックを生成するための信号として、前記第１のクロックを、前記第２の情報処理装置に供給することを特徴とする。
【０００９】
本発明によれば、第１のクロックが情報処理装置及び第２の情報処理装置で共有される。そしてこの共有された第１のクロックを分周することで、第１、第２のサンプリングクロックが生成される。そして、情報処理装置では、この第１のサンプリングクロックにより、調歩同期式で通信されるデータの各ビットがサンプリングされ、第２の情報処理装置では、この第２のサンプリングクロックにより、調歩同期式で通信されるデータの各ビットがサンプリングされるようになる。したがって、第１、第２のサンプリングクロックの周波数の間にずれが生じるのを防止でき、通信データのサンプリングエラーが生じるのを効果的に防止できるようになる。この結果、最適で高速な通信速度でデータを通信することが可能になる。
【００１０】
また本発明は、前記第１の通信手段が、前記第１の分周回路での分周比を制御する第１の分周比制御手段を含み、前記第１の分周比制御手段が、前記第２の通信手段が含む第２の分周比制御手段が前記第１のクロックの周波数に応じて分周比を変化させ変化後の分周比を知らせる分周比データを前記第１の通信手段に通信した場合に、前記分周比データに基づいて前記第１の分周回路での分周比を変化させることを特徴とする。このようにすれば、第１のクロックの周波数が低下しても、それに応じて分周比を小さくできるようになる。これにより、第１、第２のサンプリングクロックの周波数が低くなるのを防止できようになり、通信速度の低下を防止できるようになる。この結果、第１のクロックの周波数の大小に依らずに、常に最適で高速な通信速度でデータを通信することが可能になる。
【００１１】
また本発明は、命令の実行処理を行う中央処理ユニットを含み、前記第１の通信手段が、デバッグツールとなる前記第２の情報処理装置との間でデバッグのためのデータを通信することを特徴とする。このようにすることで、マイクロコンピュータ（情報処理装置）とデバッグツール（第２の情報処理装置）との間でのデータの通信速度を、最適で高速なものにすることが可能になる。特に、マイクロコンピュータのクロック周波数は、マイクロコンピュータを使用するユーザ毎に異なったものになるのが一般的である。したがって、通常、マイクロコンピュータのクロック周波数が変化すると、データの通信速度も変化してしまう。しかしながら本発明によれば、マイクロコンピュータのクロック周波数が、マイクロコンピュータを使用するユーザに応じて変化すると、第１、第２の分周比も変化する。この結果、通信速度は結局低くならず、多様な周波数のクロックを使用するユーザに応じて、最適な通信速度で通信を行えるようになる
また本発明は、デバッグモードからユーザプログラム実行モードに切り替わった場合に、前記第１のクロックを、トレースデータをサンプリングするためのクロックとして使用することを特徴とする。このようにすることで、トレースデータをサンプリングするためのクロックの端子を新たに設ける必要がなくなる。この結果、情報処理装置の低コスト化を図れるようになる。
【００１２】
また本発明に係る電子機器は、上記の情報処理装置と、前記情報処理装置の処理対象となるデータの入力源と、前記情報処理装置により処理されたデータを出力するための出力装置とを含むことを特徴とする。このようにすれば、電子機器を動作させるプログラムなどのデバッグ作業の効率化を図れるようになり、電子機器の開発期間の短縮化、低コスト化を図れるようになる。また情報処理装置が実動作する環境と同じ環境で、ユーザプログラムのデバッグ作業を行うことができるようになるため、電子機器の信頼性を高めることができる。
【００１３】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を用いて詳細に説明する。
【００１４】
なお以下では、情報処理装置がマイクロコンピュータであり第２の情報処理装置がデバッグツールである場合を例にとり説明する。但し、情報処理装置はマイクロコンピュータ、第２の情報処理装置はデバッグツールであることが特に望ましいが、本発明はこれに限定されるものではない。
【００１５】
１．本実施形態の特徴
図１（Ａ）で説明したように、同期式では、通信ラインの本数が不要に増えてしまうという問題がある。一方、図１（Ｂ）で説明したように、一般的な調歩同期式では、クロックの周波数が高くなると通信データのサンプリングエラーが生じやすくなり、マイクロコンピュータが高速動作する環境でのデバッグ作業が困難になるという問題がある。このような問題を解決するために本実施形態では、図３に示すように、マイクロコンピュータ１４０とデバッグツール１５０とで、サンプリングクロックを生成するためのＢＣＬＫを共有させている。
【００１６】
より具体的には、マイクロコンピュータ１４０（情報処理装置）は、通信部１４２を含む。そして通信部１４２は、送受信回路１４４、分周回路１４６を含む。この分周回路１４６は、図４（Ａ）に示すように、ＢＣＬＫ（第１のクロック）を分周し、調歩同期式で送受信されるデータの各ビットをサンプリングするためのサンプリングクロックＳＭＣ１を生成する。そして、送受信回路１４４は、このＳＭＣ１に基づいてデータを送受信する。更にマイクロコンピュータ１４０は、ＢＣＬＫをデバッグツール１５０に供給する。
【００１７】
デバッグツール１５０（第２の情報処理装置）は、通信部１５２を含む。そして通信部１５２は、送受信回路１５４、分周回路１５６を含む。この分周回路１５６は、図４（Ｂ）に示すように、マイクロコンピュータ１４０から供給されたＢＣＬＫを分周し、サンプリングクロックＳＭＣ２を生成する。そして、送受信回路１５４は、このＳＭＣ２に基づいてデータを送受信する。
【００１８】
このように本実施形態では、調歩同期式でありながら、サンプリングクロックＳＭＣ１、ＳＭＣ２を生成するためのＢＣＬＫをマイクロコンピュータ１４０とデバッグツール１５０とで共有する。これにより、通信データのサンプリングエラーの発生率を、図１（Ｂ）に示す一般的な調歩同期式通信に比べて格段に減少できる。また、図１（Ａ）の同期式通信では、４本の通信ラインが必要であったが、本実施形態では図３に示すように２本の通信ラインで済む（全２重の場合には３本）。したがって、マイクロコンピュータ１４０とデバッグツール１５０との間の通信ラインの本数を、図１（Ａ）に比べて少なくできる。この結果、マイクロコンピュータ１４０の端子数を減らすことが可能になり、マイクロコンピュータ１４０の低コスト化を図れるようになる。
【００１９】
特に、図１（Ｂ）の構成では、ＣＬＫ１（及びＣＬＫ２）の周波数が高くなればなるほど、通信データのサンプリングエラーの発生率も高くなる。このため、デバッグ作業時においてマイクロコンピュータ３４０のクロック周波数を高くできず、マイクロコンピュータ３４０が高速動作する環境でのデバッグ作業ができなかった。
【００２０】
これに対して、図３の本実施形態では、マイクロコンピュータ１４０もデバッグツール１５０もＢＣＬＫに基づいてサンプリングクロックを生成している。このため、ＢＣＬＫの周波数が高くなっても、サンプリングエラーの発生率がそれほど高くならない。この結果、マイクロコンピュータ１４０が高速動作する環境でのデバッグ作業が可能になり、より実動作時に近い環境でのデバッグ作業が可能になる。
【００２１】
２．分周比制御
また本実施形態では、図５に示すように、通信部１４２に分周比制御部１４８を含ませると共に、通信部１５２に分周比制御部１５８、周波数検出回路１５９を含ませている。これにより、ＳＭＣ１を生成する際の分周比ＦＤ１と、ＳＭＣ２を生成する際の分周比ＦＤ２を可変に制御することが可能になる。この結果、ＢＣＬＫの周波数が変化しても、最適で高速な通信速度でデータを通信することが可能になる。
【００２２】
即ち図６（Ａ）に示すようにＢＣＬＫの周波数が低くなった場合には、図４（Ａ）、（Ｂ）で１６であった分周比ＦＤ１、ＦＤ２が例えば８に変更される。これにより、サンプリングクロックＳＭＣ１、ＳＭＣ２は、ＢＣＬＫを１６分周したクロックから８分周したクロックに変更される。この結果、１ビットのデータに対応するＢＣＬＫのクロック数が、１６であったものが（１６クロックモード）、８に変更される（８クロックモード）。
【００２３】
また図６（Ｂ）に示すようにＢＣＬＫの周波数が更に低くなった場合には、図６（Ａ）で８であった分周比ＦＤ１、ＦＤ２が例えば４に変更される。これにより、サンプリングクロックＳＭＣ１、ＳＭＣ２は、ＢＣＬＫを８分周したクロックから４分周したクロックに変更される。この結果、１ビットのデータに対応するＢＣＬＫのクロック数が、８であったものが（８クロックモード）、４になるように変更される（４クロックモード）。
【００２４】
このようにすることで、ＢＣＬＫの周波数が低くなった場合にも、データの通信速度は結局低くならなくなる。この結果、最適で高速な通信速度でデータを通信することが可能になる。
【００２５】
特に、マイクロコンピュータのクロック周波数は、マイクロコンピュータを使用するユーザ毎に異なったものになるのが一般的である。即ち、あるユーザは６０ＭＨＺのクロックでマイクロコンピュータを動作させ、別のユーザは２０ＭＨＺのクロックでマイクロコンピュータを動作させる。
【００２６】
しかしながら、図１（Ａ）、（Ｂ）の通信方式では、マイクロコンピュータのクロック周波数が変化すると、データの通信速度も変化してしまう。即ち、クロック周波数が低くなるとデータの通信速度も低くなってしまう。したがって、最大限の通信速度でデータを通信することができなくなる。
【００２７】
これに対して、本実施形態では、マイクロコンピュータのクロック周波数が、マイクロコンピュータを使用するユーザに応じて変化すると、分周比ＦＤ１、ＦＤ２も変化し、１ビットのデータに対応するクロック数も変化する。即ちクロック周波数が低くなると、分周比ＦＤ１、ＦＤ２も小さくなり、１ビットのデータに対応するクロック数も少なくなる。この結果、通信速度は結局低くならず、最適で高速な通信速度で通信を行えるようになる。即ち、多様な周波数のクロックを使用するユーザに応じて、最適な通信速度で通信を行えるようになる。
【００２８】
次に、通信部１４２、１５２での処理について図７、図８のフローチャートを用いて更に詳細に説明する。
【００２９】
図７に示すように、まず、図５の通信部１５２内の周波数検出回路１５９が、マイクロコンピュータ１４０から供給されるＢＣＬＫの周波数を検出する（ステップＶ１）。そして、ＢＣＬＫの周波数が３０ＭＨＺ以上であるか否かを判断し（ステップＶ２）、３０ＭＨＺ以上である場合には、分周比制御部１５８が分周比ＦＤ２を１６に設定する（ステップＶ３）。そして、ＦＤ２が１６であることを知らせる分周比データを、送受信回路１５４を介してマイクロコンピュータ１４０に送信する（ステップＶ４）。次に、分周回路１５６がＦＤ２＝１６でＢＣＬＫを分周しＳＭＣ２を生成する（ステップＶ５）。そして、以降は、このＳＭＣ２によりデータの送受信を行う。
【００３０】
ＢＣＬＫの周波数が３０ＭＨＺより低い場合には、周波数が１５ＭＨＺ以上か否かを判断する（ステップＶ６）。そして、周波数が１５ＭＨＺ以上である場合にはＦＤ２＝８に設定し（ステップＶ７）、ステップＶ４、Ｖ５と同様の処理を行う（ステップＶ８、Ｖ９）。また、ＢＣＬＫの周波数が１５ＭＨＺより低い場合にはＦＤ２＝４に設定し（ステップＶ１０）、ステップＶ４、Ｖ５と同様の処理を行う（ステップＶ１１、Ｖ１２）。
【００３１】
一方、マイクロコンピュータ１４０側では図８のフローチャートに示すような処理を行う。即ち、まず、デバッグツール１５０から送受信回路１４４を介して分周比データを受信する（ステップＷ１）。次に、受信した分周比データに基づいて分周比制御部１４８が分周比ＦＤ１を決定する（ステップＷ２）。そして、分周回路１４６は、このＦＤ１でＢＣＬＫを分周しＳＭＣ１を生成する。そして、以降は、このＳＭＣ１でデータの送受信を行う。
【００３２】
以上のように、本実施形態では、マイクロコンピュータ１４０、デバッグツール１５０がお互いに通信しながらＦＤ１、ＦＤ２を調整し、これらの分周比ＦＤ１、ＦＤ２によりＢＣＬＫを分周し、得られたＳＭＣ１、ＳＭＣ２を用いて通信データをサンプリングする。これにより、常に最適で高速な通信速度でデータを通信できるようになる。そして、本実施形態によれば、このように通信速度を高速で最適にできるにもかかわらず、図１（Ａ）の同期式に比べてマイクロコンピュータ１４０の端子数を少なくでき、マイクロコンピュータ１４０の低コスト化等を図れる。
【００３３】
３．ミニモニタ部
さて、ターゲットシステムを動作させるソフトウェアの開発を支援するＩＣＥとしては、従来、図９（Ａ）に示すようなＣＰＵ置き換え型と呼ばれるＩＣＥが主流を占めていた。このＣＰＵ置き換え型ＩＣＥでは、デバッグ時にターゲットシステム３００からマイクロコンピュータ３０２を取り外し、その代わりにデバッグツール３０４のプローブ３０６を接続する。そして、このデバッグツール３０４に、取り外したマイクロコンピュータ３０２の動作をエミュレートさせる。また、このデバッグツール３０４に、デバッグのために必要な種々の処理を行わせる。
【００３４】
しかしながら、このＣＰＵ置き換え型ＩＣＥには、プローブ３０６のピン数が多くなると共にプローブ３０６の線３０８が増えるという欠点があった。このため、マイクロコンピュータ３０２の高周波数動作をエミュレートすることが困難になる（例えば３３ＭＨＺ程度が限界）。またターゲットシステム３００の設計も困難になる。更に、マイクロコンピュータ３０２を実装して動作させる実動作時とデバッグツール３０４でマイクロコンピュータ３０２の動作をエミュレートするデバッグモード時とで、ターゲットシステム３００の動作環境（信号のタイミング、負荷条件）が変化してしまう。またこのＣＰＵ置き換え型ＩＣＥには、マイクロコンピュータが異なれば、たとえそれが派生品であっても、設計が異なるデバッグツールや、ピン数やピンの位置が異なるプローブを使用しなければならないという問題もあった。
【００３５】
一方、このようなＣＰＵ置き換え型ＩＣＥの欠点を解消するものとして、図９（Ｂ）に示すような、モニタプログラム３１０をターゲットシステム３１２に実装するタイプのＩＣＥが知られている。しかしながら、これまでのモニタプログラム実装型ＩＣＥでは、モニタプログラム３１０に、全てのデバッグコマンド（プログラムのロード、ＧＯ、ステップ実行、メモリのリード・ライト、内部レジスタのリード・ライト、ブレークポイントの設定・解除）を実行する機能を持たせる必要があった。したがって、モニタプログラム３１０の命令コードサイズが非常に大きくなってしまう（例えば３０〜５０Ｋバイト）。このため、ユーザが自由に使用できるメモリ領域が減ってしまうと共に、デバッグ時とデバッグ時以外とでシステムが異なってしまうという問題があった。図１（Ｂ）の問題点を解決する方法として、モニタプログラムをチップ上にのせるオンチップデバッグという方法があるが、命令コードサイズが大きなモニタプログラムをチップ内に設けると、チップのサイズを大きくしてしまうという問題点がある。
【００３６】
このような問題を解決するために、本実施形態では、モニタ部を、ミニモニタ部とメインモニタ部に分割する手法を採用している。
【００３７】
即ち図１０に示すように、本実施形態では、マイクロコンピュータ１０が、ＣＰＵ（中央処理ユニット）１２及びミニモニタ部（第１のモニタ手段）１４を含む。また、マイクロコンピュータ１０の外部にはメインモニタ部（第２のモニタ手段）１６が設けられている。ここでメインモニタ部１６は、例えばホストシステムなどが発行したデバッグコマンドをプリミティブコマンドに変換（分解）するための処理を行う。また、ミニモニタ部１４は、メインモニタ部１６との間でデータを送受信する。そして、ミニモニタ部１４は、実行するプリミティブコマンドを、メインモニタ部１６からの受信データに基づいて決定し、プリミティブコマンドを実行するための処理を行う。
【００３８】
ここで、メインモニタ部１６の変換処理の対象となるデバッグコマンドとしては、プログラムロード、ＧＯ、ステップ実行、メモリライト、メモリリード、内部レジスタライト、内部レジスタリード、ブレークポイント設定、ブレークポイント解除などのコマンドを考えることができる。メインモニタ部１６は、これらの多様で複雑なデバッグコマンドを、例えばＧＯ、ライト（デバッグモード時におけるメモリマップ上の所与のアドレスへのライト）、リード（メモリマップ上の所与のアドレスからのリード）などの、シンプルでプリミティブなコマンドに変換する処理を行う。このようにすることで、ミニモニタ部１４の処理を行うミニモニタプログラムの命令コードサイズを格段に小さくすることができる。これにより、マイクロコンピュータ１０のオンチップデバッグ機能を実現できるようになる。
【００３９】
即ち、図９（Ｂ）に示すようなタイプのＩＣＥでは、モニタプログラム３１０は、プログラムロード、ＧＯ、ステップ実行などのデバッグコマンドの全ての処理ルーチンを有している。このため、モニタプログラム３１０の命令コードサイズが非常に大きくなり（例えば３０〜５０Ｋバイト）、モニタプログラム３１０をマイクロコンピュータ３１４に内蔵することは事実上困難となる。
【００４０】
これに対して、本実施形態では、ミニモニタ部１４の処理を行うミニモニタプログラムは、ＧＯ、ライト、リードなどのシンプルなプリミティブコマンドの処理ルーチンのみを有し、命令コードサイズが非常に小さい（例えば２５６バイト）。したがって、ミニモニタプログラムをマイクロコンピュータ１０に内蔵することが可能となり、オンチップデバッグ機能を実現できるようになる。また、ユーザが自由に使用できるメモリ領域の減少を最小限に抑える、あるいは全く減少しないようすることが可能になる。
【００４１】
４．詳細な構成例
図１１に本実施形態のマイクロコンピュータ及びデバッグシステムの詳細な構成例を示す。図１１に示すように、マイクロコンピュータ２０は、ＣＰＵ２２、ＢＣＵ（バス制御ユニット）２６、内部メモリ（ミニモニタＲＯＭ４２及びミニモニタＲＡＭ４４以外の内部ＲＯＭ及び内部ＲＡＭ）２８、クロック生成部３０、ミニモニタ部４０（第１のモニタ手段）、トレース部５０を含む。
【００４２】
ここでＣＰＵ２２は、種々の命令の実行処理を行うものであり、内部レジスタ２４を含む。内部レジスタ２４は、汎用レジスタであるＲ０〜Ｒ１５や、特殊レジスタであるＳＰ（スタックポインタレジスタ）、ＡＨＲ（積和結果データの上位レジスタ）、ＡＬＲ（積和結果データの下位レジスタ）などを含む。
【００４３】
ＢＣＵ２６はバスを制御するものである。例えば、ＣＰＵ２２に接続されるハーバードアーキテクチャのバス３１や、内部メモリ２８に接続されるバス３２や、外部メモリ３６に接続される外部バス３３や、ミニモニタ部４０、トレース部５０などに接続される内部バス３４の制御を行う。
【００４４】
またクロック生成部３０は、マイクロコンピュータ２０内で使用される各種のクロックを生成するものである。クロック生成部３０はＢＣＬＫを介して外部のデバッグツール６０にもクロックを供給している。
【００４５】
ミニモニタ部４０は、ミニモニタＲＯＭ４２、ミニモニタＲＡＭ４４、制御レジスタ４６、ＳＩＯ４８を含む。
【００４６】
ここで、ミニモニタＲＯＭ４２には、ミニモニタプログラムが格納される。本実施形態では、このミニモニタプログラムは、ＧＯ、リード、ライトなどのシンプルでプリミティブなコマンドの処理のみを行うようになっている。このため、ミニモニタＲＯＭ４２のメモリ容量を例えば２５６バイト程度に抑えることができ、オンチップデバッグ機能を持たせながらマイクロコンピュータ２０を小規模化できるようになる。
【００４７】
ミニモニタＲＡＭ４４には、デバッグモードへの移行時に（ユーザプログラムのブレーク発生時に）、ＣＰＵ２２の内部レジスタ２４の内容が退避される。これにより、デバッグモードの終了後にユーザプログラムの実行を適正に再スタートできるようになる。また内部レジスタの内容のリード等を、ミニモニタプログラムが持つプリミティブなリードコマンド等で実現できるようになる。
【００４８】
制御レジスタ４６は、各種のデバッグ処理を制御するためのレジスタであり、ステップ実行イネーブルビット、ブレークイネーブルビット、ブレークアドレスビット、トレースイネーブルビットなどを有する。ミニモニタプログラムにより動作するＣＰＵ２２が制御レジスタ４６の各ビットにデータをライトしたり、各ビットのデータをリードすることで、各種のデバッグ処理が実現される。
【００４９】
ＳＩＯ４８は、マイクロコンピュータ２０の外部に設けられたデバッグツール６０との間でデータを送受信するためのものである。ＳＩＯ４８とデバッグツール６０との間は、ＴＸＤ／ＲＸＤ（データ送受信ライン）で接続されている。
【００５０】
トレース部５０は、リアルタイムトレース機能を実現するためのものである。トレース部５０とデバッグツール６０との間は、ＣＰＵ２２の命令実行のステートを表す３ビットのＤＳＴ［２：０］と、分岐先のＰＣ（プログラムカウンタ）値を表すＤＰＣＯという４本のラインで接続されている。
【００５１】
デバッグツール６０はメインモニタ部６２を含み、パーソナルコンピュータ等により実現されるホストシステム６６に接続される。ホストシステム６６が、ユーザの操作により、プログラムロード、ステップ実行などのデバッグコマンドを発行すると、メインモニタ部６２が、このデバッグコマンドをプリミティブコマンドに変換（分解）するための処理を行う。そして、メインモニタ部６２が、プリミティブコマンドの実行を指示するデータをミニモニタ部４０に送信すると、ミニモニタ部４０が、指示されたプリミティブコマンドを実行するための処理を行うことになる。
【００５２】
図１２に、デバッグモード時のメモリマップの例を示す。図１２のＤ１、Ｄ２、Ｄ３に示すように、デバッグモード時には、図１１の制御レジスタ４６、ミニモニタＲＡＭ４４、ミニモニタＲＯＭ４２のアドレスも、メモリマップ上に割り付けられる。
【００５３】
５．プリミティブコマンドへの変換
図１３（Ａ）、（Ｂ）、（Ｃ）、（Ｄ）に、各種のデバッグコマンドをプリミティブコマンドへ変換する処理について模式的に示す。
【００５４】
例えば図１３（Ａ）に示すように、（ＡＤＤ・・・、ＳＵＢ・・・、ＡＮＤ・・・、ＯＲ・・・、ＸＯＲ・・・、ＬＤ．Ｗ・・・）という１２バイトのプログラムを８００１０ｈ番地にロードするというデバッグコマンドが発行されたとする。この場合、このプログラムロードコマンドは、ライト（８００１０ｈ、ＡＤＤ・・・、ＳＵＢ）、ライト（８００１４ｈ、ＡＮＤ・・・、ＯＲ・・・）、ライト（８００１８ｈ、ＸＯＲ・・・、ＬＤ．Ｗ・・・）という３つのプリミティブなライトコマンドに変換される。即ち、ミニモニタプログラムが、この３つのプリミティブなライトコマンドを実行することで、プログラムロードコマンドが実現されるようになる。
【００５５】
また図１３（Ｂ）に示すようにステップ実行コマンドというデバッグコマンドが発行されたとする。すると、このステップ実行コマンドは、図１１の制御レジスタ４６のステップ実行イネーブルビットへのライトコマンド（図１２のＤ１のアドレスへのライトコマンド）とＧＯコマンドに変換される。即ち、ミニモニタプログラムが、このプリミティブなライトコマンドとＧＯコマンドを実行することで、ステップ実行コマンドが実現されるようになる。
【００５６】
また図１３（Ｃ）に示すように内部レジスタリードコマンドというデバッグコマンドが発行されたとする。すると、この内部レジスタリードコマンドは、メモリマップ上のミニモニタＲＡＭ４４（内部レジスタの内容の退避先）からのリードコマンド（図１２のＤ２のアドレスからのリードコマンド）に変換される。即ち、ミニモニタプログラムが、このプリミティブなリードコマンドを実行することで、内部レジスタリードコマンドが実現されるようになる。内部レジスタライトコマンド、メモリリードコマンド、メモリライトコマンドも同様にして実現される。
【００５７】
また図１３（Ｄ）に示すようにブレークポイント設定コマンドというデバッグコマンドが発行されたとする。すると、このブレークポイント設定コマンドは、制御レジスタ４６のブレークイネーブルビット及びブレークアドレスビットへのライトコマンドに変換される。即ち、ミニモニタプログラムが、このプリミティブなライトコマンドを実行することで、ブレークポイント設定コマンドが実現されるようになる。
【００５８】
このように本実施形態では、複雑で多様なデバッグコマンドが、プリミティブでシンプルなリード、ライト、ＧＯコマンドに変換される。そして、ミニモニタプログラムは、このプリミティブなリード、ライト、ＧＯコマンドを実行するだけでよいため、ミニモニタプログラムの命令コードサイズは非常に小さくなる。この結果、ミニモニタＲＯＭ４２のメモリ容量も小さくでき、小さなハードウェア規模でオンチップデバッグ機能を実現できるようになる。
【００５９】
６．ＳＩＯの構成例
図１４にＳＩＯ４８の構成例を示す。ＳＩＯ４８は、送受信バッファ７０、シフトレジスタ７６、送受信切替部７８、クロック制御部８０及び制御レジスタ８４を含む。
【００６０】
ここで、ＳＩＯ４８が、図３、図５の通信部１４２に相当する。また送受信バッファ７０、シフトレジスタ７６及び送受信切替部７８が、送受信回路１４４に相当する。またクロック制御回路８０が含む分周回路８２が、分周回路１４６に相当する。更に制御レジスタ８４が、図５の分周比制御部１４８に相当する。
【００６１】
送受信バッファ７０は、送信データ、受信データを一時的に蓄えるためのものであり、送信バッファ７２、受信バッファ７４を有する。シフトレジスタ７６は、送信バッファ７２からの送信データをパラレルデータからシリアルデータに変換し送受信切替部７８に出力する機能を有する。また送受信切替部７８からの受信データをシリアルデータからパラレルデータに変換し受信バッファ７４に出力する機能も有する。送受信切替部７８は、データの送信と受信とを切り替えるためのものである。これにより、ＴＸＤ／ＲＸＤを使用した半２重のデータ送受信が可能になる。
【００６２】
クロック制御部８０は、内蔵する分周回路８２によりＢＣＬＫを分周し、この分周により得られたサンプリングクロックＳＭＣ１をシフトレジスタ７６に出力する。シフトレジスタ７６は、このＳＭＣ１に基づき動作する。またクロック制御部８０は、デバッグツール６０にＢＣＬＫを供給する。これにより、マイクロコンピュータ２０とデバッグツール６０により、ＢＣＬＫが共有されるようになる。
【００６３】
分周回路８２での分周比は制御レジスタ８４により設定される。即ちＣＰＵ２２により実行されるミニモニタプログラムが、所望の分周比を制御レジスタ８４に書き込むことで、分周回路８２での分周比が設定されることになる。なお、制御レジスタ８４のアドレスも、図１１の制御レジスタ４６と同様に、図１２のＤ１の位置に割り付けられている。
【００６４】
７．デバッグツールの構成例
図１５にデバッグツール６０の構成例を示す。
【００６５】
ＣＰＵ９０は、ＲＯＭ１０８に格納されるプログラムを実行したり、デバッグツール６０の全体の制御を行うものである。送受信切替部９２は、データの送信と受信とを切り替えるためのものである。これらのＣＰＵ９０及び送受信切替部９２が、図３、図５の送受信回路１５４に相当する。
【００６６】
クロック制御部９４は、ＣＰＵ９０のＳＣＬＫ端子、アドレスアップカウンタ１００、トレースメモリ１０４に供給するクロックを制御するものである。このクロック制御部９４には、マイクロコンピュータ２０（ＳＩＯ４８）からのＢＣＬＫが入力される。
【００６７】
クロック制御部９４は周波数検出回路９５（図５の周波数検出回路１５９に相当）、分周回路９６（図３、図５の分周回路１５６に相当）を含む。周波数検出回路９５は、ＢＣＬＫの周波数が属する周波数範囲を検出して、その結果を制御レジスタ９８（図５の分周比制御部１５８に相当）に出力する。また分周回路９６での分周比は制御レジスタ９８により制御される。即ちＣＰＵ９０により実行されるメインモニタプログラム（メインモニタＲＯＭ１１０に格納）が、制御レジスタ９８からＢＣＬＫの周波数範囲を読み出す。そして、メインモニタプログラムは、この周波数範囲に応じた最適な分周比を決定し、この分周比を制御レジスタ９８に書き込む。そして、分周回路９６は、この分周比でＢＣＬＫを分周してＳＭＣ２を生成し、ＣＰＵ９０のＳＣＬＫ端子に出力する。
【００６８】
アドレスアップカウンタ１００は、トレースメモリのアドレスをカウントアップするためのものである。セレクタ１０２は、ライン１２２（アドレスアップカウンタ１００が出力するアドレス）とライン１２４（アドレスバス１２０からのアドレス）のいずれかを選択し、トレースメモリ１０４のアドレス端子にデータを出力する。またセレクタ１０６は、ライン１２６（図１１のトレース部５０の出力であるＤＳＴ［２：０］、ＤＰＣＯ）とライン１２８（データバス１１８）のいずれかを選択し、トレースメモリ１０４のデータ端子にデータを出力したり、データ端子からデータを取り出す。
【００６９】
ＲＯＭ１０８はメインモニタＲＯＭ１１０（図１１のメインモニタ部６２に相当）を含み、メインモニタＲＯＭ１１０には、メインモニタプログラムが格納される。このメインモニタプログラムは、図１３（Ａ）〜図１３（Ｄ）で説明したように、デバッグコマンドをプリミティブコマンドに変換するための処理を行う。ＲＡＭ１１２は、ＣＰＵ９０のワーク領域となるものである。
【００７０】
ＲＳ２３２Ｃインターフェース１１４、パラレルインターフェース１１６は、図１１のホストシステム６６とのインターフェースとなるものであり、ホストシステム６６からのデバッグコマンドはこれらのインターフェースを介してＣＰＵ９０に入力されることになる。クロック生成部１１８は、ＣＰＵ９０を動作させるクロックなどを生成するものである。
【００７１】
８．トレースデータのサンプリングクロックへのＢＣＬＫの利用
本実施形態では、デバッグモードからユーザプログラム実行モードに切り替わった場合に、ＢＣＬＫ（第１のクロック）を、トレースデータをサンプリングするためのクロックとして使用している。以下、まず、リアルタイムトレース処理について簡単に説明する。
【００７２】
本実施形態では、図１１のＣＰＵ２２の命令実行のステートを表す３ビットのＤＳＴ[２：０］と、分岐先のＰＣ値を表すＤＰＣＯをトレースメモリ１０４に蓄える。そして、トレースメモリ１０４に蓄えられたデータと、ユーザプログラムのソースコードとに基づいて、トレースデータを合成する。このようにすることで、マイクロコンピュータ２０とデバッグツール６０との間の接続ラインの本数を少なくしながら、リアルタイムトレース機能を実現することが可能になる。
【００７３】
ユーザプログラム実行モードにおいては、ライン１２２が選択され、セレクタ１０２を介してアドレスアップカウンタ１００の出力がトレースメモリ１０４のアドレス端子に入力される。また、ライン１２６が選択され、セレクタ１０６を介してＤＳＴ［２：０］、ＤＰＣＯがトレースメモリ１０５のデータ端子に入力される。ここでアドレスアップカウンタ１００には、まず最初に、データバス１１８、アドレスバス１２０を用いてＣＰＵ９０により図１６（Ａ）に示すようなスタートアドレスが設定される。またアドレスアップカウンタ１００のＳＴ／ＳＰ（開始／停止）端子には、トレース範囲を特定するＤＳＴ［２］のラインが接続される。そして図１６（Ｂ）に示すように、ＤＳＴ［２］のラインに第１のパルス１３０が入力されると、アドレスアップカウンタ１００のアドレスアップカウントが開始する。そして、ＤＳＴ［２］のラインに第２のパルス１３２が入力されると、アドレスアップカウンタ１００のアドレスアップカウントが停止し、トレース動作が停止する。このようにして、所望のトレース範囲でのデータ（ＤＳＴ［２：０］、ＤＰＣＯ）をトレースメモリ１０４に蓄えることが可能になる。
【００７４】
一方、ユーザプログラム実行モードからデバッグモードに移行すると、ライン１２４が選択され、セレクタ１０２を介してアドレスバス１２０からのアドレスがトレースメモリ１０４のアドレス端子に入力される。またライン１２８が選択され、セレクタ１０６を介してトレースメモリ１０４からのデータがデータバス１１８に出力される。これにより、トレースメモリ１０４に蓄えられたデータ（ＤＳＴ［２：０］、ＤＰＣＯ）を、デバッグモード時にＣＰＵ９０（メインモニタプログラム）が読み出すことが可能になる。そして、読み出されたデータとユーザープログラムのソースコードとに基づいて、トレースデータを合成することが可能になる。
【００７５】
さて、図１７（Ａ）に示すように、デバッグ処理は、ブレーク空間移行後のデバッグモード時において行われる。即ち、デバッグモード時にユーザは、プログラムロードコマンドによりプログラムを所与のメモリにロードしたり、ブレークポイント設定コマンドでブレークポイントを設定したり、内部レジスタの内容をリードしたりする等のデバッグ作業を行う。この場合には、ＴＸＤ／ＲＸＤのラインを用いてデバッグデータが送受信され、マイクロコンピュータ２０内のミニモニタ部４０等によりデバッグ処理が行われる。そして、本実施形態では、マイクロコンピュータ２０がデバッグツール６０にＢＣＬＫを供給することで、前述のように通信データのサンプリングエラーの発生を防止している。
【００７６】
なお、デバッグモード（ブレーク空間）には、マイクロコンピュータ２０の強制ブレーク端子への信号入力による強制ブレークや、ユーザプログラムへのブレークポイント設定によるソフトウェアブレーク等により移行することになる。
【００７７】
一方、図１７（Ｂ）に示すように、図１６（Ａ）、（Ｂ）のリアルタイムトレース処理は、ユーザ空間に移行した後のユーザプログラム実行モード時において行われる。そして、この場合には、デバッグデータの送受信は行わないため、ＴＸＤ／ＲＸＤやＢＣＬＫのラインは、ユーザプログラム実行モード時においては、通常、使用されないことになる。
【００７８】
そこで、本実施形態では、ユーザプログラム実行モードにおいて、ＢＣＬＫを、トレースデータであるＤＳＴ［２：０］、ＤＰＣＯのサンプリング用のクロックとして利用している。このようにすることで、トレースデータのサンプリング用のクロックラインとして、新たに通信ラインを設ける必要がなくなる。これにより、マイクロコンピュータ２０の端子数を更に減らすことができ、マイクロコンピュータ２０の低コスト化を図れるようになる。
【００７９】
９．電子機器
次に、以上の本実施形態のマイクロコンピュータ（情報処理装置）を含む電子機器に関して説明する。
【００８０】
例えば図１８（Ａ）に電子機器の１つであるカーナビゲーションシステムの内部ブロック図を示し、図１９（Ａ）にその外観図を示す。カーナビゲーションシステムの操作はリモコン５１０を用いて行われ、ＧＰＳやジャイロからの情報に基づいて位置検出部５２０が車の位置を検出する。地図などの情報はＣＤＲＯＭ５３０（情報記憶媒体）に格納されている。画像メモリ５４０は画像処理の際の作業領域になるメモリであり、生成された画像は画像出力部５５０を用いて運転者に表示される。マイクロコンピュータ５００は、リモコン５１０、位置検出部５２０、ＣＤＲＯＭ５３０などのデータ入力源からデータを入力し、種々の処理を行い、処理後のデータを画像出力部５５０などの出力装置を用いて出力する。
【００８１】
図１８（Ｂ）に電子機器の１つであるゲーム装置の内部ブロック図を示し、図１９（Ｂ）にその外観図を示す。このゲーム装置では、ゲームコントローラ５６０からのプレーヤの操作情報、ＣＤＲＯＭ５７０からのゲームプログラム、ＩＣカード５８０からのプレーヤ情報等に基づいて、画像メモリ５９０を作業領域としてゲーム画像やゲーム音を生成し、画像出力部６１０、音出力部６００を用いて出力する。
【００８２】
図１８（Ｃ）に電子機器の１つであるプリンタの内部ブロック図を示し、図１９（Ｃ）にその外観図を示す。このプリンタでは、操作パネル６２０からの操作情報、コードメモリ６３０及びフォントメモリ６４０から文字情報に基づいて、ビットマップメモリ６５０を作業領域として、印刷画像を生成し、プリント出力部６６０を用いて出力する。またプリンタの状態やモードを表示パネル６７０を用いてユーザに伝える。
【００８３】
本実施形態のマイクロコンピュータ又はデバッグシステムによれば、図１８（Ａ）〜図１９（Ｃ）の電子機器を動作させるユーザプログラムの開発の容易化、開発期間の短縮化を図れるようになる。またマイクロコンピュータが実動作する環境と同じ環境で、ユーザプログラムのデバッグ作業を行うことができるため、電子機器の信頼性を高めることができる。また電子機器に組み込まれるマイクロコンピュータのハードウェアを小規模化、低コスト化できるため、電子機器の低コスト化も図れるようになる。更にミニモニタプログラムの命令コードサイズは小さいため、ユーザがプログラムや各種データの格納に使用するメモリ領域を、全く使用しないようにすることが可能になる。
【００８４】
なお本実施形態のマイクロコンピュータを適用できる電子機器としては、上記以外にも例えば、携帯電話（セルラーフォン）、ＰＨＳ、ページャ、オーディオ機器、電子手帳、電子卓上計算機、ＰＯＳ端末、タッチパネルを備えた装置、プロジェクタ、ワードプロセッサ、パーソナルコンピュータ、テレビ、ビューファインダ型又はモニタ直視型のビデオテープレコーダなど種々のものを考えることができる。
【００８５】
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
【００８６】
例えば情報処理装置と第２の情報処理装置を接続する通信ラインは送信及び受信の一方のみを行うものであってもよい。また半２重で通信してもよいし全２重で通信してもよい。
【００８７】
また分周比の制御の手法も本実施形態で説明したものに限らず種々の変形実施が可能である。
【００８８】
またマイクロコンピュータの構成も本実施形態で説明したものに限定されず、種々の変形実施が可能である。
【００８９】
【図面の簡単な説明】
【図１】図１（Ａ）、（Ｂ）は、同期式、調歩同期式の通信手法について説明するための図である。
【図２】図２（Ａ）、（Ｂ）は、一般的な調歩同期式でのクロックとサンプリングクロックとサンプリングデータのタイミング波形を示す図である。
【図３】本実施形態の通信手法について説明するための図である。
【図４】図４（Ａ）、（Ｂ）は、図３の手法でのクロックとサンプリングクロックとサンプリングデータのタイミング波形を示す図である。
【図５】分周比を制御する手法について説明するための図である。
【図６】図６（Ａ）、（Ｂ）は、図５の手法でのクロックとサンプリングクロックとサンプリングデータのタイミング波形を示す図である。
【図７】デバッグツール側での分周比設定処理について説明するためのフローチャートである。
【図８】マイクロコンピュータ側での分周比設定処理について説明するためのフローチャートである。
【図９】図９（Ａ）はＣＰＵ置き換え型のＩＣＥ、図９（Ｂ）はモニタプログラム実装型ＩＣＥの例を示す図である。
【図１０】ミニモニタ部を設ける手法について説明するための図である。
【図１１】マイクロコンピュータ、デバッグシステムの構成例を示す機能ブロック図である。
【図１２】デバッグモード時のメモリマップを示す図である。
【図１３】図１３（Ａ）、（Ｂ）、（Ｃ）、（Ｄ）は、デバッグコマンドをプリミティブコマンドへ変換（分解）する処理について説明するための図である。
【図１４】ＳＩＯの構成例を示す機能ブロック図である。
【図１５】デバッグツールの構成例を示す機能ブロック図である。
【図１６】図１６（Ａ）、（Ｂ）は、リアルタイムトレース処理について説明するための図である。
【図１７】図１７（Ａ）、（Ｂ）は、ユーザプログラム実行モード時に、ＢＣＬＫを、トレースデータのサンプリング用クロックとして利用する手法について説明するための図である。
【図１８】図１８（Ａ）、（Ｂ）、（Ｃ）は、種々の電子機器の内部ブロック図の例である。
【図１９】図１９（Ａ）、（Ｂ）、（Ｃ）は、種々の電子機器の外観図の例である。
【符号の説明】
１０    マイクロコンピュータ
１２    ＣＰＵ（中央処理ユニット）
１４    ミニモニタ部（第１のモニタ手段）
１６    メインモニタ部（第２のモニタ手段）
２０    マイクロコンピュータ
２２    ＣＰＵ（中央処理ユニット）
２４    内部レジスタ
２６    ＢＣＵ（バス制御ユニット）
２８    内部メモリ
３０    クロック生成部
３１    バス
３２    バス
３３    外部バス
３４    内部バス
３６    外部メモリ
４０    ミニモニタ部（第１のモニタ手段）
４２    ミニモニタＲＯＭ
４４    ミニモニタＲＡＭ
４６    制御レジスタ
４８    ＳＩＯ
５０    トレース部
６０    デバッグツール
６２    メインモニタ部（第２のモニタ手段）
６６    ホストシステム
７０    送受信バッファ
７２    送信バッファ
７４    受信バッファ
７６    シフトレジスタ
７８    送受信切替部
８０    クロック制御部
８２    分周回路
８４    制御レジスタ
９０    ＣＰＵ
９２    送受信切替部
９４    クロック制御部
９５    周波数検出部
９６    分周回路
９８    制御レジスタ
１００  アドレスアップカウンタ
１０２  セレクタ
１０４  トレースメモリ
１０６  セレクタ
１０８  ＲＯＭ
１１０  メインモニタＲＯＭ
１１２  ＲＡＭ
１１４  ＲＳ２３２Ｃインターフェース
１１６  パラレルインターフェース
１１８  クロック生成部
１４０  マイクロコンピュータ（情報処理装置）
１４２  通信部
１４４  送受信回路
１４６  分周回路
１４８  分周比制御部
１５０  デバッグツール（第２の情報処理装置）
１５２  通信部
１５４  送受信回路
１５６  分周回路
１５８  分周比制御部
１５９  周波数検出回路
【図１】
0003666237.tif 000002
【図２】
0003666237.tif 000003
【図３】
0003666237.tif 000004
【図４】
0003666237.tif 000005
【図５】
0003666237.tif 000006
【図６】
0003666237.tif 000007
【図７】
0003666237.tif 000008
【図８】
0003666237.tif 000009
【図９】
0003666237.tif 000010
【図１０】
0003666237.tif 000011
【図１１】
0003666237.tif 000012
【図１２】
0003666237.tif 000013
【図１３】
0003666237.tif 000014
【図１４】
0003666237.tif 000015
【図１５】
0003666237.tif 000016
【図１６】
0003666237.tif 000017
【図１７】
0003666237.tif 000018
【図１８】
0003666237.tif 000019
【図１９】
0003666237.tif 000020