데이터계측분석/데이터통신 기술자료

시리얼 통신 UART - RS-232, RS-422, RS-485

에이티에스 2023. 3. 14. 14:24
728x90

산업용 감지 기능과 제어 기능은 통신 버스에 대해 많은 문제점이 있습니다. 예를 들어, 산업 환경의 열악한 작동 조건에서 수백 또는 수천 미터를 케이블로 연결하는 것이 일반적입니다. 산업용 장비는 폭넓은 범위의 온도, 높은 전기적 잡음(전원 공급 장치와 데이터 회선 모두) 및 다양한 결함(전자파 장해(EMI), 정전기 방전(ESD), 단락 등)에 노출될 수 있습니다.

 

이러한 문제에 대한 솔루션은 범용 비동기 수신기/송신기(UART)를 기반으로 하는 강력한 직렬 인터페이스를 사용하는 것입니다. 일부 제조업체에서는 UART를 비동기 통신 요소(ACE)라고도 합니다. UART는 독립 실행형 장치로 사용되거나(예: Texas Instruments TL16C752D) 마이크로 컨트롤러 내에 위치할 수 있습니다

(예: Microchip Technology PIC16F688T-I/SL).

 

적절한 회선 구동기를 사용할 경우 UART는 장거리에서도 작동할 수 있습니다. RS-232 직렬 데이터 버스의 경우 15m, RS-485 또는 RS-422 인터페이스의 경우 1000m까지 작동 가능합니다. 이 세 프로토콜은 모두 공장 자동화 응용 분야에서 원격 기계 및 컨트롤러를 제어하며 아무리 열악한 환경에서도 EMI 및 ESD 효과를 최소화하도록 설계되었습니다.

이 기사에서는 일반적으로 사용되는 산업 제어 인터페이스 프로토콜에 대한 배경 정보를 제공하며 UART 및 회선 구동기를 사용하여 프로토콜을 구현하는 방법을 보여줍니다.

RS-232

현재는 RS-232 직렬 통신 표준을 EIA/TIA-232-F라고도 하며 이는 전자산업협회/전기통신산업협회 표준입니다. 문자 F는 최신 수정 버전을 나타냅니다. 이 표준은 국제전기통신연합(ITU) 표준 V.24 및 V.28과 동일합니다. 이 인터페이스는 원래 개인 컴퓨터용 직렬 버스로서, 컴퓨터 즉, 데이터 단말 장비(DTE)를 데이터 통신 장비(DCE)라는 모뎀에 연결하는 데 사용되었습니다.

EIA/TIA-232-F는 신호 수준과 타이밍, 제어 신호, 커넥터, 커넥터 배선을 비롯한 물리층 표준을 정의합니다. 문자 인코딩, 프레이밍 및 프로토콜 수준의 기타 측면은 정의하지 않습니다. 일반 비동기 직렬 버스는 UART 또는 ACE, 회선 구동기, 커넥터 및 케이블을 포함합니다(그림 1).

그림 1: 기본 RS-232 시스템은 데이터 단말 장비(DTE, 예: 컴퓨터)와 데이터 통신 장비(DCE, 예: 모뎀)를 포함합니다.

 

UART/ACE는 직렬 RS-232 인터페이스를 통해 병렬 컴퓨터 후면판을 연결합니다. (이미지 출처: Texas Instruments)

UART/ACE는 컴퓨터의 내부 병렬 버스를 직렬 데이터 스트림으로 변환합니다. 또한 입력 및 출력 FIFO(First In First Out) 메모리 버퍼링, 인터페이스 클록(일반적으로 보드 속도 생성기라고 함), 인터페이스 타이밍 및 핸드셰이킹 신호를 공급합니다. UART/ACE 아날로그 입력 및 출력은 회선 구동기에 의해 버퍼링될 수 있습니다. DTE의 출력을 송신기 신호(TX)라고 하고, 입력을 수신된 신호(RX)라고 합니다. 인터페이스 케이블의 최대 길이는 15m로 제한됩니다. 케이블의 길이에 따라 인터페이스 버스를 통해 안정적으로 사용될 수 있는 최대 데이터 전송률이 결정됩니다.

