top of page

Lesson 8. 組み込みプログラミング§20. 基板(AVR, PSoC, ARM)

ahedgehogchase

基板

AVRマイコン基板 お次はAVRマイコン基板についてだ。 Atmel社は 完成版の基板 を販売している。これは、高価だが、君たちはこれらの基板を購入して、Atmel社の新しいプロセッサの使い方を学ぶことができる。 次に、より低価格なものに関して話そう。 AdafruitOlimexPolulu は全て、格段に低価格の基板を製造している。これらの基板にはプロセッサが既に搭載されている。 この講座では、僕は君たちにこれらの基板を製作して、これらをどのように作るのかを習得してほしい。この講座を終えた後、完成品の基板を購入すると楽だということに気がつくだろう。 君たちが一旦それらの作り方を習得できたのであれば、カスタマイズが必要な時だけ作れば良い。プロセッサや周辺機器を搭載した完成品の基板は販売されている。 僕は口を酸っぱくして何度も言ってるから、君たちもご存知の通り、 Arduino の基板を買うことは可能だけれども、この講座ではArduinoの基板を購入してはならない。そうではなくて、作らなきゃならない。 AVRであれば、本当にどんな基板でもArduinoとして用いることができる。それは特別な基板じゃないんだ。

 

PSoC

次は面白いものを紹介しよう。でもこれに伴う問題はーそれは大きな問題なんだけれどもーWindows専用なんだ。 それを除けば、 PSoC は非常に面白いファミリだ。PSoCはチップ上でプログラムすることができる。周辺機器を搭載したコンピュータというよりも、それは実際のところプログラマブルハードウェアなんだ。 そして、君たちはダイアグラムを作って、この基板にさせたい事をさせる。そして、そのダイアグラムをハードウェアに書き込むんだ。 これによって格段に高いパフォーマンスを得ることができる。そして、それはソフトウェアを使って行うことができる。Cypress社はこの基板を信じられない価格で作っている。そしてこれは4ドルで販売されている。僕はこんな基板を4ドルで作ることはできない。彼らは赤字でやっているのか、本当に原価のまま売ってるのかどちらかだろう。 この4ドル基板はチップとプログラマを搭載している。

そういう訳で、巷にはこのような組み込みロジックを作る面白いものがあるんだ。しかし、この場合、君たちにそれらを作る機会はないだろう。なぜならば、作ることができないからだ。 というのも、彼らは出来るだけ多く売れるだけ売ろうとしているからね。しかもWindows専用だ。 それでも、これはプログラマブルハードウェアを用いた高機能の面白いアーキテクチャだ。プログラマブルハードウェアにはヒエラルキーがあるのだけれども、これは、プログラマブルチップとしては入門用としてはかなり良くできたものだ。だから、僕はこのデバイスを気に入っているんだ。

 

ARM

それでは、ここからは ARM を用いた数多くの基板を見ていこう。しかし、ARMの基板について話す前に、まずはARM自体について説明しておこう。 ARMはプロセッサのアーキテクチャだ。これらはこれまでのところ、携帯電話のようなモバイルコンピューティングの分野で最も支配的なものだ。 Acorn RISC Machine社(現ARMホールディングス)が開発し、多くの人々がライセンス料を支払っている。ARMファミリの中でも素晴らしいのはSTマイクロエレクトロニクス社で開発された STM32 だ。

そして、標準的なAVRと比較して、これらは遥かにハイスペック化している。しかし、ドツボにはまることもある。それについては後で話そう。 STM32 F3は素晴らしい基板で、パフォーマンスがロックされることがない。ここに、データシートがある。ST社は本当に低価格の基板を製造している。これらは10ドル程度の基板で、プログラマを搭載している。それ故に、これらはARMのプロセッサを知ることができる偉大な基板だ。 話を元に戻そう。 ARMの基板は一般的に言って、AVRの上層で動かすような代物だと思われている。それは大きな罠だ。これらは格段に一般的な目的に用いられるプロセッサとしてデザインされており、それはつまり、これらはより複雑な内部構造を持つということだ。そして、それが意味する所は、もうひとつあって、これらは単なるクロッキングよりも格段に複雑なことをやってのけているということだ。 これらは単サイクルインストラクションではなく、クロッキングのための複数の領域が存在する。 だから、もしも君たちがどのように… あ、良いテストがあるわ。 テストって言ってるのは、ちょっとXMEGAに話を戻させてほしい。 これはテストだ。君たちは信号を1つのピンに出力し、もう1つのピンでそれを読み込む。 そして、どれどけの速度で動作させられるかを見ることができる。 そして、ことテストをやってみると、ARMプロセッサはハードウェアのリアルタイムのパフォーマンスという意味でがっかりするような代物だということがお分かりになるだろう。 なぜならば、これらは単純なアーキテクチャではないからだ。格段に複雑なアーキテクチャなんだ。

