마이크로 컨트롤러를 선택할 때 동일한 사양의 다양한 마이크로 컨트롤러가 시장에 나와 있기 때문에 정말 혼란스러운 작업입니다. 따라서 마이크로 컨트롤러를 선택할 때 모든 매개 변수가 중요해집니다. 여기서는 가장 일반적으로 사용되는 두 가지 마이크로 컨트롤러 -PIC 마이크로 컨트롤러와 AVR 마이크로 컨트롤러를 비교합니다. 여기에서는 프로젝트에 맞는 마이크로 컨트롤러를 선택하는 데 도움이되는 다양한 수준에서 비교됩니다 .
프로젝트 요구 사항으로 시작
마이크로 컨트롤러를 선택하기 전에 시작할 프로젝트에 대한 모든 정보를 수집하십시오. 올바른 마이크로 컨트롤러를 선택하는 데 중요한 역할을하므로 정보를 최대한 수집하는 것이 매우 중요합니다.
- 프로젝트 규모 등 프로젝트 정보 수집
- 사용 된 주변 장치 및 센서 수
- 전력 요구 사항
- 프로젝트 예산
- 인터페이스 요구 사항 (USB, SPI, I2C, UART 등),
- 기본 하드웨어 블록 다이어그램 만들기,)
- 필요한 GPIO 수 나열
- 아날로그-디지털 입력 (ADC)
- PWM
- 필요한 올바른 아키텍처 선택 (8 비트, 16 비트, 32 비트)
- 프로젝트 (RAM, Flash 등)의 메모리 요구 사항 인식
주요 매개 변수보기
모든 정보가 수집되면 마이크로 컨트롤러를 선택할 때입니다. 이 기사에서는 경쟁하는 두 마이크로 컨트롤러 브랜드 PIC 및 AVR을 다양한 매개 변수에 대해 비교합니다. 둘을 비교하기위한 프로젝트의 필요성에 따라 다음과 같은 매개 변수를 살펴보십시오.
- 주파수: 마이크로 컨트롤러가 작동하는 속도
- I / O 핀 수: 필요한 포트 및 핀
- RAM: 대부분의 MCU에서 선언 된 모든 변수 및 배열 (DATA)
- 플래시 메모리: 작성한 코드는 컴파일 후 여기에 저장됩니다.
- 고급 인터페이스: USB, CAN 및 이더넷과 같은 고급 인터페이스.
- 작동 전압: 5V, 3.3V 또는 저전압과 같은 MCU의 작동 전압.
- 대상 커넥터: 회로 설계 및 크기가 용이 한 커넥터입니다.
대부분의 매개 변수는 PIC와 AVR에서 비슷하지만 비교할 때 확실히 다른 몇 가지 매개 변수가 있습니다.
작동 전압
더 많은 배터리로 작동되는 제품으로 PIC 및 AVR은 저전압 작동을 개선했습니다. AVR은 PIC16F 및 PIC18F와 같은 구형 PIC 시리즈보다 저전압 작동으로 더 잘 알려져 있습니다. 이러한 PIC 시리즈는 작동하는 데 최소 4.5V가 필요한 칩 삭제 방식을 사용하고 4.5V 미만의 PIC 프로그래머는 행 삭제 알고리즘을 사용해야하기 때문입니다. 잠긴 장치를 지울 수 없습니다. 그러나 이것은 AVR의 경우가 아닙니다.
AVR은 매우 저전력 인 ATmega328P와 같은 최신 P (pico-power) 변형을 개선하고 출시했습니다. 또한 현재 ATtiny1634는 배터리 전원 장치에 매우 유용한 절전 모드를 사용할 때 전력 소비를 줄이기 위해 절전 모드를 개선하고 제공합니다.
결론은 이전에는 AVR이 저전압에 중점을 두었지만 PIC는 이제 저전압 작동을 위해 변형 되었으며 picPower를 기반으로 한 일부 제품을 출시했습니다.
대상 커넥터
대상 커넥터는 설계 및 개발에있어 매우 중요합니다. AVR은 6 및 10 방향 ISP 인터페이스를 정의하여 PIC에는 사용하기 쉽지만 PIC에는 없기 때문에 PIC 프로그래머는 회로에 맞추기 어려운 비행 리드 또는 RJ11 소켓이 함께 제공됩니다.
결론은 AVR이 대상 커넥터를 사용한 회로 설계 및 개발 측면에서 단순하게 만들었지 만 PIC는 여전히이를 수정해야한다는 것입니다.
고급 인터페이스
고급 인터페이스 측면에서 PIC는 AVR의 경우가 아닌 USB, CAN 및 이더넷과 같은 고급 기능으로 작동하므로 확실히 옵션입니다. 그러나 직렬 칩, Microchip 이더넷 컨트롤러 또는 Philips CAN 칩에 FTDI USB와 같은 외부 칩을 사용할 수 있습니다.
결론은 PIC가 확실히 AVR보다 고급 인터페이스를 가지고 있다는 것입니다.
개발 환경
이 외에도 두 마이크로 컨트롤러를 서로 다르게 만드는 중요한 기능이 있습니다. 개발 환경의 용이성은 매우 중요합니다. 다음은 개발 환경의 용이성을 설명하는 몇 가지 중요한 매개 변수입니다.
- 개발 IDE
- C 컴파일러
- 어셈블러
개발 IDE:
PIC와 AVR은 모두 자체 개발 IDE와 함께 제공됩니다 . PIC 개발은 AVR의 Atmel Studio7에 비해 안정적이고 간단한 IDE로 알려진 MPLAB X 에서 이루어지며 750MB 크기이며 더 많은 추가 기능으로 약간 투박하여 초보자 전자 애호가에게 어렵고 복잡합니다..
PIC는 마이크로 칩 도구 인 PicKit3 및 MPLAB X를 통해 프로그래밍 할 수 있습니다 . AVR은 JTAGICE 및 AtmelStudio7과 같은 도구를 사용하여 프로그래밍됩니다. 그러나 사용자는 서비스 팩 3이 포함 된 4.18과 같은 이전 버전의 AVR Studio로 전환하고 있습니다. 이는 훨씬 더 빠르게 실행되고 개발을위한 기본 기능이 있기 때문입니다.
결론은 PIC MPLAB X가 AtmelStudio7보다 조금 더 빠르고 사용자 친화적이라는 것입니다.
C 컴파일러:
PIC와 AVR은 각각 XC8 및 WINAVR C 컴파일러와 함께 제공됩니다. PIC는 하이테크를 인수하고 자체 컴파일러 XC8을 출시했습니다. 이것은 MPLAB X에 완전히 통합되고 잘 작동합니다. 그러나 WINAVR은 GCC 컴파일러를 기반으로 한 ANSI C로 코드 이식 및 표준 라이브러리 사용이 용이합니다. 무료 4KB 제한 버전의 IAR C 컴파일러는 많은 비용이 드는 전문 컴파일러의 풍미를 제공합니다. AVR은 처음에는 C 용으로 설계 되었기 때문에 코드 출력이 작고 빠릅니다.
PIC는 AVR에 비해 잘 만드는 많은 기능이 있지만 PIC의 구조로 인해 코드가 커집니다. 유료 버전은 더 많은 최적화를 통해 사용할 수 있지만 무료 버전은 잘 최적화되어 있지 않습니다.
결론은 WINAVR이 PIC XC8보다 컴파일러 측면에서 좋고 빠르다는 것입니다.
어셈블러:
주소 지정 및 워드 연산을 단순화하는 3 개의 16 비트 포인터 레지스터를 사용하는 AVR 어셈블리 언어는 많은 명령어와 32 개의 레지스터를 모두 누산기로 사용할 수있는 기능으로 매우 쉽습니다. PIC 어셈블러는 모든 것이 어큐뮬레이터를 통해 작동하도록 강요되지는 않지만 모든 특수 기능 레지스터에 액세스하기 위해 항상 뱅크 스위칭을 사용해야합니다. MPLAB에는 뱅크 전환을 단순화하는 매크로가 포함되어 있지만 지루하고 시간이 많이 걸립니다.
또한 분기 명령이 없기 때문에 스킵 및 GOTO 만 있으면 복잡한 구조와 약간의 혼란스러운 코드가 발생합니다. PIC 시리즈에는 일부 마이크로 컨트롤러 시리즈가 훨씬 빠르지 만 다시 한 번 누산기로 제한됩니다.
결론은 일부 PIC 마이크로 컨트롤러가 더 빠르지 만 AVR이 어셈블러 측면에서 작업하는 것이 더 낫다는 것입니다.
가격 및 가용성
가격 측면에서 말하면 PIC와 AVR은 매우 비슷 합니다. 둘 다 거의 동일한 가격으로 제공됩니다. 가용성 측면에서 PIC는 Microchip이 항상 짧은 리드 타임 정책을 가지고 있기 때문에 AVR에 비해 규정 된 시간 내에 제품을 제공 할 수있었습니다. Atmel의 광범위한 제품 범위는 AVR이 비즈니스의 작은 부분임을 의미하므로 다른 시장이 생산 능력을 위해 AVR보다 우선 할 수 있기 때문에 어려움을 겪었습니다. 따라서 배달 일정 측면에서 PIC를 사용하는 것이 좋지만 AVR은 생산에 중요 할 수 있습니다. Microchip 부품은 특히 소량으로 더 쉽게 구할 수있는 경향이 있습니다.
다른 기능들
PIC와 AVR은 모두 다양한 패키지로 제공됩니다. PIC는 AVR보다 더 많은 버전을 출시합니다. 이 버전 롤아웃은 더 많은 버전이 적절한 모델을 선택하는 데 혼란을 야기하지만 동시에 더 나은 유연성을 제공하는 것처럼 애플리케이션에 따라 장단점을 가질 수 있습니다. PIC 및 AVR의 최신 버전은 매우 저전력이며 다양한 전압 범위에서 작동합니다. PIC 클럭과 타이머는 더 정확하지만 속도 측면에서 PIC와 AVR은 거의 동일 합니다.
Atmel Studio 7에는 EEPROM, Flash 및 퓨즈 데이터가 하나의 파일에 포함 된 Production ELF 파일이 추가되었습니다. AVR은 퓨즈 데이터를 16 진수 파일 형식에 통합하여 퓨즈를 코드로 설정할 수 있습니다. 이를 통해 PIC를 위해 프로젝트를 프로덕션으로 더 쉽게 전송할 수 있습니다.
결론
PIC와 AVR은 모두 산업 분야에서 사용될뿐만 아니라 학생과 애호가들 사이에서 인기있는 선택 인 탁월한 저비용 장치입니다. 둘 다 널리 사용되며 활발한 온라인 존재로 좋은 네트워크 (포럼, 코드 예제)를 가지고 있습니다. 둘 다 훌륭한 커뮤니티 범위와 지원을 제공하며 둘 다 코어 독립 주변 장치와 함께 다양한 크기와 폼 팩터로 제공됩니다. Microchip은 Atmel을 인수했으며 이제 AVR과 PIC를 모두 처리합니다. 결국, 마이크로 컨트롤러를 배우는 것은 프로그래밍 언어를 배우는 것과 같다는 것을 잘 알고 있습니다. 다른 하나를 배우면 다른 것을 배우는 것이 훨씬 쉬울 것입니다.
누가이기 든간에 거의 모든 공학 분야에서“최상”이라는 단어는 없지만“적용에 가장 적합하다”는 말이 잘 어울린다. 그것은 모두 특정 제품, 개발 방법 및 제조 프로세스의 요구 사항에 따라 다릅니다. 따라서 프로젝트에 따라 PIC 및 AVR 중에서 적합한 마이크로 컨트롤러를 선택할 수 있습니다.