ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

PICとArduinoとRaspberry PiとEdisonの違い(IoT界隈で話題のチップについて)

2016-08-08 15:16:55 | Weblog
偶然見つけたんだけど、きしださんが

FPGAとArduinoとRasberryPIの違いと、FPGAを勉強する理由
http://d.hatena.ne.jp/nowokay/20130218

というのを書いていたので、最近用にアップデート

ArduinoとRaspberry Piに加え、PICとEdisonを加えて比較。




■PIC

【そもそも何?】
 マイクロチップ・テクノロジー社が出す、「マイコン」の「製品群の」名称

 マイコン→OSは載っていない。CPU,メモリはあり、IOはいろいろ付けられる
 製品群→PICといっただけでは、一つの製品を指すわけではない。
  PICのあとの数字で、命令長、何ビットなどかがわかる
  (PIC12,PIC16など)dsPICというのもあるが・・・
  製品は、さらにPIC12F1571、PIC18F4520のように数字をつけて特定する。
 →つまり、マイコンです。くろいげじげじを指して言います。

【開発環境】
 MPLAB IDE等を使い、Cやアセンブラで開発する
 出来たものを、PICライターで書き込む(PicKit3等がある)
 PICのげじげじに書き込んでも、これだけではLEDはつかないので、
 ブレッドボード(というものがある)上に、LEDやPICや抵抗やいろいろおいて、
 それで、動作させて確認する。

【参考サイト】

 まずは、ここ

http://www.marutsu.co.jp/pc/static/large_order/begin_pic





■Arduino

【そもそも何?】
 PICと対抗する(?)AVRのマイコンを使った「基板」。
 (ただしくは、開発環境ArduinoIDEも含めるのかもしれないが・・)
 →つまり、マイコンが載った「基板」です。あの板の上にピンとか口とかついている
  あれ全体です。でも、ベースはマイコンなのでOSはありません。

  なお、PICは、マイクロチップ・テクノロジー社社のマイコンでしたが、
     AVRは、Atmel(あとめる)社のマイコンです。
  (ただし、Atmelは、マイクロチップに買収された

【開発環境】
 Arduino IDEという統合開発環境でCっぽい言語で開発する(拡張子はino)
 USBケーブルを指して、統合開発環境から、Arduinoに書き込みが出来る
 (USBへのドライバは、FTDIのものを使うが、Arduinoをインストールすると、入っている)

【参考サイト】
 いろいろありすぎる。が、
 ここ https://www.arduino.cc/en/Main/Software
 から、Arduino IDEをダウンロードしないと、すべてが始まらない。




■Raspberry Pi

【そもそも何?】
 孫正義氏によって買収されたARM社のチップを使った、シングルボードコンピュータ
 →これは、「見た目は」Arduinoのような基板ですが、OSが入った、れっきとした
  コンピューターです。パソコンのでっかいマザーボードが超小型化して売っている
  イメージ

 OSはLinux(Debian系)のRaspbianなど
 →Linuxには、RedHatのRPMを使うような一派と(インストールのとき、yum等を使う)
  debian系の一派(インストールのときapt-getを使う)がある。ubuntuはdebian系

【開発環境】
 Linuxなので、gccをつかってもいいけど、Javaもはいっている。
 JavaのGUI開発環境もあるし、ブラウザも入っている(Epiphany)ので、すきにどうぞ!
 Raspberry piにキーボードとディスプレイを指して、Raspberry上で開発すればよい
 外部入出力としては、LANなどのほかにGPIOが使える。

【参考サイト】
 いろいろありすぎるが、まずは
 ここ https://www.raspberrypi.org/downloads/にいって、NOOBSをダウンロードしてインストール・・っていう話を理解する為に、見るべきサイトがあるか・・




■Edison

【そもそも何?】
 あのIntel社(説明不要!)が出しているシングルボードコンピュータ
 →ちっちゃいけど、ラズパイと同じ!OSも載っている(Linux)

【開発環境】
 Linuxなので、cでも開発できるけど、ArduinoIDEでも開発できる。
 EdisonにUSB接続ないしはWiFiで接続してあとは、好きなように開発してください

【参考サイト】
こことか http://edison-lab.jp/edison/ 
かなあ?




■おまけ、FPGA

きしださんのものにはFPGAが載っていたので、FPGAについても・・・

【そもそも何?】
FPGAは、「マイコン」などというくくりとおなじ、チップの種類の名前。
論理回路を、焼いてしまうものがASIC
論理回路を、書き換えられるのが、プログラマブルロジックデバイス※で
  論理回路が少ないのがCPLD
  論理回路が多いのがFPGA
CPUが載っているとマイコンという表現をするけど、
 容量が大きいFPGAは、CPUをつくることができる
 また、そもそも、CPUが載っているものもある(SoC)
   たとえば、AlteraのFPGAにARMがのったCyclone V SoCとか

※ちなみに、「プログラマブルロジック」とつくのは、他に
 「プログラマブルロジックコントローラー」PLC(シーケンサー)がある。

また、評価ボードというのがあり、それはFPGAにいろんなものが載った基板。
DE0-Nanoなど。

メーカーは、有名なのは2社(ごめん、3位以下は省略)
 Altera(あるてら)xilinx(ざいりんくす)
ごめん、Alteraしかわかんないので、Alteraベースで以下書きます。

 Alteraの場合、論理回路数(LE:ロジックエレメント)によって、製品名が変わる。
 Cyclone、Arria、Stratix・・・詳しくはアルテラの代理店(アルティマまたはエルセナ)
 にきいて(この代理店2社のちがいは、さっぱりわからない。おなじマクニカグループ)

【開発方法】
その代理店さんからももらえるし、フリーでも落とせたし、評価ボードにも入っている
「 Quartus II 」って書こうとおもったら、今は、Quartus Prime なの?

https://www.altera.co.jp/downloads/download-center.html

とにかく、そういうIDE環境があるので、それを使う

1.verilogやVHDLでプログラムを書く
2.pin plannerで、どのピンを使うかを設定する
3.コンパイルする
4.programmerでやきやきする

というステップある(くわしくは、この辺参照。もっとかいてあるけど、上記手順だけで、最低限の動きはする)。

ちなみに、Xilinxの場合の開発環境はISE

【参考サイト】

FPGAを、全く知らない人は

アルテラ オンライン・トレーニング(無料)
http://www.altima.jp/seminar/online/

から見るのが早い。

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

PICやArduinoでEthernet通信するには

2016-08-08 08:39:46 | ネットワーク
自分へのメモ。
LANとしては、以下のENC28J60が売っている

ENC28J60 Ethernet LAN Network Module Schematic For Arduino 51 AVR LPC
http://store.shopping.yahoo.co.jp/netwhole/87596.html


問題は、これはEthernetなので、この上のIPとかは、どうするという話
Arduinoでは、その辺ライブラリがあるらしい。以下のサイト

Arduinoと有線LANで通信する(ENC28J60 1)
http://nopnop2002.webcrow.jp/ENC28J60/ENC28J60-1.html


PICもあるみたい・・

ENC28J60とTCP/IPスタックの使い方
http://www.picfun.com/ENC28J6000.html

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする