ATMega128 I/O Ports KyungHee Univ..

Slides:



Advertisements
Similar presentations
Embedded System 2009 년 11 월 16 일 Embedded Computer1 ● Hardware 와 Software 가 조합되어 특정한 복적을 수행하는 시스템 ● 특정한 기능을 수행하도록 Micro Processor 와 I/O Device 를 내장하며,
Advertisements

컴퓨터 계측 및 실습 개 요 영남대학교 기계공학부. PC 의 기본장치 PC 의 작동구조.
Family 의 개요 의 외부 Pin 기능과 내부 기능 Memory 구조 Timing 2 장 8051 의 구조.
AVR 응용 라인트레이서 AVR 소개 및 라인트레이서조립 2012 – AVR 응용 라인트레이서 부산대학교 기계공학부 생산자동화 실험실 박사과정 조광호.
KT-M128 Peripheral Device
마이크로프로세서설계 - 3 ATmega128 마이크로컨트롤러의 특징 LED 실습 1
DISPLAY Block diagram BASE BOARD CPU BOARD DDR-3 1GB (256MB X 4) CPU
AVR 실습.
PLC 프로그램의 작성 장치명 : GOLDSEC-M G5 金 溟 圭.
PIC는 우리의 친구 한국정보통신대학교 디지털미디어연구소.
마이크로프로세서 메모리 및 입출력장치 인터페이스
마이크로프로세서(Microprocessor,µP)
2013 스마트 컨트롤러 중간 프로젝트 김성엽 진종영 조유진
UNIT 15 Timer & Watch Dog 로봇 SW 교육원 조용수.
DC Motor Control Robotics_LAB 유 홍 선.
제어기술 소개 목표 : 제어기의 종류, 제어 방식 등을 살펴본다. 주요내용 제어기의 종류 제어방식 : 시퀀스, 피드백, 등.
10장 주변장치 (PIO) Slide 1 (of 28).
DC Motor Control.
2 AVR ATmega128 소개 마이크로컨트롤러 AVR ATmega128.
임베디드 하드웨어 Lecture #6.
자동제어 실험(2) 라인트레이서 제어.
PXA255-FPGA 장비 개요 및 실습 Lecture #9.
ATmega128 CH 1 Atmega 128 Board CodeVision.
DSP와 TMS320F28x의 이해.
PXA255-FPGA 장비 계요 및 실습 Lecture #9.
Introduce to ATmega128 & Codevision
1. 아두이노란 무엇인가? - 스마트 폰으로 제어하는 아두이노 -.
컴퓨터 구조.
Chapter 02 시스템 구조(System Structure)
Arduino uno의 Hardware 구성부품의 종류와 그 용도.
9장. 중앙처리 장치의 조직과 기능 다루는 내용 컴퓨터 본체에서 CPU의 위치 살펴보기 CPU의 성능, 기능, 조직
UNIT 18 AD Converter Test 로봇 SW 교육원 조용수.
6 중앙처리장치의 조직과 기능 IT CookBook, 컴퓨터 구조와 원리 2.0.
4 ATmega128 디지털 I/O 인터페이스 마이크로컨트롤러 AVR ATmega128.
Presentation 정보통신과 6조.
DK-128 ADC 실습 아이티즌 기술연구소
DK-128 ADC 실습 아이티즌 기술연구소
ATmega128의 구조 및 TOOL의 이해 Robotics_LAB 발표자 : 유 홍 선.
DK-128 실습 타이머카운터 사용법 아이티즌 기술연구소 김태성 연구원
DK-128 실습 EEPROM 제어 아이티즌 기술연구소
타이머카운터 사용법 휴먼네트웍스 기술연구소
ATmega128 FND 실습 휴먼네트웍스 기술연구소
DK-128 개발환경 설정 아이티즌 기술연구소 김태성 연구원
DK-128 FND 실습 아이티즌 기술연구소 김태성 연구원
Microprocessor I/O Port & CLCD Noh Jin-Seok.
Chapter 4 The Von Neumann Model.
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
6-1 중앙 처리 장치의 내부 구조 6-2 명령(instruction) 6-3 주소 지정 방식
8051 IO-PORT 정보통신•컴퓨터 공학부 송명규
DK-128 FND 실습 아이티즌 기술연구소
DK-128 실습 타이머카운터 사용법 아이티즌 기술연구소
DK-128 실습 내부 EEPROM 제어 아이티즌 기술연구소 김태성 연구원
DK-128 실습 타이머카운터 사용법 아이티즌 기술연구소
13장 CTC and DMA Slide 1 (of 10).
프로젝트 진행내용.
ATmega128의 특징 아이티즌 기술연구소
9장. 중앙처리 장치의 조직과 기능 다루는 내용 컴퓨터 본체에서 CPU의 위치 살펴보기 CPU의 성능, 기능, 조직
DK-128 개발환경 설정 아이티즌 기술연구소 김태성 연구원
DK-128 개발환경 설정 아이티즌 기술연구소
작동 원리 Keypad 박민호.
DK-128 직렬통신 실습 아이티즌 기술연구소
Ⅰ 전자기초 Ⅱ 디지털 논리회로 Ⅲ C언어 기초 Ⅳ AVR 마이크로 컨트롤러 Ⅴ 마이크로 컨트롤러 개발환경
UNIT 25 SPI 로봇 SW 교육원 조용수.
논리회로 설계 및 실험 4주차.
아두이노 프로그래밍 Lecture #
임베디드 하드웨어 Lecture #6.
Progress Seminar 양승만.
Lecture 7 7-Segment LED controller using u-controller
임베디드 프로그래밍 Lecture #
DK-128 실습 내부 EEPROM 제어 아이티즌 기술연구소 김태성 연구원
Presentation transcript:

