UART와 RS-232의 차이점은 무엇입니까?


80

대부분의 경우 RS-232 와 UART는 직렬 통신 이론에서 함께 사용됩니다. 둘 다 동일합니까? 필자는 UART가 RS-232 프로토콜의 하드웨어 형식이라고 결론을 내 렸습니다. 제가 맞습니까?


1
위의 답변은 차이점에 대한 통찰력을 제공했습니다. 그러나이 주제에 대해 자세히 설명하는 내쇼날 인스트루먼트의 링크를 추가하여 이러한 답변에 추가하고 싶습니다. 다음은 링크입니다 : RS-232, RS-422, RS-485 시리얼 통신 일반 개념
devangmotwani

답변:


80

아니요, UART와 RS-232는 동일하지 않습니다.

UART는 일련의 비트를 보내고받습니다. UART의 출력에서이 비트는 일반적으로 로직 레벨 전압으로 표시됩니다. 이 비트는 RS-232, RS-422, RS-485 또는 일부 독점 사양이 될 수 있습니다.

RS-232는 전압 레벨을 지정 합니다 . 이 전압 레벨 중 일부는 음수이며 ± 15V에 도달 할 수도 있습니다. 더 큰 전압 스윙은 RS-232를 간섭에 대한 저항력을 높여줍니다 (어느 정도만).

마이크로 컨트롤러 UART는 자체적으로 이러한 전압 레벨을 생성 할 수 없습니다. 이것은 RS-232 라인 드라이버와 같은 추가 구성 요소의 도움으로 수행됩니다. RS-232 라인 드라이버의 전형적인 예는 MAX232 입니다. 데이터 시트를 살펴보면이 IC에 + 5V에서 ± 10V를 생성하는 차지 펌프가 있음을 알 수 있습니다.

여기에 이미지 설명을 입력하십시오 ( 소스 )


4
내가 읽은 RS-232 정의는 일련의 비트 또는 타이밍에 대해 전혀 이야기하지 않습니다. 사실 비동기 NRZ 시작 중지 프로토콜을 설명하는 공식 표준을 찾지 못했습니다.
Wouter van Ooijen

1
RS-232는 비트 시퀀스를 지정하지 않습니다.
slebetman

분명히 UART 문자 형식의 개발은 Bell 전화 회사에 의해 지배되었으므로 변형이 발생하지 않았습니다. 결과적으로 시작 / 데이터 / 패리티 / 정지 비트 형식은 결코 독립 표준의 대상이 아니 었습니다. 업계 전반에서 사용이 너무 균일하여 "공식적인"정의가 필요하지 않았습니다. 이것은 물리적 링크에는 해당되지 않았으므로 RS-232가 개발되었습니다.
WhatRoughBeast

3
UART 문자 형식은 Bell의 모뎀보다 먼저 사용되었으며 ASCII의 Teletype 하드웨어 (패리티가있는 8 비트) 및 그 이전의 Baudot에있었습니다.
Whit3rd December

33

UART (또는 USART)-범용 (동기식) 비동기식 수신기 / 송신기

이것은 본질적으로 직렬 통신 인터페이스입니다. "유니버설"부분은 다양한 특정 직렬 프로토콜을 지원하도록 구성 할 수 있음을 의미합니다. 이 용어는 일반적이며 특정 표준을 나타내지 않습니다. 최소한 그것는 것을 의미 TX하고, RX직렬 데이터 스트림을 전송하고, 직렬 데이터 스트림을 수신하고 라인.

RS-232- 두 장치 간의 신호를 정의하고 신호 이름, 목적, 전압 레벨, 커넥터 및 핀아웃을 정의하는 표준입니다.

이것은 장비 상호 운용성을 허용하는 특정 인터페이스 표준입니다. 두 개의 하드웨어에 UART가있을 수 있지만, 동일한 핀아웃 및 전압 표준을 알지 못하는 경우 손상없이 연결되거나 올바르게 통신 할 것임을 알 수 없습니다. 이 두 특정 장치. 특수 변환기 또는 케이블이 필요하지 않도록 제조업체는 RS-232 표준을 따르도록 선택할 수 있습니다. 그러면 표준 RS-232 케이블이 두 케이블을 연결한다는 것을 알고 있습니다.

그러나 UART 나 RS-232 표준은 모두 TXand RX라인 에 전송되는 내용을 정의하지 않습니다 . 일반적으로 사람들이 RS-232를 사용하는 경우 시작 비트 하나와 정지 비트 하나가있는 간단한 8 비트 NRZ 인코딩을 사용합니다. 오늘날 제조되는 대부분의 장비는이 인코딩을 사용하지만 반드시 그럴 필요는 없습니다. 패리티 비트를 포함하거나 7 또는 9 비트를 사용하는 구형 장비를 찾을 수 있습니다. 범용 비 동기화 송수신기의에서 이러한 다양한 프로토콜을 지원하도록 구성 할 수 있습니다 TXRX선.

UART는 일반적으로 RS-232와 직접 인터페이스하지 않습니다. UART의 출력을 RS-232에 필요한 +/- 12V 표준으로 변환해야합니다. 완전한 RS-232 인터페이스에는 일반적으로 UART 및 RS-232 레벨 변환기가 모두 포함됩니다. 또한, RS-232 표준에는 TX및 이외에도 몇 가지 다른 신호 핀의 정의가 포함되어 있으며 RX연결해야하는 장비에 따라 사용해야 할 수도 있습니다. 또한 레벨 변환이 필요하며 UART가 이러한 신호를 지원하거나 지원하지 않을 수 있습니다. 그렇지 않은 경우 소프트웨어 / 펌웨어로 직접 제어해야합니다.

따라서 UART는 RS-232 인터페이스를 구현하는 데 도움이 될 수 있지만 RS-232 인터페이스 자체는 아닙니다.


표준 RS-232 케이블? 그런 것은 없습니다. 장비 가방에는 RS-232 용 어댑터가 약 12 ​​개 있습니다. RS-232는 DB-25 커넥터를 지정하지만 DD-9, RJ45, din8 및 기타 커넥터를 보았으며 모뎀을 PC에 연결하는 것 외에는 rs232 프로젝트에 COTS 케이블을 사용할 수 없었습니다. 다행스럽게도 몇 개의 어댑터 또는 맞춤형 케이블을 사용하는 시간의 90 %는 쉽게 만들 수 있습니다.
18:40에

USART의 'S'는 "Serial"이 아니라 "Synchronous"를 의미한다고 생각합니다. 여기를 참조 하십시오 . USART는 동기식 통신 모드를 허용하는 구형 UART 칩에 대한 "추정치"입니다.
Lorenzo Donati

14

UART는 PC 버스 라인의 병렬 데이터를 라인 드라이버를 통해 RS-232, RS-422RS-485 장치 로 전송하기 위해 직렬 데이터로 변환하는 기능을 합니다. UART 칩의 클럭 핀은 프로그래밍 가능한 클럭 소스에 의해 공급됩니다. 클럭 속도는 장치가 사용할 전송 속도 구성에 따라 결정됩니다. 클럭 속도는 전송 속도의 16 배입니다. 오실로스코프 프로브를 UART 칩의 클럭 핀에 놓고 주파수를 결정한 다음 16으로 나누면 알 수없는 전송 속도를 결정하는 한 가지 방법입니다.


5
"병렬 데이터를 직렬 데이터로 변환"에 대해 +1입니다.
TisteAndii
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.