マイコンのシステム制御について
マイコンの割り込み処理とは
通常のプログラムの動作中に、緊急に処理しなければならなかったり、ある時間までに処理を終えなければならなかったりすることがあります。この場合に、実行しているプログラムを一時中断して他のプログラムを実行することを割り込み処理と言います。
割り込み処理には、大きくソフトウェア割り込みとハードウェア割り込みがあります。まず前者のソフトウェア割り込みとは、例えば、実行中のプログラムがオーバーフローや0除算などのエラーを起こしたり、書き込み禁止メモリ領域へ書き込もうとしたりした場合など、実行中のソフトウェアが原因となって発生します。
一方のハードウェア割り込みとは、例えば、キーボードのキーを押すなど周辺機からのデータ入力が発生した際に、割り込み要求端子の電圧をHIからLOWにしてアサートすることで、実行中のCPU命令実行が中断され、入力処理ルーチンの実行処理が割り込まれるなど、実行中のハードウェアが原因となって発生します。
割り込み処理のポイント
●全割り込み禁止/許可の落とし穴
割り込み禁止/許可は細心の注意が必要です。
関数コールと割り込み許可/禁止の関係で、思わぬ不具合が発生することがあります。割り込みを禁止した後に、関数コールをしてコールされた関数内で割り込み禁止と割り込み許可があると本来、割り込み禁止状態を継続しておきたい箇所で割り込み許可になってしまうという意図しない動作になってしまいます。
●割り込み内でのポート入力には注意が必要
信号の立上りエッジまたは立下りエッジで割り込みを発生させ、ノイズ対策等の目的で割り込み処理内で信号のレベルを再度確認する場合、
①CPU内、割り込みポートの入力回路構成
②割り込みの処理タイミング
により、割り込み処理が実行されない可能性があるため、注意する必要があります。
CPUによっては、割り込み要因はシュミットトリガー回路を通して処理され、ポート読み取りはシュミットトリガー回路は通さずに値を読み取ることになります。
立ち上がりの遅い信号や、ノイズがのりやすい信号の場合では、割り込み内でポートを読み取ったときに割り込みを発生したときと High/Lowのレベルが異なる可能性があります。
●変数の参照と割り込み処理の落とし穴
ロング長(32ビット/4バイト)の変数を読み取るときに、マイコンによっては 1命令で読み取れるものと、16ビットずつ 2命令で読み取るものとがあります。
具体例: ルネサス H8マイコンは 1命令、 ルネサス RL78マイコンは 2命令
2命令で読み取るマイコンの場合、注意しないと意図しない不具合が発生することがあります。
●割り込み処理時間は出来るだけ短時間に
割り込み周期に対して、割り込み処理時間が半分以下になるようにします。上記が無理な場合でも、割り込み処理時間は割り込みの周期を超えてはいけません。処理が終わっていないのに次の割り込みタイミングになると、割り込み以外の処理ができずシステムとして破綻してしまいます。
●割り込みの優先順位と多重割り込み
割り込み周期が短い場合や、割り込み処理が遅れると制御対象に影響がある場合は割り込みの優先順位を上げて、多重割り込みを検討します。多重割り込みを許可していない場合は、割り込みの処理途中に 異なる割り込みが発生しても、先行する割り込みの処理が終わるまで割り込みは待たされてしまいます。
組み込みソフトウェアでお困りの方は、当社にお任せください。
組み込み機器 受託開発・生産センターを運営する株式会社サンエスは、組み込みソフトウェアの受託開発を行っています。また、当社は回路設計・組み込みソフトウェアの知見を持つエンジニアが在籍し、ハードウェアとソフトウェアの両面から総合的な設計を行うことで、要求仕様と要求動作を満たす最適なシステムを実現します。マイコン設計開発の豊富な経験があります。お気軽にお問い合わせください。
技術情報・技術コラム
![ダンピング抵抗とは 設置のポイント | 組み込み機器 受託開発・生産センター.com](https://suns-seigyo.com/wp-content/uploads/2024/08/pixta_91318847_M.jpg)
- 電子回路設計
- 組み込みハードウェア
- マイコン制御
ダンピング抵抗とは 設置のポイント
![マイコンのシステム制御について | 組み込み機器 受託開発・生産センター.com](https://suns-seigyo.com/wp-content/uploads/2024/07/pixta_67039239_M.jpg)
- 電子回路設計
- 組み込みハードウェア
- マイコン制御
マイコンのシステム制御について
![電子回路設計の注意点 | 組み込み機器 受託開発・生産センター.com](https://suns-seigyo.com/wp-content/uploads/2024/07/pixta_74742662_M.jpg)
- 電子回路設計
- 組み込みハードウェア
- マイコン制御
電子回路設計の注意点
基板実装とは、プリント基板に電子部品をはんだ付けして接続し、電子回路として機能させるプロセスです。製作したプリント基板には、はんだ付けされていない配線だけが配置されており、これに各種電子部品を取り付けることで、電子回路を完成させます…
![基板実装の流れに関して解説! | 組み込み機器 受託開発・生産センター.com](https://suns-seigyo.com/wp-content/uploads/2024/06/pixta_74293141_M.jpg)
- 基板実装
基板実装の流れに関して解説!
基板実装とは、プリント基板に電子部品をはんだ付けして接続し、電子回路として機能させるプロセスです。製作したプリント基板には、はんだ付けされていない配線だけが配置されており、これに各種電子部品を取り付けることで、電子回路を完成させます…
![電子回路設計とは?回路設計委託先を選定するポイントも紹介! | 組み込み機器 受託開発・生産センター.com](https://suns-seigyo.com/wp-content/uploads/2024/04/pixta_35168440_M.jpg)
- 電子回路設計
- 組み込みソフトウェア
- 組み込みハードウェア
電子回路設計とは?回路設計委託先を選定するポイントも紹介!
電子回路設計とは、電子デバイスや回路を設計し、それらを組み合わせて電子機器の機能や性能を実現するプロセスです。回路設計では、センサーやマイコンなどの様々な電子部品を選定し、回路図や部品表を作成します。実際に基板上にある部品の種類や値、接続方法などを考えて作業します…
![マイコンって何?組み込み開発とマイコン | 組み込み機器 受託開発・生産センター.com](https://suns-seigyo.com/wp-content/uploads/2024/04/pixta_79511581_M.jpg)
- 組み込みハードウェア
- マイコン制御
マイコンって何?組み込み開発とマイコン
マイコンとは電気機器を制御するための小さなコンピュータで、マイクロコントローラやMCU(Micro Controller Unit)、マイクロコンピュータとも呼ばれています。マイコンは、電子レンジや冷蔵庫、掃除機などの家電製品やロボットや産業機器、自動車など、ほとんどの電子機器に組み込まれています…
![組み込みソフトウェアにおけるC言語の重要性 | 組み込み機器 受託開発・生産センター.com](https://suns-seigyo.com/wp-content/uploads/2024/04/pixta_79271458_M.jpg)
- 組み込みハードウェア
組み込みソフトウェアにおけるC言語の重要性
組み込みソフトウェアとは、電子機器や組み込みシステムに搭載されて動作するソフトウェアのことを指します。組み込み機器は限られた用途・目的を果たすものであるため、組み込みソフトウェアの機能も限られます…
![組み込みLinuxとは? | 組み込み機器 受託開発・生産センター.com](https://suns-seigyo.com/wp-content/uploads/2024/02/a6ab10a6b1fd6aaa55d39c672294d526.jpg)
- マイコン制御
組み込みLinuxとは?
Linuxとは、現在フリーソフトウェアとして公開されているOSで、誰でも無料で入手することができます。元々パソコン向けソフトウェアとして開発されましたが、組み込み機器の高機能化に伴い、その汎用性の高さが注目され、現在ではテレビやスマートフォン、産業機械の組み込みシステムを構築する際にも使われるようになりました。
![組み込みソフトウェアの開発プロセスと開発環境 | 組み込み機器 受託開発・生産センター.com](https://suns-seigyo.com/wp-content/uploads/2024/03/22923625.jpg)
- 組み込みソフトウェア
組み込みソフトウェアの開発プロセスと開発環境
組み込みソフトウェア開発は、一般的なソフトウェア開発と比べて下記の特徴がございます。組み込みソフトウェア開発では、特定のハードウェア上で動作するため、ハードウェアの仕様や動作に合わせた開発が必要です。また、組み込みソフトウェアは家電製品や自動車などのリアルタイムシステムで使用されることが多いため、時間的な制約の中で動作する必要があり、リアルタイム性が要求されます。
![RoHS指令に対応した鉛フリーはんだとは? | 組み込み機器 受託開発・生産センター.com](https://suns-seigyo.com/wp-content/uploads/2023/09/ems-point2.jpg)
- 基板実装