マイクロコントローラーはより単純なICを置き換えましたか?


37

マイクロコントローラ用のタイマープログラムを人間が読めるプログラミング言語で作成できる場合、たとえば、抵抗器とコンデンサで555タイマーを調整する方法を学ぶことはまだ価値がありますか?

または、別の言い方をすれば、マイクロコントローラーでは得られないというICにとっての問題はありますか?


4
@ jes5199-この質問がどのようにメタタグに値するかはよくわかりません。あなたの論理的根拠についてコメントできますか?
J.ポルファー

3
私の考えは、特定の問題についてではなく、分野全体について質問しているということでした。それは私には少しメタに思えた。
-user955

ディスクリートコンポーネントと555タイマーのラベルが付いたチップを搭載した回路基板は、チップに保存されたプログラムよりもはるかに人間が読み取りやすくなっています。
カズ14年

回答:


35

ほとんどの場合、マイクロコントローラーがディスクリートICに取って代わりました。555で回路を設計できたとしても、他の何かをするために同じ回路を数週間で微調整する必要があり、マイクロはその柔軟性を保持している可能性が高いことがわかります。

しかし、いくつかの例外があります。

離散ロジックは、ほとんどのマイクロコントローラーよりも高速です。ディスクリートロジックの伝搬遅延とスイッチング時間は1〜10 nsの範囲です。これをマイクロコントローラと一致させるには、1つの命令で必要なロジックを実装し、100 MHz〜1 GHzの範囲のクロックを持たせる必要があります。それはできますが、ガレージのブレッドボードではできません。

これの良い例は、HCTL2020直交デコーダです。2つのパルスを受け取り、モーターの回転方向を示します。速度を上げるために、プログラム不可能なチップとして実装されています。

デジタルロジックとマイクロコントローラの両方が機能しないもう1つの興味深い分野は、信号のフィルタリングです。デジタルでフィルタリングしたいアナログ信号がある場合は、何らかのレートでサンプリングする必要があります。どれだけ速くサンプリングしても、サンプリング周波数の半分以上の周波数で現れる信号のノイズは、信号に干渉する可能性のある低周波数にエイリアスされます。サンプリングが行われる前に、キャップと抵抗で構成されるローパスフィルターでこの問題を解決できます。サンプリング後、ねじ止めされます。(もちろん、ノイズが信号の周波数と重ならない場合がよくあります。その場合、デジタルフィルターはうまく機能します。)


>離散ロジックは、ほとんどのマイクロコントローラーよりも高速です。サイプレスPSoC3を使用している場合を除きます。
Rocketmagnet

3
@Rocketmagnet-FPGAのようなPSoCは未だに生のロジックです。確かに個別ではありませんが、同じくらい高速です。
ケビンフェルメール

29

奇妙なことに、私は中国の工場の1つで、プロジェクトにマイクロを追加しようとしましたが、プロジェクトが完全に過剰であり、代わりに555を使用するように指示しました。60セントの安価なマイクロコントローラに対して、555はおそらく6セントかかります。大量に製品を製造する場合、そのコストの違いは重要であり、間違いなく安価なICの使用方法を知りたくなるでしょう。そう、彼らはより少ないコストで優れています。:)


12
それに信頼性を追加することもできます。すべてのソフトウェアには、最後のバグが削除された後に残っているバグが1つあります。
stevenvh

13

ディスクリートロジックがまだマイクロを凌Oneしている1つの領域は、長期部品の安定性です。

このマイクロは10年後に利用可能になるのでしょうか?20?IDEとツールチェーンは、その間も引き続きサポートしますか?

将来、ディスクリートロジックがディスクリートロジックであることをほぼ保証できます。マイクロス、それほどではありません。製品の寿命が長く、一般的なロジックが可能な製品を設計する場合、一般的な部品を使用すると、部品の可用性が変化したときにデバイスを再設計する必要が少なくなります。

