이전 로고(1984 ~ 2014)[1] | 마지막 로고(2015 ~ 2016) |
1. 개요
1984년에 설립한 미국의 반도체 회사이다. 주로 저용량 메모리 반도체와 마이크로컨트롤러 제품군으로 우리에게 잘 알려져 있으며 전자공학도들에게는 AVR이라는 마이크로컨트롤러로 꽤 많이 알려져 있다.2016년 1월 19일 강력한 경쟁사였던 마이크로칩 테크놀로지[2]가 36억 달러에 인수하면서 역사 속으로 사라졌다. 마이크로칩 인수 이후에도 기존 8비트 제품군과 ARM 제품군을 내놓고 있지만 마이크로칩에서 천천히 Atmel을 지우면서 자사 제품군으로 편입시키고 있기 때문에[3] 향후 알테라와 인텔의 관계처럼 브랜드가 지워질 것으로 보인다.
2. 주요 제품군
Atmel은 여러가지 제품군을 보유하고 있으며, 가장 잘 알려진 것은 마이크로컨트롤러 제품군이다.DIP(dual in-line package)타입 마이크로 프로세서(microprocessor) 칩(chip) ATMEGA328P
Microchip Technology 회사의 아트멜 ATMEGA328P 칩(chip) 그래픽 예시[4] |
2.1. 마이크로컨트롤러 제품군
2.1.1. 8비트 AVR
우리가 과제용으로 많이들 사용하는 AVR 마이크로컨트롤러가 이 회사 제품이다. 크게 AVR Classic, megaAVR, TinyAVR, Xmega 로 구분할 수 있으며, 그 중에서특징이라면 다른 MCU들에 비해 강인한 전기적 특성이다. Renesas 사의 주력 MCU인 RL78은 핀 당 출력 전류가 0.5mA 급의 핀이 있는 등 전기적 특성이 불확실하지만, AVR 은 모든 핀이 기본적으로 40mA 까지 출력을 지원한다. 또한 스파크 등에 강력하여 다른 MCU가 죽어나갈 스파크에서도 AVR 은 어느 정도 버티는 모습을 보여준다.
다만 이런 특성에도 단점은 있는데, 대부분의 MCU가 16MHz[5] 의 저속으로 동작하며, 무엇보다 저전력 저발열이 대세인 요즘 시대에 맞지 않게 전기를 많이 먹는다는 점이다(...). 이를 극복하고자 Picopower AVR 같은 제품군을 많이 출시하고 있다.[6]
8비트 AVR 제품군에 대한 간략한 분류는 다음과 같다.
AVR Classic | C를 이용한 제어가 불가능하고 오로지 어셈블리로만 제어 가능. 요즘에는 잘 쓰이지 않는다 |
megaAVR | 비트 AVR 의 실질적인 주력. 싼 가격에 적절한 성능에 적절한 안정성을 가졌다. Arduino 제품군에 사용된 대부분의 MCU가 이 제품군이며, Arduino Leonardo 에 탑재된 ATmega32U4도 이 제품군이다. |
TinyAVR | 매우 적은 핀 수를 가진 제품군. 주로 단순 제어 시스템에 탑재된다. C 컴파일러가 지원하는 종류도 있지만, 어셈블리로만 프로그램 가능한 것도 있다. JTAG 을 통한 디버깅은 불가능하고 오로지 ISP 장비로만 프로그램 가능하다 |
Xmega | 8비트 AVR 라인업의 끝판왕. 다른 제품군들이 16MHz 이하로 동작할 때, 이 제품군은 32MHz 로 동작한다. 또한 ATXmega128A1(U) 제품군만 보더라도 UART 통신이 8개나 들어가는 등 확장성의 끝판왕을 보여준다. 다만 애초에 보기 드문 제품인데다가 이정도 급 기능이 요구된다면 보통 32비트 프로세서를 쓰기 때문에 별로 사용되지 않았고 megaAVR이 마이크로칩에 인수된 이후에도 계속 생산이되는데 불구하고 Xmega라인업은 단종되었다. |
2.2. 32비트 AVR
한참 ARM이 ARM7TDMI 를 가지고 MCU 시장에 진출했을 때, Atmel에서 야심차게 ARM에 대항하려고 출시한 제품. 기본 66MHz 정도의 클럭에 몇몇 제품군들은 SD 카드 인터페이스도 달고 있는 등 꽤 쓸만한 MCU였다. 단점으로는 전기적 특성이 형편없고 (기본 출력전류가 골고루 0.8mA 이다.) 결정적으로 최근에 시장을 지배하는 ARM 코어가 아니기 때문에 점점 사장되어가는 MCU 제품군.32비트 AVR 제품군에 대한 간략한 분류는 다음과 같다.
A 시리즈 (AT32UC3A - ) | 크게 A0/A1 시리즈와 A3/A4 시리즈로 분류할 수 있다. 이 시리즈의 특징은 괴악한 확장성에 있다. USB 등은 기본으로 들어가고, 이더넷 장치에 A3/A4 시리즈는 SD 카드 인터페이스까지 안에 내장되어 있다. 그만큼 압도적인 핀 수와 가격을 자랑한다. 시중에 A 시리즈 개발 보드가 싸게 풀린 것이 있으니 그것을 사서 진행하면 된다. Atmel 사의 최신형 JTAG 장비에 들어가는 EDBG 칩이 바로 이 A 시리즈 32비트 AVR 을 개조한 칩이다. |
B 시리즈 (AT32UC3B - ) | 적절한 크기에 적절한 성능을 가진 제품군. 64핀 제품이 가장 많은 핀 수를 가진 제품이며 주로 USB 포터블 장치가 타겟이다. |
C 시리즈 (AT32UC3C - ) | 이더넷 컨트롤러와 부동 소수점 유닛, ADC, DAC 가 탑재된 제품군이다. CAN 통신 장치도 2개나 탑재되어 있다. 아날로그 장비가 많이 필요하다면 고려해보자. |
D 시리즈 (AT32UC3D - ) | 보급형 제품. 홈페이지에서도 Entry Level 이라고 표기되어 있다. |
L 시리즈 (AT32UC3L - ) | 저전력에 특화된 제품. |
오디오 시리즈 (AT32UC3A - ) | MCU 주제에 오디오 디코더가 들어있는 괴악한 물건이다. 간단한 오디오 장비를 만들고 싶다면 고려해보자. |
그 외에 AP 칩으로 통합된 AVR 32도 있는데, 몇몇 잉여인간들은 이 32비트 AVR 을 가지고 퀘이크 1을 돌리기까지 했다 (...)
2.3. ARM 제품군
Atmel에서는 여러 ARM 제품군이 존재하는데, 우리에게 친숙한 것들은 ARM7TDMI 를 활용한 AT91SAM7S64, 256 같은 것들이 있다. 이 칩들은 SAM-BA 를 이용해서 프로그램하거나, 다른 JTAG 장비를 통해 프로그램을 넣을 수 있다. 하지만, 이 칩들은 장점보다는 단점이 더 많은 칩들인데, 우선 프로그램을 하려면 부트로더를 올려줘야 하는데, 이 작업이 꽤나 괴악하다.[7] 그런데 부트로더를 써서 프로그램을 업로드하면 부트로더가 지워진다(...) 따라서, 프로그램을 수정하려고 하면 매 번마다 저런 노가다를 해야 한다! 그렇다면 남은 방법은 JTAG 장비를 쓰는 방법밖에 없는데, 이 장비가 여간 비싼 게 아니다. (15~20만원 정도 한다. 물론 다른 DSP 프로세서의 JTAG 장비보다는 싸지만..) [8] 따라서, 저 칩은 사실상 사장된 상태이다.또 다른 제품군으로는 ARM Cortex-M 시리즈 를 도입한 제품군이다. 부품 번호가 AT91SAM3, 4 등으로 시작하며, Cortex-M 기반이니만큼 뛰어난 성능을 보여준다. Arduino 의 ARM 제품군 라인업에 탑재된 것이 바로 이 제품군인데, Due 는 AT91SAM3 계열의 프로세서가, Zero는 Cortex-M0 기반의 MCU가 탑재되었다.
2.4. 무선 마이크로컨트롤러
주로 8비트 megaAVR 코어나 ARM Cortex-M0 코어에 지그비 모듈을 박아넣어 무선 통합 SoC 형태로 출시된다. 아쉽게도 블루투스 관련 제품은 포함되어 있지 않다. 최근에는 IoT 시장에 맞추어 Wi-Fi 모듈이 통합된 제품을 출시하고 있다.2.5. 우주선 프로세서
SPARC에 기반해서 우주선에 들어가는 LEON 프로세서를 개발해서 출시했고 32비트 프로세서로써 빠른 처리능력 덕분에 최신 장비들에 탑재되고 있으며 한국에서도 다누리의 메인 프로세서로 쓰이고 있다.
[1]
현재도 이 로고는 마이크로컨트롤러 패키징에 새기는 로고로 쓰고있다.
[2]
PIC 제조사로 유명하다. 산업 현장에서 많이 쓰인다.
[3]
MPLAB IDE에서 AVR 마이크로컨트롤러 개발을 지원하기 시작했으며 아예 자사 JTAG로 AVR JTAG처럼 쓸수있는 최신 JTAG를 내놓기도 했으며. 2020년 이후에는 아예 기존에 Atmel Studio를 Microchip Studio로 리브랜딩 했다. 이마저도 2022년 업데이트 지원이 중단되고 본격적으로 MPLAB에 편입되는 중이다.
[4]
마이크로테크놀로지 회사 아트멜 ATMEGA 시리즈 데이타시트
https://ww1.microchip.com/downloads/en/DeviceDoc/ATmega48A-PA-88A-PA-168A-PA-328-P-DS-DS40002061B.pdf
[5]
몇몇 제품은 최대 20MHz 까지가 공식 지원 클럭이며, ATmega1281 등은 크리스탈 발진기를 바꿔(...) 20MHz 로 동작하도록 오버클럭이 가능하다.
[6]
Arduino Uno 에 들어간 ATmega328P 가 바로 Picopower AVR 제품군이다.
[7]
보드의 Erase 스위치를 켜고 10초동안 기다린 다음, 전원을 내리고 스위치를 끈 다음 다시 켜야 부트로더가 활성화된다.
[8]
요즘에는 openocd 호환품을 사면 4 ~ 5만원대로 많이 싼 것을 구할 수 있다. 다만 소프트웨어가
CUI 기반이니 통합은 알아서 해야 할 것이다(...)