본문 바로가기

연구&개발/Embedded

[펌] RS-232 에 대해



--- 본문 시작  --

임베디드 시스템을 시리얼 포트를 이용하여 외부 장치와 연결하는 것을 살펴 보겠습니다.

첫번째로 RS-232 에 대해 알아봅시다.

 

수 년전부터 USB에 밀려 노트북을 비롯한 대부분의 PC에서 사라지고 있지만 실제 RS-232는

아직도 무시할 수 없는 시리얼 통신 인터페이스 표준입니다.

 

RS-232 는 1962년에 EIA(Electronic Industries Association)에서 EIA-232 의 이름으로 처음 발표되었다고 합니다.

 

RS-232 관련 자료를 보다보면 "Unbalanced" 라는 말을 보게 됩니다.

우리말로 하면 "불평형" 정도가 되겠습니다.

 

어떤 의미 일까요? 

데이터를 전송할 때 신호선(Signal Line)과 접지(Signal ground) 간의 전압을 사용한다는

의미입니다.

 

RS-232 는 물리계층(Physical Layer)에서의 전기적 규약 이라고 이해하면 편리할 것 같군요.

RS-232 는 일반적인 디지털 로직에서 사용하는 전압(예를들어 +5V)을 사용하지 않습니다.

 

아래 두 그림을 보면 그 의미를 잘 이해할 수 있습니다.

RS-232 는 max. ±25V 라고는 하는데...

실제는 -5V ~ -15V (Typ. -12V)와 +5V ~ +15V(Typ. +12V)의 전압을 사용합니다.

한 가지 특이한 점이 Logic '1' 을 위해 (-)전압을 Logic '0' 을 위해 (+) 전압을 사용한다는

것입니다.

 

 



대부분의 마이크로컨트롤러는 내부에 UART(Universal Asynchronous Receiver & Transmitter)를

포함하고 있습니다.

UART 부분은 다음에 따로 설명하겠습니다.

 

이러한 UART의 출력은 +5V Logic이 이므로 RS-232 통신을 위해서는 +5V Logic의 데이터를

RS-232 의 전압 Level 로 변환해 주는 소자(Device)가 필요합니다.

또, RS-232 Level로 수신된 정보를 +5V Level로 변환하여 UART로 보낼 필요가 있겠죠.

 

이 역할을 하는 소자가 바로 우리가 잘 알고 있는 MAX232, MAX233 입니다.

 

+5V Power 로 부터 RS-232 에 필요한 ±12V 를 만들기 위해 Capacitive Voltage Generator

소자 내에 구현되어 있습니다.

 

아래 그림은 실제 데이터가 RS-232를 통해 전송되는 모습을 보여줍니다.

 

 

아래 그림은 RS-232 connector로 많이 사용되는 9-pin D-sub connector  의 각 pin 별

신호를 보여주고 있습니다.

실제로는 모든 신호를 사용하지 않고 TD, RD, 접지(signal ground) 만 사용하여 대부분 구현합니다.

 


통신 거리는 어느정도 일까요?

아래 표는 "Texas Instruments" 에서 제공하는 자료입니다.

RS-232는 데이터 전송을 위해 접지를 참조하기 때문에 RS-422이나 RS-485 방식에 비해

통신거리가 멀지는 않습니다. 

 

또, 통신 거리에 영향을 주는 요소들이 많이 있는데...

아래 표에서 알 수 있드시,

데이터의 전송속도도 통신거리에 영향을 주는 주요 요인입니다.

전송 속도가 빠를 수록 통신거리는 짧아집니다.

흔히 말하기를, 19,200 bps에서 15m 정도의 통신거리를 가진다고 합니다.

실제 해 보면 더 길게(20m 이상)도 통신이 됩니다.

 

 

또, 하나 중요한 요소가 사용하는 Cable의 종류입니다.

 cable의 total capacitance는 데이터의 전송거리에 영향을 미칩니다.

 Low capacitance cable을 사용하면 데이터 전송거리를 더 멀리할 수 있습니다.

 그리고 Shield 선의 사용 여부도 전송거리에 영향을 줍니다.

 아무래도 Shield(차폐) 선을 사용하는 것이 좋겠죠..

 

 

RS-232는 기본적으로 1:1 통신입니다.

그리고, 접지를 사용하므로 앞으로 다룰 RS-422 또는 RS-485 방식 보다 외부 Noise에 약합니다.

 

실제, RS-232 만 설명해도 끝이 없을 것 같습니다.

ESD나 Surge 와 같은 대책도 해야 하고 실제 현장에 적용을 위해서는 단순히 RS-232 관련 소자의

사용 외에도 고려해야 할 것이 많습니다.

 

소자를 선정할 경우도, Driver와 Receiver 를 개별 소자를 사용할 것인 지, 두 가지가 하나의 소자에

통합된 형태를 사용할 것인 지...

적용할 환경에 따라 commercial type  을 사용할 것인 지 아니면 온도 특성이 좋은 Industrial type을

사용할 것인 지 생각해야 할 것이 너무도 많습니다.

그래서, 개발이 어렵다는 것이죠...  단순히, 기능만 구현하는 것은 어렵지 않습니다.

 

너무 말이 많았군요...

오늘은 이 정도로 줄이겠습니다. 



펌   [http://blog.naver.com/seo0511?Redirect=Log&logNo=10132695322]

http://blog.naver.com/PostView.nhn?blogId=seo0511&logNo=10132695322&parentCategoryNo=&categoryNo=21&viewDate=&isShowPopularPosts=true&from=search