RS-232 인터페이스는 전이중 연결을 통해 두 장치를 연결합니다. 즉, 각 장치가 동시에 전송 및 수신할 수 있습니다. RS-232 직렬 데이터 패킷은 시작 비트, 5 ~ 8 데이터 비트, 1/1.5/2 정지 비트, 패리티 비트로 구성됩니다(그림 2).

그림 2: RS-232 데이터 패킷은 시작 비트, 5 ~ 8 데이터 비트(여기에는 8 데이터 비트가 표시되어 있음), 패리티 비트(선택 사항), 1, 1.5 또는 2 정지 비트로 구성됩니다. (이미지 출처: Digi-Key Electronics)

 

 

RS-232의 최소 케이블 요구 사항은 전송, 수신, 신호 접지에 각 하나씩 세 개의 전선을 위한 것입니다. 접지는 두 신호 컨덕터 모두에 대해 귀환됩니다.

RS-232의 다양한 특성은 전기 통신의 원래 응용 분야에 연결됩니다. 이는 High 상태(공간이라고 함)와 Low 상태(표시라고 함)를 포함하는 부논리를 사용합니다. 중립 또는 휴지 상태는 High 상태이므로 상호 연결을 원격으로 확인할 수 있습니다. 송신기 측에서 0 상태 또는 공간은 +5V에서 +15V 사이의 전압입니다. 논리 1 또는 표시 상태는 -5V에서 -15V 사이의 전압입니다. 수신 측에서 3V ~ 15V 수준은 0이고, -3V ~ -15V 수준은 1을 나타냅니다.

 

클록 신호가 전송되지 않으므로 전송은 비동기적입니다. RS-232는 특정 클록 또는 보드 속도에 설정되는 버스 양쪽 측의 영향을 받습니다. 보드 속도는 초당 전송되는 기호 수 측정치이며, RS-232의 경우 클록 속도와 비슷합니다. 일반 보드 속도는 300/600/1200/2400/4800/9600/19200/38400/57600/115200/230400/460800/921600보드입니다.

클록 속도가 높을수록 케이블 길이가 더 제한적입니다. 예를 들어, 9600보드에서 사용 가능한 최대 케이블 길이는 15m입니다. 보드 속도가 높아지면 최대 케이블 길이가 줄어듭니다.

 

RS-232 제어 신호

RS-232에는 지정된 제어 신호 수가 있습니다. 제어 신호는 DTE 및 DCE 장치의 상태를 보고하고 하드웨어 기반 핸드셰이크를 구현하여 데이터 전송을 조정합니다(표 1).

표 1: RS-232 제어 및 핸드셰이크 신호. (표 출처: Digi-Key Electronics)

 

RTS(전송 요청) 및 CTS(전송 준비 완료) 흐름 제어 신호를 통해 하드웨어 핸드셰이크를 구현하여 두 장치가 데이터를 전송할 준비가 되고 수신 장치에서 데이터가 수신되었는지 확인합니다. 다음과 같은 작업을 사용하여 하드웨어 핸드셰이크를 구현합니다.

  1. 데이터 단자 장비는 RTS 회선을 “1” 또는 “표시” 상태로 풀(pull)합니다.
  2. 데이터 통신 장비는 CTS 회선을 “1” 또는 “표시” 상태로 풀(pull)합니다.
  3. 데이터 단자 장비는 데이터 전송 기간 동안 데이터 단자 준비(DTR) 회선을 “1” 또는 “표시” 상태로 풀(pull)합니다.
  4. 전송이 끝나면 데이터 전송 장비는 DTR 및 RTS 회선을 “0” 또는 “공간” 상태로 복원합니다.
  5. 데이터 통신 장비는 CTS 회선을 “0” 또는 “공간” 상태로 복원합니다.

또한 RS-232는 소프트웨어 핸드셰이크를 사용하여 데이터 흐름을 제어합니다. 여기서 데이터 스트림에 전송되는 XON(ASCII DC1, 16진수 11) 및 XOFF(ASCII DC3, 16진수 13) 문자는 전송된 데이터에 대해 비슷한 동기화를 수행합니다.

 

UART 기능별 제품 구성도

Texas Instruments TL16C752D는 최대 3Mb/s 데이터 전송률로 64바이트 송수신 FIFO 기능을 지원하는 이중 UART입니다(그림 3).

