ARM Cortex M3 마이크로 컨트롤러를 선택하는 방법은 무엇입니까?


26

C에서 프로그래밍이 가능한 16kb + SRAM, 128kb + 플래시를 갖는 36-72MHz 범위에 대한 대략적인 요구 사항을 기반으로 필자는 애플리케이션에 ARM Cortex M3 MCU를 사용하기로 결정했습니다.

문제는 사람들이 사용할 M3 버전을 선택하기 위해 어떤 기준을 사용합니까? TI, ST, NXP, Freescale 등과 같은 많은 벤더가 있습니다.

내 견해와 다른 점은 프로그래밍이 쉽다는 것이다. 이상적으로는 브레이크 아웃 / 개발 보드에서 테스트 한 다음 자체 PCB에서 구현합니다.


11
이것은 유용한 질문입니다. 누구나 의견 기반 으로 닫지 마십시오 .
Dzarda

2
칩 벤더 선정은 문제의 일부일뿐입니다. 어떤 개발 툴체인을 사용할지 생각해 보셨습니까?
kkrambo

5
이런 상황에서 uC 칩을 선택하는 것의 중요성이 심각하게 과장되어 있다고 말하고 싶습니다. 기본 요구 사항을 충족하는 모든 칩이 작동합니다. 나는 C 또는 C ++를 고수하고 멋진 주변 장치가 필요하지 않으므로 나중에 약간의 노력으로 켤 수 있습니다. 본인이 쉽게 액세스 할 수있는 www, 공급 업체, (사용자) 그룹, 목록, fora 등에서 얻을 수있는 지원 금액을 기준으로 선택합니다.
Wouter van Ooijen

5
"동일한 코어를 가진 제조사가 12 개 있습니다. 사람들이 하나를 선택하도록 돕기 위해 어떤 것들을보고 있습니까?" 나에게 좋은 질문처럼 보인다.
Scott Seidman 2016 년

5
250 개의 최신 목록 중 3 개의 선호 레이블이있는 가장 높은 점수의 질문입니다. 이 통계를 보면 이것이 구약이라면 그 이유를 물어볼 수도 있습니다. 나는 포스터가 "프로그램의 용이함"을 현재 사용하고있는 기준 중 하나라고 생각하고 더 많은 것을 요구한다는 것이 분명하다고 생각합니다. 네 가지 답변 중 하나만 컨트롤러를 명확하게 추천하고 다른 하나는 선택을 위해 어떤 기준을 사용하는지 논의합니다. 질문을 더 주제에 맞게 만들어야하는 작은 편집을했지만 편집하기 전에 나에게 분명해 보였습니다.
Scott Seidman 2016 년

답변:


19

@markt가 확실히 올바른 위치에 있다고 생각합니다. 툴체인, 주변 장치, 패키지, 개발자 키트.

몇 개를 더하고 어쩌면 몇 개를 벗을 것입니다. 툴체인은 확실히 중요하지만 FREE는 그렇지 않을 수도 있습니다. 때로는 실제 지원없이 작업하는 것이 생각보다 비용이 많이들 수 있으며 합리적인 상용 패키지를 사용하는 것이 주어진 상황에서 가치가있을 수 있습니다. 때로는 철저한 라이센스 감사를 통과하는 것도 중요하며 제한적인 라이센스로 무료 도구를 사용하면 나중에 물릴 수 있습니다.

마이크로 컨트롤러를 지원하는 좋은 CMSIS 라이브러리는 필자에게 필수입니다. CMSIS-Cortex 마이크로 컨트롤러 소프트웨어 인터페이스 표준 ( arm.com/products/processors/cortex-m/…) 은 Cortex-M 시리즈 마이크로 컨트롤러를위한 하드웨어 추상화 계층입니다. 이론적으로 라이브러리가 CMSIS를 준수하는 경우 공급 업체에 독립적이며 다른 제품군을 쉽게 교체 할 수 있으며 라이브러리를 사용할 수 있도록 환경을 처음부터 다시 배울 필요가 없습니다. ARM Cortex 환경의 매력적인 측면 중 하나는 땀을 흘리지 않고 플랫폼을 변경할 수 있다는 것입니다. CMSIS 구조로 구매하지 않는 플랫폼을 선택하면 편리하게 이동할 수 없습니다.

