目次
第1章 SAMファミリの概要
- 1-1 SAMファミリとは
- 1-2 ARMアーキテクチャの種類と特徴
- 1-3 SAMファミリの種類と特徴
第2章 SAM D21ファミリのアーキテクチャ
- 2-1 SAM D21ファミリの特徴
- 2-1-1 SAM D21ファミリの特徴
- 2-1-2 SAM D21ファミリのデバイスの種類
- 2-2 全体構成とバスマトリクス
- 2-2-1 全体構成
- 2-2-2 プロセッサコア部
- 2-2-3 バスマトリクス(Bus Matrix)
- 2-3 メモリ構成と書き込みインターフェース
- 2-3-1 メモリ構成
- 2-3-2 書き込みインターフェース
- 2-4 電源供給方法
- 2-5 クロックシステムとSYSCTRL
- 2-5-1 クロックシステム
- 2-5-2 PM(Power Manager)
- 2-5-3 SYSCTRL(System Controller)
- 2-5-4 動作クロック周波数
- 2-6 割り込みシステム
- 2-6-1 ベクタ割り込み
- 2-6-2 割り込み優先順位
- 2-7 WDT
- 2-8 DMAモジュール
- 2-8-1 DMAモジュールの概要
- 2-8-2 DMAモジュールの内部構成と動作
- 2-8-3 データ転送方法
- 2-8-4 DMAデスクリプタ
- 2-9 入出力ピン(GPIO)の構成
- 2-9-1 入出力ピンとは
- 2-9-2 入出力モジュールの内部構成
- 2-10 イベントシステム
- 2-10-1 イベントシステム(EVSYS)とは
- 2-10-2 イベントシステムの内部構成と設定
- 2-11 周辺モジュールとピン割り付け
第3章 トレーニングボードの製作
- 3-1 トレーニングボードの全体構成と仕様
- 3-1-1 全体構成
- 3-1-2 トレーニングボードの仕様
- 3-2 主要部品の概要
- 3-2-1 キャラクタ液晶表示器の概要
- 3-2-2 カラーグラフィック液晶表示器の概要
- 3-2-3 日本語フォントIC の概要
- 3-2-4 複合センサ
- 3-2-5 マイクロSDカード
- 3-2-6 Wi-Fi モジュール
- 3-3 回路設計組み立て
- 3-3-1 回路設計
- 3-3-2 部品表
- 3-3-3 組み立て
第4章 プログラム開発環境とインストール方法
- 4-1 プログラム開発環境概要
- 4-1-1 基本のプログラム開発環境
- 4-1-2 開発用ソフトウェアの概要
- 4-2 MPLAB X IDEとMPLAB XC32の入手とインストール
- 4-2-1 ファイルのダウンロード
- 4-2-2 MPLAB X IDEのインストール
- 4-2-3 MPLAB XC32コンパイラのインストール
- 4-2-4 MPLAB X IDEの外観
- 4-3 MPLAB Harmony v3のインストール
- 4-3-1 MPLAB HarmonyとMPLAB Harmony Configurator 3の関係
- 4-3-2 MHCのインストール
- 4-3-3 Harmony v3本体のダウンロード
第5章 MHCを使ったプログラム開発方法
- 5-1 Harmonyを使ったプログラムの構成
- 5-1-1 基本のプログラム構成
- 5-1-2 RTOSを使った場合の構成
- 5-2 例題プログラムの機能
- 5-3 MPLAB X IDEによるプロジェクトの作成
- 5-3-1 MPLAB X IDEでプロジェクトの作成
- 5-3-2 Harmony v3の更新手順
- 5-3-3 既存プロジェクトの開き方
- 5-3-4 プロジェクトの終了の仕方
- 5-4 MHCによる周辺モジュールの設定
- 5-4-1 クロックの設定
- 5-4-2 タイマTC3の設定
- 5-4-3 ADコンバータの設定
- 5-4-4 SERCOM3の設定
- 5-4-5 GPIOの設定
- 5-4-6 コード生成
- 5-5 ユーザーアプリ部の作成
- 5-5-1 ユーザーアプリ部の作成
- 5-5-2 コンパイルと書き込み
- 5-6 PICkit 4 による実機デバッグ
- 5-6-1 デバッグの開始
- 5-6-2 デバッグオプション機能
- 5-6-3 デバッグ時のナビゲーション機能
第6章 周辺モジュールの使い方
- 6-1 入出力ピン(GPIO)と外部割り込み(EIC)の使い方
- 6-1-1 MHCによる入出力ピンの使い方
- 6-1-2 例題による入出力ピンの使い方
- 6-1-3 グループ制御の使い方
- 6-1-4 外部割り込み(EIC)の構成と設定項目
- 6-1-5 例題による外部割り込み(EIC)の使い方
- 6-2 タイマ(TCx)の使い方
- 6-2-1 TCxタイマの特徴
- 6-2-2 タイマ/カウンタモードの構成と設定項目
- 6-2-3 例題によるタイマモードの使い方
- 6-2-4 コンペアモードの構成と設定項目
- 6-2-5 例題によるコンペアモードの使い方
- 6-2-6 キャプチャモードの構成と設定項目
- 6-3 制御用タイマ(TCCx)の使い方
- 6-3-1 制御用タイマ(TCCx)の特徴
- 6-3-2 TCCxの内部構成と設定項目
- 6-3-3 パルス出力モードの詳細
- 6-3-4 設定項目と生成される関数
- 6-3-5 例題によるTCCxの使い方
- 6-4 RTCの使い方
- 6-4-1 RTCの概要
- 6-4-2 32ビットタイマモードの構成と設定項目
- 6-4-3 16ビットタイマモードの構成と設定項目
- 6-4-4 例題によるRTCカウンタモードの使い方
- 6-4-5 クロックカレンダモードの構成と設定項目
- 6-4-6 例題によるRTCクロックカレンダモードの使い方
- 6-5 SERCOMの機能と特徴
- 6-5-1 SERCOMの機能と特徴
- 6-5-2 SERCOMのピン割り付け
- 6-6 SERCOM USARTの使い方
- 6-6-1 内部構成と設定
- 6-6-2 自動生成される関数の使い方
- 6-6-3 例題によるSERCOM USARTの使い方
- 6-7 SERCOM I2Cの使い方
- 6-7-1 SERCOMのI2Cモードの機能と特徴
- 6-7-2 I2Cマスタモード時の内部構成と設定項目
- 6-7-3 例題によるI2Cの使い方
- 6-8 SERCOM SPIの使い方
- 6-8-1 SERCOMのSPI モードの機能と特徴
- 6-8-2 SPI マスタモードの内部構成と設定項目
- 6-8-3 例題によるSPI の使い方
- 6-9 ADコンバータの使い方
- 6-9-1 ADコンバータの概要
- 6-9-2 ADコンバータの内部構成と設定項目
- 6-9-3 例題によるADコンバータの使い方
- 6-10 アナログコンパレータの使い方
- 6-10-1 アナログコンパレータの概要
- 6-10-2 アナログコンパレータの内部構成と設定項目
- 6-11 DAコンバータの使い方
- 6-11-1 DAコンバータの概要
- 6-11-2 DAコンバータの内部構成と設定項目
- 6-11-3 例題によるDAコンバータの使い方
- 6-12 DMAとイベントの使い方
- 6-12-1 Direct Memory Access(DMA)とイベント
- 6-12-2 例題によるDMAとイベントの使い方
- 6-12-3 例題によるDMAのリンク転送の使い方
第7章 ミドルウェアとドライバの使い方
- 7-1 ミドルウェアとドライバ
- 7-1-1 ミドルウェアの種類
- 7-1-2 Harmonyのパッケージ
- 7-1-3 ドライバの種類と構成
- 7-2 Timeライブラリの使い方
- 7-2-1 Timeライブラリとは
- 7-2-2 タイマサービス用API関数
- 7-2-3 例題によるTIMEライブラリの使い方
- 7-3 ファイルシステムの使い方
- 7-3-1 ファイルシステムの概要
- 7-3-2 提供されるAPI関数の使い方
- 7-3-3 例題によるファイルシステムの使い方
- 7-4 USBライブラリの使い方(CDCスレーブ)
- 7-4-1 USB(Universal Serial Bus)ライブラリの概要
- 7-4-2 例題によるCDCデバイスクラスの使い方
- 7-5 USBライブラリの使い方(MSDホスト)
- 7-5-1 例題によるUSBホストライブラリの使い方
第8章 実際の製作例
- 8-1 データロガーの製作
- 8-1-1 データロガーの全体構成と仕様
- 8-1-2 プログラムの製作
- 8-1-3 動作確認
- 8-2 IoT センサの製作
- 8-2-1 IFTTTと製作する機能仕様
- 8-2-2 IFTTTのアプレットの作成
- 8-2-3 プログラムの製作
- 8-2-4 動作確認
- 8-3 充電マネージャの製作
- 8-3-1 充電マネージャの全体構成と仕様
- 8-3-2 充電制御ICの概要
- 8-3-3 回路設計
- 8-3-4 基板製作
- 8-3-5 基板単体のテスト
- 8-3-6 プログラムの製作
- 8-3-7 動作確認
- 8-4 蛍光表示管時計の製作
- 8-4-1 蛍光表示管時計の全体構成と仕様
- 8-4-2 蛍光表示管とは
- 8-4-3 回路設計
- 8-4-4 基板製作
- 8-4-5 基板単体のテスト
- 8-4-6 プログラムの製作
- 8-4-7 動作確認