今日入手可能な優れたマイクロコントローラーは何ですか?[閉まっている]


40

マイクロコントローラのアセンブリとCプログラミングの経験はありますが、今日の企業が提供しているさまざまなMCUおよびDSPファミリには精通していません。(例:Texas Instruments、Atmel、Renesas)

優れたマイクロコントローラ/ DSP、およびそれらを使用して開発することについて知りたいです。さまざまなMCU / DSPファミリについての理解を、回答ごとに1つのファミリにまとめてください。

また、このマイクロコントローラのメインアプリケーションとは何かを詳しく説明してください。

(これは「コミュニティwiki」であるため、100を超える評判を持つ人なら誰でも回答を改良および改善できます)


私はいくつかの答えから始めています、無料であなた自身を追加してください!または、既存の家族を編集して知恵を加えます。すべてのTI MCU / DSPの知恵に対してJason Sに感謝します。chiphacker.com/users/330/jason-s
Edward

@Edward、このサイトはブートストラップモードになっているため、誰もがCWの投稿を編集できます
Earlz

どこから入手できるのか、特にサンプルとして入手できるものがあるかどうかを見たいです。
XTL

1
この質問全体は無意味であり、建設的ではありません。予想どおり、さまざまなプロセッサラインに対して賛否両論の意見が寄せられています。終了する投票。
オリンラスロップ

1
@リカード私は実際にそのコメントを書いたことを覚えています。誰かが考古学者のバッジか何かを求めていました。とにかく、この古い質問はもはや視界に合わず、派遣する必要があります。
マットヤング

回答:


35

ARMは32ビットコントローラーの業界標準ですが、PIC32には優れた機能がいくつかあります。それらは非常に使いやすいです。私はNXP LPC2000およびLPC1000 ARMチップが好きですが、新しいEnergy Micro ARM Cortex-M3チップは、MSP430 [Youtube] と同等の非常に低い消費電力のため、非常に興味深いものです。サポートは非​​常に多様で、NXPチップには私が実行しているLPC2000グループがあり、人々はそれを好むようです。


1
PIC32は、MIPS M4Kコアを使用します-コアが他のメーカーにライセンス供与されているという点でARMと同様-周辺機器をパックおよび追加するマイクロチップなど。
破滅的な

私もARMに投票します。完全に標準的なコンパイラとデバッガ、ほぼ汎用のJTAGインターフェイス、PICASMやC18などの独自のバイナリに依存しません。:-)
akohlsmith

1
ここに別のARMファン。プロジェクトをプロトタイプ化し、TI Stellaris LM3S6965用のPCBを設計および組み立てました。まともなドキュメントとソフトウェアライブラリ、私はそのプロジェクトの前にソフトウェアのバックグラウンドがあり、TIが提供するドキュメントはデバイスのプログラミング方法とテンプレートとしてのサンプル回路図の使用方法を学ぶのに十分で、ボードレイアウトの方法を学び、動作します。たくさんの機能とお金のためのパワー。今日、私はさまざまなCortex M4製品を見て、TIはM4マイクロをリリースしたばかりですが、他のベンダーの製品を見ることをheしません。
準最適

27

おそらくArduinoにいるAtmel AVR:私はLeonに反対し、AtmelのAVRラインは最初から素晴らしい家族だと言います。ATtinyからATmegaに至るまで、かなり多様です(私は一緒に仕事をしたことがありません)。AVR32とXmegaは異なるファミリーです。

AVRfreaksはウェブ上で最高のエレクトロニクスフォーラムの1つです(まもなくChiphackerを凌ぐ予定です)。Arduinoコミュニティも存在し、愛好家を対象としています。Arduinoはマイクロコントローラハードウェアの学習には最適ですが、プログラミングには役立ちません(OPはASMとCを知っていると述べています)。