저에게는 저렴하고 편리한 개발 보드가 필수이지만 다른 것만 큼 중요하지 않을 수도 있습니다 (STM32 시리즈에는 놀라운 개발 보드가 있다고 생각합니다). 가족이 매우 편리하고 저렴한 개발 보드를 보유하고 있다면 필요한 경우 더 큰 사용자층으로부터 도움을받을 가능성이 높습니다. 또한 이러한 칩은 SMT 패키지에 포함되는 경향이 있습니다. 필연적으로 칩, 칩의 포트 또는 칩의 포트에서 비트를 날릴 때 칩을 교체하는 것은 SMD 재 작업과 관련된 PITA입니다. 2 ~ 3 개의 보드를 각각 $ 10 ~ $ 15에 구매하고 파열 할 때 교체 할 수 있다면 SMD 재 작업에 대해 생각조차하지 않을 것입니다!

"추가"를 생각하십시오. "주변"으로 간주되는 것 이상의 것을 필요로 할 수 있습니다. 예를 들어, 블루투스가 많이 필요한 경우, 이러한 지원을 위해 Nordic Semiconductor와 함께 할 수 있습니다. 부팅이 얼마나 쉬운 지 등과 같은 다른 것들을 고려할 수 있습니다.

설명서를 생각하십시오. STM 문서 중 일부를 다루기가 얼마나 어려운지 감명받지 못했습니다.


+1 완전히 동의합니다. 작년에 STM32를 사용하여 ARM Cortex-M3 / M4를 시작했습니다. 가격 / 가용성에 따라 STM32F407로 전환했을 때 STM32F207 디자인을 거의 완성했습니다. 그것은 하드웨어의 드롭 인이었고 소프트웨어 변경은 사소한 것이 었습니다. 문서화와 복잡성으로 인해 배우기가 약간 어려웠지만 디자인은 견고하고 문제가 있습니다. 테스트 코드를 작성하기 위해 GCC 컴파일러 (무료)를 사용하고 샘플 드라이버를 작성 / 테스트하기 위해 Keil의 코드 크기 제한 무료 평가판을 사용합니다. 우리 프로그래머에게는 전체 Keil 컴파일러에 대한 라이센스가 있습니다. 둘 다 견고 해 보인다.
Tut

1
@NickHalden, "ARM"은 ARM 코어를 패키지로 만들고 주변 장치를 추가하는 칩 제조업체에게 라이센스를 부여합니다. CMSIS-Cortex 마이크로 컨트롤러 소프트웨어 인터페이스 표준 ( arm.com/products/processors/cortex-m/…) 은 Cortex-M 시리즈 마이크로 컨트롤러를위한 하드웨어 추상화 계층입니다. 이론적으로 라이브러리가 CMSIS를 준수하는 경우 공급 업체에 독립적이며 다른 제품군을 쉽게 교체 할 수 있으며 라이브러리를 사용할 수 있도록 환경을 처음부터 다시 배울 필요가 없습니다.
Scott Seidman 2016 년

1
@YoungMoney 가장 저렴한 리소스를 제공하여 필요한 리소스를 두 배 이상 제공합니다.
markt

1
갇히지 않도록 크게 개발하십시오. 필요한 리소스를 제대로 파악한 후에는 줄이십시오.
Scott Seidman 2016 년

1
무료 툴체인은 비용이 아니라 액세스 보안으로 인해 전문적인 맥락에서 중요 합니다. 잠겨진 툴체인으로 이동하십시오. 프로젝트를 유지하는 능력은 여행용 랩톱에서 만료되거나 사용할 수없는 라이센스로 인해 어려움을 겪습니다. 또는 동료, 길을 잃을 수있는 동글, 몇 년 후에 플러그를 뽑을 수있는 라이센스 서버 등 대부분의 임베디드 디자인은 데스크탑 하드웨어 및 개발에 사용 된 운영 체제 버전보다 훨씬 더 긴 수명을 가지며 원본을 복원 할 수 있습니다 미래의 도구가 중요합니다!
Chris Stratton

14
  1. 무료 툴체인, RTOS 및 저렴한 JTAG / SWD 지원을 찾으십시오 .
  2. DIP가 필수 인 경우 DIP 패키지를 제공하지 않는 실리콘 공급 업체를 배제하십시오.
  3. 제공되는 주변 장치와 원하는 / 필요한 것을 확인하십시오.
  4. Bang-for-buck 찾기-하나 이상의 대형 전자 제품 공급 업체 웹 사이트를 사용하여 사과와 사과를 비교하십시오.

개발자 보드에 대한 당신의 욕구가 주어지면, 거기에서 사용 가능한 것을 고려하십시오.

다른 플랫폼 (PIC, Atmel 등) 에서 온다면 ARM으로의 전환에있어 많은 영역에서 공정한 학습 곡선 이있을 것이라는 점을 인정 하지만, 실제로 가치가 있습니다.


