(57)【要約】【課題】通信処理の各状態毎に必要となるモジュールのみ内部ＲＡＭに転送して動作させることを可能にし、コスト安で柔軟にプログラム変更可能な通信処理装置を提供すること。【解決手段】状態遷移型通信処理装置において、内部ＲＡＭ４０９にロードされるプログラムサイズを、全シーケンスのなかで各状態に関連したモジュールのみに限るようにして、大容量の通信処理プログラムを外部ＲＯＭ４０８に配置する。また、外部メモリに変更可能なメモリを使用し、シーケンス関連プログラムを配置する。【選択図】　　　図４
2004135030.tif 000002
【特許請求の範囲】
【請求項１】
端末との間でデータを送受信する端末インターフェースと、公衆電話回線に接続し、該電話回線を介して相手通信装置とデータ通信をする回線インターフェースと、遷移テーブルに従ってプログラム開始時に、外部メモリ内のプログラムをＬＳＩ内部のＲＡＭへダウンロードして通信処理プログラムを実行し、複数の通信プロトコルのうち一つを相手通信装置との接続シーケンス中に決定するマイクロプロセッサと、該マイクロプロセッサに結合されたシステムバスに接続されたリードオンリーメモリとランダムアクセスメモリなどを一チップ上に集積し、該外部メモリから該内部ＲＡＭへのデータ転送に対してダイレクト・メモリアクセス制御を行うＤＭＡ制御手段を有するＬＳＩと、該ＬＳＩに接続された通信処理用プログラムが格納されたＲＯＭとを有することを特徴とする状態遷移型通信処理装置。
【請求項２】
プログラムをシーケンス処理部と、信号処理などそれ以外の処理部とに分け、該シーケンス処理部は外部メモリに、それ以外の処理部はＬＳＩ内部ＲＯＭに配置し、状態遷移番号で管理された各状態に対して、状態の入場処理、定常処理、退場処理、複数の遷移処理の各処理のプログラムモジュール番号をリストアップした状態遷移テーブルを、プログラム開始時に外部メモリから内部ＲＡＭへロードし、該状態遷移テーブルを使って、変復調のシンボルタイミングなどの時間間隔をトリガとしてシーケンス処理を行い、遷移条件が一致した場合に、次の遷移先に遷移するように動作し、状態を遷移するたびに、次状態の入場処理を行った後、次状態の通常処理、退場処理、複数の遷移処理のすべての関連モジュールを該外部メモリから該内部ＲＡＭにダウンロードし、プログラムを展開することを特徴とする状態遷移型通信処理方法。
【請求項３】
上記請求項２の状態遷移型通信処理方法において、
ＤＭＡ転送終了割り込み機能を持たせ、前記外部メモリから内部メモリにモジュールをダウンロードする場合に、変復調処理などの信号処理を実行し、
モジュール毎にＤＭＡ転送を使ってバックグラウンド処理することで、メモリ転送処理の間、変復調処理を停止することなく、次のシーケンス処理タイミングまでに転送を終了させることを特徴とする状態遷移型通信処理方法。
【請求項４】
上記請求項２の状態遷移型通信処理方法において、
前記状態遷移テーブルで使用するモジュール番号に対して、モジュール格納アドレスとモジュールサイズが記憶されたメモリ転送用モジュールアドレステーブルを有し、
モジュールを内部ＲＡＭに転送後、モジュール番号と転送先のモジュール実行アドレスが記憶された実行用モジュールアドレステーブルを該内部ＲＡＭ内に生成し、
メモリ転送時とモジュール実行時でテーブルを切り替え、モジュールアドレスを動的に変更する
ことを特徴とする状態遷移型通信処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、通信処理装置における通信プロトコル処理などの複雑な処理に使用する状態遷移処理装置および方法に関する。
【０００２】
【従来の技術】
データ通信における端末インタフェースには、たとえば、モデム・インタフェースと呼ばれるアナログ・データ伝送用のＶシリーズ・インタフェースがある（ＣＣＩＴＴ標準）。
【０００３】
Ｖシリーズ勧告には複数の通信方式が勧告化されている。たとえば、Ｖ．２１、Ｖ．２２、Ｖ．２２ｂｉｓ、Ｖ．３２、Ｖ．３２ｂｉｓ、Ｖ．３４、Ｖ．９０、Ｖ．９２などがあげられる。これらの通信方式は、接続時に端末同士で通信方式を決定できるように工夫されているが、その決定方法は複雑で煩雑な手順を必要とする。ＦＳＫ、ＢＰＳＫ、ＱＡＭなどの変復調信号処理やトーン検出用信号処理などを並列処理またはスイッチング処理しながら、相手モデムと接続確立に必要なデータの受け渡しを行い、通信方式を決定する。
【０００４】
これらの通信処理プログラムは、各種の変復調処理などの信号処理プログラム以外に、上記の煩雑な接続処理などを行うシーケンス処理プログラムで構成されている。通信方式をサポートすることで、シーケンス処理プログラム容量が肥大する。
また、相手モデムとの接続性で一番重要なのが、このシーケンス処理である。シーケンス上で問題が発生すると、タイミング等の再調整を行うこととなり、プログラム変更が必要となる。
【０００５】
近年、半導体の微細化が進み、大規模システムＬＳＩを製造できるようになった。そのため、通信処理用ＬＳＩにも大容量のＲＡＭ・ＲＯＭを搭載することが可能となった。
しかし、コスト面から考えるとできるだけＬＳＩのサイズを小さく設計する必要がある。そのため、内蔵メモリはできるだけ小さくする必要がある。
また、内蔵ＲＯＭの場合、プログラムの変更ができないので、プログラム改変のたびにＬＳＩのマスクを改訂しなければならず、コストアップになってしまう。
通常、通信処理ＬＳＩは、主に信号処理を行うために高速なＣＰＵもしくはＤＳＰ（ディジタル・シグナル・プロセッサ）で実現され、外部にＲＯＭやＲＡＭを配置したのでは、バススピードが間に合わない。従って、メモリを外部に配置することでＬＳＩサイズを小さくするということはできない。
【０００６】
マスク改訂を避けてプログラム改訂を容易にするには、内蔵ＲＯＭにエンベデットＦｌａｓｈＲＯＭなどの書き換え可能ＲＯＭを使用することもできる。しかし、ＭａｓｋＲＯＭに比べるとコストアップになってしまう場合が多い。また、プログラムを外部に設置し、初期化時に内部ＲＡＭにプログラムをダウンロードして、内部ＲＡＭを使ってプログラムを実行する方法が考えられるが、大容量のプログラムサイズ分のＲＡＭをＬＳＩ内部に持たせることとなり、これもコストアップとなる。
【０００７】
以上のように通信処理ＬＳＩを構成する上でプログラムメモリをどのように扱うかは、コストやコード改訂の面で非常に重要な要素であり、内部メモリをできるだけ小さくし、外部に変更可能なプログラムメモリを配置することが重要な課題となる。
【０００８】
通信処理装置のプロトコル処理において上記の問題を解決する従来方法として、唯一、特開平０５−０４８６６９号公報の技術で、上記の課題の対策を講じている。
ただし、この方法では通信方式毎にプログラムをスイッチングするため十分なメモリ削減にならない。
また、Ｖシリーズのように接続シーケンス中に通信方式を決定するような場合には適応が難しい。
【０００９】
【特許文献１】
特開平０５−０４８６６９号公報
【００１０】
【発明が解決しようとする課題】
本発明の目的はこれらの課題を解決するために、通信処理の各状態毎に必要となるモジュールのみ内部ＲＡＭに転送して動作させるようにして、コスト安で柔軟にプログラム変更可能な状態遷移型通信処理装置および方法を実現することである。
【００１１】
【課題を解決するための手段】
上記目的を達成するため、本発明に係る状態遷移型通信処理装置は、内部ＲＡＭにロードされるプログラムサイズを、全シーケンスのなかで各状態に関連したモジュールのみに限るようにして、大容量の通信処理プログラムを外部に配置することと、また外部メモリに変更可能なメモリを使用し、シーケンス関連プログラムを配置することを特徴とする。
【００１２】
【発明の実施の形態】
以下、本発明の原理と実施形態を図面により説明する。
【００１３】
（原理）
相手通信装置との接続において、接続シーケンス中に複数の通信プロトコルのうちから一つを決定するプロセスは、トーン検出や各種変復調処理及びそれに関連する機能の動作または停止を制御して、規格化されたタイミングで相手通信装置と信号の送受を行う処理である。このとき、接続過程には様々な状態が存在し、シーケンスプログラムはこの状態遷移を制御するものであるが、状態遷移処理は、このほかにも、通信途中での再接続や速度再設定、パワー検出など、様々な制御で適応されている。
【００１４】
これらの状態遷移をプログラムする方法の一つとして、状態遷移テーブルを用いる方法がある。
【００１５】
図１は状態遷移モデルの例である。このように各状態毎にモジュール番号で管理された入場処理、退場処理、通常処理、イベント処理、アクション処理を定義する。
【００１６】
状態遷移テーブルは、各状態毎にその処理内容をリストしたものである。ここで、入場処理とは、次状態に入場する場合に行う処理、退場処理とは、現在の状態から退場する場合に行う処理、通常処理とは、状態が遷移しない場合に、その状態において毎回実行される処理、イベント処理とは、遷移条件を満足するかを調査する処理、アクション処理とは、状態が遷移する際に処理される処理のことである。シーケンス処理は、シンボル周波数単位など、あらかじめ定義された時間間隔で、状態遷移テーブルにリストされた各状態の処理を実行する。
【００１７】
通常、この処理はテーブルも含めすべてＲＯＭ化されるが、本発明では状態遷移テーブルと状態遷移テーブルから呼ばれるすべてのモジュールを外部メモリに格納し、起動時に状態遷移テーブルと初期状態に関連するモジュールのみ内部ＲＡＭにＤＭＡ転送し、ＲＡＭ上で状態遷移処理プログラムを実行する。そしてイベント発生により状態が次状態へと遷移する度に、次状態でアクセスするモジュールのみ内部ＲＡＭにＤＭＡ転送し、ＲＡＭ上で状態遷移処理プログラムを実行する。
【００１８】
このようにある時点での状態に関連したモジュールのみ内部ＲＡＭに転写するため、内部に少量のメモリを搭載するだけで膨大なシステムを実現できる。
一回にダウンロードするプログラムサイズも少なくすむので、ＤＭＡ転送を使えば、状態遷移処理がシンボル周期など十分な時間間隔で処理されるため、次状態処理が開始するまでに内部ＲＡＭに転送が終了するので、メインの信号処理が必要とするＣＰＵまたはＤＳＰ処理時間を占有せずにすむ。
【００１９】
このような方式を使えば、大容量の通信処理プログラムを外部メモリに配置する事が可能となる。その結果、通信処理ＬＳＩ内部メモリを削減する事ができ、さらに外部メモリに変更可能なメモリを使用することで、プログラム変更にも柔軟に対応できる。
従って、コスト安で柔軟にプログラム変更可能な通信処理装置を実現できる。
【００２０】
（実施例）
図４は本発明に係る通信処理装置の構成例を示す図である。
通信処理装置は端末Ｉ／Ｆ４０４、４１１、公衆回線Ｉ／Ｆ４１２、１チップ通信処理ＬＳＩ４０３、ならびにフラッシュＲＯＭなどのメモリで構成されている。１チップ通信処理ＬＳＩ４０３のシステムバスには内部ＲＡＭ４０９、内部ＲＯＭ４１０及び外部ＲＯＭ４０８が接続されている。なお、４０１は端末、４０２は通信処理装置、４０５、４０７はＩ／Ｏ、４０６はＤＳＰである。
【００２１】
内部ＲＡＭ４０９はワーク用メモリ、内部ＲＯＭ４１０は信号処理などのプログラムモジュールが格納されている。また、外部ＲＯＭ４０８には、状態遷移テーブルとシーケンス処理プログラムモジュールなどが格納されている。
状態遷移テーブルは、図１のようにモデル化された状態遷移モデルに対し、図３のように構成する。
【００２２】
まず、システム起動時の初期化処理として、状態遷移テーブルを外部メモリ４０８から内部ＲＡＭ４０９に転送する。また、初期状態を状態ＩＤ＝１とすると、状態ＩＤ＝１の入場処理１を内部ＲＡＭ４０９に転送し、転送後に入場処理１を実行する。さらにシーケンス初期状態（ＩＤ＝１）に関連するモジュールを内部ＲＡＭ４０９に転送する。
【００２３】
転送するモジュールは状態ＩＤ＝１の通常処理１、退場処理１。さらに、例の状態ＩＤ＝１の場合、遷移条件は１つなので遷移に関係するモジュールのイベント処理１、アクション処理１。そして、遷移先である状態ＩＤ＝２の入場処理２を内部ＲＡＭ４０９に転送しておく。
【００２４】
以後、シーケンス処理はあらかじめ設定した時間間隔で処理される。設定時間としては、シンボル時間やＡ／Ｄ取り込みの数サンプル時間を設定すればよい。たとえば、サンプリング周波数が８ｋＨｚの場合、１２５μｓｅｃ間隔で変復調などの信号処理が行われるが、シーケンス処理はそれほど頻繁に処理する必要がないため、数ｍｓｅｃ単位で十分である。
【００２５】
図２は本発明に係る状態遷移における処理過程図である。
初期化処理後、最初のシーケンス処理タイミングでは、図２に示すように、まず状態１のイベント処理１が処理される。そこで遷移条件が一致しなかった場合、通常処理１が処理され、シーケンス処理は次のシーケンス処理タイミングまで待機する。以降、シーケンス処理タイミング毎に上記の処理を繰り返す。
【００２６】
図３は、本発明に係る状態遷移テーブル図である。
以下、図１を基にして説明する。次に、図３に示すように、イベント処理１で遷移条件が一致した場合は、図２に示すようにアクション処理１、退場処理１を施し、最後に入場処理２を実行する。そして次に遷移する状態（例ではＩＤ＝２）で使用する関連モジュールを内部ＲＡＭ４０９に展開する。例の場合、通常処理２、退場処理２、イベント処理２−１、イベント処理２−２、アクション処理２−１、アクション処理２−２、そして遷移先である状態ＩＤ＝３の入場処理３と状態ＩＤ＝１の入場処理１となる。
【００２７】
以降は上記の処理を繰り返し実行する。
【００２８】
このように、内部ＲＡＭ４０９にロードされるプログラムサイズは、全シーケンスモジュールのなかで各状態に関連したモジュールのみに限られるため、少ないメモリ消費で実現することができ、また、外部メモリにシーケンス関連プログラムを配置することで、プログラム変更にも柔軟に対応できるシステムを実現することができる。
【００２９】
また、外部メモリから内部メモリにモジュールをダウンロードする場合に、ＣＰＵ（またはＤＳＰ）によるデータの読み書き操作で一度にプログラム転送を行うと、変復調処理などの信号処理を転送終了まで待機させる必要が生じるため、プログラム転送にはＤＭＡ制御を使用する。
【００３０】
バックグラウンド転送することで、メモリ転送処理の間中、Ａ／Ｄサンプリング間隔で変復調信号処理を行なうことができる。
【００３１】
このとき、転送する各モジュールは連続したアドレス空間に配置されないため、ＤＭＡ転送をモジュール毎に処理する必要が生じる。バックグラウンドですべてのＤＭＡ転送を完了するには問題となるが、この問題は、ＤＭＡ転送終了割り込み機能を持たせることで、解決される。割り込み処理でモジュール毎にＤＭＡ転送を開始するようにすれば、変復調処理に対するＣＰＵ負荷とならない。
【００３２】
また、モジュールが外部メモリから内部ＲＡＭ４０９に転送されるため、プログラムリク時に実行用モジュールアドレスを決定できない。
【００３３】
転送用のモジュール格納アドレスと、実行用のモジュール実行アドレスを使い分ける必要があり、さらに、内部ＲＡＭ４０９に展開されるモジュールのアドレスはプログラムリンク時に確定できないため、動的にモジュール実行アドレスを決定する手法が必要となる。
【００３４】
図５は、モジュール番号に対するメモリ転送用モジュールアドレステーブルの例である。
この問題を解決するために、リンク時は外部メモリに配置したモジュールアドレスでリンクし、リンク時に図５のようなモジュール番号（Ｎｕｍｂｅｒ）に対するメモリ転送用モジュールアドレステーブルを作成し、ＲＯＭ４１０に格納する。モジュール転送時には状態遷移テーブルに格納されたモジュール番号（Ｎｕｍｂｅｒ）とメモリ転送用モジュールアドレステーブルからモジュールアドレス（Ａｄｄｒｅｓｓ）を取得し、テーブル内のモジュールサイズ分だけ、そのアドレス（Ａｄｄｒｅｓｓ）からＤＭＡ転送する。
【００３５】
図６は、実行用モジュールアドレステーブルの例である。
そして、ＤＭＡ転送後、内部ＲＡＭ４０９内に図６のようなモジュール番号（Ｎｕｍｂｅｒ）と転送されたモジュールのアドレス（Ａｄｄｒｅｓｓ）を格納した実行用モジュールアドレス（Ａｄｄｒｅｓｓ）テーブルを生成し、モジュール実行時は生成された実行用モジュールアドレステーブルを使用する。このようにすることで、モジュール番号（Ｎｕｍｂｅｒ）に対するモジュールアドレス（Ａｄｄｒｅｓｓ）を転送時の静的アドレス（Ａｄｄｒｅｓｓ）と実行時の動的アドレス（Ａｄｄｒｅｓｓ）で、それぞれ確定することが可能となる。
【００３６】
【発明の効果】
以上、詳細に説明したように、本発明によれば、通信装置を行なうＬＳＩの外部に設けたメモリ内に各プロトコルに必要なシーケンスプログラムを記憶するとともに、全通信プロトコルで共通に利用する処理部分を前記ＬＳＩ内のＣＰＵバスに接続されたＲＯＭに格納した通信装置で、ある通信プロトコルのある状態の時に必要なシーケンスプログラムのみを前記外部メモリから前記ＬＳＩ内のＲＡＭに転送するようにすることによって、転送するプログラムが少なくてすむため、転送処理時間が短く、転送先内部ＲＡＭメモリサイズを小さくできるという効果を有する。
【図面の簡単な説明】
【図１】本発明に係る状態遷移のモデル例図である。
【図２】本発明に係る状態遷移における処理過程図である。
【図３】本発明に係る状態遷移テーブル図である。
【図４】本発明に係る通信処理装置の構成例図である。
【図５】モジュール番号に対するメモリ転送用モジュールアドレステーブルの例である。
【図６】実行用モジュールアドレステーブルの例である。
【符号の説明】
４０１　端末
４０２　通信処理装置
４０３　通信処理ＬＳＩ
４０４、４１１　回線Ｉ／Ｆ
４１２　公衆回線
４０５、４０７　Ｉ／Ｏ
４０６　ＤＳＰ
４０８、４１０　ＲＯＭ
４０９　ＲＡＭ
【図１】
2004135030.tif 000003
【図２】
2004135030.tif 000004
【図３】
2004135030.tif 000005
【図４】
2004135030.tif 000006
【図５】
2004135030.tif 000007
【図６】
2004135030.tif 000008