¿Por qué las personas usan los comandos AT en la comunicación en serie?

21

¿Necesito saber por qué las personas en sistemas integrados usan comandos AT?
Cuando le he preguntado a la gente dice que es un estándar.

Entonces mi pregunta es: ¿Qué significa "AT"? ¿Por qué la gente sigue diciendo que es un estándar?

    
pregunta xsari3x

5 respuestas

32

Un detalle poco apreciado de los comandos "AT" es que muchos módems comenzarían en el modo "auto-baud / auto-parity". Inicialmente, el módem comenzaría a no intentar descodificar realmente ningún dato en serie, sino que simplemente observaría un pulso bajo consecutivo y un pulso alto cuyos anchos coincidieran con el mismo período de bit válido (por ejemplo, 3.333 ms para 300 baudios, 833us para 1200 baudios, etc.) .). Al encontrar eso, verían si el siguiente pulso bajo era cinco veces ese ancho. Si es así, estarían atentos a otra alta-baja-alta o si no, por lo menos a 1,5 bits de alta. Encontrar cualquiera de estos indicaría que el módem acababa de ver un 0x41 o 0xC1 (es decir, "A") de la velocidad en baudios identificada. También indicaría que la computadora conectada estaba usando 8-N-1 o 7-E-1, o que estaba usando 7-N-1 o 7-O-1. En cualquier caso, buscaría que el siguiente carácter sea 0x54 o 0xD4 (es decir, "T"). Eso permitiría al módem categorizar más a fondo la configuración de paridad y longitud de caracteres.

Tenga en cuenta que todo lo recibido antes de "AT" se ignoraría. Si se activara el eco, los datos se devolverían al equipo conectado simplemente duplicando todas las transiciones de línea sin decodificación en serie. Si una computadora envió datos antes de la "AT", por ej. 247 baudios, se devolvería a esa velocidad.

Hoy en día, algunos dispositivos utilizan una "A" inicial para la detección automática de velocidad en baudios, pero el hecho de que los comandos comiencen con "AT" es básicamente una curiosidad histórica.

    
respondido por el supercat
23

Se refiere al conjunto de comandos de Hayes que ha sido el estándar durante mucho tiempo para emitir comandos a módems (y otro equipo) sobre una línea serie.

En lugar de que los comandos y los datos tengan dos líneas separadas, solo se usa una línea y para cambiar al modo de comando desde los datos se envía una determinada secuencia, por ejemplo. +++ seguido de una pausa de longitud establecida. Luego, el equipo receptor recibe los siguientes datos como un comando.
La razón para usar algo como esto es el hecho de que evita la necesidad de otro par de líneas, que en muchos casos simplemente no están disponibles, especialmente en sistemas integrados pequeños.

Eche un vistazo a la página de Wiki y los enlaces que se encuentran en la parte inferior: hay muchos detalles allí.

Sin embargo, hay todo tipo de extensiones para el conjunto AT original, así que no apostaría por todo lo que se menciona en AT para usar realmente todos los comandos originales de Hayes. Por ejemplo, aquí tengo un chip serie de bluetooth que IIRC usa su propio conjunto de tipo AT.
Sin embargo, no soy un experto en eso, solo recuerdo haber pirateado los comandos en los últimos días de marcado y BBS.

    
respondido por el Oli Glaser
14

El conjunto de comandos "AT" fue para resolver el problema de la necesidad de recibir información de control fuera de banda a través del mismo canal de bytes. Se enviaron datos arbitrarios. Este fue un problema común de los módems, ya que eran cajas externas conectadas a las computadoras a través de un cable serie.

Hayes era un fabricante de tales módems y ganó mucha popularidad al principio. Su solución para el problema de fuera de banda fue enviar al módem, en su mayoría, comandos de control ASCII de dos letras con una secuencia especial para ponerlo en modo de paso de datos. Para reducir la probabilidad de que las cosas aleatorias parezcan comandos, todas sus secuencias de comandos comenzaron con el comando AT, que significaba "atención".

Hayes ganó tanta participación de mercado que otros fabricantes de módems tuvieron que implementar el mismo conjunto de comandos para ser compatibles. De esa manera, los clientes podrían usar sus módems sin tener que volver a escribir el software, que ya estaba configurado para manejar un módem Hayes.

Hoy en día, este esquema rara vez se usa, pero, por supuesto, algo que era tan omnipresente se pega en los rincones oscuros incluso hoy.

    
respondido por el Olin Lathrop
1

Hay un documento especialmente bueno que describe la historia de los comandos "AT" que se pueden encontrar aquí:

enlace

Contiene muchas páginas de buena "historia" sobre cómo se produjo el protocolo.

    
respondido por el Kolban
0

¿Por qué las personas en sistemas integrados utilizan comandos AT?

No soy una de esas "personas en sistemas integrados", pero diría que los comandos AT todavía están en uso porque provienen de un estándar de baja sobrecarga bien definido para la señalización en línea.

Lo que significa es que puede usar el mismo canal de comunicación tanto para la señalización (comandos AT para gestionar la comunicación) como para los datos (datos reales que desea enviar). El estándar AT especifica cómo diferenciar los dos para que usted y su dispositivo serial no se confundan cuando se hablan entre sí.

¿Qué significa "AT"?

AT es para ATtention

¿Por qué la gente sigue diciendo que es un estándar?

Bueno, porque lo es. Diría que en realidad es una mezcla de estandarización de facto y una pareja de "real" < a href="https://www.google.it/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved= 0ahUKEwj00JrFnPvZAhUKvRQKHY6yCFoQFggoMAA & url = http% 3A% 2F% 2Fwww.etsi.org% 2Fdeliver% 2Fetsi_ts% 2F127000_127099% 2F127007% 2F10.03.00_60% 2Fts_127007v100300p.pdf & USG = AOvVaw03kWB4rEXUhP9rQlcWR7a2 "> normas y algunos recomendaciones .

    
respondido por el Luke404

Lea otras preguntas en las etiquetas