사람들이 직렬 통신에서 AT 명령을 사용하는 이유는 무엇입니까?


21

임베디드 시스템의 사람들이 왜 AT 명령을 사용하는지 알아야합니까?
내가 사람들에게 물었을 때 그것이 표준이라고 말합니다.

제 질문은 "AT"는 무엇을 의미합니까? 사람들이 왜 표준이라고 계속 말합니까?


1
+++ ATH0 누군가?
kinokijuf

@kinokijuf 무슨 뜻인가요?
xsari3x 2019

1
why people in embedded systems use AT commands-귀하의 질문이나 시리얼 링크에서의 AT 사용에 관한 특정 내용은 없습니다. 임베디드 시스템에서 이것을 보았을 수도 있지만 그 기원은 아래에 설명되어 있으며 임베디드 시스템에만 국한되지는 않습니다. (너무 넓은 브러시로 물건을 페인트하지 않도록주의하십시오.)
Radian

1
AT 명령은 modemu마스터 / 슬레이브 의사 -tty 장치를 생성하고 실제로 텔넷을 통과하는 모뎀을 시뮬레이트하는 Unix 프로그램으로 구현되었습니다 . 으로 호스트를 "다이얼"합니다 ATD<hostname>. 재미있는 점은 프로그램이 필요할 때 거의 정확히 1996 년경에 나온 것입니다 : 버전 0.0.1. 그 이후로는 필요하지 않았습니다. 그리고 여전히 0.0.1입니다! 나는 그것을 미니 콤과 함께 사용하여 텔넷을 통해 원격 호스트로 zmodem 전송을 수행하여 그렇게 할 수 없었습니다.
Kaz

@kinokijuf 의견에 언급하지 마십시오. 방금 StackOverflow를 끊지 않았습니다! :-)
Curt J. Sampson

답변:


31

"AT"명령에 대해 거의 인식하지 못하는 세부 사항 중 하나는 많은 모뎀이 "자동 전송 / 자동 패리티"모드에서 시작한다는 것입니다. 처음에는 모뎀이 실제로 직렬 데이터를 해독하려고 시도하지 않고 폭이 동일한 유효 비트주기와 일치하는 연속적인 낮은 펄스 및 높은 펄스를 감시합니다 (예 : 300 보드의 경우 3.333ms, 1200 보드의 경우 833us). ). 그것을 발견했을 때, 그들은 다음의 낮은 펄스가 그 폭의 5 배인지 알 수있었습니다. 만약 그렇다면, 또 다른 high-low-high 또는 적어도 1.5 비트 시간의 high를 관찰 할 것입니다. 이 중 하나를 찾으면 모뎀이 식별 된 전송 속도의 0x41 또는 0xC1 (즉 "A")을 보았 음을 나타냅니다. 또한 연결된 컴퓨터가 8-N-1 또는 7-E-1을 사용 중이거나 7-N-1 또는 7-O-1을 사용 중임을 나타냅니다. 두 경우 모두 다음 문자가 0x54 또는 0xD4 (예 : "T")인지 확인합니다. 이를 통해 모뎀은 문자 길이와 패리티 설정을 추가로 분류 할 수 있습니다.

"AT"이전에받은 모든 내용은 무시됩니다. 에코가 켜져 있으면 직렬 디코딩없이 모든 라인 전환을 미러링하여 연결된 컴퓨터로 데이터가 다시 에코됩니다. 컴퓨터가 예를 들어 247 보드에서 "AT"이전에 데이터를 보낸 경우 해당 속도로 다시 에코됩니다.

오늘날 일부 장치는 자동 전송 속도 감지를 위해 초기 "A"를 사용하지만 그렇지 않으면 명령이 "AT"로 시작한다는 사실은 기본적으로 역사적인 호기심입니다.


1
흠 ... "7-N-1"은 무슨 뜻인가요 ??
xsari3x 2019

1
7 개의 데이터 비트, 패리티 없음, 1 개의 정지 비트. 높은 비트 세트로 데이터를 보내지 않을 경우 8-N-1보다 11 % 빠르게 데이터를 보낼 수 있습니다.
supercat

자동 전송은 일반적으로 +++ AT 또는 +++ <guard time> AT 명령의 +++ 부분에서 수행됩니다. 참조 en.wikipedia.org/wiki/Time_Independent_Escape_Sequence
david

1
@ david : 시간 독립적 인 이스케이프 시퀀스 기사에서 자동 전송에 대한 언급이 없거나 통신에 사용되는 것과 다른 전송 속도로 모뎀이 + + +를 수락하는 것을 보지 못했습니다. 2400-8-N-1에서 연속으로 전송 된 0x9E 0x86 문자 (또는 2400-7-O-1에서 ^ N ^ F)는 1200 보드에서 "+"문자와 정확히 동일한 라인 전환을 생성 합니다 . 그래서 나는 "+"를 보드 훈련 캐릭터에게는 이상한 선택으로 생각합니다.
supercat

