4 ATmega128 디지털 I/O 인터페이스 마이크로컨트롤러 AVR ATmega128.

Slides:



Advertisements
Similar presentations
10-7 부동소수점 (Floating-Point) 계산  컴퓨터에서 숫자를 표기하는 방법  가수 (Fraction) : 부호화된 고정소수점 숫자 지수 (Exponent) : 소수점의 위치를 표시 ( 예 )10 진수 를 표기하면 Fraction Exponent.
Advertisements

6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
Progress Report YoonMo Yeon
재료수치해석 HW # 박재혁.
                                  9장 컴퓨터 기반 데이터 수집의 기초.
임피던스(Impedance) 측정 일반물리 B실험실 일반물리실험 (General Physics Experiment)
자바실험실 이동준 우리 곁으로 다가온 사물 컴퓨팅 자바실험실 이동준.
                                  7장 D/A 변환기 D/A Converter? D/A Converter 원리 Bit 수와 최대범위 및 해상도와의 관계.
아두이노 센서의 연결 디지털 및 아날로그 센서값의 특징 디지털 센서 핀 구조 및 연결하기 아날로그 센서 핀 구조 및 연결하기
제 3 장 74HC541 소자를 이용한 키 입력 및 74HC574로 출력하기.
Excel 일차 강사 : 박영민.
Chapter 13 기타 연산 증폭기회로.
아날로그 입력과 출력.
2015년 2학기 PULSE 4 전자물리실험 05 - 수위 감지 경보 회로 - DSU 메카트로닉스 융합공학부 -
실험 8. 연산증폭기 특성 목적 연산증폭기의 개관, 특성 및 사용법 이해 입력저항, 개루프 이득, 출력저항, 슬루레이트 등
오브젝트 플립플롭 IT CookBook, VHDL을 이용한 디지털 회로 입문.
전기공학실험 함수발생기 설계.
실험 11. 트랜지스터 증폭기의 부하선 해석 방 기 영.
28장 전기회로.
어셈블리 문법 보강 4월 10일.
실험 3 - 비선형 연산 증폭기 회로와 능동 필터 전자전기컴퓨터공학부 방 기 영.
오브젝트 조합 회로 IT CookBook, VHDL을 이용한 디지털 회로 입문.
Chapter 02 논리회로.
디지털영상처리 및 실습 대구보건대학 방사선과.
실험1. 연산 증폭기 특성 전자전기컴퓨터공학부 방기영.
컴퓨터 응용과 3학년 1반 조장 김영조 조원 구본건 , 임선택
멀티미디어 시스템 (아날로그 이미지,신호를 디지털로 변환 방법) 이름 : 김대진 학번 :
“DC POWER SUPPLY의 소개”.
저항 Resistance.
DK-128 ADC 실습 아이티즌 기술연구소
ATmega128 FND 실습 휴먼네트웍스 기술연구소
DK-128 FND 실습 아이티즌 기술연구소 김태성 연구원
임피던스 측정 B실험실 일반물리실험 (General Physics Experiment).
Microprocessor I/O Port & CLCD Noh Jin-Seok.
과제#4 내용 정성훈.
실험4. 키르히호프의 법칙 실험5. 전압분배회로 실험6. 전지의 내부저항
디지털회로설계 (15주차) 17. 시프트 레지스터와 카운터 18. 멀티바이브레이터 * RAM & ROM.
실험 12. Op Amp 응용회로.
DMX 통신선에 전원(24V) 연결 시 보호 회로 내장 ( 통신-IC 파괴되지 않음 )
Ⅰ. 전기와 자기 전압.
디지털회로설계_강의안1 1. NOT, OR, AND 게이트.
DK-128 FND 실습 아이티즌 기술연구소
오브젝트 순서회로 IT CookBook, VHDL을 이용한 디지털 회로 입문.
연산자 (Operator).
Lab #5. Capacitor and inductor
Chapter 5 트랜지스터 바이어스 회로.
논리회로 설계 및 실험 5주차.
1 전기와 전기 회로(03) 전기 회로의 이해 금성출판사.
1. 2진 시스템.
UNIT 25 SPI 로봇 SW 교육원 조용수.
ATmega128의 특징 아이티즌 기술연구소
계산기.
Thevenin & Norton 등가회로 1등 : 임승훈 - Report 05 - 완소 3조 2등 : 박서연
2. 누화와 케이블링 1. 서론 2. 용량성 누화 3. 유도성 누화 4. 복합적인 누화(누화의 일반적인 이해)
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
DK-128 직렬통신 실습 아이티즌 기술연구소
AT MEGA 128 기초와 응용 I 기본적인 구조.
Slide wire형 Wheatstone Bridge에 의한 저항 측정
Ⅰ 전자기초 Ⅱ 디지털 논리회로 Ⅲ C언어 기초 Ⅳ AVR 마이크로 컨트롤러 Ⅴ 마이크로 컨트롤러 개발환경
UNIT 25 SPI 로봇 SW 교육원 조용수.
생체 신호의 실시간 디지털 처리 7조 홍윤호( )-1등
논리회로 설계 및 실험 4주차.
디지털회로설계_강의안3 4. X-OR, X-NOR 게이트 5. 오픈컬렉터와 3상태 버퍼/인버터.
5.1-1 전하의 흐름과 전류 학습목표 1. 도선에서 전류의 흐름을 설명할 수 있다.
AdcRead API 함수 분석 마이크로프로세서.
5-8. 전기 제품에 열이 발생하는 이유는? 학습 주제 < 생각열기 >
회로 전하 “펌핑”; 일, 에너지, 그리고 기전력 1. 기전력(electro-motive force: emf)과 기전력장치
컴퓨터는 어떻게 덧셈, 뺄셈을 할까? 2011년 10월 5일 정동욱.
아날로그 신호를 디지털 신호로 변환하는 A/D 변환기 A/D 변환 시 고려하여 할 샘플링 주파수 D/A 변환기
버스와 메모리 전송 버스 시스템 레지스터와 레지스터들 사이의 정보 전송을 위한 경로
Presentation transcript:

