Francamente, ¿por qué todos los circuitos integrados de comunicación (o al menos muchos de ellos o los más famosos o populares) como Bluetooth o WIFI o GSM o etc. admiten el conjunto de comandos AT? ¿Por qué no tienen un pin simple para D / C (Datos o Comando) para las comunicaciones? ¿Cuáles son los beneficios de usar el conjunto de comandos AT?
El conjunto de comandos AT es grande y tomaría tiempo y espacio de memoria y dificulta la comunicación, mientras que en su lugar puede usar un pin D / C simple y enviar un número entero para establecer registros o enviar datos.
Respuestas:
Brhans es correcto - Legado.
En la década de 1980, Hayes comenzó a fabricar el "Smartmodem 1200". Estaba obsoleto casi de inmediato y Hayes se apresuró a sacar el Smartmodem 2400. En ese apuro, no hubo tiempo para alteraciones de diseño entre los diseños de módem. Como resultado, ¡Hayes fue el primero en hacer dos módems de velocidad diferentes que aceptaron los mismos comandos de programación! Cualquier software que pueda hacer que un Smartmodem 1200 marque un número de teléfono también puede marcar un Smartmodem 2400.
En ese momento, cada módem nuevo requería meses para que se escribiera un controlador actualizado. Cuando el Smartmodem 2400 salió al mercado, ya había un controlador que funcionaba para el Smartmodem 1200, por lo que no hubo meses de espera. De repente, otros fabricantes se dieron cuenta de la ventaja de los nuevos módems que tenían el mismo conjunto de comandos que los módems anteriores. En seis meses, los vendedores ofrecían módems "compatibles con Hayes" como la única opción. Lo que los demandó a Hayes. Entonces todos comenzaron a llamar a sus módems "Compatible con el conjunto de comandos AT", pero continuaron usando el conjunto de comandos Hayes.
A mediados de los 80 no se fabricaron módems de consumo que no pudieran usar el conjunto de comandos AT. Como resultado, cada módem, como el sistema de comunicaciones, utiliza comandos AT. También hay otras ventajas: como el conjunto de comandos es ASCII, cualquiera puede escribir manualmente los comandos AT en una ventana de terminal para controlar un módem. Debido a que mi propio módem tenía una conexión RJ11 incierta, solía comenzar cada sesión en Procomm Plus con:
Solo para asegurarme de que tengo el tono de marcar. ¡Si no lo hiciera, iría y movería los cables un poco!
fuente
Estás hablando solo de las desventajas del conjunto de comandos. Considere las ventajas:
Al utilizar el conjunto de comandos AT, su dispositivo de comunicación se puede poner inmediatamente en cualquier red IP a través del PPP del sistema operativo implementación . La alternativa es que, además de diseñar una interfaz de protocolo personalizada, debe escribir su propio controlador de dispositivo de red para cada sistema operativo que desee admitir antes de que ese sistema operativo pueda usar su dispositivo para conectarse a Internet.
Cualquier ingeniero competente ya conocerá este protocolo. Tómelo de alguien cuyo trabajo diario requiere que comprenda e implemente docenas de protocolos seriales no estándar: un protocolo común bien diseñado es mejor.
Si bien es cierto que el protocolo AT es bastante complejo y requiere más memoria para implementar que un protocolo específico para una tarea específica, también es el caso de que alguien que elija implementar este protocolo evite perder mucho tiempo reinventando un Rueda perfectamente buena. Tiene décadas de experiencia en diseño para aprovechar. Sabe que funcionará antes de dedicarle tiempo de desarrollo. El buen diseño del protocolo es sorprendentemente difícil.
(Uno de estos días, voy a publicar mi obra maestra, "Su protocolo apesta", con la esperanza de evitar la perpetración de protocolos únicos y terribles a medias.)
fuente
ATS
comando ...Me expandiré al otro lado de la pregunta ... ¿por qué no simplemente agregar otra línea de señalización a la interfaz?
Eso solo puede preguntarlo alguien que no haya vivido todas las permutaciones de las líneas de señalización en una interfaz RS232 de 25 pines genuina. Además de TXD, RXD y Gnd, ya había varios otros pares de señales, RTS / CTS (Listo para enviar, Borrar para enviar) DSR / DTR (Conjunto de datos listo, Terminal de datos listo) y un pin de colgar de hardware. Y otros. Y no existe un acuerdo universal claro entre los fabricantes, ¿qué funcionó exactamente? ¿Por qué necesitó dos conjuntos de señales de comunicación de hardware en primer lugar? Y el protocolo XON / XOFF de software además de eso) (¿Y por qué las impresoras Diablo insistieron, únicamente hasta donde yo sé, en el apretón de manos en el pin 11?)
Algunos equipos requieren una interfaz completa. Algunos estaban contentos con TXD / RXD / Gnd. Algunos podrían ser engañados para que trabajen acortando los pines 4 y 6 (lo que hace retroceder su propio RTS a CTS). Y algunos que deberían haber sido DCE eran DTE o viceversa y solo hablarían con cualquier otra cosa a través de un cable de "módem nulo" con cada par de conexiones intercambiadas.
Luego, para simplificar todo esto, la PC de IBM introdujo una nueva interfaz de 9 pines para RS232. Es decir, toda su colección de cables existente era obsoleta y tenía que comenzar de nuevo ...
Todo lo cual hizo la vida difícil, incluso sin considerar que ambos extremos pueden haber sido configurados a diferentes velocidades de transmisión ...
Esto apoyó a toda una industria construida alrededor de cajas de conexión RS232, cables y herramientas de prueba / depuración.
Agregar otra señal, en este contexto, probablemente no iba a volar ...
fuente
El primer módem Hayes en usar los comandos "AT" eligió "A" como el primer carácter de su prefijo de comando porque necesitaba soportar múltiples velocidades de transmisión, y la "A" en la línea se ve así:
-------_-_____-x----------
que tiene una relación de 5: 1 entre los tiempos 'bajos' más largos y más cortos (la "x" puede ser alta o baja dependiendo de la configuración de paridad). Ninguna velocidad más lenta que 1200 baudios puede manejar un tiempo "corto" de 833us o menos, y ninguna velocidad más rápida que 2400 puede manejar un tiempo "largo" de 4.16ms o más, por lo que un módem puede asumir con seguridad que si ve algo que se ve como una "A" de 1200 baudios, es (y del mismo modo con 300 baudios, etc.). La "T" tiene la paridad opuesta a la "A", por lo que si el segundo personaje parece una "T",Los dispositivos o controladores que usan comandos "AT" que funcionan de manera similar o análoga a los comandos de módem Hayes (por ejemplo, aceptar
ATDTW192,168,254,123W4567
como un comando para conectarse al puerto 4567 de 192.168.254.123) lo hacen por compatibilidad con el software que espera hablar con un viejo estilo módem o dispositivo compatible. Sin embargo, hay muchos dispositivos que utilizan comandos que comienzan con "AT" en la teoría de que "conjunto de comandos AT" parece ser una palabra de moda útil de marketing, a pesar de que los dispositivos no son capaces de detección automática de velocidad de transmisión y tienen comandos diferentes cualquier cosa en cualquier otro dispositivo. El uso de "AT" como prefijo de comando en dichos contextos no agrega ningún valor de compatibilidad y no tiene ningún propósito útil; los diseñadores lo hacen porque han visto a otros diseñadores hacerlo,fuente