출처 :http://kin.naver.com/detail/detail.php?d1id=1&dir_id=10301&eid=xzM6PW58lW74FdUG47EtKzG3ZN52GBCz&qb=dWFydA==

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
 

'Embeded' 카테고리의 다른 글

sound - mp3 플레이어 arm linux  (0) 2008.01.10
rs-232이란 알기쉽게요 답변 부탁  (0) 2008.01.07
CUP의 Uart코어  (0) 2008.01.07
UART로 Terminal 만들기  (0) 2008.01.07
Posted by Real_G