率直に言って、BluetoothやWIFI、GSMなどのすべての通信IC(または少なくともそれらの多く、または最も有名または人気のある)がATコマンドセットをサポートするのはなぜですか?通信用のD / C(データまたはコマンド)用のシンプルなピンがないのはなぜですか?ATコマンドセットを使用する利点は何ですか?
ATコマンドセットは大きく、時間とメモリスペースがかかり、通信が難しくなりますが、代わりに単純なD / Cピンを使用して整数を送信してレジスタを設定したり、データを送信したりできます。
率直に言って、BluetoothやWIFI、GSMなどのすべての通信IC(または少なくともそれらの多く、または最も有名または人気のある)がATコマンドセットをサポートするのはなぜですか?通信用のD / C(データまたはコマンド)用のシンプルなピンがないのはなぜですか?ATコマンドセットを使用する利点は何ですか?
ATコマンドセットは大きく、時間とメモリスペースがかかり、通信が難しくなりますが、代わりに単純なD / Cピンを使用して整数を送信してレジスタを設定したり、データを送信したりできます。
回答:
brhansは正しい-レガシー。
1980年代、ヘイズは「スマートモデム1200」の製造を開始しました。それはほとんどすぐに時代遅れになり、ヘイズはSmartmodem 2400を急いで駆け出しました。その結果、ヘイズは、同じプログラミングコマンドを受け入れる2つの異なる速度のモデムを初めて作成しました。Smartmodem 1200に電話番号をダイヤルさせるソフトウェアは、Smartmodem 2400にもダイヤルできます。
当時、すべての新しいモデムは、更新されたドライバーを作成するのに何ヶ月も必要でした。Smartmodem 2400が市場に登場したとき、Smartmodem 1200の動作するドライバーが既にあったため、何ヶ月も待つ必要はありませんでした。突然、他のメーカーは、古いモデムと同じコマンドセットを持つ新しいモデムの利点に気付きました。6か月以内に、ベンダーは唯一の選択肢として「Hayes互換」モデムを提供していました。Hayesに訴えられました。そのため、誰もがモデムを「ATコマンドセット互換」と呼び始めましたが、ヘイズコマンドセットは引き続き使用していました。
80年代半ばまでに、ATコマンドセットを使用できないコンシューマモデムは作成されませんでした。その結果、通信システムのようなすべてのモデムはATコマンドを使用します。他にも利点があります-コマンドセットがASCIIなので、誰でも手動でATコマンドをターミナルウィンドウに入力してモデムを制御できます。私のモデムには危険なRJ11接続があったため、Procomm Plusのすべてのセッションを次のように開始していました。
AT
OK
ATH1
[dial tone]
ATDT [phone number]
ダイヤルトーンが聞こえることを確認するだけです。そうしなかった場合、私は周りを回ってワイヤーを少し動かします!
あなたは、コマンドセットの欠点についてのみ話している。利点を考慮してください:
ATコマンドセットを使用すると、OSのPPP実装を介して通信デバイスを任意のIPネットワークにすぐに配置できます。別の方法としては、カスタムプロトコルインターフェイスの設計に加えて、サポートするすべてのOSがデバイスを使用してインターネットに参加する前に、そのOSごとに独自のネットワークデバイスドライバーを作成する必要があります。
有能なエンジニアなら誰でもこのプロトコルをすでに知っているでしょう。日常業務で何十もの非標準シリアルプロトコルを理解して実装する必要がある人から、それを入手してください。よく設計された一般的なプロトコルの方が優れています。
ATプロトコルはかなり複雑であり、タスク固有の専用プロトコルよりも実装に多くのメモリを必要とするのは事実ですが、このプロトコルを実装することを選択した人は、多くの時間をかけて再発明することを避けることもできます完全に良いホイール。彼は何十年ものデザインの専門知識を引き出しています。彼は、開発時間をコミットする前に機能することを知っています。優れたプロトコル設計は驚くほど困難です。
(これらの日のうちの1つ、よりひどい半考慮された1回限りのプロトコルの実行を防ぐことを期待して、私はマグナムの作品「Your Protocol Sucks」を公開するつもりです。)
ATSコマンド...
質問の反対側で展開します...インターフェースに別の信号線を追加するだけではどうですか?
これは、本物の25ピンRS232インターフェースの信号線のすべての組み合わせを経験していない人にしか尋ねられません。TXD、RXD、Gndに加えて、RTS / CTS(送信準備完了、送信準備完了)DSR / DTR(データセット準備完了、データ端末準備完了)およびハードウェアハングアップピンの信号のペアが既にいくつかありました。その他。また、メーカー間で明確な普遍的な合意はありません。何が機能したのか、そもそも2組のハードウェアハンドシェイク信号が必要なのはなぜですか。そしてその上にソフトウェアXON / XOFFプロトコル)(そして、Diabloプリンターがピン11でのハンドシェークで-私が知っている限りでは-どうしてと主張したのですか?)
一部の機器には完全なインターフェースが必要でした。TXD / RXD / Gndに満足している人もいました。ピン4と6を短絡させることで、だまされることもあります(したがって、独自のRTSをCTSにループバックします)。また、DCEであるはずの一部はDTEまたはその逆であり、接続の各ペアが交換された「ヌルモデム」ケーブルを介してのみ他のものと通信します。
その後、これらすべてを簡素化するために、IBM PCはRS232用の新しい9ピンインターフェイスを導入しました。既存のすべてのケーブルのコレクションが廃止されたことを意味するため、最初からやり直す必要がありました...
これらはすべて、両端が異なるボーレートに設定されている可能性があることを考慮しなくても、人生を困難にしました...
これにより、RS232ブレイクアウトボックス、ケーブル、テスト/デバッグツールを中心に構築された業界全体がサポートされました。
このコンテキストで別の信号を追加しても、おそらく飛行しませんでした...
:コマンドは、複数のボー・レートをサポートするのに必要なので、そのコマンドの接頭辞の最初の文字として「A」を選んだ、とのようなラインルックスの「A」、「AT」使用への最初のヘイズモデム-------_-_____-x----------との比1:5を有しています最長および最短の「低」時間(「x」はパリティ設定に応じて高または低になる場合があります)。1200ボーより遅いレートは833us以下の「短い」時間を管理できません。また、2400より速いレートは4.16ms以上の「長い」時間を管理できないため、モデムは見た目を安全に想定できます1200ボーの "A"のように(および同様に300ボーなどで)。「T」は「A」と反対のパリティを持っているため、2番目の文字が「T」のように見える場合、
Hayesモデムコマンドと同様に、または類似して機能する「AT」コマンドを使用するデバイスまたはドライバー(たとえばATDTW192,168,254,123W4567、192.168.254.123のポート4567に接続するコマンドとして受け入れる)は、古いスタイルと通信することを期待するソフトウェアとの互換性のために行います。モデムまたは互換性のあるデバイス。ただし、デバイスは自動ボーレート検出に対応しておらず、コマンドとは異なり、「ATコマンドセット」は有用なマーケティングの流行語であるという理論に基づいて、「AT」で始まるコマンドを使用するデバイスが多数あります。他のデバイス上のすべて。このようなコンテキストでコマンドプレフィックスとして「AT」を使用しても、互換性の値は追加されず、有用な目的はありません。デザイナーは他のデザイナーがそれを見ているのでそれをします、