본문 바로가기

Programming/네트워크

시리얼 통신

시리얼 통신이란 하나 또는 두 개의 전송 라인을 사용하여 데이터를 송수신하는 통신 방법으로, 한 번에 한 bit씩 데이터를 지속적으로 주고 받는다.



시리얼 통신 규격


EIA(전자 산업 협회) 통신 표준으로 RS-232C / RS-422A / RS-485 가 있다. 


이 중 RS-232C는 다양한 분야에서 활용되고 있고 이들은 모뎀, 센서 등에 사용된다.



RS-232C


이 시리얼 통신 표준은 신호가 단순하여 널리 사용되며 종종 표준으로 컴퓨터에 장착된다. 


임베디드 장비에서도 전압레벨을 낮춰 UART/USART 로 탑재된다.


비동기 통신이기 때문에 Baudrate(통신 속도) 설정에 따라 통신이 되고 안된다.


PC나 임베디드 장비간 통신시 전압 레벨을 고려해야 한다. PC는 -12V ~ 12V 까지 전압이 바뀌는데, 


임베디드 장비는 일반적으로 3.3V 또는 5V대의 전압을 가지기 때문에 


PC와 임베디드 장비 사이에 MAX-232와 같은 전압 레벨 컨버터가 없다면 임베디드 장비가 망가질 수 있다. 


그리고 Tx, Rx는 서로 크로스로 연결해줘야 통신이 가능하다. (TX -> Rx, Rx -> Tx)



RS-422A


짧은 전송 거리 및 느린 전송속도를 가진 RS-232C의 문제를 보완한다. 



RS-485


RS-422A에서의 몇 가지 문제점을 보완한다. 


RS-422나 RS-485는 그냥 이런게 있다라고만 알고 넘어갈래...



매개변수 

RS-232C 

RS-422A 

RS-485 

전송 모드 

단면 

멀티포인트, 심플렉스 

멀티포인트, 멀티플렉스 

최대 접속 대수 

1 드라이버, 1 수신기 

1 드라이버, 10 수신기 

32 드라이버, 32 수신기 

최대 전송 속도 

20kpbs 

10Mbps 

10Mbps 

최대 케이블 길이 

15m 

1.2km 

1.2km 

 특징

단거리, 전이중, 1:1 연결

장거리, 전이중, 반이중, 1:N 연결

장거리, 전이중, 반이중, N:N 연결 




'Programming > 네트워크' 카테고리의 다른 글

시리얼 통신 (feat. polling based c++)  (0) 2018.08.22
UDP (C++)  (0) 2018.08.20
TCP/IP (C++)  (0) 2018.08.20
OSI 7계층  (0) 2018.08.20
용어 정리  (0) 2018.08.20