1

この辺りで同様の質問を検索しましたが、これが重複している場合はお詫び申し上げます。1つしか見つかりませんでした。

そのため、エンジニアリングクラスのプログラミングチームは現在、32ビット72MHzARMCortex-M3マイクロプロセッサを使用しています。私たちはすべて高校の先輩であり、主に私たちが使用しているBioloid Premiumの製造元からの貧弱なドキュメントのために、ライブラリなどを使用するのに苦労しています。ただし、8ビット16MHz AVRマイクロコントローラーを購入しようとしています。これは、オンラインでのサポートの範囲が広く、ライブラリが使いやすく、ドキュメントが多いためです。ここでの私の質問は、ビット数の減少とプロセッサ速度の低下が本当に重要なのかということです。プロセスを多用するプログラミングはあまり行いませんが、基本的なロボット工学のクラスのようになります。では、8ビットの16MHzAVRマイクロプロセッサと32ビットの72MHzARM Cortex-M3マイクロプロセッサの主な違いは何ですか?また、(関連性がある場合):

  1. Robotis w / CM530(ARM)のBioloid Premiumを使用しており、CM510(AVR)に切り替えようとしています。
  2. 命令セットとして、RobotisのRoboPlusIDEの代わりにEmbeddedCを使用します。

私はグーグルで調べて、ビット数が何であるか、そしてそれがプロセッサ速度に与える影響についてもっと知りましたが、それについての多くの文書は明確で簡潔な答えを与えていません、そしてそれが私がここに来た理由です答えます。(それで、私が過去20分間そうするのに費やしたとき、それをグーグルに言わないでください。)

4

2 に答える 2

2

Robotis の Bioloid Premium with CM530 (ARM) を使用していますが、CM510 (AVR) に切り替えようとしています。Robotis の RoboPlus IDE の代わりに Embedded C を命令セットとして使用します。

あなたが言及した製品を見回しましたが、あなたの質問には、あなたが本当に関心を持つべき問題が欠けているようです.

Bioloid プレミアム キットは、すべてのパーツが組み立てられ、構成されているので、とても素敵に見えます。ロボット工学コースの多くは、通常、ハードウェアの設計に関係しています。あなたはそのようなことをするつもりはありません。したがって、あなたの仕事は、与えられたハードウェアをプログラミングすることになります。

そうは言っても、レゴ マインドストームのドラッグ アンド ドロップ インターフェイスに似ているように見える RoboPlus IDE と、AVR Studio を使用して C でコードを書くことの間には、世界の違いがあります。

以前から AVR Studio を使っていましたが、最近バージョンが大きく変わりました。最新バージョンで動作するようにサンプル プログラムを変更する必要があるかもしれません。

周辺機器を使用するのに十分なサンプル コードが提供されているようですが、計画に従うようなことを行うための main() 関数の書き方がすぐにはわかりません。おそらく、オンラインでいくつかの例があります。

しかし、あなたの質問に答えると、おそらくプロセッサー容量の制限に遭遇することはないでしょう。彼らは制御ソフトウェアの新しいバージョンを作成するために、より安価で強力なプロセッサに切り替えましたが、古いハードウェアも優れています。C言語で作業することで、実際にMCUを使用する方法に慣れ、その知識が他のチップに移行します. AVR ファミリは、手始めとして最適です。多くの機能があり、多くのドキュメントとサードパーティのサポートにより、その動作は非常に賢明です。使用しているチップのデータシートを Atmel からダウンロードしてください。その一部だけを読む必要があります。また、AVR Freaksフォーラムもチェックしてください。

これは素晴らしい高校のコースのように聞こえます。それを楽しんでください!

于 2013-03-22T06:32:17.843 に答える
1

ここでの私の質問は、ビット数の減少とプロセッサー速度の低下は、私たちにとって本当に重要でしょうか? [...] では、8 ビット 16MHz AVR マイクロプロセッサと 32 ビット 72MHz ARM Cortex-M3 マイクロプロセッサの主な違いは?

なんてクールなプロジェクトでしょう!これは、プロセッサがどのように動作するか、およびビット幅とクロック速度が何を意味するかについて少し学ぶ絶好の機会です。

クロック速度は、概念的に最も理解しやすいものです。AVR や ARM などのマイクロコントローラは、回路の動作速度を設定するクロック クリスタルを使用します。より高速なクロックを使用すると、プロセッサは同じ時間でより多くの命令を実行できます。72MHz クロックは 16MHz クロックの 4 倍以上であるため、ARM プロセッサは AVR よりも 4 倍速く実行できるようになります。しかし、「より速く走る」とは実際には何を意味するのでしょうか? プロセッサは命令を実行します。基本的なレベルでは、これらは「2 つの数値を加算する」や「このピンの電圧を高くする」などの命令です。ここでは ARM プロセッサがはるかに高速になりますが、どのハードウェアと通信するかを考えてみましょう: サーボです。サーボ モーターはかなり低速の PWM 信号をリッスンするため、その速度では 72MHz と 16MHz の差はほとんどありません。

しかし、ビット幅はどうですか?これはもう少しトリッキーです。プロセッサの実行速度には実際には影響しませんが、実行する命令の複雑さに影響します。2 つの非常に大きな数を足し合わせたいとしましょう。100,000 と 200,000 のような数字。それらを紙の上に足し合わせると、それはたった1つのステップです。しかし、AVR のような 8 ビット プロセッサは、65,536 までの数値しか処理できません。そのため、大きな数値を操作するには、足し算をいくつかの小さなステップに分割する必要があります。一方、32 ビットの ARM は、これほど大きな数を扱うことができます。したがって、追加は 1 ステップで行われます。それが理にかなっていることを願っています。

とにかく、私はあなたの 16MHz AVR よりもさらに遅いプロセッサーでサーボを使って多くの仕事をしました。あなたがやりたいことには十分である可能性が高く、あなたが発見したように、はるかに活発な愛好家コミュニティがあります. また、コードの簡単な例を探している場合は、Cornell 4760 のページに、学習できる優れたプロジェクトがいくつかあります。

于 2013-03-26T14:32:06.320 に答える