IRM-9600x EM Tech 대전대덕구대화동 289-1 공구상가 5 동 227 호 TEL: (042) 623-4470 - 1 -
1. 주요기능및규격 PWM 변조방식 (Carrier Frequency: 307.2 KHz) Scrambler & Descrambler 기능통신지연 : 2.5 Bit 이하 ( 송신기 : 1Bit, 수신기 : 1.5 Bit) 빠른자동모드전환 (Rx Mode Tx Mode) DPLL 클럭을사용한 Digital Data Slicer 기능 NRZI Encoder / Decoder 간단한인터페이스 (TxD,RxD,Power) 1. 주요기능 Half Duplex Communication Data Rate : 9600 bps 통신링크거리 : < 15M PIN Photodiode : BPV23NF Viewing angle : ±60 Infrared Emitting Diode: TSHA5502 Half intensity: ±24 단일 5V±0.5V 전원 소모전력 Tx Mode : < 150mA Rx Mode : < 35mA 무선조종기 2. 용도 근거리무선통신시스템 출입문관리 / 통제 컴퓨터및전자기기의데이터전송 병원 & 공장제어시스템 ( 전파문제가되는시스템 ) Ordering Information Model Speed I/F Type IRM- 9600 T 9600 bps T: TTL R: RS-232-2 -
2. IRM-9600x 모뎀블록및핀설명적외선모뎀 IRM 모델은 PWM 변조방식을사용하여적외선의산란과외부의노이즈에강한통신방식으로 15M 이내의데이터통신이가능하며, 적외선을사용함으로전파에따른 EMI/EMC 가없어병원이나공장의장비등과같은안정을요하는시스템과사용하여무선제어가가능하다. IRM 모뎀의주요기능은 1)Scrambler&Descrambler 기능, 2) PWM Modulation 기능, 3) 자동모드전환기능, 4) Digital Data Slicer 기능을내장하고있다. Scrambler 기능을내장하고있어 Bit coding( 맨체스터방식등 ) 이나 Byte Coding 방식이필요가없고, 자동모드전환기능을가지고있어제어시스템과별다른 I/F 없이 UART 송수신데이터와전원만으로기존의 Serial 통신시스템에적용이가능하다. RxLED VCC LED(Y) LED Driver RxD Bit Sampler Scrambler 1 + X^12 + X^17 NRZI Decoder PWM Modulator LED Driver TSHA5502 DPLL & BRG (X64) DPLL Clk 2.5V Ref TxD Descrambler NRZI 1 + X^12 + X^17 Encoder DPLL Clk Digital Data Slicer AF HPF & 3nd LPF RxAudio Preamplifier BPV23NF LED Driver DPLL & BRG (X64) TxLED VCC LED(G) Figure 1. IRM-9600T Block - 3 -
Figure 2. IRM-9600x Dimension Pin No Name I/O Description 필수 연결 선택 1 VCC Power Power Input (DC 5±0.5V) O 2 GND Ground Ground O 3 PWMout O PWM 변조 Signal O 4 breset I Reset(Active Low) O 5 Tst I Test 입력 ( 제작시사용 ) O 6 GND Ground Ground O 7 TxD O Received Data O 8 RxD I Transmit Data O Table 1. IRM-9600x 핀설명 % 선택연결핀의경우연결할필요는없으며동작의확인등을위해서사용할수있다. % - 4 -
3. Application I/F Example IRM 모델은 TTL I/F 방식의 IRM-9600T 와 RS-232 I/F 방식의 IRM-9600R 2 종류가있다. MCU 의내장된 UART 나 SCC(Serial Communication Controller) 등과같이 IRM 모델과연결하여사용하는경우에는데이터통신선과전원만을연결시켜주면되고, PC 의 COM Port 이용시 RS-232 I/F 모델을사용하면편리하다. PC (COM Port) TxD RxD GND RxD TxD IRM9600R (IR Modem) MCU/UART TxD RxD GND RxD IRM-9600T TxD (IR Modem) Figure 3.IRM-9600 I/F Example - 5 -
4. Scrambler & Descrambler 기능 송신데이터의연속된 Low 나 High Serial 데이터가입력이되어도연속된 Low 나 high 데이터가생성이되지않도록 Scrambler 기능을내장하고있어, 부가적인 Manchester coding 회로나 S/W 적으로 Bit coding 이나 Byte coding 이필요가없어, UART Serial 데이터를직접연결시켜주면된다. 변환된데이터는수신시에 Descrambler 에서원래의데이터로복원되어출력된다. Figure 4. Scrambler Circuit(scrambling polynomial is 1 + X^12 + X^17) 5. NRZI 변환기 NRZI 변환기는모뎀설계시위상반전에따른데이터의반전문제가생기는것을방지해준다. NRZ 신호를 NRZI 로변화시켜주는기능과 NRZI 신호를 NRZ 로복원해주는기능을 내장하고있다. NRZI 는데이터의변화가있는경우 Low 로인식을하고데이터의변화가 없을경우 High 로인식을한다. Figure 5. Data Encoding Methods - 6 -
6. 자동모드전환 IRM 은 Half Duplex 로운용되며, 데이터를송신하는송신모드 (TxMode) 와데이터를수신하는수신모드 (RxMode) 가있다. 이모드의전환은송신기의내부에서자동으로제어가되고있어사용자가별도의회로나프로그램에서제어를해줄필요는없고, RxD LED 상태로현재의모드를확인할수있다. RxD LED 가 Off 이면수신모드이고, On 이면송신모드를나타낸다. 수신모드에서 RxD 라인의변화가있으면자동으로송신모드로전환되고, 데이터 입력라인 (RxD) 이 Idle 상태가 (High 나 Low) 16bit 이상연속해서입력이되면모뎀은데이터를수신하는모드로자동전환된다. Packet 의전송중에송신모드에서수신모드로잘못전환이되지않도록전송할데이터의 Byte 와 Byte 사이에 Gap 이있으면안된다. 가능하면데이터전송을인터럽트방식을사용하는것이바람직하다. CH1:RxD CH2:bRxLED CH3:PWM Out RxMode RxMode TxMode TxMode Rx Mode Tx Mode Tx Mode Rx Mode Figure 6. Automatic Mode Control - 7 -
7. PWM 변복조파형데이터의변조는 1 비트를 32 개의 PWM 신호로변조되어전송이되며, 수신시는 PIN Diode 로입력된 PWM 신호를 Preamplifier 와 3nd LPF 를통해서출력된 AF 신호를 Digital Data Slicer, NRZI Decoder 와 Descambler 에서데이터를복조하여 TxD 로데이터를출력한다. 아래의파형은 MODEM1 에서 1 Packet 을전송하고, MODEM2 에서데이터를수신하는과정에서의 MODEM1&2 의신호파형이다. CH1: PWM Out(MODEM1) CH2: AF Signal(MODEM2) CH3: TxD(MODEM2) CH1: PWM Out(Modem1) CH2: AF Signal(Modem2) CH3: TxD (Modem2) Figure 7. PWM Pulse & Received Data - 8 -
8. Digital Data Slicer 수신기에서무엇보다중요한회로가 Data Slicer 회로이다. 일반적으로비용절감차원에서 Data Slicer 는 AF 신호의자체바이어스와비교기를사용해서데이터를출력을하는방식을많이사용하고있다. 그러나 IRM 모델의 Digital Data Slicer 기능은 Bit Sampler 에서데이터의변화와 BRG(Baud Rate Generator) Clock(64X) 으로 DPLL Clock 을생성하고. 1bit 데이터는내부에서 SampleClk 에의해서 Sample1~3 신호를생성후샘플링된데이터에서 2번이상샘플링된데이터 DpllData 를생성하여 NRZI Encode 와 Descrambler 에서사용이되고, DPLL Clock(1X) 에동기된수신데이터가 TxD 로출력이된다. 그림에서 ACO 는기준전압과 AF 신호의비교기출력값이며, 실제데이터의출력은 1.5Bit 지연이되어 TxD Line 으로출력이된다. Digital Data Slicer 의장점은 AF 신호의 DC 바이어스와위상노이즈에따른문제를보정해데이터의수신율을향상시켜주며, 데이터의출력이송수신속도에정확히맞추어출력되는장점이있다.(Figure 7. 참조 ) ACO 1 0 1 1 DpllClk SampleClk Sample1 Sample2 Sample3 DpllData Figure 8. Digital Data Slicer & DPLL Signals - 9 -
9. Serial Communication Protocol(Example) 데이터의수신은 Descrambler 의 17bit 와 UART 의 Start Bit 을정확히인식하기전까지는부정확한데이터가출력이됨으로송신시사용자데이터앞에최소 30bit 이상의 Preamble 데이터를부가적으로전송을해주어야정확한데이터를수신할수가있다. 그리고사용자데이터는 Packet 화하여전송해주는것이좋으며, 데이터의정합을확인하기위한 CRC-16 데이터를사용하는것이좋다. Preamble 0xFF 데이터를최소 3Bytes 수신기의안정적인동작을위해서는 User Packet DA SA FT INFO CRC-16 7Bytes 을사용하기를권장한다. Table 2. Packet Example DA: Destination Address SA: Source Address FT: Frame Type INFO: data CRC-16: 16bit CRC 데이터 9.1. 데이터 Packet 화방법 (RFC-1055) 일반적인 UART 데이터는 Packet 의시작과끝을알수없다. RFC-1055(SLIP Protocol) 은이런데이터를 Packet 화하는방법을제시하고있다. RFC-1055 문서를간략하게설명을하면 Packet 의시작과끝은 16 진수 0xC0(FEND) 을사용하고 User data 의 0xC0 는 0xDB(FESC) 와 0xDC(TFEND) 로변환해서전송을하고, 0xDB(FESC) 는 0xDB(FESC) 와 0xDD(TFESC) 로변환해서전송을하고수신하는쪽에는반대의동작을수행하는것으로정의하고있다. SLIP 프로토콜을사용하면사용자데이터가 Packet 화되어데이터처리가용이하다. 보다자세한것은 RFC-1055 문서와 GMSKTest 프로그램의 SLIP.C 와 SLIP.H 프로그램소스코드를참조하기를바란다. - 10 -
10. IRM-9600x 테스트적외선모뎀의정상적인동작확인과테스트를위해서제공하는 GMSKtest.exe 프로그램을 PC COM port 나 USB-Serial 변환기를모뎀과연결하여테스트해볼수있다. GMSKtest.exe 를실행시키면아래와같은윈도우가나타난다. Figure 9 GMSKtest 초기화면 우선화면의좌측하단의 Port Setting 명령버튼을마우스로클릭하여 Serial port 를설정하는 화면이나오면, 모뎀과연결된 COM Port, Baud Rate, Data Bits 등을선택후 Ok 버튼을 Click 하면 Port Information Window 에설정된상태가디스플레이된다. Figure 10. Serial Port Setting Window - 11 -
Figure 11.Preamble Byte 수선택 Group Box Port 설정을끝낸후메인화면의하단중앙의 Preamble Group Box 내의 - 명령버튼과 + 명령버튼을이용하여 Preamble Byte 개수를 3 ~ 10 Byte 로설정할수있으며, 안정적인 동작을위해서는 5 Byte 이상을사용하는것이좋다. 디폴트값은 7 Byte 로되어있다. Figure 12. GMSKtest.exe Window 메인화면의좌측하단의 Tx Test(Run/Stop) 명령버튼은토글형태로되어있어 (Run) 으로표시되어있는경우는테스트를멈춘상태이고, (Stop) 으로표시된상태는테스트를진행중인상태를나타낸다. 테스트가진행중인경우에무작위데이터를비주기적으로데이터를연속적으로보내는테스트를진행하여송신된 Packet 의개수와수신된 Packet 의개수를서로비교하여성능을확인할수있다. 송수신된개수는 Clear 명령버튼을 Click 하면 0 으로초기화된다. Send One Packet 명령버튼은마우스로클릭할때마다한개의데이터를전송한다. Data Transmitted 와 Data Received 윈도우에는송, 수신데이터의 16 진수값이화면에디스플레이된다. - 12 -