4 ATmega128 디지털 I/O 인터페이스 마이크로컨트롤러 AVR ATmega128

학습목표 디지털 정보 전달을 위한 전기신호와 외부 장치 구동을 위한 구동 전기신호의 차이를 알 수 있다. 디지털 정보 전달을 위한 전기신호와 외부 장치 구동을 위한 구동 전기신호의 차이를 알 수 있다. TTL(Transistor-Transistor-Logic) IC를 이용하여 LED를 구동하기 위한 전기적․광학적 특성을 알 수 있다. ATmega128의 디지털 I/O 핀으로 논리값을 외부로 입출력할 때 디지털 전압레벨과의 관계를 알 수 있다. ATmega128의 디지털 I/O 핀의 전기적 특성을 이해하고, LED를 연결하여 광속 발산을 위한 구동 방법을 알 수 있다. ATmega128의 디지털 I/O 핀을 이용한 레지스터 설정 방법을 이해하고, B포트의 LED 점멸 방법을 실험을 통해 알 수 있다. 디지털 I/O의 특정 핀을 통해 논리값을 입출력하기 위한 비트 매스킹 방법을 알 수 있다.

목 차 디지털 IC와 외부 인터페이스 디지털 IC를 이용한 LED 구동 (동영상) ATmega128 핀을 이용한 논리값의 외부 입출력 ATmega128의 포트 구성과 레지스터를 이용한 인터페이 스 논리값과 I/O 핀의 디지털 전압레벨과 변환 B포트를 이용한 LED 점멸 (동영상) 3

Section 01 디지털 IC와 외부 인터페이스 사칙연산 식에 숫자를 대입하여 생활에 적용 논리연산 식에 논리 값을 대입하여 생활에 적용 (사례) 방범창살이 정상이고 유리창이 열려 있다면, 침입은 감지되지 않음 (사례) 40인승 버스 8대에 승차할 수 있는 최대 인원은 320

