ATMEGA 2560 모듈 ( Model : AM-2560PRO V01) 메뉴얼 ( 주 ) 뉴티씨 (NEWTC) 1 AM-2560Pro 소개 ATMega2560 16AU AVR 마이크로컨트롤러사용 256Kbit (32Kbyte) SRAM 내장 (ISSI IS62C256AL) 2줄짜리 2mm Header Pin이양쪽으로 50 핀씩배치되어있음. MAX3232 내장으로 RS-232 통신가능 UART0, UART1 ( 별매 Serial Cable 필요 ) ISP Connector, JTAG BOX Header, 16Mhz X-tal, 리셋스위치, 전원 LED 내장 크기 : 52mm * 52mm 초기제품출하시퓨즈비트에서 JTAG이 Enable 된상태로, 0xff19ef로나갑니다. 따라서, F 포트의상위4비트 (D4~D7) 은사용이불가합니다. 사용하시려면, ISP로퓨즈비트의 JTAG Enable을 disable 시키신후에사용하세요. AM-2560PRO 모듈사진 1 / 10
NEWTC Co., Ltd 2 AM-2560PRO 모듈 H/W 2.1 하드웨어 구성도 AM-2560PRO 모듈은 아래 그림과 같이 AB-M2560 메인 보드, AB-E2560 브레드용 보드와 함께 사용하시면 편리합니다. AM-M2560 메인보드와 연결한 사진 AM-E2560 확장보드와 연결한 사진 AM-2560PRO + AM-E2560 확장보드를 브레드보드와 함께 사용한 사진 2 / 10
2.2 커넥터연결 2.2.1 확장보드연결커넥터핀번호 AVR 1 번핀 AVR 99 번핀 확장보드 연결커넥터 AVR 49 번핀 AVR 51 번핀 ATMega2650의 MAIN X-Tal 16MHz로연결되는 33,34핀은핀헤더로연결되어있지않습니다. ATMega2650의 RTC X-Tal 32.768KHz 연결되는 29,30핀은현재핀헤더로연결되어있지않으며, 일반포트로사용하고자할때는 R8, R9를 0옴으로연결하고, Y1을제거후사용이가능합니다. 제외한모든핀이핀헤더로연결되어있습니다. 2.2.2 ISP 커넥터 J2 핀번호 1 MOSI 2 MISO 3 SCK 4 Reset 5 GND 6 VCC 3 / 10
2.2.3 시리얼통신커넥터 J6, J7 핀번호 1. TX 2. RX 3. GND 커넥터배선방법 1 RS-232 TX ( 통신출력 ) 2 RS-232 RX ( 통신입력 ) 3 GND 커넥터로입출력되는신호는 TTL Level (5V) 이아닌 RS-232 Level (±12V) 신호입니다. 2.3 H/W 사용시주의사항 ATMega2560 의경우외부메모리를사용할경우 PORTA, PORTC, PORTG 를사용하실수없습니다, 그러므로, 외부메모리를사용한하드웨어를구성시위의 3개포트를빼고사용하시기바랍니다. 소프트웨어적으로외부메모리를사용하지않을경우에는그냥모두사용하셔도관계는없습니다. 3 AM-256PRO 모듈사용하기 ( 소프트웨어관련 ) 3.1 AM-2560PRO 모듈구동방법본모듈은 ISP, 리셋버튼, 동작확인 LED, 시리얼통신등을내장하여간단하게 ATMega2560을동작시키도록설계되었습니다. 홈페이지상에서제공되는 ICCAVR 데모컴파일러또는기타컴파일러를이용하여 ATMega2560 MCU를동작시킬수있는프로그램을작성할수있습니다. 작성된프로그램은당사에서판매하는 AVR ISP 케이블 ( 모델명 AD-USBISP, AD- ISPPro) 을이용하여모듈에다운로드할수있습니다. 본모듈을사용하여처음공부하실경우홈페이지에서제공하는 AVR 강좌를참조하시기바랍니다. 4 / 10
3.2 메모리맵 본모듈의외부메모리는 $8000 - $FFFF 번지에맵핑이되어있습니다. 32Kbyte 메모리를사용가능합니다. 5 / 10
3.3 레지스터설정외부메모리를사용하려면, 프로그램상에서외부메모리사용을하도록레지스터를설정해야합니다. 본메뉴얼에서는이를위하여기본적으로필요한부분만설명하겠습니다. 자세한사항은데이터시트나관련서적을참고하시기바랍니다. 가장중요한부분은외부메모리의기본적인동작을위해 XMCRA 의 Bit7 SRE (External SRAM/XMEM Enable) 를 1로초기화시켜주면된다는겁니다. XMCRA = XMCRA 0x80 XMCRA 레지스터 Bit 7 SRE: External SRAM/XMEM Enable 외부메모리를사용할수있도록설정 1 : 외부메모리 Enable 0 : 외부메모리 Disable Bit 6..4 SRLx: Wait-state Sector Limit 외부메모리를사용할때메모리의주소에따라서로다른웨이트스테이트를사용할수있도록합니다. 사용하지않을경우 [000] 으로셋팅하면됩니다. Bit 3..0 SRWxx: Wait-state Select Bits for Lower Sector MCUCR의 SRW10과같이사용되면 SRL[3:0] 에서셋팅한섹터별로웨이트스테이트를설정할수있습니다. XMCRA 레지스터 Bit 7 XMBK: External Memory Bus-keeper Enable AD7:0 버스라인의상태를로지컬신호레벨로유지해줍니다. Disable 될경우 Tri-state 로됩니다. Bit 2..0 XMM2, XMM1, XMM0: External Memory High Mask 전체 64Kbyte 외부메모리중일부만사용할경우 PORTC 의일부포트를 I/O 포트로사용할수있도록설정할수있습니다. 6 / 10
3.4 외부메모리사용방법 ( 포인터사용 ) 외부메모리를사용은기본적으로포인터를사용하여사용할수있습니다. Example) 외부메모리 0x8000 번지에값을쓰거나읽기 void main (void) { unsigned int i; unsigned char *ex_mem; ex_mem = (unsigned char *) 0x8000; // 외부메모리포인터선언 // 외부메모리주소지정 init_devices ( ); for(i=0;i<10;i++) ex_mem[i] = 0xa5; // 외부메모리에 "0xa5" 쓰기 for(i=0;i<10;i++) printf(" r naddr,0x%x = [0x%x]",&ex_mem[i],ex_mem[i]); } 3.5 외부메모리사용방법 ( 배열로사용 ) ICCAVR 컴파일러안에 Application Biulder 이용하여배열로잡아서사용할수있습니다. 7 / 10
위그림과같이설정을완료하시면변수생성이됩니다. //declare memory mapped variables extern signed char buf[100]; //define mappings void mapping_init(void) { asm( ".area memory(abs)\n" ".org 0x8000\n" " _buf::.blkb 100\n" ".text\n" ); } 배열로잡힌변수는아래와같이사용할수있습니다. void main ( void ) { int i; init_devices(); for( i=0 ; i<100 ; i++ ) buf[i] = i; for( i=0 ; i<100 ; i++ ) { printf ( "\r\naddr = 0x%x, data = %d ",&buf[i], buf[i] ); PORTL ^= 0x80; delay(100); } } ICCAVR 컴파일러로다운로드시 AVR칩이 ATMEGA2560일경우현재페러렐방식 (AD- ISPPro) 은지원하지않습니다. 페러렐방식의 ISP를가지고계시면 ponyprog로다운로드하시길바랍니다. 8 / 10
아래그림은 AD-USBISP 이용하여다운로드하는방법입니다. 4 Epilog 4.1 제품문의처및감사의말씀본 뉴티씨 (NEWTC) 의제품을구입해주셔서감사드립니다. 본사는 AVR 사용자의편의를증진시키기위해서, 항상노력하고개발하고있습니다. 본모듈을사용할경우, AVR과같은마이크로프로세서를다루는것이필요합니다. 본내용을공부하시려면, 킷트에제공하는예제와강좌등을이용하시거나, 홈페이지의강좌나자료실등의자료를참고하시기바랍니다. 4.2 기술지원홈페이지 기술지원홈페이지에 AVR 강좌, 전자공학강좌, 로봇제작강좌등여러강좌들이업데이트되고있으며, 자료실에서는각종필요한파일이나어플리케이션프로그램등을업데이트하고있으니, 참고하시기바랍니다. 제품에관한 A/S나문의가있으시면, 언제든주저하지마시고, 홈페이지의 Q&A란에남겨주시기바랍니다. 개발관련문의는 E-mail (davidryu@newtc.co.kr) 을이용하여주시기바랍니다. 감사합니다. 9 / 10
AM-2560PRO Module 핀번호 (Top view) 10 / 10