관리 메뉴

안까먹을라고 쓰는 블로그

Serial Communication 본문

Miscellaneous

Serial Communication

YawnsDuzin 2014. 3. 2. 19:17

 

반응형
마이크로프로세서는 주변장치를 통해서 외부와 정보를 교환 할 수 있으며 일반적으로 정보를 교환하는 방법으로는 병렬통신과 직렬통신 2가지로 나눌 수 있다.
 일반적으로 컴퓨터내의 장치와 정보를 교환 할 때는 통상적으로 고속의 통신속도를 필요로 하기 때문에 한번에 많은 양의 데이터를 처리 할 수 있는 병렬 통신 방식을 주로 쓴다. 이는 대량의 정보를 빠른 시간에 한꺼번에 처리함으로써 컴퓨터의 성능을 향상 시킬 수 있기 때문인데 이것은 데이터 비트수로 나타나게 된다.( 16bit,32bit, 64bit ). HDD, FDD, CD-ROM등이 대표적인 병렬통신 방식을 사용하는 장치라 하겠다.
 하지만 모든 경우에 병렬 통신 방식을 사용하는 것은 아니다. 병렬통신은 장비를 구현함에 있어서의 어려움과 거리의 제한성, 많은 비용이 든다는 단점을 갖는다. 또한 많은 양의 데이터 전송을 필요로 하지 않는 곳에 있어서 병렬통신은 비효율 적이라 할 수 있다. 이러한 이유로 컴퓨터가 외부와의 통신을 할 때는 직렬 통신 방식을 많이 사용하게 된다.
 직렬통신 방식이란 데이터비트를 1개의 비트단위로 외부로 송수신 하는 방식으로써 구현하기가 쉽고, 멀리 갈 수 있으며 기존의 통신선로 등을 활용할 수 있어서 비용절감이 크다는 장점을 갖고 있다. 대표적인 직렬통신 방식으로는 LAN , RS232 , X.25등이 있다.
 현재 시스템베이스에서 생산하는 시리얼 포트의 종류로는 RS232, RS422, RS485이 있다. 이것은 UART에서 나오는 신호를(TTL 레벨)  현장 특성에 따라 통신 방식을 변환해줌으로써 원하는 통신환경에 적용 가능하게 만들어 준다.


 
기본적인 시리얼 통신 장비의 block diagram 을 보면 PC등에서 나오는 병렬 신호를 직렬 신호로 바꿔주는 UART가 존재하게 된다. 여기서 나오는 직렬 신호는 TTL 레벨 값을 갖기 때문에 노이즈에 약하고 통신거리에 제약을 받게 된다. 이를 극복하기 위해 Drive IC를 사용하며 이를 통하여 통신 방식이 구분되게 된다. 각각의 통신 방식은 고유의 특성이 있으며 통신환경에 맞게 선택하여 적용하게 된다.
 
 
 
RS-232C
 
RS-232C는 「 Recommend Standard number 232 」의 약어이고,「 C 」는 표준 규격의 최신판을 나타내는 것이다.거의 대부분의 PC의 시리얼 포트는 RS-232C의 서브 세트(9핀)가 표준 장비되어 있다.풀 규격은 25-pin의 "D"형태 커넥터로,이 중 22핀을 통신에 사용한다. 그러나,보통의 PC 통신에서는 이들 대부분의 핀은 사용되지 않는다.대부분의 최신 PC에는 통상 수컷(male)의 9핀 "D" 타입 커넥터가 장비되고 있다.
 
 
왼쪽 그림은 RS 232C 신호 레벨을 나타낸것으로 3V 이상의 신호 논리적으로 0 나타내며 3V이하의 전기적 신호가 들어오면 논리적으로 1을 나타내게 된다. 이를 이용하여 디지털 데이터를 전송 할 수 있다.
 
 
 
 
 
 
 
 
 
RS232 통신에서 가장 중요한 점은 기준이 필요하다는 것이다. 위에서 말한 3V, -3V등은 기준 값으로 부터 얼마만큼의 에너지를 갖느냐는 말인데 만약 통신하는 두 장비의 기준점이 틀리 다면 정상적인 통신을 할 수 없다는 말이 된다. 양단에 기준점을 맞춰주는 작업이 Gnd 선을 연결 하는 것인데 RS232 통신은 최소한 3가닥(Tx, Rx, Gnd)이 연결되어야 정상적인 송수신 작업이 이루어 질 수 있다.
 
 

 
 
 
TXD - Transmit Data  
비동기식 직렬통신 장치가 외부 장치로 정보를 보낼 때 직렬통신 데이터가 나오는 신호선이다 
RXD - Receive Data  
외부 장치에서 들어오는 직렬통신 데이터를 입력 받는 신호선이다  
RTS Ready To Send  
컴퓨터와 같은 DTE장치가 모뎀 또는 프린터와 같은 DCE장치에게 데이터를 받을 준비가 됐음을 나타내는 신호선이다.  
CTS - Clear To Send  
모뎀 또는 프린터와 같은 DCE장치가 컴퓨터와 같은 DTE장치에게 데이터를 받을 준비가 됐음을 나타내는 신호선이다.
 DTR - Data Terminal Ready  
컴퓨터 또는 터미널이 모뎀에게 자신이 송수신 가능한 상태임을 알리는 신호선이며 일반적으로 컴퓨터 등이 전원 인가 후 통신 포트를 초기화한 후 이 신호를 출력시킨다.
  DSR - Data Set Ready  
