Мне нужно знать, почему люди во встроенных системах используют AT-команды?
Когда я спрашиваю, люди говорят, что это стандарт.
Итак, мой вопрос: что означает «AT»? Почему люди продолжают говорить, что это стандарт?
serial
communication
at-commands
xsari3x
источник
источник
why people in embedded systems use AT commands
- в вашем вопросе или использовании AT по последовательному каналу нет ничего конкретного. Возможно, вы видели это во встроенной системе, но ее происхождение объяснено ниже и не относится к встроенным системам. (Будьте осторожны, чтобы не покрасить вещи слишком широкой кистью.)modemu
: Unix-программа, которая создает псевдо-tty-устройство master / slave и имитирует модем, который фактически переходит через telnet. Вы "набираете" хост сATD<hostname>
. Самое смешное, что программа вышла почти в то время, когда она мне понадобилась, примерно в 1996 году: версия 0.0.1. Я не нуждался в этом с тех пор. И это все еще 0.0.1! Я использовал его вместе с minicom для передачи zmodem через telnet на удаленные хосты, которые могли быть доступны только таким способом.Ответы:
Одна из редко встречающихся подробностей о командах «AT» заключается в том, что многие модемы запускаются в режиме «auto-baud / auto-parity». Первоначально модем сначала не пытался декодировать какие-либо последовательные данные, а просто наблюдал бы последовательный низкий импульс и высокий импульс, ширина которых соответствовала одному и тому же действительному битовому периоду (например, 3,333 мс для 300 бод, 833 мкс для 1200 бод и т. Д. .). Найдя это, они увидят, будет ли следующий низкий импульс в пять раз больше этой ширины. Если это так, они будут ожидать либо другого хай-лоу-хай, либо еще как минимум 1,5-битного максимума. Обнаружение любого из них будет означать, что модем только что увидел 0x41 или 0xC1 (то есть «A») идентифицированной скорости передачи. Это также указывает на то, что подключенный компьютер использует либо 8-N-1 или 7-E-1, либо использует 7-N-1 или 7-O-1. В любом случае будет выглядеть следующий символ 0x54 или 0xD4 (т. Е. «T»). Это позволило бы модему дополнительно классифицировать длину символов и настройки четности.
Обратите внимание, что все, что получено до «AT», будет игнорироваться. Если эхосигнал включен, данные будут возвращаться обратно на подключенный компьютер, просто отражая все переходы строк без последовательного декодирования. Если компьютер отправлял данные до «AT», например, со скоростью 247 бод, они возвращались бы с той же скоростью.
В настоящее время несколько устройств используют начальную букву «А» для автоматического определения скорости передачи, но в остальном тот факт, что команды начинаются с «АТ», является историческим курьезом.
источник
Он относится к набору команд Hayes, который долгое время был стандартом для подачи команд модемам (и другому оборудованию) по последовательной линии.
Вместо команд и данных, имеющих две отдельные строки, используется только одна строка, и для переключения в командный режим из данных отправляется определенная последовательность, например, +++ с последующей паузой заданной длины. Затем следующие данные воспринимаются как команда принимающим оборудованием.
Причиной использования чего-то подобного является тот факт, что это устраняет необходимость в другой паре линий, которые во многих случаях просто недоступны, особенно в небольших встроенных системах.
Взгляните на вики-страницу и ссылки внизу - там много подробностей.
Есть все виды расширений к первоначальному набору AT, поэтому я бы не стал рассчитывать на все, что упоминает AT, чтобы фактически использовать все оригинальные команды Хейса. Например, у меня есть последовательный чип Bluetooth, который IIRC использует свой собственный набор типов AT.
Я не эксперт в этом, хотя, я просто помню, как хакнул с командами в старые времена дозвона и BBS.
источник
Набор команд «AT» должен был решить проблему необходимости передачи внеполосной управляющей информации по одному и тому же каналу потока байтов произвольных данных. Это было распространенной проблемой модемов, когда они были внешними устройствами, подключенными к компьютерам через последовательный кабель.
Хейс был производителем таких модемов и приобрел большую популярность на ранних этапах. Их решение для внешней проблемы состояло в том, чтобы посылать модему в основном две буквенные команды управления ASCII со специальной последовательностью, чтобы перевести его в режим передачи данных. Чтобы уменьшить вероятность случайных вещей, похожих на команды, все их последовательности команд начинались с команды AT, которая обозначала «внимание».
Хейс получил настолько большую долю рынка, что другим производителям модемов пришлось внедрить тот же набор команд для совместимости. Таким образом, клиенты могли использовать свои модемы без необходимости переписывать программное обеспечение, которое уже было настроено для работы с модемом Hayes.
В настоящее время эта схема используется редко, но, конечно, то, что было настолько распространено, остается в темных углах даже сегодня.
источник
Есть особенно хороший документ, который описывает историю команд "AT", который можно найти здесь:
http://nemesis.lonestar.org/reference/telecom/modems/at/history.html
Он содержит много страниц хорошей истории о том, как появился протокол.
источник
почему люди во встроенных системах используют AT-команды?
Я не один из тех «людей во встроенных системах», но я бы сказал, что
AT
команды все еще используются, потому что они приходят из четко определенного стандарта с низкими издержками для встроенной сигнализации.Это означает, что вы можете использовать один и тот же канал связи как для сигнализации (команды AT для управления связью), так и для данных (фактические данные, которые вы хотите отправить). В
AT
стандарте определяет , как дифференцироваться между ними , чтобы вы и последовательным устройством не запутаться , когда говорят друг с другом.Что означает «АТ»?
AT
для вниманияПочему люди продолжают говорить, что это стандарт?
Ну, потому что это так. Я бы сказал , что это на самом деле сочетание де-факто стандартизации и пара из «реальных» стандартов и некоторых рекомендаций .
источник