- ベストアンサー
マイコン回路設計についての質問
- MCUタイプとプロセッサタイプの違いについて詳しく教えてください。
- SH-4とSH-3DSP内蔵の選択について、用途によってどちらが適しているのか教えてください。
- マイコンに内蔵されているDSPの役割や特徴について、資料では分かりにくかったので教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>実際にルネサスに質問したところはっきりとした区別はないもののイメージとしては、 コントローラ:ROM/RAM内蔵 プロセッサ:MMU、chache内蔵、外付けRAM とのことです。 仕様書を見ると、非常に難解でした。ROMも、マスクタイプ(設計が完了して、大量生産に移行する場合)と、焼き切る(少量生産で、プログラムイメージをメモリーのヒューズを焼ききって書き込むたいぷ)があるようです。 >ビットコントロールというのは、具体的にいうとどのような制御なのでしょうか? コントローラタイプでは、I/Oポートとして、入出力兼用ポートはビット毎に入出力切り換え可能とあります。 一例として、ビデオテープデッキなどでは、テープの終了を検地するセンサー、テープが正しく挿入されたことを検地する、プレイボタンが押された、巻き戻しボタンがおされた、早送りボタンが押された、録画中のランプを点灯する、テープの一時停止をする、予約ランプを点灯する、などは、1ビットの信号の入出力で充分です。その意味で、ビットコントロールと呼びました。多点のIOポートを見かけ上同時並行的に処理するには、それなりのCPUの処理速度が要求されます。 余談ですが、設計したものは、ある程度簡単なものは、ユニバーサル基板上でハードワイヤで、プロトタイプを作成して、ディバッグを行いますが、複雑になると、プロトタイプのプリントパターンを試作します。この場合も、複雑なものは、多層基盤で回路を構成しますが、人間の考えることです。時には誤りもあります。そのためには、回路設計もある程度、システム的にシミュレートできる設計が必要かと思います。ハード・ソフトを一人の人間が作成する場合は、生産性は悪いものの、自己責任でできますが、分業化すると、クリティカルなタイミングで動作しないなど、ソフトの問題か、ハードの問題化を切り分けるのに相互に不信感が表れ、感情的な軋轢が生じます。老婆心ながらお伝えしておきます。
その他の回答 (2)
- ojin
- ベストアンサー率43% (280/638)
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を併用または、仕様を変更する必要がありそうです。 質問なのですが、 ビットコントロールというのは、具体的にいうとどのような制御なのでしょうか? 時間があればお答え下されば幸いです。
- ojin
- ベストアンサー率43% (280/638)
アドバイスや、回答の得にくい質問だと思われます。私は、この製品の存在すら知りません。機器に組み込み用のプロセッサーのようですね。ただ、私も、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.html 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/sh/sh7727/index.html コントローラ↓ http://www.renesas.com/jpn/products/mpumcu/32bit/sh/sh7641/index.html プロセッサタイプでは、MMUの存在によりOSを載せることができる(載せやすい)のに対し、コントローラタイプでは割り込み処理オンリーのプログラムが主なものになると思うのですが、この解釈はどうでしょうか? ちなみにどちらも内蔵ROMなしでしたが、この場合、プログラムの格納場所は外部のEEPROMなどに書き込むことになるのでしょうか? 次にSH4は、スーパースカラ方式というものを採用しており、同時に2つの命令を並列処理できるそうです。 また、FPU(浮動小数点演算器)があることによりDSP演算を高速に実行とありますが、これはなぜでしょうか?浮動小数点の計算ができると積和演算が早くなるのでしょうか? (参考URL)http://www.renesas.com/jpn/products/mpumcu/32bit/sh/sh4/index.html 上記のことを仮定すると、スーパースカラ方式により 多チャンネルの信号を同時処理するにはSH4を使うのが良い。また、一つチャンネルの信号を処理するのにもFPUによりDSP機能を持たせることによりSH4でOK? それで基本的にはSH4を用いるのが良いという風に思ったのですが、どうでしょうか? 重ね重ねすいません。部分的にでも結構ですので回答宜しくお願いします。
お礼
ハードとソフトの問題の切り分けに関しては、他の経験者の方にも同様なアドバイスを貰いました。どちらの責任かということもそうですが、問題の早期解決においても重要なことと思います。 定性的な質問で分かりづらかったと思いますが、色々ご相談にのって頂き、ありがとうございます。 ひとまず、締め切らせてもらいますが、また何かありましたら、質問したいと思います。次からはなるべく分かりやすく…