수많은 MCU 플랫폼이 있으며 누군가 한 플랫폼에 익숙해지면 일반적으로 다른 플랫폼으로 전환하기를 꺼립니다.
내 질문은 : 오늘날 범용 작업에 MCU를 사용하기 시작했다면 어떻게 선택합니까? 다른 플랫폼의 고유 한 판매 포인트는 무엇입니까?
수많은 MCU 플랫폼이 있으며 누군가 한 플랫폼에 익숙해지면 일반적으로 다른 플랫폼으로 전환하기를 꺼립니다.
내 질문은 : 오늘날 범용 작업에 MCU를 사용하기 시작했다면 어떻게 선택합니까? 다른 플랫폼의 고유 한 판매 포인트는 무엇입니까?
답변:
1 년이 지났는데, 마이크로 컨트롤러를 선택하는 주제에 대해 이야기했습니다 (약 1.5 시간 소요). 청중은 고급 소프트웨어 프로그래머 및 제조업체였습니다. 대다수의 관객에게는 이전 μC 경험이 없었으며 나머지는 Arduino 와만 함께했습니다. 청중의 수는 약 30 명이었습니다. 따라서 이것은 일대일 클리닉과 달리 멀티 캐스트였습니다.
대화의 핵심 슬라이드는 다음과 같습니다.
치수
마이크로 컨트롤러 비교 용. 목록은 내림차순입니다.
- 개발 환경 (툴 체인)
- 개발 환경
- 개발 환경에 대해 언급 했습니까?
- 지원하다
- 어플리케이션 노트
- 동료 지원 : 부족 지식, 친구, 포럼, 코드 [sic]
- 풍모
- 기억
- 주변기기
- 계산력
- 전력 소비
- 비용
추신
이 답변이 제한되는 범위를 정의해야합니다. 이 플랫폼 선택 질문은 두 종류의 렌즈를 통해 볼 수 있습니다. 첫 번째는 프로토 타입입니다. 두 번째는 $ 3k 정도의 거리 가격과 연간 수백 개의 수량을 가진 전문 장비 개발자입니다. 애호가 렌즈도 멀지 않습니다. 이 경우 마이크로 컨트롤러의 증분 비용은 개발 비용 또는 마이크로 컨트롤러가 사용하는 전문 장비 비용과 비교하여 적습니다.
물론 대량 생산의 관점은 매우 다릅니다. 누군가 대량으로 생산할 저렴한 장치 (주류 완구가 좋은 예)를 위해 마이크로 컨트롤러를 선택하면 하드웨어 비용에 의해 구동됩니다. 대량의 생산량 (수십만 이상)을 곱하면 하드웨어 비용을 약간만 절약하면 다루기 힘든 개발 환경과 mediochre를 지원하는 저렴한 가격의 마이크로 컨트롤러를 사용하는 데 따르는 어려움을 정당화 할 수 있습니다.
이 질문은 내가 기대했던 플랫폼 비교를 제대로 만들지 못했기 때문에 문학과 다른 답변을 연구하여 스스로를 만들려고했습니다. 아마도 이것은 미래에 다른 누군가를 도울 수 있습니다.
실수가 있거나 추가 할 수있는 정보가 있으면 알려주십시오.
비교에 관한 참고 사항 :
PIC :
AVR :
팔 외피 M :
PSoc : (Rocketmagnet의 답변에서)
프로펠러 : (Rocketmagnet의 답변에서)
USB:
아래 목록의 "전설":
가장 저렴한 장치의 속성 : (약 가격 순서로)
이더넷 :
MCU의 선택은 작업하려는 프로젝트의 종류에 따라 다릅니다. 번쩍이는 자전거 조명과 같은 대량의 슈퍼 저렴한 장치를 만들고 있습니까? 수많은 기괴한 IO 장치 및 센서를 처리해야하는 복잡한 프로토 타입 로봇을 개발하고 있습니까?
나는 주로 후자에서 일합니다. 나를위한 주요 문제는 내가 원하는 주변 장치 세트가있는 마이크로 컨트롤러를 찾는 것입니다. 우리의 요구 사항이 주류가 아닌 것처럼 보이기 때문에 이것은 매우 어렵습니다. 5 개의 PWM 채널, 5 개의 쿼드 러처 디코더, 2 개의 비표준 SPI 포트 및 IO가 무효화 된 UART와 같은 것을 원합니다.
이러한 종류의 요구 사항을 쉽게 처리 할 수있는 유일한 MCU는 PSoC와 프로펠러입니다.
프로펠러는 기본적으로 단일 칩에 8 개의 32 비트 MCU입니다. 주변 장치 유형을 원할 경우 MCU 중 하나를 프로그래밍하여 해당 작업을 수행하면됩니다. 그래서 당신은 당신이 원하는 것을 가질 수 있습니다.
PSoC는 3과 5의 두 가지 맛이 있습니다. 3은 8051 코어이고 5는 ARM 피질 M3입니다. 칩에는 ADC, 필터, 연산 증폭기, DAC, SPI, UART, 쿼드 러처 디코더, CRC 생성기 등 광범위한 주변 장치로 만들 수있는 재구성 가능한 디지털 및 아날로그 블록도 포함되어 있습니다.
개발 환경은 환상적입니다. 일반적인 IDE의 일반적인 소스 코드 편집 기능이 있지만 회로도 편집기도 있습니다. 말 그대로 원하는 디지털 회로를 연결하여 게이트, 플립 플롭 등으로 주변 장치를 연결할 수 있습니다. 5 개의 PWM이 필요하십니까? 쉽게, 그것들을 회로도에 넣고 배선하고 멀리 가십시오. 제공되지 않은 것을 원할 경우 Verilog에 자체 주변 장치를 작성할 수도 있습니다. 이러한 종류의 하드웨어에서 많은 응용 프로그램을 간단히 구현할 수 있습니다.
진정한 이점은 하나의 칩을 사용하여 앞으로 수행하려는 많은 프로젝트를 처리 할 수 있다는 사실을 알고 있다는 것입니다. PIC에 대해 짜증나게 한 점은 수십 개의 장치를 통해 지속적으로 트롤링하여 필요한 특정 주변 장치 세트가있는 장치를 찾고있었습니다. 이제는 그런 문제가 없습니다.
나에게 가장 중요한 요구 사항은 장치가 아닌 IDE가 Windows 이외의 PC (Linux)에서 잘 지원되는지였다. 나를 위해 Atmel AVR은 PIC보다 더 나은 (오픈 소스) 지원을 받았다는 것이 밝혀졌습니다.
하나 이상의 플랫폼을 사용하는 것이 좋습니다. 각 작업에 가장 적합한 것을 선택하고 작업과 관련된 코드 및 예제의 가용성도 선택하십시오.
그들 중 대부분은 좋은 개발 도구를 가지고 있으며, arduino에는 비주얼 스튜디오가 있고, 그림에는 훌륭한 도구가 있으며 다른 사람들도 있습니다. 나에게있어 얼마나 쉽고 빠르게 일을 잘할 수 있을까요? + 같은 일을하는 오픈 소스 사람들이 몇 명입니까?
마이크로 컨트롤러는 빠르게 변화하는 세계이며, 현재 "인"칩에 대해 배우면 많은 이점이 있으며 가장 인기있는 IDE는 커뮤니티의 도움을 받고 있습니다. PIC 사람으로서 나는 Aduino가 아마도 초보자를위한 최고의 IDE 및 개발 보드를 가지고 있으며 납땜 인두에 닿지 않고 기본 aduino 보드에 많은 것을 추가 할 수 있다고 말합니다.
실생활에 aduino를 사용하는 사람은 곧 나아가고 싶을 것입니다. 그러나 그때까지 많은 기본적인 디지털 전자 장치와 C의 좋은 하위 세트를 배우면 더 적합한 것을 쉽게 사용할 수 있습니다.
누군가 당신이 당신의 프로젝트를 위해 칩을 선택한다고 언급했듯이, ARM 칩을 간단한 온도 센서 또는 AD 변환기로 사용하는 몇 가지 프로젝트를 보았습니다. 전자 설계에 진지하게 참여한다면 갈등과 HDL을 이해하는 것이 좋습니다. 그러나 불행히도 현실 세계에는 많은 작업이 필요하지 않은 프로젝트가 많지 않습니다. 이것이 8 비트 uC가 최고가되는 곳입니다.
게시 된 답변 중 다수가 취미 사용에 초점을 맞추고 있으므로 여기에는 전문 개발자에게만 제공되는 다양한 권장 사항이 있습니다.
최소 요구 사항
MCU 가이 모든 사항을 충족하지 못하면 사용해서는 안됩니다.
경고 표시-MCU 하드웨어
2019 년에는 시간을 낭비하지 않아야합니다.
int
는 C 언어 정수 프로모션의 모든 숨겨진 위험과 함께 제공됩니다.경고 표시-툴 체인
아날로그 및 디지털 처리가 가능한 범용 작업을 수행하려는 경우 IDE, 디버거 및 그와 함께 할 수있는 많은 작업에 PSoC를 선호합니다.
대학에서 PSoC3를 사용하여 프로젝트를 수행했으며 마스터하는 것은 매우 간단합니다. 성능 칩이 필요한 경우에만 개별 칩을 가져와야합니다. 충분한 포트가 있습니다. 따라서 개발 키트와 함께 성능 칩을 찾고 있다면 별도의 구성 요소를 사용하는 것이 좋습니다.