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の輝度の変化も確認できました。

2011年2月28日月曜日

TI MSP430開発メモ


昨日、ルネサス エレクトロニクスより、ルネサスRX62Nプロモーションボードプレゼントキャンペーン「落選」のメールが届きました。
恒例のCQ出版Interface誌付属基板の下調べ用に、密かに期待していたのですが、残念な結果になりました。
さて、気を取り直して
同誌5月号の発売までの暇つぶしとして しばらくの間 昨年購入した、テキサス・インスツルメンツ MSP430 LaunchPad および、MSP430の使い勝手を試してみたいと思います。

まず、

以下に、開発環境の整備について書き留めます。

1.MSP430 LaunchPad バリュー・ライン開発キット
 ・MSP430 LaunchPad開発ボード本体
 ・MSP430(Flush 2K RAM 128B MSP430G2231:ADC,SPI,I2C、MSP430G2211:-,-,-)
 ・10 ピン コネクタ(オス x 2、メス x 2)
 ・水晶発振子 32.768kHz ・・・ 他

2.ソフトウェア・デバッガとコンパイラをダウンロード
 1)My.TI アカウント登録
  ・TEXAS INSTRUMENTS ホームページ => my.TIログイン => 新規登録
 2)Quick Start Guide記載の http://www.ti.com/launchpadwikiにアクセス
   (日本語サイトへ移動 「MSP430 LaunchPad (MSP-EXP430G2) JP」)
 3)Code Composer Studio (CCS)を ダウンロード
  ・Code Composer Studio (CCS)」 今すぐダウンロード (TI へのログインが必要)」をクリック
  ・U.S. Government export approval(米国輸出承認)ページでプロフィールを入力
   (Webサイトは N/A を入力 以前はブログのURLを入力)
   =>「I CERTIFY ALL THE ABOVE IS TRUE:」で Yes 選択 「Submit」ボタンをクリック
  ・TI Softwareページ  「Download」ボタンをクリック
  ・メール「TI SOFTWARE DOWNLOAD: APPROVED - setup_CCS_MC_Core.zip」が届く
  ・同メールのリンクをクリック=>setup_CCS_MC_Core.zipをダウンロード(保存)
  ・setup_CCS_MC_Core.zipを解凍する。
  ・解凍されたファイルのうち setup_CCS_MC_Core_4.2.1.00004を起動
 4)Code Composer Studio (CCS)をセットアップ
  ・Choose Installation Locationはデフォルトのまま
  ・Product Configurationで MSP430-only Core Toolsを選択
 5)Code Composer Studio (CCS)を起動
  ・すべてのプログラム/Texas Instruments/Code Composer Studio v4 Core Editionで起動確認

2.サンプルコードの入手
 ・Code Composer Studio (CCS)のダウンロードを開始したWebサイト 「MSP430 LaunchPad (MSP-EXP430G2) JP」の MSP430G2xx サンプル・コードを全てダウンロード クリック
 ・ファイル slac080i.zipをダウンロード、解凍

3.MSP430ワークスペース、プロジェクトの作成
 1)ワークスペースの作成
  ・Code Composer Studio (CCS) 起動後のWorkspace Launcher で 「Browse...」をクリック
  ・Select Workspace Directoryで ワークスペースを置くディレクトリを選び 「新しいフォルダの作成」でワークスペースを作成する。
   ※ワークスペースの新規作成時に、Welcome to Code Composer Studio v4 ウインドウが表示される。
     [Getting Start][Examples][What's New & Updates][Device Information]の画面展開がある。
 2)プロジェクトの作成 MSP430G2231用
  ・File/New/CCS Project =>[New CCS Project]が表示
  ・CCS Project でプロジェクト名を入力する。
  ・Select a type of project で MSP430を選択(今回はそのまま)
  ・Project Setting で
    Device Variant: MSP430Gxxx Family MSP430G2231
  ・Project Templates で Empty Projectを選び 「Finish」ボタンをクリック
 3)プログラムソースの追加
  ・プロジェクトを選択した状態で右クリック New/Source File で ソースファイルを作成する。ファイル名は main.c にしました。
  ・main.cをにプログラムをコーディングする。
 4)プロジェクトのビルド 
  ・Project / Build Active Project

4.MSP430への書き込み
  ・Target / Debug Active Projectで書き込む
  ・Target / Load Program... で書き込む の2つの手法で書き込める。
    Debug/プロジェクト名.out Release/プロジェクト名.outを指定
    ※Debug中 Load Program は失敗する。Target / Resetを実行する必要がある。
    ※Debug、Releaseの切り替えは Project / Active Build Configration で行う。
    ※Targetのプルダウンメニューに Load Program.. の表示がない場合がある。一旦 Debug Active Project を行うと、メニューに Load Programが復帰表示される。
     (Releaseでビルドしたのに、Debug Active Project を行うことには若干の矛盾を感じます。)

5.MSP430搭載ボードの作成
  LaunchPad開発ボードで書き込んだMSP430を動作させるために、ユニバーサル基板に3端子レギュレーターを使用した電源回路、表示用に3LED、操作用に3タクトスイッチを搭載した、簡単なボードを作成しました。
  このボード用テストプログラムとして、スイッチや、タイマの割り込みでカウンタのカウントUPをし、その値を3つのLED で表現するプログラムを作成しました。

最近 MSP430G2xxバリュー・シリーズに新たに20ピンのMCUが加わりました。早速 MSP430G2452(20PDIP) をDigiKeyで発注しましたが現在在庫なしで納期未定です。届き次第、「Hello World」のキャラクタLCD表示に挑戦したいと思います。