WinAVRスイートは、他のツールチェーンと比較してパイのように簡単です。ダウンロードして、[次へ]を数回押し、コードを入力してF5を押します。それより簡単なことはありません。確かに、AVR Studioエディターには必要なすべての機能がありませんが、多くのベンダーのIDEは良くも悪くもありません(*咳* MPLAB *咳*)。

納期についてはわかりませんが、6ピンSOT23 ATtinyはニッチチップであり、SO8またはDIPバージョンは非常に入手可能です。関連する注意事項として、DIP(プロトタイピング用)とコンパクトSMTパッケージの両方でそれらを調達するという素晴らしい仕事もします。


3
Linuxを使用している場合は、「sudo apt-get install gcc-avr avr-libc avrdude」を使用すると、おそらく30分以内に完全に機能するツールチェーンを使用できます。Winavrは基本的に完全に互換性があります。Makefileを一度も変更することなく、2つの間で共有コードベースを維持しています。ハードウェアパラレルポートまたはシリアルポートがある場合、完全なISPハードウェアは、市販のコネクタといくつかのパッシブ(抵抗)で構成されます。いくつかのUSBオプションが利用可能で、30ドル(世界中に出荷)のBus PirateはAVR ISPなどを直接実行します。
-XTL

2
AVRは、近くの電器店でも実際に棚に置いている数少ないチップの1つです。
XTL

1
AVR Eclipseプラグインを使用して、Eclipse IDEからWINAVR(すなわちavr-libc)用にプログラムできます。Eclipseはすべてを改善します!
vicatcu

17

TI MSP430シリーズ

ハードウェア

さまざまなハードウェア周辺機器はMicrochip PICほど柔軟ではありませんが、ソフトウェアデバッグツールチェーンのサポートはMicrochipの部品よりもはるかに優れています。TIは先日、Eclipseを使用するMSP430マイクロコントローラーおよびTMS320F28xx DSP用のCode Composerの新しいバージョンをリリースしました。デバッグのサポートは優れています。

また、これらは制御レジスタのセットアップが非常に簡単で、28xx DSPよりもはるかに簡単です。

MSP430は、通常より多くのキャプチャ/比較レジスタを使用できるため、タイミングを集中的に使用するアプリケーションに最適です。これにより、多くのタイミング集約型周辺機器を扱う必要があるシステムを大幅に簡素化できます。

開発

開発システムは150ドルで購入できます(USBスティックに搭載されたMSP430は20ドルと安くなりますが、制限があります)。実際のハードウェア+デバッガプロトタイピングシステムを入手できます。また、2個のチップが付属し、コストが$ 4.30 の新しいTI ランチパッドを入手することもできます。


GCCが利用可能です。mspgcc.sourceforge.net(旧)mspgcc4.sourceforge.net(新規)
XTL

TIの最近の問題は、「eストア」が機能せず、新しいキットが常に売り切れているか、在庫がないことです。ChronosとLaunchpad、およびEZとEZ RFキットには多くの需要があるように見えますが、在庫のある店を見つけない限り、ほとんど手に入らないことがあります。うまくいけば、これはすぐに解決するでしょう。
XTL

TIはチップのサンプルも提供しているようです。
XTL

Elektorは、ez430を従来の開発キット向けに拡張するボードも提供しています。elektor.com/products/kits-modules/modules/…–
XTL

この夏、Launchpadsを入手するのに何の問題もありませんでした。供給の問題は短命だったかもしれません。
ブライアンノブラウチ

14

Microchip PIC 16F / 18F

対象市場

安価な8ビットマイクロプロセッサ。16Fはマイクロチップ社の初期のプロセッサ製品の1つであり、C / C ++でのプログラミングには特に適していません。

  • その命令セットのコアとメモリアーキテクチャ
  • 銀行を切り替える必要性
  • 一般的なポインタ操作のサポートの欠如
  • アーキテクチャによるC / C ++のパフォーマンスの低下
  • アルゴリズムを実装するためにより大きなプログラムサイズが必要