ATMega128 I/O Ports KyungHee Univ.

6개의 8비트 양방향 병렬 I/O 포트(PORTA~F) 1개의 5비트 양방향 병렬 I/O 포트(PORTG) ATMega128 I/O Ports 6개의 8비트 양방향 병렬 I/O 포트(PORTA~F) 1개의 5비트 양방향 병렬 I/O 포트(PORTG) 각 PORT별 3개 I/O 레지스터 영역 DDR(Data Direct Register) : 입출력 방향 결정 PORT(Data Register) : 데이터 출력 PORT PIN(Port Input Pins Register) : 포트의 입력 핀 Rg DDR, PORT : 읽기/쓰기 가능, PIN : 읽기만 가능 KyungHee Univ.

Read-Modified-Write Cycle 지원 ATMega128 I/O Ports의 특징 특징 최대 40mA 구동 전류 LED 1개 구동 가능 선택 가능한 Pull Up 저항 내장 20K – 100K Ohm Vcc, GND 사이에 입력단 보호 Diode 내장 Read-Modified-Write Cycle 지원 다른 pin의 영향을 주지 않고 한 port 핀의 방향을 바꿀 수 있음 SBI : Set Bit in I/O Register 과 sbi PORTD, PD0 CBI : Clear Bit in I/O Register instruction 사용 cbi PORTD, PD0 KyungHee Univ.

ATMega128 I/O Ports 모든 Port는 다음과 같은 특성을 갖는다. Bit-selectable pull-up resistors Bit-selectable tri-state outputs Schmitt trigger input Synchronized to the system clock : 입력신호의 안정성에 기여(Pin Read Operation 시 1.5Cycle 이전에 Pin 신호가 안정화 되어야 함) 같은 port에 write한 다음 바로 read 시 nop instruction 필요(1.5Cycle Delay) : __no_operation(); Symmetrical DC drive capability KyungHee Univ.

AVR port architecture pull-up resistor Tri_State port pin schmitt trigger buffer analog switch port pin DDRx PORTx PINx Tri_State KyungHee Univ.

I/O Port input structure ATMega128 I/O Ports I/O Port input structure Protection diodes Programmable pull-up resistor port pin pull-up resistor KyungHee Univ.

IO Port Register Port A-G 동일

SFIOR: Special Function IO Reg. PUD PUD Set 0 : Pull-Up Enable PUD Set 1 : Pull-Up Diable DDxn = 0, PORTxn = 1로 설정되어도 이 bit가 우선함

Port A 부가 기능 외부 memory 확장 하위 8bit address와 8bit data ALE 신호

Port B 부가 기능 Timer/Counter Output SPI Bus Interface

Port C 부가 기능 외부 memory 확장 상위 8bit address

Port D 부가 기능 Timer/Counter Input USART Interface External Interrupt TWI Serial Interface

Port E 부가 기능 External Interrupt Timer/Counter Input and Output Analog Comparator UART Interface

Port F 부가 기능 ADC Input JTAG interface