Section 01 디지털 IC와 외부 인터페이스 디지털 정보 표현 숫자 : 2진수 체계를 갖는 한정된 비트의 디지털값으로 변환된 정보 문자 : 한정된 비트 크기의 2진화된 코드로 변환된 정보 영상, 음성 : 샘플링 단위를 중심으로 해상도에 의해 제한된 비트 크기의 코딩 기법으로 변환된 정보 논리 : 1과 0의 2진 논리 정보(참일 때 1, 거짓일 때 0) 디지털 IC 문자, 영상, 음성, 논리 등을 디지털 정보화하고, 디지털 IC 내부에서 전기신호로 빠르게 처리

Section 01 디지털 IC와 외부 인터페이스 정보처리용 디지털 IC의 I/O 장치 인터페이스 디지털시스템의 디지털 IC 사이는 빠른 디지털 정보 연산과 정보 전달 고속의 저전력 신호 사용 디지털시스템의 계산 결과를 자연신호로 변환 사용 연산 결과 정보를 구동 전기신호로 생활 자연현상에 적용 자연현상에 영향을 주기 위한 충분한 전기에너지로 변환하여 장치 구동

Section 01 디지털 IC와 외부 인터페이스 정보 연산을 위한 NOT 게이트의 전기적인 특징 출력이 HIGH일 때, IOH 값 -0.4[mA]는 LED를 구동하기에는 미흡 출력이 LOW일 때, IOL 값 16[mA]는 LED를 구동하기에 충분

Section 01 디지털 IC와 외부 인터페이스 전압의 양수, 음수값은? - 위치에 대한 + 위치의 전압 차 양수 : + 위치의 전압이 더 높음 음수 : - 위치의 전압이 절댓값만큼 더 높음 전류의 양수, 음수값은 양수 : 화살표 방향과 같은 방향으로 전류가 흐름 음수 : 화살표 반대 방향으로 절대값 만큼 전류가 흐름 화살표가 없을 때 양수 : 장치로 흘러 들어가는 양 음수 : 절대값만큼 장치에서 흘러 나가는 양

Section 02 디지털 IC를 이용한 LED 구동 실험 목적 (1) 디지털 정보 전달과 처리에 적합한 디지털 IC를 이용하여 LED 소자를 구동할 수 있는지 확인 (2) 정보처리용 디지털 IC의 디지털 I/O 핀의 공급 전류, 전압 특성을 확인하여 LED를 구동할 수 있는 회로 구성

Section 02 디지털 IC를 이용한 LED 구동 실험 회로 1

Section 02 디지털 IC를 이용한 LED 구동 실험 회로 2

Section 02 디지털 IC를 이용한 LED 구동 실험 결과 및 고찰 LED 전기적•광학적 특성 전기적•광학적 특성과 측정값을 고려하여 어떤 회로가 LED를 구동하기 적합한지 판단

Section 02 디지털 IC를 이용한 LED 구동 LED 구동 (video.zip 참고 / 4-2)

Section 03 ATmega128 핀을 이용한 논리값의 외부 입출력 PA0~PA7, PB0 ~PB7, PC0~PC7, PD0~PD7, PE0~PE7, PF0~PF7, PG0~PG4

Section 03 ATmega128 핀을 이용한 논리값의 외부 입출력 입력 핀 회로에서 디지털 전압레벨로 변환 ATmega128 입력 핀을 통해 내부 논리값(1 또는 0)으로 읽힘 출력 핀 프로그램 수행 결과로 얻은 논리값은 디지털 전압레벨로 출력 출력 신호로 적은 전력이 필요한 외부 장치를 직접 구동 가능

Section 03 ATmega128 핀을 이용한 논리값의 외부 입출력

Section 03 ATmega128 핀을 이용한 논리값의 외부 입출력 5[V] 전원 사용 전압 사례 논리값 출력 1 : 적어도 4.0[V] 이상의 HIGH 디지털 전압레벨 출력 0 : 아무리 높아도 0.7[V] 넘지 않는 LOW 디지털 전압레벨 출력 논리값 인식 1 : 입력 HIGH 디지털 전압레벨, 적어도 3.0[V] 이상의 전압 0 : 입력 LOW 디지털 전압레벨, 아무리 커도 1.0[V] 이하의 전압

