2011年3月21日月曜日

MSP430 LaunchPad デモプロジェクト(温度センサー)の検証 その2



1.解析
 Processingソース:LaunchPad_Temp_GUI.pdeより
 1)シリアル通信の仕様
  ①Baud Rateは 2400
  ②LaunchPad => PC 1バイト アスキーコード送信
    ”A”:65°”B”:66°  :華氏の温度表示
  ちょっと修正(デモプロジェクト改修 その1)
   ・Processing(GUI)ソースの修正
   dataRead = (dataRead-32)*5/9; 華氏=>摂氏変換コード追加
2)シリアル通信の構成
  タイマ割り込み、タイマ出力を使い1ビットづつの送信を実現しているようです。
  ①システムクロック設定
   ・ベースクロック(DCO):1MHz  1048576Hz 訂正(3/26) => 1,000,000Hz
   ・サブシステムマスタクロック(SMCLK) : ベースクロック1/8 : 128KHz 131072Hz
                          訂正(3/26) =>125KHz 125,000Hz

  ②タイマカウンタ
   ・クロックにSMCLK選択
   ・タイマカウンタCompare設定値(TACCR0)に13*4を設定
     1/131072*13*4 = 0.0003967285  ・・・ タイマ周期 0.3967285mS ==> 2520bps ≒2400bps 
訂正(3/26) => 1/125000*13*4 = 0.000416  ・・・ タイマ周期 0.416mS ==> 2403.846bps ≒2400bps 

      (2400bpsとの誤差5%は少々気になります。20ビット送信で1ビットのずれが発生。)
訂正(3/26) => 2400bpsとの誤差0.16%は、624ビットで1ビットのずれ。30バイト程度の文字列の送受信は問題ないと思います。

  ちょっと修正(デモプロジェクト改修 その2)
   ・CCSプロジェクトの修正   
   データ送信用のバッファを設け、そのデータを1バイトづつ、スタートビット、ストップビットを付加して送信
   温度センサに関する機能は削除

2.課題
 ①現状でなんとかMSP430からPCへのデータ送信(TX)は実現できました。あとは、PCからMSPへのコマンドの送信(RX)の実現を考慮中です。
 ②現在、デジキーに発注したMSP430G2452IN20(20ピン)の到着を待っています。たしか、リードタイムは3/31だったような記憶があるのですが、現在、未定となってしまいました。到着しだい、LCD(キャラクタ)の表示に挑戦してみたいと思います。

MSP430はとにかく使い勝手が良いのが魅力です。
(ユニバーサル基板上に、3端子レギュレータを使った電源回路+MSP430+その他電子パーツで自作のマイコン基板が手軽に組めてしまいます。)
MSP430の能力をフルに使った場合、どこまでプログラムが組めるのか。その限界を試してみたいと思います。

そろそろ、インターフェース誌の付属基板が発売されます。今度はRXマイコンで、昨年のSHマイコン程の期待は無いものの、使い勝手が良いものであってほしいと思います。今年は、TIのMSP430と並行していじっていきたいと思います。

2011年3月3日木曜日

MSP430 LaunchPad デモプロジェクト(温度センサー)の検証 その1



TIが提供している MSP430 LaunchPad のデモプロジェクトについて、最初単にLEDの点滅のみの簡単なデモプロジェクトと思っていました。しかし、Webサイトや、展示会等でこのデモプロジェクトが温度センサで結構機能豊富なものであることがわかりました。
そこで、このデモプロジェクトに興味を持ち検証を行います。まず、以下に動作検証までを記します。

1.デモプロジェクトのダウンロード
 MSP430 LaunchPad のWebサイト(http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_%28MSP-EXP430G2%29_JP)からデモプロジェクトのファイル(slac435.zip)をダウンロードし解凍する。
2.デモプロジェクト開発
 1)CCSワークスペースフォルダを作成する。
 2)slac435.zipを解凍して得られる フォルダMSP-EXP430G2-Launchpadを1)のフォルダに移動する。
 3)CCSを起動し 1)のフォルダを指定する。
 ・Welcomeウインドを閉じる。
 4)デモプロジェクトを取り込む。
  ・Flie/Import => Import ダイアログボックス
   ①Selectで Import typeは General/Existing Project into Workspase を選択
   ②Imort Projectで Select root directory に フォルダMSP-EXP430G2-Launchpadを指定
 5)デモプロジェクトのビルドを試す。
  ・Project/Build Active Project を実行 =>成功
 6)MSP430にデモプログラムを書き込む。
  ・Target/Debug Active Project を実行 =>成功
  ・Target/Runを実行 => LaunchPadのLED1、LED2の交互点滅が始まる。

3.デモプログラムの動作
 1)LaunchPadの SW1(S1)を押すと、LED1,LED2の点滅がとまる。(消灯)
 2)LaunchPadの SW1(S1)を数度押すと、LED1がうす暗く点滅する。
 3)PCターミナルでLaunchPadにシリアル接続する。シリアル接続の設定はデフォルト
  シリアル接続 ”COM4:MSP Application UART(COM4)”
  ・MSP430 起動時/リセット時、PCターミナルは沈黙
  ・SW1(S1)を押すと、PCターミナルは文字化けを起こしながらカーソルが進む。

  一応の動作は確認できました。

4.Processingのインストール
    ※Processing:GUIに特化したプログラミング言語
 1)ProcessingのWebサイト(http://processing.org/)より processing-1.2.1.zip をダウンロードし、解凍する。
  Download Processing / ↓Windows
 2)解凍したファイル Processing.exe で Processingが起動する。


5.GUI source filesのダウンロード
 1) MSP430 LaunchPad のWebサイト(英文)で GUI source files (LaunchPad_Temp_GUI.zip)をダウンロードし、解凍する。
   ・LaunchPad はPCに接続、LED1,LED2が交互点滅した状態   
 2)解凍したファイル LaunchPad_Temp_GUI.pde を Processingで開き、RUN。
   ・Processing表示 Please,select the COM port that your LaunchPad is connected to,
[0] COM4
 3)ProcessingでEnterキー入力、LauchPadのSW1(S1)を押すと Processingは温度表示を始める。
   ・Processing表示 Current Temperature: 63°

   ・MSP430を指で触って暖めると 温度表示の上昇が確認できました。また温度によるLED1,LED2の輝度の変化も確認できました。