JP3565730B2 - Atコマンド解析装置 - Google Patents
Atコマンド解析装置 Download PDFInfo
- Publication number
- JP3565730B2 JP3565730B2 JP00611999A JP611999A JP3565730B2 JP 3565730 B2 JP3565730 B2 JP 3565730B2 JP 00611999 A JP00611999 A JP 00611999A JP 611999 A JP611999 A JP 611999A JP 3565730 B2 JP3565730 B2 JP 3565730B2
- Authority
- JP
- Japan
- Prior art keywords
- clock
- bit
- speed
- command
- character
- 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.)
- Expired - Fee Related
Links
- 238000005070 sampling Methods 0.000 claims description 47
- 230000004044 response Effects 0.000 claims description 4
- 230000001360 synchronised effect Effects 0.000 claims description 4
- 238000004891 communication Methods 0.000 description 35
- 238000000034 method Methods 0.000 description 10
- 238000005259 measurement Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 230000002093 peripheral effect Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L5/00—Arrangements affording multiple use of the transmission path
- H04L5/14—Two-way operation using the same type of signal, i.e. duplex
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/0262—Arrangements for detecting the data rate of an incoming signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/02—Speed or phase control by the received code signals, the signals containing no special synchronisation information
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Power Engineering (AREA)
- Communication Control (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Dc Digital Transmission (AREA)
Description
【発明の属する技術分野】
この発明はパーソナルコンピュータ用モデム装置に用いられるATコマンドの解析装置に関する。
【0002】
【従来の技術】
従来のパーソナルコンピュータ用モデム装置に用いられているATコマンドは、DTE(ユーザ端末装置:Data Terminal Equipument)とDCE(回線装置:Data Circuit Terminateing Equipument)間の通信速度及び通信パラメータを自動的に認識応答するものである。
【0003】
まず、ATコマンドは、コマンドの先頭の文字を「AT」または「at」の2種類に限定しており、ATコマンドという名称はこの2文字に由来している。ATコマンドで自動認織、応答するものには通信速度と通信パラメータがあり、以下それぞれの自動認織方法を説明する。
【0004】
通信速度について説明する。
コマンド先頭のAまたはaはASCIIコードで表すと16進表示でそれぞれ41hと61hである。両方とも最下位ビット(LSB)が1なので、これをシリアルインターフエースのLSBフアーストのビット列に直すと、通信の始めに必ず1ビット分のスペース(スタートビット)が出現する。通信速度はこのスペース時間を計測することによって求められる。
【0005】
ATコマンドによるパソコン通信が開始された時代は通信速度は300bpsであったが、その後の速度上昇は目覚ましく、14400bpsから33600bps、さらに最近では56000bpsが採用されている。しかもこの56000bpsはDCE−DCE間の通信速度で、この間のデータは最大で1/4に圧縮されている可能性があり、DCEとDTE間はこの圧縮を復元した4倍の230.4kbpsの通信速度を満たす必要がある。使用されるボーレートの種類は、230400、115200、57600、38400、19200、9600、4800、2400、1200、300bpsが標準的である。非同期通信のため送信側と受信側とのクロックのずれが生じるが、標準の周波数に対して規定では+2.5%、−1.0%までの周波数備差が許容されている。そのため、速度の自動設定を行う場合、相手からの受信速度を検出してその速度に最も近いサポートするボーレートの周波数に設置する必要がある。
【0006】
上記通信パラメータにつき説明する。
通信パラメータは、はじめに8ビット(スタートビットとデータビットの7ビット)、パリティビットなしで設定しておき、1文字目(Aまたはa)で求めた通信速度でコマンドの2文字目(Tまたはt)を受信する。そして、1文字目と2文字日のそれぞれのパリティビット(D7)と、文字がATかatかのいずれかによりITU−TのV.25terでサポートする通信パラメータが求められる。図7はこの通信パラメータを示す。なお、パリティビットを表すD7は、データビットが7ビットでその次にくるパリティビットを含め8ビットとしたとき、LSBファーストで各ビットをDO〜D7で表した時の8番目のビットを表す。なお、通信パラメータはデータフォーマットとも呼ばれる。
【0007】
ATコマンドは、従来は中央処理演算部(MPU)を用いて解析していたが、上記のように通信速度が高速化されたこと及び各種機能が増加してきたことにより、MPUの負担が大きくなってきた。MPUの負担を軽減し、ATコマンドによる通信速度の自動認識のための技術が特開平9−153923号公報に開示されている。
【0008】
特開平9−153923号公報において、開示されている従来のATコマンド解析装置を図6に示し、この装置につき説明する。
【0009】
図6において、RXD100はDTEとのシリアルインターフエースの入力データ信号であり、解析開始判断部101は後述するMPU109の通信速度解析開始の指示を受けてRXD10を監視し、速度測定開始のStart信号を送出する。速度解析部102はこのStart信号によりスタートビットの通信速度を解析する。シリアルデータ制御部103は速度解析部102より出力されるgate信号がOFFの間、後述するUART(調歩同期式シリアルデータ送受信回路)108へのRXD100の入力を停止する。
【0010】
デコーダ104は速度解析部102がスタートビットの通信期間をカウントしたカウント値から速度データとボーレートクロックを発生させるための分周データを生成する。速度レジスタ105はデコーダ104の速度データを保持する。シフトレジスタ部106は8ビットのシフトレジスタからなり、ATコマンドの第1キャラクタを受信して保持する。ボーレートクロック生成部107はデコーダ104からの分周データにより、コマンドを受信するボーレートクロックを生成し、シフトレジスタ部106とUART108に供給する。UART108は調歩同期式シリアルデータであるRXD100を送受信する送受信回路である。
【0011】
MPU109はindicate信号を解析開始判断部101に出力して通信速度開始を指示し、シフトレジスタ部106から第1キャラクタを入力して「A」を判断し、UART108から第2キャラクタ以降の受信データを入力して解析する。解析開始判断部101はMPU109からのindicate信号のONを速度測定開始指示として受け付け、あらかじめ監視していたRXDl00にスタートビット(Lまたは0)の逆の論理(Hまたは1)が続く定常状態がシフトレジスタクロックの10周期分(スタート、ストップビット、パリティビットの各1ビットとデータビットの7ビットの合計10ビットに相当)以上続けば、コマンドが発行されていない状態であると判断して、速度解析部102に対してstart信号をONにし通信測度解析を開始させる。
【0012】
速度解析部102はgate信号をOFFにし、RXDl00を監視しスタートビットを待つ。シリアルデータ制御部103はgate信号がOFFの間、UART108とRXDl00を切り離すことにより速度設定前のUART108が誤った通信速度でATコマンドの第1キャラクタを受信することを防止する。速度解析部102はRXDl00にスタートビットが表れたら内部のカウンタをスタートさせスタートビットの時間を計測し、スタートビットが終了すると内部カウンタを停止させload信号をONにし、MPU109へ速度測定終了割り込み信号を発行する。
【0013】
速度データは速度解析部102のカウント値より算出した速度の値と速度測定が失敗した場合にこれを知らせるエラービットとから成る。速度レジスタ105はデコーダ104からの速度データを速度解析部102からのload信号がONになったタイミングで保持する。ボーレートクロック生成部107は速度解析部102からのload信号がONになったタイミングでデコーダ104の分周データをロードし、この分周データに基づく新たなボーレートクロックを生成しUART108へ供給する。これによりUART108は通信速度に適合したクロックを絶えず供給される。またボーレートクロック生成部107はシフトレジスタ部106にボーレートクロックと同じ周波数のシフトレジスタクロックを8周期分供給する。
【0014】
シフトレジスタ部106はボーレートクロック生成部107から供給されるシフトレジスタクロックのタイミングでコマンドの第1キャラクタのスタートビットの次に始まるデータビットの7ビットとパリティビットの8ビットを受信し、8ビットを終了したところで第1のキャラクタの受信終了信号をONにしてMPU109に割込みを発生させる。速度解析部102はこの受信終了信号がONになったらgate信号をONにする。gate信号がONになるとUART108にRXDlO0が入力される。これによりUART108は第1キャラクタの影響を受けないので、ATコマンドの第2キャラクタおよびこれに続くキャラクタをUART108で確実に受信することができる。
【0015】
UART108はボーレートクロック生成部107から供給されるボーレートクロックでRXDlO0のATコマンドの第2キャラクタ以降を順次受信し、キャラクタ毎にMPU109に受信割り込みを発生させる。MPU109は速度解析部102からの速度測定終了割り込み信号を受けると、速度レジスタ105の速度データをリードし、エラービットより速度測定か成功したか否かを判断し、成功した場合測定した結果の速度の値を確認する。
【0016】
次に、MPU109はシフトレジスタ部106からの受信終了割込みを受けるとシフトレジスタ部106よりコマンドの第1キャラクタとそのパリティビットをリードし、キャラクタがAまたはaであることを確認する。速度測定がエラーになったとき、および第1キャラクタがAまたはaでないときはindicate信号を再びONにして速度解析を初めからやり直す。ATコマンドの第2キャラクタとこれに続くキャラクタはUART108により受信する。MPU109はUART108からの受信割込みを受けた後、受信データをリードし、第2ビットがTまたはtならば第1キャラクタのパリティビットと第2キャラクタのパリティビットから、受信データのデータフォーマットを決定する。MPU109はUART108をこのデータフォーマットに設定し、UART18はATコマンドの第3キャラクタとこれに続くキャラクタを順次受信する。
【0017】
上記した従来のATコマンド解析装置は、送受信手段(UART)108と制御手段(MPU)109に追加して、MPU109の指示により通信速度を解析する速度解析部102と、解析した通信速度によりボーレートクロックを生成し、UART108に伝送し、通信速度を知らせるボーレートクロック生成部107と、このボーレートクロックを入力して第1キャラクタを受信するシフトレジスタ106とを設け、通信速度の解析、通信速度のUART108への通知、第1キャラクタの受信といった従来MPU109が行っていた役割を速度解析部102ボーレートクロック生成部107、シフトレジスタ106などの周辺回路が全て行うようにして、MPU109の負担を軽減している。
【0018】
【発明が解決しようとする課題】
上記したように、この従来技術によれば、ATコマンドを認識してモデムを制御するMPUの負担を軽減させるために、ハードによりボーレートの生成までをすべて行っている。
【0019】
このように通信速度が高速化されたことで、MPUによらない周辺ハード回路によるATコマンドの速度解析とボーレートの設定を行う方法を取らざる得ないが、サポートする速度は、300〜230.5Kbpsまでの多くの速度をサポートしなければならず、MPUのソフトを用いた制御方法に比べて、ATコマンド解析のための回路制御やボーレートを決定するデコード回路などが増え、回路も複雑になるとともに、規模も大きくなる。
【0020】
また、UART108のボーレートは、ボーレートクロック生成部107から出力されており、ATコマンドの速度解析後にしか再設定されないようになっている。これでは、ATコマンドを受信しない場合、たとえば、電話のリングが来た場合モデムは、それを検出すると、リングのキャラクタをDTEへ送出する必要がある。その場合、MPU109は、内部パラメータで設定されたボーレートにUART108を設定して動作させる必要があるが、それが上述した従来の方法ではできない。
【0021】
また、第1キャラクタは8ビットをサンプリングした後にキャラクタをMPUがチェックするが、これがA、aで無い場合、次のキャラクタを第1キャラクタとして受信する必要があるが、高速度なデータの場合、この判定がソフトの介在で遅れて、受信できない可能性がある。また、非同期通信においては、ストップビットのない不正フレームキャラクタが発生したとき、この従来の技術では、ストップビットをチェックしていないためエラーであるキャラクタと認織できない。
【0022】
この発明は、上述の問題点に鑑みてなされたもので、ATコマンドの速度解析にあたり、周辺回路の規模および複雑さを軽減することを目的とする。また、第1キャラクタが“A”、“a”以外であるエラーを直ぐに検出できるエラー検出機能を強化することを目的とする。
【0023】
さらに、この発明は、ATコマンドの速度解析に使用する回路をモデムの別の機能を実現する回路にも適用できるようにして、全体の回路規模の増大を防ぐことを目的とする。
【0024】
【課題を解決するための手段】
この発明のATコマンド解析装置は、DTEからの調歩同期式シリアルデータをボーレートクロックに基づいて受信する送受信手段と、前記送受信手段の受信データを解析する制御手段と、前記制御手段の指示により前記送受信手段に出力するボーレートクロックを生成するボーレート生成手段と、前記制御手段からの指示に基づきDTEから送出されるATコマンドの第1キャラクタのスタートビットの幅を計測する計測手段と、前記計測手段の結果を受けて第1キャラクタのサンプリングするクロックを生成するための分周データを出力するとともに前記スタートビットがあらかじめ設定された以上の速度であればそのことを示すフラグを出力する速度解析手段と、前記フラグの有無により前記速度解析手段或いは前記制御手段からの分周データを選択しサンプリングクロックを生成するサンプリングクロック生成手段と、前記フラグもしくは前記制御手段の指示により前記サンプリングクロック生成手段からのクロックに基づいて第1キャラクタのスタートビットに続くデータ受信して保持し前記制御手段に送出するシフトレジスタ部と、を具備することを特徴とする。
【0025】
上記したシフトレジスタ部は、第1キャラクタが“A”、“a”(16進表示で41Hもしくは61H)であることかどうかをビットをサンプルする毎にチェックし、異なったビットをサンプルした場合にはサンプル動作を中止し、エラーを表すフラグを前記制御手段へ出力するように構成すると良い。
【0026】
また、上記のシフトレジスタ部は、スタートビットに続くビットをサンプリングする前にそのビットがハイからローへ変化した場合にはサンプル動作を中止し、エラーを表すフラグを前記制御手段へ出力するように構成すると良い。
【0027】
更に、上記のシフトレジスタ部は、スタートビットに続く8ビットをサンプリングした後に続くストップビットをサンプルし、その結果ストップビットが検出できなければエラーを表すフラグを前記制御手段へ出力するように構成すると良い。
【0028】
また、この発明は、前記シフトレジスタ部にクロックを供給するクロック生成手段は1ショットパルス出力動作モードを持ち、前記制御手段の指示によりクロック生成モードと1ショットパルス出力動作モードが変更でき1ショットパルスを前記制御手段の割込み信号として出力するように構成することができる。
【0029】
上記したように、この発明のATコマンド解析装置では、ATコマンドの速度解析後の送受信手段(UART)のボーレート設定などは制御手段(MPU)が行い、スタートビットの幅を測定したカウント値を基に、ATコマンドの第1キャラクタをサンプリングするためのクロック速度を決定する部分は、周辺回路による自動設定と制御手段(MPU)による設定とを用意し、ATコマンドの速度によりどちらかが選択される。
【0030】
この発明によれば、従来すべてを回路制御で行ってきた方法から、制御手段(MPU)のソフトによる制御で十分に間に合う低速のATコマンドの速度解析とその後のクロック生成の設定は制御手段(MPU)のソフトで行い、制御手段(MPU)ソフトで制御できない高速のATコマンドの速度解析やクロック生成の設定は周辺回路により行うこととし、全体の回路規模や複雑さを軽減することができる。
【0031】
以下、この発明の実施の形態につき図に従い説明する。図1は、この発明の実施の形態に係るATコマンド解析装置を示すブロック図である。
【0032】
この実施の形態においては、第1カウンタ1、第2カウンタ3及びボーレート生成部8は、クロック周波数3.6864MHzで動作している。
【0033】
計測手段としての第1カウンタ1は、RXD10(シリアルライン)の受信データからATコマンドの第1キャラクタのスタートビットのロー期間の幅を計測するカウンタであり、RXD10が立ち下がってからのロー期間をカウントし、そのカウント値をMPUデータバスとデコーダ2に出力し、MPU9に対してはカウント終了の割り込み信号を出力する。最も高いボーレートの230.4Kbpsの場合、第1カウンタ1のスタートビットのカウンタ値は10Hとなるが周波数誤差の許容範囲を考えると 0FH〜11Hまで変化する可能性がある。また、使用する回路の立ち上がり、立ち下がりの特性や回路遅延などの諸条件を考えた場合そのカウント値の範囲を0EH〜12Hまで変化すると考えておく必要がある。
【0034】
速度解析手段としてのデコーダ2は第1カウンタ1のカウント値が6FH以下のカウント値であれば高速度フラグをセットし、そのカウント値からサンプリングクロックを発生させるための分周データを出力する。分周データは、受信データのボーレートに最も近いサポートボーレートの倍のクロックを生成するための分周データとなる。
【0035】
また、デーコーダ2は、カウント値が0EH〜12Hの範囲にあれば、230.4Kbpsの倍の周波数を生成するため08Hを出力するように、ある範囲に値があればその値を一定の値に丸めて出力する丸め機能を持っている。ある範囲に値がある時に一定の値を出力するには、丸め機能以外にテーブルを使用する方法も考えられる。この実施の形態では、カウンタ値に+6を行いその値の下位3ビットを0にし、そのデータを1/2することで丸めを行っている。この丸め方法の場合、テーブル参照に比べて回路量が少なく容易に実現できる利点がある。上記の例では、カウント値がOAH〜19Hであれば、08Hが出力され、230.4Kbpsの倍の周波数のクロックに分周する値となる。また、カウンタ値が5AH〜69Hの時には80H(48)が出力され、38.4Kbpsの倍の周波数のクロックに分周する値となる。尚、3.6864MHzを48分周すると76.8KHzとなる。
【0036】
一方、19.2Kbpsの低速度の場合、第1カウンタ1のカウント値が6FHを越えるため、高速度フラグはセットされない。また、低速度の場合の丸め処理は、許容誤差に対応していないため、分周データとして使用できない。全サポートボーレートまでを対象としたデコーダ回路は当然可能であるが、回路が複雑および大きくなることは避けれない。
【0037】
サンプリングクロック生成手段としての第2カウンタ3は、上記したようにクロック周波数3.6864MHzで動作しており、第1カウンタ1からのカウント終了信号が来て、デコーダ2からの高速度フラグがセットされているとデコーダ2からの分周データをロードし、自動的に動作し、クロックを分周する。分周されたクロックは、結果的に、測定したボーレートの速度の2倍のクロックとなる。2倍のクロックを出力させるのは、フリップフロツプ4で2分周し、受信データのビットの中心でサンプリングするためのクロックを作成するためである。受信データ速度は、前述したように、その周波数の許容誤差があるため、受信ビットの端方でサンプリングすると8ビットサンプリングしていく間に受信周波数とサンプリング周波数との誤差が蓄積して誤った位置でサンプリングする可能性がある。そのため、サンプリングの位置はなるべくビットの中心で行う必要があるためである。
【0038】
もし、デコーダ2からの速度フラグがセットされていなければ、第2カウンタ3は動作せず、制御手段(MPU)9からの指示で分周データが設定され、動作を開始する。フリップフロツプ4は、第2カウンタ3からの分周クロックを1/2に分周してシフトレジスタ5のサンプルクロックを出力する。
【0039】
図2に受信データ、第2カウンタ3の出力とフリップフロツプ4の出力タイミングを示す。
【0040】
この図2に示すように、第2カウンタ3からの分周クロックがフリップフロップ4により分周され、その出力がシフトレジスタ5のサンプルクロックとして与えられ、シフトレジスタ5にRXD10ラインの信号をサンプリングする。
【0041】
第2カウンタ3は、通常の分周カウントモードと指定カウント値をカウントした後に1ショットパルスを出力する1ショットパルス出力モードの2つの動作モードを持っている。ATコマンドの解析を行う場合は、MPU9は、クロックを分周する動作モードに設定し、その後のATコマンドのコマンド処理動作を行う場合には、1ショットパルス動作モードにすることにより、第2カウンタ3を他の目的に使用することが出来る。たとえば、パルスダイヤリング処理は、パルスのデューティを正確に保つ必要があるため、1ショットパルス動作にて割り込み信号を出力させ、オンフック、オフフックの時間管理を行うことが可能となる。
【0042】
シフトレジスタ5は、RXD10ラインの信号をフリップフロツプ4からのサンプルクロックで8ビットのデータとしてサンプリングしデータを保持する。また、ビット毎に”A”、”a”が,(16進表示で41Hもしくは61H)のキャラクタかどうかをチェックし、もし、ビットが異なっていればサンプリングを中止しエラーフラグをセットする。例えば、図4に示すように、シフトレジスタ5にサンプリングされるデータのビット2が1と認識すると、ビットが異なっているので、キャラクタエラーと判断し、エラー(EERR)ビットをセットし、エラーフラグをMPU9に与える。また、この動作と同時に、割り込み信号(ASPINT)を出力し、MPU9に割り込み信号を与え、シフト動作を停止させる。
【0043】
また、シフトレジスタ5は、第2カウンタからの出力に基づく最初のサンプルクロックが到達する前に受信信号がハイレベルからローレベルへ変化するとエラーフラグをセットし、サンプリングを中止する。即ち、最初のサンプリングクロックが来る前に、RXD10のラインが変化することは正常動作ではないので、図5に示すように、サンプリングクロックが来る前に、RXDライン10がローに変化すると、エラー(DLINE)ビットし、エラーフラグをMPU9に与える。また、この動作と同時に、割り込み信号(ASPINT)を出力し、MPU9に割り込み信号を与え、シフト動作を停止させる。
【0044】
更に、シフトレジスタ5は、8ビットのサンプリングが終了した後のストップビットをチェックし、もし、ストップビットが検出されなければエラーとして同様の処理を行う。サンプリングが終了(エラーでの終了も含む)すれば、MPU9に対して割り込み信号を出力する。
【0045】
受信開始制御回路(UART)7は、高速度フラグがセットされている場合は、サンプリング終了割り込み信号発生時にシフトレジスタ5からのエラーフラグがセットされていなければUART6の受信動作をイネーブルにする。もし、高速度フラグがセットされていなければ、MPU9からの受信開始指示でUART6は受信イネーブルとなる。
【0046】
ボーレート生成部8は、MPU9の指示のみによりボーレートを生成し、UART6に供給する。これは、ボーレートはATコマンドの第1キャラクタをサンプリング終了までに設定すればよいので、MPU9の割り込み処理で十分に対応できる。そのため、デコーダ2はボーレートデータを出力する必要はないため、回路規模は、従来のものより小さくできる。
【0047】
上記したUART6は、RXD10からATコマンドの第2キャラクタ以降を受信開始制御回路7もしくはMPU9からの指示により受信開始する。
【0048】
実際の動作を図3を参照してATコマンドの速度が高速(19.2Kbps〜230.4Kbps)の場合とそれ以下の速度の場合とで説明を行う。図3は正常に動作を行ったときの状態を示すタイミングチャートである。
【0049】
まず、高速度の場合につき説明する。
MPU9は、第1カウンタ1、第2カウンタ3などの回路を初期設定しておき、カウント1に対してカウントの開始を指示する。第1カウンタ1は、RXD10のデータをチェックし、スタートビットの幅をカウントし、カウンタ値とカウント終了信号を出力する。デコーダ2は、第1カウンタ1からのカウント値から分周データを出力し、高速フラグをセットする。図3に示す例においては、デコーダ3より1.8432MHzの分周データが出力され、第2カウンタ3のカウンタ値が0008の場合である。
【0050】
第2カウンタ3は、高速度フラグがセットされているため、デコーダ2からの分周データを自動的にロードし、分周動作を行い、分周クロックをフリップフロップ4に出力する。そして、フリップフロツプ4にて2分周されたサンプルクロックがシフトレジスタ5に出力される。
【0051】
シフトレジスタ5は、受信データ8ビットをサンプリングし、ストップビットを検出すると、CENDビットをセットし、サンプリング動作を停止し、その結果をシフトレジスタ5に格納する。図3の例では、シフトレジスタ5は41Hとなる。そして、次のシフトクロック、図3の例では、9発目のシフトクロック時点でRXD10がハイの場合にはサンプリング終了信号(SFEND)をセットし、MPU9へサンプル終了信号を出力する。尚、もし、RXD10がローであれば、以降のシフトクロックでRXD10のハイがサンプリングされるまで、サンプリング終了信号はセットされない。
【0052】
受信開始制御回路7は、高速度フラグがセットされて、サンプリング終了信号が出力され、サンプリングのエラーがない場合UART6の受信開始動作をイネーブルにする。
【0053】
MPU9は、第1カウンタ1からのカウント終了の割り込み信号を受けると、割り込みルーチンの中で高速度フラグがセットされているかどうかをチェックする。セットされていれば、第1カウンタ1のカウント値からボーレートを判定し、ボーレート生成部8にボーレートを設定し、UART6に対してボーレートクロックを供給する。シフトレジスタ5からのサンプリング終了の割り込み信号を受け取ると、割り込みルーチンの中でサンプリングのエラーフラグがセットされていない場合、正常に終わったことを確認する。もし、エラーが発生していた場合には、初期設定を再度行い、ATコマンドの第1キャラクタを待つ。
【0054】
次に、低速度の場合につき説明する。
MPU9は、第1カウンタ1、第2カウンタ3などの回路を初期設定しておき、第1カウンタ1に対してカウントの開始を指示する。第1カウンタ1は、RXD10のデータをチェックし、スタートビットの幅をカウントしてカウンタ値とカウント終了の割り込み信号を出力する。デコーダ2は、第1カウンタ1からのカウント値から分周データを出力し、高速フラグをセットしない。第2カウンタ3は、高速度フラグがセットされていないため、動作は行わず、MPU9からの指示による分周データで分周動作を行う。MPU9からの分周データに基づきフリップフロツプ4を通してシフトレジスタ5のサンプリングクロックが出力される。レジスタ5は、受信データ8ビットをサンプリングし、ストップビットを検出するとサンプリング動作を停止し、サンプリング終了信号をMPU9へ出力する。受信開始制御回路7は、高速度フラグがセットされていないため動作しない。
【0055】
MPU9は、第1カウンタ1からのカウント終了の割り込み信号を受けると、割り込みルーチンの中で高速度フラグがセットされているかどうかをチェックする。低速度の場合には、フラグは、セットされていないため、第1カウンタ1のカウンタ値からボーレートを判定し、第2カウンタ3へMPU9から分周データを設定し、動作開始を指示する。また、ボーレート生成部8にボーレートを設定し、UART6に対してボーレートクロックを供給する。シフトレジスタ5からのサンプリング終了の割り込み信号を受け取ると、割り込みルーチンの中でサンプリングのエラーフラグがセットされていない場合、正常に終わったことを確認したらUART6の受信開始をイネーブルにする。もし、エラーが発生していた場合には、初期設定を再度行い、ATコマンドの第1キャラクタを待つ。
【0056】
【発明の効果】
以上説明したように、この発明によれば、ATコマンドの速度に応じて周辺回路により動作するモードと制御手段(MPU)のソフトが制御するモードの2つを備えることにより、すべてを回路により行う場合に比べて全体の回路規模および複雑さを軽減できる。
【0057】
また、デコーダからの分周データは、一部の高速度をサポートするボーレートのみに対応したものでよいため簡易な丸め回路で実現することができ回路規模を軽減できる。
【0058】
さらに、ATコマンド解析時のみに使用するカウンタは、他の動作モードを持たせることにより、ATコマンドのコマンド処理には同じカウンタを異なった動作モードで使用することができ、全体の回路規模の軽減が可能となる。
【0059】
また、この発明は、サンプリング時のエラーチェックもビットごとに行うため8ビットサンプリングを行っている間にできるため、エラー発生の場合には、次のキャラクタ受信のための準備が無駄なくできる。しかも従来技術では、ストップビットがないキャラクタのエラー処理がなかったが、このようなエラーキャラクタの検出も可能となり、不正キャラクタの誤受信動作が減少する。
【図面の簡単な説明】
【図1】この発明の実施の形態にかかるATコマンド解析装置の構成を示すブロック図である。
【図2】この発明における受信データ、第2カウンタとフリップフロップの出力タイミングを示すタイミングチャートである。
【図3】この発明の実施の形態にかかるATコマンド解析装置の正常動作のときのタイミングチャートである。
【図4】この発明の実施の形態にかかるATコマンド解析装置のキャラクターエラーのときのタイミングチャートである。
【図5】この発明の実施の形態にかかるATコマンド解析装置のライン変化を検出したエラーのときのタイミングチャートである。
【図6】従来のATコマンド解析装置の構成を示すブロック図である。
【図7】ATコマンドの通信パラメータを示す図である。
【符号の説明】
1 第1カウンタ
2 デコーダ
3 第2カウンタ
4 フリップフロップ
5 シフトレジスタ
6 UART
7 受信開始制御回路
8 ボーレート生成部
9 MPU
10 RXD
Claims (5)
- DTEからの調歩同期式シリアルデータをボーレートクロックに基づいて受信する送受信手段と、前記送受信手段の受信データを解析する制御手段と、前記制御手段の指示により前記送受信手段に出力するボーレートクロックを生成するボーレート生成手段と、前記制御手段からの指示に基づきDTEから送出されるATコマンドの第1キャラクタのスタートビットの幅を計測する計測手段と、前記計測手段の結果を受けて第1キャラクタのサンプリングするクロックを生成するための分周データを出力するとともに前記スタートビットがあらかじめ設定された以上の速度であればそのことを示すフラグを出力する速度解析手段と、前記フラグの有無により前記速度解析手段或いは前記制御手段からの分周データを選択しサンプリングクロックを生成するサンプリングクロック生成手段と、前記フラグもしくは前記制御手段の指示により前記サンプリングクロック生成手段からのクロックに基づいて第1キャラクタのスタートビットに続くデータ受信して保持し前記制御手段に送出するシフトレジスタ部と、を具備することを特徴とするATコマンド解析装置。
- 前記シフトレジスタ部は、第1キャラクタが“A”、“a”(16進表示で41Hもしくは61H)であることかどうかをビットをサンプルする毎にチェックし、異なったビットをサンプルした場合にはサンプル動作を中止し、エラーを表すフラグを前記制御手段へ出力することを特徴とする請求項1に記載のATコマンド解析装置。
- 前記シフトレジスタ部は、スタートビットに続くビットをサンプリングする前にそのビットがハイからローへ変化した場合にはサンプル動作を中止し、エラーを表すフラグを前記制御手段へ出力することを特徴とする請求項1または2に記載のATコマンド解析装置。
- 前記シフトレジスタ部は、スタートビットに続く8ビットをサンプリングした後に続くストップビットをサンプルし、その結果ストップビットが検出できなければエラーを表すフラグを前記制御手段へ出力することを特徴とする請求項1ないし3のいずれかに記載のATコマンド解析装置。
- 前記シフトレジスタ部にクロックを供給するクロック生成手段は1ショットパルス出力動作モードを持ち、前記制御手段の指示によりクロック生成モードと1ショットパルス出力動作モードが変更でき1ショットパルスを前記制御手段の割込み信号として出力することができることを特徴とする請求項1に記載のATコマンド解析装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP00611999A JP3565730B2 (ja) | 1999-01-13 | 1999-01-13 | Atコマンド解析装置 |
US09/479,889 US6704350B1 (en) | 1999-01-13 | 2000-01-10 | AT-command analyzing device |
US10/728,959 US7321615B2 (en) | 1999-01-13 | 2003-12-08 | At-command analyzing method |
US11/987,349 US7548581B2 (en) | 1999-01-13 | 2007-11-29 | At-command analyzing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP00611999A JP3565730B2 (ja) | 1999-01-13 | 1999-01-13 | Atコマンド解析装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000209302A JP2000209302A (ja) | 2000-07-28 |
JP3565730B2 true JP3565730B2 (ja) | 2004-09-15 |
Family
ID=11629633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP00611999A Expired - Fee Related JP3565730B2 (ja) | 1999-01-13 | 1999-01-13 | Atコマンド解析装置 |
Country Status (2)
Country | Link |
---|---|
US (3) | US6704350B1 (ja) |
JP (1) | JP3565730B2 (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002252660A (ja) * | 2001-02-22 | 2002-09-06 | Mitsubishi Electric Corp | シリアルデータ通信装置及び通信エラー検出方法 |
US6944248B2 (en) * | 2001-05-17 | 2005-09-13 | Bluebrook Associates Llc | Data rate calibration for asynchronous serial communications |
US7113490B2 (en) * | 2001-12-17 | 2006-09-26 | Toshiba Tec Kabushiki Kaisha | Communication sequence, data circuit-terminating equipment, data terminal equipment, and storage medium storing communication control program |
JP3523858B2 (ja) * | 2002-05-08 | 2004-04-26 | 沖電気工業株式会社 | シリアルデータ通信装置及びシリアルデータの送受信方法 |
US20040259585A1 (en) * | 2003-06-04 | 2004-12-23 | Avi Yitzchak | Wireless device having dual bus archeticure for interfacing with cellular signals and short-range radio signals |
JP4816123B2 (ja) * | 2006-02-17 | 2011-11-16 | ソニー株式会社 | 無線通信装置及び無線通信方法 |
US8176351B2 (en) * | 2006-08-21 | 2012-05-08 | National Instruments Corporation | Sampling mechanism for data acquisition counters |
JP2008180946A (ja) * | 2007-01-25 | 2008-08-07 | Ricoh Co Ltd | 画像形成方法並びに画像形成装置、画像形成装置用のプログラム |
JP5238369B2 (ja) | 2008-06-17 | 2013-07-17 | ルネサスエレクトロニクス株式会社 | データ受信装置、データ受信方法及びデータ受信プログラム |
US8645589B2 (en) | 2009-08-03 | 2014-02-04 | National Instruments Corporation | Methods for data acquisition systems in real time applications |
US8639851B2 (en) * | 2012-05-02 | 2014-01-28 | Atmel Corporation | Serial bit processor |
CN107968717B (zh) * | 2016-10-19 | 2022-05-24 | 中兴通讯股份有限公司 | 一种接口控制命令的处理方法及调制解调器Modem设备 |
KR20190091929A (ko) * | 2018-01-30 | 2019-08-07 | 엘에스산전 주식회사 | Uart 통신속도 자동 전환 방법 |
CN114077566B (zh) * | 2020-08-20 | 2023-10-13 | 富联精密电子(天津)有限公司 | 用于上位机与cpld之间数据处理的系统及方法 |
CN113886318A (zh) * | 2021-09-29 | 2022-01-04 | 深圳市智想科技有限公司 | 一种支持多波特率的单片机uart接口装置 |
US11973355B1 (en) * | 2022-09-13 | 2024-04-30 | Nucurrent, Inc. | Software based thermal mitigation for wireless power and data transfer systems |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5642350A (en) * | 1993-11-23 | 1997-06-24 | Ericsson Inc. | Peer to peer network for a mobile radio transceiver |
ATE278984T1 (de) * | 1994-02-02 | 2004-10-15 | Advanced Micro Devices Inc | Leistungssteuerung in einem asynchronen sender/empfänger |
JPH07321875A (ja) * | 1994-05-27 | 1995-12-08 | Mita Ind Co Ltd | データ受信制御装置 |
US5654983A (en) * | 1994-06-10 | 1997-08-05 | Hayes Microcomputer Products, Inc. | Method and apparatus of operating data communications equipment in command mode and autobauding |
JPH08161259A (ja) * | 1994-11-30 | 1996-06-21 | Mitsubishi Electric Corp | 直列データ受信装置及び直列データ転送装置 |
JP3602233B2 (ja) | 1995-11-30 | 2004-12-15 | パナソニック コミュニケーションズ株式会社 | Atコマンド解析装置 |
US5923705A (en) * | 1996-07-18 | 1999-07-13 | Qualcomm Incorporated | UART based autobauding without data loss |
US6198820B1 (en) * | 1996-12-18 | 2001-03-06 | Kyocera Corporation | Portable remote terminal apparatus |
US6072827A (en) * | 1997-08-29 | 2000-06-06 | Xiox Corporation | Automatic baud rate detection |
US6198785B1 (en) * | 1997-09-29 | 2001-03-06 | Lucent Technologies Inc. | Autobaud rate detection and adjustment |
US6157689A (en) * | 1998-03-16 | 2000-12-05 | Ericsson Inc. | Automatic speed detection for asynchronous serial communications |
US6167078A (en) * | 1998-03-30 | 2000-12-26 | Motorola | Conservation of power in a serial modem |
-
1999
- 1999-01-13 JP JP00611999A patent/JP3565730B2/ja not_active Expired - Fee Related
-
2000
- 2000-01-10 US US09/479,889 patent/US6704350B1/en not_active Expired - Lifetime
-
2003
- 2003-12-08 US US10/728,959 patent/US7321615B2/en not_active Expired - Fee Related
-
2007
- 2007-11-29 US US11/987,349 patent/US7548581B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7321615B2 (en) | 2008-01-22 |
US20080144706A1 (en) | 2008-06-19 |
US6704350B1 (en) | 2004-03-09 |
US7548581B2 (en) | 2009-06-16 |
US20040114679A1 (en) | 2004-06-17 |
JP2000209302A (ja) | 2000-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3565730B2 (ja) | Atコマンド解析装置 | |
EP0281307B1 (en) | Asynchronous interface and method for coupling data between a data module and a serial asynchronous peripheral | |
US7039787B1 (en) | Byte alignment circuitry | |
JP2641999B2 (ja) | データ・フォーマット検出回路 | |
US6157689A (en) | Automatic speed detection for asynchronous serial communications | |
EP0918421B1 (en) | Baud rate detection in serial data transmission | |
US6581100B1 (en) | System and method for communication parameter determination | |
TW201702894A (zh) | 獨立式通用非同步接收器/傳輸器brk偵測 | |
US5889817A (en) | Communication system with data comparison circuit | |
US5206888A (en) | Start-stop synchronous communication speed detecting apparatus | |
JPS6113846A (ja) | データフオーマツト検出装置 | |
CN110535621B (zh) | 一种串口通讯波特率校正装置及其校正方法 | |
JP3602233B2 (ja) | Atコマンド解析装置 | |
JPH0435537A (ja) | 受信ボーレート自動設定方式 | |
CN114584276A (zh) | 一种UART波特率自适应方法和系统以及SoC芯片 | |
US8139696B2 (en) | Baud rate detection | |
CN210405365U (zh) | 多协议聚合传输装置及系统 | |
WO2003001738A1 (en) | Method for detecting communication speed of apparatus | |
JP3305892B2 (ja) | スクランブル手段を備えたファクシミリ装置 | |
KR19980014452A (ko) | 자동 버드레이트 검출기 | |
KR940009334B1 (ko) | 디지탈 전송 시험 분석 장치 및 방법 | |
KR100229967B1 (ko) | 언더샘플링을 이용한 다수 보팅 검출 방법 | |
JPH01305644A (ja) | データ転送速度自動認識方式 | |
KR940011759B1 (ko) | 원격제어 디지탈루프백 시험 장치 | |
KR19990021022A (ko) | 직렬 통신에서 통신 속도 자동 검출 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040531 |
|
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: 20040608 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040608 |
|
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: 20080618 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090618 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090618 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100618 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110618 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110618 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120618 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130618 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |