CHAPTER 2 마이크로컨트롤러구조이해하기 가. ATmega128 기능 나. CRX10 구조

Similar documents
<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202831C1D6C2F72C2032C1D6C2F729>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A636C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

SAT8-10.hwp

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

CAN-fly Quick Manual

[ 마이크로프로세서 1] 1 주차 2 차시. 마이크로프로세서와마이크로컨트롤러발달과정 1 주차 2 차시마이크로프로세서와마이크로컨트롤러발달과정 학습목표 1. 마이크로프로세서발달과정과종류를설명할수있다. 2. 인텔 8051 계열과아트멜 (Atmel) 의특성을설명할수있다. 학습

Microsoft Word - PEB08_USER_GUIDE.doc

정보보안 개론과 실습:네트워크

Dr.Kim ATmega128 Training Kit (SAT ).hwp

Microsoft PowerPoint - avr_lecture1.ppt

Microsoft Word - PLC제어응용-2차시.doc

PowerPoint 프레젠테이션

AVR ATmega128 소개 AVR ATmega128 IT Eng 학습목표 ü 다양한 AVR 패밀리와소자특징을알아보고, 제어환경에따라 AVR 소자를선택하여개발할수있는융통성을이해할수있다. ü ATmega128 내부구조에서메모리공간, I/O 공간의프로그램과데이터를처리하기

M16_32KIT_Manual.hwp

개요

AVR ATmega128 소개 마이크로컨트롤러 AVR ATmega128 저자 : 이상설 소속 : 원광대학교전기 정보통신공학부

[ 마이크로프로세서 1] 1 주차 1 차시. 마이크로프로세서개요 1 주차 1 차시마이크로프로세서개요 학습목표 1. 마이크로프로세서 (Microprocessor) 를설명할수있다. 2. 마이크로컨트롤러를성능에따라분류할수있다. 학습내용 1 : 마이크로프로세서 (Micropr

Microsoft Word - logic2005.doc

인터럽트 (Interrupt) 범용입출력포트에서입출력의내용을처리하기위해매번입출력을요구하는플래그를검사하는일 (Pollong) 에대하여마이크로컨트롤러에게는상당한시간을소비하게만든다. 인터럽트란 CPU가현재처리하고있는일보다급하게처리해야할사건이발생했을때, 현재수행중인일을중단하고

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

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

<4A4B49542D D312DBBE7BFEBC0DABCB3B8EDBCAD2E646F63>

JMOD : ATmega128 기본모듈 사용자설명서 제이씨넷

슬라이드 제목 없음

Microsoft Word - EastSocket매뉴얼_ _.doc

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

API 매뉴얼

마이크로프로세서 개요

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202831C1D6C2F72C2032C1D6C2F729>

À̵¿·Îº¿ÀÇ ÀÎÅͳݱâ¹Ý ¿ø°ÝÁ¦¾î½Ã ½Ã°£Áö¿¬¿¡_.hwp

Microsoft PowerPoint - 제3장 GPIO 입출력 제어 (HBE-MCU-Multi AVR)

ez-md+_manual01

Microsoft Word - MAI-ISP-STK500_매뉴얼_Ver25.docx

뉴티씨 (NEWTC) ATmega8 교육용모듈 (Model : AM-8PL ) 메뉴얼 ( 주 ) 뉴티씨 ( NEWTC ) 1. ATmega8 모듈 (AM-8PL) 소개 ATmega8 칩을

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

untitled

Chapter. 14 DAC 를이용한 LED 밝기제어 HBE-MCU-Multi AVR Jaeheung, Lee

그룹웨어와 XXXXX 제목 예제

고객 카드

Microsoft PowerPoint - 30.ppt [호환 모드]

Microsoft Word - AVRISP mkII 장비 운용.doc

ADP-2480

슬라이드 1

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

11 강 AVR board & download cable 2009 년도 1 학기 센서개론 Mechatronics Lab 센서개론

ez-shv manual

Microsoft Word - AVR Dragon.doc

NERO_M128_V10.opj

歯동작원리.PDF

Microsoft PowerPoint - AVR100%(1).ppt

뉴티씨 (NEWTC) 2. FB-CY4E-DEV (FPGA 개발 키트) 구성도 Port Select SW 7 Segment Text LCD UART RS-232C JTAG PORTA (5V) Active Serial PORTB (5V) OSC. 50MHz Analog

학습목표 2/33 마이크로프로세서와마이크로컨트롤러의차이를알수있다. 마이크로프로세서에서프로그램이수행되기위한명령어형식과명령어실행절차를알수있다. 프로그램을수행하려면어떤종류의명령어가필요한지알수있다. 현대컴퓨터의기본모델인저장형프로그램컴퓨터의한계점과그한계를완화하려는방법을알수있다.

Microsoft PowerPoint - RPino-GOGO_datasheet.pptx

특징 찾아보기 열쇠 없이 문을 열 수 있어요! 비밀번호 및 RF카드로도 문을 열 수 있습니다. 또한 비밀번호가 외부인에게 알려질 위험에 대비, 통제번호까지 입력해 둘 수 있어 더욱 안심하고 사용할 수 있습니다. 나만의 비밀번호 및 RF카드를 가질 수 있어요! 다수의 가

Microsoft PowerPoint - SY-A3PSK-V1.pptx

DVI-CL01 매뉴얼

Status S/N TITLE: Education Rev V0.1 Date 2012 /04/18 Doc LK임베디드 AVR-ATmega2560 확장형개발보드매뉴얼 LK Development Team AVR ATmega2560 확장형개발보드매뉴얼 (P/N: LK-AVR2

MR-3000A-MAN.hwp

2. AVR(ATmega162)의 구조

구성품 - UMD 2808 모듈 - JTAG 커넥터 - 젂원 케이블 주요 특징 모듈의 부품화 : 고신뢰성의 DSP 모듈을 최적화된 시스템에 적용 용이 TMS320F2808 ZGMS - 100MHz 탑재 : 확장된 온도규격 (-40 도 ~ 125 도) 적용 Ultralo

Product Brief Manual

실험 5

½½¶óÀ̵å Á¦¸ñ ¾øÀ½

AVR Atmega128

Microsoft PowerPoint - e2.ppt [호환 모드]

Chapter. 1 마이크로컨트롤러개요 Jaeheung, Lee

USBISP MK2 User Manual Page 2/15 Contents 1. Introduction 3 2. USB DRIVER INSTALL 4 3. CodeVisionAVR C Complier / AVR Studio 6 Programmer 설정하기 6 4. US

정보보안 개론과 실습:네트워크

ATmega128

ZPONZCMGOVQK.hwp

BS-K1217-M□□-3012_ProductGuide_KR_PDF

SMT Kor.indd

Microsoft PowerPoint - AD-USBISP_V03_사용법.pptx

USBISP_V20_manual.hwp

RVC Robot Vaccum Cleaner

Microsoft Word - IRM9600x Spec.doc

RealDSP UT 프로그램 메뉴얼

1. 제품소개 1.1 제품소개 < 그림 1.1> 도트매트릭스모듈 하드웨어제작에소요되는시간을단축시켜프로그래밍연구개발및학습효과를극대화시켜주는 16x16 도트매트릭스모듈입니다. 또한당사 AVR, PIC, ARM(STM32F) 개발보드와 1P 점퍼클립케이블을이용하여연동이가능하

Microsoft Word - JAVS_UDT-1_상세_메뉴얼.doc

온습도 판넬미터(JTH-05) 사양서V1.0

Requirement Definition Wheel Motor 작동하는경우장애물인식후 - Ultrasonic Sensor 홀수번누를경우 +10 Touch Sensor 누를경우 TouchSensor 계속누르고있을경우 (0.5) +10 짝수번누를경우 -10 빛이어두워졌다다

YD-3533.xls

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

TITLE: Education LK Development Team Status S/N Revision V0.1 Date 2011 /08/09 Doc LK임베디드 LK-STM32-M Manual ST-STM32F 모듈매뉴얼 (Model: LK-STM32-M V01) WW

Microsoft Word - Ahram_ISP_V15_Manual_V20.doc

Microsoft Word - DCMD-1000 사용자 메뉴얼.docx

<4D F736F F F696E74202D2037C0E55FC0CEC5CDB7B4C6AEC0C720B5BFC0DB2E707074>

Microsoft Power Point 2002

PowerPoint Presentation

hd1300_k_v1r2_Final_.PDF

<BFB5BBF3C1A4BAB8C3B3B8AEBDC3BDBAC5DB20BFACB1B82E687770>

HBE-MCU-Multi 로배우는 마이크로컨트롤러 (AVR 편 ) 마이크로컨트롤러기능 제 6 장타이머와카운터

서보교육자료배포용.ppt

ºÎ·ÏB


<4D F736F F F696E74202D D FB8B6C0CCC5A9B7CEC7C1B7CEBCBCBCADBFCD20B8B6C0CCC5A9B7CEC4C1C6AEB7D1B7AF2DB9E8C6F7BFE

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

<4D F736F F F696E74202D20454D43BCB3B0E8B4EBC3A5BBE7B7CA2828C1D629B8B6B7E7C0CEC6F75FBDC5C1D6C8A3292E707074>

STM32F2xx 시리즈의특성 Core: ARM 32-bit Cortex -M3 CPU with Adaptive real-time accelerator (ARTAccelerator ) allowing 0-wait state execution performance fro

Microsoft PowerPoint - Chapter 8_USART Serial Communication

Transcription:

CHAPTER 2 마이크로컨트롤러구조이해하기 가. ATmega128 기능 나. CRX10 구조

가. ATmega128 기능 1) 기능 고성능저전력 AVR 8비트마이크로컨트롤러 고급 RISC 구조 - 133개의강력한명령어 - 최대단일주기클록수행 - 32 8 범용레지스터 + 주변기기제어레지스터 - 완전한정적동작 - 16 MHz에서 16 MIPS(Million Instruction Per Second) 의처리율 - 2 사이클에서실행되는내장곱셈장치 높은내구성의비휘발성메모리구조 - ISP가지원되는 128K바이트의플래시메모리 - 4K바이트 EEPROM - 4K바이트의내부 SRAM - 플래시 : 10,000번의쓰기 / 지우기횟수, EEPROM : 100,000번의쓰기 / 지우기횟수 - 데이터보존 : 섭씨 85도에서 20년 / 섭씨 25도에서 100년 - 소프트웨어에의한 LOCK 동작 * On Chip Boot 프로그램에의한 ISP * 실질적으로읽어오는동안쓰기동작 - 최대 64K바이트선택적인외장메모리공간 - 소프트웨어보안을위한프로그래밍잠금 - ISP를위한 SPI(Serial Peripheral Interface Bus) 인터페이스 JTAG(IEEE std. 1149.1 호환 ) 인터페이스 - JTAG를통한 Boundary Scan 방법

- On Chip 디버그지원 - JTAG 인터페이스를통한 Flash, EEPROM, 퓨즈, Lock 비트설정 주변기능 - 별도로동작하는 Pre-scaler 와출력비교장치로구성된 2개의 8비트타이머 / 카운터 - Pre-scaler, 출력비교장치와입력캡처로구성된 2개의 16비트타이머 / 카운터 - 별도의오실레이터와실시간카운터 - 2개의 8비트 PWM 채널 - 2비트에서 16비트까지조절이가능한 6개 PWM (Pulse Width Modulation) 채널 - 출력비교변조기 - 8 채낼, 10 비트 ADC * 8개의싱글입력채널 * 7개의차동입력채널 * 1x, 10x, 200x 이득으로이루어진 2개의차동입력채널 - 바이트중심의 Tow-Wired Interface ( 동기 2선식통신 ) - 2개의 USART (Universal Synchronous & Asynchronous Receiver/Transmitter, 범용동기 / 비동기통신 ) - Master/Slave SPI (Serial Peripheral Interface, 동기 3선식통신 ) - 별도의오실레이터로이루어진 Watchdog Timer - On Chip의아날로그비교기 특수마이크로컨트롤러기능 - Power-on Reset, Brown-out 검출기 - 내부조정 RC 발진기 - 외부및내부인터럽트소스 - 6개의 Sleep mode (Idle mode, ADC Noise Reduction mode, Power-save mode,

Power-down mode, Standby mode, Extended Standby mode) - 소프트웨어에서선택가능클록주파수 - 전체의풀업비활성화 - 퓨즈 (Fuse) 를사용하여 ATmega103과호환모드로동작 I/O 및패키지 - 53개의범용입출력포트 - 64-lead TQFP 및 64-pad QFN/MLF 동작전압 - 2.7 ~ 5.5V ATmega128L - 4.5 ~ 5.5V ATmega128 속도등급 - 0 ~ 8 MHz ATmega128L - 0 ~ 16 MHz ATmega128 ATmega128(Atmega 시리즈 ) 는고성능대비저전력으로 ATmel사의마이크로컨트롤러로진보된 RISC 구조이다. 133개의막강한명령어를가지고있으며모든명령어는한클록사이클에의한동작이수행된다. 최고동작속도는 16MHz로이때초당 1천6백만개의명령어를처리한다. 내부에 128Kbytes의자가프로그래밍기능을가진내부메모리가있고, 4Kbytes의 EEPROM과 4Kbytes의 SRAM을가지고있다. 포트에는다양한기능을가지고있으며, 이러한기능은레지스터설정을통한기능사용유무를설정 / 해제할수있다. w w w w w w 독립적인분주기와비교기를가진두개의 8비트타이머 / 카운터독립적인분주기, 비교기, 캡처기능을가진두개의 16비트타이머 / 카운터독립적인발진을가지는리얼타임카운터, 두개의 8비트펄스폭가변출력장치 2에서 16비트사이의해상도를가지는 6개의펄스폭가변출력장치 10비트아날로그디지털컨버터 8개두선통신, 두개의프로그램가능한두개의비동기통신

w 마스터 / 슬래이브기능을가진 SPI 통신, 프로그램기능과내부클록을이용한와치독 그림 2.1 은 ATmega128 핀구성을나타낸다. [ 그림 2.1] ATmega128 의 Pin 구조 다른기능으로는전원인가시리셋타이밍을결정하는브라운-아웃리셋을설정할수있다. 내부에변경가능한 RC발진회로를가지고있어외부에발진회로를추가하지않아도최대 8MHz까지동작할수있다. 사용전압은 2.7V에서 5.5V까지사용한다. 64핀을가지는구조로 VCC, GND와같은전원부를제외한모든 IO포트를입출력장치로사용할수있다. 또한외부메모리를확장할수있다. 그림 2.2를보면메인연산을수행하는 ALU와각포트를연결하는 DATA BUS는 8비트로연결되며내부발진 / 고주파외부발진 / 저주파외부발진세가지발진을이용하여내부의기능을가동한다.

[ 그림 2.2] ATmega128 블록다이어그램 그림 2.3과같이 AVR시리즈는 ALU, ROM, RAM 및 IO를기본구조로한다. 모든 AVR의구조는동일한구조를가지고있으며 ROM, RAM 크기와 IO의개수및내부기능이많고적음이모델마다차이가발생된다. 하지만제일중요한 ALU의기능이동일하다. [ 그림 2.3] AVR 시리즈블록다이어그램

그림 2.4 와같이 ATmega128 의메모리는 0x0000 에서부터 0xffff 까지의번지수를 가지며사용자가프로그램을할수있는영역은 0x0000 부터시작된다. [ 그림 2.4] ATmega128 의메모리맵 그림 2.5 와같이데이터메모리의주소는프로그램메모리와마찬가지로 0x0000 에서 0xffff 까지의주소를가진다. 이때 103 기능을활성화하면주소는 A 와같이동 작하고활성화하지않으면 B 와같은형태의주소값을취하면된다. [ 그림 2.5] ATmega128 의데이터메모리맵과외부메모리 2) 클럭그림 2.6과같이 ATmega128은 6개의입력을가질수있으며입력된클록신호는분주및컨트롤로직회로에의해서 IO, Timer/Counter, CPU core, RAM 및 ADC와같은동작을수행하기위한신호로쓰인다. 이중내주에 Calibrated RC Oscillator와

같은내부에신호발생장치를가지고있어외부에서크리스탈이나레조레이터와 같은클록발생장치를특별하게장치하지않아도 8MHz 로동작한다. [ 그림 2.6] ATmega128 의클럭배열 나. CRX10 구조 1) LED상태그림 2.7과같이오른쪽상단에는부팅확인을위한전원 RED LED가있으며, 왼쪽상단에는블루투스연결시에 ON되는 Blue LED있다. 6 ⓹ 4 3 2 1 [ 그림 2.7] 이동로봇의 LED 점등상태

ATmega128의내부펌웨어를변경할시에는반드시 버튼을 3초간누르고 LED상태가 6번 LED만깜박일때에프로그램을다운로드한다. 다운로드를완료후 ATmega128의통신을위해그림 2.8과같이오른쪽상단에있는 ISP 연결하는커넥터밑에작은스위치 2개를 CRX10의정면방향에서볼때오른쪽으로변경한다. Programming Mode로진입하면그림 2.9와같이 6번의 LED만깜박인다. [ 그림 2.8] RX-TX 변경 [ 그림 2.9] Programming Mode 2) ATmega128의회로구성이동로봇을제어할때먼저알아두어야할사항은회로가어떻게구성되어있는지에대한것이다. 그림 2.10은 CRX10의메인마이크로프로세서인 ATmega128 포트에연결된각각의구성을보여준다. [ 그림 2.10] 이동로봇의 ATmega128 회로구성

가 ) OUTPut 회로첫번째는상태 LED 회로구성으로그림 2.11은상태를나타내는 LED로쓰일수도있으며, 간단한프로그램테스트용으로 LED를켜고끄고할수있는회로이다. 메인마이크로프로세서인 ATmega128에는아래표와같이연결되어 LED를제어한다. [ 그림 2.11] 상태 LED 회로 PB 7 LED_128-1 (LED 출력 ) PE 5 LED_128-2 (LED 출력 ) PB 4 LED_128-3 (LED 출력 ) 두번째는도트매트릭스회로구성으로그림 2.12는 LED 8x8 도트매트릭스의회로도를나타내며, Anode 와 Cathode를이용하여도트매트릭스를구성한다. 메인마이크로프로세서인 ATmega128에는아래표와같이연결되어도트매트릭스를제어한다. [ 그림 2.12] 도트매트릭스회도로

PA 0 DT1G (Anode 양극 ) PC 0 DTR1 (Catode 음극 ) PA 1 DT2G (Anode 양극 ) PC 1 DTR2 (Catode 음극 ) PA 2 DT3G (Anode 양극 ) PC 2 DTR3 (Catode 음극 ) PA 3 DT4G (Anode 양극 ) PC 3 DTR4 (Catode 음극 ) PA 4 DT5G (Anode 양극 ) PC 4 DTR5 (Catode 음극 ) PA 5 DT6G (Anode 양극 ) PC 5 DTR6 (Catode 음극 ) PA 6 DT7G (Anode 양극 ) PC 6 DTR7 (Catode 음극 ) PA 7 DT8G (Anode 양극 ) PC 7 DTR8 (Catode 음극 ) CRX10 의도트매트릭스 LED 는 bit 형의데이터로지정되며, 총단위는 8bit 로 1 이켜지고 0 이꺼지는제어방식이다. 각버퍼마다 8bit 의주소를가지고 있으며도트매트릭스의 1 줄에해당한다. i j CRX10 전면부 (j 열 ) 8 7 6 5 4 3 2 1 8 [8,8] 0x80 [8,7] 0x80 [8,6] 0x80 [8,5] 0x80 [8,4] 0x80 [8,3] 0x80 [8,2] 0x80 [8,1] 0x80 7 [7,8] 0x40 [7,7] 0x40 [7,6] 0x40 [7,5] 0x40 [7,4] 0x40 [7,3] 0x40 [7,2] 0x40 [7,1] 0x40 6 [6,8] 0x20 [6,7] 0x20 [6,6] 0x20 [6,5] 0x20 [6,4] 0x20 [6,3] 0x20 [6,2] 0x20 [6,1] 0x20 i 5 [5,8] 0x10 [5,7] 0x10 [5,6] 0x10 [5,5] 0x10 [5,4] 0x10 [5,3] 0x10 [5,2] 0x10 [5,1] 0x10 행 4 [4,8] 0x08 [4,7] 0x08 [4,6] 0x08 [4,5] 0x08 [4,4] 0x08 [4,3] 0x08 [4,2] 0x08 [4,1] 0x08 3 [3,8] 0x04 [3,7] 0x04 [3,6] 0x04 [3,5] 0x04 [3,4] 0x04 [3,3] 0x04 [3,2] 0x04 [3,1] 0x04 2 [2,8] 0x02 [2,7] 0x02 [2,6] 0x02 [2,5] 0x02 [2,4] 0x02 [2,3] 0x02 [2,2] 0x02 [2,1] 0x02 1 [1,8] 0x01 [1,7] 0x01 [1,6] 0x01 [1,5] 0x01 [1,4] 0x01 [1,3] 0x01 [1,2] 0x01 [1,1] 0x01

세번째는 Motor 구성회로구성으로그림 2.13은 Motor 드라이브의회로를나타내며, 모터드라이브칩인 L298을사용하여회로를구성한다. (L298의 DataSheet는부록을참조한다.) 메인마이크로프로세서인 ATmega128에는아래표와같이연결되어모터를제어한다. [ 그림 2.13] Motor 회로도 PWM 신호로모터를제어하며, 모터의특성상음극과양극을인가하였을때에모터는회전한다. 즉, 예를들어서 PE6에는 1 을 PE7에는 0 을인가하면모터는회전을하게된다. 단 Enable단자에는 1 을인가하여동작대기상태를만들어야한다. ENCODER가연결된포트에는모터의회전수를체크할수있으며, 이를이용해정밀한모터제어를할수있다. PE 6 PWM-A-1 (INPUT 1) PG 3 PWM-B-1 (INPUT 2) PE 7 PWM-A-2 (INPUT2) PG 4 PWM-B-2 (INPUT 3) PB 5 Enable-A PB 6 Enable-B PD 0 ENCODER1_A PD 2 ENCODER2_A PD 1 ENCODER1_B PD 3 ENCODER2_B 세번째는 Buzzer 회로구성으로그림 2.14 는부저출력에대한회로를나타내며, TR (Transistor) 를사용하여부저음을증폭해서출력한다. 메인마이크로프로세서인 ATmega128 에는아래표와같이연결되어부저를제어한다.

[ 그림 2.14] 부저회로 부저도 Motor 와같은원리로 High 레벨인 1 을인가하면부저음이출력되고 Low 레벨인 0 을인가하면부저음이발생되지않는다. 응용으로 PWM 신호를 이용하면부저로멜로디를만들어출력할수있다. PE 4 BUZZER ( 부저음출력부 ) 나 ) INPut 회로첫번째는 PSD센서회로구성으로그림 2.15는적외선거리측정센서인 PSD센서의회로를나타내며, 입력회로로구성하고 ADC(Analog To Digital) 의기능을사용하면센서의신호가디지털로변환된후프로세서가입력받는다. 메인마이크로프로세서인 ATmega128에는아래표와같이연결되어 PSD센서를제어한다. [ 그림 2.15] PSD 센서회로 ADC 를사용하여 ATmega128 에센서의신호를입력받으면 10Bit 로받아지며,

0~4095 사이의값으로변환하여제어가가능하다. PF 0 PSD-ADC0 (ADC 입력 ) PF 1 PSD-ADC1 (ADC 입력 ) PF 2 PSD-ADC2 (ADC 입력 ) 두번째는 IR센서회로구성으로그림 2.16은 IR( 적외선 ) 센서에대한회로를나타내며, OP-AMP 칩인 LM324를사용하여센서의수신감도를증폭하는회로를구성한다. (LM324의 DataSheet는부록을참조한다.) 메인마이크로프로세서인 ATmega128에는아래표와같이연결되어 IR센서를제어한다. [ 그림 2.16] IR 센서회로 IR센서중발광부에속하는회로는항상켜져있는상태가아닌신호를인가해야동작하는원리로구성하였으며, PWM신호를어느정도로제어하는지에따라발광의차이가생겨수광 IR센서에영향을미친다. IR 수광부에는 OP-AMP가연결되어있어가변저항을통해수신되는감도를조절하여 5개의 IR센서의민감도를통일되게설정할수있다. OP-APM의민감도를먼저정밀가변저항으로셋팅을완료한후에각센서에장착된가변저항을통해각각의센서의민감도를더욱정밀하게조절하는회로구성을한다.

PE 3 IR-PWM (IR 센서발광부 ) PF 3 IRS-2 (IR 센서수광부 ) PF 4 IRS-3 (IR 센서수광부 ) PF 5 IRS-4 (IR 센서수광부 ) PF 6 IRS-5 (IR 센서수광부 ) PF 7 IRS-6 (IR 센서수광부 ) 세번째는스위치회로구성으로그림 2.17 은 CRX10 에있는 4 개의버튼에해당 하는스위치회로를나타낸다. 메인마이크로프로세서인 ATmega128 에는아래표와 같이연결되어스위치입력을제어한다. [ 그림 2.17] 스위치회로 스위치를눌렀을때에회로에서는 5V가흐르게되어 High레벨의신호가입력이되며, 일반상태에서는 Low레벨의신호로유지되어입력이안되는상태가된다. 단순히한번눌렀을때만입력받는게아닌 High레벨의신호를주기로체크하여스위치를누르고있는시간을체크할수도있다. PD 4 SW-1 ( 스위치입력 ) PD 5 SW-2 ( 스위치입력 ) PD 6 SW-3 ( 스위치입력 ) PD 7 SW-4 ( 스위치입력 ) 다 ) 통신회로그림 2.18은통신회로를나타내며, RS232 통신을관장하는 Max232 칩을사용하여데이터를주고받는역할을한다. 유선으로는 D-Sub9 커넥터를이용하고무선으로는블루투스를사용한다. (Max232 DataSheet는부록을참고한다.) 메인마이크로프로세서인 ATmega128에는아래표와같이연결되어 Data 통신을제어한다.

[ 그림 2.18] 통신회로 이동로봇의센서데이터를확인하기위함과원격제어등을이용하려면통신에대하여알아야한다. 데이터통신은 Rx( 수신 ) 와 Tx( 송신 ) 로구분되며 Max232칩에의하여통신을주도한다. 블루투스에관련하여 DCD는다른디바이스와연결되었을때 Low레벨로출력되며, Pair는페어링됐을때 Low레벨로출력이된다. PE 0 PG 0 RXD1-128 (Data Receive, B-RXD) B-DCD (Bluetooth Connect Detect, Active Low) PE 1 PG 2 TXD1-128 (Data Transmitter, B-TXD) B-Pair (Pairing Input, Active Low) 여기까지 CRX10 의메인프로세서 (ATmega128) 에연결된기본회로에대하여설 명하였으며, 다음파트에서는각기능에대한설명과함께예제를통하여본교재 를진행하려한다.