![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
初めて質問します。
仕事で、マイコン回路を設計する必要があります。マイコンを選ぶにあたって、いくつか質問があります。
(1)MCUタイプとプロセッサタイプという2種類があるのですが、データシートを見てもどのような違いがあるのか分かりません。どう違うのでしょう?
(2)仕様上、高速信号処理を要しますが、SH-4とSH-3DSP内蔵というのはどちらがいいのでしょう?
(多分用途によって違うと思いますが…)
(3)(2)に関して、今までDSPとは、マイコンを音声信号処理(FFTなど?)などの特定デジタル処理向けに特化したものと思っていましたが、それがマイコンに内蔵されているとなるとDSPとは一体どのようなものなのでしょうか?CQ出版社の”DSPのハードウェアと信号処理の実際”という本を読んでみましたがいまいちマイコンとの違いがよく分かりませんでした。
以上、分かる範囲で結構ですので皆様のお知恵を拝借したく宜しくお願い致します。
No.3ベストアンサー
- 回答日時:
>実際にルネサスに質問したところはっきりとした区別はないもののイメージとしては、
コントローラ:ROM/RAM内蔵
プロセッサ:MMU、chache内蔵、外付けRAM
とのことです。
仕様書を見ると、非常に難解でした。ROMも、マスクタイプ(設計が完了して、大量生産に移行する場合)と、焼き切る(少量生産で、プログラムイメージをメモリーのヒューズを焼ききって書き込むたいぷ)があるようです。
>ビットコントロールというのは、具体的にいうとどのような制御なのでしょうか?
コントローラタイプでは、I/Oポートとして、入出力兼用ポートはビット毎に入出力切り換え可能とあります。
一例として、ビデオテープデッキなどでは、テープの終了を検地するセンサー、テープが正しく挿入されたことを検地する、プレイボタンが押された、巻き戻しボタンがおされた、早送りボタンが押された、録画中のランプを点灯する、テープの一時停止をする、予約ランプを点灯する、などは、1ビットの信号の入出力で充分です。その意味で、ビットコントロールと呼びました。多点のIOポートを見かけ上同時並行的に処理するには、それなりのCPUの処理速度が要求されます。
余談ですが、設計したものは、ある程度簡単なものは、ユニバーサル基板上でハードワイヤで、プロトタイプを作成して、ディバッグを行いますが、複雑になると、プロトタイプのプリントパターンを試作します。この場合も、複雑なものは、多層基盤で回路を構成しますが、人間の考えることです。時には誤りもあります。そのためには、回路設計もある程度、システム的にシミュレートできる設計が必要かと思います。ハード・ソフトを一人の人間が作成する場合は、生産性は悪いものの、自己責任でできますが、分業化すると、クリティカルなタイミングで動作しないなど、ソフトの問題か、ハードの問題化を切り分けるのに相互に不信感が表れ、感情的な軋轢が生じます。老婆心ながらお伝えしておきます。
ハードとソフトの問題の切り分けに関しては、他の経験者の方にも同様なアドバイスを貰いました。どちらの責任かということもそうですが、問題の早期解決においても重要なことと思います。
定性的な質問で分かりづらかったと思いますが、色々ご相談にのって頂き、ありがとうございます。
ひとまず、締め切らせてもらいますが、また何かありましたら、質問したいと思います。次からはなるべく分かりやすく…
No.2
- 回答日時:
No.1です。
返事が遅れて申し訳ありません。最初に、小生は、日立のSH(スーパーエイチ)は使用したことがないので、的確なアドバイスにはならないかと思いますが、ご指摘の参考URLを元に仕様を比較しました。
>MMU(Memory Management Unit)の有無ではないかと
思いました。
(プロセッサ:あり、コントローラ:なし)
ではないように思えましたが。私の見間違えかもしれません。
タイプで分けると:
コントローラタイプ(SH-1, SH-2,SH2-DSP...)
SH3-DSP(SH7641[HD6417641])
130MIPS(Million{=Mega} Instructions Per Second)/100MHz(最大)、128KRAM内蔵/ROMなし。SH-4に比べると、性能は落ちるもののDSPがその部分を補完するようにも思えます。
プロセッサータイプ(SH-3,SH3-DSP,SH-4....)
SH-4(SH7760[HD6417760])いくつかのシリーズがあるようですが。360MIPS(Million Instructions Per Second)/200MHz (最大)、ROM/RAMなし。
>プロセッサタイプでは、MMUの存在によりOSを載せることができる(載せやすい)のに対し、コントローラタイプでは割り込み処理オンリーのプログラムが主なものになると思うのですが、この解釈はどうでしょうか?
割り込みコントローラとしてNMI(Non Maskable Interrupt)の観点からは、エンジンが同じ系統であることから同一と思いましたが、プロセッサータイプは、どちらかというと、標準のIOを想定しているために、評価ボードなどが販売されているのだと想像いたします。SH-3 DSPは、カスタムメィドになるのではないでしょうか。
>ちなみにどちらも内蔵ROMなしでしたが、この場合、プログラムの格納場所は外部のEEPROMなどに書き込むことになるのでしょうか?
当然、制御用のプログラムが完成した時点で、EEPROMや、MASK ROM、Flash Memoryなどを外部に取り付けなければなりません。
>次にSH4は、スーパースカラ方式というものを採用しており、同時に2つの命令を並列処理できるそうです。
また、FPU(浮動小数点演算器)があることによりDSP演算を高速に実行とありますが、これはなぜでしょうか?浮動小数点の計算ができると積和演算が早くなるのでしょうか?
詳細はよく分かりません。
SH-3 DSPは、Digital Signal Processingを行うエンジンを持っている?SH-4は、標準入出力を同時に処理するためにより、強力な浮動小数点や、同時並列処理の必要があると想像いたしました。
いずれも、RISCプロセッサーですので、処理は相当早いと思われますが、実態は分かりません。
SH-3 DSPは、IOポート(164ポート)が極めて多く、組み込み機器の制御や、ランプ表示の制御に適しているように思えます。
SH-4は、シングルチップのCPUに、標準のインターフェイス(COMポート、USBポート、LCDコントローラなど)
完全に独自のインターフェイスで、ビットコントロールを行うのであれば、SH-3 DSPで、標準のインターフェイス(シリアルインターフェイス、USBインターフェイスなど)の機器を使用する目的であれば、SH-4ではないでしょうか。
開発は、Windowsの上でエミュレートしながらの開発のようですが、最終的には、開発されたコードは、なんらかの形で外部メモリーに書き込まなければならないと思いますので、メモリーのライターや、実機に実装したときのディバッグ用にICEも必要になると思います。
あくまでも、仕様を比較した私見ですので、間違っている部分も多々あるかと思います。参考意見です。
この回答への補足
マイコンを使った回路設計は、まだあまりなく、勘違い、知らないこと多々あると思いますので、質問の意味が分かりづらいとは思います。申し訳ありません。
コントローラタイプとプロセッサタイプの違いについて、実際にルネサスに質問したところはっきりとした区別はないもののイメージとしては、
コントローラ:ROM/RAM内蔵
プロセッサ:MMU、chache内蔵、外付けRAM
とのことです。
ご指摘のようにI/Oポートの数が多いことや、メモリを多分割できることから考えると
コントローラタイプというのは名前の通り、機器に組み込んで様々なデバイスを同時に制御する用途向けで、
プロセッサタイプというのは、CPU自体は高速なものが
多いですが、様々なデバイスを制御するというよりは、計算自体を速くしたものと察します。
当初の目的は、ソフト屋さんと相談しましてどうやらマイコンだけで達成するのは厳しく、FPGAを併用または、仕様を変更する必要がありそうです。
質問なのですが、
ビットコントロールというのは、具体的にいうとどのような制御なのでしょうか?
時間があればお答え下されば幸いです。
No.1
- 回答日時:
アドバイスや、回答の得にくい質問だと思われます。
私は、この製品の存在すら知りません。機器に組み込み用のプロセッサーのようですね。ただ、私も、i80286 CPUが出たときに、製品開発をした過去の経験からお話いたします。(1)MCUタイプとプロセッサタイプという2種類があるのですが...
ここで、MCU(Micro Controller Unitの略だと思われます)は、CPU、メモリー、IOなどを全て組み込んだUnitで、開発をすぐに行なえる環境を提供するものだたと思います。プロセッサータイプは、プロセッサー単体で、自ら周辺回路を含めて設計をしなければならず、回路の設計経験がないと大変難しいです。
一例として、SH-4を用いた、MCUのURLを↓に示します。
http://www.cqpub.co.jp/eda/CqREEK/SH4.HTM
(2)仕様上、高速信号処理を要しますが、SH-4とSH-3DSP内蔵というのはどちらがいいのでしょう?
(多分用途によって違うと思いますが…)
その通りとおもいます。
DSP(Digital Signal Processing)の略と思われます。
SH-4(SH7750)は、日立製(現在は他社のようです)で32BitのRISC(Reduced Instruction Set Computer)
SH-3 DSP(SH7729R)は、同じく日立製の音声、画像データを高速に処理できるDSP機能を搭載した32ビットRISCマイコンです。参考URLは、↓
http://www.vdec.u-tokyo.ac.jp/CHIP/SH3DSP/SH3DSP …
SH-3 DSPも、SH-4もCPUの駆動周波数は、基本周波数66Mhzを3逓倍して約200Mhzにしていますので、同等のようですが、DSP内蔵のものは、音声や、画像処理に適していると想像されます。
注意する点としては、MCUタイプでは、プログラム格納用にFlash Memoryが搭載されていますが、書き込み回数は約100回程度と言われていますが、現実には、数回程度で書き込みが出来なくなる場合もあります。
さらに、プログラムの本格的な開発では、ICE(In Circuit Emulator)を用いて、プログラムのブレークポイントや、トレースなどを用いる場合があります(かなり高価です)も含めて検討する必要があります。
以上ですが、分かりにくいと思いますが、結論は、MCUタイプの評価ボードで開発をされることと、SH-3DSPでも、SH-4でもいずれでもよいのではないかと個人的には思いました。
この回答への補足
アドバイスありがとうございます。
その後もう一度仕様を比較してみたところ、
プロセッサタイプとコントローラタイプの違いは
MMU(Memory Management Unit)の有無ではないかと
思いました。
(プロセッサ:あり、コントローラ:なし)
参考URL(SH3-DSP)
プロセッサ↓
http://www.renesas.com/jpn/products/mpumcu/32bit …
コントローラ↓
http://www.renesas.com/jpn/products/mpumcu/32bit …
プロセッサタイプでは、MMUの存在によりOSを載せることができる(載せやすい)のに対し、コントローラタイプでは割り込み処理オンリーのプログラムが主なものになると思うのですが、この解釈はどうでしょうか?
ちなみにどちらも内蔵ROMなしでしたが、この場合、プログラムの格納場所は外部のEEPROMなどに書き込むことになるのでしょうか?
次にSH4は、スーパースカラ方式というものを採用しており、同時に2つの命令を並列処理できるそうです。
また、FPU(浮動小数点演算器)があることによりDSP演算を高速に実行とありますが、これはなぜでしょうか?浮動小数点の計算ができると積和演算が早くなるのでしょうか?
(参考URL)http://www.renesas.com/jpn/products/mpumcu/32bit …
上記のことを仮定すると、スーパースカラ方式により
多チャンネルの信号を同時処理するにはSH4を使うのが良い。また、一つチャンネルの信号を処理するのにもFPUによりDSP機能を持たせることによりSH4でOK?
それで基本的にはSH4を用いるのが良いという風に思ったのですが、どうでしょうか?
重ね重ねすいません。部分的にでも結構ですので回答宜しくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 工学 あの 信号処理 デジタル信号 DSP integrated circuits などは、 だれが関わり 1 2022/09/11 17:19
- 扇風機・冷風機・サーキュレーター 扇風機の回路について、AC100Vをトランスを使わず、マイコンを駆動させることはよくありますか? 4 2022/08/11 04:25
- ドライブ・ストレージ SSDを追加したら昔のHDDがおかしくなった 4 2023/03/23 13:25
- その他(パソコン・スマホ・電化製品) LINUXPCに詳しい人に気楽に答えてほしい質問です。 2 2022/10/25 08:07
- 工学 1つのタクトスイッチで複数の並列回路を閉じ、アースにつなげることができるスイッチはありますか。 2 2022/08/06 10:38
- Visual Basic(VBA) Excel VBA 複数ブックシートごとにデータを統合する方法について 4 2022/05/20 14:23
- その他(コンピューター・テクノロジー) PIC16F1シリーズマイコンのNCO機能について 1 2023/04/18 08:41
- SQL Server DBのテーブルの設計ができず困っています。 2 2023/06/29 16:43
- その他(税金) 消費税脱税疑惑、労働基準法、コロナ給付金3点について 3 2022/03/29 12:06
- オープンソース arduino ide 2.0.0 について 1 2022/09/19 15:45
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
入力回数のカウントをする方法
-
PICでパルス数をカウントする方法
-
Z80 タイマーの記憶方法について
-
エクセルVBAのIf,Then 構...
-
0xffffとは?
-
8ビットのデータの、先頭ビット...
-
ライン数とステップ数の違いは?
-
レジストってなんですか?
-
[VBS] 素早くローテート演算したい
-
PC-9801でマシン語を学習するに...
-
素数を求めるプログラム(アセン...
-
03分22秒36のような時間の単位...
-
実行ファイルからソースはみれる?
-
1の補数
-
一般のソフトで画像を扱う場合...
-
汎用レジスタのワーキングビッ...
-
delph5 ボタンの色を変更するに...
-
ビットの取り出し方法
-
16ビットCPUで32ビットの計算方法
-
biosとは人の体でいえば脳のよ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PICでパルス数をカウントする方法
-
PICでパルス数をカウントし、カ...
-
PICマイコンを使った分解能1μs...
-
C言語によるウェイト
-
マイコンのCCRのIビット
-
PICの入出力切り替えの時間がプ...
-
入力回数のカウントをする方法
-
シリアル通信のデータ受信につ...
-
H8を利用したPWMのパルス生成に...
-
PICでスピードメーターを作...
-
RTCの通信方法(I2C、S...
-
組み込みマイコンの誤動作について
-
H8/3069Rでパルス時間間隔測定
-
0xffffとは?
-
エクセルVBAのIf,Then 構...
-
8ビットのデータの、先頭ビット...
-
情報科学の飽和演算、ラップア...
-
ビットシフトってどんな時使うの?
-
ライン数とステップ数の違いは?
-
アセンブラからC言語に変換する...
おすすめ情報