また、チップメーカーがバックオーダーされている場合、あなたはSOLではありません。多くの人が互換性のある汎用ロジックを作成しますが、基本的に汎用マイクロはありません。


11

ディスクリート回路を使用して簡単なタスクを実行する方が安価になることがよくあります。たとえば、点滅するLED。最も安価なPICであるPIC10F200は5kuで約0.35米ドルであり、プログラミングコストおよび小さなサイズ(および関連する製造上の問題)を考慮に入れる前です。一方、NE555タイマーは、約US 5kuのTIから0.10ドル、そして完全なソリューションはおそらく約0.20米ドルでした。

考慮すべきもう1つのことは、マイクロコントローラーが本質的にデジタルデバイスであることです。確かに、ほとんどにADCがあり、一部にはDACがありますが、それらはまだ時間の離散単位で動作し、個々のビットとバイトで動作します。理論上、アナログの分解能は無限であるため、アナログ回路は設計者が必要とすることを正確に調整できます**。デジタル回路は、最も遅いコンポーネントによって制限されます。

最後に、供給の問題があります。最初の例であるNE555に戻ります。それは20年以上前からあり、おそらくこの後さらに50時間続くでしょう。ジェリービーンの部品なので、おそらく永久に(または、少なくとも従来の電子が電子機器で使用されなくなるまで)製造されるでしょう。一方、PIC10FはいつでもNRNDにすることができます。Microchipのような単一のサプライヤでは、これが製品を台無しにする重大なリスクがあります。

**さて、これは全く真実ではありません。実際には、電子の分解能に制限されています。1アンペア= 6.24×10 18電子/秒。したがって、得られる最高の電流分解能はアトアンペア、つまり10 ^ -18アンペアで、1秒あたり約6電子です。しかし、ほとんどの実用的な目的のために、これは大丈夫です。:)


4
解像度と精度を混同しているため、よくあるエラーです。ドリフトにより実効精度が2桁のみになる場合、分解能が10桁を超えても意味がありません。デジタルソリューションは、離散的であるため解像度が制限されていますが、精度高い場合があります。
stevenvh

8

プログラマブルロジック-CPLDおよびFPGAを忘れないでください。ディスクリートロジックをCPLDに置き換えることにより、製造中止の部品の影響を受けず、より多くのパフォーマンス、サイズの縮小、および低コストを実現できます。システムにFPGAがあれば、ソフトコアを実装できます。ソフトコアは、要件が変更された場合に簡単にアップグレードでき、全体を簡単に「将来性」にすることができます。


6

私は555タイマーを「念のため」の知識として調整することを学んでいます。「代数を使わずに自分の人生をうまく過ごしたのに、なぜ子供たちに教えているのか」と人々が言っ​​ているのと同じです。ツールの使用方法がわからない場合、適用できる問題は表示されません。

具体的な答えとして、マイクロコントローラ/プロセッサでは非常に遅いため、非常に高速なデジタルロジックがFPGA / ASICに実装されています(DSPのように特別に設計されたプロセッサでない限り)。


6

私の現在のプロジェクトでは、500Mhzで動作するMarvell ARM9チップとFPGAを使用して、多くのDIOポートを提供しています。それでも、ディスクリートロジックで処理されるものがあります。たとえば、個別に制御される4つのステッピングモーターにはステッピングモーター制御が必要です。カウンタを使用して周波数を生成する発振器が1つあり、これにより多くのパルスを通過させることができます。カウンターはマイクロコントローラーから設定されますが、その後マイクロコントローラーからの制御なしで動作し、他のタスクで作業する時間を与えます。

より多くのマイクロコントローラーを選択することもできます。しかし、従来のディスクリートロジックで動作する中央コントローラーは、強力で非常に信頼性の高いソリューションであることが証明できます。

また、明確に定義された問題がある場合、解決策は常に可能な限り単純である必要がありますが、単純ではありません(引用符はそこに隠されています;-))。555が機能する場合、なぜ使用しないのですか?柔軟性は、他の誰かが選択したように議論になるかもしれませんが、そうではないかもしれません。それはすべてあなたの問題と最も簡単な解決策が何であるかの解釈に依存します。


