RS232C에 관한 하드웨어 자료도 많이 있습니다.
8051이나 8096,80196등에서 RS232를 지원합니다. CPU 에서 직접 데이타 신호가 나오는데
CPU 를 보호하기 위해 라인드라이버라는 것을 사용합니다. CPU는 5V전압이지만 라인드라이버는
12V 로 바꾸어서 전력을 공급합니다. 왜냐하면 멀리 보낼수 있게 하기 위함입니다.
MAXIM이라는 회사에서 나오는 제품을 많이 사용합니다. 직접 만들어도 됩니다.
MAX485, MAX490은 RS485 용인데 같이 검색해보시면 RS232용 라인드라이버도 나옵니다.
그리고 RS232프로토콜을 맞춰주는 칩으로 8251이 있습니다. CPU는 이 칩에 8bit 데이터 버스로
값을 읽거나 쓰고, 이 칩은 시리얼 통신을 해줍니다.
회사 웹사이트는 www.maxim.com입니다.
RS232C는 TCP/IP이전에 산업체의 표준이었습니다.
장비들을 만들때도 RS232 지원하게 만들었지요.
시리얼 통신에는 RS232말고도 여러개를 같이 묶을 수 있는 RS422,RS485가 있습니다.
TCP/IP도 시리얼 통신입니다. RS232C는 12V의 전압을 사용합니다. 통신선은 2개를 사용합니다.
하나는 신호, 하나는 Ground 입니다. 통신선간의 전압이 12V이면 0, 0V이면 digit 1로 여깁니다.
통신 속도는 300bps부터 115k까지 다양하게 사용합니다. 단 통신선의 길이가 길면 통신속도
높은 거 사용못합니다. 노이즈가 통신선에 발생하기 때문입니다.
자세한 내용은 아래의 글과 웹사이트를 참고하세요
http://www.arbank.co.kr/ 여기 사이트 가면 RS-232 와 IrDA연결 장비가 있습니다.
저는 PDA의 적외선 포트를 이용해서 PC와 연결해보려고 찾아보다가 말았답니다.
도움이 되면 좋겠습니다.
아래는 참고 자료들이예요... ^^;;
RS232C의 개요
Serial Port
아스키코드로 'H' 문자는 16진수로 48 이고 이진수로 01001000 이다. 1 Byte(8bit) 이다.
또한 '1' 과 '0'의 일련(+5 V와 0V purse)으로 데이터버스에서 전송될 수가 있다.
컴퓨터 내부에서는 병렬동기신호 방식(parallel synchronous signals)으로 byte를 전송한다.
병렬전송은 아주 짧은 거리에서만 잘 작동한다. 하지만 신호가 빨라질수록 병렬 전송을 이용하는 것은
더욱더 힘들어진다. 아주 먼거리를 전송시키기 위해서는 송신기에 의해 직렬전송신호로 바뀌어야 한다.
그리고 수신측 컴퓨터의 수신기에서는 병렬신호로 바뀌어 져야 한다.
이 작업을 하기위해서 우리는 UART(Universal Asynchronous Receiver Transmitter)라 불리우는 특별한 병렬 칩을 사용하게 된다.UART는 때로는 ACIA(Asynchronous Communications Interface Adapter)라고도 불리운다.
인텔 마이크로프로세서 칩번호는 8250 또는 16550이다. UART는 병렬 데이터 비트를 받아서 직렬연속비트로 변환한다.또한 반대편의 UART는 전송정보를 반대로 변환시킨다.
UART(Universal Asynchronous Receiver Transmitter)
주 로 PC에 사용하는 것으로 1981년 IBM - PC에서 IN8250이 머더보드상에 탑재해 모템이나 Serial Printer와의 데이터수수에 사용되고 이후 IBM-PC에서는 8250의 사용방법과 BIOS기능은 아키텍쳐기능의 양면에 있어 UART는 Defacto Standard가 되었다.
정확히 PC의 IO Card의 IO chip을 말하며 이 IOchip은 프로피디스크 컨트롤러, IEEE1294패러럴포트, 범용칩셀렉터, 구성레지스터, 플러그앤플레이서포트 회로, 파워다운로직회로 그리고 두개의 UART 시리얼 인터페이스(16C550 or 16C450)이 있다. 그중 UART2번째 포트에서 범용적외선인터패이스를 지원하도록 구성되어있다.
원칩마이크로 프로세서도 내장 - 8051, MC68HC11, Z8등 DSP에서는 채용하지 않는다.- 왜냐하면 dsp는 대규모의 동기시스템이므로 시리얼데이터는 비동기입력에 응답하는 것은 곤란하다.
MAX232나 MAX485와의 인터페이스를 담당하는 MCU 의 PIN쪽을 생각하면 된다.
EIA-574/232 -> IrDA의 쌍방향 변환 어댑터를 전/기/98/1/107에서 볼 수 있다.
퍼 스널컴과의 RXD 와 TXD의 신호를 MAX233으로 다시 그 신호를 8051의 TXD 와 RXD 로 주고 Port 1.0에서 1.4과 P3.2까지를 다시 MAX 3100의 순서대로 DIN, DOUT, SCLK, /CS, /IRQ로 배정하고 MAX3100의 TX와 단자를 IR LED와 IR PD로 배정한다.
8bit이고 패리티비트를 사용하지 않으며 한번에 시작하고 멈춘다.
한 마디로 PC의 RS-232포트를 생각해도 괜찮을 것 같다.
RS-232C통신이란
RS232C( Recommended Standard system for serial communications의 한 부분)
1969년 미국 전자공학협회에서 제정한 통신 인터페이스 규약의 하나로 프린터, 모뎀 등 각종 주변장치를 연결하는데 주로 사용된다. 이러한 시리얼 포트에 비동기 통신을 위해서는 이미 언급했지만 UART가 반드시 필요하다.
현재는 속도 측정단위인 bps(bits per second)를 쓰지만 예전에는 Baud( signal change per second)를 썼었다.
RS-232
19.2kbps 15M
RS-422
10Mbps 15M 이상
RS-423
100Kbps 15M 이상
RS-449
2Mbps 15M 이상
위 의 모든 통신 방식은 연결을 위해 최대 25개의 다른 선 구성을 가진다. 이 접속에는 "25핀 DSUB 커넥터"나 "9핀 미니 DSUB 커넥터"라 부르는 커넥터가 일반적으로 사용되고 있다.(RS-232C의 C는 1987년 어떤 전기적인 특성을 설명하기위하여 붙여졌다.)
PC끼리 연결을 하고자 한다면 다음 그림과 같이 하면 된다.
TXD는 수신신호이고 RXD는 전송신호이다.SG는 접지시그날이다.위의 연결은 NULL 모뎀 연결이라고한다.
핀별 설명
9핀 커넥터
25핀 커넥터
신호 명칭
간단한 사용법
1
8
CD(Data Carrier Detect)
입력, 사용하지 않는다
2
3
RD(Receive Data)
입력, 상대방 TD에 접속
3
2
TD(Transmit Data)
출력, 상대방 RD에 접속
4
20
DTR(Data Terminal Ready)
출력, 사용하지 않는다
5
7
SG(Signal Ground)
그라운드, 상대방 SG에 접속
6
6
DSR(Data Set Ready)
입력, 사용하지 않는다
7
4
RTS(Request to Send)
출력, 상대방 CTS와 접속
8
5
CTS(Clear to Send)
입력, 상대방 RTS와 접속
9
22
RI(Ring Indicate)
입력, 사용하지 않는다
참고
http://home.opentown.net/~sienes/Contents/UART.htm
http://mole.chm.bris.ac.uk/~cijpm/CM1/lt6.htm
http://win98.co.kr/comunder/0806.htm
http://plaza.snut.ac.kr/~auto/academic_place/under1.htm
http://comdol.pe.kr/study/eletronic/lec02/pic14.html
시리얼 통신의 기초 지식 : http://www.sciencesoftware.co.kr/TALtech/Tutorials/intro_sc/intro_sc.htm RS-232C 통신 설치 연결도 : http://lcdups.co.kr/rs232c.html RS-232C 시리얼 통신 프로그래밍 (C) : http://cprogram.home.uos.ac.kr/cplecture/cpch30.htm |
그리고
EIA-232-D 프로토콜
EIA-232-D 프로토콜은 DTE와 DCE간의 인터페이스 기능을 한다.
1. DTE(Data Terminal Equipment, 데이터 단말 장비)
: 터미널, 컴퓨터와 같은 디지털 데이터 처리 디바이스
2. DCE(Data Circuit-terminating Equipment, 데이터회선 종단 장비)
: 모뎀과 같이 DTE와 전송시스템 간에 중재를 한다.
3. 물리층 프로토콜의 특성
1) 기계적 특성: DTE와 DCE간의 실제 물리적 연결에 관한 특성
2) 전기적 특성: 전압레벨과 전압변동의 타이밍에 관련
3) 기능적 특성: 교환회선에 의미를 할당, 데이터, 제어, 타이밍, 접지로 분류
4) 절차적 특성: 기능적 특성에 따라 전송 데이터에 일어나는 사건의 순서
4. 전송모드
1) 평형모드: twisted pair 이용하는 전화시스템
① 동작: 2개의 도체로 된 평형전송 회선으로 신호를 전달(한 도체로 나가 다른 도체로 돌아옴)
② 차등신호법: 디지털에서 부르는 것으로 이진 값이 두 도체 사이의 전압차의 방향에 따른다
③ 특징: 불평형 전송보다 잡음이 적고 면역성이 크다.
2) 불평형모드
① 동작: 신호의 전송에 한 통로를 이용하고 복귀통로는 접지가 이용한다.
② 특성: EIA-232-D에서 사용시 동축케이블, 짧은 거리로 제한된다.
EIA-232-D 상세
1. 기계적 특성: DB-25 커넥터라 불리는 25또는 9핀 커넥터
2. 전기적 특성
1) 기능: DTE와 DCE간의 신호법을 기술
2) 해석: 공통접지를 기준으로 3V이하이면 1로, +3V이상이면 0으로 해석
3) 제한: 신호전송율 20kbps이하, 거리 15m이하
3. 기능적 특성
1) 데이터회선(4): 각 방향마다 하나씩의 회선이 있어 전이중방식으로 동작한다. 반이중방식에 이용하는 2개의 보조회선이 있다.
2) 제어회선(14)
① 비동기전송에서 1차 채널상의 데이터전송 제어(6)
② 동기전송에서 1차 채널상의 데이터전송 제어(2)
③ 신호질 검출기회선
④ 2차 채널의 사용제어(3)
⑤ 루프백 시험용(3)
3) 타이밍회선(3): 동기식 전송에 클럭펄스 제공
4) 접지와 차폐(2)
① 접지: 모든 데이터 도선에 대한 리턴 회선으로 작용
② 차폐: DTE측에서 차폐된 케이블의 연결을 위한 것
5) 루프백 제어: 통신이 끊어졌을 때 원인을 찾는다.
① 로컬 루프백: 로컬 인터페이스와 로컬 DCE의 기능을 시험한다.
② 원격 루프백: 전송채널과 원격 DCE의 기능을 시험한다.
4. 절차적 특성: action-reaction방식에 기반하여 회선이 사용되는 순서를 정의한다.
5. 널모뎀
정의: 두 디바이스 간의 거리가 매우 가까워서 두 DTE가 직접 신호를 주고받을 수 있으면, DTE가 자신의 모뎀에 연결되어 있는 것처럼 단자를 상호연결한다.