Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Yuji Chiya
424 views
知ってるようで知らない組み込みソフトウェアの世界
Engineering
◦
Read more
1
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 33
2
/ 33
3
/ 33
4
/ 33
5
/ 33
6
/ 33
7
/ 33
8
/ 33
9
/ 33
10
/ 33
11
/ 33
12
/ 33
13
/ 33
14
/ 33
15
/ 33
16
/ 33
17
/ 33
18
/ 33
19
/ 33
20
/ 33
21
/ 33
22
/ 33
23
/ 33
24
/ 33
25
/ 33
26
/ 33
27
/ 33
28
/ 33
29
/ 33
30
/ 33
31
/ 33
32
/ 33
33
/ 33
More Related Content
PDF
組み込み入門
by
Yuki Suga
PDF
配布用Raspberry pi+arduino+scratchでフィジカルコンピューティング体験!
by
Kazuhiro Abe
PDF
[Basic 7] OS の基本 / 割り込み / システム コール / メモリ管理
by
Yuto Takei
PDF
FPGAスタートアップ資料
by
marsee101
PDF
OSC 2012 Hokkaido でのプレゼン資料
by
Shin-ya Koga
PDF
Android が巨大すぎてお困りのあなたへ~組み込み Windows の今と、これから~
by
Shin-ya Koga
PDF
組み込み入門
by
Yuki Suga
PDF
Open design computer project
by
Ito Takahiro
組み込み入門
by
Yuki Suga
配布用Raspberry pi+arduino+scratchでフィジカルコンピューティング体験!
by
Kazuhiro Abe
[Basic 7] OS の基本 / 割り込み / システム コール / メモリ管理
by
Yuto Takei
FPGAスタートアップ資料
by
marsee101
OSC 2012 Hokkaido でのプレゼン資料
by
Shin-ya Koga
Android が巨大すぎてお困りのあなたへ~組み込み Windows の今と、これから~
by
Shin-ya Koga
組み込み入門
by
Yuki Suga
Open design computer project
by
Ito Takahiro
Similar to 知ってるようで知らない組み込みソフトウェアの世界
PDF
ソフトウェア技術者から見たFPGAの魅力と可能性
by
Kenichiro MITSUDA
PDF
ソフトウェアテストの歴史と近年の動向
by
Keizo Tatsumi
PDF
Introduction of FPGA
by
Imaoka Micihihiro
PPTX
2014 1018 OSC-Fall Tokyo NETMF
by
Atomu Hidaka
PPTX
Stellaris を使った組み込みアプリ開発ガイド
by
ryos36
PDF
ハードウェア脳とソフトウェア脳
by
Shinichiro Niiyama
PPTX
NW-DIY で開拓したい社会
by
啓章 加嶋
PDF
LED-Camp2「組込みシステム開発の勘所と実践」
by
Hideki Takase
PDF
さわってみようTOPPERS/SSP
by
NSaitoNmiri
PDF
ソフトウェア品質技術の歴史を振り返る - ソフトウェア品質測定を中心に -
by
Keizo Tatsumi
PDF
Reconf_201409
by
Takefumi MIYOSHI
PDF
PFI Seminar 2010/01/21
by
Preferred Networks
PDF
0章 Linuxカーネルを読む前に最低限知っておくべきこと
by
mao999
PPT
オブジェクト指向モデリング
by
takepu
PDF
Open design computer project(boost)
by
Ito Takahiro
PDF
.NET Micro Framework の基礎
by
Yoshitaka Seo
PDF
Io t,ai時代のソフトウェア
by
Toshiaki Kurokawa
KEY
Androidロボットサミットin名古屋
by
Kenichi Yoshida
PDF
Goudo m
by
harmonylab
PDF
時代のニーズに合わせた学習意欲を向上させるための実践的な組込みシステム教育教材の開発
by
Yuuki Kojima
ソフトウェア技術者から見たFPGAの魅力と可能性
by
Kenichiro MITSUDA
ソフトウェアテストの歴史と近年の動向
by
Keizo Tatsumi
Introduction of FPGA
by
Imaoka Micihihiro
2014 1018 OSC-Fall Tokyo NETMF
by
Atomu Hidaka
Stellaris を使った組み込みアプリ開発ガイド
by
ryos36
ハードウェア脳とソフトウェア脳
by
Shinichiro Niiyama
NW-DIY で開拓したい社会
by
啓章 加嶋
LED-Camp2「組込みシステム開発の勘所と実践」
by
Hideki Takase
さわってみようTOPPERS/SSP
by
NSaitoNmiri
ソフトウェア品質技術の歴史を振り返る - ソフトウェア品質測定を中心に -
by
Keizo Tatsumi
Reconf_201409
by
Takefumi MIYOSHI
PFI Seminar 2010/01/21
by
Preferred Networks
0章 Linuxカーネルを読む前に最低限知っておくべきこと
by
mao999
オブジェクト指向モデリング
by
takepu
Open design computer project(boost)
by
Ito Takahiro
.NET Micro Framework の基礎
by
Yoshitaka Seo
Io t,ai時代のソフトウェア
by
Toshiaki Kurokawa
Androidロボットサミットin名古屋
by
Kenichi Yoshida
Goudo m
by
harmonylab
時代のニーズに合わせた学習意欲を向上させるための実践的な組込みシステム教育教材の開発
by
Yuuki Kojima
知ってるようで知らない組み込みソフトウェアの世界
1.
知ってるようで知らない 組み込みソフトウェアの世界 高知組み込み会 #1 2019/6/28 千谷 1
2.
自己紹介 ● 千谷裕志 (Chiya
Yuji) ● 愛媛生まれ ● 高知工科大学卒 ● 組み込みツールベンダーで受託開発 ● 家庭用医療機器メーカー ● 防災用計測機器メーカー←いまここ よさこいはライフワーク 2
3.
アジェンダ ● ゴール: 組込みソフトウェア開発がどのように行われるかを知る ●
組込みソフトウェアとは ● ハードウェアの話 ● ソフトウェアの話 ● 開発するときの話 3
4.
● 組込みソフトウェアとは ● ハードウェアの話 ●
ソフトウェアの話 ● 開発するときの話 4
5.
組み込みソフトウェア “組み込み機器に搭載さ れて動作するソフトウェア のことで、組み込み機器 とは特定用途向けに特 化、限定した機能を果た すことを目的とした機器の こと” https://www.fsi-embedded.jp/e mbedded_news/what_is_embe dded/282/ 5 https://www.ipa.go.jp/files/000065944.pdf
6.
何がそんなに特別なのか ● ソフトウェア要因 ○ 不具合発生時に想定される被害が大きい(車や飛行機や医療機器) ○
出荷後のアップデートが大変(現地に行く OR 回収) ● 制限、制約が多い ○ 様々な使用環境を考慮する必要がある(温度、湿度、振動、経年劣化) ○ 内外から発生するノイズを考慮する必要がある(雷や IH、電子レンジ) ○ 動作周波数、メモリ(量産コストが気になる) ○ 時間(期待する時間以内に処理が完了しないと重大な問題がありうる) ○ 電力(電池で1年くらい動いてくれないと大変めんどくさい) 6
7.
● 組込みソフトウェアとは ● ハードウェアの話 ●
ソフトウェアの話 ● 開発するときの話 7
8.
主要なメーカー ● ARM ● ST
micro ● NXP ● TI ● microchip ● infeneon ● Renesas ● TOSHIBA ● LAPIS http://blog.knak.jp/2018/09/iot.html 8 https://pc.watch.impress.co.jp/docs/ column/semicon/316228.html
9.
ペリフェラル ● PLL ● GPIO ●
タイマー, カウンタ ● 割り込み ● ウォッチドッグ ● AD, DA ● UART, I2C, SPI, USB, Ethernet ● Video/Audio ● MMU, MPU ● DMA, DTC 9 http://akizukidenshi.com/download/ds/microchip/ atmega328.pdf
10.
レジスタ ● General Purpose
Register ○ 機械語はこの領域を使って計算する ○ どのレジスタを使うかはコンパイラ次第 ○ 関数の戻り値はだいたい R0 ● Status Register ○ 機械語の実行結果を保持する領域 ○ 桁あふれ、比較が一致、結果がマイナス、結果がゼロ ● Program Counter ○ 実行する機械語のアドレス ● Stack Pointer ○ 関数呼び出し時に汎用レジスタや戻り先を保持する領域 ● Special Function Register ○ ペリフェラルを制御するためのレジスタ 10http://akizukidenshi.com/download/ds/microchip/atmega328.pdf
11.
メモリマップドI/O ● ペリフェラルを制御するレジ スタもメモリ上に配置する ● ついでに言えばRAMと ROMもどこかのアドレスに 配置している ●
MPUが無いマイコンだと うっかり書き換えたりして暴 走する ● PCが変な値になっても暴走 する 11 https://www.aps-web.jp/academy/cm/19/
12.
e.g. UARTのレジスタ ● それぞれのペリフェラルごとに、機 能を実現するためのレジスタが用 意されている ●
設定用 ● 送受信用 ● ステータス取得用 12 http://www.picfun.com/f1/f04.html
13.
リセット ● POR(Power On
Reset) ● 外部リセット (リセットピンに信号入力) ● ウォッチドッグタイマ ● ソフトウェアリセット ● 低消費電力管理リセット 13 https://ednjapan.com/edn/articles/1906/28/news009.html
14.
ベクタテーブル ● 外部入力やタイマーなどの割り込み が成立すると特定アドレスの命令が 実行される ● SFRで割り込み有効にするかどうか を決めることができる ●
通常はここでJMPやCALLする ● スタックオーバーフローしたときは不 正命令例外がよくでる ● mail()の前はリセット割り込み 14 http://akizukidenshi.com/download/ds/microchip/atme ga328.pdf
15.
アセンブラ ● コアが異なると 機械語が異なる ● ARMは全部一 緒なのでコンパ イラ等は使い回 せるがペリフェラ ルは異なる ●
コンパイラのバ グはここで発生 https://www.researchgate.net/figure/Intel-vs-ARM-assembly-from-a-defcon-tal k_fig1_320952677 15
16.
電源 ● マイコンでよく使うのは3.3Vと5V ● 基本的に3.3Vの端子に5Vを入れると壊れる ○
例外的に高い電圧を入れても大丈夫なトレラントの端子もある ○ マイコンの絶対最大定格をよく見よう 超えると壊れる ○ レベル変換ICを使ったり抵抗で分圧したりする ● AC100VからDCに変換する手段 ○ 三端子レギュレータ ○ DCDCコンバーター ○ どちらも出力電流をよく見よう 超えると過熱して壊れる ● 突入電流 ○ 電源ONしたときに電流がたくさん流れる機器がある ○ 一時的に電圧が低下する場合がある 16
17.
回路 ● マイコン、IC、周辺部品等をどう繋ぐか示す図 を回路図という ● ハードウェア屋さんは各データシートのリファ レンス回路を見ながら回路図を書く ○
その後パターン設計 ○ 基板ができたら部品を手実装(量産時は外注) ● ファーム屋さんは基板と回路図を渡される ○ まずは電圧(ちゃんと出てるか安定してるか) ○ リセット信号が解除されてるか ○ デバッガの信号確認 ○ 各ペリフェラル(特に UART)信号確認 ○ センサー、ICとの接続確認 17 https://macrofab.com/blog/key-parts-of-an- arduino-how-to-integrate-the-arduino-platf orm-into-your-product/
18.
通信 ● UART ○ 機器間の通信やデバッグによく使う
RS-232Cとは電圧が異なるので MAX3232を使って変換する 場合が多い クロック精度によっては同期ずれる 1対1 遅い ~115.2kbpsあたり ● I2C ○ データ量の小さい時によく使う バス接続可 3bitのアドレスで区別 遅い ~1Mbps ● SPI ○ データ量が大きい時によく使う バス接続可 SS信号で区別 早い ~4Mbps ● USB ○ プロトコルスタックが大変なのでミドルウェアを買う ● Ethernet ○ プロトコルスタックが大変なのでミドルウェアを買う ○ 消費電流多いのであまり使いたくない 18
19.
センサー ● あらゆるセンサーの計測値は電圧に変換される ● 温度センサ ○
例えば 温度低い=電圧低い 温度高い =電圧高い ● 気圧センサ ○ 同じ ● 電流センサ ○ 測定用抵抗両端の電圧を測る(電流 =電圧/抵抗) ● 電圧を計測するのはADC ○ まずはペリフェラルを検討する ○ 仕様を満たせないなら外付け ADCをI2Cなどで使う ○ 電圧から物理量への変換までしてほしいときはセンサモジュールを使う 19
20.
● 組込みソフトウェアとは ● ハードウェアの話 ●
ソフトウェアの話 ● 開発するときの話 20
21.
開発環境 ● マイコン毎にコンパイラ、IDEが異なる ● デバッグ、ダウンロードにも専用機材が必要 ●
ARMは沢山選べてありがたい https://www.uctec.com/2013/11/527/ https://www.renesas.com/jp/ja/products/software-tools/tool s/ide/e2studio.html 21
22.
リアルタイムOS(RTOS) ● リアルタイム≠即時 ● 最低応答時間が保証されている ●
タスクという単位でプログラムを実行する ● タスク間通信はOSの提供する関数で行う ○ μITORNの場合 ○ イベントフラグ(set_flg, wai_flg) ○ メッセージボックス(snd_mbx, rcv_mbx) ○ セマフォ(sig_sem, wai_sem) ○ 等 ● μITORN, T-Kernel, ThreadX, FreeRTOS, VxWorks ● 機能とコストによってはOSを使用しない場合もある 22 http://www.mispo.co.jp/products/NORTi/Pro/
23.
ミドルウェア ● OSには最低限の機能しかない ○ ファイルシステム ○
TCP/IP ○ USB Host, Device ○ GUI ○ 等 ● 目的に合わせてミドルウェアを用意する ● 数十万~数百万 https://www.cente.jp/product/cente-middle/filesystem/filesystem/ 23
24.
最適化とプリプロセッサ ● 最適化するときはvolatile修飾子必須 ○ 最適化かけるとデバッガで追いにくいので開発時は最適化
OFF ● コンパイラの独自拡張が多い ○ 以下のようなものが多い ● SFRにアクセスするためのマクロ ○ P4.3 = 1 のように使える ● #pragma inline ○ 対象関数をcallではなく呼び出し元に展開する ● #pragma interrupt ○ 対象関数を割り込みベクタに指定する 24
25.
ポーリングと割り込み ● ポーリングはwhile(1)でずっと待つ ● 割り込みは割り込みベクターでイベント発生時だけ動く ●
プログラム実行時間は消費電流に直結するのでポーリングは避けたい 25 https://www.renesas.com/jp/ja/support/techn ical-resources/engineer-school/mcu-progra mming-peripherals-04-interrupts.html
26.
● 組込みソフトウェアとは ● ハードウェアの話 ●
ソフトウェアの話 ● 開発するときの話 26
27.
機能とコスト ● 動作周波数, RAM,
ROM ○ いずれも大きいマイコンは高価 ● 高価マイコンのほうが高機能 ○ 破壊したときのショックも大きい ● (余談)FPGAのお値段は桁違い 27 周波数 RAM ROM 単価 調達 RL78 (R5F100L EAFB) 32MHz 4KB 64KB ¥290 価格 MOQ 長期供給 急な調達 支払条件 サポート RX621 (R5F56218 BDFP) 100MH z 96KB 512KB ¥950 http://akizukidenshi.com/catalog/g/gI-06146/ http://akizukidenshi.com/catalog/g/gI-04713/ https://www.marutsu.co.jp/GoodsListNavi.jsp?category=190004&ids=0&page=1&perpage=5 0&shopNo=3&sort_order=expensive_order
28.
制限、制約 ● 消費電力 ○ 屋外では商用電源を確保するのが難しい ○
ソーラーパネルはコストもかかるし日照が必要 ○ 電池に頼らざるを得ない場合も多いけど交換が手間 ● 時間 ○ 期待した時間内に動作しないと人命に影響を与える機器もある ○ ATM、電力、乗り物、医療機器 ● 耐水性 ○ 水没、結露しても動作しなければならない機器もある ● マイコンメーカーはCのコンパイラしか提供しない ○ C++がある場合もあるが 28
29.
信頼性 ● 温度 ○ エンジンECUは100℃を超える ○
ソーラーパネルのために日向に設置すると温度が上がる ○ 温度が上がると膨張し、下がると縮小するので繰り返すと破損する ○ 寒冷地では氷点下になる ○ コンデンサや電池は極端な温度に弱い ○ センサーも温度によって特性が変わる ● 振動 ○ 車や工作機械は振動しっぱなし ● EMC ○ ノイズを受けても誤動作しないこと ○ 機器からノイズも出さないこと 29http://www.jasa.or.jp/TOP/offer/automotive/
30.
開発工程 ハード ファーム 第3者認証 ハードの不具合や遅れはファー ムで解決を求められる 30 ハードに問題が見つかっても 基板の修正には1~2ヶ月 そこそこ動く状態にして引き渡し、 規格によるが試験期間は数ヶ月 基板ができるまでは評価 ボードで開発を進める
31.
デバッグ ● 不具合箇所を特定するのが手間 ○ IC、マイコン ○
回路 ○ 電気信号 ● 用途に応じた測定器を使う ○ マルチメータ ○ オシロスコープ ○ ロジック・アナライザ ○ プロトコル・アナライザ ● 電気試験 ○ 雷サージ ○ 静電気 ○ 恒温槽 ○ EMC 31
32.
まとめ ● 組み込みは物理的な制約に振り回される ● プアな環境で頑張るしか無い場合もある ●
謎の不具合に悩まされる事もある ● 自分の関わった製品が世界中で役に立つと嬉しい 32
33.
身近なマイコン ● ドリームキャストはSH4 ● パチンコのマイコンな国家公安委員会の規則がある 33 https://elaws.e-gov.go.jp/search/elawsSearch/elaws_search/lsg0500/detail?lawId=3 60M50400000004_20190401_430M60400000010&openerCode=1
Download