トップページ > dsPIC入門

dsPIC入門

備忘録のようなものです・・・







古典回路屋 トップへ
 

インデックス


 

はじめに


“dsPIC”(ディー・エス ピック)は、Microchip Technology社のワンチップマイコンです。
ワンチップ・マイコン、要は プログラムを書いてコレに書き込むことで、いろんなことができるよ!楽しい!! …です。


高価なものではありませんし、開発環境も無償ということもあって、電子工作にはもってこいのデバイスだと思います。 さらに、最近のものは動作も高速で機能も豊富…と、かなり楽しいことができると期待できますね!

dsPICが登場する前からあった“PIC”(ピック−Peripheral Interface Controller)を使ったことはありましたが、

…というのがネックに感じられて、どうしても使いづらいところがありました。 ところが、最近メジャーになってきたdsPICは

と、いままで嫌がっていたポイントがほぼ全て解消されています。 dsPICの名前は、“DSP”(Digital Signal Processor)と“PIC”を合わせたものだそうです。 DSP…というのは直接使ったことはありませんが、なんだか計算とか超速いイメージです(笑)


(この「dsPIC入門」の一連の内容ではC言語が既に使えることを前提としています。C言語については 各種C言語の解説書などを参照してください。 また、後半からJavaが出てきますが、これもJavaの解説書に依ることにします。)



上へ
 

開発環境を整えて、動かしてみる

なにはともあれ、開発環境を整えて簡単なプログラムを走らせてみます。

主な環境は以下の通りとします。下の“準備編”で1つ1つのインストール方法を見ていきます。

項目型番等備考
使用するデバイス dsPIC 30F4012 後からいろいろな機能を使って遊べそうなので。あと、 秋月さん で手に入ったという理由です。
総合開発環境 MPLAB IDE ver 8.15 無償です。 MPLAB アーカイブ からダウンロード。
Cコンパイラ C30 ver 2.05
Student Edition
無償です。上と同様に MPLAB アーカイブ からダウンロード。
書き込み機
(ハードウェア)
PICkit2 秋月さん にて安価に手に入ったので…。あと、PICを基盤にさしたままで書き込みができるのも魅力です
書き込み機
(PC側ソフト)
PICkit2 Software
ver 2.55.02
無償です。これも、 MPLAB アーカイブ からダウンロード。
テストボード 自作 必要最低限の、簡単な物です。LEDを8個つけてみます。

準備編

まず、最初に開発環境を整えてしまいましょう。一度セッティングが終われば、後はガンガン作るだけです。

  1. PCにMPLAB(エムピー・ラボ)をインストールする
  2. PCにC30コンパイラをインストールする
  3. PCにPICkit2 software をインストールする
製作編

ここでは、試しに“ナイトライダー”(LEDの光が横に流れるやつ)をサクっと作りましょう。

  1. テストボードを作る
  2. MPLABで新しいprojectを作る
  3. ソースコードを書く
  4. コンパイルする
  5. PICkit2のセッティングをして、書き込み





dsPICを使った電子工作の流れをつかんだところで、これ以降はdPICに内蔵されている便利な各種モジュールの使い方 を解説していきます。また、より実用的な製作へつなげるためにJavaを用いたPCアプリケーションについても 触れていきます。

上へ
 

コンフィグレーションについて

コンフィグレーションはソースコードの最初に記述されます。dsPICのハードウェア的な動作…電源やクロック関係 の設定ゆえ、設定を間違えるとプログラムが思い通りに走らない場合もあります。 プログラムごとに大きく変える必要はないので、基本的にコピー&ペーストで済ませる感じで。 (dsPIC30Fシリーズを使用するという前提で話を進めます)

上へ
 

タイマーの使い方

基本的にマイコンの動作速度は人間から見ると非常に速いです。 単にLEDをピカピカせるだけでも、タイマーによる「時間稼ぎ」をしないと点滅しているのか点灯しているのか 分かりません。 また、マイコン回路の典型動作である「同じ処理を一定時間で繰り返す」ときも、タイマーが重宝します。

上へ
 

モーターを動かす

マイコンでモーターの回転をコントロールします。 ここではお手軽なモータードライバーICを使う方法を紹介します。 また、サーボの使い方にも触れています。 これで簡単なロボットくらいなら作れる…かもしれません。
(ゴツいモーターを制御するためのHブリッジについては解説していません。 要望メールがあったら書きます)

上へ
 

PCとシリアル通信(UART)

dsPICとPCとのシリアル通信は、いろいろ応用できて楽しいですよ!UARTモジュールの使い方について、丁寧に解説します。

上へ
 

Java RXTXライブラリでシリアル通信用アプリケーション

dsPIC側でシリアル通信の準備が整ったら、PC側でもシリアル通信でデータをやりとりする アプリケーションを作ってみましょう。Swingの基礎と合わせて解説しています。

上へ
 

VisualStudioC++でシリアル通信用アプリケーション

Javaを使い始めるまでは、VisualStudioを使っていました。 一応、簡単なノウハウだけ解説します。



上へ
 

AD変換

AD変換を試してみます。
アナログ信号をとりこんで、ディジタル処理→PCへ送信…などなど、楽しいことができそうです。



上へ
 

Javaでハイパーターミナル

dsPICと組み合わせて処理を行うアプリケーションを作っていこうと思います。
まず手始めに、Javaでハイパーターミナルのようなものを作ってみます。 シリアル通信、ボタン操作やテキスト入力などのアクション処理など実用的な アプリケーションの基礎ということで1つ1つ確認しながら組んでいきます。

上へ
 

XBeeで無線通信!

ケーブルでマイコン基板とPCをつないだシリアル通信は既に実験しました。 こんどは“XBee”という無線モジュールを使ってお手軽に無線通信をしてみます。 無線通信ができればロボットの無線制御(ラジコンとか)や、離れた場所からのセンシングなど 応用範囲が一気に広がって楽しいです。

上へ
 

I2C通信を使う

I2Cは同期式シリアル通信の1つです。UARTよりも高速で安定して使用できるほか、マイコン間の通信や EEP-ROMやAD変換機、カメラなど様々なモジュールと接続する際によく使用されています。
I2Cが使えるようになれば、dsPICを用いた処理系のバリエーションがもっと広がります。

上へ
 

SPI通信を使う

SPI通信も試してみます。SPIはI2Cと同じく、同期式シリアル通信に分類されます。
同期式シリアルなら、I2CよりもSPIの方が簡単です・・・。


上へ
 

キャラクタ液晶ディスプレイを使う

文字表示専用のキャラクタ液晶ディスプレイの使い方についてです。 手製の機器に取り付けると見栄えがしますし、 ちょっとしたデバッグにも便利です。


上へ
 

SDカードモジュールを使う

システムにおいて何か大容量のデータを保存したい時には、シリアルROMよりもSDカードの方が便利です。 今回はSDカードモジュールを使ってお手軽に制御します。


上へ
 

JPEGカメラを使う

JPEG形式でデータを出してくれるカメラを、dsPICで制御してみます。


上へ



トップページ





※このページはリンクフリーです。

ご質問,ご要望などはメールでどうぞ:real-gas@hotmail.co.jp
Copyright (C) 2008 古典回路屋,All rights reserved.