Aufgrund meiner hohen Anforderungen im Bereich von 36 bis 72 MHz, mit 16 kb + SRAM, 128 kb + Flash und Programmierbarkeit in C habe ich beschlossen, für meine Anwendung eine ARM Cortex M3-MCU zu verwenden.
Die Frage ist, nach welchen Kriterien die Nutzer die M3-Version auswählen, die sie verwenden möchten. Es gibt viele mögliche Anbieter wie TI, ST, NXP, Freescale usw.
Ein Hauptunterscheidungsmerkmal aus meiner Sicht wäre die einfache Programmierung. Idealerweise teste ich es auf einem Breakout / Development Board, gefolgt von der Implementierung auf meiner eigenen Platine.
microcontroller
arm
JDS
quelle
quelle
Antworten:
Ich denke, @markt ist mit Sicherheit am richtigen Ort: Toolchain, Peripheriegeräte, Pakete, Devkits.
Ich werde ein paar hinzufügen und vielleicht ein paar ausziehen. Toolchain ist sicherlich wichtig, kann aber auch KOSTENLOS sein. Manchmal kann es teurer sein, ohne echten Support zu arbeiten, als Sie denken, und die Verwendung eines vernünftigen kommerziellen Pakets kann sich für eine bestimmte Situation durchaus lohnen. Manchmal ist es auch wichtig, eine gründliche Lizenzprüfung zu bestehen, und die Verwendung eines kostenlosen Tools mit einer restriktiven Lizenz kann Sie später beißen.
Eine gute CMSIS-Bibliothek zur Unterstützung des Mikrocontrollers ist für mich ein Muss. CMSIS - Software-Schnittstellenstandard für Cortex-Mikrocontroller - arm.com/products/processors/cortex-m/… - ist eine Hardware-Abstraktionsschicht für Mikrocontroller der Cortex-M-Serie. Wenn eine Bibliothek CMSIS-kompatibel ist, ist sie herstellerunabhängig und es ist einfacher, verschiedene Familien auszutauschen, und Sie müssen eine Umgebung nicht von Grund auf neu lernen, um die Bibliothek nutzen zu können. Einer der attraktiven Aspekte der ARM Cortex-Umgebung ist die Möglichkeit, die Plattform ohne viel Schweiß zu wechseln. Wenn Sie eine Plattform auswählen, die sich nicht in die CMSIS-Struktur einfügt, können Sie sich möglicherweise nicht so bequem fortbewegen.
Für mich sind günstige und praktische Entwicklungsboards ein Muss, aber dies kann genauso wichtig sein wie einige andere Dinge (ich denke, die STM32-Serie hat erstaunliche Entwicklungsboards). Wenn die Familie über sehr praktische und billige Entwickler-Boards verfügt, werden Sie bei Bedarf eher Hilfe von einer größeren Anwenderbasis erhalten. Außerdem sind diese Chips in der Regel in SMT-Gehäusen. Wenn Sie unweigerlich einen Chip oder einen Port auf einem Chip oder einen Port auf einem Chip in die Luft jagen, ist das Ersetzen des Chips eine PITA, die eine SMD-Nacharbeit erfordert. Wenn Sie zwei oder drei Boards zu einem Preis von jeweils 10 bis 15 US-Dollar kaufen und diese ersetzen können, werden Sie nicht einmal daran denken, diese SMD-Überarbeitung durchzuführen!
Denken Sie an "Extras". Möglicherweise benötigen Sie etwas, das über das hinausgeht, was als "Peripheriegerät" bezeichnet wird. Möglicherweise haben Sie hohe Bluetooth-Anforderungen und entscheiden sich für Nordic Semiconductor, um diese Art von Unterstützung zu erhalten. Sie könnten einige andere Dinge in Betracht ziehen, z. B. wie einfach das Booten ist usw.
Dokumentation denken. Ich war ein bisschen weniger beeindruckt, wie schwierig es sein kann, einige der STM-Dokumentationen durchzuarbeiten.
quelle
Bedenken Sie bei Ihrem Wunsch nach Entwickler-Boards, was dort erhältlich ist.
Wenn Sie von einer anderen Plattform kommen über sind (PIC, Atmel, etc.) akzeptieren , dass es wird in der Umstellung auf ARM eine faire Lernkurve in vielen Bereichen sein, aber es ist gut und wirklich lohnt.
quelle
Wenn Sie keine ausgeprägte Präferenz haben (z. B. Preis, Größe, Leistung und was andere aufführen), würde ich überlegen, wer Sie unterstützt. Wenn der Hersteller Ihre Fragen nicht beantwortet, liegt möglicherweise ein Problem vor. Oder haben sie einen lokalen Händler mit einem FAE (Field Applciation Engineer), den Sie fragen können? Das ist besonders wichtig für kleine Unternehmen und Hobbisten.
Einige Teile sind möglicherweise nicht in kleinen Mengen verfügbar. Zum Beispiel richten sich diejenigen, die DRAM im selben Paket haben, an große Käufer (> 10.000 Einheiten).
quelle
Wahrscheinlich passt STM32L151VBT6 zu Ihrer Anforderung. Sogar wir haben es in unserer Firma verwendet, es hat moderate Kosten und ist in Bezug auf den Stromverbrauch gut. Außerdem erhalten Sie die meisten Designressourcen auf http://www.st.com .
Hauptmerkmale der STM32L151VB-MCU sind:
Ultra-Low-Power-Plattform 1,65 V bis 3,6 V Netzteil
-40 ° C bis 85 ° C / 105 ° C Temperaturbereich
0,3 μA Standby-Modus (3 Wakeup-Pins)
0,9 μA Standby-Modus + RTC
0,57 μA Stop-Modus (16 Weckleitungen)
1,2 μA Stoppmodus + RTC
9 μA Low-Power-Run-Modus
214 μA / MHz Run-Modus
10 nA Ultra-Low-I / O-Leckage
<8 μs Aufwachzeit
Kern: ARM®Cortex ™ -M3 32-Bit-CPU
Von 32 kHz bis 32 MHz max
33,3 DMIPS-Peak (Dhrystone 2.1)
Speicherschutzgerät
Reset und Supply Management
Extrem sicheres BOR mit geringem Stromverbrauch (Brownout-Reset) mit 5 wählbaren Schwellenwerten
Ultra-Low-Power-POR / PDR
Programmierbarer Spannungsdetektor (PVD)
Clock-Quellen
1 bis 24 MHz Quarzoszillator
32 kHz Oszillator für RTC mit Kalibrierung
Werkseitig abgeglichener interner 16-MHz-Hochgeschwindigkeits-RC (+/- 1%)
Interner Low Power 37 kHz RC
Interne Multispeed Low Power 65 kHz bis 4,2 MHz
PLL für CPU-Takt und USB (48 MHz)
Vorprogrammierter Bootloader
USART unterstützt
Entwicklungsunterstützung
Serial Wire Debug wird unterstützt
JTAG und Trace unterstützt
Bis zu 83 schnelle E / As (73 E / As, 5 V tolerant), alle auf 16 externe Interrupt-Vektoren abbildbar
Erinnerungen:
Bis zu 128 KB Flash mit ECC
Bis zu 16 KB RAM
Bis zu 4 KB echtes EEPROM mit ECC
80 Byte Sicherungsregister
LCD-Treiber für bis zu 8x40 Segmente
Unterstützung kontrast einstellung
Unterstützung blinkender modus
Hochsetzsteller an Bord
Umfangreiche analoge Peripheriegeräte (bis zu 1,8 V)
12-Bit-ADC 1 Msps bis zu 24 Kanälen
12-Bit-DAC 2-Kanäle mit Ausgangspuffern
2x Ultra-Low-Power-Komparatoren (Fenstermodus und Weckfunktion)
DMA-Controller 7x Kanäle
8x Kommunikationsschnittstelle für Peripheriegeräte
1x USB 2.0 (interner 48 MHz PLL)
3x USART (ISO 7816, IrDA)
2x SPI 16 Mbit / s
2x I2C (SMBus / PMBus)
10x Timer: 6x 16-Bit mit bis zu 4 IC / OC / PWM-Kanälen, 2x 16-Bit-Basis-Timer, 2x Watchdog-Timer (unabhängig und Fenster)
Bis zu 20 kapazitive Sensorkanäle für Touchkey-, lineare und rotative Berührungssensoren CRC-Berechnungseinheit, eindeutige 96-Bit-ID
quelle