GPIOの特性
投稿:2013-04-21、更新:2018-01-19
GPIOの端子が「0=GND、1=VDD」と思っている人は、ご自身で計測してみましょう。
今時のマイコンで出力の最終段が普通のトランジスタとは思えません。
例えば、LPC1769では電源→FET→端子となっていますし、内部回路がバッファ(三角の奴)になっていてもその中身がFETだったりします。
FETを使っているケースでは出力電流に制限が掛かり一定の電流を越えて流れない場合があります。
機種によっては、GPIOから「1」を出力して、端子をGNDに落としても数十mAが流れるだけという場合もあります。
下図はGPIOの内部回路でNXP、LPC17xxシリーズ、Product data sheet、ページ70、14.4 Standard I/O pin configuration、図35の中から。
なお下へ伸びた線は入力用の回路へ接続されています。
GPIOの端子から出力される電流を増やしていって、端子電圧がどのように変化するか計測する回路を組んでみます。
普通のテスタが2台、テスタ代わりのパネルメータを1台用意しました。
こんな感じに。
イメージがさっぱり掴めませんのでグラフにしてみましょう。
エクセルで電流0のデータなしに横軸を0から表示させる方法を知りません。なので電流0mAのデータを捏造(1mAと同じ値)してあります。
項番 | 出力電流[mA] | 端子電圧[V] |
---|---|---|
1 | 1 | 3.1 |
2 | 2 | 3.0 |
3 | 3 | 3.0 |
4 | 4 | 2.9 |
5 | 5 | 2.9 |
6 | 6 | 2.8 |
7 | 7 | 2.7 |
8 | 8 | 2.7 |
9 | 9 | 2.6 |
10 | 10 | 2.5 |
11 | 11 | 2.5 |
12 | 12 | 2.4 |
13 | 13 | 2.3 |
14 | 14 | 2.2 |
15 | 15 | 2.1 |
16 | 16 | 2.0 |
17 | 17 | 1.8 |
18 | 18 | 1.7 |
19 | 19 | 1.4 |
20 | 20 | 0.8 |
出力電流が20mAで端子電圧が0Vに近づくので、電源を内蔵スイッチ経由で出力している訳じゃありません。
出力端子を短絡させても20mA程度しか流れません。
希望する電流を取り出した際にはそれなりに端子電圧が落ちるので、それに合わせた回路を組みましょう。
2018-01-19
【この動画を削除しました】
GPIOにLEDを接続する際の制限抵抗値を電源直結を前提に計算するサイト全部(ここ笑うトコ)。
というか趣味で電子工作を始めた人は騙されないようにね!