티스토리 뷰

EMBEDDED/8-bit AVR

1) Introduction

chrisysl 2018. 4. 11. 22:22

1. 학습 내용

 · 디지털 출력, 입력 - LED, 7SEG, LCD, Buzzer 등

 · 아날로그 입력 - 전압, 온습도 센서


AVR 이라는 MCU의 디지털 출력 및 아날로그 입력을 알아보도록 한다.

디지털 출력으로는 LED의 불빛 제어, 7SEG에 숫자 출력, LCD에 글자 표시 또는 부저를 이용해서 멜로디 연출 등

아날로그 입력으로는 전압측정 또는 온습도 센서를 읽어들여서 표시하는 예제 정도를 다뤄볼 예정






2. 학습 과정

 · 제어할 대상에 대한 이해

 · 코딩과 디버깅의 반복


코드는 C언어로 작성, 컴파일 이후 JTAG 이라는 툴을 이용해서 작성한 프로그램을 실습 보드에 넣고

의도한대로 작동 하는지 확인하게 된다. 이 과정을 디버깅 이라고 한다.






3. AVR

 · 8-bit AVR의 대표 모델(마이크로컨트롤러 : MCU)

 - ATmega128A

 - 교육 및 소량 다품종 개발용으로 많이 사용된다

 - 관련 자료가 많이 퍼져있다.


 · 이번 과정에서 사용하는 모델

 - ATmega168PB

 - 128A 보다 소형, 저전력에 적합

 - 동작 속도, 외부 인터럽트 기능 등이 강화되어 있다.

 - JTAG이 포함된 저렴한 ATMEL 공식 실습 보드가 존재한다.






4. 사전 지식

 · 기초 학습

 - C언어 기본

 - 회로(전압, 전류, 저항..)

제어 대상에 대해 학습할 때, 회로에 대한 이해가 필요하기때문에 선행 되어야 한다.


 · 개발자

 - C언어 

     - 파일 분리, 헤더 파일

     - 포인터, 함수

     - 자료구조, 알고리즘

 - 회로이론

     - 제어 대상의 datasheet 해석

     - 회로도 분석 (오류 검증)

회로쪽에서는 프로그래밍 할 프로그램에서 제어대상의 데이터시트를 해석할 수 있어야한다.

어떤 코드를 짜서 대상을 움직여줘야된다 라는 이해가 필요하기 때문에,

데이터시트의 해석에 필요한 회로지식이 요구된다.


코드를 아무리 수정하여도 원하는(의도한) 동작이 안나오는 경우가 있다. 

이 경우 하드웨어적인 부분을 의심을 해 봐야하는데, 회로를 확인해서 그 방향을 수정해야 할 경우가 생긴다.






5. 기본 개발 환경

 · ATMEL STUDIO 7( IDE + GCC + Simulator )

 · ATMEL-ICE ( JTAG In Circuit Debugger )

 · Evaluation Board

 · 계측기 (오실로스코프, 전원공급기, 멀티미터)

ATMEL STUDIO 7 은 Visual Studio 같은 툴이다. 소프트웨어 디버거를 띄우는 툴이 된다.

Evaluation Board는 입력한 동작을 실제로 실행해보고 평가해보기위한 보드

본격적인 개발은 오실로스코프, 가변적 전압측정에 필요한 전원공급기, 

코드가 정상적으로 신호를 주는지 확인하기위한 멀티미터 등이 필요






6. 학습 도구

 · Xplained Mini

 - JTAG + Evaluation Board

 - 소형이라 휴대하기 쉽고, 가격이 저렴

 - 아두이노와 호환되도록 소켓을 붙일 수 있음

최근의 보드들은 JTAC을 독립적이 아닌 아예 내장을 하고 있고, 그 하단에 MCU 그리고 스위치, LED 정도가 붙어있다.

나머지는 사용자가 임의대로 연결이 가능하게 모든 핀들을 커넥터를 붙힐 수 있도록 해 놓았다.



 · Basic Shield

 - 아두이노 소켓에 연결 할 수 있는 실습보드

 - 브레드 보드 연결에 익숙치 않은 경우에 편리하다.

 - XPlained-Mini는 소켓을 직접 땜하거나 붙여서 판매하는 제품을 구입해야한다.






따라서 최종 실습 진행 환경으로는

1. Xpalined-mini ATmega168PB (ATMEL)

2. Basic Shield

를 가지고 진행한다.













댓글
댓글쓰기 폼
공지사항
Total
295,316
Today
12
Yesterday
276
링크
TAG
more
«   2022/09   »
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  
글 보관함