최상의 답변
UART는 데이터를 한 노드에서 다른 노드로 직렬로 전송하는 프로토콜입니다. 프로토콜은 오류없는 통신을 달성하기 위해 통신에 참여하는 모든 당사자가 관리하는 일련의 규칙에 불과합니다.
특히 직렬 통신에서 프로토콜은 필수입니다. 병렬 통신에서는 단일 펄스에서는 모든 비트가 다른 노드로 전송되지만 직렬 통신에서는 비트가 하나씩 전송되므로 여러 개의 펄스가 필요합니다. 따라서 데이터 전송을 시작할 때 시스템에 얼마나 많은 비트가 있으며 데이터 전송이 어떻게 종료되는지 시스템에 알려야합니다. 오류 검사 기술도 통합해야합니다. 모든 규칙은 프로토콜에 포함되어 있습니다. UART는 대부분의 마이크로 컨트롤러에서 지원하는 TTL 프로토콜입니다.
그러나 PC (컴퓨터)의 하이퍼 터미널 수단 화면에 데이터를 표시하려면 사용 가능한 COM PORT를 통해 PC로 전송해야합니다. 후면 패널에. 여기에 데이터를 전송하는 물리적 계층에 불과한 표준 개념이 있습니다.
PC에는 데이터를 받아들이 기 위해 RS 232 표준을 따르는 COM PORT가 있습니다. DB9의 핀 다이어그램은 매우 유명하며 인터넷에서 쉽게 구할 수 있습니다. 하지만이 PORT의 로직 레벨은 TTL이 그림에만 있지 않을 때 결정되었습니다.
RS 232 표준에 따라 로직 1은 -3V ~ -25V를 의미하고 로직 0은 + 3V ~ + 25V
여기서 UART 프로토콜은 TTL 로직에 따라 데이터를 생성합니다.
여기서 로직 1은 2.4V ~ 5V를 의미합니다.
로직 0은 0을 의미합니다. 0.4V로
따라서 UART 프로토콜의 데이터는 RS 232 포트에서 직접 전송할 수 없습니다. 잘못 해석 할 수 있습니다. 따라서 MAX232라는 라인 드라이버는 TTL 레벨을 RS 232 레벨로 변환하는 데 사용됩니다.
같은 방식으로 UART 프로토콜 즉, 완벽하게 호환되는 다른 표준도 있습니다. RS 485 표준 및 RS 422 표준 (둘 다 버스 토폴로지에 적합)
Answer
아니요 . RS-232는 모뎀과 같은 장치의 직렬 연결 유형에 어떤 종류의 신호가 존재하는지 정의하는 표준입니다. 원래는 모뎀 용으로 특별히 설계되었으며 DTE 컴퓨터 및 모뎀과 데이터 통신 장비 (DCE-모뎀) 사이에 있습니다. 다른 많은 장치에서도 사용되어 왔습니다.
RS-232는 어떤 신호가 어떤 핀에 있는지, 사용되는 전압 레벨 등을 정의하지만 실제 내용을 정의하지는 않습니다. 이러한 신호.
모뎀에 연결된 동기식 장치는 비동기식 장치와는 매우 다른 데이터 프레임을 연결합니다. PC의 일반적인 직렬 포트 (또는 적어도 일반적으로 사용하던 직렬 포트는 요즘 매우 드뭅니다)는 비동기 포트입니다. 더 큰 시스템은 종종 동기식 프로토콜을 사용했으며, bisync, SDLC 및 HDLC는 일반적인 이름이었습니다. aysnc와 sync 프로토콜의 가장 큰 차이점은 비동기 프로토콜의 프레임이 단일 문자를 포함하고 수신자가 데이터 비트가 지나갈 때 자체적으로 동기화하지 않는다는 것입니다. 동기 프로토콜의 프레임은 전체 데이터 프레임 (최신 네트워크 프로토콜과 매우 유사)이며 수신기는 신호에서 클럭킹 정보를 추출하여 수천 비트 과정에서 동기화 상태를 유지하도록 타이밍을 조정합니다. 전자는 구현하기가 상당히 쉽지만 덜 효율적이며 (일반적으로 각 문자와 관련된 중지 및 시작 비트에 대해 약 25 \%의 추가 오버 헤드로 이어짐) 데이터 속도가 더 낮은 경우가 많습니다.
어쨌든 , 이러한 프로토콜을 구현 한 초기 장치는 개별 및 SSI 구성 요소로 구축되었으며, 비동기 및 동기화를위한 서로 다른 회로는 물론 서로 다른 유형의 동기화 프로토콜을 사용합니다. 집적 회로가 커지면서 사람들은 통합하기 시작했습니다. 초기에는 하나의 칩 수신기와 하나의 칩 송신기를 가지고 있었지만 여전히 클럭킹 및 제어를위한 추가 칩 등이있었습니다. Buit taht는 큰 발전이었습니다.
상황이 나아지면서 대부분의 기능이 단일 칩에 통합되었습니다. 따라서 UART는 범용 비동기 수신기 / 송신기이며, RS-232 링크를 통한 직렬 연결의 한쪽 (제어 로직, 수신기 및 트램 미터)에 필요한 모든 기능을 기본적으로 통합합니다. USART는 aysnc 및 sync 프로토콜 모두에 대한 지원 (일반적으로)을 구현했습니다. 실제 라인 드라이버는 여전히 분리되어있는 경우가 많습니다.
따라서 PC의 직렬 포트에는 UART가 * 포함 *되어 있습니다. RS-232 연결에 신호를 보내는 것입니다. 다른 쪽 끝에는 전송 된 신호를 수신하는 UART가 있으며 다른 쪽에서도 동일한 서비스를 제공합니다. UART는 장치 드라이버를 작성하는 프로그래머가 보는 하드웨어입니다. 서로 다른 프로그래밍 인터페이스를 가진 많은 서로 다른 UART가 존재하지만 일반적으로 서로 다른 프로그래밍이 필요하더라도 모두 통신 할 수 있습니다 (동일한 매개 변수로 설정할 수 있다고 가정).
따라서 RS-232는 물리적으로 와이어에 무엇이 있는지 정의하고, 비동기 또는 동기화는 데이터 프레임 방식을 정의하며, UART (또는 USART)는 일반적으로 장치에서 해당 포트를 구동하는 데 필요한 로직의 구현입니다. 즉, PC에서보기 드문 동기 직렬 포트와 4 가지 용어 (RS-232 포트, 비동기 포트, 직렬 포트 및 UART)는 종종 서로 바꿔서 사용됩니다. 실제로는 정확하지 않지만 비동기식 직렬 포트는 드뭅니다.