예-무료 툴체인은 향후 / 대체 컴퓨터 / 대체 엔지니어가 비용보다 더 많은 툴체인에 액세스 할 수 있도록하는 데 중요합니다. Cortex 부품의 경우 툴체인은 상당히 보편적이므로 현재 또는 미래의 OS에서 사용할 수 있거나 다시 만들 수 있으며 작업이 용이 한 SWD 인터페이스 장치를 사용하여 프로그래밍 할 수 있음을 더 잘 알고 있습니다. 선택.
Chris Stratton

5

선호도가 높지 않으면 (예 : 가격, 크기, 권력, 다른 사람들이 열거 한 것) 누가 당신을지지하는지 고려할 것입니다. 제조업체가 귀하의 질문에 대답하지 않으면 문제가 될 수 있습니다. 아니면 FAE (Field Applciation Engineer)와 함께 지역 대리점에 문의 할 수 있습니까? 소기업과 홉스리스트에게 특히 중요합니다.

일부 부품은 소량으로 제공되지 않을 수 있습니다. 예를 들어, 동일한 패키지에 DRAM이있는 제품은 대규모 구매자 (> 10k 단위)를 대상으로합니다.


2

아마도 STM32L151VBT6이 귀하의 요구 사항에 적합합니다. 회사에서 사용하더라도 비용이 적당하고 전력 소비 측면에서 우수합니다. 또한 http://www.st.com 에서 대부분의 디자인 리소스를 얻을 수 있습니다.

STM32L151VB MCU의 주요 기능은 다음과 같습니다.

초 저전력 플랫폼 1.65V ~ 3.6V 전원 공급 장치

-40 ° C ~ 85 ° C / 105 ° C 온도 범위

0.3μA 대기 모드 (웨이크 업 핀 3 개)

0.9μA 대기 모드 + RTC

0.57μA 정지 모드 (16 개의 웨이크 업 라인)

1.2μA 정지 모드 + RTC

9μA 저전력 실행 모드

214μA / MHz 실행 모드

10nA의 초저 I / O 누출

<8 μs 웨이크 업 시간

코어 : ARM® Cortex ™ -M3 32 비트 CPU

최대 32kHz ~ 최대 32MHz

33.3 DMIPS 피크 (Dhrystone 2.1)

메모리 보호 장치

리셋 및 공급 관리

5 개의 선택 가능한 임계 값을 갖춘 매우 안전한 저전력 BOR (브라우 아웃 재설정)

초 저전력 POR / PDR

프로그래머블 전압 검출기 (PVD)

클럭 소스

1 ~ 24MHz 수정 발진기

교정 기능이있는 RTC 용 32kHz 발진기

고속 내부 16MHz 공장 트리밍 RC (+/- 1 %)

내부 저전력 37kHz RC

내부 다중 속도 저전력 65kHz ~ 4.2MHz

CPU 클록 및 USB (48MHz) 용 PLL

사전 프로그래밍 된 부트 로더

USART 지원

개발 지원

직렬 와이어 디버그 지원

JTAG 및 추적 지원

최대 83 개의 빠른 I / O (73 개의 I / O 5V 허용), 모두 16 개의 외부 인터럽트 벡터에서 매핑 가능

추억 :

ECC를 사용하여 최대 128KB 플래시

최대 16KB RAM

ECC를 사용하여 최대 4KB의 실제 EEPROM

80 바이트 백업 레지스터

최대 8x40 세그먼트를위한 LCD 드라이버

대비 조정 지원

깜박임 지원

보드상의 스텝 업 컨버터

풍부한 아날로그 주변기기 (최소 1.8V)

최대 24 개 채널의 12 비트 ADC 1 Msp

출력 버퍼가있는 12 비트 DAC 2 채널

초 저전력 비교기 2 개 (윈도우 모드 및 웨이크 업 기능)

DMA 컨트롤러 7x 채널

8x 주변 장치 통신 인터페이스

1x USB 2.0 (내부 48MHz PLL)

USART 3 개 (ISO 7816, IrDA)

2x SPI 16 Mbits / s

2x I2C (SMBus / PMBus)

10x 타이머 : 최대 4 개의 IC / OC / PWM 채널이있는 6x 16 비트, 2x 16 비트 기본 타이머, 2x 워치 독 타이머 (독립 및 윈도우)

터치 키, 선형 및 회전식 터치 센서를 지원하는 최대 20 개의 정전 식 감지 채널 CRC 계산 장치, 96 비트 고유 ID

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.