답변:
아니요, 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를 생성하는 차지 펌프가 있음을 알 수 있습니다.
( 소스 )
UART (또는 USART)-범용 (동기식) 비동기식 수신기 / 송신기
이것은 본질적으로 직렬 통신 인터페이스입니다. "유니버설"부분은 다양한 특정 직렬 프로토콜을 지원하도록 구성 할 수 있음을 의미합니다. 이 용어는 일반적이며 특정 표준을 나타내지 않습니다. 최소한 그것는 것을 의미 TX
하고, RX
직렬 데이터 스트림을 전송하고, 직렬 데이터 스트림을 수신하고 라인.
RS-232- 두 장치 간의 신호를 정의하고 신호 이름, 목적, 전압 레벨, 커넥터 및 핀아웃을 정의하는 표준입니다.
이것은 장비 상호 운용성을 허용하는 특정 인터페이스 표준입니다. 두 개의 하드웨어에 UART가있을 수 있지만, 동일한 핀아웃 및 전압 표준을 알지 못하는 경우 손상없이 연결되거나 올바르게 통신 할 것임을 알 수 없습니다. 이 두 특정 장치. 특수 변환기 또는 케이블이 필요하지 않도록 제조업체는 RS-232 표준을 따르도록 선택할 수 있습니다. 그러면 표준 RS-232 케이블이 두 케이블을 연결한다는 것을 알고 있습니다.
그러나 UART 나 RS-232 표준은 모두 TX
and RX
라인 에 전송되는 내용을 정의하지 않습니다 . 일반적으로 사람들이 RS-232를 사용하는 경우 시작 비트 하나와 정지 비트 하나가있는 간단한 8 비트 NRZ 인코딩을 사용합니다. 오늘날 제조되는 대부분의 장비는이 인코딩을 사용하지만 반드시 그럴 필요는 없습니다. 패리티 비트를 포함하거나 7 또는 9 비트를 사용하는 구형 장비를 찾을 수 있습니다. 범용 비 동기화 송수신기의에서 이러한 다양한 프로토콜을 지원하도록 구성 할 수 있습니다 TX
및 RX
선.
UART는 일반적으로 RS-232와 직접 인터페이스하지 않습니다. UART의 출력을 RS-232에 필요한 +/- 12V 표준으로 변환해야합니다. 완전한 RS-232 인터페이스에는 일반적으로 UART 및 RS-232 레벨 변환기가 모두 포함됩니다. 또한, RS-232 표준에는 TX
및 이외에도 몇 가지 다른 신호 핀의 정의가 포함되어 있으며 RX
연결해야하는 장비에 따라 사용해야 할 수도 있습니다. 또한 레벨 변환이 필요하며 UART가 이러한 신호를 지원하거나 지원하지 않을 수 있습니다. 그렇지 않은 경우 소프트웨어 / 펌웨어로 직접 제어해야합니다.
따라서 UART는 RS-232 인터페이스를 구현하는 데 도움이 될 수 있지만 RS-232 인터페이스 자체는 아닙니다.
UART는 PC 버스 라인의 병렬 데이터를 라인 드라이버를 통해 RS-232, RS-422 및 RS-485 장치 로 전송하기 위해 직렬 데이터로 변환하는 기능을 합니다. UART 칩의 클럭 핀은 프로그래밍 가능한 클럭 소스에 의해 공급됩니다. 클럭 속도는 장치가 사용할 전송 속도 구성에 따라 결정됩니다. 클럭 속도는 전송 속도의 16 배입니다. 오실로스코프 프로브를 UART 칩의 클럭 핀에 놓고 주파수를 결정한 다음 16으로 나누면 알 수없는 전송 속도를 결정하는 한 가지 방법입니다.