티스토리 뷰
ATmega128의 내부 구성
앞에서 논한 바와 같이, 마이크로컨트롤러는 입출력 능력, 인터럽트 기능, 명령어 등 만이 제어에 알맞도록 개선되었을 뿐, 근본적으로는 단일 칩 마이크로컴퓨터입니다. 그러므로, 마이크로컨트롤러 ATmegal28도 일반 마이크로컴퓨터와 같이 CPU, 프로그램 메모리, 일반 데이터 메모리, EEPROM 데이터 메모리, I/O포트, 직렬포트, 타이머/카운터, Compare/ Capture 파형생성 모듈, 아날로그 비교기, AD변환기 등으로 구성됩니다. 다만 하바드 구조 의 특성상 프로그램 메모리 플래쉬 메모리와 데이터 메모리 SRAM 및 EEPROM이 완전히 분리되어 있고, 버스 또한 별개로 존재하여, 프로그램 메모리는 16비트의 별도 주소버스와 16비트의 프로그램버스에 의해서 CPU와 연결되어 있는 점이 다를 뿐입니다. 이들 중 CPU는 프로그램 메모리의 내용(프로그램)을 읽어서 이를 실행시키는 일을 하고, 프로그램 메모리(flash memory)는 1워드 16비트에 64K워드의 크기로 프로그램 및 표 데이터를 저장하는 일을 하며, 데이터 메모리는 레지스터 파일의 형태로 되어 있고 4K 바이트의 크기로서 데이터를 일시 저장하는 일을 하고, EEPROM 데이터 메모리는 역시 4K 바이트의 크기로 반고정 데이터, 즉 가끔 수정할 필요가 있으나 늘 사용되는 데이터를 보존 하는 일을 합니다. 그리고, I/O포트는 7개 포트에 53개 포트라인 구성으로 입출력 인터페이스로서의 역할을 합니다. 타이머/카운터는 타이머 또는 카운터로서의 역할을 하는데, ATmega 128에는 8비트 타이머/카운터와 16비트 타이머/카운터가 각각 2개씩 있고, 이들 중 8비트 타이머/카운터는 Compare의 기능과 PWM 등 파형발생 기능의 기준시간이 되고, 16비트 타이머/카운터는 capture compare 파형발생 기능의 기준시간이 되기도 합니다. 직렬포트(USART)는 병렬 데이터를 직렬로 송수신하고, 아날로그 비교기는 두 아날로그량을 비교하며, AD변환기는 아날로그량을 디지털량으로 변환합니다.
'정보통신 및 로봇제어시스템' 카테고리의 다른 글
프로그래밍 언어 (0) | 2021.06.25 |
---|---|
CPU에 대해서 알아보기 (0) | 2021.06.23 |
하바드 구조에 대해서 (0) | 2021.06.16 |
ATmega128의 특징 (0) | 2021.06.15 |
AVR 마이크로컨트롤러의 계열 (0) | 2021.06.14 |