일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 사이킷런 회귀
- 알고리즘
- openai
- URI 원칙
- 차원증가
- 자바 로그 레벨
- 컬렉션 프레임웍
- 스프링 부트
- h2 데이타베이스
- WinError5
- REST API
- Python
- GIT
- 사이킷런
- 스프링 부트3
- 머신러닝
- Java
- 완주하지못한선수
- 자바 열거형
- 셀레니움
- 컬렉션 인터페이스
- 파이썬
- oracle
- db
- 프로그래머스
- 쓰레드 풀
- conda remove
- 오라클
- Selenium
- streamlit
- Today
- Total
노트 :
Atmel AVR - ATmega128 본문
Atmel AVR(Advanced Virtual RISC)은 1996년 Atmel 사(2016년에 Microchip 사에 인수됨)에서 개발된 하버드 구조로 수정한 8비트 RISC 단일칩 MCU이다.
Atmel 사의 AVR은 크게 Tiny, AT90, Mega 시리즈로 나눌 수 있다.
Tiny 시리즈 | 핀수가 8~24핀 정도의 작은 외형으로 대부분 외부 시스템 버스가 없고 내부에 1~2Kbyte 정도의 플래시 메모리를 가지고 있어 용량도 작은 편이다. UART를 지원하지 않고 RTC타이머가 없으며 16비트 타이머가 없고 8비트 타이머만 1~2개 있는 등 기능이나 성능이 비교적 낮지만 가격이 저렴하여 소형제어기에 적당하다. |
Mega 시리즈 | 28~100핀 정도의 외형을 갖고 내부에 8~256Kbyte정도의 플래시 메모리와 256byte~4Kbyte정도의 EEPROM과 512byte~4Kbyte의 SRAM을 내장하고 있다. 20MHz의 클럭에서 20MIPS의 속도를 갖는 등 성능과 기능이 높으나 가격도 높다. |
AT90 시리즈 | 중간 정도 사양을 가진 시리즈로 AT90S의 경우에는 사양화되었다. |
TinyAVR(ATtiny 시리즈), MegaAVR(ATmega 시리즈), XMEGA(ATxmega 시리즈), Application-specific AVR, FPSLIC(AVR에 FPGA 추가), 32-bit AVRs의 6가지로 나누기도 한다.
AVR은 ISP(In-Systme Programming) 인터페이스를 갖추고 있어서 별도의 롬라이터 없이 컴퓨터에서 시리얼 포트 등에 연결하는 ISP장비를 통해 손쉽게 프로그램을 짜 넣을 수 있어서 인기가 많다.
AVR 중 ATmega128이 가격, 기능, 확장성 등의 이유로 교육용으로 가장 흔하게 사용되는데, 아두이노 우노가 ATmega128이 기반이다.
ATmega128은 모두 64개의 핀으로 구성되어 있으며, 핀의 기능은 크게 아래와 같다.
▶ 8비트 병렬 입출력이 가능한 6개의 포트(A, B, C, D, E, F) + 5비트 병렬 입출력이 가능한 1개의 포트(G)
▶ 전원 (VCC [21, 25], GND [22, 53, 63])
▶ 리셋(RESET [20])
ATmega128의 핀배치는 다음과 같다.
포트 | 핀 | 상세 | |
포트A | PA7~PA0 | 44~51 | 내부 풀업저항이 있는 8비트 양방향 입출력 단자, 외부 메모리를 둘 경우에는 주소버스와 데이터버스로 사용된다.(외부메모리 하위 어드레스 바이트 버스) |
포트B | PB7~PB0 | 10~17 | 내부 풀업저항이 있는 8비트 양방향 입출력 단자, SPI(Serial Peripherial Interface)용 단자 혹은 PMW(Pulse Width Modulation) 단자로도 사용된다. |
포트C | PC7~PC0 | 35~42 | 내부 풀업저항이 있는 8비트 양방향 입출력 단자, 외부 메모리를 둘 경우에는 주소버스로 사용된다.(외부 메모리 상위 어드레스 바이트 버스) |
포트D | PD7~PD0 | 25~32 | 내부 풀업저항이 있는 8비트 양방향 입출력 단자, 타이머용 단자 혹은 외부 인터럽트용 단자로도 사용된다. |
포트E | PE7~PE0 | 2~9 | 내부 풀업저항이 있는 8비트 양방향 입출력 단자, 타이머용 단자, 외부 인터럽트, 아날로그 비교기, USART(Universal Synchronous Asynchronous Receiver and Transmitter)용 단자로도 사용된다. ISP를 사용한 칩 내부 플래시 및 EEPROM의 프로그래밍에 사용되는 PDIM PDO의 기능을 함께 가지고 있다. |
포트F | PF7~PF0 | 54~61 | 내부 풀업저항이 있는 8비트 양방향 입출력 단자, AD변환기 혹은 JTAG 인터페이스용 단자로도 사용된다. |
포트G | PG4~PG0 | 19,18,43,34,33 | 내부 풀업저항이 있는 5비트 양방향 입출력 단자, 외부 메모리 접속을 위한 스트로브 신호용, RTC(Real Time Counter) 타이머용 발진기 단자로도 사용된다. |
참고:
michrochip.com
wikipedia.org
namu.wiki
최한호, 서계원 김재경, 「한번에 이해되는 AVR ATmega128 마이크로컨트롤러」, 인피니티북스
'CS' 카테고리의 다른 글
REST API (0) | 2023.12.26 |
---|---|
메모리 종류 (0) | 2023.05.10 |
TCP/IP 참조 모델 및 OSI 참조 모델 (0) | 2023.04.22 |
잘 알려진 포트(Well-Known Port) (0) | 2023.04.13 |
Git 경고 메시지 - warning: in the working copy of '파일명', LF will be replaced by CRLF the next time Git touches it (0) | 2023.04.07 |