8051
AVR
EZLab
PIC
80C196KC
DSP
ARM
VHDL
마이크로마우스
로봇축구
Battle 로봇
로봇대회
휴먼로봇
Embeded Linux
HW/SW 강좌
RTOS
 
 

Programmers for AVR - free or cheap

 

   AVR은 내부의 플래쉬 메모리와 EEPROM에 데이터를 써넣을 수 있도록 SPI 인터페이스를 제공한다. SPI는 오직 3라인을 이용한 통신 방법으로 MOSI(Master Out Slave In), MISO(Master In Slave Out), SCLK(SPI CLOCK) 시그널을 이용한다. Motolora에서 개발되었으며 Master와 Slave가 SCLK에 동기하여 데이터를 교환하는 방식이다. 플래쉬 메모리를 억세스 하기 위해서는 AVR의 Reset 핀을 low로 한 상태에서 앞의 세 시그널을 이용하여 데이터를 읽고 쓰기가 가능하다. 즉, AVR과의 SPI 인터페이스를 맞추어주기만 하면 내부 플래쉬 메모리의 억세스가 가능하다는 것이다. 이는 AVR의 프로그래머를 싼 값으로 구현하게 하는 동기가 된다.

   AVR 프로그래머의 구현은 ISP* 형태와 롬라이터 형태로 구현할 수 있다. 다음은 AVR 프로그래머의 종류는 다음과 같다.

   필자는 처음에 SP12를 사용하다가 현재는 STK300을 구입하고 사용하고 있다.

   사견으로는 STK200 ISP를 만들어 사용할 것을 적극 추천한다.

 

1. STK100/STK200/STK300 ISP

2. SP12 Rom writer and ISP

3. Dummy parallel port ISP

 

STK100/STK200/STK300 ISP

 

   Kanda사에서 공급받아서 ATMEL에서 판매하는 Starter Kit이다. STK는 기본적인 테스트를 할 수 있는 evaluation board와 ISP 프그래머를 포함하고 있다. STK100은 Tiny 시리즈용이고, STK200은 AT90S 시리즈용이며, STK300은 Mega 시리즈용 Starter Kit이다. 따라서 포함된 evaluation 보드는 각각 STK100은 TinyAVR을 STK200은 AT90S8515를 STK300은 Mega103을 포함하고 있다. STK100에 포함된 ISP는 Tiny 시리즈만 프로그래밍 할 수 있고, STK200에 포함된 ISP는 초창기에는 AT90S 시리즈만 프로그래밍 가능하였으나 최근에는 Mega 시리즈도 프로그래밍 할 수 있다. STK300은 Mega 시리즈와 AT90S 시리즈를 모두 프로그래밍 할 수 있다.

 

STK

가격

지원 OS

지원 소프트웨어

STK100

?

?

?

STK200

$100

Win9x

AVR_ISP

STK300

$200

Win9x

AVR_ISP

*필자는 STK100에 대한 정보를 가지고 있지 않다. 정보가 있는 분은 연락 바란다.

   STK200은 무료이지만 STK200에 포함되어 있는 ISP의 회로도는 다음과 같다. 그림에서 74HC244를 프린터 포트 커넥터의 내부에다가 포함 시키면 매우 간단하게 제작할 수 있다.

   그리고 다음은 AVR_ISP 소프트웨어와 STK200과 STK300의 evaluation 보드의 회로도 이다. 다음의 회로도를 통해서 회로를 꾸미는 기법을 배울 수 있을 것이다.

 

 

Back to Top

 

SP12 Rom writer & ISP

 

   SP12는 Steve Bolt가 만든 AVR용 프로그래머 이다. SP12는 롬 라이터 형태(전원과 클럭 모두 PC의 병렬 케이블로 공급받는다) 또는 ISP 형태 두 가지 모두 가능하다.

   다음은 SP12를 롬 라이터 형태로 구현하는 방법이다. 그림에서는 AT90S1200을 예로 회로도를 그렸으며, PCB 레이아웃도 보인다. 하지만 VCC, RESET, MISO, MOSI, GND 등만 제대로 연결해주면 다른 AT90S 시리즈의 프로그래머도 만들 수 있다. 그림에서 보면 PC의 병렬 케이블의 핀 번호 4~8번을 함께 묶어서 롬 라이터의 전원으로 이용하고 있다. 또한 롬라이터로 구현하기 위해서는 칩을 교체할 수 있는 텍스 툴이 필요하다. 텍스 툴은 약 1만원 정도면 구입할 수 있을 것이다. 프로그래밍 소프트웨어는 아래에서 설명한다.

