(57)【要約】  【課題】モデム半導体装置等の通信装置のパッチプコードが、正確に書き換わっているか否かを容易に確認することができ、通信装置の信頼性を向上させることが可能な通信評価方法および通信評価装置を提供する。  【解決手段】通信評価装置１０を、割り込み監視部１１１と、アドレス読込部１１２と、パッチデータ出力部１１３と、から構成する。通信評価装置１０により実行される通信評価方法は、割り込み監視部１１１によりファックスモデム２０からの割り込みを監視するステップと、アドレス読込部１１２によりプログラムカウンタの内容を読み込むステップと、その内容がメモリ１２のアドレスと一致した時に、アドレス読込部１１２によりパッチデータを読み込むステップと、パッチデータ出力部１１３によりパッチデータをモニタ１７等に出力するステップとを有する。【選択図】図３
2015014974.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリに記憶されたプログラムを順次実行するプロセッサを備え、前記プログラムに対してパッチデータが設定されているときに、前記プロセッサが、前記不揮発性メモリの前記プログラムに代えて、前記パッチデータを実行するように構成されたモデム半導体装置の通信状態を、前記パッチデータに基づいて評価する通信評価方法であって、
前記モデム半導体装置の前記プロセッサが実行する前記プログラムのアドレスを読み込むアドレス読み込みステップと、
読み込んだ前記プログラムのアドレスを、記憶部にあらかじめ記憶されたパッチアドレスと比較し、これらが一致した場合は、前記モデム半導体装置から実行中の前記パッチデータを読み込むパッチデータ読み込みステップと、
前記モデム半導体装置から読み込んだ前記パッチデータを、出力部に出力するパッチデータ出力ステップと、を有することを特徴とする通信評価方法。
【請求項２】
前記モデム半導体装置は、複数のフェーズからなる通信処理を、前記フェーズごとに順次実行するとともに、前記フェーズが切り替わるごとに、割り込み信号を出力するように構成され、
前記モデム半導体装置からの前記割り込み信号を監視するステップを、さらに有し、
前記割り込み信号を受信するごとに、前記アドレス読み込みステップと、前記パッチデータ読み込みステップと、前記パッチデータ出力ステップと、を繰り返すことを特徴とする請求項１に記載の通信評価方法。
【請求項３】
前記記憶部は、前記パッチアドレスとともに、前記パッチデータが予め記憶されており、
前記パッチデータ出力ステップは、前記モデム半導体装置から読み出した前記パッチデータと、前記記憶部に記憶された前記パッチデータとを、前記出力部に出力するよう構成されたことを特徴とする請求項１または２に記載の通信評価方法。
【請求項４】
前記パッチデータ出力ステップは、前記モデム半導体装置から読み出した前記パッチデータと、前記記憶部に記憶された前記パッチデータとを比較し、これらが一致しない場合は、前記出力部に、エラーを表示するよう構成されたことを特徴とする請求項３に記載の通信評価方法。
【請求項５】
不揮発性メモリに記憶されたプログラムを順次実行するプロセッサを備え、前記プログラムに対してパッチデータが設定されているときに、前記プロセッサが、前記不揮発性メモリの前記プログラムに代えて、前記パッチデータを実行するように構成されたモデム半導体装置の通信状態を、前記パッチデータに基づいて評価する通信評価装置であって、
前記モデム半導体装置で実行される前記パッチデータのパッチアドレスが記憶された記憶部と、
通信評価結果を出力する出力部と、
前記モデム半導体装置の前記プロセッサが実行する前記プログラムのアドレスを読み込むアドレス読込部と、
前記アドレス読込部が読み込んだ前記プログラムのアドレスを、前記記憶部に記憶された前記パッチアドレスと比較し、これらが一致した場合は、前記モデム半導体装置から実行中の前記パッチデータを読み込むパッチデータ読込部と、
前記パッチデータ読込部で読み込んだ前記パッチデータを、前記出力部に出力するパッチデータ出力部と、を備えたことを特徴とする通信評価方法。
【請求項６】
前記モデム半導体装置から、通信処理のフェーズが切り替わるごとに送信される割り込み信号を監視する割り込み監視部をさらに備え、
前記割り込み監視部が、前記割り込み信号を受信するごとに、前記アドレス読込部による前記プログラムのアドレスの読み込みと、前記パッチデータ読込部による前記パッチデータの読み込みと、前記パッチデータ出力部による前記パッチデータの出力と、を繰り返すよう構成されたことを特徴とする請求項５に記載の通信評価装置。
【請求項７】
外部機器と通信する外部インタフェースを有し、前記外部インタフェースを介して、前記記憶部の前記パッチアドレスが書き込まれることを特徴とする請求項５または６に記載の通信評価装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファックスモデム等のモデム半導体装置の通信状態を評価する通信評価方法および通信評価装置に関する。
【背景技術】
【０００２】
従来、通信機能を有する通信装置として、ファックスモデム等のモデム半導体装置が知られている。このようなモデム半導体装置は、単独で製品化されているものもあるが、プリンタ、スキャナ、ファックス等の複数の機能を備えた複合機（ＭＦＰ：Multi Function Product）等のホストに組み込まれたものも存在する。このようなモデム半導体装置は、ホストインタフェースを介してホストの制御装置により動作等を制御されている。また、モデム半導体装置では、外部との通信に際して、複数の処理が順次実行される。以下、各処理を実行している段階を、「フェーズ」または「ステータス」と呼ぶ。モデム半導体装置は、ＤＳＰ（Digital Signal Processor）等のプロセッサを備えており、このプロセッサは、フェーズごとに、マスクＲＯＭ（Read Only Memory）に書き込まれたプログラムデータを順次読みこんで実行することで、モデム半導体装置の動作を決定していく。
【０００３】
しかしながら、このマスクＲＯＭは不揮発性であるため、プログラムデータに不具合（バグ）が生じた場合であっても、当該プログラムデータを書き換えることできない。そのため、バグを生じたマスクＲＯＭを、修正したプログラムデータが書き込まれたマスクＲＯＭに交換する必要がある。しかし、マスクＲＯＭは高価であるため、マスクＲＯＭを交換するのはコスト的に容易なことではない。
【０００４】
このように書き換えることのできないマスクＲＯＭのバグのあるプログラムデータを、修正したプログラムデータに置き換える方法として、パッチを使う方法が既に知られている（例えば、特許文献１参照）。パッチにより、バグを修正することを「パッチを当てる」と表現することがある。このパッチによるバグの修正をするにあたり、プロセッサは、ステータスごとに、実行するプログラムのアドレスと、パッチアドレスレジスタに記憶されたパッチプログラム（パッチコード）のアドレスとを比較し、これらが一致しない場合は、マスクＲＯＭのプログラムを命令コードとして実行する。双方のアドレスが一致する場合は、マスクＲＯＭのプログラムに代えて、パッチデータレジスタの内容（パッチコード）を命令コードとして実行する。これにより、バグのあったプログラムデータを、修正後のプログラムデータ（パッチコード）に変更することができる。
【０００５】
また、特許文献１では、パッチをより多く当てるという目的で、初期化の時、ＲＡＭ等の書き込み可能なメモリの特定の場所に、ＲＯＭプログラムエリアの所望の場所へのジャンプ命令に該当するコードデータを書き込んでおくという構成が開示されている。これにより、パッチレジスタの内容を、プログラムの実行状況に応じて動的に書き換えることができ、より複雑な多くのパッチプログラムを実現することを可能としている。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
このようにパッチコードが複雑になると、パッチコードの作成をミスすることがあるため、モデム半導体装置のプログラムデータが正確に書き換わっているかを確認する必要が生じる。しかしながら、従来技術では、このようなミスが存在するか否か、すなわち、パッチコードが正確であるか否かを確認する方法は開示されていない。また、プロセッサで実行される処理が所定のステータスに達したときに、正確にプログラムデータが書き変わっているかどうか確認（評価）する方法も開示されていない。このようにパッチコードが正確に書き換わってない場合、モデム半導体装置の信頼性にも影響してしまうことがある。
【０００７】
本発明は、上記の事情に鑑みて為されたもので、モデム半導体装置等の通信装置のパッチコードが、正確に書き換わっているか否かを容易に確認することができ、通信装置の信頼性を向上させることが可能な通信評価方法および通信評価装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の目的を達成するため、本願に係る通信評価方法は、不揮発性メモリに記憶されたプログラムを順次実行するプロセッサを備え、プログラムに対してパッチデータが設定されているときに、プロセッサが、不揮発性メモリのプログラムに代えて、パッチデータを実行するように構成されたモデム半導体装置の通信状態を、パッチデータに基づいて評価する通信評価方法であって、モデム半導体装置のプロセッサが実行するプログラムアドレスを読み込むアドレス読み込みステップと、読み込んだプログラムアドレスを、記憶部にあらかじめ記憶されたパッチアドレスと比較し、これらが一致した場合は、モデム半導体装置から実行中のパッチデータを読み込むパッチデータ読み込みステップと、モデム半導体装置から読み込んだパッチデータを、出力部に出力するパッチデータ出力ステップと、を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、モデム半導体装置等の通信装置のパッチコードが、正確に書き換わっているか否かを容易に確認することができ、通信装置の信頼性を向上させることが可能な通信評価方法および通信評価装置を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】本願の実施例１に係る通信評価装置のハードウェア構成例を示すブロック図である。
【図２】実施例１の通信評価装置が評価するファックスモデムのプロセッサ（ＤＳＰ）がプログラムを実行する動作を説明するための説明図で、（ａ）はＤＳＰがＲＯＭのプログラムを実行している状態を示し、（ｂ）はＤＳＰがパッチコードを実行している状態を示す。
【図３】実施例１における通信評価装置の機能ブロック図である。
【図４】実施例１の通信評価装置で実行される通信評価の処理工程を示すフローチャートである。
【図５】モニタに出力されたダンプの一例を示す概略図である。
【発明を実施するための形態】
【実施例１】
【００１１】
以下、本願に係るモデム半導体装置の通信評価方法およびこの通信評価方法を実現する通信評価装置の一実施形例について、図面を参照して説明する。図１は通信評価装置のハードウェア構成例を示す。図２は、通信評価装置で評価するモデム半導体装置としてのファックスモデムにおいて、プロセッサ（ＤＳＰ）がプログラムを実行する動作を説明するための説明図である。図２（ａ）はＲＯＭに記憶されたプログラムを実行している状態を示す概略図であり、図２（ｂ）はパッチコードを実行している状態を示す概略図である。図３は、通信評価装置の機能ブロック図を示す。
【００１２】
（通信評価装置の構成）
図１に示すように、実施例１の通信評価装置１０のハードウェア構成は、ＣＰＵ（中央処理ユニット;Central Processing Unit）１１と、ＲＯＭ（リードオンリーメモリ；Read Only Memory）、ＲＡＭ（ランダムアクセスメモリ；Random Access Memory）およびＨＤＤ（Hard Disk Drive）等からなるメモリ（記憶部）１２と、外部インタフェース（以下、「外部Ｉ/Ｆ」と呼ぶ）１３と、デバッグインタフェース（以下、「デバッグＩ／Ｆ」と呼ぶ）１４と、出力インタフェース（以下、「出力Ｉ／Ｆ」と呼ぶ）１５と、等を備えて構成される。
【００１３】
ＣＰＵ１１は、データバス１６を介して、通信評価装置１０内の各部に接続されている。ＣＰＵ１１は、メモリ１２のＲＯＭに予め記憶されている通信評価プログラムに従って、ＲＡＭをワークメモリとして用いて、通信評価装置全体の動作を制御し、各種機能を実現する。
【００１４】
また、メモリ１２には、通信評価プログラムの他に、正確性の評価対象となるパッチデータのアドレスと、そのパッチデータとが記憶されている。これらは、正しいパッチデータとそのアドレス、すなわち、ファックスモデム２０のパッチアドレスレジスタとパッチデータレジスタに、本来書き込まれるべきデータである。本願の通信評価方法では、このメモリ１２内のこれらの正しいデータと、ファックスモデム２０のデータとを比較することで、パッチデータの正確性を確認するものである。メモリ１２には、ファックスモデム２０で実行されるファックス通信の各フェーズ（詳細は、後述する）のアドレス、および、各フェーズで設定されている１つまたは複数のパッチコードのアドレスが設定されている。このメモリ１２内のアドレスは、外部Ｉ／Ｆ１４を介して、外部機器としてのパーソナルコンピュータ（以下、「ＰＣ」と呼ぶ）により書き込まれる。
【００１５】
なお、本実施例では、パッチコードとともにパッチアドレスも出力するため、メモリ１２にはパッチデータも記憶されている。しかし、本願がこれに限定されることはなく、ファックスモデム２０からパッチデータを読み込むためのパッチアドレスが解ればよいため、パッチアドレスのみメモリ１２に書き込んでおいてもよい。また、エラー表示等を出力する場合には、各種パラメータや画像テンプレート、その他の情報をメモリ１２に書き込んでもよい。
【００１６】
外部Ｉ／Ｆ（「ユーザインタフェース」とも言う）１３は、通信評価装置１０とＰＣその他の外部機器との通信を可能とするインタフェースである。デバッグＩ／Ｆ１４は、デバッグ用のインタフェースであり、モデム半導体装置の通信評価の実行時に、このモデム半導体装置との通信を可能とするインタフェースである。出力Ｉ／Ｆ１５は、通信評価装置１０での通信評価結果を出力する出力部としてのモニタ１７やプリンタ１８とのインタフェースである。
【００１７】
図３に、通信評価装置１０の機能ブロック図を示す。また、図３には、ファックスモデム２０と通信評価装置１０とのデータ（アドレス、パッチデータ、割り込み信号等）のやり取りを模式的に示している。この図３に示すように、通信評価装置１０は、割り込み監視部１１１と、アドレス読込部（本実施例では、パッチデータ読込部を兼用する）１１２と、パッチデータ出力部１１３とを有して構成される。これらの機能は、ＣＰＵ１１上で実行される。割り込み監視部１１１は、ファックスモデム２０からの割り込み信号を監視し、割り込み信号があった場合に、アドレス読込部１１２に通知する。アドレス読込部１１２は、ファックスモデム２０のプログラムカウンタの内容を読み込み、その内容があらかじめメモリ１２に設定（記憶）されたパッチデータのアドレスと一致するか比較し、一致した時に、ファックスモデム２０からパッチデータを読み出す。パッチデータ出力部１１３は、アドレス読込部１１２により読み出されたパッチデータを、パッチアドレスとともにモニタ１７やプリンタ１８に出力する。
【００１８】
（モデム半導体装置の構成）
次に、通信評価装置１０で通信評価が行われる通信装置としてのモデム半導体装置について説明する。実施例１では、モデム半導体装置の一例として、ファックスモデム２０を用いている。このモデム半導体装置がファックスモデム２０に限定されることはなく、所定の手順に従って、外部機器との通信を行うものであれば、いずれのものに対しても、本願の通信評価方法を適用することができる。モデム半導体装置の他の具体例として、無線モデム、ＡＤＳＬモデム、ボイスモデム等が挙げられるが、これらに限定されることもない。実施例１で用いるファックスモデム２０は、図１に示すように、プロセッサとしてのＤＳＰ（Digital Signal Processor）２１と、メモリ（記憶部）２２と、ホストインタフェース（以下、「ホストＩ／Ｆ」と呼ぶ）２３と、通信インタフェース（以下、「通信Ｉ／Ｆ」と呼ぶ）２４と、デバッグインタフェース（デバッグＩ／Ｆ）２５と、等を備えて構成されている。ファックスモデム２０は、例えば、ホストとしてのＭＦＰ等に内蔵されている。ファックスモデム２０と通信評価装置１０とは、ＵＳＢケーブルやＳＣＳＩケーブル等により接続される。
【００１９】
メモリ２２は、ＲＯＭ２２１と、パッチアドレスレジスタ２２２と、パッチデータレジスタ２２３と、ＲＡＭ２２４と、等を備えて構成されている。ＲＯＭ２２１は、ＤＳＰ２１が実行するプログラムが書き込まれている。パッチアドレスレジスタ２２２には、変更したいプログラムのアドレスが記憶され、パッチデータレジスタ２２３には、変更するプログラムデータ（パッチコード）が記憶されている。ＲＡＭ２２４は、一時的に使用されるデータの記憶に用いられるとともに、ＤＳＰ２１によりワークメモリとして用いられる。
【００２０】
ＤＳＰ２１は、データバス２６を介して、ファックスモデム２０内の各部に接続されている。ＤＳＰ２１は、プログラムカウンタに示されるアドレスに対応するＲＯＭ２２１の内容を命令コードとして実行する。また、ＤＳＰ２１は、パッチアドレスレジスタ２２２に基づいて、ＲＯＭ２２１の命令コードに代えて、パッチデータレジスタ２２３に書き込まれたパッチコードを実行する。
【００２１】
また、１つのパッチを実行するに当たり、単に１命令の入れ替えでは済まない場合等は、パッチ用のプログラムデータをＲＡＭ２２４に書き込んでいてもよい。この場合、パッチデータアドレスには、ＲＡＭ２２４のパッチプログラムが記載された領域のアドレスが記憶される。そして、パッチの実行の際に、パッチデータレジスタ２２３のアドレスを参照して、ＲＡＭ２２４のパッチプログラムが記載された領域に飛び、この領域に書き込まれたパッチプログラムを実行するようにしてもよい。ＲＡＭ２２４の当該領域のパッチの最終行には、ＲＯＭ２２１へのジャンプ命令を置いておくことで、パッチ完了後、所定の処理に戻ることができる。
【００２２】
パッチアドレスレジスタ２２２、パッチデータレジスタ２２３、および、ＲＡＭ２２４へのアドレスやパッチデータ（パッチコード）の書き込みは、例えば、ホスト側（ＭＦＰの場合は、ＭＦＰ内の制御装置等を示す）から、プログラムを実行すること等により行われる。
【００２３】
ホストＩ／Ｆ２３は、ホスト（ＭＦＰ）との通信を可能とするためのインタフェースである。本願の通信評価装置１０との通信は、このホストＩ／Ｆ２３を介して行われる。通信Ｉ／Ｆ２４は、電話回線等の通信経路と接続し通信するためのインタフェースであり、ファックスデータの送受信等を実現する。デバッグＩ／Ｆ２５は、デバッグ用のインタフェースである。本実施例のファックスモデム２０では、通信評価装置１０との通信を、ホストＩ／Ｆ２３を介して行っているが、このデバッグＩ／Ｆ２５を介して行ってもよい。
【００２４】
ここで、本実施例のファックスモデム２０の基本的な動作を説明する。本実施例のファックスモデム２０では、例えば、ＣＣＩＴＴ勧告のＴ．３０手順に従ってファックス通信が行われる。Ｔ．３０手順に規定されたＦＡＸ通信手順では、通信全体をフェーズＡ〜フェーズＥの５のフェーズに分けて規定している。
【００２５】
フェーズＡは、回線接続のための「呼」の設定の過程である。フェーズＢは、前処理の過程（プリメッセージ過程）で、伝送路の状態確認、端末の送受信の準備状態、端末定数の表示と決定および同期状態の確認などを行い、ファクシミリメッセージの伝送の準備を行う過程である。フェーズＣは、ファクシミリメッセージの伝送過程であり、符号化された画像データを受信側へ伝送する。フェーズＤは、ファクシミリメッセージの終了と受信確認を行う過程（ポストメッセージ過程）であり、「呼」の切断処理の開始を宣言する。フェーズＥは、回線切断のための「呼」の解放過程である。
【００２６】
ファックスモデム２０のＤＳＰ２１は、以上のようなフェーズごとに、ＲＯＭ２２１に書き込まれたプログラムを実行し、ファックス通信を実現する。以下、ＤＳＰ２１による基本的なプログラムの実行手順およびパッチの実行手順について、図２を参照して説明する。ファックスモデム２０において、ＤＳＰ２１がプログラムを実行するに際し、プログラムカウンタの内容と、パッチアドレスレジスタ２２２の内容（パッチアドレス）とが比較される。これらが一致しない場合は、パッチが設定されていない状態（通常状態）であることから、ＤＳＰ２１にはＲＯＭ２２１の命令コードが送られ、当該命令コードがＤＳＰ２１にて実行される。プログラムカウンタの内容と、パッチアドレスレジスタ２２２の内容アとが一致する場合は、パッチが設定されている。そのため、図２（ｂ）に示すように、ＲＯＭ２２１の命令コードに代えて、パッチデータレジスタ２２３の内容（パッチデータ）がＤＳＰ２１に送られ、当該パッチデータがＤＳＰ２１にて実行される。これにより、バグのあった命令コードを、修正後のパッチデータに変更して実行することができる。
【００２７】
ここで、パッチにおける従来の問題点について説明する。通常は、モデム半導体装置に組み込まれたＤＳＰの開発を行ったファームウェア開発者（以下、「ＤＳＰ側ファームウェア開発者」と呼ぶ）が、パッチコードの作成を行う。一方、このＤＳＰ側ファームウェア開発者が作成したパッチコードをモデム半導体装置内に書き込む場合、その作業はホスト側のソフトウェア設計者が行う。このように、パッチコードを作成する者とパッチデータをモデム半導体装置に書き込む者とが同一でない場合が多い。
【００２８】
また、ホスト側ソフトウェア設計者が書き込みを行うことから、パッチコードが正確か否かを確認する場合、その作業はホスト側ソフトウェア設計者に委ねられる。この確認を行うためには、例えば、ホスト側で、半導体装置の通信ステータスの切替わりを確認しながら、所定のメモリ領域を読み出し、実行中のプログラムデータを確認して貰う必要がある。したがって、本来はパッチコードを作成したＤＳＰ側ファームウェア開発者が確認すべきところをホスト側ソフトウェア設計者が確認する必要が生じる。ホスト側ソフトウェア設計者は、自身が作成したものではないパッチを確認する必要があり、確認作業に手間がかかってしまう。さらに、作成されたパッチコードにミスがないか否か、モデム半導体装置のプログラムデータが正確に書き換わっているかを確認する有効な方法は未だ開発されていない状況にある。
【００２９】
このような問題を解消するため、本願の実施例１に係る通信評価装置１０を用いた通信評価方法では、ファックスモデム２０の通信フェーズごとに、実行されるパッチコードを読み込み、このパッチコードに基づいて通信状態を評価している。これにより、パッチコードの正確性を容易に確認できるようにした。また、この通信評価は、パッチを当ててプログラムデータを書き換えた後のファックスモデム２０に通信評価装置１０を接続し、パッチコードの作成者であるＤＳＰ側ファームウェア開発者が通信評価装置１０を操作することで行える。したがって、ホスト側ソフトウェア設計者の手を煩わすことなく、パッチコードを作成したＤＳＰ側ファームウェア開発者自身が、パッチコードの正確性の確認作業を効率的に行うことができる。
【００３０】
（通信評価方法）
以下、実施例１の通信評価装置１０を用いた、ファックスモデム２０の通信評価方法について、図３の説明図および図４のフローチャートを用いて説明する。実施例１の通信評価装置１０を用いた通信評価は、ファックスモデム２０でファックス通信を行っているときに、ファックスモデム２０から通信評価装置１０に対してフェーズが切り替わるごとに送信されてくる割り込み信号に基づいて行われる。実施例１では、通信評価装置１０とファックスモデム２０との通信は、通信評価装置１０のデバッグＩ／Ｆ１４とファックスモデム２０のホストＩ／Ｆ２３とを介して行われる。なお、ファックスモデム２０に、通常のファックス通信を行う通常モードと、通信評価を行うためのデバッグ用のファックス通信を行うデバッグモードとを予め設定しておいてもよい。そして、通信評価を実行する際には、ファックスモデム２０は、デバッグＩ／Ｆ２５を介して通信評価装置１０と通信するようにしてもよい。
【００３１】
ファックスモデム２０がファックス通信を開始すると、ファックスモデム２０から通信評価装置１０に対して、割り込み信号が出力される。この割り込み信号をトリガーとして、通信評価装置１０は通信評価処理を開始する。また、ファックスモデム２０は、前述したように、ファックス通信のフェーズＡ〜フェーズＥの過程を順次実行していく。このフェーズが切り替わるとき（各フェーズを実行するとき）、ファックスモデム２０は、ホストＩ／Ｆ２４を介して、通信評価装置１０に割り込み信号を送信する（図３参照）。この割り込み信号は、デバッグＩ／Ｆ１４（図３参照）を介して通信評価装置１０に入力される。
【００３２】
以下、通信評価装置１０で行われる通信評価処理の各工程について図４のフローチャートを用いて説明する。通信評価装置１０では、割り込み監視部１１１が、ファックスモデム２０から割り込み信号があったか判定し（ステップＳ１）、割り込みがない場合には（Ｎｏ）、ステップＳ１を繰り返して、割り込み信号を待ち続ける。一方、ファックスモデム２０からの割り込み信号があった場合（Ｙｅｓ）、ステップＳ２に進み、ファックスモデム２０で実行されているフェーズの確認を行う。この確認のため、アドレス読込部１１２は、ファックスモデム２０内でＤＳＰ２１が実行するプログラムのアドレス（プログラムカウンタの内容）を読み込む。次に、ステップＳ３で、この読み込んだプログラムのアドレス（プログラムカウンタの内容）と、あらかじめ通信評価装置１０のメモリ１２内に設定（記憶）されたフェーズ（パッチが当てられているフェーズ）のプログラムの先頭アドレスとが一致しているかを確認する。一致していない場合（Ｎｏ）は、ステップＳ１に戻り、次のフェーズがパッチの当てられた目的のフェーズであるか判定すべく、再度割り込みを待ち続ける。
【００３３】
一方、ステップＳ３の判定で、プログラムカウンタのアドレスとフェーズのアドレスとが一致した場合は（Ｙｅｓ）、アドレス読込部１１２は、当該フェーズについて、ＤＳＰ２１が実行するプログラムのアドレスの監視を開始する。この監視のため、まず、ＤＳＰ２１で実行中の命令コードのアドレス（プログラムカウンタの内容）を読み込む（以上、ステップＳ４）。この読み込んだアドレスが、メモリ１２内にあらかじめ設定されたパッチデータのアドレスと一致しているか否か判定する（ステップＳ５）。これらのアドレスが一致していない場合（Ｎｏ）とは、ＤＳＰ２１が実行中の命令コードにパッチが設定されておらず、通常状態でＲＯＭ２２１の命令コードを実行している場合である。この場合は、次に実行されるプログラムデータのアドレスが一致するか監視すべく、ステップＳ４に戻る。
【００３４】
一方、ステップＳ５の判定で、アドレスが一致した場合（Ｙｅｓ）、アドレス読込部１１２は、当該アドレスに対応するパッチデータレジスタ２２３の内容をファックスモデム２０から読み込む（ステップＳ６）。つまり、ＤＳＰ２１では、プログラムカウンタ内のアドレスが、パッチアドレスレジスタ２２２のアドレスと一致した場合、ＲＯＭ２２１の内容ではなく、パッチデータレジスタ２２３の内容がＤＳＰ２１にて実行される。このタイミングで、アドレス読込部１１２がＤＳＰ２１で実行されているプログラムのアドレスを読み込むと、メモリ１２に予め設定されたアドレスと一致することとなり、評価すべき目的のパッチコードを取得することができる。
【００３５】
上述のようにパッチデータレジスタ２２３の内容（パッチデータ）を読み込んだら、パッチデータ出力部１１３は、この読み込んだパッチデータレジスタ２２３の内容（パッチデータ）と、パッチアドレスレジスタ２２２の内容（アドレス）とを、モニタ１７、プリンタ１８等の出力部にダンプ出力する（ステップＳ７）。図５に、モニタ１７にテキストデータとして出力されたダンプの一例を示す。この図５に示すように、ファックスモデム２０から読み出したパッチアドレスと、パッチデータとが対応づけられてモニタ１７に表示される。
【００３６】
次に、当該フェーズに対して設定されているすべてのパッチデータについて、処理が終わったかを判定する（ステップＳ８）。すべてのパッチデータについての処理が終了した場合（Ｙｅｓ）、次のフェーズの処理を行うか否かを判断すべく、ステップＳ９に進む。評価すべきパッチデータが未だ残っている場合（Ｎｏ）、次のパッチデータを読み込んで、そのデータのダンプ出力を行うべく、ステップＳ４に戻り、ステップＳ４〜ステップＳ７を繰り返す。このように、１つのフェーズにおいて、１つのパッチのみが設定されている場合は、ステップＳ４〜ステップＳ７の処理は１回のみ行われる。これに対して、１つのフェーズに複数のパッチが設定されている場合は、このパッチの数分、ステップＳ４〜ステップＳ７の処理が繰り返される。
【００３７】
１つのフェーズについて、パッチコードの読み込みと出力とが終了したら、ステップＳ９において、すべてのフェーズについて処理が終了したか否かを判定する。評価すべきフェーズがまだ残っている場合（Ｎｏ）、ステップＳ１に戻り、次のフェーズの割り込み信号を待ち、割り込み信号を受信したら、ステップＳ１〜ステップＳ７の処理全体を繰り返す。一方、すべてのフェーズについて処理が終了した場合（Ｙｅｓ）、ファックス通信が終了したことから、処理全体を終了する。通信評価処理が終了した後は、ファックスモデム２０から通信評価装置１０を取り外すことにより、通信評価が完了する。ファックスモデム２０では、その後、通常の通信処理を続行することができる。
【００３８】
以上、実施例１では、フェーズごとに、ＤＳＰ２１で実行しているすべてのパッチデータについて、このパッチデータと、対応するアドレスとを、モニタ１７等にダンプ出力している。このモニタ１７等に出力されたダンプを、ＤＳＰ側ファームウェア開発者が視認し、解析することで、パッチデータが正確に当たっているかどうかを確認することができる。そのため、ホスト側ソフトウェア設計者の手を煩わせることなくパッチの正確性の確認を効率的に行うことができる。また、ダンプを確認した上で、パッチデータにエラーがあった場合は、ＤＳＰ側ファームウェア開発者は、正しいパッチコードを作成し、ファックスモデム２０のデータを書き換えることができる。その後、再度通信評価処理を実行することで、新たなパッチデータの正確性を確認することができるとともに、パッチの正確性が担保されることで、ファックスモデム２０の信頼性を向上させることができる。
【００３９】
また、上記では、１回のファックス通信について通信評価処理を実行しているが、ファックス通信が開始されるごとに通信評価処理（ステップＳ１〜Ｓ９の処理）を行ってもよい。また、デバッグモードの時のみ行うなど、所定のファックス通信のときのみ実行するようにしてもよい。また、通信評価処理を実行するときのみ、ファックスモデム２０から通信評価装置１０に対して割り込み信号を送信するように設定し、通信評価処理の終了後は、割り込み信号を送信しないように設定してもよい。
【００４０】
なお、実施例１では、ステップＳ７において、パッチデータを読み出すごとに、パッチアドレスとパッチデータとをダンプ出力を実行している。また、実施例１では、ファックスモデム２０から読み込んだパッチアドレスとパッチデータとを出力している。しかし、本願がこの実施例に限定されることはなく、パッチアドレスとパッチデータとを、ログとしてログファイル等に記憶しておき、ファックス通信が終了したタイミングで、ログファイルの内容を一括してダンプ出力してもよい。また、ファックスモデム２０から読み出したパッチアドレスおよびパッチデータと、メモリ１２に予め設定されたパッチデータ（正しいパッチデータ）とを並べて表示してもよい。このように、ファックスモデム２０に書き込まれたパッチデータと、正確なパッチデータとを比較することで、パッチの正確性を、より明確かつ迅速に把握することができる。
【００４１】
また、ステップＳ６でパッチデータを読み込む場合、当該パッチデータだけでなく、その前後の数ワード分のプログラムデータ（命令コード）を読み込んでもよい。そして、当該パッチコードと、その前後の命令コードとをモニタ１７等の出力部に出力することで、当該パッチデータの前後のプログラムとのつながり等を把握することができる。
【００４２】
また、ダンプをモニタ１７やプリンタ１８に出力しているが、これらに限定されることはなく、内臓または外付けハードディスクやフラッシュメモリ等に出力（保存）してもよい。また、ファックスモデム２０から読み込んだパッチデータと通信評価装置１０のメモリ１２にあらかじめ記憶された正しいパッチデータとを比較し、不一致（エラー）の場合は、モニタ１７等にエラー表示を行ってもよい。例えば、一致しないパッチデータ（エラー）を赤色表示、蛍光表示、点滅表示してもよいし、警告メッセージを表示してもよい。また、音声メッセージやブザー等により、エラーの発生を知らせてもよい。
【００４３】
以上、本発明の実施例を図面により詳述してきたが、上記各実施例は本発明の例示にしか過ぎないものであり、本発明は上記各実施例の構成にのみ限定されるものではない。本発明の要旨を逸脱しない範囲の設計の変更等があっても、本発明に含まれることは勿論である。
【符号の説明】
【００４４】
１０  通信評価装置    １２  メモリ（記憶部）    １７  モニタ（出力部）
１８  プリンタ（出力部）    ２０  ファックスモデム（モデム半導体装置）
２１  ＤＳＰ（プロセッサ）    ２２  メモリ（記憶部）
１１１  割り込み監視部    １１２  アドレス読込部（パッチデータ読込部）
１１３  パッチデータ出力部    ２２１  ＲＯＭ（不揮発性メモリ）
２２２  パッチアドレスレジスタ    ２２３  パッチデータレジスタ
【先行技術文献】
【特許文献】
【００４５】
【特許文献１】特開２００５−６３３１１号公報
【図１】
2015014974.tif 000003
【図２】
2015014974.tif 000004
【図３】
2015014974.tif 000005
【図４】
2015014974.tif 000006
【図５】
2015014974.tif 000007