多くの組み込み機器で求められるリアルタイム性とは?
リアルタイム性とは?
組み込みシステムはハードウェアとソフトウェアが一体となって構成されており、その先にはセンサーやモーター、通信回線などが接続されていて、それら全ての動作がタイミングをピッタリ合わせて動作する必要があります。そこで重要なのがリアルタイム性です。リアルタイム性とは、要求される期限までに処理が実行できる性質のことです。例えば、自動車を運転する際にブレーキを踏んで、何も変化しないまま時間が経過すると人間は恐怖を覚えます。これにすぐにブレーキがかかれば、人間は安心を手に入れることが出来ます。このような一連の処理を時間制約の仕様以内に済ませることをリアルタイム性と呼びます。またリアルタイム性を実現する機能を持つOSをRTOS(Real-Time Operating System)と呼びます。RTOSは制約のある処理を実施するための予測性能を持つことから、適切な時間内に適切な処理を完了させられるように組み込まれており、敏速なスケジューリングや中断処理、タスク管理などの機能を備えていることが前提となります。
リアルタイム処理の種類
リアルタイム性は大きく分けて、時間に対して厳密な処理を実施できる「ハードリアルタイム」と、時間の遅延が許容される処理を実施できる「ソフトリアルタイム」の2種類があります。
①ハードリアルタイム
ハードリアルタイムとは、定められた期限内に所定の処理を確実に完了させる処理のことを指します。わかりやすい例の一つにペースメーカーがあります。心臓を動かすタイミングを誤ることや心臓を動かす回数を増減させることは致命的な事故を引き起こす可能性があります。このような用途では、汎用OSの場合は確実な処理が保証されません。RTOSは、時間の制約を考慮した上で組み込まれ、特定のハードウェアやアプリケーションへの最適化を目指し、信頼性の高いシステムの組込みに使用します。
②ソフトリアルタイム
ソフトリアルタイムとは、処理が期限内に完了できなくてもシステムがダウンすることなく、そして処理が間に合わなかったとしてもある程度許容できる処理のことを指します。わかりやすい例の一つにATMがあります。出金のために操作した後にお金が出来るだけ早く出てきた方が快適ですが、ある程度遅くても許容できます。ソフトリアルタイムはこのように期限内に処理が実行されなくても許容できる処理ですが、ソフトリアルタイム処理を用いているシステムの品質が低下したり、機能の効果が低下したりする可能性があります。
RTOSの3つの特徴
RTOSは様々な特徴を持ち、あらゆる業界などの幅広い分野において、高度なリアルタイム処理を実現しています。
①高パフォーマンス
敏速で応答性に秀でており、汎用OSより短時間でアクションを実施できる点がポイントです。リアルタイム処理に最適化されたアーキテクチャにより、アクションが実施されるまでの時間を最小限に抑えられます。複数のタスクを同時に処理することをマルチプログラミングと呼び、この並行動作の環境を作ることができるのが、RTOSの特徴のひとつです。
②優先度によるスケジューリング
リアルタイム性が要求される環境では、優先度が高いタスクがいつ発生するかを予測することは困難です。そこで、優先度の高いタスクが発生したら、それまで実行していたタスクを保留して、優先度の高いタスクを先に処理するようにスケジューリングする機能がRTOS にあります。この機能により、最も優先度が高いタスクをいちばんに処理することが可能となります。
③スモールフットプリント
リアルタイムで処理を実施するためのOSであり、小規模なものでも安定して稼働するように組み込まれています。また、リアルタイムOSは、タスクの幅が限定されるため、使用するメモリなどの資源が小さくてすむメリットがあります。小さなコードサイズにより、ハードウェア資源の節約を促すことから、省電力性も優秀です。
組み込み機器の開発なら、当社にお任せください。
組み込み機器 受託開発・生産センターを運営する株式会社サンエスは、組み込みソフトウェアの受託開発を行っています。また、当社は回路設計・組み込みソフトウェアの知見を持つエンジニアが在籍し、ハードウェア・ソフトウェア双方から全体設計を行うことで、要求仕様・要求動作を実現するための最適な設計を行います。もちろん、組み込みソフトウェアのみの開発も可能です。お気軽にお問い合わせください。
技術情報・技術コラム
- 電子回路設計
- 組み込みハードウェア
- マイコン制御
ダンピング抵抗とは 設置のポイント
- 電子回路設計
- 組み込みハードウェア
- マイコン制御
マイコンのシステム制御について
- 電子回路設計
- 組み込みハードウェア
- マイコン制御
電子回路設計の注意点
基板実装とは、プリント基板に電子部品をはんだ付けして接続し、電子回路として機能させるプロセスです。製作したプリント基板には、はんだ付けされていない配線だけが配置されており、これに各種電子部品を取り付けることで、電子回路を完成させます…
- 基板実装
基板実装の流れに関して解説!
基板実装とは、プリント基板に電子部品をはんだ付けして接続し、電子回路として機能させるプロセスです。製作したプリント基板には、はんだ付けされていない配線だけが配置されており、これに各種電子部品を取り付けることで、電子回路を完成させます…
- 電子回路設計
- 組み込みソフトウェア
- 組み込みハードウェア
電子回路設計とは?回路設計委託先を選定するポイントも紹介!
電子回路設計とは、電子デバイスや回路を設計し、それらを組み合わせて電子機器の機能や性能を実現するプロセスです。回路設計では、センサーやマイコンなどの様々な電子部品を選定し、回路図や部品表を作成します。実際に基板上にある部品の種類や値、接続方法などを考えて作業します…
- 組み込みハードウェア
- マイコン制御
マイコンって何?組み込み開発とマイコン
マイコンとは電気機器を制御するための小さなコンピュータで、マイクロコントローラやMCU(Micro Controller Unit)、マイクロコンピュータとも呼ばれています。マイコンは、電子レンジや冷蔵庫、掃除機などの家電製品やロボットや産業機器、自動車など、ほとんどの電子機器に組み込まれています…
- 組み込みハードウェア
組み込みソフトウェアにおけるC言語の重要性
組み込みソフトウェアとは、電子機器や組み込みシステムに搭載されて動作するソフトウェアのことを指します。組み込み機器は限られた用途・目的を果たすものであるため、組み込みソフトウェアの機能も限られます…
- マイコン制御
組み込みLinuxとは?
Linuxとは、現在フリーソフトウェアとして公開されているOSで、誰でも無料で入手することができます。元々パソコン向けソフトウェアとして開発されましたが、組み込み機器の高機能化に伴い、その汎用性の高さが注目され、現在ではテレビやスマートフォン、産業機械の組み込みシステムを構築する際にも使われるようになりました。
- 組み込みソフトウェア
組み込みソフトウェアの開発プロセスと開発環境
組み込みソフトウェア開発は、一般的なソフトウェア開発と比べて下記の特徴がございます。組み込みソフトウェア開発では、特定のハードウェア上で動作するため、ハードウェアの仕様や動作に合わせた開発が必要です。また、組み込みソフトウェアは家電製品や自動車などのリアルタイムシステムで使用されることが多いため、時間的な制約の中で動作する必要があり、リアルタイム性が要求されます。
- 基板実装