Ich muss wissen, warum Benutzer in eingebetteten Systemen AT-Befehle verwenden.
Wenn ich gefragt habe, sagen die Leute, dass es ein Standard ist.
Meine Frage lautet also: Was bedeutet "AT"? Warum sagen die Leute immer wieder, es sei ein Standard?
serial
communication
at-commands
xsari3x
quelle
quelle
why people in embedded systems use AT commands
- Ihre Frage oder die Verwendung von AT auf einer seriellen Verbindung ist nicht spezifisch eingebettet. Es könnte sein, dass Sie dies auf einem eingebetteten System gesehen haben, aber der Ursprung wird unten erklärt und ist nicht spezifisch für eingebettete Systeme. (Achten Sie darauf, die Dinge nicht mit einem zu breiten Pinsel zu malen.)modemu
Unix-Programm implementiert , das ein Master / Slave-Pseudo-Gerät erstellt und ein Modem simuliert, das tatsächlich über Telnet übertragen wird. Sie "wählen" einen Host mitATD<hostname>
. Das Komische ist, dass das Programm fast genau zu einer Zeit herauskam, als ich es brauchte, etwa 1996: Version 0.0.1. Ich habe es seitdem nicht mehr gebraucht. Und es ist immer noch 0.0.1! Ich habe es in Verbindung mit minicom verwendet, um zmodem-Übertragungen über Telnet an Remote-Hosts durchzuführen, die nur auf diese Weise erreicht werden konnten.Antworten:
Ein selten geschätztes Detail bei "AT" -Befehlen ist, dass viele Modems im "Auto-Baud / Auto-Parity" -Modus starten. Anfänglich versuchte das Modem nicht, serielle Daten zu dekodieren, sondern suchte einfach nach einem aufeinanderfolgenden Tiefpuls und Hochpuls, deren Breite mit der gleichen gültigen Bitperiode übereinstimmte (z. B. 3,333 ms für 300 Baud, 833 us für 1200 Baud usw.) .). Wenn sie das fanden, würden sie sehen, ob der nächste niedrige Puls fünfmal so breit war. In diesem Fall würden sie entweder nach einem anderen High-Low-High oder nach mindestens 1,5 Bit-Times-High Ausschau halten. Wenn Sie einen dieser Werte finden, hat das Modem gerade 0x41 oder 0xC1 (dh "A") der identifizierten Baudrate erkannt. Es würde ferner anzeigen, dass der angeschlossene Computer entweder 8-N-1 oder 7-E-1 oder 7-N-1 oder 7-O-1 verwendete. In beiden Fällen würde das nächste Zeichen entweder 0x54 oder 0xD4 sein (dh "T"). Auf diese Weise könnte das Modem die Einstellungen für Zeichenlänge und Parität weiter kategorisieren.
Beachten Sie, dass alles, was vor dem "AT" empfangen wurde, ignoriert wird. Wenn das Echo aktiviert ist, werden die Daten einfach durch Spiegeln aller Leitungsübergänge ohne serielle Dekodierung an den angeschlossenen Computer zurückgesendet. Wenn ein Computer Daten vor dem "AT" mit beispielsweise 247 Baud sendet, wird dies mit dieser Geschwindigkeit zurückgesendet.
Heutzutage verwenden einige Geräte ein anfängliches "A" für die automatische Baudratenerkennung, aber ansonsten ist die Tatsache, dass Befehle mit "AT" beginnen, im Grunde eine historische Kuriosität.
quelle
Es bezieht sich auf den Hayes-Befehlssatz, der seit langem der Standard für die Ausgabe von Befehlen an Modems (und andere Geräte) über eine serielle Leitung ist.
Anstelle der Befehle und Daten mit zwei getrennten Zeilen wird nur eine Zeile verwendet, und um von Daten in den Befehlsmodus zu wechseln, wird eine bestimmte Sequenz gesendet, z. B. +++, gefolgt von einer Pause mit festgelegter Länge. Dann werden die nächsten Daten vom empfangenden Gerät als Befehl angesehen.
Der Grund für diese Verwendung ist die Tatsache, dass kein weiteres Leitungspaar erforderlich ist, das in vielen Fällen, insbesondere in kleinen eingebetteten Systemen, einfach nicht verfügbar ist.
Schauen Sie sich die Wiki-Seite und die Links unten an - dort gibt es jede Menge Details.
Es gibt jedoch alle möglichen Erweiterungen des ursprünglichen AT-Satzes, sodass ich mich nicht auf alles verlassen würde, was AT erwähnt, um tatsächlich alle ursprünglichen Hayes-Befehle zu verwenden. Zum Beispiel habe ich hier einen seriellen Bluetooth-Chip, für den IIRC einen eigenen AT-Typ-Satz verwendet.
Ich bin allerdings kein Experte, ich erinnere mich nur daran, wie ich in den vergangenen Tagen mit Befehlen wie DFÜ und BBS herumgehackt habe.
quelle
Der "AT" -Befehlssatz sollte das Problem lösen, dass über denselben Byte-Stream-Kanal beliebige Daten gesendet werden mussten, die außerhalb des Bandes lagen. Dies war ein häufiges Problem von Modems, als es sich um externe Boxen handelte, die über ein serielles Kabel mit Computern verbunden waren.
Hayes war ein Hersteller solcher Modems und erfreute sich schon früh großer Beliebtheit. Ihre Lösung für das Out-of-Band-Problem bestand darin, dem Modem zumeist aus zwei Buchstaben bestehende ASCII-Steuerbefehle mit einer speziellen Sequenz zu senden, um es in den Datenübertragungsmodus zu versetzen. Um die Wahrscheinlichkeit von zufälligen Dingen zu verringern, die wie Befehle aussehen, begannen ihre Befehlssequenzen alle mit dem AT-Befehl, der für "Aufmerksamkeit" stand.
Hayes gewann so viel Marktanteil, dass andere Modemhersteller denselben Befehlssatz implementieren mussten, um kompatibel zu sein. Auf diese Weise konnten Kunden ihre Modems verwenden, ohne Software neu schreiben zu müssen, die bereits für die Steuerung eines Hayes-Modems eingerichtet wurde.
Heutzutage wird dieses Schema nur noch selten angewendet, aber natürlich war es auch heute noch so verbreitet in dunklen Ecken.
quelle
Es gibt ein besonders gutes Dokument, das den Verlauf der "AT" -Befehle beschreibt, die hier zu finden sind:
http://nemesis.lonestar.org/reference/telecom/modems/at/history.html
Es enthält viele Seiten guter "Geschichte" darüber, wie das Protokoll zustande kam.
quelle
Warum verwenden Benutzer in eingebetteten Systemen AT-Befehle?
Ich gehöre nicht zu diesen "Leuten in eingebetteten Systemen", aber ich würde sagen, dass
AT
Befehle immer noch verwendet werden, da sie von einem genau definierten Low-Overhead-Standard für Inline-Signalisierung stammen.Das bedeutet, dass Sie denselben Kommunikationskanal sowohl für die Signalisierung (AT-Befehle zum Verwalten der Kommunikation) als auch für Daten (tatsächliche Daten, die Sie senden möchten) verwenden können. Der
AT
Standard legt fest, wie Sie zwischen beiden unterscheiden müssen, damit Sie und Ihr serielles Gerät nicht durcheinander geraten, wenn Sie miteinander sprechen.Was bedeutet "AT"?
AT
ist für AufmerksamkeitWarum sagen die Leute immer wieder, es sei ein Standard?
Nun, weil es so ist. Ich würde sagen , es ist eigentlich eine Mischung aus ist de-facto - Standardisierung und ein Paar von „echten“ Standards und einigen Empfehlungen .
quelle