2014年3月11日火曜日

Arduino互換機 chipKIT UNO32をMCU Gearで使ってみる


普通のArdunoの接続テストでは、一度に多くのデバイスを取り付けるとSRAMが足りなくなるという問題がありました。AVRの32bit版もあるのですが、少しコストが高いので安くてSRAMが大きな Arduino互換機chipKIT Uno32 (80Mhz, 32-bit MIPS, 128K Flash, 16K SRAM)をMCU Gear に使用してみようと思います。






Arduino互換機とは言われていますが、IDEはMPIDEという少し特殊な物を使用します。使い方は基本的に同じです。スケッチの書き方はI2Cのwriteをsendに、readをrecieveにするだけで、他の違いは今のところ違いは見当たりません。
正確にはArduinoではなく、Arduinoに似せた32bitPICマイコンボードです。もちろんブートローダーなども手に入るので自作できます。
chipKITには色々な種類が出ていますが、今回はchipKIT UNO32 Rev.Cという物を使いました。

参考サイト(http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,892,893&Prod=CHIPKIT-UNO32
今回の購入先(http://strawberry-linux.com/catalog/items?code=21208


操作手順

1、まず、電源を入れる前にchipKIT UNO32のジャンパーの設定を変更しておきます。
JP4 : RD4
JP6 : RG3
JP8 : RG2
にしてください、これでSPIマスターとI2Cが設定されます。




2、MPIDEをダウンロードしてください。 http://chipkit.net/started/
今回はmpide-0023-windows-20130715を使用しました。


3、各種モジュールごとのサンプルプログラムです。
サンプルプログラム(自動モード)のダウンロード
http://www.mcugear.org/download/KIT/A_SamplePrograms.zip
自動モードは一つのモジュールごとに配線をやり直して接続してくれます。

4、マイコンボードAでMCU Gearと接続します。
マイコンボードAのジャンパーの設定を
SCL : PTC1
SDA : PTC2
他は何も設定しないでください。


5、プログラムの書き込み
サンプルプログラムをMPIDEからUSBケーブルでchipKIT UNO32 Rev.Cに書き込みます。四角い枠に右矢印のボタンを押して書き込んでください。(MCU Gearのパワーモジュールを接続せずに行ってください。リセットボタンのチャタリング防止用のC5コンデンサの影響で書き込み時の自動リセットに失敗するためです。)



サンプルプログラムの使い方は次のサイトが参考になります。
http://mbed.org/users/Info/code/MCUGearA/ (英語版の下に日本語版があります)

6、使用したいモジュールを取り付けてから電源を入れる

電源は2系統から入れてください。
MCUGearのパワーモジュールを取り付け電源を入れます。
chipKIT UNO32のUSBコネクタから電源を入れると動きます。



その他、
chipKIT UNO32 Rev.CのI2Cの特徴をいくつか挙げておきます。


1、通信速度アップができる。
MPIDEのファイルを書き換えると、I2Cの周波数を変えることができます。
\mpide-0023-windows-20130715\hardware\pic32\libraries\Wire\utility
ディレクトリのtwi.h部分を以下のように変更すると400KHzで動作します。
(1MHzでも送信できますが、chipKITの受信がうまくいかないようでした。)

#ifndef TWI_FREQ
#define TWI_FREQ 400000
#endif


2、注意点

I2Cのアドレス0番から7番まではIDEの問題で使えないそうです。
サンプルプログラムのmasterwireで動作確認するときは、アドレスを4から10に変更する必要があります。今後MPIDEの細かなバグが消えることを願っています。



0 件のコメント:

コメントを投稿