1
I / OエクスパンダーFPGAは、ステッパーコントロールの「ロジック」部分に最適な場所になると思います。
クリスストラットン

5

高周波通信アプリケーションが思い浮かびます。現在「ソフトウェア無線」がありますが、100MHz以上の信号処理に少なくともいくつかのアナログステージがない場合は非常に驚くでしょう。


4

私の最近のマイクロコントローラーの設計では、ディスクリートロジックを必要としませんでした。例外は、カスタムキーボードの2つの特定のキーを2秒間押すと、マイクロのハードリセットが行われるCtrl-Alt-Delタイプのリセットを実装することでした。NORゲート(2つの反転入力を持つANDゲートとして使用)、ANDゲート、および74HC123を使用しました。DIP時代の4ゲート/パッケージではなく、SMTパッケージの単一ゲートで必要な特定のゲートを取得できると便利でした。


4

私は長年ソフトウェア開発者になるチャンスがあり、現在は電子技術者として働いています。

複雑なシステムには、エラーとバグが伴います。マイクロコントローラとICの両方には、その使用分野に基づいた利点と欠点があります。

小規模プロジェクトの場合、ICはマイクロコントローラーよりも速く、安価で、信頼性が高くなります。数百万の入力、解析、比較ロジックを備えた大規模プロジェクトの場合、マイクロコントローラーがICを凌edgeすることを確実にします。

すべてのソフトウェアはある時点で失敗します。バグのないコードでさえROMに保存されるため修正が発生しやすく、論理的なエラー(メモリリークなど)が発生します。

重要なアプリケーション(軍用グレードや列車制御システムなどの人命救助システムなど)の障害からソフトウェアベースのシステムを保護するために、「フェイルセーフ」の概念が実装および開発されています。

フェイルセーフシステムは、例外的なエラーが発生した場合に安全な状態に戻ります。通常、2つのプロセッサが同じコードを実行し、各命令の結果を比較し、それらが等しい場合、命令が実行されます。それ以外の場合、システムは物理的な電気リレーを使用して安全な状態に戻ります。

フェイルセーフソフトウェアベースのシステムは、列車のインターロックおよびATP(自動列車保護)システムで使用されます。

Icsを使用して同じ複雑なシステムを設計することは、どのエンジニアにとっても大きな頭痛の種です。そして、それがソフトウェアが最初から設計された理由です!


3

ICは非常にドメイン固有です。私はDTMFデコーダーを考えています。マイクロコントローラーをプログラムして2つの周波数をデコードすることもできますが、市販のチップを使用する方が簡単、高速、安価です。

どのツールを使用するかを知るために、すべてのツールについて十分な知識を持つことが重要だと思います。


もちろん、回路にマイクロコントローラーが必要かどうかに依存します。最近、DMTFデコーダーが必要なプロジェクトに参加しました。チップの量は約1ドルです。PIC24Fまたは同等のdsPIC33F(これにはDSPもあります)の価格差も、1ドル程度でした。DTMFデコーダーDSPルーチンにはMicrochipがありませんでした。加えて、私は今、他のもののためのDSPを持っています。
tcrosley

参考までに、数年前にPIC 16C622用のかなり良いDTMFデコーダーを作成しました。入力としてコンパレーターのみを使用しました。
スーパーキャット

3

ディスクリートコンポーネントのみを使用して何かを設計することと、マイクロコントローラーを使用することとの間に大きな違いが1つあります。ソフトウェアにはバグがあります。信頼性が重要な側面である場合、個別のコンポーネントで構成されたものの設計を検証することができます。Knuthでさえ、彼のソフトウェアにはエラーがないと主張することを敢えてしません。

もちろん、デザインにもエラーが発生する可能性があり、ごくまれにしか表示されない場合がありますが、理解して修正するのは簡単です。ソフトウェアが非常に不明瞭で非自明な方法で失敗する可能性があります。


