Your SlideShare is downloading. ×
次世代I/Oインターフェイス「Eject-io」
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

次世代I/Oインターフェイス「Eject-io」

1,318
views

Published on

Eject-io …

Eject-io
2013/12/26にささみ勉強会にて紹介

Published in: Technology

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,318
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
5
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 次世代 I/Oインターフェイスの提案 2013/12/26 ささみの会 Takeshi HASEGAWA (Twitter: @hasegaw) v  本資料中の解説内容は、所属組織における 統一的な見解を示すものではありません。
  • 2. プロフィール 長谷川 猛 (HASEGAWA Takeshi) twitter: @hasegaw 主にLinuxや仮想化技術を得意とする雑食系SE Xen/KVMを調査、FreeBSD virtioを実装等  興味範囲:仮想化、ストレージ もんはんしようず ゚+.(・ω・)゚+.゚ 2
  • 3. おもな著書・寄稿 3
  • 4. Webサイトの記事など エンジニアなら知っておきたい仮想マシンのしくみ http://gihyo.jp/dev/serial/01/vm_work/ 4
  • 5. これまでのI/O •  I/Oポート (8ビット)、割り込み、MMIO o  コンピュータの複雑化にともない簡単なポートI/Oがしづらくなった •  Serial, GPIO •  Eject o  簡単 5
  • 6. 6http://www.raspberrypi.org/archives/4824 Ejectコマンドはいまや 非常に有名なIO手段となった
  • 7. どうしてEjectなのか •  電子機器部品の知識なくモノを動かせる •  ハンダ付け不要 •  お子様ですら “DIY” 可能 •  いまどき CD-ROM ドライブのドライバがないOSなんてない o  Eject 最強ってことですね 7
  • 8. Ejectの課題 •  ジャンクCD-ROMは安く手に入る(100円∼)が、 しかしシステムへの接続にはインターフェイスが必要 E.g.) USB-ATA アダプタ •  電力供給。5インチのCD-ROMドライブは12V必要 •  CD-ROMドライブをヘルメットの上に載せるには重すぎる o  傍目からみておかしい 8
  • 9. 本来の部分に立ち戻る •  CD-ROMをIOインターフェイスとして使うなんて! •  まるでHDDのディスク部分をそのままフラッシュに置き換えた 「SSD」的な発想じゃないか! •  これでLEDつけたりリモコンのボタン押すならそもそも ON/OFFできるI/Oインターフェイスがあればいいよね 9
  • 10. 時は満ちた •  「誰かが Eject を再定義する必要があったーー」 •  よし作ろう 10
  • 11. 11 Eject-io
  • 12. なぜEject-ioなのか •  PICで実装されたシンプルなEjectデバイス •  USBマスストレージクラス準拠 o  特殊なドライバなく制御可能 •  ON/OFFの出力が可能 o  Ejectコマンドで出力 •  エンドユーザの手にわたってもフィールドリプログラム可能な ファームウエア o  後からの機能拡張やハックが可能、子供のマイコントレーニングにも •  世界で最も低消費電力な eject 対応デバイス 12
  • 13. Eject-io 13
  • 14. Eject-ioにより軽量化された変態ヘルメット 14
  • 15. 15 Eject-io の作り方
  • 16. 買い物 •  PIC18F25J50 o  選定理由 o  USB対応、メインメモリ3KB以上 (マスストレージのサンプルが約2KB) o  ブレットボードで使えるICタイプ o  5.0Vだとよかったけど3.3Vタイプで妥協 •  東芝製三端子レギュレータ o  USBバスパワー 5.0V を 3.3V にできればなんでもない •  USB端子、コンデンサ、LED、抵抗などは手持ちのもので適当に •  ROMライター(PICKit2 とか PICKit3 とか色々ある) •  ブレットボードなど o  ブレットボード、ジャンパなど 16
  • 17. 17
  • 18. 18
  • 19. 19
  • 20. 組み立てた 20
  • 21. USBサンプルをロードする 21http://www.microchip.com/stellent/idcplg? IdcService=SS_GET_PAGE&nodeId=2680&dDocName=en547784
  • 22. サンプルをビルド •  USBDevice – Mass Storage – Internal Flash サンプルを MPLAB Xでビルドする •  ビルドする時に最低限やらないといけないこと o  ターゲットになるデバイスの設定 22
  • 23. ファームウェアのカスタマイズ 23
  • 24. 24
  • 25. USBの仕様が知りたい 25http://usb.org/
  • 26. USBの仕様が知りたい 26
  • 27. プロトコルの解析 •  USBPCap + Wireshark o  Windows 上でUSBパケットキャプチャできる •  VMware o  デバッグオプションを .vmx に直書きすると USB のログがとれる o  VMware ログの仕様上1KB/s以上出力されると出力が止まるので注意 27
  • 28. USBPcap 28
  • 29. USBPcapでキャプチャしたログをWiresharkで見る 29http://desowin.org/usbpcap/tour.html より引用
  • 30. VmwareのUSB Log 30
  • 31. まとめ •  Eject はすでに広く認知されたI/O手段である o  でも5インチCD-ROMはヘルメット重くなる o  アクチュエータが不要であればCD-ROMドライブである必要はない •  Eject-io o  アクチュエータを使う理由がなければPICで置き換え可能 o  PICならUSBマスストレージも簡単に実装可能 o  最も消費電力が低いEject可能デバイスを実現 o  Raspberry Piと組み合わせての5Vバッテリ動作が可能 •  PIC USBプログラミング o  意外と手軽に始められる o  USBスニファの手段 … VMware ログ、USBPcap + Wireshark 31
  • 32. Thank you ゚+.(・ω・)゚+.゚ 32