1 ATコマンドの構成
■ ATコマンド
ATコマンドは、本モデムを操作するための特別な命令です。通信ソフトが自動的に適切な命令を出しますが、ユーザ自身が通信ソフトのターミナルモードなどを使用して、手動で出すこともできます。
ATコマンドの入力は、コマンドA/の場合を除き、すべて頭にAT(アテンションコード)を付加したコマンドで始まります。大文字AT、または小文字atが使用可能です。本モデムからOKが返れば、次のATコマンドを受け付けられる状態になったことを示します。
ATで始まるコマンドを連続した構成にするときは、次のようにしなければなりません。
一つまたは、それ以上のコマンドを連続させ、一つの文に配列して構成することができます。見やすさのためコマンドとコマンドの間に空白を入れてもかまいません。
本モデムは内部のコマンドバッファにATの次の文字から蓄えていきます。
コマンドの入力中に、間違った文字を入力した場合は、後退キー(バックスペースキー)を使用して、入力しなおすことができます。ただし、コマンドバッファに蓄えられていないATの文字だけは、消すことができません。
コマンド行の最後は、を押して、コマンドの実行を指示します。
コマンドを構成する文字数は、ATのあと60文字(スペースを含む)を超えることはできません。超えた文字は本モデム側で無視されます。
■ メッセージ
■ A/コマンド
A/コマンドは、ATで始まらない唯一のコマンドです。
A/と入力するだけで、コマンドバッファにあるコマンドを再実行します。
このコマンドのあとにを押す必要はありません。
次にその例を示します。
キー入力:ATDT1234567
本モデム:BUSY
キー入力:A/
コマンドATDT1234567によって、電話番号123-4567に電話をかけます。
電話の相手先が話中で、話中音が返ってくると、本モデムはBUSYメッセージを返します。
再ダイヤルのため、コマンドA/を入力します(長いATコマンドを入力する必要がなくなります)。
■ 設定レジスタ
- 本モデムの動作モードの設定はATコマンドを入力して行います。
- &Wコマンドによって設定値を不揮発性メモリに登録することができます。
- &Fコマンドによって、設定レジスタを工場設定値に戻すことができます。
設定レジスタのなかに、Sレジスタと呼ばれる16個のレジスタがあります。
Sレジスタへの書き込みはコマンドSr = nで行い、読み出しはコマンドSr?(rはレジスタ番号)で行います。
次に入力例を示します。
■ 通信速度とフロー制御
データモード 送受信 |
V.92/V.90モード 受信 |
V.92/V.90モード 送信 |
---|---|---|
115.2k、57.6k、38.4k、19.2k、9600、4800、2400、1200、300 bpsのいずれかの通信速度で接続できます。本モデムはパソコン本体から送られたATまたはatコードから通信速度を判別して設定します。
本モデムは、回線通信速度に合わせて、シリアルポートの通信速度を調整できます。
回線速度(ボーレート)の違う複数の相手に対して、いちいちパソコン本体および通信ソフトの通信速度を変えることなく、そのまま通信できます。ただし、&Kコマンドによるフロー制御をする必要があります。
本モデムには、送信・受信それぞれに一時的にデータを記憶するバッファがあります。モデムポートとシリアルポートの通信速度が異なっていると、本モデムのバッファはすぐにいっぱいになってあふれてしまいます。これを避けるために、あふれそうになるとデータの流れを止め、バッファが空くと再び流す機能をフロー制御といいます。制御方法として、XON/XOFF制御とRS/CS制御の2つがあります。
この方法は、パソコン−モデム間のデータに制御データを流すことにより、データの流れを制御する方法で、受信側のパソコンかモデムが、データの受信が可能ならばXONを、バッファがいっぱいでデータを受け取りきれないときはXOFFを流します。
RS/CS制御は、制御データを用いる方法ではなく、制御線を使用してデータの流れを制御する方法です。これは、モデムの受信バッファがいっぱいになると、CS信号をOFFにしてデータの流れを止め、受信可能になると再びCS信号をONにしてデータ送信を始めます。同様に、パソコン本体はRS信号を使用して制御します。
これによって、モデムポートの通信速度が接続相手によって変わったとき、シリアルポートの速度を変更しなくても、データ抜けを起こさず確実に通信することができます。