그림 3: 3Mbit/s Texas Instruments TL16C752D 이중 UART의 기능별 제품 구성도는 64바이트 FIFO 및 인터페이스 회선을 보여줍니다. (이미지 출처: Texas Instruments)

 

UART의 각 섹션에는 자체 소프트웨어 제어 보드 속도 생성기가 있습니다. 데이터 버스 인터페이스는 병렬-직렬 데이터 변환을 수행하고 이중 UART의 두 섹션에 공급합니다. 각 섹션에는 독립 제어 회선이 있습니다. TL16C752D는 -40°C ~ 85°C의 온도 범위에서 1.8V ~ 5.5V의 공급 전압으로 작동합니다.

 

마이크로 컨트롤러 기반 UART

대부분의 마이크로 컨트롤러(예: Microchip Technology PIC16F688T-I/SL)에는 모니터, 외부 아날로그 디지털 컨버터(ADC), 디지털 아날로그 컨버터(DAC) 또는 다른 마이크로 컨트롤러와의 통신을 위한 직렬 데이터 인터페이스가 포함되어 있습니다(그림 4).

그림 4: Microchip Technology PIC16F688T-I/SL CMOS 마이크로 컨트롤러에는 고급 버전의 범용 동기/비동기 수신기/송신기(EUSART)를 사용하는 직렬 인터페이스가 포함되어 있습니다. (이미지 출처: Microchip Technology)

 

직렬 통신 인터페이스(SCI)라고도 하는 EUSART는 전이중 비동기 또는 반이중 동기식 직렬 데이터 링크로 구성할 수 있습니다. PIC16F688T-I/SL의 EUSART에는 마이크로 컨트롤러 프로그램 실행과 독립적으로 입력 또는 출력 직렬 신호 전송을 수행하는 데 필요한 모든 시프트 레지스터, 클록 생성기 및 데이터 버퍼가 포함되어 있습니다. 또한 2문자 수신 버퍼와 단일 문자 전송 버퍼가 있습니다. 전이중 비동기 인터페이스는 마이크로 컨트롤러에서 이 인터페이스의 기본 응용 제품인 디스플레이 모니터와 같은 외부 주변 장치와 통신하는 데 유용합니다.

 

회선 구동기

회선 구동기는 전송 신호와 수신 신호를 버퍼링하여 UART 작업을 강화합니다. 회선 구동기는 전체 RS-232 전압 수준 사양에 대해 작동하므로 유용합니다. 이 장치의 예로는 Texas Instruments의 MAX232DR 이중 RS-232/TIA/EIA-232-F 트랜시버가 있습니다(그림 5).

그림 5: MAX232DR 이중 구동기/수신기를 적용하여 TL16C752D 이중 UART 버퍼링. MAX232DR은 최대 ±30V의 입력 전압을 견딜 수 있으며, 출력은 접지 단락으로부터 보호됩니다. (이미지 출처: Texas Instruments)

 

MAX232DR 회선 구동기/수신기는 높은 전압을 필요로 하는 산업 응용 분야에서 이점이 있으며, 최대 ±30V의 입력 전압을 유지할 수 있습니다. 이 장치에는 네 개의 외부 커패시터를 사용하여 단일 5V 전원 공급 장치의 출력에서 -5V ~ -7V 및 +5V ~ +7V 전압 수준을 RS-232에 공급하는 정전 용량 전압 발생기가 포함되어 있습니다.

 

차동 신호

RS-232는 전송 및 수신 회선에 단일 종단 연결을 사용합니다. 단일 종단 연결에서는 회선부터 접지까지 신호 전압을 측정합니다. 산업 환경에서는 RS-232 신호 회선에 의해 잡음이 많이 발생하며 이로 인해 버스 작동 길이가 제한됩니다. 이 제한을 해결하는 일반적인 방법은 차동 신호를 사용하는 것입니다.

 

차동 버스는 각 신호에 대해 두 개의 전선으로 구성됩니다. 여기서는 두 전선 사이의 전압 차이를 사용하여 신호를 측정합니다. 잡음과 누화가 두 신호 회선 모두에 일반적이므로 차이 측정에서는 거의 동일한 신호를 제하여 진폭이 크게 감소됩니다. 또한 차동 케이블을 차폐형으로 사용하여 잡음 및 간섭 유입을 더욱 줄일 수 있습니다.

차동 신호 회선을 사용하는 두 가지 일반적인 데이터 버스 표준 RS-422(TIA/EIA-422) 및 RS-485(TIA/EIA-485)가 있습니다. 후자가 가장 일반적으로 발견되는 산업용 직렬 버스입니다. 이러한 표준에서는 최대 1200m(4000ft) 떨어진 장치를 연결할 수 있는 연선 전송 회선을 사용합니다. 두 표준의 최대 데이터 전송률은 최대 10Mb/s입니다. 표 2는 세 직렬 버스를 비교하여 보여줍니다.

 

표 2: RS-232, RS-422, RS-485 표준의 특성 비교 (표 출처: Digi-Key Electronics)

 

 

RS-485와 RS-422는 RS-485의 경우 최대 32개의 트랜시버(버스 확장기를 사용하여 추가 가능)를 사용하여 작동하고 RS-422의 경우 버스의 수신기가 단 10개로 제한된다는 점이 다릅니다. 전이중 모드의 RS-485는 4개의 전선이 필요하고, 반이중 작업 및 RS-422에서는 2개의 전선이 필요합니다(그림 6).

그림 6: RS-485 인터페이스의 전이중(왼쪽) 및 반이중 토폴로지 컴퓨터 또는 마스터 장치는 빨간색으로 표시되고 다른 장치는 파란색으로 표시됩니다. (이미지 출처: Texas Instruments)

 

 

그림과 같이 차동 버스 배선에서는 각 전송 또는 수신 신호 회선에서 두 개의 컨덕터를 사용합니다. 전이중 작업에는 4개의 전선이 필요하고, 반이중 작업에는 2개의 전선이 필요합니다. RS-422 및 RS-485의 높은 속도로 인해 각 종단에서 전송 회선을 종료해야 합니다. 연선의 경우 종단 저항기의 RT는 120Ω입니다. TL16C752D 인터페이스 IC의 이중 UART 구성으로 보아 RS-485 모드가 있을 것으로 추측할 수 있습니다. 많은 UART 및 관련 회선 구동기에서 이중 구성을 사용하기 때문입니다.

RS-422의 송신기 측 전압 수준은 ±6V이고, RS-485의 경우 -7V ~ +12V입니다. 수신기의 감도는 두 표준 모두 ±200mV입니다.

결론

세 직렬 인터페이스 RS-232, RS-422, RS-485는 단거리와 장거리 모두에서 강력한 직렬 통신을 위한 광범위한 선택 옵션을 제공합니다. UART는 세 표준 모두의 기반이 되며 특히, 까다로운 산업 환경에서 직렬 통신을 설계에 쉽게 추가할 수 있도록 해줍니다.이러한 문제에 대한 솔루션은 범용 비동기 수신기/송신기(UART)를 기반으로 하는 강력한 직렬 인터페이스를 사용하는 것입니다. 일부 제조업체에서는 UART를 비동기 통신 요소(ACE)라고도 합니다. UART는 독립 실행형 장치로 사용되거나(예: Texas Instruments TL16C752D) 마이크로 컨트롤러 내에 위치할 수 있습니다(예: Microchip Technology PIC16F688T-I/SL).

적절한 회선 구동기를 사용할 경우 UART는 장거리에서도 작동할 수 있습니다. RS-232 직렬 데이터 버스의 경우 15m, RS-485 또는 RS-422 인터페이스의 경우 1000m까지 작동 가능합니다. 이 세 프로토콜은 모두 공장 자동화 응용 분야에서 원격 기계 및 컨트롤러를 제어하며 아무리 열악한 환경에서도 EMI 및 ESD 효과를 최소화하도록 설계되었습니다.

이 기사에서는 일반적으로 사용되는 산업 제어 인터페이스 프로토콜에 대한 배경 정보를 제공하며 UART 및 회선 구동기를 사용하여 프로토콜을 구현하는 방법을 보여줍니다.

 

 

안정적인 직렬 통신을 제공하는 UART | DigiKey

728x90
반응형
그리드형