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、ベンダー、(ユーザー)グループ、リスト、フォーラムなどから得られるサポートの量に基づいて選択します。
WouterヴァンOoijen 14年

5
「同じコアのメーカーが何十社もあります。人々がどのようなものを選んで、それらを選ぶのを助けるのですか?」私にとって良い質問のようです。
スコットサイドマン14年

5
これは、3つのお気に入りのラベルを含む最新の250のリストの中で最もスコアの高い質問です。これらの統計を使用して、これがOTである場合、理由を尋ねることを検討できます。ポスターは、「プログラミングのしやすさ」を現在使用している基準の1つと見なしており、さらに求めていることは明らかだと思います。4つの答えのうち、1つだけがコントローラーに対して明確な推奨を行い、他のすべてのユーザーは、選択を行うためにどの基準を使用するかについて説明します。質問をより話題にすべき小さな編集を行いましたが、編集する前にそれはかなり明確に見えました。
スコットサイドマン14年

回答:


19

@marktは確かに適切な場所にあると思います:ツールチェーン、周辺機器、パッケージ、開発キット。

いくつか追加し、おそらくいくつかを削除します。ツールチェーンは確かに重要ですが、無料の場合もそうでない場合もあります。時々、実際のサポートなしで作業するのは思ったよりも高くつくことがあり、特定の状況では合理的な商用パッケージを使用する価値があるかもしれません。場合によっては、徹底したライセンス監査に合格することも重要であり、制限付きのライセンスで無料のツールを使用すると、後で苦痛を感じることがあります。

マイクロコントローラーをサポートする優れたCMSISライブラリーは必須です。CMSIS-Cortexマイクロコントローラーソフトウェアインターフェイス標準-arm.com/products/processors/cortex-m/…-は、Cortex-Mシリーズマイクロコントローラーのハードウェア抽象化レイヤーです。理論的には、ライブラリがCMSIS準拠である場合、ベンダーに依存せず、異なるファミリを簡単に交換でき、ライブラリを使用するために環境を一から学び直す必要はありません。ARM Cortex環境の魅力的な側面の1つは、汗をかくことなくプラットフォームを変更できることです。CMSIS構造に同意しないプラットフォームを選択すると、それほど便利に移動できない場合があります。

私にとって、安価で便利な開発ボードは必須ですが、これは他のいくつかのものほど重要ではないかもしれません(STM32シリーズには素晴らしい開発ボードがあると思います)。ファミリーに非常に便利で安価な開発ボードがある場合、必要に応じてより大きなユーザーベースからヘルプを見つける可能性が高くなります。また、これらのチップはSMTパッケージに含まれる傾向があります。必然的にチップ、チップ上のポート、またはチップ上のポートを爆破する場合、チップの交換はSMDの修正を伴うPITAです。2枚または3枚のボードをそれぞれ10ドルから15ドルで購入し、それらをバストするたびに交換できる場合、そのSMDのリワークについて考えることすらありません!

「エクストラ」を考えてください。「周辺」と見なされるものを超えたものが必要になる場合があります。たとえば、ブルートゥースのニーズが非常に高く、そのようなサポートのためにNordic Semiconductorを選択する場合があります。ブートロードの簡単さなど、他のことを検討することもできます。

ドキュメントを考える。STMのドキュメントのいくつかを読み進めるのがどれほど難しいかについて、私は少し感心していませんでした。


+1完全に同意します。昨年、STM32を使用してARM Cortex-M3 / M4を開始しました。価格/可用性に基づいてSTM32F407に切り替えたときに、STM32F207の設計をほぼ完了していました。ハードウェアのドロップインであり、ソフトウェアの変更は簡単でした。文書化と複雑さから学ぶのは少し苦痛でしたが、設計はしっかりしており、トラブルに見合うだけの価値があります。テストコードの作成にはGCCコンパイラ(無料)を使用し、サンプルドライバの作成/テストには、Keilのコードサイズ制限付きの無料の評価版を使用します。私たちのプログラマーは、Keilコンパイラー全体のライセンスを持っています。両方とも堅実に見えます。
ツタンカーメン14年

1
@NickHalden、「ARM」は、ARMコアをパッケージ化し、周辺機器を追加するチップメーカーにライセンスします。CMSIS-Cortexマイクロコントローラーソフトウェアインターフェイス標準-arm.com/products/processors/cortex-m/…-は、Cortex-Mシリーズマイクロコントローラーのハードウェア抽象化レイヤーです。理論的には、ライブラリがCMSIS準拠である場合、ベンダーに依存せず、異なるファミリを簡単に交換でき、ライブラリを使用するために環境を一から学び直す必要はありません。
スコットサイドマン14年

1
@YoungMoney必要なリソースの少なくとも2倍のリソースを提供する最も安いものを探してください。
マルクト14年

