사용자매뉴얼

Similar documents
Microsoft Word - FS_ZigBee_Manual_V1.3.docx

CAN-fly Quick Manual

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

<4A4B49542D D312DBBE7BFEBC0DABCB3B8EDBCAD2E646F63>

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A636C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

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

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

CONTENTS 1. Approval Revision Record Scope Numbering of product Product Part No Lot. No Absolu

ISP and CodeVisionAVR C Compiler.hwp

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

Microsoft PowerPoint - RPino-GOGO_datasheet.pptx

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

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

Microsoft Word - Ahram_ISP_V15_Manual_V20.doc

Microsoft Word - ds_probee-ze20s_kr-v1.0.0.docx

C. KHU-EE xmega Board 에서는 Button 을 2 개만사용하기때문에 GPIO_PUSH_BUTTON_2 과 GPIO_PUSH_BUTTON_3 define 을 Comment 처리 한다. D. AT45DBX 도사용하지않기때문에 Comment 처리한다. E.

사용자매뉴얼

Microsoft Word - PEB08_USER_GUIDE.doc

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

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

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

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

Microsoft PowerPoint - SY-A3PSK-V1.pptx

Microsoft Word - EastSocket매뉴얼_ _.doc

hd1300_k_v1r2_Final_.PDF

Microsoft Word - AVRISP mkII 장비 운용.doc

2

개요

ATmega128

Microsoft Word - DTM-M300_Spec_V1_0.doc

untitled

슬라이드 1

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

슬라이드 제목 없음

(Microsoft PowerPoint - \270\266\300\314\305\251\267\316\304\250USB_Host_Device_\272\316\306\256\267\316\264\365\275\307\275\300_Philip.ppt)

MR-3000A-MAN.hwp

CZ-KETI-IOTG200

뉴티씨 (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

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

RealDSP UT 프로그램 메뉴얼

歯AG-MX70P한글매뉴얼.PDF

USBISP_V20_manual.hwp

슬라이드 1

Microsoft Word - SRA-Series Manual.doc

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

Formatvorlage für Arbeitsanweisungen

NERO_M128_V10.opj

USBJTAG_V30_manual.hwp

전자교탁 사양서.hwp

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

ez-md+_manual01



DE1-SoC Board

Microsoft Word - AVR Dragon.doc

1. 제품사진및보드설명 < 그림 1.1> AVR-ATmega128 확장형 DEV 보드사진 1.1 제품소개 ATMEL사의 8비트프로세서인 AVR-ATmega128 MCU를이용하여학습및개발을할수있는 AVR 개발보드입니다. 초보자를세심하게배려하기위하여모든부품의부품이름및부품정

CD-6208_SM(new)

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202831C1D6C2F72C2032C1D6C2F729>

2. GCC Assembler와 AVR Assembler의차이 A. GCC Assembler 를사용하는경우 i. Assembly Language Program은.S Extension 을갖는다. ii. C Language Program은.c Extension 을갖는다.

1. 제품소개및특징 1.1 제품소개 < 그림 1.1> AVRISP MK2 USB 개발장비 AVR ISP(In System Programmer)MK2 USB 란 Atmel 사의 AVR 마이크로컨트롤러의내부플래쉬와 EEPROM 에프로그램메모리및데이터를써 (Write, Re

1. 제품사진및보드설명 그림. LK ATmega128 A2 트레이닝보드사진 제품소개 ATMEL사의 8비트프로세서인 AVR-ATmega128 MCU를이용하여학습및제품개발을핛수있는 AVR 트레이닝보드입니다. 초보자를세심하게배려하기위하여모든부품의부품이름및부품정보가트레이닝보드

USBISPV3.0(071112).hwp

lecture4(6.범용IO).hwp

ez-shv manual

<4D F736F F F696E74202D20454D43BCB3B0E8B4EBC3A5BBE7B7CA2828C1D629B8B6B7E7C0CEC6F75FBDC5C1D6C8A3292E707074>

[8051] 강의자료.PDF

Microsoft Word - ds_probee-ze10_kr-v1.0.1.docx

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

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

Microsoft Word - AM-2560PRO_V01 메뉴얼.doc

<333820B1E8C8AFBFEB2D5A B8A620C0CCBFEBC7D120BDC7BFDC20C0A7C4A1C3DFC1A42E687770>

Microsoft PowerPoint - AD-USBISP_V03_사용법.pptx

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

Ultimate High Performance Audio tx-usb Operating Instructions Rev : 1.0

PowerPoint 프레젠테이션

BY-FDP-4-70.hwp

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

Formatvorlage für Arbeitsanweisungen

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

untitled

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

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

슬라이드 1

DTS-L300-V2 Specification Page 1 of 14 비접촉온도측정 원거리온도측정 High Accuracy Digital Interface : SPI Arduino UNO 예제코드제공 제품설명 DTS-L300-V2는접촉을하지않고원하는물체표면에온도를 50

untitled

PowerPoint 프레젠테이션

Implementation of FreeRTOS on LM3S811

AVR USBISP+ V04 사용자메뉴얼 류대우 뉴티씨 (NEWTC) 대표이사

<4D F736F F F696E74202D20325FBEC6B5CEC0CCB3EB20B1E2C3CABDC3C7E82E BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - AVR 시리얼 통신.ppt [호환 모드]

XDS100S V3 Entry-level JTAG Emulator. Revision XDS100S V3 ( 사용매뉴얼 ) Rev TEL , FAX , .

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

Microsoft Word doc

PRO1_02E [읽기 전용]

- 2 -

DIB-100_K(90x120)

Microsoft PowerPoint - avr_lecture1.ppt

Microsoft Word ARM_ver2_0a.docx

Transcription:

ZBM 사용자매뉴얼 2007. 6. 25 OL 마이크로웨이브 http://olmicrowaves.com 1 / 31

목차 Part 1. ZBM ZigBee 개발키트소개 1) 제품개요 2) 제품특징 3) 제품사양 Part 2. 프로그램개발환경 1) WinAVR 설치 2) AVR Studio 설치 3) JTAG ICE 설치 4) USB(VCP) Driver 설치 5) ZBM 설치 Part 3. 예제프로그램 1) 예제프로그램설치 2) 예제프로그램실행 3) 예제프로그램설명 4) 사용자프로그램개발 Part 4. ZBM 실습 2 / 31

Part 1. ZBM ZigBee 개발키트소개 1) 제품개요 ZBM은 CC2420과 Atmega128L로구성된 ZigBee 학습및개발용 H/W 플랫폼이다. CC2420은 TI사에서공급하는 RF 트랜시버칩으로서 IEEE 802.15.4 규격을만족하는무선송수신기능을제공한다. Atmega128L은 ATMEL사의 8bit RISC 마이콤으로서국내에서다양하게활용되고있으며사용자의입장에서다른타입의마이콤에비해상대적으로접근이용이하다고할수있다. ZigBee 개발용플랫폼은현재다양한제품들이나와있지만각기사용되는 RF칩이상이하고특히마이콤이임베디드개발자에게친숙하지않은제품들이많다. 따라서극소수의전문적인개발자가아닌일반학생이나초보자의입장에서는접근하기가상당히난해한관계로 CC2420과 Atmega128L로구성된 TI사의 CC2420DBK를기초로사용자가보다쉽게기술을습득하고개발할수있도록 ZBM을제작하였다. Battery 3.3V Regulator 8MHz X-tal 16MHz X-tal ZBM USB (VCP) USB To Serial UART Atmega128L 8-bit RISC MCU SPI CC2420 2.4GHz RF Transceiver I/O 3 / 31

2) 제품특징 USB 포트를통한가상시리얼접속방식으로서 9핀시리얼포트없이시리얼통신 마이콤의입출력핀들을커넥터를통해외부회로와접속가능 JTA G 포트를통한프로그래밍 고효율의 PC B 내장안테나 전원아답타없이일반건전지사용 [ 전면 ] 4 / 31

[ 후면 ] 5 / 31

3) 제품사양 Absolute Maximum Ratings Parameter Min. Max. Units Supply voltage 0.3 7.5 V Input RF level 10 dbm Storage temperature range 50 150 C Operating Conditions Parameter Min. Max. Units Supply voltage 4.8 7.5 V Operating ambient temperature range 30 85 C Electrical Specifications Parameter Min. Typ. Max. Units Overall RF Frequency Range 2400 2483.5 MHz Transmit Section Transmit bit rate 250 250 kbps Transmit chip rate 2000 2000 kchips/s Nominal output power 3 0 dbm Programmable output power range 24 db Receive Section Receiver Sensitivity 90 94 dbm Saturation (maximum input level) 0 10 dbm Frequency error tolerance 300 300 khz Symbol rate error tolerance 120 ppm RSSI / Carrier Sense Carrier sense level 77 dbm RSSI dynamic range 100 db RSSI accuracy ± 6 db RSSI linearity ± 3 db RSSI average time 128 µs 6 / 31

CC2420 Frequency Section Crystal oscillator frequency 16 MHz Crystal frequency accuracy requirement 40 40 ppm Atmega128L Frequency Section Crystal oscillator frequency 8 MHz Crystal frequency accuracy requirement 100 100 ppm Power Supply Current Consumption, transmit mode: P = 0 dbm 46 Current Consumption, receive mode 49 ma ma Physical Properties Parameter Size Weight Min. 100 mm x 70 mm X 24mm (with battery holder) 46 / 92 g (without/with battery) 7 / 31

External Pin Assignment Pin NO. Pin Name P1 (JTAG) 1 TCK 2 GND 3 TDO 4 3.3V 5 TMS 6 /RESET 7 3.3V 8 not connected 9 TDI 10 GND P2 (USB UART) 1 +5 (from PC) 2 DATA 3 +DATA 4 GND Pin NO. 1 PE0 2 3.3V P3 (ISP) Pin Name 3 not connected 4 GND 5 /RESE T 6 GND 7 SCLK 8 GND 9 PE1 10 GND 주의 : 외부확장핀은 3.3V 입 출력전압규격임. 8 / 31

Pin NO. Pin Name P4 (GPIO) 1 PA1 2 PA0 3 PA3 4 PA2 5 PA5 6 PA4 7 PA7 8 PA6 9 PC1 10 PC0 11 PC3 12 PC2 13 PC5 14 PC4 15 PC7 16 PC6 17 PG1 18 PG0 19 GND 20 PG2 Pin NO. Pin Name P5 (GPIO) 1 AREF 2 PF0 3 PF1 4 PF2 5 PF3 6 PE0 7 PE1 8 PE2 9 PE3 10 PE4 11 PE5 12 PE6 13 PE7 14 PB4 15 PB5 16 PB6 17 PB7 18 not connected 19 GND 20 3.3V 주의 : 외부확장핀은 3.3V 입 출력전압규격임. 9 / 31

Part 2. 프로그램개발환경 ZBM 을이용하여프로그램을개발하데필요한개발툴과개발절차는다음과같다. WinAVR 설치 AVR Studio 설치 JTAG ICE 설치 USB(VCP) Driver 설치 ZBM 설치 예제프로그램설치및실행 사용자프로그램개발 10 / 31

1) WinAVR 설치 다음의 URL을방문하여설치파일을다운로드하여설치한다. URL : http://sourceforge.net/project/showfiles.php?group_id=68108 설치파일 : WinAVR 20060421 install.exe 11 / 31

2) AVR Studio 설치 다음의 URL을방문하여설치파일을검색, 다운로드하여설치한다. URL : http://www.atmel.com 설치파일1 : AVR Studio 4.12 (build 460) (* 간단한등록과정필요 ) 설치파일2 : AVR Studio 4.12 Service Pack 4 (build 498) 12 / 31

3) JTAG ICE 설치 사용자별로 JTAG ICE를구비하여설치한다. ZBM 에사용가능한 JTAG ICE 의요건은다음과같다. Atmega128 지원 ATMEL 10 핀표준포트를제공 +3.3V 타겟보드와접속 4) USB(VCP) Driver 설치 다음의 URL을방문하여윈도우버전에해당하는설치파일을다운로드하여설치한다. URL : http://www.ftdichip.com/drivers/vcp.htm 설치파일 : CDM_Setup.exe 13 / 31

5) ZBM 설치 ZBM의 JTAG 포트에 JTAG ICE를연결한다. ZBM의 P2(USB포트 ) 와 PC의 USB 컨넥터를 USB 케이블을사용하여연결한다. ZBM의전원스위치를 ON한다. PC에서자동으로가상시리얼포트를할당한다. 시작 제어판 시스템 하드웨어 장치관리자에서포트설정을확인한다. ZBM 시리얼포트 JTAG ICE 포트 14 / 31

하이퍼터미널을실행한다. ( 시작 모든프로그램 보조프로그램 통신 /) 파일 새연결을수행한다. 이름 : ex) ZBM monitor 연결에사용할모뎀 : COM3 ( 장치관리자에서확인된포트 ) 비트 / 초 : 115200 데이터비트 : 8 패리티 : 없음정지비트 : 1 흐름제어 : 없음 ZBM 의리셋버턴 (S1) 을 ON/OFF 하면하이퍼터미널화면에 ZBM 초기화면이출력된다. 4 를타이핑하여 ZBM 의 Address 세팅값을확인한다. 15 / 31

Part 3. 예제프로그램 1) 예제프로그램설치 다음의 URL을방문하여압축파일을다운로드하여임의의작업디렉토리에압축해제한다. URL : http://olmicrowaves.com => Downloads => ZigBee 압축파일 : ZBM10.zip 2) 예제프로그램실행 Part 2. 프로그램개발환경 의 5) ZBM 설치 과정을수행하여 ZBM과 JTAG ICE 및하이퍼터미널을활성화한다. AVR Studio를실행한다. Project Open Project 과정으로압축해제한 ZBM10 디렉토리아래에있는 ZBM10.aps를로드한다. 프로그램을수정한다. ( 필요한경우 ) File Save All을수행하여작업한파일을저장한다. Build Build All을수행하여실행파일을생성한다. Tools Program AVR Connect를수행한다. Platform : JTAG ICE Port : COM5 ( 현재 JTAG ICE가접속되어있는포트 ) 프로그래머다이얼로그에서 Flash 카테고리의 Input HEX File 의경로를지정한다. ZBM10/default/ZBM10.hex 프로그래머다이얼로그에서 Flash 카테고리의 Program 버턴을클릭하면 ZBM 내의 MCU 로펌웨어프로그램이 다운로드된다. 16 / 31

3) 예제프로그램설명 예제프로젝트디렉토리 ZBM10은다음과같은파일과하위디렉토리로구성되어있다. ZBM10 apps default include sensing.c ZBM10.hex, 오브젝트파일 include.h basic_rf hal basic_rf.h hal_cc2420.h atmega128 hal.h hal_cc2420db.h lib basic_rf basic_rf_init.c basic_rf_receive.c basic_rf_send_packet.c hal atmega128 hal_wait.c hal_rf_set_channel.c hal_rf_wait_for_crystal_oscillator.c ZBM10.aps sensing.c : 응용프로그램으로서, main() 함수를포함하는기본프로그램 ZBM10.hex : MCU 다운로드파일 include.h : 기본적데이터타입이정의되어있고, 여러가지헤드파일들을 include 시킨다. basic_rf.h : basic rf library(lib/basic_rf/*.c) 파일에관련된정의 hal_cc2420.h : CC2420에관련된정의 hal.h : CC2420에접근하기위한 SPI 제어매크로정의 hal_cc2420db.h : CC2420과 MCU 주변장치와의접속을정의 17 / 31

basic_rf_init.c : CC2420의무선송신및수신동작을위한초기화 basic_rf_receive.c : 무선패킷을수신하기위한인터럽트서비스루틴 basic_rf_send_packet.c : 무선패킷을송신하기위한루틴 hal_wait.c : Delay 함수 hal_rf_set_channel.c : 주어진채널번호로부터 IEEE802.15.4 무선주파수설정 hal_rf_wait_for_crystal_oscillator.c : CC2420 내부오실레이터의안정화까지대기 ZBM10.aps : AVR Studio 프로젝트파일 ZBM 예제프로젝트 (ZBM10) 은 TI사의 CC2420DBK 예제프로그램을기초로작성되었다. TI사의원본을다운로드하려면다음의 URL을방문하여압축파일을다운로드한다. URL : http://focus.ti.com/docs/toolsw/folders/print/cc2420dbk.html 압축파일 : CC2420DBK Libraries (swrc024.zip, 22 KB) CC2420DBK Examples Release (swrc023.zip, 12 KB) TI 원본에서 ZBM10이수정된부분 (A) ZBM10 / include / include.h 수정... #include <string.h> #define CC2420DB #ifdef STK501 # include "include/hal/atmega128/hal_stk501.h" #endif #ifdef CC2420DB #include "include/hal/atmega128/hal_cc2420db.h" #endif 18 / 31

// HAL include files #include "include/hal/atmega128/hal.h" #include "include/hal/hal_cc2420.h" // BASIC RF include files #include "include/basic_rf/basic_rf.h" (B) 아래의각소스파일에서 include 경로수정 : #include "include\include.h" zbm / lib / basic_rf / basic_rf_init.c zbm / lib / basic_rf / basic_rf_receive.c zbm / lib / basic_rf / basic_rf_send_packet.c zbm / lib / hal / hal_rf_set_channel.c zbm / lib / hal / hal_rf_wait_for_crystal_oscillator.c zbm / lib / hal / atmega128 / hal_wait.c zbm / apps / basic_rf / rf_blink_led / rf_blink_led.c (C) hal_cc2420db.h 수정사항 < AVR과 CC2420 간의핀설정비교 > Signal Name CC2420DBK ZBM CSN PB0 " SCLK PB1 " SI PB2 " SO PB3 " VREG_EN PB5 PG3 RESETN PB6 PG4 CTS PD7 " CCA PD6 " RTS PD5 " SFD PD4 " TXD1 PD3 " RXD1 PD2 " FIFO PD1 " FIFOP PD0 " 19 / 31

// Port B #define CSN # define SCK 0 // PB.0 Output: SPI Chip Select (CS_N) 1 // PB.1 Output: SPI Serial Clock (SCLK) #define MOSI 2 // PB.2 Output: SPI Master out slave in (MOSI) #define MISO 3 // PB.3 Input: SPI Master in slave out (MISO) #define OLED //#define VREG_E N 4 // PB.4 Output: Orange LED 5 // PB.5 Output: VREG_EN to CC2420 //#def ine RESET_ N 6 // PB.6 Output: RESET_N to CC2420 #define GL ED 7 // PB.7 Output: Green LED // Port G // # define VREG_EN 3 // PG.3 Output: VREG_EN to CC2420 #define RESET_N 4 // PG.4 Output: RESET_N to CC2420 // Port initialization // Disables pull up on all inputs!!! #define PORT_INIT() \ do { \ SFIOR = BM(PUD); \ DDRB = BM (MOSI) BM(SCK) BM(CSN) BM(OLED) BM(GLED); \ PORTB = BM(MOSI) BM(S CK) BM(CSN); \ DDRD = BM(UAR T1_RTS) ; \ PORTD = BM(UART1_RTS) BM(UART 1_ CTS);\ DDRE = BM(R LED) BM(YLED); \ PORTE = 0x00; \ DDRG = BM(RESET_N) BM(VR EG_EN ); \ PORTG = BM(RESE T_N); \ } while (0) // CC2420 pin access // Pin status #define FIFO_IS_1 #define CCA_IS_1 #define RESET_IS_1 (!!(PIND & BM(FIFO))) (!!(PIND & BM(CCA))) (!!(PING & BM(RESET_N))) 20 / 31

#define VREG_IS_1 #define FIFOP_IS_1 #define SFD_IS_1 (!!(PING & BM(VREG_EN))) (!!(PIND & BM(FIFOP))) (!!(PIND & BM(SFD))) // The CC2420 reset pin #define SET_RESET_ACTIVE() PORTG &= ~BM(RESET_N) #define SET_RESET_INACTIVE() PORTG = BM(RESET_N) // CC2420 voltage regulator enable pin #define SET_VREG_ACTIVE() PORTG = BM(VREG_EN) #define SET_VREG_INACTIVE() PORTG &= ~BM(VREG_EN) (D) hal.h UART 관련오류수정 #define UART1_WAIT_AND_RECEIVE(x) do{ UDR1 = 0; UART1_WAIT(); UART1_RECEIVE(x); } while (0) (E) hal.h UART 관련매크로추가및수정 #define UART1_WAIT() do { while (!(UCSR1A & BM(UDRE1))); CLEAR_UART1_TX_INT(); } while (0) #define UART1_RXWAIT() do { while (!(UCSR1A & BM(RXC1))); CLEAR_UART1_RX_INT(); } while (0) #define UART1_SEND(x) do { UDR1 = (x); } while (0) #define UART1_WAIT_AND_SEND(x) do { UART1_WAIT(); UART1_SEND(x); } while (0) #define UART1_RECEIVE(x) do { (x) = UDR1; } while (0) # define UART1_WAIT_AND_RECEIVE(x) do {UDR1=0; UART1_RXWAIT(); UART1_RECEIVE(x); } while(0) #define UART1_LINEFEED() do { UART1_WAIT_AND_SEND(13); UART1_WAIT_AND_SEND(10); }while(0) 21 / 31

4) 사용자프로그램개발 ZBM은 ZigBee 프로토콜을개발하거나학습하는용도로사용될수있으며뿐만아니라외부확장용컨넥터 (P4, P5) 를통해각종센서나제어기와접속하여 ZigBee 응용시스템을개발하는용도로활용할수있다. 사용자별로응용프로그램개발하기위해서외부확장커넥터별신호구성을파악한후별도의도터보드를제작하여장착한다. ( 페이지 8 ~ 9 참조 ) P4 : 범용I/O 및메모리제어신호 외부메모리를확장하거나일반범용입출력으로외부장치와접속 P5 : ADC, 아나로그입력, 인터럽트, 범용I/O 센서장치나제어장치와접속하거나일반범용입출력으로외부장치와접속 ( 예 : 조명제어응용실습 ) 22 / 31

MAC프로그램이나 ZigBee 스택을포팅하고자하는경우에는각프로그램의 HAL 부분을 Atmega128에적합하게구성한후, AVR Studio(WinAVR/avr gcc) 나 IAR 컴파일러등을이용하여컴파일하고, 생성된 hex 파일을 AVR Studio나 PonyProg를사용하여 ZBM의 Flash ROM에다운로드한다. TI사에서는 Z stack이라는 ZigBee 표준스택을제공하며다음의 URL을방문하여무료로다운로드하여사용할수있다. ( 간단한사용자등록필요 ) URL : http://focus.ti.com/analog/docs/gencontent.tsp?familyid=367&gencontentid=31010 23 / 31

Part 4. ZBM 실습 ZBM에다운로드되어있는프로그램은예제프로젝트인 ZBM10이다. ZBM10에는두개의 ZBM을하나는마스터로다른하나는센서로간주하고각각의 Address를설정하여 ( 디폴트로 : 00, 99) 터미널 (PC) 로부터마스터를경유하여무선으로센서를제어하는동작이구현되어있다. 이예제를통해 MCU를사용하여 ZigBee용 RF 트랜시버칩인 CC2420을제어하는방법을습득할수있으며 ZBM을홈네트워크나기타다양한분야에활용할수있도록기본적인아이디어를제공한다. 마스터로사용할 ZBM 을 `Part 2. 프로그램개발환경 의 5) ZBM 설치 과정수행하여 셋업한다. 리셋버턴을누르면하이퍼터미널상에초기화면이출력된다. 24 / 31

`4 를입력하여현재 ZBM 에설정된 Address 를확인한다. 필요한경우 `5 를입력하여 Address 를다른값으로변경한다.(00 ~ 99 사이의값 ) 25 / 31

동일한방식으로센서로사용할 ZBM의 Address도확인하고필요하면 Addres를변경한다. 터미널 (PC) 에다시마스터 ZBM을접속하고, 센서 ZBM을 3미터정도의거리에설치한다. 하이퍼터미널로 `1 과 99 를차례로입력하여 Address가 99인센서 ZBM의 RSSI 값을읽는다. ( 센서 Address는사용자별로설정한값을입력 ) 이때, 출력되는 RSSI 값은센서가마스터로부터수신하는신호의세기를나타내며, ZBM의안테나출력전력은약 0dBm( 디폴트 ) 으로설정되어있다. 따라서하이퍼터미널상에출력되는 RSSI 값은수신전력값인동시에해당거리에서의경로손실 (Path Loss) 라고할수있다. 이러한사실로부터사용자는 RSSI 관련한다양한응용을할수있다. 마스터가센서로부터수신하는신호의세기도동일한값으로간주해도된다. 26 / 31

ZBM monitor의 2 과 3 명령은조도센서값을읽고, LED를켜거나끄는동작을수행한다. 그러나조도센서와 LED 회로는 ZBM 모듈에포함되지않느다. 따라서사용자는다음의과정을따라도터보드를제작하여실습을수행하도록한다. 준비물 : 만능기판 (HS 01 혹은기타 ), 조도센서 (A90.09등), LED, 저항 (180~200Ω), 가변저항 (100KΩ), 핀헤드 (2x10), 납땜용구 ( 인두기, 납 ) 도터보드회로도 만능기판을적당한크기로자른다. (3 cm x 3.5 cm 가량 ) 기판에회로도를참조하여부품을배치한후납땜한다. 핀헤드 (P5) 는센서 ZBM 의소켓 (P5) 에장착될수있도록한다. 27 / 31

[ 전면 ] [ 후면 ] 제작한도터보드를센서 ZBM 의소켓 (P5) 에장착한다. ( 방향에유의 ) 28 / 31

하이퍼터미널로 `2 와 99 를차례로입력하여 Address 가 99 인센서 ZBM 의조도값을 읽는다. ( 센서 Address 는사용자별로설정한값을입력 ) 조도값의범위는 0 ~ 255 이며 A/D 컨버터에서읽은값을 8 비트처리하여출력한다. 가변저항을조절하면특정한조도에출력값을튜닝할수있다. 29 / 31

하이퍼터미널로 `3, 99, 1 을차례로입력하여 Address가 99인센서 ZBM의 LED를 켠다. 센서 ZBM 의 LED 의상태를확인한다. 30 / 31

하이퍼터미널로 `3, 99, 0 을차례로입력하여 Address가 99인센서 ZBM의 LED를 끈다. 센서 ZBM 의 LED 의상태를확인한다. 31 / 31