18Fシリーズは新しいので、プロジェクトに余裕がある場合は検討する必要があります。対象市場、周辺機器セット、ICパッケージ、開発ツール、価格は16Fシリーズと似ています。18Fコアは、次の理由により、CおよびC ++により適した設計になっています。

  • インダイレクションのサポート
  • 常にアクセス可能な特定のRAMバンク(バンクの切り替えは不要)

ソフトウェア

プログラミングが非常に簡単で、30個のアセンブリ命令のセットを使用して作成するか、Cコンパイラを使用できます。これらは8ビットMCUであるため、255を超える値を処理する場合は、2バイトの加算/減算/乗算/除算コードを自分で検索/書き込みする必要があります。そのRAMには4つの「バンク」があるため、アセンブリに書き込む場合は、現在のバンク以外のバンクに格納されている変数にアクセスするために、切り替えを繰り返し行う必要があります。

ハードウェア

これらのMCUは非常に低速で、通常の速度は4 MIPS、最大速度は20 MIPSです。ADC、シリアルポート、パラレルポート、CANバス、I2Cバス、SPIバス、電圧比較、EEPROM、そしてもちろんすべての目的のI / Oポートなど、適切に構成されていれば問題なく動作する組み込みハードウェア機能がいくつかあります。

ドキュメンテーション

  • データシートには、すべての必要な情報(ピン配置、構成用のレジスタなど)がきちんと分類され、十分に文書化されています。マニュアルはまた、中・深機能について説明します。

開発ツール

  • Microchipには、MCUのさまざまなハードウェア機能を簡単に構成できるVDIという新しいツールがあり、アセンブリまたはCコードを生成します。データシートを注ぐよりも良い。

  • MicrochipはMPLAB IDEを長年にわたって提供してきましたが、プログラムは徐々に改善されていますが、PC開発ツール(Visual C ++、Java用のEclipse / NetBeansなど)と比較して、ユーザーインターフェイスは非常に貧弱であり、ソフトウェアは特にバグが多くあります。また、Cと大部分のC ++機能(動的メモリ割り当て、仮想関数、および他のいくつかの機能を除く)の違いはごくわずかであり、C ++はプログラミングモジュールを推奨していますが、C ++もサポートしていません。サードパーティのIDEベンダー、特にIARがありますが、高価です。(Hi-Techは最近Microchipに買収されました。)

  • インサーキットデバッグは、一部の部品でMicrochipのICDインターフェイス、デバッグアダプタICD2、ICD3REAL ICEPICkit2 / 3などを介してアクセスできる2ピンシリアルインターフェイスによって提供されます。選択した部品がICD機能!デバッグ機能には多少制限があり、1つの命令にブレークポイントを設定し、プログラムが数個の命令を後で停止する「スキッド」があります。ただし、ICDは何もないよりも優れています。

サポート


SDCCはPICもサポートしていると思います。
-XTL

はい、SDCCはPIC18以降で非常にうまく機能します。ただし、構文はMicrochipのCコンパイラとわずかに異なるため、コードを再利用する場合は移植が必要になる場合があります。
ウィム

ドキュメンテーションがpicコード生成を実験的と説明しているように思われるので、私はsdccを使用したがりませんでした。
ジョンバートン

PIC16のコメントを2回目にします。古い、風変わりな、銀行で整理されたメモリ、Cフレンドリーではありません。Microchipは、資産として学ぶための指示が非常に少ないという事実を使用しています。MPLAB IDEは冗談で、それはまだ1998年だように、それは感じている
ゴーティエ

11

Blackfinのアナログ・デバイセズによる ザのBlackfinファミリーは、ハイブリッド強いRISCコアとDSP /マイクロコントローラ、ならびに命令を処理サポート映像/信号です。一部の指示はSIMDをサポートしています。

ハードウェア