1
物事が行き詰まるのを防ぐために、大きなもので開発してください。必要なリソースを把握したら、削減してください。
スコットサイドマン14年

1
無料のツールチェーンは、コストのためではなく、アクセスセキュリティのために重要です -ロックダウンされたツールチェーンを使用してください。プロジェクトを維持する能力は、有効期限が切れるか、旅行ラップトップで利用できないライセンスによって損なわれますまたは同僚、紛失する可能性のあるドングル、数年後にプラグを抜くことができるライセンスサーバーなど。ほとんどの組み込み設計は、開発に使用したデスクトップハードウェアとオペレーティングシステムのバージョンをはるかに超えて寿命があり、元の製品を復活させることができます将来のツールは重要です!
クリスストラットン14

14
  1. 無料のツールチェーン、RTOS、および低コストのJTAG / SWDサポートを探してください。
  2. 使用できる/使用するパッケージを検討してください。DIPが必須の場合は、DIPパッケージを提供しないシリコンベンダーを除外してください。
  3. 周辺機器が提供しているもの、およびあなたが望む/必要とする可能性が高いものを見てください。
  4. バングフォーバックを探してください-大手電子機器ベンダーのウェブサイトを使用して、リンゴとリンゴを比較してください。

開発ボードへの要望を考えて、そこに何があるか考えてください。

別のプラットフォーム(PIC、Atmelなど)から来ている場合は、ARMへの移行の多くの分野で公平な学習曲線があることを受け入れますが、それは十分に価値があります。


はい-無料のツールチェーンは、コストよりも将来の/代替コンピューター/代替エンジニアのツールチェーンへのアクセスのセキュリティにとって重要です。Cortexパーツの場合、ツールチェーンはかなり普遍的であるため、使用可能または再作成可能で、現在の(および将来の)OSから駆動できる使いやすいSWDインターフェイスデバイスでプログラムチェーンをプログラムできることを認識しています選択。
クリスストラットン14

5

あなたが強い好みを持っていない場合(例えば、価格、サイズ、力、および他のリストされたもの)、私は誰があなたをサポートするかを検討します。製造元が質問に答えない場合、それが問題になる可能性があります。または、FAE(Field Applciation Engineer)の現地代理店に依頼できますか?これは、中小企業やホビストにとって特に重要です。

一部の部品は、少量で入手できない場合があります。たとえば、同じパッケージにDRAMが入っているものは、大規模なバイヤー(> 1万台)を対象としています。


2

おそらくSTM32L151VBT6はお客様の要件に適しています。弊社で使用した場合でも、コストが抑えられており、電力消費の面でも優れています。また、ほとんどの設計リソースはhttp://www.st.comで入手できます

STM32L151VB MCUの主な機能は次のとおりです。

超低電力プラットフォーム1.65 V〜3.6 V電源

-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実行モード

10 nA超低I / Oリーク

<8μsのウェイクアップ時間

コア:ARM®Cortex™-M3 32ビットCPU

32 kHzから最大32 MHzまで

33.3 DMIPSピーク(Dhrystone 2.1)

メモリ保護ユニット

リセットおよび供給管理

5つの選択可能なしきい値を備えた、非常に安全な低電力BOR(ブラウンアウトリセット)

超低電力POR / PDR

プログラマブル電圧検出器(PVD)

クロックソース

1〜24 MHzの水晶発振器

キャリブレーション付きRTC用の32 kHz発振器

高速内部16 MHz工場調整済みRC(+/- 1%)

内部低電力37 kHz RC

内部マルチスピード低電力65 kHz〜4.2 MHz

CPUクロックおよびUSB用のPLL(48 MHz)

事前にプログラムされたブートローダー

USARTをサポート

開発支援

シリアルワイヤデバッグをサポート

JTAGおよびトレースをサポート

最大83個の高速I / O(73個のI / O 5Vトレラント)、すべてが16個の外部割り込みベクターにマッピング可能

思い出:

ECCを使用した最大128 KBのフラッシュ

最大16 KBのRAM

ECCを備えた最大4 KBの真のEEPROM

80バイトのバックアップレジスタ

最大8x40セグメントのLCDドライバー

コントラスト調整をサポート

点滅モードをサポート

ボード上のステップアップコンバーター

豊富なアナログ周辺機器(最低1.8 V)

最大24チャネルの12ビットADC 1 Msps

出力バッファ付きの12ビットDAC 2チャンネル

2個の超低電力コンパレータ(ウィンドウモードおよびウェイクアップ機能)

DMAコントローラー7xチャネル

8x周辺機器通信インターフェース

1 x USB 2.0(内部48 MHz PLL)

3x USART(ISO 7816、IrDA)

2x SPI 16 Mビット/秒

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.