No.3ベストアンサー
- 回答日時:
ワンチップマイコンはCPU/ROM/RAM/PIO/SIO等が集積されたもので、いわば「PCと入出力ポートをワンチップにしたようなもの」です。
プログラムを書いてそれを実行することで入出力を制御します。プログラムによる制御ですので、制御の速度(反応時間)はプログラムの実行速度で制限されます。プログラムの実行速度はクロックの関数になります。そのかわり、外部にインテリジェントなコントローラ(例えばUSBコントローラやNIC)を接続して制御するのはとても楽です。
FPGAやCPLDは「ブレッドボード上に汎用ロジックICや演算器やメモリや入出力ロジックを載せたもの」をブレッドボードごとワンチップにしたようなものです。
ロジックセルや演算器を直接接続するので、制御の速度(反応時間)はロジックセルや演算器や「接続」(スイッチネットワーク)の遅延時間で制限され、必ずしもクロックの関数とはなりません。(通常、入力と出力はクロックで同期を取りますが、内部を全面的に同期回路設計する必要はありません。自信があれば非同期設計も可能。)
そのかわり、外部にインテリジェントなコントローラを接続して制御するのはちょっと大変です。そのためだけに、FPGA/CPLD内に「小型CPU」を作成して制御を分担させることもあるくらいです。
例えばPCIバス(クロックが33MHz)に接続する拡張カードを作成するため、PCIバスの制御を必要としているとします。
ワンチップマイコンでこれを制御しようとするとどれだけのクロックが必要でしょうか。PCIバス1クロック分の制御にプログラム10ステップを要し、1ステップの実行にマイコンの1クロックを要するとすれば(かなり控えめな見積もりですが)、マイコンのクロックはPCIバスクロックの10倍、すなわち330MHzが必要ということになります。これは非現実的です。
FPGAやCPLDであれば、大規模な演算を要する制御手順(たとえばパリティの計算)を除けば、PCIバス1クロック分の制御は「PCIバス1クロック分の時間」があれば十分足ります。パリティの計算でも2~3クロックあれば足りるでしょう(高速品種やパリティ生成器を搭載した品種であれば1クロックでもOK)。
同じワンチップソリューションでも、PCIバス程度の速度の場合ワンチップマイコンは非現実的、FPGA/CPLDは現実的ということになります。
実際のところ、いわゆるPIC程度の速度では反応時間が1ミリ秒前後より短くなると苦しくなり、ワンチップマイコン全般でも10マイクロ秒以下だと一部の高速品種や専用回路を持つ品種でないと無理ということになるようです。
この回答へのお礼
お礼日時:2005/08/03 08:18
素人にとてもわかり易く教えていただいてありがとうございます。演算周期の速度に依存することがよくわかりました。どうもありがとうございました。
No.2
- 回答日時:
No.1
- 回答日時:
PICは、MICROCHIP社の製品で、
http://www.microchip.com/stellent/idcplg?IdcServ …
H8は日立が、現在は、Renesas
http://japan.renesas.com/fmwk.jsp?cnt=corpotate_ …
の製品です。
これらは、プログラムで動きます。
一方、fpgaやcpldはプログラミングで回路を作りこむ形だと思います。
http://e-words.jp/w/FPGA.html
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) COBOL数値転記をCOPY句内での仕様 6 2022/06/15 18:48
- その他(コンピューター・テクノロジー) PIC16F1シリーズマイコンのNCO機能について 1 2023/04/18 08:41
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
- Visual Basic(VBA) 【VBA】Excelの特定範囲のセルを画像で保存したい 2 2023/01/25 13:06
- 工学 1つのタクトスイッチで複数の並列回路を閉じ、アースにつなげることができるスイッチはありますか。 2 2022/08/06 10:38
- 日本語 以下文章で使用される「で」の品詞は何でしょうか? 可能であれば、「で」の用法が記載されているWEBサ 3 2022/10/15 09:46
- 英語 SPECS の所の LENGTH というのは、BARREL LENGTH なのか?全体の長さなのか? 1 2022/04/27 20:05
- 工学 オペアンプ 外部に位相補償回路を付けて使用する演算増幅器の場合、位相補償回路の定数は電圧利得の周波数 4 2023/05/25 22:05
- Visual Basic(VBA) Excel vbaについての質問 3 2023/04/18 16:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PLC間の信号のやりとりについて...
-
PCのUSBバスパワーの制御
-
VBでUSBポートからの入力を制御...
-
C++でLEDを点灯させるプログラム
-
Xilinx ISE 分周波形シミュレー...
-
汎用入出力ポートの制御方法
-
PIC16F1827でPCとシリアル接続
-
フィードバック制御とフィード...
-
ディスプレイ上で起こる2重表...
-
パソコンのWi-Fiについてご相談...
-
HyperVで仮想マシンがネットワ...
-
ワークグループとドメインの共存
-
【EX2510S】HDMIとDisplayPort...
-
IIS環境にてJAVAを使用したいの...
-
Cpkのk(偏り)値をExcelで出す...
-
HDMIとHDの違いはなんですか? ...
-
[PC] HDMI-DVI(DualLink対応)変...
-
DVIが映らない
-
ゲーミングPCでの質問です ゲー...
-
パータンって何でしょう?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PLC間の信号のやりとりについて...
-
USBからの電源供給をコントロー...
-
シーケンスのプログラムについ...
-
PIC16F1827でPCとシリアル接続
-
PCのUSBバスパワーの制御
-
C++でLEDを点灯させるプログラム
-
arduinoで複数のサーボを動かし...
-
マイコンボード上のポートと端...
-
EnumとType
-
<単安定マルチバイブレータ> 単...
-
デジタル時計(アラーム付)を...
-
picマイコンより簡単に扱えるマ...
-
Visual BasicでGP-IBの通信を制...
-
PID制御について
-
家電のcpu
-
Picマイコンについて質問します...
-
MS-DOS のソフトをWindows XPで...
-
AVRマイコンの未使用ピンの処理...
-
PICマイコンボード自作について
-
AVRマイコンの未使用ピンの...
おすすめ情報