< SP12 롬 라이터 >

   다음은 SP12 ISP를 보인다. 위의 SP12 롬 라이터 보다 싸면서도 유연성있는 프로그래머를 제작할 수 있다.그림에서 보인 AT90uC측의 VCC는 회로 상의 전원임을 상기하기 바란다. 아래의 ISP를 구현하기 위해서는 먼저 AVR 회로를 만능 기판이나 브레드 보드 상에 꾸민 후에(당연히 보드상에 전원과 클럭이 준비되어야 한다.) 그리고 아래의 점선으로 그려진 부분을 커넥터 형태로 만들어서 AVR회로와 연결하면 된다.

< SP12 ISP >

  

 

가격

지원 OS

지원 소프트웨어

SP12 롬 라이터

약 15,000원

DOS, Win9x, NT, Win2000, Linux

SP12.EXE

SP12 ISP

약 2,000원

DOS, Win9x, NT, Win2000, Linux

SP12.EXE

 

  다음은 SP12 프로그래밍 소프트웨어이다. 자세한 정보는 여기를 참고하기 바란다.

  • SP12(Win9x, DOS) : AT90S 시리즈 프로그래밍 가능, Win95, Win98, Dos 용
  • SP12(NT, Win2000) : AT90S 시리즈 프로그래밍 가능, NT4.0, Windows 2000용
  • SP12(Linux) : AT90S 시리즈 프로그래밍 가능, 리눅스용
  • SP12_Mega(Win9x, DOS) : AT90S 뿐만 아니라 Mega 시리즈도 프로그래밍 할 수 있다.

Back to Top

 

Dummy Parallel ISP

 

   Dummy parallel ISP란 PC의 병렬 케이블을 직접 AVR에 연결하여 프로그래밍하는 방식이다(병렬 케이블 커넥터와 점퍼선만 있으면 된다). 연결 방법은 다음과 같다.

AVR

PC 병렬 케이블

신호이름

핀번호

신호이름

GND

19

GND

GND

21

GND

SCK

1

Strobe

MOSI

2

Data0

MISO

11

Busy

Reset

16

Init

This scheme works with all parallel port modes (EPP,ECP, classic).

Copyright (C) 1998 by Alexey Lapshin and Sergey Larin

This scheme can be modifyed as described in send_byte.s

< Dummy parallel ISP >

 

 

가격

지원 OS

지원 소프트웨어

Dummy Parellel ISP

약 1,000원

Linux, Win9x, WinNT(???)

UISP

 

   Dummy parallel ISP의 또다른 장점은 Linux용 gdb를 이용하여 런타임 디버거로 이용할 수 있다는 것이다. 프로그래밍 소프트웨어는 UISP로 다음과 같다. 참고로 UISP는 기본적으로 리눅스용으로 개발되었으며, Dummy parallel ISP 뿐만 아니라 STK200, STK300등을 지원하고, 특이한 점은 Altera의 CPLD 프로그래밍 툴인 Byte BlasterMV도 지원한다.

   리눅스용 UISP에 대한 자세한 설명은 여기를 참고하고, 윈도우용 UISP는 여기를 참고하기 바란다.

Back to Top

 

ISP(In System Programmer) : 시스템에 프로그래밍을 위한 회로와 커넥터가 마련이 되어있어서 따로 롬 라이터를 이용하지 않고도 PCB 기판 상에서 프로그래밍이 가능하도록 하는 도구. 일반 롬라이터는 전원과 클럭을 롬라이터 자체적으로 공급해야 하는 반면에 ISP는 PCB 회로상의 전원과 클럭을 이용한다. 최근에 인기있는 방식으로 약간의 회로 추가로 시스템의 디버깅이 용이하고 업그레이드가 쉬운 시스템을 만들 수 있다는 장점이 있으나 부피가 커지고 제품 단가가 올라간다는 단점이 있다.

Back to Top

상호 : (주) 로보블럭 사업자등록번호:214-86-56219 통신판매업신고19-2544 대표: 신대섭 전화:(02)2679-8556 Fax :(02)2679-8557
본사 : 경기도 부천시 원미구 약대동 부천 테크노파크 401동 502호     서울사무소 : 서울시 영등포구 문래동 4가 8-1 4층
Copyright(C) 2004, (주) 로보블럭 시스템즈 All Rights Reserved E-Mail : WebMaster