実習・Armマイコン内蔵ペリフェラルを活用するためのC++プログラミング

実習・Armマイコン内蔵ペリフェラルを活用するためのC++プログラミング
―― フリーのプログラム開発環境で学ぶマイコン内蔵ペリフェラルのC++によるプログラミング

  

【開催日】2022年1月25日(火) 10:00-17:00 1日コース
【セミナNo.】ES21-0146  【受講料】25,000円(税込)
【会場】東京・巣鴨 CQ出版社セミナ・ルーム [地図]
セミナ会場

 マイコンのプログラミングでやっかいな点の一つが,汎用入出力(GPIO)やタイマなどマイコンに内蔵されているペリフェラルのプログラミングである.このセミナでは,ビギナでも簡単に使えることで定評のあるMbed(注1)というプログラム開発環境を使う.Mbedでは内蔵ペリフェラルを使うため,C++から使えるライブラリ(以下,「Mbedライブラリ」)が充実しており,使いたいペリフェラルの内部構成などを知らなくても,ペリフェラルを使うプログラムを開発できる.一方で,Mbedライブラリは汎用性を重視しているため,小回りがきかないという問題点もある.
 一例を挙げれば,Mbedではタイマ割り込みを使うためのMbedライブラリが提供されているが,これを使ってステッピング・モータの回転速度を滑らかにコントロールするようなプログラムをうまく実現できない.その原因は,タイマ割り込みの時間間隔を変更しようとすると,タイマが再度初期化されることにある.
 そこでこのセミナでは,Mbedライブラリは使いつつ,ペリフェラルのレジスタに対する直接の書き込み/読み出しを併用して,Mbedライブラリのみを使ったプログラムを越えるようなプログラムを開発する手法について解説する.さらに,そのプログラムをライブラリにする際に,C++のクラスとして作る方法についても解説する.

(注1) Mbedとは,インストール不要で,ネットにつなげれば簡単にプログラムを開発できる統合開発環境のこと.

※ このセミナでは,事前にブレッド・ボード上に組み立てた教材を使います.そのため,電子回路組立の経験がない方でも参加できます.
※マイコン・ボード Nucleo-F446REにつきましては,弊社で予め準備した貸出用ボードを使用いたします.
※ ブレッド・ボード回路,講師作成のプログラム,およびセミナで作成したプログラムはお持ち帰り可能です.

1.マイコンを使うための第1歩
 ・セミナで使うマイコンの構成
 ・クラウド・ベースのプログラム開発環境Mbed
 ・「Lチカ」のプログラム
 ・MbedライブラリとC++とクラス
 ・printfとターミナル・ソフト
2.GPIO出力によるマルチカラーLEDの駆動回路とプログラミング
 ・GPIO出力部の電気的特性
 ・外付けマルチカラーLEDの点灯/消灯のプログラム
 ・GPIOのレジスタに対する直接の書き込み/読み出しの方法
3.GPIO入力回路とプログラミング
 ・GPIO入力部の電気的特性
 ・外付けスイッチを利用するプログラミング
4.シリアル・インターフェース(I2C)の使い方とセンサ,表示器のプログラミング
 ・I2C方式とSPI方式の比較
 ・MBED_ASSRTによるデバッグ
 ・I2C利用の温度センサのプログラミング
 ・I2C利用のLCDキャラクタ表示器のプログラミング
5.割込み処理とタイマのプログラミング
 ・割込み処理プログラミングの基礎
 ・割り込み処理で使うCMSIS(Arm社Cortex Mソフトウェア規格)の関数
 ・内蔵タイマを使うタイマ割込みのプログラミング
 ・割込み優先順位と多重割込み
6.タイマ割込みによるステッピング・モータ駆動
 ・動作中のタイマ周期の変更方法
 ・ステッピング・モータ駆動のプログラム
7.アナログ信号入出力のプログラミング
 ・A-D変換器を効率よく使うためのプログラミング
 ・Mbedライブラリを使わないMbedプログラミング
 ・ポーリング方式と割り込み方式のプログラミング
 ・高速(標本化間隔:1μs)A-D/D-A変換のプログラミング


●インターフェース回路を用いた実習のようすマイコン・ボードに接続したインターフェース回路
マイコン・ボードに接続したインターフェース回路
※ 写真をクリックすると拡大できます



●割込み処理とタイマのプログラミングの学習例マイコン内蔵タイマのカウントアップと他のレジスタとの関係を調べている様子
マイコン内蔵タイマのカウントアップと他のレジスタとの関係を調べている様子


●アナログ信号入出力のプログラミングの学習例標本化間隔を1<i>μ</i>sに設定してA-D変換器で標本化した100kHzの正弦波をそのままD-A変換器から出力している様子(オシロスコープは32回の平均を行うモードに設定)<br/>
標本化間隔を1μsに設定してA-D変換器で標本化した100kHzの正弦波をそのままD-A変換器から出力している様子(オシロスコープは32回の平均を行うモードに設定)
※ 画像をクリックすると拡大できます


●対象聴講者
・マイコンを使ってみたいが,ハードルが高いと思っている方.
・マイコンのペリフェラルを使うプログラムをC++で簡単に作りたいと思っている方.
・Mbedライブラリでは提供されていない機能を使って,ペリフェラルを使うプログラムを作りたい方.
・Mbedではペリフェラルを自由に使えないと思い,他のプログラム開発環境に乗り換えを検討している方.
・ペリフェラルを使う自作のライブラリをC++のクラスとして作りたい方.

●講演の目標
・マイコンの基本的なプログラムをつくれるようになること.
・ペリフェラルの機能の中で,Mbedライブラリでは直接サポートされていない機能を使えるようになること.
・Mbedライブラリではサポートされていないマイコン内蔵のペリフェラルを使えるようになること.(たとえば,Nucleo-F446は多数のタイマを内蔵しているがMbedライブラリは一部のタイマしか使っておらず,多くのタイマが遊んでいるので,それらを有効に使えるようになること.)
・ペリフェラルを使う自作のライブラリをC++のクラスとして作れるようになること.

●参考文献
・三上 直樹; Mbedを使った電子工作プログラミング,工学社,2020年.


【受講者が持参するもの】
・ 作成したプログラムなどを持ち帰るためのUSBメモリなど.

【講師】
三上 直樹 氏〔職業能力開発総合大学校 名誉教授 〕
 1977~1987年北大助手.1987~2017年職業能力開発総合大学校講師,助教授,教授.工学博士.「はじめて学ぶディジタルフィルタと高速フーリエ変換」などの書籍やインターフェース誌,トランジスタ技術誌の記事多数.ディジタル信号処理を専門とする.


参加申し込み

このセミナに参加する

Webからのお申し込み

  以下の「参加申し込み」ボタンをクリックしてください.参加申し込みフォームを開きます.

参加申し込み

FAXやE-mailでのお申し込み

  Webの参加申し込みフォーム以外の申し込み方法をご希望の方は こちらのページ をご確認ください.

このセミナのタグ情報
各タグをクリックすると,類似するセミナの一覧を表示します.

コース

 1日コース

カテゴリ

 回路・電子部品
 基板・ノイズ

シリーズ

 

特徴

 KIT付き
 実習

キーワード

 クラウド
 コンピュータ
 ソフトウェア
 ボード
 マイコン
 モータ
 開発環境
 開発手法
 研究開発
 電子工作

セミナ事務局からのお知らせ

・PDFファイルによるテキストの提供について(2021/8/20更新).

・新型コロナウイルス感染症対策について(2020/7/21更新).

・オンラインセミナを始めました(2020/5/21).

キャンセルの規定が変わりました(2020/2/21).