Special
» 2014年04月25日 00時00分 UPDATE

宮崎 仁のマイコン基礎の基礎:第19回 MSP430™ LaunchPadでキッチンタイマを作ろう 〜システム設計編〜

[PR/EDN Japan]
PR

 テキサス・インスツルメンツ(TI)のMSP430™ LaunchPadバリュー・ライン開発キットを用いて、実際のマイコンのハードウェア、ソフトウェアの開発方法を体験しながら学びます。今回は、スイッチ割り込みとタイマ割り込みを活用したシステムの事例として、キッチンタイマを設計します。

要求仕様を決めよう

 システム設計の第一歩は、作りたいものの仕様を決めることです。ここでは、最大100分の時間を10秒ステップで設定可能なキッチンタイマを作ってみましょう。

 最初にキッチンタイマの持つ機能、とくに表示機能や操作機能について、要求仕様を明確にします。技術面やコスト面を検討して、実現可能な仕様を定める必要があります。

photo 図1 要求仕様
表示機能としては、設定時間や残り時間を表示する4桁の7セグメントLED

 表示と、動作状態を知らせる1個のLED表示を用います。

 4桁の表示はxx分yy秒として、xxは00〜99、yyは00〜59とすれば、最大99分59秒まで表示可能になります。ただし、設定は10秒刻みで行うので、実際に使用する最大時間は99分50秒となります。本当は1桁増やして5桁表示にすれば良いのですが、ここでは簡単(低コスト)にするために4桁表示にしました。

 操作機能としては、スタート/ストップ、桁切替、数値設定の3つの押しボタンスイッチを用います。

 通常は設定時間が表示されていて、スタートボタンを押すとカウントダウンが始まります。カウントダウン中は1秒ごとに表示時間が減っていき、残り時間が0になるとお知らせLEDが点滅します。カウントダウン中にストップボタンを押すと一時停止して、スタートボタンを押すと再開します。

 設定時間は、桁切替ボタンと数値設定ボタンを使って、00分00秒〜99分50秒の範囲で10秒刻みで設定します。設定時間が00分00秒のときは、スタートボタンを押すとすぐにお知らせLEDを点滅します。カウントダウン中以外は、いつでも設定時間を変更できるものとします。

ハードウェア設計をしよう

 以上の要求仕様に基づいて、詳細設計を行います。まずハードウェア設計です。

photo 図2 ハードウェアの概要

 本連載の第14回で見たように、1桁の7セグメントLEDは7ビットのポート出力で駆動するので、4桁では28ビットが必要になります。MSP430™ LaunchPadバリュー・ライン開発キットの汎用I/Oはトータル16ビットなので、全然足りません。そこで、少ないポート数で多桁の表示ができるダイナミック点灯方式を用いることにします。

 ダイナミック点灯は、7ビットのポート出力を各桁が共用し、時間を区切って1桁ずつ順次点灯していく方式です。ここではD3、D2、D1、D0の4桁なので、4ビットのポート出力を桁選択用に使用します。7ビット+4ビット=11ビットのポート出力ですみ、28ビットは必要ありません。ここでは、ダイナミック点灯用4桁LED表示器をブレッドボードに実装しました。

 P1.1〜P1.7の7ビットをセグメントデータに割当て、P1.0はお知らせLEDに割り当てます。MSP430 LaunchPadターゲット基板ではP1.0に赤色LEDがつながっており、これをお知らせLEDに利用します。また、P2.0〜P2.3の4ビットを桁選択に割り当て、P2.4を数値設定ボタン、P2.5を桁選択ボタン、P2.6をスタート/ストップボタンに割り当てます。P2.7は未使用で、将来の拡張用に残してあります。

全体の動作は状態遷移図で考える

 マイコンを活用したシステムの多くは、操作スイッチで動作モードを選ぶと決められた動作を行い、一連の動作が終わるとまたモード選択に戻るという動作を繰り返します。このようなシステム動作は、状態遷移図を用いると分かりやすく表現できます。

photo 図3 全体の動作の概要

 このキッチンタイマの場合には、大別してアイドルモード、時間設定モード、カウントダウンモードの3つの動作モードがあります。

 電源をオンにするとアイドルモードになり、現在設定されている設定時間を表示します。

 アイドルモードで桁切替ボタンを押すと時間設定モードになり、数値設定ボタンで設定時間を変更できます。数値設定ボタンは1個しかないので、最初にD3(10分の桁)を設定したら桁切替ボタンを押してD2(1分の桁)に移動し、次に桁切替ボタンを押してD1(10秒の桁)に移動し、次に桁切替ボタンを押してアイドルモードに戻ります。そこで、今回は数値設定モードを最初からD3設定モード、D2設定モード、D1設定モードの3つのモードに分けて作ることにします。

 アイドルモードでスタート/ストップボタンを押すとカウントダウンモードになり、残り時間表示に変わります。1秒ごとに残り時間を1ずつ減らして、残り時間が0になったらお知らせLEDを点滅してからアイドルモードに戻ります。設定時間が00分00秒のときにスタート/ストップボタンを押すと、すでに残り時間は0なので、すぐにお知らせLEDを点滅します。このお知らせLEDの点滅の部分は、カウントダウンとは別にお知らせモードとして作ることにします。

 カウントダウン中にスタート/ストップボタンを押すと、カウントダウンを一時停止してアドルモードに戻ります。このとき残り時間を設定時間として保持していれば、もう一度スタート/ストップボタンを押すとカウントダウンを再開できます。

 以上のように、要求仕様を満たすようにモードと状態遷移を決めることができました。次回は、これをもとにソフトウェアの詳細設計を行い、実際に動作させてみます。


※MSP430はTexas Instruments Incorporatedの商標です。その他すべての商標および登録商標はそれぞれの所有者に帰属します。

MSP430™ LaunchPadバリュー・ライン開発キットはこちらから購入できます。
TIのマイコン製品の詳細はこちら


Copyright© 2017 ITmedia, Inc. All Rights Reserved.


提供:日本テキサス・インスツルメンツ株式会社
アイティメディア営業企画/制作:EDN Japan 編集部/掲載内容有効期限:2015年3月31日

設計に役立つヒント集

宮崎 仁のQ&Aでよく分かるマイコン基礎の基礎:
第24回 割り込みっていろいろあるのですか?どんな種類があるか教えてください。

今回は、外部割り込み、内部割り込み、ソフトウェア割り込みについて詳しく解説しています
全文を読む


電源IC選択のヒント集
電源IC 使用時の注意点をわかりやすく説明しているほか、使用時に発生する可能性のあるさまざまなトラブルとその対処法についても紹介しています。ぜひご利用ください。ダウンロードには myTI アカウントが必要です。
Part 1をダウンロード
Part 2をダウンロード


アナログ回路設計式一覧ポケット・ガイド
日本語版 PDF

英語版で高い評価を受けてきたポケット・ガイドの日本語版が完成しました。基板レベルやシステム・レベルの回路設計でよく使われるアナログ設計式を紹介しています。ダウンロードには myTI アカウントが必要です。
ダウンロード



facebook & twitter

製品情報、セミナーや展示会などのイベント情報をお知らせしています。

RSSフィード

EDN 海外ネットワーク

All material on this site Copyright © 2005 - 2017 ITmedia Inc. All rights reserved.
This site contains articles under license from UBM Electronics, a division of United Business Media LLC.