Wikipedia (!) 참조는 +++에 대해 모르는 사람들을위한 것입니다. 하드웨어 나는 'U'에 대한 기차, 사용자 정의 문자열에 대한 소프트웨어 기차를 사용합니다. 표준에 대해 알고 있습니까? 모든 연결 문자열은 +++를 시작하는 데 사용되었으므로 다른 통신 전에 자동 전송이 완료되었습니다.
david

22

직렬 회선을 통해 모뎀 (및 기타 장비)에 명령을 발행하는 데 오랫동안 표준으로 사용Hayes 명령 세트 를 나타냅니다 .

두 개의 개별 라인이있는 명령 및 데이터 대신, 하나의 라인 만 사용되며 데이터에서 명령 모드로 전환하기 위해 특정 시퀀스가 ​​전송됩니다 (예 : +++ 및 설정된 길이 일시 중지). 다음 데이터는 수신 장비에 의해 명령으로 보여집니다.
이와 같은 것을 사용하는 이유는 특히 소형 임베디드 시스템에서 사용할 수없는 다른 라인 쌍이 필요하지 않기 때문입니다.

Wiki 페이지와 하단의 링크를 살펴보십시오. 자세한 내용이 있습니다.

그래도 원래 AT 세트에 대한 모든 종류의 확장이 있으므로 AT를 언급 한 모든 것을 원래의 Hayes 명령을 실제로 사용하는 것에 대해서는 언급하지 않습니다. 예를 들어 IIRC에서 자체 AT 유형 세트를 사용하는 블루투스 직렬 칩이 있습니다.
나는 그것에 대해 전문가가 아니지만, 예전의 전화 접속과 BBS의 명령으로 해킹하는 것을 기억합니다.


13

"AT"명령 세트는 동일한 바이트 스트림 채널 임의의 데이터가 전송 된 대역 외 제어 정보를 필요로하는 문제를 해결하는 것이었다. 이것은 직렬 케이블을 통해 컴퓨터에 연결된 외부 박스였던 모뎀의 일반적인 문제였습니다.

Hayes는 그러한 모뎀 제조업체였으며 많은 인기를 얻었습니다. 대역 외 문제에 대한 그들의 해결책은 모뎀을 주로 두 개의 문자 ASCII 제어 명령을 특수 순서로 보내서 데이터 통과 모드로 보내는 것입니다. 명령처럼 보이는 임의의 가능성을 줄이기 위해 명령 순서는 모두 "주의"를 나타내는 AT 명령으로 시작했습니다.

Hayes는 다른 모뎀 제조업체가 호환 가능한 동일한 명령 세트를 구현해야했기 때문에 시장 점유율이 너무 높아졌습니다. 이를 통해 고객은 Hayes 모뎀을 구동하도록 이미 설정된 소프트웨어를 다시 작성할 필요없이 모뎀을 사용할 수 있습니다.

오늘날이 체계는 거의 사용되지 않지만 물론 오늘날에도 어두운 구석에 널리 퍼져있는 것입니다.


1
나는 Hayes에 대한이 역사적 메모를 좋아했고 그것이 어떻게 표준을 강요했는지에 대해 위의 두 대답으로 답을 연결하는 것만으로도 충분합니다 :)
xsari3x

또한 많은 최신 모뎀은 더 이상 문자 "AT"를 대문자로 요구하지 않는 것처럼 보이므로 텍스트 파일을 보내는 도중에 연결이 끊어지면 잘못된 모뎀 동작이 발생하는 빈도가 높아집니다.
supercat

밴드 브레이크 제어 코드는 +++ AT 또는 +++ <guard time>입니다. AT는 표준 컨트롤 세트의 처음 두 문자이며 ATtention을 나타냅니다.
david


0

왜 임베디드 시스템의 사람들이 AT 명령을 사용합니까?

나는 "임베디드 시스템의 사람들"중 하나는 아니지만 AT명령이 인라인 신호에 대해 잘 정의 된 낮은 오버 헤드 표준에서 왔기 때문에 여전히 사용 중이라고 말하고 싶습니다 .

이는 시그널링 (통신을 관리하는 AT 명령)과 데이터 (전송하려는 실제 데이터) 모두에 동일한 통신 채널을 사용할 수 있다는 의미입니다 . AT서로 이야기 할 때 당신과 당신의 시리얼 장치 때문에 두 개의 구별하는 방법 표준 지정은 혼동되지 않습니다.

"AT"는 무엇을 의미합니까?

AT을위한 주의

사람들이 왜 표준이라고 계속 말합니까?

글쎄요. 실제로는 사실상의 표준화 가지 "실제" 표준 및 일부 권장 사항 이 혼합되어 있다고 말하고 싶습니다 .


이것은 몇 년 전 다른 답변에서 아직 언급되지 않은 것을 말하지 않는 것 같습니다. 오래된 질문을 버리려면 이전에 언급되지 않은 중요한 것을 말해야합니다.
Chris Stratton
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.