- MCU를 선택할 때 고려해야 할 중요한 요소
- 1. 신청
- 2. 마이크로 컨트롤러 아키텍처 선택
- 3. 비트 크기
- 4. 통신을위한 인터페이스
- 5. 작동 전압
- 6. I / O 핀 수
- 7. 메모리 요구 사항
- 8. 패키지 크기
- 9. 전력 소비
- 10. 마이크로 컨트롤러 지원
마이크로 컨트롤러는 기본적으로 모든 컴퓨터와 마찬가지로 칩에있는 작은 컴퓨터이며 메모리가 있으며 일반적으로 입력을 수신하고 계산을 수행하고 출력을 생성하도록 임베디드 시스템에 프로그래밍됩니다. 프로세서와 달리 메모리, CPU, I / O 및 기타 주변 장치를 아래 레이아웃과 같이 단일 칩에 통합합니다.
프로젝트에 적합한 마이크로 컨트롤러를 선택하는 것은 프로젝트 의 핵심이며 시스템의 성공 또는 실패가 이에 달려 있기 때문에 항상 복잡한 결정을 내리는 것입니다.
수천 가지 유형의 마이크로 컨트롤러가 있으며, 각각은 폼 팩터에서 패키지 크기, 특정 애플리케이션에 적합하고 특정 애플리케이션에 적합하지 않은 RAM 및 ROM 용량에 이르기까지 고유 한 기능 또는 경쟁 우위를 가지고 있습니다. 따라서 종종 올바른 것을 선택하는 데 따르는 골칫거리를 피하기 위해 설계자는 익숙한 마이크로 컨트롤러를 선택하지만 때로는 프로젝트의 요구 사항을 실제로 충족시키지 못합니다. 오늘의 기사에서는 아키텍처, 메모리, 인터페이스 및 I / O 공간을 비롯한 마이크로 컨트롤러를 선택할 때 고려해야 할 몇 가지 중요한 요소를 살펴 봅니다.
MCU를 선택할 때 고려해야 할 중요한 요소
다음은 아키텍처, 메모리, 인터페이스 및 I / O 공간을 비롯한 마이크로 컨트롤러를 선택할 때 고려해야 할 몇 가지 중요한 요소입니다.
1. 신청
프로젝트를위한 마이크로 컨트롤러를 선택하기 전에 가장 먼저해야 할 일은 마이크로 컨트롤러 기반 솔루션을 배포 할 작업에 대해 깊이 이해하는 것입니다. 기술 사양 시트는 항상이 프로세스 중에 개발되며 프로젝트에 사용될 마이크로 컨트롤러의 특정 기능을 결정하는 데 도움이됩니다. 장치의 응용 / 사용이 사용할 마이크로 컨트롤러를 결정하는 방법에 대한 좋은 예는 부동 소수점 단위가있는 마이크로 컨트롤러가 많은 십진수를 포함하는 작업을 수행하는 데 사용되는 장치의 설계에 채택되었을 때 나타납니다.
2. 마이크로 컨트롤러 아키텍처 선택
마이크로 컨트롤러의 아키텍처는 마이크로 컨트롤러가 내부적으로 어떻게 구성되는지를 나타냅니다. 마이크로 컨트롤러 설계에 사용되는 두 가지 주요 아키텍처가 있습니다.
- 폰 노이만 아키텍처
- 하버드 아키텍처
von Neumann 아키텍처는 동일한 버스를 사용하여 데이터를 전송하고 메모리에서 명령어 세트를 가져 오는 기능을 제공합니다. 따라서 데이터 전송과 명령 가져 오기를 동시에 수행 할 수 없으며 일반적으로 예약됩니다. 반면에 Harvard 아키텍처는 데이터 전송 및 명령 가져 오기를 위해 별도의 버스를 사용합니다.
이러한 각 아키텍처에는 고유 한 장점과 단점이 있습니다. 예를 들어 Harvard 아키텍처는 RISC (Reduced Instruction Set) 컴퓨터이므로 von Neumann 아키텍처를 기반으로하는 CISC (Complex Instruction Set) 컴퓨터보다 더 낮은 주기로 더 많은 명령을 수행 할 수 있습니다. Harvard (RISC) 기반 마이크로 컨트롤러의 중요한 장점 중 하나는 데이터 및 명령어 세트에 대해 서로 다른 버스가 존재하기 때문에 ALU (산술 및 논리 장치)의 연산과 메모리 액세스를 분리 할 수 있다는 사실입니다. 이를 통해 마이크로 컨트롤러에 필요한 계산 전력의 양이 줄어들고 비용이 절감되고 전력 소모가 적으며 열 손실이 발생하여 배터리로 작동하는 장치의 설계에 이상적입니다. 많은 ARM,AVR 및 PIC 마이크로 컨트롤러는 Harvard 아키텍처를 기반으로합니다. Von Neumann 아키텍처를 사용하는 마이크로 컨트롤러의 예로는 8051, zilog Z80 등이 있습니다.
3. 비트 크기
마이크로 컨트롤러는 현재 마이크로 컨트롤러가 소유 한 최대 비트 크기 인 8 비트, 16 비트, 32 비트 및 64 비트 일 수 있습니다. 마이크로 컨트롤러의 비트 크기는 마이크로 컨트롤러의 명령어 세트에 사용 된 "워드"의 크기를 나타냅니다. 이는 8 비트 마이크로 컨트롤러에서 모든 명령어, 주소, 변수 또는 레지스터의 표현이 8 비트를 사용한다는 것을 의미합니다. 비트 크기의 주요 의미 중 하나는 마이크로 컨트롤러의 메모리 용량입니다. 예를 들어 8 비트 마이크로 컨트롤러에는 비트 크기에 따라 255 개의 고유 한 메모리 위치가있는 반면 32 비트 마이크로 컨트롤러에는 4,294,967,295 개의 고유 한 메모리 위치가 있습니다. 즉, 비트 크기가 클수록 고유 한 메모리 위치가 많아집니다 마이크로 컨트롤러에서 사용할 수있는 메모리 위치. 하지만 요즘 제조업체들은페이징 및 주소 지정을 통해 더 작은 비트 크기의 마이크로 컨트롤러에 더 많은 메모리 위치에 대한 액세스를 제공하는 방법을 개발하고 있습니다. 따라서 8 비트 마이크로 컨트롤러는 16 비트 주소 지정이 가능하지만 이는 임베디드 소프트웨어 개발자의 프로그래밍을 복잡하게 만드는 경향이 있습니다.
비트 크기의 영향은 특히 산술 연산을위한 마이크로 컨트롤러 용 펌웨어를 개발할 때 더 많이 경험할 수 있습니다. 다양한 데이터 유형은 마이크로 컨트롤러 비트 크기에 따라 메모리 크기가 다릅니다. 예를 들어, 데이터 유형으로 인해 16 비트 메모리가 필요한 부호없는 정수로 선언 된 변수를 사용하면 8 비트 마이크로 컨트롤러에서 실행되는 코드에서 데이터에서 가장 중요한 바이트가 손실 될 수 있습니다. 마이크로 컨트롤러가 사용되는 장치가 설계된 작업을 수행하는 데 매우 중요합니다.
따라서 처리 할 데이터의 비트 크기와 일치하는 비트 크기를 가진 마이크로 컨트롤러 를 선택하는 것이 중요 합니다.
오늘날 대부분의 애플리케이션은 이러한 칩에 통합 된 기술 발전으로 인해 32 비트와 16 비트 마이크로 컨트롤러 사이에 있다는 점에 유의해야합니다.
4. 통신을위한 인터페이스
마이크로 컨트롤러와 프로젝트에 사용될 일부 센서 및 액추에이터 간의 통신은 통신을 용이하게하기 위해 마이크로 컨트롤러와 센서 또는 액추에이터 간의 인터페이스를 사용해야 할 수 있습니다. 예를 들어 아날로그 센서를 마이크로 컨트롤러에 연결하려면 마이크로 컨트롤러에 충분한 ADC (아날로그-디지털 변환기)가 필요하거나 앞서 언급했듯이 DC 모터의 속도를 변경하려면 마이크로 컨트롤러에서 PWM 인터페이스를 사용해야 할 수 있습니다. 따라서 선택할 마이크로 컨트롤러가 UART, SPI, I2C 등 필요한 인터페이스를 충분히 갖추고 있는지 확인하는 것이 중요합니다.
5. 작동 전압
작동 전압은 시스템이 작동하도록 설계된 전압 수준입니다. 시스템의 특정 특성이 관련된 전압 레벨이기도합니다. 하드웨어 설계에서 작동 전압은 때때로 마이크로 컨트롤러가 시스템을 구성하는 다른 구성 요소와 통신하는 로직 레벨을 결정합니다.
5V 및 3.3V 전압 레벨은 마이크로 컨트롤러에 가장 많이 사용되는 작동 전압이며 장치의 기술 사양을 개발하는 과정에서 이러한 전압 레벨 중 어느 것이 사용될 것인지 결정해야합니다. 대부분의 외부 부품, 센서 및 액추에이터가 5V 전압 레벨에서 작동하는 장치 설계에서 3.3V 작동 전압의 마이크로 컨트롤러를 사용하는 것은 로직 레벨을 구현해야하기 때문에 현명한 결정이 아닙니다. 마이크로 컨트롤러와 다른 구성 요소 사이의 데이터 교환을 가능하게하는 시프터 또는 변환기는 제조 비용과 장치의 전체 비용을 불필요하게 증가시킵니다.
6. I / O 핀 수
일반 또는 특수 목적의 입력 / 출력 포트 및 (또는) 마이크로 컨트롤러가 보유한 핀의 수는 마이크로 컨트롤러 선택에 영향을 미치는 가장 중요한 요소 중 하나입니다.
마이크로 컨트롤러가이 기사에 언급 된 다른 모든 기능을 갖지만 프로젝트에서 요구하는 충분한 IO 핀이없는 경우에는 사용할 수 없습니다. 예를 들어 마이크로 컨트롤러에는 장치에 따라 속도가 변하는 DC 모터의 수를 제어 할 수있는 충분한 PWM 핀이 있어야합니다. 마이크로 컨트롤러의 I / O 포트 수는 시프트 레지스터를 사용하여 확장 할 수 있지만 모든 종류의 애플리케이션에 사용할 수는 없으며 사용되는 장치의 비용이 증가합니다. 따라서 설계를 위해 선택할 마이크로 컨트롤러에 프로젝트에 필요한 일반 및 특수 목적 I / O 포트 수가 있는지 확인하는 것이 좋습니다.
프로젝트에 필요한 일반 또는 특수 목적 I / O 핀의 양을 결정할 때 염두에 두어야 할 또 다른 중요한 사항은 장치에 수행 할 수있는 향후 개선 사항과 이러한 개선이 I / O 핀 수에 미치는 영향입니다. 필수입니다.
7. 메모리 요구 사항
설계자가 선택할 때주의해야하는 마이크로 컨트롤러와 관련된 여러 유형의 메모리가 있습니다. 가장 중요한 것은 RAM, ROM 및 EEPROM입니다. 필요한 각 메모리의 양은 사용될 때까지 추정하기 어려울 수 있지만 마이크로 컨트롤러에 필요한 작업량을 판단하면 예측할 수 있습니다. 위에서 언급 한 이러한 메모리 장치는 마이크로 컨트롤러의 데이터 및 프로그램 메모리를 형성합니다.
마이크로 컨트롤러의 프로그램 메모리는 마이크로 컨트롤러의 펌웨어를 저장하므로 마이크로 컨트롤러에서 전원이 분리 되어도 펌웨어가 손실되지 않습니다. 필요한 프로그램 메모리의 양은 펌웨어가 올바르게 작동하는 데 필요한 라이브러리, 테이블, 이미지 용 바이너리 파일 등과 같은 데이터의 양에 따라 다릅니다.
반면에 데이터 메모리는 런타임 중에 사용됩니다. 런타임 동안 다른 활동 중 처리 결과 생성 된 모든 변수와 데이터는이 메모리에 저장됩니다. 따라서 런타임 중에 발생하는 계산의 복잡성을 사용하여 마이크로 컨트롤러에 필요한 데이터 메모리 양을 추정 할 수 있습니다.
8. 패키지 크기
패키지 크기는 마이크로 컨트롤러 의 폼 팩터 를 나타냅니다. 마이크로 컨트롤러는 일반적으로 QFP, TSSOP, SOIC에서 SSOP에 이르는 다양한 패키지와 프로토 타이핑을 위해 브레드 보드에 장착 할 수있는 일반 DIP 패키지로 제공됩니다. 제조 전에 미리 계획하고 어떤 패키지가 가장 좋을지 예상하는 것이 중요합니다.
9. 전력 소비
이는 마이크로 컨트롤러를 선택할 때 특히 고려해야 할 가장 중요한 요소 중 하나입니다. 특히 마이크로 컨트롤러가 가능한 한 저전력이어야하는 IoT 장치와 같은 배터리 구동 애플리케이션에 배포 될 때 그렇습니다. 대부분의 마이크로 컨트롤러의 데이터 시트에는 여러 모드에서 마이크로 컨트롤러가 소비하는 전력량을 최소화하는 데 사용할 수있는 여러 하드웨어 및 (또는) 소프트웨어 기반 기술에 대한 정보가 포함되어 있습니다. 선택하는 마이크로 컨트롤러가 프로젝트의 전력 요구 사항을 충족하는지 확인하십시오.
10. 마이크로 컨트롤러 지원
함께 작업하기로 선택한 마이크로 컨트롤러가 다음을 포함하여 충분한 지원을 제공하는 것이 중요합니다. 코드 샘플, 참조 설계 및 가능한 경우 대규모 온라인 커뮤니티. 처음으로 마이크로 컨트롤러를 사용하면 여러 가지 문제가 발생할 수 있으며 이러한 리소스에 액세스하면 문제를 빠르게 극복하는 데 도움이됩니다. 함께 제공되는 멋진 새 기능으로 인해 최신 마이크로 컨트롤러를 사용하는 것은 좋은 일이지만 마이크로 컨트롤러와 관련된 초기 문제의 대부분을 보장하기 위해 마이크로 컨트롤러가 최소 3-4 개월 동안 사용되었는지 확인하는 것이 좋습니다. 다양한 고객이 다양한 애플리케이션으로 마이크로 컨트롤러를 많이 테스트했기 때문에 문제가 해결되었을 것입니다.
좋은 평가 키트가 있는 마이크로 컨트롤러를 선택하는 것도 중요 하므로 프로토 타입 제작을 빠르게 시작하고 기능을 쉽게 테스트 할 수 있습니다. 평가 키트는 경험을 쌓고 개발에 사용되는 도구 체인에 익숙해지고 장치 개발 시간을 절약 할 수있는 좋은 방법입니다.
프로젝트에 적합한 마이크로 컨트롤러를 선택하는 것은 계속 문제가 될 것이며 모든 하드웨어 설계자는 해결해야 할 것이며 마이크로 컨트롤러 선택에 영향을 미칠 수있는 요소는 거의 없지만 위에서 언급 한 이러한 요소가 가장 중요합니다.