マイコンのシステム制御について
マイコンの割り込み処理とは
通常のプログラムの動作中に、緊急に処理しなければならなかったり、ある時間までに処理を終えなければならなかったりすることがあります。この場合に、実行しているプログラムを一時中断して他のプログラムを実行することを割り込み処理と言います。
割り込み処理には、大きくソフトウェア割り込みとハードウェア割り込みがあります。まず前者のソフトウェア割り込みとは、例えば、実行中のプログラムがオーバーフローや0除算などのエラーを起こしたり、書き込み禁止メモリ領域へ書き込もうとしたりした場合など、実行中のソフトウェアが原因となって発生します。
一方のハードウェア割り込みとは、例えば、キーボードのキーを押すなど周辺機からのデータ入力が発生した際に、割り込み要求端子の電圧をHIからLOWにしてアサートすることで、実行中のCPU命令実行が中断され、入力処理ルーチンの実行処理が割り込まれるなど、実行中のハードウェアが原因となって発生します。
割り込み処理のポイント
●全割り込み禁止/許可の落とし穴
割り込み禁止/許可は細心の注意が必要です。
関数コールと割り込み許可/禁止の関係で、思わぬ不具合が発生することがあります。割り込みを禁止した後に、関数コールをしてコールされた関数内で割り込み禁止と割り込み許可があると本来、割り込み禁止状態を継続しておきたい箇所で割り込み許可になってしまうという意図しない動作になってしまいます。
●割り込み内でのポート入力には注意が必要
信号の立上りエッジまたは立下りエッジで割り込みを発生させ、ノイズ対策等の目的で割り込み処理内で信号のレベルを再度確認する場合、
①CPU内、割り込みポートの入力回路構成
②割り込みの処理タイミング
により、割り込み処理が実行されない可能性があるため、注意する必要があります。
CPUによっては、割り込み要因はシュミットトリガー回路を通して処理され、ポート読み取りはシュミットトリガー回路は通さずに値を読み取ることになります。
立ち上がりの遅い信号や、ノイズがのりやすい信号の場合では、割り込み内でポートを読み取ったときに割り込みを発生したときと High/Lowのレベルが異なる可能性があります。
●変数の参照と割り込み処理の落とし穴
ロング長(32ビット/4バイト)の変数を読み取るときに、マイコンによっては 1命令で読み取れるものと、16ビットずつ 2命令で読み取るものとがあります。
具体例: ルネサス H8マイコンは 1命令、 ルネサス RL78マイコンは 2命令
2命令で読み取るマイコンの場合、注意しないと意図しない不具合が発生することがあります。
●割り込み処理時間は出来るだけ短時間に
割り込み周期に対して、割り込み処理時間が半分以下になるようにします。上記が無理な場合でも、割り込み処理時間は割り込みの周期を超えてはいけません。処理が終わっていないのに次の割り込みタイミングになると、割り込み以外の処理ができずシステムとして破綻してしまいます。
●割り込みの優先順位と多重割り込み
割り込み周期が短い場合や、割り込み処理が遅れると制御対象に影響がある場合は割り込みの優先順位を上げて、多重割り込みを検討します。多重割り込みを許可していない場合は、割り込みの処理途中に 異なる割り込みが発生しても、先行する割り込みの処理が終わるまで割り込みは待たされてしまいます。
組み込みソフトウェアでお困りの方は、当社にお任せください。
組み込み機器 受託開発・生産センターを運営する株式会社サンエスは、組み込みソフトウェアの受託開発を行っています。また、当社は回路設計・組み込みソフトウェアの知見を持つエンジニアが在籍し、ハードウェアとソフトウェアの両面から総合的な設計を行うことで、要求仕様と要求動作を満たす最適なシステムを実現します。マイコン設計開発の豊富な経験があります。お気軽にお問い合わせください。


技術情報・技術コラム

- メカ設計
ねじ締結設計の基本 緩み防止と再組立性を考慮した設計術
製品の信頼性を支える要素のひとつが「ねじ締結設計」です。振動や温度変化がある環境では、ねじの緩みが不具合の原因となることも少なくありません・・・

- 電子回路設計
ノイズに強い電源ライン設計 アナログとデジタルの分離レイアウトのコツ
制御基板において、電源ラインの設計は動作安定性を左右する重要な要素です。特にアナログ回路とデジタル回路が混在する基板では、スイッチングノイズや電流変動が信号品質に影響を与え、誤動作や測定精度低下の原因となります・・・

- 組み込みソフトウェア
状態遷移設計が長寿命ソフトを生む
組込みソフトウェアは、出荷後も長期間にわたり現場で動き続けることが前提です。そのため、単に「動く」だけでなく「壊れにくい」「拡張しやすい」「解析しやすい」構造であることが求められます・・・

- メカ設計
機構と基板を融合させる「メカ・エレ融合設計」の現場実例
製品の小型化・高密度化が進む中で、従来の「メカ設計(筐体・機構)」と「エレ設計(電気・基板)」を分業で進める開発手法には限界が見えつつあります。限られた筐体スペースの中で 制御基板、センサ、コネクタ、ケーブル、モータ、放熱構造などを最適に配置するには・・・

- 電子回路設計
高電流駆動基板の放熱設計とレイアウトの工夫
モータやヒータ、ソレノイドなどを制御する高電流駆動基板では、設計上の重要課題として「発熱対策」と「レイアウト設計」が挙げられます。電流が大きくなるほど 配線損失による温度上昇や素子の熱劣化が発生しやすくなります・・・

- 組み込みソフトウェア
テストしやすいファームウェア構造とは
組込みソフトウェア開発において 動作検証(テスト工程)の効率と精度は製品品質に直結します。特に 制御機器や産業用装置、医療機器などではファームウェアの不具合が製品全体の信頼性を左右するため開発段階から「テストしやすい構造」を意識することが不可欠です・・・

- メカ設計
構造・熱・振動を考慮した信頼性設計 長期安定計の工夫
製品の信頼性を確保するうえで、構造・熱・振動は避けて通れない設計課題です。いずれも目に見えにくい要素であるため 開発初期の段階から考慮するかどうかが長期安定性を大きく左右します・・・

- 組み込みソフトウェア
- 組み込みハードウェア
通信回路における信頼性向上 – UART・CAN・BLEの最適化事例
近年の組込み機器では システム間やデバイス間の通信がますます重要になっています。複合機やFA機器、スマートキー、医療装置など、どの分野でも複数のマイコンやセンサー無線モジュールが連携しながら動作しています・・・

- 組み込みソフトウェア
- 組み込みハードウェア
センサー信号処理の工夫 – デジタルフィルタとキャリブレーション設計
組込み機器の多くは 温度・圧力・角度・光・加速度など、
さまざまなセンサーからのアナログ信号を基に制御を行っています。
しかしセンサー信号には「ノイズ」「ドリフト」「感度誤差」など、不安定要素が常につきまといます。
これらをそのまま制御演算に取り込むと、誤動作や制御ずれが発生する要因となります。
そのため、センサー信号をいかに“正しく・安定して”扱うかが制御開発の品質を左右します・・・

- メカ設計
軸部品設計における強度解析と加工精度の考え方
モータやギア、プーリ、カムといった回転体を支える「軸部品(シャフト)」は、
機器の動作精度と耐久性を左右する重要部品です。
制御機構、搬送装置、複写機など、あらゆる分野の駆動系に用いられており
わずかな歪みや偏心が振動・騒音・摩耗を引き起こす原因となります。
設計では 強度解析に基づいた安全率の設定と、
加工・組立段階での精度管理をいかに両立させるかが最大のポイントです・・・


