RS232/422/485 참고자료 마이크로프로세서는 주변장치를 통해서 외부와 정보를 교환할 수 있으며 일반적으로 정보를 외부와 교환하는 방법으로는 병렬통신과 직렬통신 2가지로 나눌 수가 있다. 하지만 모든 경우에 병렬통신 방식을 사용할 수는 없다. 또한 어플리케이션 자체가 고속의 통신속도를 필요로 하지않을 경우도 많다. 직렬통신의 대표적인 것으로 모뎀, LAN, RS232 및 X.25등이 있다. 하지만 크게 직렬통신을 구분하면 비동기식 방식과 동기식 방식 2가지로 나누어진다. 많은 사람들이 비동기식 통신방식을 RS232로 알고있는데 실질적으로 RS232라는 것은 비동기식 통신콘트롤러에서 나오는 디지털신호를 외부와 인터페이스 시키는 전기적인 신호 방식의 하나일 뿐이다. 비동기식 통신방식을 지원하는 대표적인 콘트롤러는 NS사의 16C450과 16C550이며 그외 호환되는 콘트롤러가 다수의 회사에서 생산되지만 성능상의 차이는 없고 호환은 되지 않지만 비동기 통신의 기능을 갖는 콘트롤러는 수십가지의 종류가 있다. UART에서 나오는 신호는 보통 TTL신호레벨을 갖기 때문에 노이즈에 약하고 통신거리에 제약이 있다. 이러한 TTL신호를 입력받아 노이즈에 강하고 멀리갈 수 있게 해주는 인터페이스 IC를 LINE DRIVER/RECEIVER라 부르며 이중 대표적인 것이 RS232, RS422 및 RS485가 있다. | |||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||
위의 표에서 알 수 있듯이 RS-232과 RS-423(Single-Ended 통신방식) 통신방식은 RS422와 RS485에 비해서 통신속도가 늦고 통신거리가 짧은 단점이 있으나 동작모드에서 알 수 있듯이 하나의 신호전송에 하나의 전송선로가 필요하기 때문에 비용절감의 장점이 있다. (RS422인 경우 하나의 신호 전송에 2개의 전송선로가 필요함) 위의 인터페이스 방식중 RS232, RS422 및 RS485에 대해서 각자 설명하겠다. 현재의 RS422 또는 RS485칩의 경우 위의 표에 나와있는 Driver와 Receiver의 수보다도 훨씬 많이 지원하고 있으며 RS485인 경우 최대 256의 노드를 갖는 칩도 있다. | |||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||
RS232에 대한 설명 | |||||||||||||||||||||||||||||||||||||||||
RS232C는 EIA(Electronic Industries Association)에 의해 규정되어 졌으며 그내용은 데이터단말기(DTE: Data Terminal Equipment)와 데이터통신기(DCE: Data Communication Equipment)사이의 인터페이스에 대한 전기적인 인수, 컨트롤 핸드쉐이킹, 전송속도, 신호 대기시간, 임피던스 인수등를 정의하였으나 전송되는 데이터의 포맷과 내용은 지정하지 않으며 DTE간의 인터페이스에 대한 내용도 포함하지 않는다. RS232에서 일반적인 내용은 위에서 충분히 기술되어 있으며 기본적으로 알아야 할 내용은 코넥터의 사양, RS232 신호선과 케이블 연결 결선도이다. 이들의 내용은 아래와 같다. | |||||||||||||||||||||||||||||||||||||||||
코넥터 사양 | |||||||||||||||||||||||||||||||||||||||||
신호선에 대한 설명 | |||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||
결선도 | |||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||
RS422에 대한 설명 | |||||||||||||||||||||||||||||||||||||||||
RS422는 EIA에 의해서 전기적인 사양이 규정되어 있으나 물리적인 코넥터 및 핀에 대한 사양은 아직 규정되어 있지 않다. 앞으로 나오는 이들의 내용은 시스템베이스에서 규정하여 사용하는 사양이니 이에 대해서 오해가 없으면 한다. RS422에서는 Point To Point 모드와 Multi-Drop 모드 두가지가 있다. Point To Point 모드인 경우 RS232와 신호선당 2개의 라인이 필요한 것만 빼고 사용하는 방법에 있어서 별다른 필요가 없다. 하지만 Multi-Drop 모드인 경우는 사용법이 좀 복잡하다. Multi-Drop의 자세한 내용에 대해서는 다음 란에서 다루고 먼저 코넥터의 사양, RS422 신호선과 케이블 결선도에 대해서 먼저 설명하겠다. | |||||||||||||||||||||||||||||||||||||||||
코넥터 사양 | |||||||||||||||||||||||||||||||||||||||||
( )안의 신호선은 시스템베이스의 제품중 MULTI-1 모델에만 적용됨. 신호선에 할당된 핀번호는 시스템베이스 제품에만 적용되며 다른제품과 틀릴 수 있음. 일반적으로 사용되는 신호선은 TXD+, TXD-, RXD+ 및 RXD- 이고 나머지 신호선은 거의 사용되지 않는다. | |||||||||||||||||||||||||||||||||||||||||
신호선에 대한 설명 | |||||||||||||||||||||||||||||||||||||||||
신호선에 대한 설명은 RS232와 별차이가 없고 다만 물리적으로 하나의 신호선에 두 개의 라인이 필요한데 그들의 표현은 신호선명뒤에 + 와 - 로써 구분표기 한다. 즉, 예를 들면 RS232의 TXD 신호선이 RS422에서는 TXD+와 TXD-로 나누어 질 뿐이다. | |||||||||||||||||||||||||||||||||||||||||
결선도 | |||||||||||||||||||||||||||||||||||||||||
DTE to DTE 2 Twisted Pair Cables * GND는 연결하지 않아도 됨. * + 신호선은 + 신호선과 - 신호선은 - 신호선과 연결됨에 유의 바람. |
|||||||||||||||||||||||||||||||||||||||||
RS422 Multi-Drop 모드에 대한 설명 | |||||||||||||||||||||||||||||||||||||||||
Multi-Drop모드가 사용되는 시스템은 하나의 마스터에 여러개의 슬레이브가 연결되어 마스터가 어떤 슬레이브와 통신을 할것인지를 결정하고 해당 슬레이브를 호출하면 호출된 슬레이브가 응답을하는 체제로 구성되어진다. (앞 쪽의 Multi-Drop 모드 결선도 참조) 즉 동시에 2개이상의 슬레이브가 공동 TXD라인에 접속하면 않되는 것을 반드시 지켜야만 한다. | |||||||||||||||||||||||||||||||||||||||||
먼저 슬레이브가 마스트로 데이터를 출력하기전(슬레이브측의 UART TXD 신호선) 먼저 개폐신호를 출력시켜야 한다.(슬레이브측의 RS422 개폐신호(Logic "1"이면 접속 Logic "0" 이면 단락)를 참조) 즉, S/W에서 먼저 RS422 개폐신호를 접속상태로 출력시키고 난후 TXD라인에 데이터를 출력시키며 TXD라인에 마지막 데이터의 스톱비트까지 출력되고 난 것을 확인후 개폐 신호를 단락상태로 출력시키면 된다. (그림상에서 데이터 "B"의 스톱비트가 출력된후 RS422 개폐신호가 단락상태(Logic "0")로 전환되는 것을 보면 알수가 있다.) 일반적으로 RS422 개폐신호는 RTS나 DTR신호중 하나를 사용하며 시스템베이스의 경우는 대부분 RTS신호를 사용한다. 사실 TXD신호선을 S/W에 의해서 접속 또는 단락하는 것 자체에 별문제는 없으나 프로그래머 입장에서는 까다롭고 귀찮은 일임에 틀림없다. 이러한 불편함을 해소하가 위해서 나온방법이 TXD신호선에서 데이터가 나올때만 H/W가 이를 감지하여 자동으로 접속 또는 단락 동작을 자동으로 하는 것이다. 이 방법은 프로그래머에게 편리함과 다른 S/W와의 호환성유지(Multi-Drop용의 S/W가 아닌 경우)에 유용하다라고는 하겠으나 전세계적으로 그러한 기능을 제공하는 칩 및 제품은 없다. 다만 시스템베이스의 MULTI-1모델중 일부분의 모델에서만 H/W에 의한 자동 개폐가 가능하니 폐사에 문의하여 사용하면 되겠다. | |||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||
RS485에 대한 설명 | |||||||||||||||||||||||||||||||||||||||||
RS485는 EIA에 의해서 전기적인 사양이 규정되어 있으나 물리적인 코넥터 및 핀에 대한 사양은 아직 규정되어 있지 않다. 앞으로 나오는 이들의 내용은 시스템베이스에서 규정하여 사용하는 사양이니 이에 대해서 오해가 없으면 한다. RS485인 경우 RS232나 RS422처럼 Full Duplex가 아닌 Half Duplex 전송방식만 지원하기 때문에 RS422의 Multi-Drop 모드의 슬레이브처럼 RS485의 모든 마스터는 TXD신호를 멀티포인트 버스(RS485의 모든 마스터가 공유하는 신호라인을 그렇게 부른다.)에 접속 또는 단락시켜야만 할뿐만 아니라 RXD신호 역시 모드에 따라서는 접속, 단락의 제어를 하여야 한다. RS485에서는 Echo 모드와 Non Echo 모드 두가지가 있다. 이들에 대한 자세한 내용에 대해서는 다음 란에서 다루고 먼저 코넥터의 사양, RS485 신호선과 케이블 결선도에 대해서 먼저 설명하겠다. | |||||||||||||||||||||||||||||||||||||||||
코넥터 사양 | |||||||||||||||||||||||||||||||||||||||||
신호선에 할당된 핀번호는 시스템베이스 제품에만 적용되며 다른제품과 틀릴 수 있음. | |||||||||||||||||||||||||||||||||||||||||
신호선에 대한 설명 | |||||||||||||||||||||||||||||||||||||||||
신호선에 대한 설명은 RS232와 별차이가 없고 다만 물리적으로 하나의 신호선에 두 개의 라인이 필요한데 그들의 표현은 신호선명뒤에 + 와 - 로써 구분표기 한다. 하지만 UART의 TXD, RXD신호선이 멀티포인트 버스에 의하여 공동으로 사용하게됨에 유의하여야 한다. 즉 하나의 마스터는 멀티포인트 버스를 출력이면 출력, 입력이면 입력으로 구분하여 사용할 수 밖에 없다. | |||||||||||||||||||||||||||||||||||||||||
결선도 | |||||||||||||||||||||||||||||||||||||||||
RS485 Echo, Non Echo 모드에 대한 설명 | |||||||||||||||||||||||||||||||||||||||||
멀티포인트 버스를 사용하는 시스템은 하나의 버스에 여러개의 마스터가 연결되어 사용한다. 이 때문에 하나의 마스터가 다른 마스터와 통신을 할 경우에는 반드시 출력 개폐를 하여야만 한다. 이렇게 충돌 여부를 확인하는 방법 중 하나가 자기가 보낸 정보를 자기가 받아보아 충돌여부를 확인하는 것인데 이것을 RS485 Echo 모드라 부른다. 이때 마스터의 RXD신호선은 항상 멀티포인트 버스에 접속되어 있어 자신의 데이터 뿐만 아니라 다른 어느 마스터가 보내는 데이터를 받을 수가 있다. 위의 내용을 요약하면 RS485 Echo 모드는 마스터의 RXD신호선은 항상 멀티포인터 버스 에 접속되어 있고 TXD신호선은 데이터를 출력할 때만 멀티포인터 버스에 접속시키야 하고 나머지는 반드시 단락 시켜야한다. 만약 단락시키지 않으면 RS422의 Multi-Drop모드와 같이 다른 마스터가 데이터를 보내도 충돌이 발생하여 절대로 올바른 송수신이 발생 할 수가 없다. RS485 Non Echo 모드는 TXD신호선을 멀티포인트 버스에 접속시키면 그즉시 RXD신호선 이 멀티포인트 버스에서 단락되고, TXD신호선을 멀티포인트 버스에서 단락시키면 그즉시 RXD신호선이 멀티포인트 버스에 접속하게 된다. 일반적으로 RS485 개폐신호는 RTS나 DTR신호중 하나를 사용하며 시스템베이스의 경우는 대부분 RTS신호를 사용한다. |
<< 전자기기 개발 --- 건강기기, 통신기기,각종 전자회로 개발, PCB ARTWORK >>
http://cafe.daum.net/elecom-rnd
출처 : 민이 여행
'Programming > 8051' 카테고리의 다른 글
시리얼 통신 (0) | 2009.11.30 |
---|---|
8051 타이머 모드1 (0) | 2009.11.30 |
8051의 타이머 0 (0) | 2009.11.30 |
8051타이머 모드설정 (0) | 2009.11.30 |
8051( 중급 12부 - serial 통신 2 ) (0) | 2009.11.29 |