おそらく1年前、ローエンドの8ビッターと最も安価な32ビットのマイクロコントローラーの間には大きな違いがありました。もはやそうではありません。
Digi-Keyのバルク価格設定に基づいて、SOT-23-6パッケージで2500数量で35ȼの 8ビットPIC10F200を入手できます。SOIC-8パッケージでは、2500個の数量で36 for用の32ビットCY8C4013SXI-400(ARM Cortex-M0)を入手できます。(Digi-Keyのバルク価格設定は、メーカーが実際に支払う金額に関しては現実的ではありませんが、おそらくそれよりはるかに少ないですが、同じような数量の異なる製品間の大まかな価格設定比較に使用することは有効だと思います。)
OPは正しいです、彼らは収束しています。
では、なぜ32ビットチップがこれ以上使用されないのでしょうか。最初の段落で述べたように、この価格とサイズの平等は昨年または18か月間でのみ発生しました。そして、競争力のあるチップが十分に揃うまでには、まだ長い道のりがあります。
Digi-Keyから入手可能な6875 ARMチップのうち、1ドル未満の数量価格で在庫されているのは4つだけです。 四。一方、エンジニアが選択できる1ドル未満の数百の8ビットチップがあります。
しかし、少なくとも数十のローエンド32ビットマイクロが利用可能であったとしましょう。それらは8ビットのものよりも自動的に選択されますか?
まず、エンジニアにそれらを認識させる必要があります。変化には常に多くの抵抗があります。学ぶべき新しいこと-ハードウェアの観点から、新しいチップを回路に組み込む方法を学びます。インサーキットプログラマー、新しいコンパイラーなどの新しいツールがあります。ファームウェアエンジニアは、まったく新しいペリフェラルとタイマーのセット(主にレジスタレイアウトとビットの意味)の使い方を学びます。
32ビットはそれでいいのですが、多くの重い計算を行う必要がない限り、何がポイントなのでしょうか。GPIOピンが4つしかない場合、32ビットレジスタとして内部的にアクセスしても、8ビットレジスタを使用するよりも利点はありません。
消費電力は常に8ビットマイクロに有利になると思います。
たとえば、PIC10F200は、スリープモードで4 MHz、2v、100 nAで175 µAを消費します。CY8C4013SXI-400は、スリープモードで4MHzで動作する約800µA、2vおよび1uAを消費します。(CY8C4013SXIのデータシートには4 MHzと2vのどちらの数値もなかったため、見積もりを行う必要がありました-データシートには、6 MHzと3.3vで2 maと表示されています。)
したがって、ARMは、目覚めているときは4.5倍、睡眠中は10倍の電流を引き出します。それほど多くはないように見えますが、コインセルで3か月または1年間実行する場合の違いです。(私は両方のマイクロコントローラーがほとんどタイミングを実行していて、ポートなどを更新していて、実際に重い計算をしていないと想定しています。後者がそうである場合、8ビットマイクロは長時間にわたって多くのマルチバイト演算を実行する必要があります時間の経過とともに、その利点の一部が失われます。)
興味深いのは、ARMが8ビッターの約4倍の電流を消費し、さらに、内部レジスターと4倍の幅のデータパスを備えていることです。これは偶然ではないと思います。CMOSの場合、消費電力はスイッチングされるトランジスタの数にほぼ比例し、ARMは実行される命令ごとに明らかに多くのことを実行しています。
より多くのARMベンダーがローエンドチップを発表しているので、マイクロチップのようなベンダーがさらに価格を下げたとしても、私は驚かないでしょう。いずれにせよ、価格はほぼ同じ、同じサイズのパッケージですが、選択する32ビットチップははるかに少ないので、8ビットマイクロコントローラーはまだしばらくの間存在します。特に、何万人ものエンジニアに親しんでもらいました。