Franchement, pourquoi tous les CI de communication (ou au moins un grand nombre d'entre eux ou les plus célèbres ou les plus populaires) tels que Bluetooth ou WIFI ou GSM ou etc. prennent-ils en charge l'ensemble de commandes AT? pourquoi n'ont-ils pas une simple broche pour D / C (données ou commande) pour les communications? Quels sont les avantages de l'utilisation du jeu de commandes AT?
Le jeu de commandes AT est volumineux et prendrait du temps et de l'espace mémoire et il est difficile de communiquer alors que vous pouvez utiliser à la place une simple broche D / C et envoyer un entier pour définir des registres ou envoyer des données.
Réponses:
brhans a raison - Legacy.
Dans les années 80, Hayes a commencé à fabriquer le "Smartmodem 1200". Il était obsolète presque immédiatement et Hayes a précipité le Smartmodem 2400. Dans cette ruée, il n'y avait pas de temps pour des modifications de conception entre les conceptions du modem. En conséquence, Hayes a été le premier à fabriquer deux modems de vitesse différents qui ont accepté les mêmes commandes de programmation! Tout logiciel pouvant obtenir un Smartmodem 1200 pour composer un numéro de téléphone peut également composer un Smartmodem 2400.
À l'époque, chaque nouveau modem nécessitait des mois pour qu'un pilote mis à jour soit écrit. Lorsque le Smartmodem 2400 est arrivé sur le marché, il y avait déjà un pilote fonctionnel pour le Smartmodem 1200, donc pas de mois d'attente. Tout à coup, d'autres fabricants ont réalisé l'avantage que les nouveaux modems avaient le même jeu de commandes que les anciens modems. En six mois, les fournisseurs proposaient le choix entre des modems «compatibles Hayes». Ce qui les a poursuivis en justice par Hayes. Tout le monde a donc commencé à appeler leurs modems «compatibles avec le jeu de commandes AT», mais a continué à utiliser le jeu de commandes Hayes.
Au milieu des années 80, aucun modem grand public n'avait été créé qui ne pouvait pas utiliser l'ensemble de commandes AT. En conséquence, chaque modem comme le système de communication utilise des commandes AT. Il existe également d'autres avantages: le jeu de commandes étant ASCII, n'importe qui peut saisir manuellement les commandes AT dans une fenêtre de terminal pour contrôler un modem. Parce que mon propre modem avait une connexion RJ11 risquée, j'avais l'habitude de démarrer chaque session dans Procomm Plus avec:
Juste pour être sûr d'avoir la tonalité. Si je ne le faisais pas, je ferais le tour et tortillerais un peu les fils!
la source
Vous ne parlez que des inconvénients de l'ensemble de commandes. Considérez les avantages:
En utilisant le jeu de commandes AT, votre appareil de communication peut être immédiatement mis sur n'importe quel réseau IP via l' implémentation PPP du système d'exploitation . L'alternative est qu'en plus de concevoir une interface de protocole personnalisée, vous devez écrire votre propre pilote de périphérique réseau pour chaque système d'exploitation que vous souhaitez prendre en charge avant que ce système d'exploitation puisse utiliser votre périphérique pour se connecter à Internet.
Tout ingénieur compétent connaîtra déjà ce protocole. Prenez-le de celui dont le travail de jour l'oblige à comprendre et à mettre en œuvre des dizaines de protocoles série non standard: un protocole commun bien conçu est préférable.
S'il est vrai que le protocole AT est assez complexe et prend plus de mémoire à mettre en œuvre qu'un protocole spécifique à une tâche, il est également vrai que quelqu'un qui choisit de mettre en œuvre ce protocole évite de passer beaucoup de temps à réinventer un roue parfaitement bonne. Il a des décennies d'expertise en matière de conception. Il sait que cela fonctionnera avant de lui consacrer du temps de développement. Une bonne conception de protocole est étonnamment difficile.
(Un de ces jours, je vais publier mon magnum opus, "Your Protocol Sucks", dans l'espoir d'empêcher la perpétration de protocoles ponctuels plus terribles à moitié considérés.)
la source
ATS
commande ...Je vais développer de l'autre côté de la question ... pourquoi ne pas simplement ajouter une autre ligne de signalisation à l'interface?
Cela ne peut être demandé que par quelqu'un qui n'a pas vécu toutes les permutations des lignes de signalisation sur une véritable interface RS232 à 25 broches. En plus de TXD, RXD et Gnd, il y avait déjà plusieurs autres paires de signaux, RTS / CTS (Ready to Send, Clear To Send) DSR / DTR (Data Set Ready, Data Terminal Ready) et une broche de raccrochage matérielle. Et d'autres. Et aucun accord universel clair entre les fabricants ne précisait exactement ce qui fonctionnait - pourquoi aviez-vous d'abord besoin de deux ensembles de signaux de négociation matériels? Et le protocole logiciel XON / XOFF en plus de cela) (Et pourquoi les imprimantes Diablo ont-elles insisté - uniquement pour autant que je sache - sur la prise de contact sur la broche 11?)
Certains équipements nécessitaient une interface complète. Certains étaient satisfaits de TXD / RXD / Gnd. Certains pourraient être trompés en travaillant en court-circuitant les broches 4 et 6 (rebouclant ainsi leur propre RTS à CTS). Et certains qui auraient dû être DCE étaient DTE ou vice-versa et ne parlaient à rien d'autre via un câble "null modem" avec chaque paire de connexions échangées.
Ensuite, pour simplifier tout cela, le PC IBM a introduit une nouvelle interface 9 broches pour RS232. Ce qui signifie que toute votre collection de câbles existante était obsolète et que vous deviez recommencer ...
Tout cela a rendu la vie difficile même sans tenir compte du fait que les deux extrémités peuvent avoir été réglées à des vitesses de transmission différentes ...
Cela a soutenu une industrie entière construite autour de boîtiers de dérivation RS232, de câbles et d'outils de test / débogage.
Ajouter un autre signal, dans ce contexte, n'allait probablement pas voler ...
la source
Le premier modem Hayes à utiliser les commandes "AT" a choisi "A" comme premier caractère de son préfixe de commande car il devait prendre en charge plusieurs débits en bauds, et le "A" sur la ligne ressemble à:
-------_-_____-x----------
qui a un rapport de 5: 1 entre les temps «bas» les plus longs et les plus courts (le «x» peut être haut ou bas selon les paramètres de parité). Aucun débit plus lent que 1200 bauds ne peut gérer un temps "court" de 833us ou moins, et aucun débit plus rapide que 2400 ne peut gérer un temps "long" de 4,16 ms ou plus, donc un modem peut sans risque supposer que s'il voit quelque chose qui ressemble comme un "A" à 1200 bauds, il l'est (et de même avec 300 bauds, etc.). Le "T" a la parité opposée au "A", donc si le deuxième caractère ressemble à un "T",Les périphériques ou pilotes qui utilisent des commandes "AT" qui fonctionnent de manière similaire ou analogue aux commandes du modem Hayes (par exemple, acceptant
ATDTW192,168,254,123W4567
comme commande pour se connecter au port 4567 de 192.168.254.123) le font pour la compatibilité avec les logiciels qui s'attendent à parler à un style ancien. modem ou appareil compatible. Cependant, il existe de nombreux appareils qui utilisent des commandes commençant par "AT" selon la théorie selon laquelle "l'ensemble de commandes AT" semble être un mot à la mode marketing utile, même si les appareils ne sont pas capables de détection automatique du débit en bauds et ont des commandes contrairement à quoi que ce soit sur tout autre appareil. L'utilisation de "AT" comme préfixe de commande dans de tels contextes n'ajoute aucune valeur de compatibilité et ne sert à rien; les concepteurs le font parce qu'ils ont vu d'autres concepteurs le faire,la source