JP2004135030A - 状態遷移型通信処理装置、および処理方法 - Google Patents
状態遷移型通信処理装置、および処理方法 Download PDFInfo
- Publication number
- JP2004135030A JP2004135030A JP2002297189A JP2002297189A JP2004135030A JP 2004135030 A JP2004135030 A JP 2004135030A JP 2002297189 A JP2002297189 A JP 2002297189A JP 2002297189 A JP2002297189 A JP 2002297189A JP 2004135030 A JP2004135030 A JP 2004135030A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- module
- program
- memory
- state transition
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
- Communication Control (AREA)
Abstract
【解決手段】状態遷移型通信処理装置において、内部RAM409にロードされるプログラムサイズを、全シーケンスのなかで各状態に関連したモジュールのみに限るようにして、大容量の通信処理プログラムを外部ROM408に配置する。また、外部メモリに変更可能なメモリを使用し、シーケンス関連プログラムを配置する。
【選択図】 図4
Description
【発明の属する技術分野】
本発明は、通信処理装置における通信プロトコル処理などの複雑な処理に使用する状態遷移処理装置および方法に関する。
【0002】
【従来の技術】
データ通信における端末インタフェースには、たとえば、モデム・インタフェースと呼ばれるアナログ・データ伝送用のVシリーズ・インタフェースがある(CCITT標準)。
【0003】
Vシリーズ勧告には複数の通信方式が勧告化されている。たとえば、V.21、V.22、V.22bis、V.32、V.32bis、V.34、V.90、V.92などがあげられる。これらの通信方式は、接続時に端末同士で通信方式を決定できるように工夫されているが、その決定方法は複雑で煩雑な手順を必要とする。FSK、BPSK、QAMなどの変復調信号処理やトーン検出用信号処理などを並列処理またはスイッチング処理しながら、相手モデムと接続確立に必要なデータの受け渡しを行い、通信方式を決定する。
【0004】
これらの通信処理プログラムは、各種の変復調処理などの信号処理プログラム以外に、上記の煩雑な接続処理などを行うシーケンス処理プログラムで構成されている。通信方式をサポートすることで、シーケンス処理プログラム容量が肥大する。
また、相手モデムとの接続性で一番重要なのが、このシーケンス処理である。シーケンス上で問題が発生すると、タイミング等の再調整を行うこととなり、プログラム変更が必要となる。
【0005】
近年、半導体の微細化が進み、大規模システムLSIを製造できるようになった。そのため、通信処理用LSIにも大容量のRAM・ROMを搭載することが可能となった。
しかし、コスト面から考えるとできるだけLSIのサイズを小さく設計する必要がある。そのため、内蔵メモリはできるだけ小さくする必要がある。
また、内蔵ROMの場合、プログラムの変更ができないので、プログラム改変のたびにLSIのマスクを改訂しなければならず、コストアップになってしまう。
通常、通信処理LSIは、主に信号処理を行うために高速なCPUもしくはDSP(ディジタル・シグナル・プロセッサ)で実現され、外部にROMやRAMを配置したのでは、バススピードが間に合わない。従って、メモリを外部に配置することでLSIサイズを小さくするということはできない。
【0006】
マスク改訂を避けてプログラム改訂を容易にするには、内蔵ROMにエンベデットFlashROMなどの書き換え可能ROMを使用することもできる。しかし、MaskROMに比べるとコストアップになってしまう場合が多い。また、プログラムを外部に設置し、初期化時に内部RAMにプログラムをダウンロードして、内部RAMを使ってプログラムを実行する方法が考えられるが、大容量のプログラムサイズ分のRAMをLSI内部に持たせることとなり、これもコストアップとなる。
【0007】
以上のように通信処理LSIを構成する上でプログラムメモリをどのように扱うかは、コストやコード改訂の面で非常に重要な要素であり、内部メモリをできるだけ小さくし、外部に変更可能なプログラムメモリを配置することが重要な課題となる。
【0008】
通信処理装置のプロトコル処理において上記の問題を解決する従来方法として、唯一、特開平05−048669号公報の技術で、上記の課題の対策を講じている。
ただし、この方法では通信方式毎にプログラムをスイッチングするため十分なメモリ削減にならない。
また、Vシリーズのように接続シーケンス中に通信方式を決定するような場合には適応が難しい。
【0009】
【特許文献1】
特開平05−048669号公報
【0010】
【発明が解決しようとする課題】
本発明の目的はこれらの課題を解決するために、通信処理の各状態毎に必要となるモジュールのみ内部RAMに転送して動作させるようにして、コスト安で柔軟にプログラム変更可能な状態遷移型通信処理装置および方法を実現することである。
【0011】
【課題を解決するための手段】
上記目的を達成するため、本発明に係る状態遷移型通信処理装置は、内部RAMにロードされるプログラムサイズを、全シーケンスのなかで各状態に関連したモジュールのみに限るようにして、大容量の通信処理プログラムを外部に配置することと、また外部メモリに変更可能なメモリを使用し、シーケンス関連プログラムを配置することを特徴とする。
【0012】
【発明の実施の形態】
以下、本発明の原理と実施形態を図面により説明する。
【0013】
(原理)
相手通信装置との接続において、接続シーケンス中に複数の通信プロトコルのうちから一つを決定するプロセスは、トーン検出や各種変復調処理及びそれに関連する機能の動作または停止を制御して、規格化されたタイミングで相手通信装置と信号の送受を行う処理である。このとき、接続過程には様々な状態が存在し、シーケンスプログラムはこの状態遷移を制御するものであるが、状態遷移処理は、このほかにも、通信途中での再接続や速度再設定、パワー検出など、様々な制御で適応されている。
【0014】
これらの状態遷移をプログラムする方法の一つとして、状態遷移テーブルを用いる方法がある。
【0015】
図1は状態遷移モデルの例である。このように各状態毎にモジュール番号で管理された入場処理、退場処理、通常処理、イベント処理、アクション処理を定義する。
【0016】
状態遷移テーブルは、各状態毎にその処理内容をリストしたものである。ここで、入場処理とは、次状態に入場する場合に行う処理、退場処理とは、現在の状態から退場する場合に行う処理、通常処理とは、状態が遷移しない場合に、その状態において毎回実行される処理、イベント処理とは、遷移条件を満足するかを調査する処理、アクション処理とは、状態が遷移する際に処理される処理のことである。シーケンス処理は、シンボル周波数単位など、あらかじめ定義された時間間隔で、状態遷移テーブルにリストされた各状態の処理を実行する。
【0017】
通常、この処理はテーブルも含めすべてROM化されるが、本発明では状態遷移テーブルと状態遷移テーブルから呼ばれるすべてのモジュールを外部メモリに格納し、起動時に状態遷移テーブルと初期状態に関連するモジュールのみ内部RAMにDMA転送し、RAM上で状態遷移処理プログラムを実行する。そしてイベント発生により状態が次状態へと遷移する度に、次状態でアクセスするモジュールのみ内部RAMにDMA転送し、RAM上で状態遷移処理プログラムを実行する。
【0018】
このようにある時点での状態に関連したモジュールのみ内部RAMに転写するため、内部に少量のメモリを搭載するだけで膨大なシステムを実現できる。
一回にダウンロードするプログラムサイズも少なくすむので、DMA転送を使えば、状態遷移処理がシンボル周期など十分な時間間隔で処理されるため、次状態処理が開始するまでに内部RAMに転送が終了するので、メインの信号処理が必要とするCPUまたはDSP処理時間を占有せずにすむ。
【0019】
このような方式を使えば、大容量の通信処理プログラムを外部メモリに配置する事が可能となる。その結果、通信処理LSI内部メモリを削減する事ができ、さらに外部メモリに変更可能なメモリを使用することで、プログラム変更にも柔軟に対応できる。
従って、コスト安で柔軟にプログラム変更可能な通信処理装置を実現できる。
【0020】
(実施例)
図4は本発明に係る通信処理装置の構成例を示す図である。
通信処理装置は端末I/F404、411、公衆回線I/F412、1チップ通信処理LSI403、ならびにフラッシュROMなどのメモリで構成されている。1チップ通信処理LSI403のシステムバスには内部RAM409、内部ROM410及び外部ROM408が接続されている。なお、401は端末、402は通信処理装置、405、407はI/O、406はDSPである。
【0021】
内部RAM409はワーク用メモリ、内部ROM410は信号処理などのプログラムモジュールが格納されている。また、外部ROM408には、状態遷移テーブルとシーケンス処理プログラムモジュールなどが格納されている。
状態遷移テーブルは、図1のようにモデル化された状態遷移モデルに対し、図3のように構成する。
【0022】
まず、システム起動時の初期化処理として、状態遷移テーブルを外部メモリ408から内部RAM409に転送する。また、初期状態を状態ID=1とすると、状態ID=1の入場処理1を内部RAM409に転送し、転送後に入場処理1を実行する。さらにシーケンス初期状態(ID=1)に関連するモジュールを内部RAM409に転送する。
【0023】
転送するモジュールは状態ID=1の通常処理1、退場処理1。さらに、例の状態ID=1の場合、遷移条件は1つなので遷移に関係するモジュールのイベント処理1、アクション処理1。そして、遷移先である状態ID=2の入場処理2を内部RAM409に転送しておく。
【0024】
以後、シーケンス処理はあらかじめ設定した時間間隔で処理される。設定時間としては、シンボル時間やA/D取り込みの数サンプル時間を設定すればよい。たとえば、サンプリング周波数が8kHzの場合、125μsec間隔で変復調などの信号処理が行われるが、シーケンス処理はそれほど頻繁に処理する必要がないため、数msec単位で十分である。
【0025】
図2は本発明に係る状態遷移における処理過程図である。
初期化処理後、最初のシーケンス処理タイミングでは、図2に示すように、まず状態1のイベント処理1が処理される。そこで遷移条件が一致しなかった場合、通常処理1が処理され、シーケンス処理は次のシーケンス処理タイミングまで待機する。以降、シーケンス処理タイミング毎に上記の処理を繰り返す。
【0026】
図3は、本発明に係る状態遷移テーブル図である。
以下、図1を基にして説明する。次に、図3に示すように、イベント処理1で遷移条件が一致した場合は、図2に示すようにアクション処理1、退場処理1を施し、最後に入場処理2を実行する。そして次に遷移する状態(例ではID=2)で使用する関連モジュールを内部RAM409に展開する。例の場合、通常処理2、退場処理2、イベント処理2−1、イベント処理2−2、アクション処理2−1、アクション処理2−2、そして遷移先である状態ID=3の入場処理3と状態ID=1の入場処理1となる。
【0027】
以降は上記の処理を繰り返し実行する。
【0028】
このように、内部RAM409にロードされるプログラムサイズは、全シーケンスモジュールのなかで各状態に関連したモジュールのみに限られるため、少ないメモリ消費で実現することができ、また、外部メモリにシーケンス関連プログラムを配置することで、プログラム変更にも柔軟に対応できるシステムを実現することができる。
【0029】
また、外部メモリから内部メモリにモジュールをダウンロードする場合に、CPU(またはDSP)によるデータの読み書き操作で一度にプログラム転送を行うと、変復調処理などの信号処理を転送終了まで待機させる必要が生じるため、プログラム転送にはDMA制御を使用する。
【0030】
バックグラウンド転送することで、メモリ転送処理の間中、A/Dサンプリング間隔で変復調信号処理を行なうことができる。
【0031】
このとき、転送する各モジュールは連続したアドレス空間に配置されないため、DMA転送をモジュール毎に処理する必要が生じる。バックグラウンドですべてのDMA転送を完了するには問題となるが、この問題は、DMA転送終了割り込み機能を持たせることで、解決される。割り込み処理でモジュール毎にDMA転送を開始するようにすれば、変復調処理に対するCPU負荷とならない。
【0032】
また、モジュールが外部メモリから内部RAM409に転送されるため、プログラムリク時に実行用モジュールアドレスを決定できない。
【0033】
転送用のモジュール格納アドレスと、実行用のモジュール実行アドレスを使い分ける必要があり、さらに、内部RAM409に展開されるモジュールのアドレスはプログラムリンク時に確定できないため、動的にモジュール実行アドレスを決定する手法が必要となる。
【0034】
図5は、モジュール番号に対するメモリ転送用モジュールアドレステーブルの例である。
この問題を解決するために、リンク時は外部メモリに配置したモジュールアドレスでリンクし、リンク時に図5のようなモジュール番号(Number)に対するメモリ転送用モジュールアドレステーブルを作成し、ROM410に格納する。モジュール転送時には状態遷移テーブルに格納されたモジュール番号(Number)とメモリ転送用モジュールアドレステーブルからモジュールアドレス(Address)を取得し、テーブル内のモジュールサイズ分だけ、そのアドレス(Address)からDMA転送する。
【0035】
図6は、実行用モジュールアドレステーブルの例である。
そして、DMA転送後、内部RAM409内に図6のようなモジュール番号(Number)と転送されたモジュールのアドレス(Address)を格納した実行用モジュールアドレス(Address)テーブルを生成し、モジュール実行時は生成された実行用モジュールアドレステーブルを使用する。このようにすることで、モジュール番号(Number)に対するモジュールアドレス(Address)を転送時の静的アドレス(Address)と実行時の動的アドレス(Address)で、それぞれ確定することが可能となる。
【0036】
【発明の効果】
以上、詳細に説明したように、本発明によれば、通信装置を行なうLSIの外部に設けたメモリ内に各プロトコルに必要なシーケンスプログラムを記憶するとともに、全通信プロトコルで共通に利用する処理部分を前記LSI内のCPUバスに接続されたROMに格納した通信装置で、ある通信プロトコルのある状態の時に必要なシーケンスプログラムのみを前記外部メモリから前記LSI内のRAMに転送するようにすることによって、転送するプログラムが少なくてすむため、転送処理時間が短く、転送先内部RAMメモリサイズを小さくできるという効果を有する。
【図面の簡単な説明】
【図1】本発明に係る状態遷移のモデル例図である。
【図2】本発明に係る状態遷移における処理過程図である。
【図3】本発明に係る状態遷移テーブル図である。
【図4】本発明に係る通信処理装置の構成例図である。
【図5】モジュール番号に対するメモリ転送用モジュールアドレステーブルの例である。
【図6】実行用モジュールアドレステーブルの例である。
【符号の説明】
401 端末
402 通信処理装置
403 通信処理LSI
404、411 回線I/F
412 公衆回線
405、407 I/O
406 DSP
408、410 ROM
409 RAM
Claims (4)
- 端末との間でデータを送受信する端末インターフェースと、公衆電話回線に接続し、該電話回線を介して相手通信装置とデータ通信をする回線インターフェースと、遷移テーブルに従ってプログラム開始時に、外部メモリ内のプログラムをLSI内部のRAMへダウンロードして通信処理プログラムを実行し、複数の通信プロトコルのうち一つを相手通信装置との接続シーケンス中に決定するマイクロプロセッサと、該マイクロプロセッサに結合されたシステムバスに接続されたリードオンリーメモリとランダムアクセスメモリなどを一チップ上に集積し、該外部メモリから該内部RAMへのデータ転送に対してダイレクト・メモリアクセス制御を行うDMA制御手段を有するLSIと、該LSIに接続された通信処理用プログラムが格納されたROMとを有することを特徴とする状態遷移型通信処理装置。
- プログラムをシーケンス処理部と、信号処理などそれ以外の処理部とに分け、該シーケンス処理部は外部メモリに、それ以外の処理部はLSI内部ROMに配置し、状態遷移番号で管理された各状態に対して、状態の入場処理、定常処理、退場処理、複数の遷移処理の各処理のプログラムモジュール番号をリストアップした状態遷移テーブルを、プログラム開始時に外部メモリから内部RAMへロードし、該状態遷移テーブルを使って、変復調のシンボルタイミングなどの時間間隔をトリガとしてシーケンス処理を行い、遷移条件が一致した場合に、次の遷移先に遷移するように動作し、状態を遷移するたびに、次状態の入場処理を行った後、次状態の通常処理、退場処理、複数の遷移処理のすべての関連モジュールを該外部メモリから該内部RAMにダウンロードし、プログラムを展開することを特徴とする状態遷移型通信処理方法。
- 上記請求項2の状態遷移型通信処理方法において、
DMA転送終了割り込み機能を持たせ、前記外部メモリから内部メモリにモジュールをダウンロードする場合に、変復調処理などの信号処理を実行し、
モジュール毎にDMA転送を使ってバックグラウンド処理することで、メモリ転送処理の間、変復調処理を停止することなく、次のシーケンス処理タイミングまでに転送を終了させることを特徴とする状態遷移型通信処理方法。 - 上記請求項2の状態遷移型通信処理方法において、
前記状態遷移テーブルで使用するモジュール番号に対して、モジュール格納アドレスとモジュールサイズが記憶されたメモリ転送用モジュールアドレステーブルを有し、
モジュールを内部RAMに転送後、モジュール番号と転送先のモジュール実行アドレスが記憶された実行用モジュールアドレステーブルを該内部RAM内に生成し、
メモリ転送時とモジュール実行時でテーブルを切り替え、モジュールアドレスを動的に変更する
ことを特徴とする状態遷移型通信処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002297189A JP3867911B2 (ja) | 2002-10-10 | 2002-10-10 | 状態遷移型通信処理装置、および処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002297189A JP3867911B2 (ja) | 2002-10-10 | 2002-10-10 | 状態遷移型通信処理装置、および処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004135030A true JP2004135030A (ja) | 2004-04-30 |
JP3867911B2 JP3867911B2 (ja) | 2007-01-17 |
Family
ID=32286954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002297189A Expired - Fee Related JP3867911B2 (ja) | 2002-10-10 | 2002-10-10 | 状態遷移型通信処理装置、および処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3867911B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107111556A (zh) * | 2014-11-19 | 2017-08-29 | 德克萨斯仪器股份有限公司 | 在软件定义的tdd通信中的动态ram共享 |
-
2002
- 2002-10-10 JP JP2002297189A patent/JP3867911B2/ja not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107111556A (zh) * | 2014-11-19 | 2017-08-29 | 德克萨斯仪器股份有限公司 | 在软件定义的tdd通信中的动态ram共享 |
JP2018504002A (ja) * | 2014-11-19 | 2018-02-08 | 日本テキサス・インスツルメンツ株式会社 | ソフトウェア定義tdd通信における動的ram共有 |
CN107111556B (zh) * | 2014-11-19 | 2021-09-24 | 德克萨斯仪器股份有限公司 | 在软件定义的tdd通信中的动态ram共享 |
Also Published As
Publication number | Publication date |
---|---|
JP3867911B2 (ja) | 2007-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6954806B2 (en) | Data transfer apparatus and method | |
US5652886A (en) | System for loading a boot program into an initially blank programmable memory of a microprocessor using state machine and serial bus | |
JP3867911B2 (ja) | 状態遷移型通信処理装置、および処理方法 | |
JP2003099272A (ja) | タスク切替システムと方法およびdspとモデム | |
KR100470993B1 (ko) | 디에스피 프로그램 다운로드 장치 및 그 방법 | |
KR100463838B1 (ko) | 유아이에이 시스템을 위한 부트로더의 프로그램 다운로드및 엔에프에스 개발환경 지원방법 | |
CN101546267B (zh) | 向数字信号处理器的外存加载程序的方法、系统及装置 | |
JP4451558B2 (ja) | Dsp信号処理装置を使用したモデム | |
EP1365327B1 (en) | A method and a network device having a flexible EEPROM for setting configuration settings | |
JP2005519393A (ja) | 仮想直接メモリ・アクセスのための方法及び装置 | |
JP2008071107A (ja) | Dspカードのフラッシュrom更新方法及びdspカードのフラッシュrom更新装置 | |
JP2011048844A (ja) | 非同期通信技術 | |
WO1994007202A1 (en) | Data processing apparatus | |
JP2002099517A (ja) | スレーブマイクロコンピュータの起動方法およびマイクロコンピュータ装置 | |
JP4314464B2 (ja) | フィールドバスシステム | |
JP4252577B2 (ja) | マイクロコンピュータ及びデータ受信方法 | |
JP3736123B2 (ja) | パワー制御回路 | |
JP2003044356A (ja) | メモリマッピング方式 | |
CN100407130C (zh) | 建置程控电路排列的方法及执行此方法的电路排列 | |
JPH11288401A (ja) | プログラマブルコントローラ | |
JP2003256219A (ja) | 組込み機器におけるプログラム実行方法 | |
KR20020012448A (ko) | 모뎀 및 그 업데이트 방법 | |
JP2003280925A (ja) | ワンチップdspモデムおよびタスク切り替え方法 | |
JPH01200851A (ja) | 通信制御装置 | |
JP2005038188A (ja) | Pcカードモデムおよびその動作状況取得方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050314 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060704 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060904 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060922 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061005 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101020 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111020 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121020 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131020 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |