M16/32KIT Mega 16/32 KIT Technical Manual AVRMALL http://www.avrmall.com/ September 20, 2004 Copyright (c) 2003,2004 AVRMALL All Rights Reserved.
M16/32KIT Technical Manual September 20, 2004 Page 2 of 18 Contents 1. M16/32 Kit 특징 --------------------------------------------------3 2. 포트확장및구성도 ---------------------------------------------- 4 3. PonyPro2000 셋팅하기 ----------------------------------------------5 4. 퓨즈비트설정(Fuse Bit Setting) ------------------------------------- 9 5. PonyPro2000 사용법 ---------------------------------------------- 12 6. 예제프로그램 ---------------------------------------------------- 16
M16/32KIT Technical Manual September 20, 2004 Page 3 of 18 1. M16/32 Kit 특징 M16/32 Kit V1.0은 ATMega16-PI / ATMega32-16PI를탑재한키트로처음접해본사람부터고급사용자까지모든사람이손쉾게사용할수있도록설계되었다. 실제로개발하는시간보다개발환경을구축하는데더많은시간이소모되는사례가많다. 이 Kit는이러한시간을최대한단축시켜서마이컴을처음접하는사람도쉽게다가설수있게하고, 고급사용자도빠른시간안에제품을개발할수있게설계되어있다. 또한, ISP(In-System Self-Programming) 을내장하여 PC와시리얼케이블연결만으로라이팅을할수있을뿐아니라브레드보드에장착할수있게제작되어있고, 모든포트를플렛케이블을이용하여연결할수있도록설계되었다. 또한키트의탑재한하나의디서브로 ISP와 RS232 통신가능하다. ATMega16/32의특징 -16 /32K 플래쉬메모리프로그램 ( 공간) -1/2K 내부동적램(internal static RAM) -512 /1024 Bytes EEPROM -8 채널 ADC(analog to digital converter) -UARTs -IIC 인터페이스 -32개의 I/O 핀 - 프로그래밍과디버깅을위한 JTAG 인터페이스 -2개의 8 비트타이머,1개의 16비트타이머 -4개의 PWM 채널 - 워치도그타이머 스위치(SW2) 를이용하여같은시리얼컴포트로 ISP, 시리얼통신가능 내장된 ISP 기능과외부 ISP 이용포트채용 10핀 JTAG 디버깅과프로그래밍헤더지원 모든포트 (A, B, C, D) 에 VCC, GND를포함한10핀헤더로확장지원 동작전원 :7~12VDC( 아답터는별도구매) 보드크기 :8.4cm( 가로) *4.6cm( 세로)
M16/32KIT Technical Manual September 20, 2004 Page 4 of 18 2. 포트확장및구성도 1 2 아답터커넥터 - DC 7~12V 아답터 전원 On/Off 스위치 3 ISP( In-System Self-Programming) 포트 4 5 6 - 별도의 ISP를이용하여라이팅할수있는스페어포트 PORTA Serial PORTC 확장포트 통신 7 ISP/RS232 8 9 10 11 RX, TX LED 확장포트 선택커넥터 - 스위치를이용하여 ISP, RS232통신선택 -ISP 이용시스위치를오른쪽, RS232통신시왼쪽선택 디서브커넥터 -ISP, RS232 통신에이용되는시리얼포트 Power LED JTAGICE PORTB 12 리셋스위치 13 14 포트 확장포트 PORTA, B, C, D PORTD 15 ISP 동작 확장포트 LED 확장포트
M16/32KIT Technical Manual September 20, 2004 Page 5 of 18 3. Pony Pro2000 셋팅하기 PonyPro2000은 Serial Device Programmer 입니다. LanOS(http://www.lancos.com) 나 AVRMall(http://www.avrmall.com) 에서받으실수있습니다. PonyPro2000은 I2C 8bit eeprom(24xx), I2C 16bit eeprom(24xx), I2C Bus AT17 eeprom, MicroWire16 eeprom등의 eeprom, SPI eeprom, AVR 시리즈, ATmel사의 8bit Microprocessor 인 89S 시리즈,PIC 등을라이팅할수있는툴입니다. PC 와타켓보드(M16/32 키트) 연결하기위한시리얼케이블은 9핀다이렉트케이블을연결 해야합니다. -PonyPro2000 셋팅하기 1) 인터페이스셋업을위해다음과같이 Setup -> Interface Setup 을실행합니다.
M16/32KIT Technical Manual September 20, 2004 Page 6 of 18 2) 다음과같은 I/O port setup 이나오면 Serial -> COMX 을선택합니다. COMX 는사용하시는컴포트를선택해주시면됩니다. 다음과같이선택한후 OK 버튼을누릅니다. 3) 위메뉴에서 Probe 을눌렀을때다음과같이 Test Ok 이나와야합니다. 다음과같이 인하세요 Test Failed가나오면컴포트를다른곳에서쓰지있는지올바로선택했는지확
M16/32KIT Technical Manual September 20, 2004 Page 7 of 18 4) Proram Option 설정 Command -> Program Options.. 을선택합니다. 다음과같이셋팅을한후 OK 를누릅니다.
M16/32KIT Technical Manual September 20, 2004 Page 8 of 18 -PonyPro2000 라이팅속력이느릴경우 PonyPro2000을설치폴더에보면 PONYPROG2000.INI 와같은파일이있습니다 메모장이나텍스트에디터에서열어보면다음과같은내용이있습니다. Verify 를하지않게하여시간을줄이는것입니다. PowerUpDelay=200 LanguageCode=Default SoundEnabled=NO ClearBufferBeforeLoad=YES MDAWriteDelay=0...... VerifyAfterWrite=YES -> NO 로변경....... WriteFlashOption=YES WriteEEpromOption=NO WriteSecurityOption=NO
M16/32KIT Technical Manual September 20, 2004 Page 9 of 18 4. 퓨즈비트설정(Fuse Bit Setting) -Clock Option 설정 1) 클럭옵션을선택하기위해다음과같이Command -> Security and Configuration BIts. 을선택합니다. 2) 다음의메뉴에서 CKSEL3, CKSEL2, CKSEL1, CKSEL0이클럭옵션을설정하는메뉴입니다. 다음과같이체크를하지않고 Write 버튼을누르시면외부크리스탈을이용하실수있게 됩니다. 칩을처음셋팅값은내부 1MHz로동작되게퓨즈비트가셋팅되어있어이설정을 하지않으면외부에어떤클럭을넣어주어도내부 1MHz 로동작하게됩니다. CKSEL3..0 에체크를하지않고라이팅을한값은1111 입니다. 즉, 체크하지않은값이 1 입니다. 퓨즈비트셋팅은한번셋팅하면됩니다.
M16/32KIT Technical Manual September 20, 2004 Page 10 of 18 - 내부 1MHz (0001) - 내부 2MHz (0010) - 내부 4MHz (0011) - 내부 8MHz (0100) - 외부클럭 (1111)
M16/32KIT Technical Manual September 20, 2004 Page 11 of 18 -JTAGICE 사용위한설정 JTAGICE를사용하기위해서는 OCDEN, JTAGEN을다음과같이 00 으로설정을해야 합니다.
M16/32KIT Technical Manual September 20, 2004 Page 12 of 18 5. PonyPro2000 사용법 - PonyProg2000을통해라이팅하기 PonyProg2000 을실행면다음과같은창이뜨면서말울음소리가납니다. 밑의체크박스 Disable sound 에체크하시면다음부터는소리가나지않습니다. OK 을누르시면다음과같은화면이나타납니다. M16/32 KIT 를라이팅하기위해밑의네모칸부분에다음과같이설정 값을셋팅합니다. AVR Micro -> 해당 CPU 선택(ATMega16, ATMega32)
M16/32KIT Technical Manual September 20, 2004 Page 13 of 18 File -> Open Device File 또는단축아이콘( 빨간동그라미을 ) 누르면라이팅할파일을선택 할수있는메뉴가나옵니다. 라이팅할파일일을선택하면다음과같이로드가됩니다.
M16/32KIT Technical Manual September 20, 2004 Page 14 of 18 Command -> Write All 이나아래그림의단축아이콘을누릅니다. 다음과같은메시지가나타나면 Yes 를눌러라이팅을합니다. 라이팅되고있는상태입니다.
M16/32KIT Technical Manual September 20, 2004 Page 15 of 18 라이팅이완료가되며다음과같은창이뜹니다. 니다. 이제사용자가프로그래밍한것이동작합 다음과같은메뉴가나타나면디바이스를찾지못한것입니다. SW2 스위치가 ISP로선택되었는지확인합니다. 연결상태가바른지, 셋팅값이정확한지확인해야합니다.
M16/32KIT Technical Manual September 20, 2004 Page 16 of 18 5. 예제프로그램 1) 보드동작확인을위한 PD0, PD1 에 Full UP 으로연결된 LED를 1초간격으로점멸하 는프로그램(CodeVision 컴파일러이용) 제품자료실의회로도참고 #include <mega16.h> #include <delay.h> void main(void) { // Global enable interrupts #asm("sei") DDRD=0xff; //PORTD Output while (1) { /* PORTD=0x00; delay_ms(1000); PORTD=0xff; delay_ms(1000); */ } } PORTD^=0x03; delay_ms(1000); //PD0, PD1 toggle M16/32 KIT의 LED가 1 초간격으로점멸되는것을볼수있습니다.
M16/32KIT Technical Manual September 20, 2004 Page 17 of 18 2) 키보드로문자를받아출력하는프로그램 #include <mega16.h> #include <stdio.h> char flash TITLE_LINE[] = "M16/32 Uart Test Program V1.0 COPYRIGHT (C) AvrMall.com"; char print_back(void) { char cmd,c[5]; int ch,i; 다.*/ } while((ch=getchar())!= '\r') /* 한문자를입력받고줄바꿈이아니면실행한 { c[i++] =ch; putchar(ch); } cmd =c[i-1]; return(cmd); void main(void) { // USART0 initialization // Communication Parameters: 8Data, 1Stop, No Parity // USART0 Receiver: On // USART0 Transmitter: On // USART0 Mode: Asynchronous // USART0 Baud rate: 9600 UCSRA=0x00; UCSRB=0x18; UCSRC=0x06; UBRRH=0x00; UBRRL=0x67; //67(16M) // Global enable interrupts #asm("sei") putsf(title_line); printf("\n\rpress Keyboard\n\r"); while (1) { char cmd; } } cmd =print_back();
M16/32KIT Technical Manual September 20, 2004 Page 18 of 18 - 통신설정 - 프로그램을실행한상태 SW2의스위치를 RS232 로해야통신을할수있습니다. - 키보드로 avrmall M16/32 kit uart test program 를타이핑했을경우.