Port G 부가 기능 RTC Oscillator External memory interface ALE/RD/WR

ATMega128 I/O Ports Port 이용 프로그램 작성시 고려 할 점 Input pins 1.5 clock cycle delay를 갖는다. Read Operation을 실행하기 1.5 clock cycle 전에 Input Pin의 상태가 안정 되어야 한다. I/O 관련 프로그램을 Transportable, Readable, More bug free 하게 작성 하기 위한 AVR ASM 프로그램 예 PORTF의 PF0,PF1를 Output Port로 정의 하는 경우 ldi r16, 0x03 sts DDRF, r16 과 같이 코딩 하는 것 보다 아래 와 같이 코딩 하는 것이 보다 적정 하다. .equ AC0 = r16 ldi AC0, ( 1<< PF0 ) | ( 1 << PF1) sts DDRF, AC0

AVR I/O port programming Program Files\Atmel\Atmel Toolchain \AvrAssembler\Native\2.1.1175\include \m128def.inc File에 Port 사용에 관련된 정의가 있다. 예 /*Data Register, Port B */ .equ PORTB = 0x18 …… /*Port B Data Register – PORTB */ .equ PB7 = 7 .equ PB6 = 6 .equ PB5 = 5 .equ PB4 = 4 .equ PB3 = 3 .equ PB2 = 2 .equ PB1 = 1 .equ PB0 = 0

AVR I/O port programming m128def.inc에서 .equ(or .def) 문을 이용하여 정의한 Symbol은 아래와 같이 이해하기 쉬운 프로그램 작성을 가능하게 한다. 예 .equ AC0 = r16 ldi AC0, (1<<PB0)|(1<<PB1) sts DDRB, AC0 ldi AC0, (1<<PB1) sts PORTB, AC0

AVR I/O port programming I/O Port Bit Operation 예 PORTA – PORTD(I/O Rg space)의 1 Bit를 Clear or Set 하는 경우 ; PORTB의 PB3를 Clear 하는 경우 cbi PORTB, PB3 ; PORTB의 PB3를 Set 하는 경우 sbi PORTB, PB3 PORTF(Data space)를 Clear or Set 하는 경우; ; PORTF의 PF0를 Clear 하는 경우 lds AC0, PORTF andi AC0, ~(1<<PF0) sts PORTF, AC0 ; PORTF의 PF0를 Set 하는 경우 ori AC0, (1<<PF0)

AVR I/O port programming AND, OR, XOR 논리 연산을 이용한 Bit Operation 일반적인 Bit Operation( I/O Rg space) 예 ;Clear bit 0 and 1 in AC0, PORTB andi AC0, ~((1<<PB0)|(1<<PB1)) out PORTB, AC0 ;Set bits 7 and 2 ori AC0, (1<<PB7)|(1<<PB2) ;Toggle bit 5 eor AC0, (1<<PB5) ; Toggle

AVR I/O port programming AND, OR, XOR 논리 연산을 이용한 Bit Operation 일반적인 Bit Operation( Data space) 예 ;Clear bit 0 and 1 lds AC0, PORTF andi AC0, ~((1<<PF0)|(1<<PF1)) sts PORTF, AC0 ;Set bits 7 and 2 ori AC0, (1<<PF7)|(1<<PF2) ;Toggle bit 5 eor AC0, (1<<PF5) ; Toggle

AVR I/O port programming Mask를 사용 하여 개별 Bit 값을 알 수 있다. 예 ;Port D 의 PD0 bit 가 1 인가를 Test 한다. in AC0, PORTD andi AC0, (1<<PD0) BRNE NEXT1 … NEXT1: ;Port D 의 PD0 bit 가 0 인가를 Test 한다. BREQ NEXT1

AVR I/O port interfacing Pull-up 기능은 Switch를 외부 저항 없이 Input Port에 Interface 할 수 있게 한다. 그러나 Leakage current 가 증가 할 우려가 있다. 외부 조건(정전기, 부하에 의한 고전압 발생 등)에 대한 I/O Port protection에 대한 고려가 필요 함. LED Drive Circuits 적절한 Current Limit Resistors의 선택이 필요함. Motor or relay drive circuits Inductive에 의한 고전압을 제거 하는 Diode 필요 5V to 3.3V or 3.3V to 5V interfacing Voltage thresholds 가 같은 logic families Chip을 사용 하거나, Interface Chip : 74LVC244, TXB0108 등 이용