모뎀이 컴퓨터 또는 터미널에게 자신이 송수신 가능한 상태임을 알려주는 신호선이며 일반적으로 모뎀에 전원 인가 후 모뎀이 자신의 상태를 파악 한 후 이상이 없을 때 이 신호를 출력시킨다.  
DCD - Data Carrier Detect  
모뎀이 상대편 모뎀과 전화선 등을 통해서 접속이 완료되었을 때 상대편 모뎀이 캐리어신호를 보내오며 이 신호를 검출하였음을 컴퓨터 또는 터미널에 알려주는 신호선이다.  
RI - Ring Indicator  
상대편 모뎀이 통신을 하기위해서 먼저 전화를 걸어오면 전화 벨이 울리게 된다. 이때 이 신호를 모뎀이 인식하여 컴퓨터 또는 터미널에 알려주는 신호선이며 일반적으로 컴퓨터가 이 신호를 받게 되면 전화벨 신호에 응답하는 프로그램을 인터럽터 등을 통해서 호출하게 된다.
 
 
 
RS422
 

기본적으로 RS422 은 differential mode로 송수신하게 된다. Differential 이라는 것은 말뜻 그대로 두 선의 전위차이를 이용하여 데이터를 보내는 것을 말한다. 즉 두 라인의 전위차가 0.2V이상이 되면 논리적으로 1 ,-0.2V이하가되면 논리적으로 0을 의미하게 되는 것이다.  
 
RS422 통신방식에서 가장 중요한 점은 Differential mode 로데이터를 전송한다는 것이다. 이점 때문에 RS232 통신에 비해 거리 확장이 가능하며 노이즈에 강할 수 있는 것이다. 또한 Gnd 선 연결 없이도 통신
                                               이 가능할 수 있다.

예를 들어 통신선로 중간에 노이즈가 발생한다면 line A, line B에 동시에 영향을 주게 된다. 하지만 받는 입장에서 보았을 때 두 선이 동시에 영향을 받았다는 것은 보낼 때의 전위차는 유지된다는 얘기가 된다. 그러므로 수신측에서는 line에서 노이즈가 발생되었건 말건 동일한 전위 차이를 수신하므로 아무런
                                                         문제 없이 데이터 수신이 가능한 것이다.
 
RS485
 
RS485 통신은 전기적 특성에 있어서 RS422 통신 방식과 동일합니다RS485 역시 + 선과  선 두가닥의 전위차 (differential)를 사용하여 데이터를 전송하게 됩니다. 다만 RS485와 RS422 통신 방식의 가장 큰 차이는 RS422통신은 전이중 방식을 사용하여 통신 시 필요한 회선이 4가닥이지만 이와는 달리 RS485 통신은 반 이중 방식의 통신이기 때문에 2가닥의 회선만을 이용하게 됩니다. RS485는 "TRXD+", "TRXD-" 라는 각각의 회선에서 모두 송신과 수신을 수행 한다는 것입니다.
 
                  
 
 
Multi-Drop(RS422)
 

RS232방식에 비해 RS422 과 RS485 통신의 큰 차이점은 통신거리 및 노이즈에 강하다는 것이다. 이에 부가적으로 RS422 및 RS485 통신 방식은 멀티드롭이라는 기능을 지원하는데 이것은 한번에 여러 대의 장비와 동시 통신이 가능하게 만들어 주는 것이다.
  RS422과 RS485 각각에서 지원하는 멀티드롭은 약간의 차이를 갖게 되는데 먼저 RS422을 알아보면 RS422 방식은 1대의 마스터와 여러 대의 슬레이브로 구성된다는 것이다.
 마스터에서는 일종의 브로드캐스트(broadcast) 방식으로 데이터를 전송하며 모든 슬레이브는 마스터에서 보내지는 데이터를 수신하게 된다.
 방법에 차이는 있겠지만 대부분의 경우 마스터에서 보내져 오는 데이터는 슬레이브의 ID를 담게 되어있다. 각각의 슬레이브는 수신된 데이터의 ID의 값을 보고 이에 따라 응답을 하게 된다.
 슬레이브에서 가장 주의 깊게 보아야 할 것은 공통 TXD 라인을 이룬다는 것이다. 모든 슬레이브의 TXD라인은 마스터의 RXD라이으로 묶이게 되는데 이는 곳 슬레이브가 동시에 데이터를 보내고자 할 경우 충돌을 일으키게 된다는 것을 의미한다. 즉 슬레이브에서 마스터로 데이터를 보내고자 할 경우 반드시 한대만 통신을 해야 한다는 것이다.
                                             ( 입출력 개폐기능 필요 )
                                                               주의사항 :슬레이브 간에 통신 안됨

 

Multi-Drop(RS485)

 

RS485 의 가장 큰 특징은 N : N 통신이 가능하며 최대 32개의 노드 연결이 가능하다는 것이다. RS422의 경우 1대의 마스터와 N대의 슬레이브(10대 이하) 구조로 구어야 하지만 RS485의 경우 어떠한 장비도 마스터가 될 수 있으며 또한 슬레이브도 될 수 있다.
 하나의 장비에서 보내지는 데이터는 모든 장비에서 수신하게 되며 수신 데이터를 판별하여 자신의 동작을 결정하게 된다. RS485역시 RS422과 마찬가지로 항상 선로에 접근하는 것은 1대의 장비 만이어야 하며 만약 1대 이상 선로에 접근 시 데이터 충돌이 발생하여 정상 통신을 할 수 없다.


반응형

'Miscellaneous' 카테고리의 다른 글

Web Server?? WAS??  (0) 2016.05.08
개인정보보호 - 암호화관련  (0) 2016.05.04
RFID(Radio Frequency Identification) & USN(Ubiquitous Sensor Network)  (0) 2014.02.26
[Batch File] 정리예정  (0) 2013.09.26
Window Server 2008 Tip  (0) 2013.06.21
Comments