아래내용은 퍼온글입니다. AVR을 공부하려고 보면서 찾아본 것입니다.
— 퍼온 글 ——
제 경험으로 쓰자면 객관적이라기 보다 주간적인 성격이 짙겠군요.
전 8051, AVR, PIC를 모두 사용해봤습니다. 제가 모르는 것도 많아서 틀릴 수도 있습니다.
* 동작 속도
PIC : 20M -> 내부적으로 1/4 분주 -> 5Mips
8051 : 20M -> 내부적으로 1/7~8 분주? -> 2.5~3 Mips
AVR8515 : 8M -> 내부 분주 안함 -> 8Mips
경험상 8051은 AVR8515보다 늦다는 게 느껴지더군요. 특히 UART.
8051은 CISC구조고, 나머지 둘은 RISC구조입니다.
* 명령어 개수
PIC : 약 35개
8051 : 약 120 개
AVR8515 : 약 120 개
PIC는 명령어가 적어서 배우기는 편하지만 구현시에 짱돌을 많이 굴려야 함다.
* 가격
PIC -> OTP 타입이 있는 제품은 싸다. 즉, 제품 단가가 싸다.
8051 -> 역시 OTP 타입이 있어서 제품 개발시 단가가 싸다.
AVR8515 -> OTP 타입이 없어서 단가가 비싸다.
AVR이 가격 면에서 가장 뒤쳐집니다.
* 메모리
PIC -> 수십 바이트 정도?
8051 -> 128 + ext RAM(max 64k)
AVR8515 -> 512 + ext RAM(max 64k), + eeprom(512)
PIC는 메모리가 매우 적으며, 외부 램도 지원 안합니다.
메모리는 AVR이 가장 많습니다. 8051도 뒤지지는 않구요.
특히 AVR은 EEPROM(내부 램 사이즈와 동일)을 내장하고 있습니다.
* ROM 지원
8051 -> 내부롬(변종은 Flash가 들어 있음) + 외부롬(64K max)
PIC -> 수 KB.(flash타입이나 eeprom타입은 거의 없으며 eprom 타입은 있음) : 개발이 까다로울 수 있음
AVR8515 -> 8KB flash, 다른 패밀리도 모두 flash를 채택하여 개발이 쉬움
8051은 초창기에 flash 타입이 없었으나 요즘에는 atmel, philips에서 지원.
PIC는 주로 OTP, EPROM 타입이 대부분
AVR은 모두 flash를 채택하였다는 것이 특징
* 프로그램 방식
8051 -> 일부는 롬라이터, 일부는 ISP(In system programmer)
PIC -> 롬라이터, UV Erasure 필요
AVR8515 -> ISP 방식으로 회로 상에서 프로그래밍
* 개발언어
8051 -> 어셈블러도 좋고, c도 좋다. 하지만 C는 느리다.
PIC -> 어셈블러는 좋으나 c는 하드웨어 구조상 문제점이 많다.
c가 생성하는 코드 효율도 나쁘다.
AVR8515 -> 어셈블러, C, 어셈블러+C 모두 좋다.
C의 경우 속도차가 있지만 무시해도 좋다.
* 특히 8051이나 PIC의 경우는 C 컴파일러의 가격이 비싸다.
* 하지만, AVR의 경우는 상용에 뒤쳐지지 않는 무료 “AVR-GCC”가 있다.
* 참고로 gcc가 포팅된 CPU중에서 8비트 CPU는 AVR 뿐…
* AVR용 프로그래머는 공짜가 많다.
AVR => 기존의 마이크로 프로세서에 RAM + ROM을 부착한 형태, 프로세서 교육용으로 적합, 부품 가격은 약 7~8천원. 계측기나 고급 기종에 적합, 업그레이드가 용이.
PIC => 부품 가겨이 매우싸고 심플, 하지만 콘트로러의 성격이 강함. 양산용으로 적합.
8051 => avr과 pic의 장단점의 중간 정도? 무던하다. 하지만 좀 느리다. 플래쉬 타입 이용시 업그레이드 용이.
위의 내용은 본인의 개인적인 생각이며, 즉흥적인 생각이다. 이점을 고려하기 바란다.