RISCコアがあります。速度の範囲は、200MHzのシングルコアから600MHzのデュアルコアです。周辺機器には、10/100イーサネットMAC、UART、SPI、CANコントローラー、PWMサポート付きタイマー、ウォッチドッグタイマー、リアルタイムクロック、グルーレスの同期および非同期メモリコントローラーがあります。動的な電源管理があります-使用されていないプロセッサの部分を自動的にシャットダウンします。

開発

2つの主要な開発ツールは、ADのVisualDSP ++とGNUツールチェーンです。たくさんのコードとアプリケーションノートを含むSDKもあります。SDKコードは、フレームワークまたは適切なコード例のいずれかとして機能します。uCLinuxを含むいくつかのオペレーティングシステムが実行されます。利用可能な評価ボードがいくつかあります。マニュアルは不可欠です。

現在価格は1000単位で2ドルからです。


BlackfinにはMIPSコアがありません!
レオン・ヘラー

価格はどうですか?
bjarkef

11

パララックスプロペラは、 SD / VGAビデオ生成を含む非常に興味深い/印象的なことを行うことができ、8コア(8「コグ」プラスハブ)oddbirdマイクロコントローラです。

SPINと呼ばれる言語を含む独自の開発環境があります。アセンブリ(PASM)は自然に利用可能です。

チップを使用するコミュニティサポートと目に見えるプロジェクトがかなりあります。

幅広いモデルはありませんが、このチップは非常に慎重な設計と、非常に才能のある有能な人々による長期にわたる開発の結果であるようです。約8ドルで入手できる場合があります。

(インシステム)プログラミングハードウェアは、明らかにTTLレベルのシリアルポートとリセットラインで構成されています。Prop Plugと呼ばれるドングルが利用可能です。

http://parallax.com

http://en.wikipedia.org/wiki/Parallax_Propeller



7

dsPIC33FおよびPIC24:MicrochipにはdsPIC33Fと呼ばれる16ビット、40 MIPSマイクロコントローラーのファミリがあり、PIC24F命令セットと周辺機器を、丸めおよび飽和オプション付きの2つの40ビットアキュムレータなどのDSP機能と組み合わせます。シングルサイクルの乗算と累積。最大40ビットのデータに対して最大±16ビットのシフト。価格が安い(ボリュームが2ドルと低い)。Microchipマイクロコントローラーについて私が気に入っていることの1つは、ブレッドボードに最適なDIPパッケージで提供されているデバイスの多くです。DTMF信号をデコードする必要があるプロジェクトで、これらのいずれかを使用しました。専用のDTMFデコーダーハードウェアソリューションよりも費用対効果が高くなりました。PIC24は驚くべきuWatchで使用されています、「世界で最も強力な(そして唯一の!)プログラム可能なRPN /代数関数電卓時計」。


pic24シリーズに大きな投票。あなたはそれらのために8ビットの写真ほど多くのオンラインを見ていませんが、それらはより速く、より強力で使いやすいですし、同様の仕様の8ビットのものよりも高価ではありません。
ジョンバートン

6

サイプレスPSoC1(CY8C29466)には、FPGAのようなデジタルブロックとアナログブロックに囲まれたシンプルな8ビットCPUコアがあります。

アナログ入力とアナログ出力の両方があります。他のマイクロコントローラー(オペアンプ、PGAなど)と共に多数の外部部品を必要とする多くのプロジェクトは、単一のPSoCチップで実行できます。多くのコンピューターマウスはPSoC1を使用します。たとえば、1つの入力ピンから来るDTMFトーンをデコードし、PWMではなく真のアナログである2つの出力ピンで独立したアナログDTMF信号を直接生成できます。

デジタルおよびアナログブロックは、コアから完全に独立して処理を行うように設定できます。したがって、CPUがその時間中に何らかの割り込みの処理でビジーであったとしても、固定応答時間は保証されます。

かなり低い電力。DIPおよびSMTパッケージの両方で提供されます。

