안녕하세요.
대학생 학부 시절 임베디드 시스템을 공부하고 4년이 지난 시점에서 취미생활로 작품 활동을 하기 위해 다시 시작하고자 합니다. 직장인이다 보니 바쁜 시간을 쪼개어 시작하려고 하니 머리가 아프네요.
이러한 고민을 해결해주는 아이템으로 최근에 출시된 아두이노와 같은 개발 환경을 갖추면 복잡한 코딩 없이도 누구나 쉽게 센서를 제어할 수 있어 구미가 당겨 집니다. 하지만 코드를 하나하나 짜보면서 하드웨어를 제어하는 것이 진정한 재미 이므로 AVR를 사용한 개발환경을 구축해 볼까 합니다.
먼저 AVR이 무엇인지 살펴보고려고 합니다.
AVR은 1996년 아트멜社에서 개발된 하버드 구조를 갖는 8비트 RISC 방식의 단일칩 마이크로컨트롤러 입니다. 현존하는 대부분의 8비트 마이크로 컨트롤러들은 하버드 아키텍처를 기반으로 제작되었습니다. 따라서 메모리와 데이터 메모리가 서로 분리되어 있어 CPU가 독립적으로 프로그램과 데이터에 접근이 가능한 구조입니다.
아래 블록다이어그램을 보면 Flash Program Memory와 DATA SRAM이 각각 존재하고 있고 Data bus로 연결되어 있는 것을 볼 수 있습니다.
앞서 설명한 하버드 구조의 장점때문에 AVR은 ISP(In-System Programming)기능을 제공하여 손쉽게 내부 FLASH 메모리에 PROGRAM를 저장할 수 있는 기능을 제공합니다. AVR에서 사용되는 ISP는 저렴한 가격에 직접 만들어 쓸 수 있는 장점이 있습니다.
(AVR의 ISP관련 참고 자료 : http://www.atmel.com/images/doc0943.pdf)
필자는 AVR 하드웨어 구축을 위해 아래 사이트에서 10만원으로 구입하여 활용하기로 했습니다.
- 구매이유 : 중국산 AVR 보드 및 다양한 센서를 싼가격에 구입 가능
이곳에서 판매하는 Atmega128 Training KIT 생각보다 저렴한 가격에 구성이 잘되어 있어 좋았지만 막상 프로그램을 코딩하려고 보니 간단한 회로가 아니여서 첫 맨붕을 겪게 해주었습니다. Character LCD는 아두이노에 바로 사용할 수 있도록 만들어져 있어 기존 LCD 제어 코드는 활용이 불가능하여 새로이 I2C로 제어할 수 있도록 만들어야 합니다. 한가지 마음에 드는 점은 AVR ISP가 USB로 되어있어 정말 빠르고 쉽게 펌웨어를 업데이트 할 수 있어 가격대비 성능이 최상이라 생각 됩니다.
예전 같으면 한땀한땀 납땜하여 보드를 만들었을 테지만 많은 시간과 노력이 필요하므로 나중으로 기약하려고 합니다. 조금더 여력이 된다면 대학생때 처럼 소리전자에서 중고 오실로스코프 또는 Logic ananlyzer를 구매할 까합니다.
이상입니다.
피드 구독하기:
댓글 (Atom)
[C++] 연습문제 1-2
/****************************************************************************** - 피트(feet)를 인치(inch)로 변환시켜주는 프로그램을 작성 - 사용자로부터 피트를 입력받아 인치로...
-
개발보드에 7-SEGMENT 회로는 아래와 같다. PORT.A를 통해 74HC595 와 74LS138 IC를 제어하여 8자리 7-SEGMENT를 구동시키는 회로이다. 일반적으로 1개 포트를 사용해 1개의 7-SEGMENT를 제어할 수 있는데 P...
-
디스플레이 장치에 Direct bonding을 적용할 경우 광학적 개선효과 분석 필자는 2012 년도에 국내 디스플레이 대기업인 S 사와 함께 13.3”, 15.6”, 21.5”, 23.6”, 24.0” 등 다양한 개발모델을 가지고 ...
-
아두이노에 사용되는 I2C 2004 20X4 Character LCD Module Display를 Mega128를 사용하여 제어할 계획입니다. 아두이노는 간단히 LCD를 제어할 수 있지만 mega128은 포트에 직접 연결하여 제어하는 방식이 일반적...
댓글 없음:
댓글 쓰기