2
この場合のディスクリートコンポーネントはおそらくトランジスタではなくICを意味するので、ICにバグがないと思われる理由は何ですか?よく書かれたソフトウェアは、それがソフトウェアであるためではなく、複雑な要件を解決するためにバグになります-有線バージョンもバグがある可能性があります。バグを見つけたら、PCを修正するよりも、ソフトウェアに修正を展開する方が、OTPマイクロの大規模なインベントリを誰かに焼き付けない限り、安価です。プログラマーケーブルを接続するように誰かを訓練し、SMT PCBの再加工が上手になるように訓練するよりもはるかに速くESD規則に従うことができます。
クリスストラットン

ICは、マイクロコントローラーを含むあらゆる種類の複雑さレベルで存在します。ICのエラーの確率は、ICの複雑さに比例します。質問は555タイマーのようなより単純なICについてであり、そのようなICおよび追加のコンポーネントがエラーを持つ累積確率は、マイクロコントローラーがエラーを交換する確率よりもはるかに低いと思います。もちろん、1000個のコンポーネントを1つのマイクロコントローラーに置き換えると、おそらくオッズが変わるため、画像は完全に白黒ではありません。しかし、そのいずれかのLEDの点滅デバイスまたは類似のためのI ...
hlovdal

...この質問は約であると考えていますが、ディスクリートコンポーネントにはより信頼性がある可能性があると私はまだ信じています。また、ソフトウェアエラーの場合、それらは非決定的です。もちろん、100%保証されるものは何もありませんが、コンポーネントを備えた信号機コントローラーを実装する場合、物理的な摩耗や破損によってユニットが故障して交換されるまでX年間動作し続けることを確認して、それを検証して展開できますそれよりかなり前に新しいユニットを追加しました。どの期間でもソフトウェアが確実に動作すると推定する方法はありません。
hlovdal

いくつかのディスクリートに匹敵する複雑さのソフトウェアは、適切なCPUで数学的に証明できます。より一般的なソフトウェアに匹敵する複雑なディスクリートロジックは、想像を絶するものに対して完全に安全にすることはできません。
クリスストラットン

3

答えはイエスです!

生産コストを重視するハードウェア設計者として検討する必要があります。555は非常に基本的なものと考えられている古いICです。EEの場合、デジタルエレクトロニクスのクラスで何度か見たことがあるでしょう。ほとんどの一般的なアプリケーションでは2つまたは3つの式を解く必要があるため、設定は非常に簡単です。これにはほとんど時間はかかりません(パーツとその使用方法が既にわかっているため、数学は簡単です)。作業環境によっては、8ビットMCUの開発をセットアップしてソフトウェアを検証するのにかかる時間は、数日から数ヶ月かかる場合があります。また、おそらく、市場投入までの時間を短縮します。

実話-私はかつて巨大な医療会社で働いていました。製品検証用のテストジグを設計しました。ジグは、ハードウェアと組み込みソフトウェアベースの一部でした。同社が製造する製品は身体の脆弱な部分と相互作用するため、私たちが行ったすべての検査は非常に簡単でした。このとき、通信プロトコルを調整して、製品自体の変更を反映する必要がありました。変更はおそらくCの10行のコードであり、ボーレートが変更され、最初にインストールされたものが11.0592MHzではなかったため、水晶発振器も交換されました。文書化を含めてこれを完了するには約2時間かかりました。会社のコストは、新しい部品のDigikeyからの注文でおそらく300ドル以下でした。改良されたテストジグの検証には数か月かかりました(!)関連する問題で、1日に少なくとも数回、約3人または4人が忙しかった。これは会社にどれくらいの費用がかかりますか?おそらく1万ドルから15,000ドルの北。このコストは、設計の小さな変更の真のコストを反映しています。多くの場合、あなたはそれを保存することができ、いくつかのほとんど既製の解決策を知っていることは小さな財産を節約することができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.