8ビット、24 MHzコアは、PIC16Fコア、風変わりなバンクスイッチングなどとほぼ同等です。独自のCコンパイラが利用可能ですが、GCCがいずれかに移植されることはほとんどありません。

「Gainer.cc」プロジェクトは、後の「Arduino」プロジェクトと非常によく似た、USBケーブルでの処理を使用してPSoC1ベースのシステムをプログラムします。

http://www.psocdeveloper.com/のフォーラムはフレンドリーです。Linuxで開発を行うために利用できるユーティリティがいくつかあります:http : //m8cutils.sourceforge.net/


PSoC1は私を狂気に駆り立てます。ただし、新しいPSoC3は素晴らしいです。
Rocketmagnet

5

フリースケールのHCS08マイクロは、一般に低コストですが、周辺機器がかなり豊富なPIC10-18およびAVRの直接の競合相手です。アプリノートと参考資料のライブラリは非常に優れています。

CodeWarrior IDE(最大32kコードの無料コンパイラー)には、ビットを反転するGUI駆動型のアプローチのためのいくつかの便利な「デバイス初期化」ライブラリ、および周辺機器用のより高いレベルのドライバーを生成できるより高度な「プロセッサーエキスパート」が含まれています。どちらかを使用する義務はなく、必要に応じてすべてを単純なCコードで実行できます。


4

TI TMS320F28xxシリーズのDSP。

対象市場

モーター制御およびデジタル制御の電力変換器:非常に柔軟なPWM周辺機器と高速ADCを備えています。

ハードウェア

これらのDSPには、2つの大きな欠点があります。

  • セットアップがより複雑です-リンカファイルとすべてのレジスタ(メモリ待機状態など)にはオプションが多すぎるため、正しいことを確認するために何をしているのかを本当に知る必要があります
  • I / Oおよび周辺機器用に3.3V、DSPコア用に1.8-1.9Vの2つの電源電圧が必要です。

開発ツール

Code Composer v4(Eclipseベース!!!)を使用した、JTAGポートを介したリアルタイムデバッグ。

自動コード生成のためにMatLAB Simulinkでサポート(プログラミング経験は不要)

TIのDSPは、1500ドルのリアルタイムデバッグポッド(JTAGアダプター)が必要だったため、プロトタイプに非常に高価でしたが、その価格は下がりました(150〜200ドルの安価なものがあります)。組み込みのJTAGアダプター。


これらの興味深い点は、個別に番号が付けられた各メモリアドレスが16ビットワードを保持することです。
JustJeff

16ビットバイト?
ニックT

4

XMOSは、一連の非常に強力な32ビット並列処理チップ(32個のハードウェアスレッドを備えた4つのコアから1600 MIPS)を作成します。ソフトウェアで高速USBおよびイーサネットを実行できるほど高速です。彼らのツールは非常に優れており、チップは優れており、手頃な価格(7.50ドルから)であり、そこにいる人々は非常に役に立ちます。2つの非常に優れたサポートフォーラムがあります。1つは会社によって運営され、もう1つは独立しています。


XMOSを使用します。私は彼らの製品に満足しています。

3

サイプレスPSoC3に投票する必要があります。PICを約10年間使用しています(PIC16、PIC18、dsPIC、およびPIC32)。刺激的な周辺機器の構成や、データシートを絶えず検索してピンを機能させるためにクリアする必要のあるビットを見つけることに、私は夢中になります。

一方、私がこれまでにPSoC3で経験したことは喜ばしいことです。最も重要なことは、デジタルとアナログの周辺機器を設定することは完全に喜びです。シリアルポート、クロック、割り込み、ドライバー、コンパレータADCおよびDACはすべて回路図シートに配線でき、完全に機能します。

たとえば、PWMを配線して、ADCをトリガーしてパルスの途中でサンプリングし、モーター電流の測定をより正確にすることができます。PICで試してみてください。