Section 03 ATmega128 핀을 이용한 논리값의 외부 입출력 잡음여유 1에 대한 잡음여유 1을 전압레벨로 출력할 때, 최소전압과 1로 인식되는 최소전압 차 5[V] 사례 1을 출력할 때의 최소 전압 : 4.0[V] 1로 인식되는 최소 전압 : 3.0[V] 1에 대한 잡음여유 = 4.0[V] – 3.0[V] = 1.0[V] 0에 대한 잡음여유 0을 전압레벨로 출력할 때, 최대전압과 0으로 인식되는 최대전압의 차 0을 출력할 때의 최대 전압 : 1.0[V] 0으로 인식되는 최대 전압 : 0.7[V] 0에 대한 잡음여유 = 1.0[V] – 0.7[V] = 0.3[V]

Section 03 ATmega128 핀을 이용한 논리값의 외부 입출력 ATmega128 디지털 I/O 핀의 전기적 특성 디지털 IC와 ATmega128 I/O 핀의 전류 특성 비교 외부 장치 구동을 위해 일반 IC보다 더 큰 전류를 공급하거나 흡수 필요

Section 03 ATmega128 핀을 이용한 논리값의 외부 입출력 전류 특성 비교 HIGH 전압레벨이 출력될 때 방출되는 전류 TTL IC : 0.4[mA] ATmega128 : 40[mA] LOW 전압레벨이 출력될 때 흡수되는 전류 TTL IC : 8[mA] ATmega128 : 40[mA]

Section 03 ATmega128 핀을 이용한 논리값의 외부 입출력 HIGH 전압레벨로 LED를 켤 수 있는 회로 비교 ※ TTL IC 규격표의 0.4[mA] 전류로 LED 구동이 어려움 (실제 출력 전류는 규격을 초과한 수 mA 전류가 방출될 수 있음)

Section 03 ATmega128 핀을 이용한 논리값의 외부 입출력 출력 핀 모델링 특성과 실제 특성 출력 핀의 테브낭 등가회로 모델링 테브낭 등가회로의 Vth는 5[V], Zth를 25[Ω]로 가정한 특성곡선

Section 03 ATmega128 핀을 이용한 논리값의 외부 입출력

Section 03 ATmega128 핀을 이용한 논리값의 외부 입출력 최대 절대 정격 정격(Rating)으로 제시하는 값은 그 범위 안에서 사용할 수 있으며, 제조 회사에서 제공 최대 절대 정격은 어떤 경우에서도 꼭 지켜야 하는 엄격한 정격

Section 03 ATmega128 핀을 이용한 논리값의 외부 입출력 고휘도 LED의 전기적 특성 약 500[mW] 이하 소비 전력에서 일반 LED보다 밝은 빛을 방출

Section 03 ATmega128 핀을 이용한 논리값의 외부 입출력 ATmega128 디지털 I/O 핀을 이용한 고휘도 LED 구동 저항값 결정 고휘도 LED HW321A에서 4.2[lm]의 광속을 발산하기 위한 회로 저항값 R 결정 HW321A의 전류-상대광속 특성곡선과, 순방향 전압-전류 특성곡선 참조

Section 03 ATmega128 핀을 이용한 논리값의 외부 입출력 원하는 밝기를 내기 위해 LED에 흘러야 할 전류 ID 결정 전류와 상대광속과의 특성 그래프에서 원하는 전류 확인 : 20[mA] LED의 전압강하 VD 결정 HW321A의 순방향 전압-전류 특성곡선에서 20[mA] 전류가 흐를 때 LED의 전압강하 VD 결정 : 3.25[V] ATmega128 출력 핀의 전압 VAVR 결정 ATmega128 출력 핀의 부하에 따른 전류•전압 특성곡선에서 20[mA] 전류가 방출될 때 ATmega128 출력 핀의 VAVR 결정 : 3.25[V] 저항 양단의 전압강하 VR과 저항값 R 계산

Section 03 ATmega128 핀을 이용한 논리값의 외부 입출력 실제 저항 선택 꼭 맞는 저항이 없으므로, 근사한 저항 사용 : 60[Ω]을 선택할 때 저항 오차 정밀 저항을 선택했을 때 소비 전력 계산 LED의 소비 전력은 65[mW]로서 최대 절대 정격의 소비전력 안에 있음 저항의 소비 전력은 25[mW]이므로, 정격이 1/8[W] 저항소자 선택 가능 60[Ω] 근사 저항으로 계산된 소비 전력과 오차는?

