Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
USB PDを使ってスマホを労わりたい
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
らすぴー
October 11, 2026
Technology
64
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
USB PDを使ってスマホを労わりたい
らすぴー
October 11, 2026
More Decks by らすぴー
See All by らすぴー
typoなんかねぇよ
raspython3
0
780
電子辞書Brainをネットに繋げてみた(自力編)
raspython3
0
800
高校のChromebookでも自由なネット環境を!
raspython3
0
260
限界環境CPython rev. seccamp2025
raspython3
0
81
kernel-vm-ittekita-yuukousai
raspython3
0
130
kernelvm-brain-net
raspython3
0
1.2k
pyconjp2024-wince
raspython3
0
90
seccamp2024-edictionary-python-TLS
raspython3
0
69
Other Decks in Technology
See All in Technology
AIに攻撃される前に、AIに攻撃させる
tsuchikazu
0
160
ミイダス株式会社 テックチームのご紹介 / MIIDAS Tech Team
miidas
0
170
Lambda MicroVMsが分からなすぎたので使い所を1から考えてみた
tsukuboshi
2
430
生成AIと進める探索的データ分析(2026.10.03 第122回Tokyo.R勉強会)
tatamiya
2
1.4k
ハードウェアコンペでもAI駆動開発が進んでいる話
iotengineer22
0
400
ai_cording_with_k8s_knowledge.pdf
mochizuki875
1
310
SREでアラート疲れを 解決しよう!
kairim0
1
210
並行性の問題を防げ!実践トランザクション入門
occhi
0
280
不可逆な意思決定を避けながら10億超の顧客データを AI Ready にするデータ基盤設計
baseballyama
1
160
Google Cloud Next Tokyo 26登壇時のスクリプト
recruitengineers
PRO
0
210
DevelopersIO 2026 知識の地図を描く ─ オントロジーとは何か?
ishikawa_satoru
1
280
ファミコンでPHPを動かす / PHP on the Famicom side b
tomzoh
0
140
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
96
14k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
690
Optimizing for Happiness
mojombo
378
71k
[SF Ruby Conf 2025] Rails X
palkan
3
1.4k
For a Future-Friendly Web
brad_frost
184
10k
KATA
mclloyd
PRO
35
16k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
530
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
2
400
A Modern Web Designer's Workflow
chriscoyier
699
190k
GraphQLとの向き合い方2022年版
quramy
50
15k
Transcript
USB PDを使って スマホを労わりたい らすぴー / RasPython3 (@RasPython3) 2026-10-11 Okayama Revengers
LT #7
自己紹介 2 活動名 RasPython3 / らすぴー X: @RasPython3 seccamp’24 全国
seccamp’25,’26 チューター 普段やってること 各種ウェブツールづくり 電子辞書いじり ゲーム内コーディング ネットワーク関連 etc.
3 みなさん、急速充電してますか?
急速充電とは? • 供給する電圧・電流を大きくして通常より急速に充電を行う機能 • 主にType-CのPD(Power Delivery)が使われる • 同じ仕組みでノートPCやミニPCの電源ポートにもType-Cが普及 4
ところで • 急速充電するとLi-ionバッテリーが弱る、みたいな言説がある • 実際は熱とか残量管理のほうが要因としては強いらしいが... • 寿命的にはゆっくり充電するに越したことはなさそう • ついでにスマホの不調が役満状態でちょっと不安 (電源ボタン故障、指紋センサ故障、バイブ故障、バックライト故障)
5
今回やりたい(やりたかった)こと • 充電器とスマホの間に挟まって、通信をジャック • 充電器が提示した電圧の中で低めなものだけをスマホに教える • ついでに電力の一部を内蔵ハブに回したり • 善意の中抜き業者 6
今回やりたい(やりたかった)こと 動機 • せっかくならPDの動作も勉強したい • じゃあ自分で調べて 設計・実装してみよう! 7 65% ノリ
15% スマホに やさしく 20% PDのお勉強
なお • 1か月前から回路設計などをしていたんですが... • ギリギリ間に合わず... • 技術解説メインになります 8
USB端子について 9 • Universal Serial Bus • 差動信号を用いて多用途に 使える便利なモノ •
あと活線挿抜ができる • ユーザ側は便利だけど プロトコルは複雑 引用元: https://geekom.jp/blogs/guide/usb-types
USB Type-C 10 • 今やスタンダードとなった、24ピンを擁する激ヤバ端子 • これまでのUSB端子と機能的な後方互換性を確保している • 差動高速通信レーン×4 (最大計40Gbps)
• 補助信号線×2 • コンフィグ用線 レセプタクル プラグ • 5V~48V,~5Aまで出せる • ...240W??? 引用元:https://ww1.microchip.com/downloads/en/appnotes/00001953a.pdf
Source と Sink 11 • 電力を「あげる側」と「もらう側」 名称 役割 例 Source
電力を供給する CCピンをプルアップ USB充電器 モバイルバッテリー Sink 電力をもらう CCピンをプルダウン PC, スマホ USBメモリ
DFP と UFP • Downstream Facing Port ... USBの「ホスト」 •
Upstream Facing Port ... USBの「デバイス」 • USBはホストとデバイスに分かれて基本的に1対1で通信をする • いままでは基本的にAがホスト、Bがデバイスにになっていた • Type-Cはケーブル両端の端子が同形のため、CCピンによって 初期の役割を決定する 12
DRP と DRD について • スマホやPCは必ずしも「電力をもらう側」とは限らない • PCからスマホに充電できたり、スマホからUSBアクセサリに給電できたり • 同様に「ホスト側」とも限らない
• スマホをPCに繋ぐとデバイスとして認識される • でもスマホにもUSBメモリ挿せるよね? • DRP(Dual Role Power) ... 後からSinkやSourceに化けられる • DRD(Dual Role Data) ... 後からDFPやUFPに化けられる 13
DFP/UFPとSource/Sinkの関係 • 従来は基本的に DFP & Source, UFP & Sink の組合せ
• Type-Cでは、DRPによってSourceとSinkを入れ替えられる • デバイスから電力をもらいつつ、通信としてはホストになれる • OTGに近いが、使うピンに違いがあったり、切り替わるモノが違う (OTG: On-The-Go, データ線を使って後からDFP/UFPを入れ替え) 14
DFP/UFPとSource/Sinkの関係 15 • まだつながっていない状態 5V Rp DFP(ホスト) プルダウンにより0V CC CC
UFP(デバイス) プルアップにより5V Rp GND (0V)
DFP/UFPとSource/Sinkの関係 • つながると 16 VBUSを通して5V給電 5V 相手はDFPだ 自分がSinkだ Rp DFP(ホスト)
CC ↓電圧降下 CC UFP(デバイス) ↑電圧上昇 Rd 相手はUFPだ 自分がSourceだ GND (0V)
DFP/UFPとSource/Sinkの関係 17 • DFP同士/UFP同士だと、電圧変化がなく何も起こらない →安全 UFP(デバイス) ...? ...? CC CC
Rd UFP(デバイス) Rd GND (0V) GND (0V)
DFP/UFPとSource/Sinkの関係 18 • DRP同士は... どちらかというと Sinkになりたい どちらかというと Sinkになりたい CC DRP(デバイス)
CC 不定 Rd GND (0V) DRP(デバイス) Rd GND (0V)
CCピンについて • CC = コンフィグレーションチャンネル • つながった機器は、CCピンを使って半二重通信 (一つの線で双方向に通信)をする • 詳細なフォーマットまでは今回は省略
• これを使ってPDやDRP/DRDの処理などを行う 19
DRPの流れ 20 ちょ俺電力ほしいんだけど 役割交換しようや あ...はい... 左側がVBUSへの供給をカット Source ↓ Sink じゃあこっち供給とめたんで
右側がVBUSへの供給を開始 あ...じゃあ供給します 交換完了 Sink ↓ Source
DRDの流れ 21 ちょ俺UFPがいいんだけど 役割交換しようや DFP(ホスト) ↓ UFP(デバイス) あ...はい... 交換完了 UFP(デバイス)
↓ DFP(ホスト)
PDの流れ 22 双方がSource,Sinkを認識 SourceがVBUSに5Vを供給 5V,9V,15V それぞれ3A出せます 9V 3A ください DFP(ホスト)
Source いいよ~ 9Vを供給 VBUS変えたよ~ UFP(デバイス) Sink
23 ちなみに、冒頭の仲介業者はというと...
やりたいやつ 24 改竄済 5V,9V,15V それぞれ3A 出せます 仲介業者 5V 3A ください
5V 3A ください 充電器 / PC Source いいよ~ 5V 3A 出せます Sink Source いいよ~ 5Vを供給(パススルー) VBUS変えたよ~ VBUS変えたよ~ スマホ Sink
25 ここからは 「間に合わせたかったなぁ...」 というお話
DRP と DRD をやってみたい! 26 • 身近な周辺機器でDRPやDRDを使っていそうなものは何だろう? • USBハブは? •
最近はPD給電用のType-Cポートが ついているものも • これってDRPだよね ↑※本当はType-C
じゃあDRDは? • そもそもスマホのType-CってDRD対応なんですよ • じゃあスマホの周辺機器でいい感じの何かを • これさっきのUSBハブで良くね? • PC接続の有無でDRDをしたい 27
どういうこと? • スマホのみ接続 ... スマホのUSBハブとして、UFP & Sink 動作 28
どういうこと? 29 • 充電器も接続 ... スマホのUSBハブとして、UFP & Source 動作 ※本当は
↓ Type-C
どういうこと? • PCを接続 ... PCのUSBハブとして、DFP & Source として動作 (スマホがUSBハブにぶら下がる) 30
どういうこと? 31 DRD DRP & DRD
出来上がった回路 • 部品はGoogleのAIモード とChatGPTをいじめて 壁打ちして選定 • かなりダメもとで一応 高速レーン配線を メイン基板に用意 •
ラズパイ系使いたいので RP2040-Zeroを採用 32
出来上がった回路 33
おわり • 「1ヶ月あればさすがに動作テストまでは行けるでしょ」と思って いた過去の自分を急かしたい • 部品集めて進捗出来たらXに流します • スマホには優しくしようね 34