同じチップに5つのPWM、5つの直交デコーダ、ADC、SPIポート、CRCジェネレータが必要ですか?わかった。ADCを構成して、パルスの中心で各モーターの電流を順番にサンプリングしますか?わかった。さらに、これらの入力と出力のすべてを必要なほぼすべてのピンに接続できます。

そうそう、そして、ライブラリに利用可能な周辺機器がない場合、Verilogで自分で書くことができます!


1

サイプレスPSoC5には、FPGAのようなデジタルブロックとアナログブロックに囲まれた32ビットARM Cortex M3があります。

20ビット分解能のアナログADCおよびDAC。

デジタルおよびアナログブロックは、コアから完全に独立して処理を行うように設定できます。したがって、CPUがその時間中に何らかの割り込みの処理でビジーであったとしても、固定応答時間は保証されます。

かなり低い電力。

32ビット、80 MHz ARM Cortex-M3コアは、...

http://www.psocdeveloper.com/のフォーラムはフレンドリーです。


1
マイクロコントローラと同じダイ上の20ビットA / Dは信頼しません。uCからのノイズにより、少なくとも4ビットが役に立たなくなる可能性があります。
stevenvh

180spsだけだと知っていれば信じられます。
Rocketmagnet

0

AtmelのAVRに対する独自のサポートはあまり良くなく、それらのハードウェアツールは少し不安定です。XMegaや6ピンTinyチップなどの新しいチップでは、配送に深刻な問題があります。


ハードウェアツールと配信の問題について詳しく説明してください。私はしばらくの間AVRチップを使用してきましたが、それらは非常に素晴らしく、物理コンピューティングの世界に簡単に参入できました。
アールズ

AVR Freaksフォーラムをご覧ください-人々は常にドラゴンやその他のツールについて、また多くのチップが利用できないことについて不平を言っています。また、Atmelからのサポートの欠如について不満を述べています。
レオン・ヘラー

1
AVRを支持するか投票するかはわかりません。あなた自身の個人的な体験を投稿できますか?フラストレーションのあるポスターからネガティブなレビューを見つけるのは簡単ですが、素晴らしいチップや優れたサポートフォーラムを見つけるのは困難です。一般的なコンセンサスが否定的な場合、75,000のトピックに関する500,000の投稿を生成できるコミュニティは存在しないと思います。
ケビンフェルメール

Atmel AVRのオープンソースサポートは非​​常に優れています(avr-gccおよびavrdude)。
スターブルー

0

Zilogには、いくつかのマイクロコントローラーもあります。個人的には、Z8 Encoreチップのラインをプログラムしようとしませんでしたが、サンプルを送信します。UART、ADC、I2C、SPIなどの周辺機器を備えた1 KB〜16 KB(おそらくそれ以上)のチップがたくさんあります。

私の意見では、これはあまり良い趣味のマイクロコントローラーではありません。


0

複数のプロセッサフ​​ァミリを使用しました。新しいプロセッサを学習する際の主な問題は、周辺レジスタの数百のコンフィギュレーションレジスタのコーディングを学習することです。これは、あるファミリから別のファミリに切り替えるときの主な時間のかかるプロセスです。メインアプリケーションコードはcで記述されていますが、どのファミリを使用しているかは関係ありません。周辺レジスタの標準が進化していればよかったのにと思います。この方向での開発を知っている人がいれば、それを共有してください。


-1

私は、PIC、ARM、MSP430、AVR、および他のいくつかを使用しています。

Microchipは優れたサポートと優れたハードウェアおよびソフトウェアツールを備えており、デバッグは特に簡単で高速です。8ビットアーキテクチャは少し時代遅れです。新しい16ビットチップは優れています。彼らは、8ビットMCUのマーケットリーダーです。


2
共有する知恵がある場合は、代わりにコミュニティウィキの回答を編集することをお勧めします。あなたのポイントはすべて、18Fの回答ですでに言及されています。
エドワード
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.