Section 04 ATmega128의 포트 구성과 레지스터를 이용한 인터페이스 ATmega128 I/O 핀의 구조 ATmega128의 디지털 입출력을 위한 핀 구조

Section 04 ATmega128의 포트 구성과 레지스터를 이용한 인터페이스 Pxn 핀 방향 설정을 위한 레지스터 비트명과 신호 Pxn 핀 출력 설정 DDxn(x는 A~G, n은 0~7) 플립플롭에 1을 기록 Three-state Buffer는 정상적으로 동작 PORTxn(x는 A~ G, n은 0~7) 플립플롭 값이 Pxn 핀으로 출력

Section 04 ATmega128의 포트 구성과 레지스터를 이용한 인터페이스 Pxn 핀 입력 설정 DDxn(x는 A~G, n은 0~7) 플립플롭에 0을 기록 Three-state Buffer는 고저항(High-impedance) 상태 Pxn 핀의 디지털 전압레벨은 슈미트 트리거 버퍼를 통해 잡음에 둔감 PINx 레지스터의 PINxn 비트를 읽는 순간, 내부 데이터 버스로 입력 내부 풀업저항 연결 PUD는 0이고, PORTxn이 1이면 내부 풀업용 스위칭 트랜지스터가 ON되어 내부 풀업저항 연결 내부 풀업저항 개방 PUD는 1 혹은 PORTxn이 0이면 내부 풀업용 스위칭 트랜지스터가 OFF되어 풀업저항이 연결되지 않음

Section 04 ATmega128의 포트 구성과 레지스터를 이용한 인터페이스 ATmega128 디지털 I/O 레지스터 역할과 포트 구성 DDRx 레지스터 데이터 방향 레지스터(Data Direction Register)로서, 포트에 포함된 핀의 입출력 방향 결정 PORTx 레지스터 포트에 대한 데이터 레지스터(Data Register) 출력 방향일 때, 논리값을 디지털 전압레벨로 출력 0이 되어 핀이 입력 방향일 때, PORTxn 값이 1로 설정되면 ATmega128 내부에서 Pxn 핀에 풀업저항 연결 PINx 레지스터 입력 핀 레지스터 핀이 입력 방향일 때, 핀의 디지털 전압레벨을 논리값으로 읽음

Section 04 ATmega128의 포트 구성과 레지스터를 이용한 인터페이스 레지스터와 포트 구성 53개 Pxn과 연결된 DDRx, PORTx, PINx 레지스터가 8비트 버스와 연결 A포트에서 F포트까지는 DDRx 레지스터, PORTx 레지스터, PINx 레지스터가 8비트로 구성 G포트는 하위 5비트만 사용할 수 있게 구성

Section 04 ATmega128의 포트 구성과 레지스터를 이용한 인터페이스 DDRx, PORTx, PINx 레지스터 DDRx 레지스터의 초깃값이 0이므로 최초 설정은 모두 입력 입력인 상황에서 PORTx 레지스터의 초깃값이 0 Pxn 핀은 풀업저항이 연결되지 않은 고저항(High-impedance)인 입력 핀 Pxn 핀에 인가되는 초기 전압은 예측할 수 없어 PINx 초깃값이 N/A

Section 05 논리값과 I/O 핀의 디지털 전압레벨과 변환 입출력 방향 설정과 논리값 출력 방법 출력 핀 설정과 논리값을 디지털 전압레벨로 출력

Section 05 논리값과 I/O 핀의 디지털 전압레벨과 변환 PINxn 입력 핀의 전압레벨 검사 HIGH 디지털 전압레벨 : 0이 아닌 값(TRUE) LOW 디지털 전압레벨 : 0(FALSE)

Section 05 논리값과 I/O 핀의 디지털 전압레벨과 변환 #include <avr/io.h> 문장을 프로그램 앞에 넣어 정의된 레이블 사용 DDxn, Pxn, PINxn 모두 같은 상수로 정의 되어 있음 간단히 Pxn으로 사용해도 무방

