25個の機能をこの価格で。 MSP430の一風変わった使い方を紹介します!

Texas Instruments社 (以下、TI社) は「25個の機能が0.25ドル(25 Functions for 25 Cents)」と題してMSP430のバリューライン・シリーズを売り出しています。 このキャッチフレーズは一体どういう意味なのか、少し気になりますよね。MSP430のバリューライン・シリーズについて紹介をしつつ、このキャッチフレーズの意味を紐解いていきましょう。

MSP430のバリューライン・シリーズ

まず、MSP430のバリューライン・シリーズとは何なのか、というところから説明していきます。
MSP430のバリューライン・シリーズはMSP430の中でも低価格帯に位置付けられた製品シリーズです。たとえば、MSP430FR2000はウェブ価格で0.25ドル以下(※2020年11月現在。価格は時期や数量によって変動します。)と、MSP430シリーズの中でもかなり安い価格設定がされています。
バリューライン・シリーズは価格が安いぶん、メモリーのサイズはかなり小さくなっていますが、プログラム保存用の不揮発メモリーとしてFRAMを搭載しています。このFRAMは低い消費電力で動作することができますので、バッテリー駆動のアプリケーションなど、消費電力がキモとなるアプリケーションには最適です。
バリューライン・シリーズの特徴は低消費電力、低価格だけではありません。TI社から25種類のサンプル・コードが提供されており、これらに書き換えることで、多くの部品の機能をまかなうことができます。これが冒頭にあった「25個の機能」のことを指しています。

トータルで25種類のサンプル・コードを提供中

前述の通り、TI社からバリューライン・シリーズで実現できる25個の機能のサンプル・コードが全て無償で提供されています。
以下の表1がそのサンプル・コードの一覧です。
No. 名前
1 シングルワイヤコミュニケーションインターフェース
2 UARTからSPIへのブリッジ
3 UARTからUARTへのブリッジ
4 SPI IOエキスパンダ
5 UART付き、ソフトウェア制御のRGB LED調光
6 サーボモータ制御
7 ステッピングモータ制御
8 2出力、8ビットPWM DAC
9 アナログ入力信号からPWM出力を生成
10 EEPROMのエミュレーション
11 低消費電力で動作する16ボタンキーパッド
12 複数機能を持ったリセットコントローラ
13 直交エンコーダ位置カウンタ
14 シングルスロープのアナログ-デジタル変換テクニック
15 閾値検出機能付きADC (ウェイクアップ/読み値転送)
16 UARTインターフェースのヒステリシス機能付きコンパレータ
17 タンパー検出
18 プログラム可能なFLL (Frequency Locked Loop)
19 プログラム可能なクロックソース
20 バックアップメモリ付き外部RTC
21 プログラム可能なシステムウェイクアップコントローラ
22 プログラム可能な外部ウォッチドッグタイマ
23 シンプルなRTCベースのシステムウェイクアップコントローラ
24 7セグメントLED ストップウォッチ
25 タイムスタンプ付き電圧監視

表1. サンプル・コード一覧

「UARTからUARTへのブリッジ」やら、一風変わったサンプル・コードも用意されています。 この25個の中から3つピックアップして機能の紹介をしましょう。

ピックアップ1:EEPROMのエミュレーション

まず1つ目はEEPROMのエミュレーション機能です。
MSP430FR2000が搭載しているFRAMは不揮発性のメモリー、つまり、電源をオフにしても情報を保持し続けることが可能なメモリーです。そのため、このFRAMをEEPROMの代わりとして使用する事ができます。
TI社から提供されているこのサンプル・コードでは、4線式のSPIインターフェース(CLK、MOSI、MISO、CS)とWrite Protect (WP)で接続するEEPROMのように使用することができます。

図1. ホスト・プロセッサとの接続

例えば、アドレス0x0Fに0xCEB4というデータを書き込む場合、以下のような通信をすることでMSP430FR2000内蔵のFRAMにデータを保存することができます。書き込みコマンド番号(0x02)、書き込むアドレス (0x0F)、書き込むデータ (0xCE、0xB4)の順に並んでいます。

図2. EEPROM書き込みシーケンス

出典:Texas Instruments Inc. SLAA769アプリケーション・ノート

ピックアップ2:タンパー検出

2つ目はタンパー(tamper:改ざん)検出機能です。例えば、スマートメーターや電子錠など、筐体を不正に開けられては困るアプリケーションに対して使用することができます。
TI社から提供されているサンプル・コードでは、2本のIOを使用し、一方からクロック信号を出し続け、もう一方がそれを受けるという構成を取っています。ある一定周期毎に入力されるクロックのエッジ数をカウントし、想定されるカウント数かどうかで不正を検出する仕組みです。

図3. タンパー検出ハードウェア接続図

出典:Texas Instruments Inc. SLAA813アプリケーション・ノート

ピックアップ3:タイムスタンプ付き電圧監視

3つ目はタイムスタンプ付き電圧監視です。バッテリーやバス電力で動作するようなアプリケーションにおいて、電力ロスが発生した際にシステムの状態を保存する必要がある場合があります。タイムスタンプ付き電圧監視を使えばこの機能を実現することができるでしょう。
MSP430FR2000は前述の通り、FRAMを搭載しています。FRAMは不揮発性のメモリーですので、電源が切れる直前の状態まで保存する事が可能ですので、こういったシステム状態の保存といった使い方にはうってつけです。
TI社から提供されているサンプル・コードでは、内部のコンパレータを使用して電圧監視を行います。また、ホストとのインターフェースはUARTを使用し、RTCの時刻の初期設定や時刻の応答を行う構成となっています。

図4. 電圧監視ブロック図

まとめ

MSP430バリューライン・シリーズはTI社から25種類の機能を実現可能なサンプル・コードが提供されており、ソフトウェアを書き換えるだけで多くの機能に対応する事が可能です。また、ソースコードで提供されていますので、機能の修正や拡張を自由に行う事が可能です。
TI社からは評価ボードも提供されており、以下のターゲット開発ボードとエミュレーション・ツールを組み合わせる事でご評価することができます。

お問合せについて

本内容につきまして、ご質問・ご要望等ございましたら、お気軽に下記の弊社営業担当までご連絡頂けますと幸いです。