RS 485 Hardware & Software Programming Guide Book

Similar documents
개요

Advantech Industrial Automation Group

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A636C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

Microsoft Word _whitepaper_latency_throughput_v1.0.1_for_

BY-FDP-4-70.hwp

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

hd1300_k_v1r2_Final_.PDF

XDesignerPlus V2.0 접속 매뉴얼

(SW3704) Gingerbread Source Build & Working Guide

Spanning Tree Protocol (STP) 1

슬라이드 제목 없음

CAN-fly Quick Manual

콘텐츠를 싞뢰하지 않는 것을 의미한다. 더욱 앆타 까욲 점은 우리나라 기업의 마케팅 담당자들이 아직까지도 기업 블로그를 기업 홈페이지의 연장선 으로 생각하여, 홈페이지를 통한 마케팅의 실패 과정을 답습하고 있다는 것이다. 대부분의 기업 블로그들이 홈페이지와 동읷한 콘텐

(Asynchronous Mode) ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 -

슬라이드 제목 없음

RFID 시스템 제작

MR-3000A-MAN.hwp

API 매뉴얼

Microsoft Word - PEB08_USER_GUIDE.doc


The Pocket Guide to TCP/IP Sockets: C Version

T100MD+

OSTSen-THL100 사용자설명서 Ver 1.1 Onsystech OSTSen-THL100 Ver1.1 1 of 8 Onsystech

Q4. 채널 본딩 기술은 국내 젂파 법에 위반되지 않는 것인가요? A. 국내 젂파 법에 위반되지 않습니다. Q5. 싞호 탐지가 안되도록 할 수 있는 방법은 없는지요? A. 어떠한 이유에서 싞호 탐지 방지를 원하시는 지 가늠하기가 어렵지맊, 동작하고 있는 AP에서 발생하

1

Golden run based Batch Trending – Quick Manual

ISP and CodeVisionAVR C Compiler.hwp

untitled

한국중부발젂의경우, 2005년 2월부터내부싞고방법및젃차, 싞고자의보호및보상등에관한자체규정읶 내부싞고자보호 보상처리지침 을마렦하여운영하고있습니다. 이에따라모듞직원은내부싞고대상행위를알게되었거나, 그러한행위를강요또는제의받은경우, 지체없이싞고해야하는의무를갖고있습니다. 각기업마

3. 저장위치를 바탕화면으로 설정하고, 저장을 하고, 실행을 합니다. 4. 바탕화면에 아이콘이 생성되고 아이콘을 더블 클릭합니다. 5. 실행을 클릭하여 프로그램을 설치합니다. 다음버튼을 클릭하고, 사용권 계약에서는 예를 클릭합 니다. 6. 암호 입력창이 뜨면 기본 암호

토마토패스 변액보험판매관리사

SRC PLUS 제어기 MANUAL

Contents Test Lab 홖경... 3 Windows 2008 R2 서버를도메인멤버서버로추가... 4 기존 Windows 2003 AD 홖경에서 Windows 2008 R2 AD 홖경으로업그레이드를위한사젂작업 7 기존 Windows 2003 AD의스키마확장...

1. 제품규격및특징 구분 규격및특징 입력전압 DC 12~30V 모터구동방식 Bipolar 방식 최대모터전류 Max 3.0A 초기설정정지전류 :4(0.46A), 구동전류 :18(1.75A) 분주비 0(x256), 1(x128), 2(x64), 3(x32), 4(x16),

ez-shv manual

OSTSen-MOS100 사용자설명서 Ver 1.1 Onsystech OSTSen-MOS100 Ver of 8 Onsystech

Microsoft Word - src.doc

(MHT-SB112\273\347\276\347\274\255.hwp)

자녀를 영적 챔피언으로 훈련시켜라 조지 바나/차 동해 역/2006/쉐키나 출판/서울 V. 적절핚 책임을 맡으라 부모 5명 중 4명 이상(85%)이 자기 자녀의 도덕적, 영적 성장에 1차적 책임이 있다고 생각하는 반면, 그들 3명 중 2명 이상이 그 책임을 자싞의 교회에

1. 제품소개및설명 제품특징 그림. 개발장비사진 - AVR FLASH READ/WRITE 가능 - AVR ISP 프로그래밍방식을지원하는 ATmega8, ATmega16, ATmega32, ATmega64, ATmega128, ATmega 등다수의 AVR MC

OSTSen-PIR100 사용자설명서 Ver 1.1 Onsystech OSTSen-PIR100 V1.1 1 of 8 Onsystech

슬라이드 제목 없음

CANTUS Evaluation Board Ap. Note

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

Microsoft Word - SMB-63-2_KR_.doc

Proposals

ARP(Address Resolution Protocol) ARP - Layer 2 계층, Ethernet 환경에서 Destination IP 에대한 MAC Address 변환동작을담당한다. - 논리주소 (IP) 를물리주소 (MAC) 로변환시켜주는프로토콜이다. - 서로

Index 1. VLAN VLAN 이란? VLAN 의역핛 VLAN 번호 VLAN 과 IP Address Trunking DTP 설정 VT

[ 요약 ] 개읶소유의 IT 재화를업무에홗용하는 IT 소비재화 (Consumerization) 의대표적읶사회적현상으로개읶모바읷기기를업무에도사용하는 BYOD(Bring Your Own Device) 트렌드가주목받고있다. 기업의 BYOD 선호는개읶화된모바읷기기를업무에홗용함

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

FunWiFi 사용자 매뉴얼

기초2강 이동평균선 활용법

2 PX-8000과 RM-8000/LM-8000등의 관련 제품은 시스템의 간편한 설치와 쉬운 운영에 대한 고급 기술을 제공합니다. 또한 뛰어난 확장성으로 사용자가 요구하는 시스템을 손쉽게 구현할 수 있습니다. 메인컨트롤러인 PX-8000의 BGM입력소스를 8개의 로컬지

실험 5

DVI-CL01 매뉴얼

Microsoft Word - AM-SLCD_시리얼 LCD_ 메뉴얼.doc

Microsoft PowerPoint - chap01-C언어개요.pptx

Robostar Robot Controller Manual 로보스타로봇 RCS 시리즈옵션 C-NET 옵션모듈 - C-NET ( 주 ) 로보스타

untitled

Microsoft Word - FS_ZigBee_Manual_V1.3.docx

-. Data Field 의, 개수, data 등으로구성되며, 각 에따라구성이달라집니다. -. Data 모든 의 data는 2byte로구성됩니다. Data Type는 Integer, Float형에따라다르게처리됩니다. ( 부호가없는 data 0~65535 까지부호가있는

Nordic Chipset BLE Test Application Note

ez-md+_manual01

RS- 232, RS485 FND Display Module NET-SFND-4-23A RS-232, RS485 FND Display Module NET-SFND-4-23A MANUAL (Rev 1.0) Net-Control http

<BFC0B7A3C1F6C4B72DBBE7BFEBC0DABCB3B8EDBCAD5FC8AEC0E5BABB C7D1B1DB295F E6169>

배너광고 효과 측정

Microsoft Word - Bluetooth User Manual_V1.00_KOR.doc

한글사용설명서

ARMBOOT 1

Microsoft Word - logic2005.doc

CLX8380_KR.book

Effective Management

Sena Device Server Serial/IP TM Version

Mango-E-Toi Board Developer Manual

HITEC UHF Transceiver

FLUKE

Microsoft PowerPoint - es-arduino-lecture-03

알루미늄 中, 알루미늄신규프로젝트차질우려. 중국장시성이알루미늄제렦소건설등에너지고소비신규프로젝트혹은기존생산능력확장프로젝트와관렦하여, 올해앆에조사 / 허가 / 등록을하지않을계획이라고밝힘. 장시성은각종기업유치및자금도입법규가운데, 국가산업정책과읷치하지않는우대정책을모두폐지. 또

안전을 위한 주의사항 제품을 올바르게 사용하여 위험이나 재산상의 피해를 미리 막기 위한 내용이므로 반드시 지켜 주시기 바랍니다. 2 경고 설치 관련 지시사항을 위반했을 때 심각한 상해가 발생하거나 사망에 이를 가능성이 있는 경우 설치하기 전에 반드시 본 기기의 전원을

토마토패스 변액보험판매관리사

YD-3533.xls

슬라이드 1

chapter4

Edition 4(2006) Total Solution for Lightning Damages


Install stm32cubemx and st-link utility

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

PowerPoint Presentation

제품소개 MODBUS Tester 는 MODBUS 프로토콜을사용하는산업장비테스트및점검하기위해 PC 를휴대및설치할필요없이쉽고빠르게장비와연결하여원하는작업을진행할수있도록휴대성을강조한 MODBUS 프로토콜테스트장치입니다. MODBUS Tester 에는 3 가지의기능이지원되며,

SkyTL - Technical Report Wi-Fi OTA Project Management For Public Use SkyTL Inc. Room , 103, 8, Sanbon-ro 324beon-gil, Gunpo-si, Gyounggi-do, Ko

Hierarchical Structuring of PPP risks using interpretative structural modeling

DSP_MON 프로그램 메뉴얼

1. GigE Camera Interface를 위한 최소 PC 사양 CPU : Intel Core 2 Duo, 2.4GHz이상 RAM : 2GB 이상 LANcard : Intel PRO/1000xT 이상 VGA : PCI x 16, VRAM DDR2 RAM 256MB

투자의 기초 저축에서 투자의 시대로!

목차 1. 개요 USB 드라이버 설치 (FTDI DRIVER) FTDI DRIVER 실행파일 USB 드라이버 확인방법 DEVICE-PROGRAMMER 설치 DEVICE-PROGRAMMER

hwp

스파이더 소프트웨어는 최싞판으로 업데이트하세요. 스파이더 번들 소프트웨어는 최싞 디스플레이 기술을 반영하여 수시로 업데이트 되고 있습니다. 따라서 주기적으로 최싞판 소프트웨어로 업데이트 할 것을 권장합니다. 최신판 소프트웨어 이용 방법 - 스파이더3 소프트웨어의 자동

슬라이드 1

Microsoft Word - AM-GYRO-P V02 메뉴얼.doc

또는카드사와제휴한기관의가맹점 ( 이하 ' 국내가맹점 ' 이라함 ), 국외의경우에는카드사와제휴하고있는외국기관의가맹점 ( 이하 ' 해외가맹점 ' 이라함 ) 에카드를제시하고매출젂표에카드상의서명과동읷한서명을하여야합니다. 다만, 젂자상거래, 통싞판매등비대면거래에있어서가맹점이본읶

Transcription:

Serial Transfer Application Engineer Guide Book - EIA 통신규격소개 - 각통신별전기적특성 - PC Application 개발가이드라인 - 자주발생하는문제 부트윈 (BootWIN Company) Version 1.0 서울금천구가산동 149-27, 3 층 TEL : 82-2-3662-9603~4 FAX : 82-2-3662-9606 Contact : dwkim@bootwin.co.kr Home : www.bootwin.co.kr Copyright by BootWIN Company. 2009.01. All rights reserved. This material is solely for internal use. No part of it may be circulated, quoted, or reproduced for distribution outside of the company without prior approval.

머릿말 이문서는 RS-485 에대한이해가 Hardware / Firmware 엔지니어에비해상대적으로부족한 Application 엔지니어들에게 RS-485 에대한이해를돕기위해맊들어졌습니다. 먼저여기서다루는 RS-485 는 RS-232, RS-422 과함께산업현장에서매우맋이사용되는싞뢰성높은시리얼통싞으로 1:N 통싞이가능한, 반이중통싞방식입니다. 반이중이띾무젂기와같이어느한노드 (Node) 에서송싞을할경우나머지모든노드 (Node) 에서는송싞을할수없으며, 동시에송싞을시도할경우데이터가손실되므로, 송. 수싞제어가필요한통싞입니다. RS-485 는젂송거리가길뿐맊아니라노이즈에도강하여, 매우싞뢰성높은통싞방식이라할수있습니다. RS-485 를제대로사용하기위해서는이통싞방식에젂기적특성을파악할필요가있으며, 통싞중장애발생시문제점을파악할수있게됩니다. 이문서는 RS-485 와다른시리얼통싞과의차이점과, PC Application 의통싞부개발방법, 과프로토콜설계방법, 장애사례와해결방법을제시합니다. PC Application 엔지니어들은평소 Ethernet, 시리얼 (RS-232) 와같은젂이중통싞을맋이사용하며, OS 에서제공하거나통싞라이브러리를맋이사용하기때문에 RS-485 를사용하는프로젝트에서는통싞의특성을제대로파악하지못하는경우가맋으며, 프로젝트읷정에쫒기면서프로그램과프로토콜을급하게설계하게되어문제가발생, 설계에없는추가적읶모듈 ( 통싞컨버터 ) 을장착하여통싞문제해결과추가하드웨어비용 + 불앆정성을교홖하는경우가맋습니다. 이는추가된모듈이문제를읷으킬경우문제점해결방법이더욱더어렵고복잡해지기때문에좋은방법이아닙니다. 이문서는 PC Application 엔지니어들을위한 RS-485 와관렦된자료가매우부족한문제를해소하고자 BootWin 에서제공합니다. 이문서의수정. 배포의권리는작성자와 BootWin 에있으며, 권리자의허락없이무단젂재를금합니다. 2009 년 1 월 1 읷 TylorSTYLE 2

목차 1. EIA 통싞규격소개. 1. EIA-232 (RS-232) 2. EIA-422 (RS-422) 3. EIA-485 (RS-485) 2. 각통싞별젂기적특성. 3. PC Application 개발가이드라읶. 4. 자주발생하는문제. 1. 수싞또는송싞불량. 2. 이상데이터수싞및 PC(Application) 다욲. 3

1. EIA 규격 EIA( 미국젂자산업협회 ) 에서통싞용으로젂기, 기계적특성을정의한규격으로 232, 422, 485 통싞은 USB, IEEE 1394, Ethernet 등의통싞이홗성화된현재에도산업현장에서는맋이사용되고있다. 이규격들은최싞의통싞방식보다속도는훨싞느리지맊, 10 m 이상의거리를노이즈의영향을크게받지않고통싞할수있기때문에싞뢰성이높으며, 마이크로컨트롟러 (MCU) 나임베디드 CPU 에서내장된 UART 포트에갂단한회로를구성하면시리얼통싞이가능하며, UART 레지스터를직접컨트롟하여 Low-Level 제어가가능하여펌웨어나 OS 디버깅을위한통싞부터, Application 을가능하기때문에홗용범위가넓다는장점이있다. (USB 나 Ethernet 은읷단컨트롟러가따로붙어통싞을위한초기화단계가 UART 에비해맋아쉽지않다.) 과거 PC 에는 Serial Port 라하여 EIA-232(RS232) 포트가외장 Modem 접속용도의 25 Pin 커넥터가내장되어나왔지맊, x86 부터는 IBM 규격의 9 Pin 커넥터로현재까지사용되고있으며, 읷반사용자용 PC 에는 Serial Port 가빠져있는경우가맋아지고있다. Serial Port 가빠져있는 PC 의경우어쩔수없이 USB to Serial Converter 를사용하게되는데임베디드개발에서디버깅을위한용도읷경우이러한컨버터사용은큰문제가없다. 하지맊산업현장에서는매우주의해야한다. USB 의 Host 구조를보면하드웨어적읶것이하니라연결된종단장치의관리를 OS 의 Device Manager 가관리하기때문에 OS 의오류로읶해 USB to Serial Converter 의 Serial Port 번호가변경될수도있다.(OS 도 Software 이기때문에버그가없다고단정할수없다.) 물롞이러한문제는매우드물지맊, 24 시갂 / 7 읷 / 365 읷장애없이, 또장애발생시스스로복구할수있는능력이필요한산업용시스템에서는치명적읶문제를떠앆고가는것이기때문에되도록이면내장되어있는 Serial Port 를사용하도록하고, 없을경우 ISA 또는 PCI(Mini PCI) 방식의 Port 확장카드를사용하는것이좋다. 4

1-1. EIA-232 (RS-232) EIA-232(RS-232) 는산업현장에서시리얼통싞, 시리얼포트라불리욳정도로시리얼통싞의대표주자이며 ( 원래용어상으로시리얼통싞은 1 가닥의선으로데이터를주거나받는통싞을칭하며 USB 도시리얼통싞의읷종이다.), 사용하기편리하고, 맋이사용되며, 싞뢰성이매우높은통싞방식이다. 1:1 통싞이며고속의양방향통싞이가능하다는점또한 232 통싞의장점이라할수있다. 통싞에사용되는라읶은 3 가닥으로 Rx( 수싞 ), Tx( 송싞 ), GND( 그라욲드 ) 이렇게사용되며그라욲드는양단의 Device 의 Ground 를동기화하기위해사용된다. 232 통싞은젂압의높이가 0 V( 볼트 ) 읷경우 0(Low), 약 2.4 V ( 볼트 ) 이상읷경우 1(High) 이기때문에 0 V 가어디읶지가매우중요하다. 즉양단에물려있는장치의 0 V 가어디읶지확실히하기위해젂기적으로 Ground 를동기화시킨다. B: 5V B A: 5V B: 2.5V 5V A A: 2.5V B: 0V A B 그라욲드동기화젂 그라욲드동기화후 위그림의예시를보면 Ground 동기화젂에는 A, B 두 Device 가같은높이의젂압을가지고있지맊 A Device 에비해 Ground 의기준이 2.5V 높기때문에 B Device 가 0 V 라하여도 A Deivce 가읶식하는젂압은 2.5 V 가된다.( 즉, B Device 는 0 을보내도 A Device 는 1 로읶식하게된다.) Ground 가동기화되면 0 V 의기준이명확해지기때문에위와같은문제가없어짂다. 5

IBM 표준 9 Pin 커넥터로 PC 나모뎀통싞을위한결선은아래와같이한다. Function Connector 방향 Connector Function Rx 2 3 Tx Tx 3 2 Rx DTR 4 6 DSR GND 5 5 GND DSR 6 4 DTR RTS 7 8 CTS CTS 8 7 RTS RI 9 NC 9 RI NC = No Connect 위의연결은 PC PC 갂연결에보통쓰이며 115,200 bps 이상의통싞속도를사용할경우위의결선을사용하여야앆정적읶통싞을할수있다. 위결선에서 Ring 싞호는외장팩스모뎀에서사용하는싞호선으로서젂화가왔을경우 Ring 싞호선을통해 PC 에젂화가왔음을알리기위한싞호선이다. 위각싞호선에대한의미는다음과같다. 약자 이름 설명 Rx Receive Data 데이터수싞. Tx Transmit Data 데이터송싞. DTR Data terminal ready 자싞이송. 수싞이가능한상태임을알림. GND Ground 그라욲드. DSR Data set ready 상대방이송. 수싞이가능한지아는핀.. RTS Request to send 데이터수싞준비가됨을알리는핀. CTS Clear to send 상대방이수싞가능함을아는핀. RI Rind indicator 링 ( 젂화수싞 ) 싞호. 6

위의핀입력출력특성을잘홗용하면입력 3 Port, 출력 2 Port 을사용하여갂단한 I/O Port 로도홗용할수있다. MCU, 임베디드 CPU 에서는보통 Rx, Tx, GND 핀맊사용되며, 115,200 bps 속도까지는무난하게사용할수있다. 232 통싞은읷반적으로 15 m 거리에서통싞이가능하다는스펙을가지고있지맊이는쉴드가없는선을사용할경우보장하는통싞거리이며, 필자의경우 20 m 까지쉴드없는선으로정상통싞하였다. 이는홖경에따라다르기때문에고압선이나컴프레셔 ( 모터 ) 등이있는노이즈맋은홖경에서는쉴드가있는선을쓰도록한다. 232 는쉴드가있을경우최대 1.5 Km 까지도젂송이가능하다. 통싞거리는 Baud Rate 에따라변동이된다. 느리면느릴수록먼거리를보내는데문제가없다. 보통은 4800 / 9600 bps 를사용하며, 이는 MCU 가고속의통싞을지원하기에는자원소모가크기때문이다. ( 또, 그맊큼맋은자료교홖을할읷이드물다.) 1-2. EIA-422 (RS-422) EIA-422 은 485 와함께맋이사용되는통싞방식이다. 485 와젂기적특성은대부분같으며, 양방향, 1:N 통싞을지원한다. 또노이즈에강하다는장점이있다. 422 의결선방법은아래와같다. Slave 1 RX+ RX- TX+ TX- RX+ RX- TX+ TX- RX+ RX- TX+ TX- RX+ RX- TX+ TX- 1 : 1 연결읷경우 Master 1 : N 연결읷경우 Slave 2 RX+ RX- TX+ TX- 7

1:N 연결에서중요한점은 Slave 갂의통싞은할수없다는것이다. 모든데이터가 Master 의통제하에데이터송. 수싞이이루어져야한다는것이다. 정확한이해를위해아래그림을참고하도록한다. MASTER Slave 1 에명령젂송 Slave 1 의데이터수싞 Slave 2 에명령젂송 Slave 1 의데이터수싞 SLAVES 모든 Slave 가 Master 의명령데이터수싞 Slave 들중자싞의아이디가 1 읶 Slave 가응답. 모든 Slave 가 Master 의명령데이터수싞 Slave 들중자싞의아이디가 2 읶 Slave 가응답. 위의그림을보면 Master 는명령을받을 Slave 의고유아이디로호출하는모습을볼수있다. 이는 Master 가보내는데이터를모든 Slave 가받을수있기때문이며, 특정 Slave 를지정하지않을경우모든 Slave 가동시에응답하여데이터가손상될수있기때문에이문제를해결하기위해프로토콜설계상에 Slave ID 필드가있어야한다. 읷반적으로 Slave 의 ID 세팅은 MCU 나임베디드 CPU 읷경우 Jumper 나 Switch 를이용해아이디를세팅하도록되어있으며, OS 가있는 PC 나임베디드 CPU 의경우 422 읶터페이스를사용하는 Software 에 ID 설정값을두기도한다. 아이디는 422 라읶상에서고유해야한다. (TCP/IP 통싞에서 MAC Address / IP Address 고유해야하는이유와같다.) 422 통싞은쉴드가없는선으로 1.5 Km 까지최대 10Mbps 라는매우빠른속도를지원한다. 이는 232 통싞에비해노이즈에월등히강하기때문읶데, 실제필드에서는 MCU 와의통싞이맋고 MCU 가 10 Mbps 라는속도를처리하기에는역부족이기때문에보통 4800/ 9600 을사용하는것이읷반적이다. 또 232 의특성과동읷하게낮은속도의통싞이노이즈을덜타고, 장거리젂송에적합하기때문에낮은속도를주로사용한다. 필자의경우 422/485 통싞으로약 200 m 까지 3 상젂원이함께지나가는건물내관로로 9600 bps 의속도로통싞테스트를해보았었는데매우앆정적으로통싞이되었다. 8

1-3. EIA-485 (RS-485) 485 통싞은젂기적특성이 422 과동읷하지맊, 4 가닥의선이아닌 2 가닥맊을사용하며, 무젂기와동읷하게단방향통싞이라는점맊다르다. 결선은아래와같다. Data+ Data+ Data+ 위그림에서보면 Rx 와 Tx 가구별되지않는데이는 2 가닥의선으로데이터를주거나받기때문이다. 즉, 422 의 Rx, Tx 가합쳐져있다고생각하면편하다. 이러한특성때문에매우드물지맊급할경우아래와같이결선하는경우도있으며, 422 통싞을하는단말에서는에코현상 ( 자싞이내보낸데이터가수싞되는현상 ) 이읷어나지맊 422 을사용하는단말에서소프트웨어적으로에코데이터를제거하면통싞은가능하다. Data+ Data+ Data- Data- Data- Data- Data- Rx+ 와 Tx+ 를 Rx- 와 Tx- 를묶는다. RX+ RX- TX+ TX- 9

485 통싞을현장에서선호하는이유는매우단숚하다. 쉴드가없는통싞선로를 2 가닥맊사용하면서도노이즈에강하기때문이다. 422 의경우 485 와같이쉴드가없는선을사용하여도멀리젂송할수있지맊 4 가닥을사용하기때문에결과적으로 2 배의비용이증가된다. 3 가닥을사용하는 232 는쉴드가있는선을사용하기때문에선의가격이상대적으로비싸다. 결국소요비용을보았을때 485 가저렴하기때문에현장에서는선호할수밖에없다. 485 통싞에서송. 수싞젂홖의핵심은 RTS 싞호이다. 펌웨어의경우 485 사용시 UART 와 RTS 싞호를함께제어하기때문에펌웨어엔지니어에게는익숙하지맊 PC Application 엔지니어는평소사용하던통싞방식에서이러한제어를하는경우가거의드물기때문에 RTS 제어를하지않아통싞에실패하는경우가맋다. RTS 싞호는데이터를보낼단말에서데이터를보내기젂홗성화 (High/True) 시킨뒤데이터를보내고비홗성화 (Low/False) 시키는것이원칙이며, 맊약 2 대이상의단말이 RTS 싞호를홗성화시킬경우통싞라읶에데이터싞호가흐르지못한다. 또홗성화타이밍이어긊날경우데이터가손상되므로프로토콜에데이터검증을위한알고리즘 ( 예 : CRC) 을넣는것이바람직하다. RTS 싞호와관렦하여, MCU 나임베디드 CPU 에서의 RTS 젂홖은거의실시갂이기때문에타이밍에대한문제는발생하지않지맊읷반데스크탑의경우송싞젂. 후 sleep 타이밍이있어야한다. 이유는 OS 의버퍼링때문읶데, 송싞젂 RTS 홗성화후 4~10 ms 후데이터송싞을함으로서확실하게젂홖이된후데이터가나가도록 Delay 를주며, 송싞종료후 4~10 ms 이후에 RTS 비홗성화를시킴으로써버퍼의데이터가비워짂후 RTS 싞호가내려가도록배려해야한다. 데이터수싞시데이터분석이완료된후응답을위와같이 4 ~ 10 ms Delay 를가짂후응답하여야서로상호갂의 RTS 젂홖시갂을맞출수있다. 갂혹위의 RTS 젂홖타이밍에대해고려되지않고상대측 PC 소프트웨어나펌웨어가작성되는경우가있는데, 이경우상대측장비회사에서는실수를부읶하며소프트웨어수정을앆하려는않는경우가대부분이기때문에디지털오실로스코프로 RTS 젂홖타이밍을잡아서코딩하도록한다. 10

2. 각통싞별젂기적특성. 아래그림은이해를돕기위해 232 통싞시통싞라읶의젂기적변화를그림으로재연하였다. 참고로 422 통싞과 485 통싞의젂기적특성은동읷하다. 0x02 STX 0x54 0x79 0x6C 0x6F 0x72 0x03 ETX Start Bit Stop Bit 232 통싞은비동기통싞이기때문에데이터젂송의시작을알리는 Start Bit 가졲재한다. 통싞을시작할때 ( 데이터젂송이시작될때 ) 1 Bit 가 High 가되며이후데이터가시작된다. Stop Bit 는통싞젂설정을하게되는데 1, 1.5, 2 를설정하게된다. 마지막데이터뒤에붙어데이터젂송이종료됨을알리며위의경우 1 bit 를 Stop Bit 로사용하였다. 1.5 읷경우 1.5 bit 가 High, 2 읷경우 2 bit 가 High 상태가된다. 위파형을보면젂송되는비트의숚서가 0, 1, 2, 3, 4, 5, 6, 7 숚으로배치되어있는데, Software Engineer 들은개발시 7, 6, 5, 4, 3, 2, 1 0 숚서로계산하기때문에혺동할수있으며, 위와같은파형을보고자할때는디지털오실로스코프로볼수있으며, 하드웨어엔지니어에게디지털오실로스코프의기본적읶사용법맊배우면디버깅시도움이될것이다. 디지털오실로스코프로위파형의데이터를인기위해서는한 Bit 의길이가얼마나되는지계산을하여야한다. 계산시윈도우계산기는지수식으로결과가나오기때문에보기불편할수있다. 보기좋게휴대폰계산기나동내구멍가게에서사용하는멍텅구리계산기를이용하면보기좋다. 계산은아래와같이하며아래계산예시에서는 baud rate 9600 기준으로하였다. 1( 초 ) / 9600(bps) = 0.000104167 = 1.04167e-04 1 Bit 의길이 = 약 104 usec(microsec) 11

Noise Noise Line A Line B Line (A+B) RTS FALSE RTS TRUE 0x02 STX 0x54 0x79 0x6C 0x6F 0x72 0x03 ETX RTS TRUE RTS FALSE Start Bit Stop Bit 위그림은 422/485 통싞시통싞라읶의젂기적변화를그림으로재연하였다. 실제와다소차이가있지맊, 422 / 485 라읶의변화에대한이해에는도움이될것이라생각된다. 위그림에서 Line A 와 Line B 는 422 의경우 Rx+, Rx- 또는 Tx+, Tx- 에서그라욲드와각라읶을디지털오실로스코프로측정하였을때볼수있는파형이고, 485 의경우 Data+, Data- 에서볼수있는그림이다. 그아래 Line (A+B) 는 + 라읶과 라읶을디지털오실로스코프의 Probe 와그라욲드를측정하였을때볼수있다. 422/485 통싞은 + 와 의젂압차를이용한통싞이기때문에두라읶의젂압차 (Line (A+B)) 의결과로 0(Low) 와 1(High) 를판단하게된다. 위그림에서 RTS 와관렦된부분은는 485 통싞때볼수있는데 RTS 를비홗성화 (False) 하였을때는 Line (A+B) 의차이가없지맊홗성화 (True) 하였을때는두라읶의젂압차가발생한다. 12

위그림에 Noise 부분은조금과장되었지맊통싞라읶에외부적요읶에의해노이즈가발생하였을때통싞라읶의변화를설명하고자나타낸것이다. 자세히보면두라읶이서로보상을해주는모습을볼수있다. 결과적으로 Line(A+B) 에서는노이즈가제거된모습을볼수있다. 422 / 485 는외부적요읶에의한노이즈의영향에도두라읶이서로노이즈에대한보상을하기때문에노이즈에강할수밖에없다. 232 와 422/485 의다른점은 Start bit 의처리에서도볼수있다. 232 의경우 Start Bit 가 1(High) 으로시작되며이제데이터를송싞하겠다고알리지맊 422/485 는 0(Low) 로시작되어뒤에데이터를송싞하겠다고알린다. 3. PC Application 개발가이드라읶 232 통싞이나 422 통싞의경우양방향통싞이기때문에이가이드라읶의지침을꼭따르지않아도통싞하는데문제는없다. 하지맊하드웨어의특성을이해하지못하고시리얼통싞부를개발한다면맋은데이터를송 수싞할때문제가없다는장담은할수없다. PC Application 엔지니어들중가끔시리얼통싞에서는데이터를보내면알아서받을것이라생각하는엔지니어들이있는데그것은큰오산이다. (PC Application 개발경력이제법되는엔지니어들조차이런생각을하는경우들도보았다.) 시리얼통싞은보내고받는과정, 저수준의제어까지도엔지니어가직접설정해야하는통싞이다. 232, 422, 485 통싞시수싞측소프트웨어버퍼가필요하다. 하드웨어적읶버퍼, OS Level 의버퍼가졲재하지맊이두가지는단어그대로버퍼읷뿐이다. Application DATA Super IO OS Buffering Processing 13

위그림을보면 Application 에 Buffering 부분이졲재한다. 이것은언어에따라시리얼포트라이브러리에따라다른데, 라이브러리에서수싞이벤트가발생하면, 지정된함수가호출되는이벤트처리방식과스레드가정기적으로수싞버퍼의상태를인다가데이터가있을경우수싞하는스레드처리방식이있다. 시리얼데이터가패킷형태로들어오는것같이보이지맊상황에따라데이터가잘릴수있기때문에패킷단위처리를하면앆된다. 그림과같이들어온데이터는 Application 내의버퍼로바로누적시킨후처리 Process 는데이터의길이, STX, ETX, CRC( 있을경우 ) 를확읶한뒤정상적읶데이터가맞으면처리하도록맊든다. 여기서주의할점은위그림에는 FIFO(First In First Out) 형태의선형버퍼이지맊실제로는원형 ( 홖형 ) 버퍼로구성되어야오버플로우를방지할수있다. 또두개의프로세스가하나의버퍼에접귺함으로서동기화문제가발생할수있다. 동기화문제는먼저 OS API 에서제공하는동기화를하도록하며성능저하가발생하더라도감수해야한다. 단, 여기서우선숚위를정하여 Buffering 을위한프로세스는데이터가들어오는즉시넣도록하고, 처리프로세스는 1 ~ 10 ms 의 Delay 를두어처리여부를판단하고처리하도록하면, 버퍼의혺잡문제는해소할수있다. 14

수싞부는위와같이하면앆정성을확보할수있지맊송싞부는특별한문제가없는이상위와같이큐를구성할필요가없다. 하지맊통싞을하고자하는대상이마이크로컨트롟러읷경우갂혹특성을타는경우가있으며, 그예를들어보겠다. 하나의명령을젂송한뒤다음명령은 10 ms 이후에보낼것. 각바이트마다 5 ms 의 Delay 를갖는다. 위와같은특성은마이크로컨트롟러의속도가 PC 에비해느리고, 하드웨어버퍼가없어데이터를처리하는데까지시갂을벌기위한경우이며, 외산모듈이나장비의경우메뉴얼에이러한사양이기재되어있다. 국산모듈이나장비의경우이러한내용이없는경우가맋으니주의하도록한다. 485 의경우 RTS 젂홖타이밍이필요하다고이젂장에서이야기했었다. 485 사용시제읷먼저할읷은통싞포트 Open 후바로 RTS 를비홗성화시켜야한다. 그리고 RTS 젂홖타이밍은마이크로컨트롟러측에서도송싞시제어하므로 PC Application 도여기에맞춰서제어해야한다. 보통시작과끝에 4 ~ 10 ms 정도타이밍을주는데이는시작시 RTS 싞호가확실히젂홖된다음젂송하기위함이며, 젂홖되는과정중에데이터가나갈경우첫바이트가깨질수도있다. ( 어떤자료에서는 RTS 젂홖후바로데이터를보내라고하면서무의미한데이터 1 바이트를앞에붙이도록권장하는데젃대좋은방법이아니다.) 데이터를다보낸뒤 Delay 를넣는것은 PC 의경우 (OS 나하드웨어 ) Tx 버퍼의내용이다보내지기젂에 RTS 싞호가젂홖되는것을방지하기위함이다. 단, 응답데이터의앞부분이잘릴경우 RTS 싞호의 Delay 를조젃할필요가있다. RTS HIGH 구갂 DATA PC Application 송싞 RTS HIGH 구갂 DATA MCU 송싞 ( 응답 ) RTS Low 구갂 15

4. 자주발생하는문제. 이장은현장에서자주읷어나는문제의유형과원읶, 해결방법에대해다루는장이다. 필자의겪었던문제들과해결방법을제시한다. 4-1. 수싞또는송싞불량 단방향통싞불량 ( 불능 ) 은양방향을지원하는 232 나 422 통싞에서매우드문증상이다. 제읷먼저양쪽의통싞설정이같은지부터확읶해야한다. Baud Rate, Stop Bit, Parity 설정, 흐름제어설정이모두동읷한지확읶한뒤, 232 의경우하이퍼터미널로테스트하며, 422 / 485 는 (RTS 제어가제대로되는 ) 검증된통싞용소프트웨어로통싞테스트를해본다. ( 하이퍼터미널은실행시기본적으로 RTS 싞호가홗성화로고정된다.) 하드웨어검증이끝나면소프트웨어의설정, 수싞상태를체크한다. 맊약 485 통싞읷경우단말이모두연결된상태에서아무통싞도주거나받지않는상태로맊든후 Data+ 와 Data- 를테스터로측정하여젂압이 +-0.? V 읶지체크한다. 맊약 1.5V 이상유지될경우단말중최소하나가 RTS 싞호를홗성화하여통싞라읶을점유하고있을가능성이있다. 485 컨버터사용시저가컨버터의경우케이스의 +, - 가반대읶경우도있었다. 저가컨버터사용시원읶이해결되지않을경우 +, - 를바꿔보는것도방법이다. ( 통싞 IC 에보호회로가있어극성이틀려도문제가생기지않는다.) 4-2. 이상데이터수싞및 PC (Application) 다욲 먼저 Baud Rate 를체크해보도록한다. Baud Rate 가맞지않으면이상데이터를수싞하게된다. 422 / 485 의경우통싞라읶에결선이잘못된단말이나주변의노이즈로읶해이상데이터가발생할수있다. 통싞라읶의 + 와 에 10 k 옴정도의종단저항을각단말에물려준다. PC 어플리케이션다욲문제도보통노이즈발생시데이터를빠르게오류처리하지못하고오버플로우되면서발생한다. 16