Section 05 논리값과 I/O 핀의 디지털 전압레벨과 변환 DDRx 레지스터, PORTx 레지스터, PINx 레지스터의 비트 설정 상수를 사용한 핀 방향 설정 출력 방향 설정 핀 : PA7, PA6, PA5, PA4 입력 방향 설정 핀 : PA3, PA2, PA1, PA0 하나 또는 두 핀만의 방향을 설정하려고 해도 8비트 모두 설정 다른 비트들보다 앞서 설정된 정보 추적이 필요 가독성이 떨어짐

Section 05 논리값과 I/O 핀의 디지털 전압레벨과 변환 비트 명칭과 비트 연산을 사용한 핀 방향 설정 다른 비트와 상관없이 비트 7과 비트 6만을 1로 만들 수 있음 기존 비트 설정을 추적할 필요가 없음 C 언어 실행 순서에 따라 연산 ❷ ❶

Section 05 논리값과 I/O 핀의 디지털 전압레벨과 변환 ❸ ❹

Section 05 논리값과 I/O 핀의 디지털 전압레벨과 변환 설정 값 변경 ❶ 괄호부터 처리 PORTA와 0xF를 AND시켜 0 위치를 클리어함 ❸ 1 << PA6 ❷ 1 << PA7

Section 05 논리값과 I/O 핀의 디지털 전압레벨과 변환 ❹ (PORTA & 0xF) | 1 << PA7 | 1 << PA6 PORTA의 8비트 중 상위 4비트 PA7, PA6, PA5, PA4 핀만 갱신 갱신 전압레벨은 HIGH, HIGH, LOW, LOW PA3, PA2, PA1, PA0는 출력값이 변하지 않음

Section 05 논리값과 I/O 핀의 디지털 전압레벨과 변환 PINx 레지스터로 특정 핀의 논리값을 입력하는 방법 입력 PA7, PA6 두 핀의 디지털 전압레벨을 value의 하위 두 비트로 입력 ❶ DDRA = DDRA & ~(1 << PA7) & ~(1 << PA6); A포트의 PA7과 PA6 핀은 입력 방향으로 설정 ❷ PINA >> PA6 >>의 논리 천이 동작이 PA6회, 즉 6회 수행될 때 최상위 비트는 0으로 채워짐 value 변수는 PA7, PA6 핀의 논리값을 하위 비트로 갖게 됨

Section 05 논리값과 I/O 핀의 디지털 전압레벨과 변환 PINx 레지스터로 특정 핀의 디지털 전압레벨 판정 if(조건식) 문에서 조건식이 0이면 거짓, 0이 아니면 참으로 판별 PA5 핀이 HIGH 전압레벨이면, 조건식이 0이 아니므로 참 PA5 핀이 HIGH 전압레벨이면, 조건식이 0이므로 거짓

Section 05 논리값과 I/O 핀의 디지털 전압레벨과 변환 ATmega128에 연결된 회로의 디지털 입출력 설정 상수를 사용한 입출력 핀 방향 설정 비트 명칭을 사용한 핀 방향 설정

Section 06 B포트를 이용한 LED 점멸 실험 목적 B포트에 연결된 스위치와 LED를 이용하여 입출력 동작 수행 스위치가 눌릴 때 LED ON 스위치 S0  LED D0, D1을 ON/OFF 스위치 S1  LED D2를 ON/OFF 스위치 S2  LED D3을 ON/OFF 스위치 동작 눌리지 않으면 HIGH 전압레벨 눌리면 LOW 전압레벨

Section 06 B포트를 이용한 LED 점멸 <레이블 정의> 출력 핀 결정 (나머지는 입력) S0 스위치 눌리면 참 D0, D1 LED 켬 D0, D1 LED 끔

Section 06 B포트를 이용한 LED 점멸 LED 점멸 (video.zip 참고 / 4-6)

IT CookBook, 마이크로컨트롤러 AVR ATmega128 Thank You IT CookBook, 마이크로컨트롤러 AVR ATmega128