だから、単純なハードウェアはリアルタイムパフォーマンスは良好で、このようなシンプルなRISCプロセッサを高速に動かすことができる。 ARMプロセッサを動かす本当の理由があるとすれば、それは君たちがより複雑なライブラリの助けを必要とするとような時だ。 そして、もしARMコアの基板であるRasberry Piを見てみると、これはGHzのオーダーで作動する。しかし実際のところこいつはハードウェアとしてこれ程までに早い処理を行うことはできない。そして、それはプロセッサのアーキテクチャのの複雑さによるものだ。 この基板の長所は、はるかに複雑なソフトウェアを実行することができることだ。 例えば、もしも君たちがWebカメラをプロコトルと共に使いたいとしよう。Webカメラを動かすって事はかなり複雑な処理だ。一旦、このような複雑なソフトウェアの山を導入してしまうと、僕はこれはARMプロセッサそして、これらの種類のシングルボードコンピュータへの移行の時だ!と思ってしまう。

もうひとつの例としては、僕たちはリアルタイムなカメラのインターフェースに関するプロトコルについて話したが、ソフトウェアの複雑さは、このシンプルなハードウェアのリアルタイム特性ではなくこれらのARMプロセッサのファミリに移行する理由になる。 ピン間のデータの入出力の速度をテストするということは、本当に素晴らしい考えだ。もしもArduino IDEを用いているのであれば、C言語では1000サイクルだ。君たちは、1秒間に100万回のサイクルを回す事ができる。そして、プログラマブルハードウェアにグレードアップすれば、1秒間に1000万から1億回のサイクルを回す事ができるようになる。 オーケー。この講座では、君たちは使うもの全てを作る必要はない。僕は君たちに、プロセッサを搭載した基板を自分でデザインして作って欲しい。PSoCやRasberry Pi、ARM基板の類いのものを買ってくることは、理にかなっている。しかし、AVRに関しては買ってくるよりも格段に安価に作る事ができるんだ。

つづく

講義の目次は 【和訳版】FabAcademy 2016 からご覧ください。 ※この記事は FabAcademy 2016 におけるニール・ガーシェンフェルド教授(MIT)による講義動画をもとに作成しました。正確な訳ではないので間違っていたら指摘いただけるとありがたいです。

閲覧数:4回0件のコメント

最新記事

すべて表示

Lesson 13. 出力デバイス §4. LEDマトリックス

●LEDマトリックス 次に紹介するのはLEDマトリックスだ。 動作しているのを見てみると、ディスプレイの一部分が表示されているのが見えるだろ? 僕はディスプレイの一部分を用いてラスタリング(画像を色のついた格子状のドットで表現すること)を行なっているんだ。 ...

Lesson 13. 出力デバイス §3. 調光LED

●調光LED さあ、ここから僕は多くのデバイスを紹介していこう。 最初に紹介するのは、色調を変化させることのできるLEDだ。色を周期的に変えることができるんだ。 これが、その部品だ。 この部品には赤と緑の、青のLEDが1つのパッケージに含まれている。大量購入す...

Lesson 13. 出力デバイス §2. 電源

●電源 今回の課題のゴールはたくさんのバッテリーを使うことじゃない。モバイルにしなくちゃならない場合を除いてバッテリーを使うのはお勧めしない。一般的には各Labは各種電源を取り揃えているはずだ。 今から紹介するベンダーMARLIN P. JONES & ASSOC....

© 2017 by A HEDGEHOG CHASE created with Wix.com

  • Grey Facebook Icon
  • Grey Twitter Icon
  • Grey Google+ Icon
bottom of page