■ 研修対象 | エンベデッド開発初心者〜開発経験3年未満。ただし、C言語でのプログラミング経験があること。 |
■ 研修期間 | 10日間 |
■ 研修目標 | エンベデッドソフトウエアの基本である、CPU、割り込み、周辺ハードウエアからの入出力と、開発環境のセットアップ方法を学習し、PID制御のプログラムを作成する。 また、検証ツールを使用して目標性能と信頼性の確認までを、ケーススタディを通して体験する。 |
日程 | テーマ | 項目 | 内容 | 目的・キーワード | 成果物等 |
1日目 | コンピュータシステム 概論 |
CPUと周辺チップ | CPUの動作 バスアーキテクチャ 割り込み処理と割り込みコントローラ タイマー |
マシンサイクル、フェッチサイクル、エクスキュートサイクル、パイプライン、キャッシュ、分岐予測、バスと競合 | LED点灯プログラム (アセンブラ) |
2日目 | データの入出力 | アナログ信号の入出力 パルス信号の入出力 ポートを使った入出力 シリアル通信 |
DAC(デジタルアナログコントローラ)、PWMとキャプチャ、コンペアタイマ、ポートとチャタリング、ロック検知、システムのシャットダウン、ポンピングとウォッチドックタイマエラー検出の方法、ハード資源の排他制御 | FAN制御プログラム (オープンループ) |
|
3日目 | OS | リアルタイムOSの構造と機能 | カーネル、スケジューラー、プライオリティー、ステータスとは | 課題「通信デバイスの開発」のシーケンス図とOSファンクション設定一覧 | |
4日目 | 開発環境 | 開発環境の選び方 コンパイラ デバッカ ICE(インサーキットイミュレータ) CPUの選定方法 ROMライター シミュレータ |
ワンチップマイコンの種類、コンパイル環境とライブラリ、ICE、シミュレータによる実行状況の可視化 | ||
5日目 | プログラム概論 | 割り込みベクターと ハンドラ |
ソフトの起動要因とプライオリティー コンテクスト切り替え |
割り込みコントローラ、ベクターテーブル、スタック、PUSH、POP | アーキテクチャクラス図 |
6日目 | 機能レジスタと ビット構造体 |
CPU内蔵機能の設定方法 C言語によるビットアクセス |
アドレス定義、マスクデータ | ||
7日目 | 実装演習 | プログラミング | スケジューラ 割り込みドライバ(優先順位の決定) デバイスドライバ作成 |
ハードウエアの仕様を読み解きドライバーを作成 | アーキテクチャ(フレームワーク)プログラム |
8日目 | 入出力処理 メインタスク作成 フィルタリングの方法 |
A/D値、インプットキャプチャのタイマー値、アウトプットコンペアのタイマー値を単位を持った値へ変換する、信号値のノイズのフィルタリング | A/Dコンバータ・PWM・インプットキャプチャ・シリアル通信のドライバープログラム | ||
9日目 | 制御ロジック組み込み | 制御対象の状況を検出し、それに応じたモードへの切り替え | PID制御プログラム | ||
10日目 | 制御ロジック組み込み チューニングと制御性能の確認 |
タスク実行時間、タスク、割り込み優先順位の妥当性 | 制御結果成績報告書 |
このページのトップへ |
© 2000-2010 Education Engineering Laboratory, Inc. All Rights Reserved. |