目次
1. 組み込みシステムとは?(概要)
- 読み方
- くみこみしすてむ
- 英語
- embedded system(エンベデッドシステム)
「特定の機能を実現するためのコンピュータシステム」
のことで、エンベデッドシステム (embedded system) とも呼ばれます。
「専用のハードウェア + (利用者が交換できない)専用のソフトウェア」から成る「専用機器」、とのことですが・・・なんだかイメージできないですよね。
例えば、身近にある組み込みシステムとしては
- 携帯電話
- カメラ
- 自動車
- 炊飯器
- プリンタ
- ロボット掃除機
- テレビ
などがあります。
「特定の用途に特化した専用機器」、というイメージが沸きますでしょうか。自動車だと「人を運ぶ(移動する)」、炊飯器だと「お米を炊く」のように、どれも限られた機能をもった機器ですよね。
それに対してパソコンは、ソフトウェアを入れ替えることで様々な用途で利用できる「汎用機器」になります。
例を挙げてみますと、パソコンは
- Webブラウズ
- ゲーム
- 文字の入力
- 表計算
- プログラミング
- メール
- データの蓄積
- テレビ
のような複数の目的で利用できる機器です。
今もまさに、パソコンを使って「Webブラウザから検索したり」「イラストレータで画像を制作したり」「メールでやり取りをしたり」など数種類の用途で利用しています。
「周りにあるパソコン以外の電子機器は、ほとんど組み込みシステム」だと考えると分かりやすいかもしれませんね※。
でも、びっくりするくらい普段の生活で使っている必需品ばかりなんだね。
それから、スマホは「組み込みシステム(専用機器)」だけど・・・現在はかなり進化していて汎用機器に近くなってきているわね。
2. どうやって誕生したの?(歴史)
組み込みシステムの歴史について、簡単に説明します。
組み込みシステムはもともと、生活の中で「不便だな」と感じるものを「便利に」するために生まれた、ひとつの目的を果たすための専用機器でした。
やりたい事(要求)が増える中で、“進化”と“多機能化”を続けてきた、そうです。
そのスケールは年々複雑になり、巨大化しています。
具体的にみていきましょう。
【洗濯機】を例として説明します。
2-1. 洗濯機で考える、組み込みシステムの進化
- ■初期の洗濯機
スイッチを入れたり切ったりする、シンプルな構造でした。
(※2層式洗濯機も、「洗濯用」「脱水用」の2つ回路を用意しただけ) - ■現代(全自動)の洗濯機
「洗浄」「すすぎ」「脱水」「乾燥」といった複数の工程を自動化しています。
複雑な工程を自動化するため、「CPU」が採用されるようになりました。
これが組み込みシステムの始まりです!
2-2. 年代別まとめ
- ▼ 1970年代
-
世界初のマイクロプロセッサ(現在で言うマイコン、マイクロコンピューター)『Intel4004』が誕生
→『嶋正利』という日本人が開発に深く関係(インテル社、1971年)
→4ビット、電卓用 - ▼ 1980年代
- マイクロプロセッサが発達したことで、家電製品にも組み込みシステムが使われるようになる
- ▼ 1990年代
-
PC・インターネットなど「情報インフラ」が普及したことで、マイクロプロセッサが低コスト化
↓
機器のネットワーク化・デジタル化が急速に進展 - ▼ 2000年以降
-
さらに複雑で高機能なものが求められ、あらゆるモノがインターネットに接続される、IoT(Internet of Things)※の時代へ
※IoT(モノのインターネット)とは?
今までインターネットに接続されていなかった機器やモノをインターネットに接続して情報を共有化する技術のことです。
例えば、「メニューを提案してくれる電子レンジ」や「離れた場所からでもスマホで電源をつけたり消したりできるエアコン」などのインターネット家電が有名ですね。
マイクロプロセッサという人間で例えると「脳みそ」にあたるものが進化してくれたおかげで、今のような組み込みシステムが実現しているのね。
3. 組み込みシステム5つの特徴
5要素があります。
- 3-1. サイズ、ハードウェアリソース、コストなどの制約
-
最初に考えなければいけないのが【サイズ】【形状】です。
商品によっては、小さいサイズで動作しないといけないものがあるのでそのサイズに合わせた回路基板や部品実装が必要となります。
そのため、汎用のハードウェアを使えない場合は【独自のハードウェア】で構成します。
また、商品によっては『サイズ感』が商品の価値の決め手になることもあります。そして、そのサイズに合わせてソフトウェアの容量もできるだけ抑える必要があります。
さらに、量産される機器の場合は「コスト削減」を考えなければいけません。
▼
まとめますと、制約の厳しさは製品・分野によって異なりますが
・必要な機能を実現しながら
・できるだけ小さく、軽く、少ないリソースで
・対費用を考えて
最適化することが組み込みシステムには求められる、というとになります。 - 3-2. リアルタイム性
-
組み込みシステムでは「必要な処理を定められた時間内に完了する」ことが大切です。
ある条件に達したら瞬時に起動・停止する、事象の発生を速やかに検知するなど、高いリアルタイム性が求められます。
例えば、自動車を例に挙げると、ハンドル操作した場合、即時で応答しないと危険で乗れませんよね。
扇風機だと、電源をONにして動くまでに時間がかかってしまうようでは誰も使いません。
このように製品によって要件は異なりますが、応答時間が重要なポイントになるのです。
- 3-3. 高い信頼性
-
組み込みシステムでは「信頼性」も大変重要です。
特に、自動車のような誤動作・異常などのトラブルによる影響が大きく、人の安全に関わる商品はより高い信頼性が必要になります。
例えば、家電などが「自主回収」されているのを目にしたことはありませんか?組み込みソフトウェアの更新はユーザには不可能な場合が多いため、ソフトウェアに重大な問題があった場合は回収などの措置を取ることとなってしまいます。
大きな損害とならないように誤動作の発生を防止したり、誤動作が発生したときの影響を最小限に抑える対策を事前に検討するなど、「信頼性」や「安全性」は組み込みシステムにおいて、重要なシステム要件のひとつになります。 - 3-4. 言語
-
組み込み系で使われる言語は、「C言語」が多くそのほかには「C++」、「C#」、「Java」、「アセンブラ」、「Microsoft Visual Basic」、「Microsoft Visual C++」などがあります。
パソコンのソフトウェア開発と同じように、用途に合わせて選ばれます。 - 3-5. 外部からのアタック
-
IoTが普及するにつれて、サイバー攻撃の懸念があります。
IoT機器のセキュリティが弱い点をついて、例えば「離れた場所からでも子供やペットがいる室内の様子を確認できるカメラ」が不正に乗っ取られたという報道を目にしたことはありませんか?
このようにIoT機器は、「セキュリティの強化」が重要な課題となってきているのです。
商品として成立するために
「★すぐに応答すること」と
「★信頼性」が
必須で、
「☆サイズ」
「☆形状」
「☆価格」を
最適化できるように考えて開発しないといけない、ということがよく分かったよ!
4. 日本システムデザイン(株)と組み込み
弊社はその両方の技術があり、さらにメカ(筐体:きょうたい)部分※も自作できることが強みです。
※ロボットでいうと外側のケースにあたる部分
元々、創業時から在籍する麥田(代表)と井谷(元 技術統括)は「マイクロマウス」の世界的な技術者でした。マイクロマウスは、組み込みエンジニアに要求される要素すべてがギュッと凝縮されているとも言えるんです。
「マイクロマウス」界をトップで走った技術をもとに30年以上、様々な現場を助けるための組み込みシステムを作ってきました。
そして、これからも。組み込みシステム技術の発展に貢献することで、日本の活性化につながるように努力してまいります。
「少量生産の組み込み開発」をしてきた会社なんだよ。
スーツでいえば、大量生産される規格ものではなく“オーダーメイドで仕立てる、サイズがぴったりの高級スーツ”のようなものだね!
きっと今でも40年以上マイクロマウス大会が続いているのは、シンプルだけど組み込みエンジニアの教育にちょうど良い!という理由なのかもしれないわね。
※エディタ・コンパイラ・デバッガなどをまとめたもので、開発者の負担を少なくすることができる。本来Linux上で動くgccコンパイラをWindows上で使えるように開発。
◆ ◆ 代表・麥田が考える「組み込みシステムと姿勢」 ◆ ◆
– さいごにWeb管理人より –
組み込みのソースコードは短い。だからといって簡単なわけではない。
組み込みシステム。
そのソースコード自体は短いそうです。
例えば印刷すれば「A4サイズ2枚」の中で収まる長さだとしても、だからと言って「簡単ではない」とのことでした。
その理由は、実際動かしてみないと分からない「見えない要素」があるから。
制御できない外部からの見えない要素。
これが「組み込みシステム」には「PC上で動くシステム」より圧倒的に多いんだそうです。
ソースだけ追いかけてもダメ、現象を見ないと。
そして、何か問題が起こった時に「机上でソースだけを追いかけていてはダメ」で。
実際に何が起こっているのか、“モノ(現象)を見て” それから原因を追究しないと始まらないとのことです。
オリジナルの開発環境を自作し、データを可視化できるように。
代表・麥田は自らが作ったコンパイルもできる統合環境でデバッグしています。
例えばデータをグラフ化していたり簡単な操作でコマンド実行して確認できるような環境を自作しており、そこも「日本システムデザイン独自の強み」なんです。
『手間はかかるんだけれど、本当の効率化になるんだよ。』
その環境を作るのには手間がかかるため一般的にはやらないそうですが、それによって見つかりにくい原因を特定できたりするそうです。
通常はやらないような手間をかけることで、最終的にはスピーディーに問題解決できたり品質を高めることができるのですね。
代表・麥田から出てくる言葉を聞いていて、“プライドを持ったお客様に還元できる丁寧な仕事” だと感じました。
お問い合わせはこちら
マイクロマウスとは
↓ ↓ ↓
自律型ロボットの用語解説へ >
組み込みシステムと関係のある【モノのインターネット】についても解説!
↓ ↓ ↓
IoTの用語解説へ >
組み込みシステムと関係のある【マイコン(CPU)】についても解説!
↓ ↓ ↓
マイコンの用語解説へ >
■藤弘哲也『これだけ!組み込みシステム』秀和システム、2015年