murmur1975
Posts: 4
Joined: Mon Sep 17, 2018 12:16 pm

基本的なポート仕様について

Mon Sep 17, 2018 12:24 pm

大変基本的なことなのですが、ラズパイの基本的な電気的特性やピンの使用方法などの、詳しい仕様がわかるマニュアルなどがありましたら、教えていただけないでしょうか。
オープンドレインとして使えるポートがあるのか知りたいのですが、調べることができていない状態です。
よろしくお願いします。

otani
Posts: 36
Joined: Fri Dec 13, 2013 4:18 am

Re: 基本的なポート仕様について

Tue Sep 18, 2018 1:53 am

電気的な入出力特性については公開されていません。

ペリフェラル仕様書 BCM2837 V2.1  2018.3.20版
https://github.com/raspberrypi/document ... -.V2-1.pdf
Page89 Figure6-1 GPIO Block DiagramにPortの基本ブロック図があります。
GPIO Pull-up/down Register (GPPUD)
GPIO Pull-up/down Clock Registers (GPPUDCLKn)の辺りを読み込んでください。
それとPage102 6.2ALT functionの表にあるPULL high/lowの表記に気を付けてください。GPIO 0~8 ⇒high, GPIO 9~ ⇒low

基本的に使っていないポートはPullUp制御できると思います。レジスタ制御は MMAPを使って制御します。
MMAPでの制御例は google検索してください。検索キー mmap gpio raspberry

MMAPを使わずに簡単にwiringpi で制御するには
http://wiringpi.com/reference/core-functions/

User avatar
masafumi_ohta
Forum Moderator
Forum Moderator
Posts: 360
Joined: Sun Sep 09, 2012 12:07 am
Location: Tokyo
Contact: Website

Re: 基本的なポート仕様について

Wed Sep 19, 2018 2:07 pm

otaniさん、いつもすいません、コメントフォロー助かっております。

また、はい先ほどの別のポストにも書きましたが回路図公開されてないので、いろいろご不便かけますが、すいません。。。
---
Masafumi Ohta
https://groups.google.com/d/forum/japanese-raspberry-pi-users-group

murmur1975
Posts: 4
Joined: Mon Sep 17, 2018 12:16 pm

Re: 基本的なポート仕様について

Fri Sep 21, 2018 2:03 pm

お二方、ご返答ありがとうございます。
ちょっと外出していて、返答が遅くなりました。すみません。

提示いただいたドキュメントを見ました。ただ、このドキュメントからは、出力ポートをオープンドレインとして使えるかどうか、私は読み取ることができませんでした。私の理解が不十分なのだと思いますが、pull-up/downの話は入力の話なのではないでしょうか。

やりたいことは、別の機器のSWに並列にラズパイの出力端子を接続し、そのSWとラズパイ出力でORを構成することです。したがって、ラズパイの出力端子は、H(L)出力->HiZ / L(H)出力->GNDであってほしいです。このとき、出力がオープンドレインまたはオープンコレクタとして機能しない場合(CMOS出力の場合)は、ラズパイ内部のHレベルとすでに存在する外部の電圧が等しくならずにポートを壊すことになるので、別途バッファ(74HC07など)を接続する必要があると思っていました。また、この機能をラズパイだけで実現できるとしても、端子の許容電流がわからないとラズパイのポートを壊しかねません。

こういった理由で電気的特性を知りたかったのですが、ないとなると、他の方はどうやって設計しているのでしょうか。そもそも、私が壮大な勘違いしているのでしょうか・・・。

User avatar
masafumi_ohta
Forum Moderator
Forum Moderator
Posts: 360
Joined: Sun Sep 09, 2012 12:07 am
Location: Tokyo
Contact: Website

Re: 基本的なポート仕様について

Fri Sep 21, 2018 2:07 pm

太田です。

そしたらこっちかなぁ。

https://www.raspberrypi.org/documentati ... educed.pdf
---
Masafumi Ohta
https://groups.google.com/d/forum/japanese-raspberry-pi-users-group

murmur1975
Posts: 4
Joined: Mon Sep 17, 2018 12:16 pm

Re: 基本的なポート仕様について

Fri Sep 21, 2018 3:33 pm

ありがとうございます。これは私も見てましたけれど、ラズパイ基板の回路でチップのポートの情報はないですね。
GPIOの2と3が外部プルアップされているので、今回の用途にはこの2つのポートは使えないなぁ、とは思っていました。

ラズパイ(or BCM283x)について欲しいデータは、ルネサスのRX210でならこんな感じのものです。

I/Oポート
http://resource.renesas.com/lib/jpn/onl ... _Ports_210

電気的特性
http://resource.renesas.com/lib/jpn/onl ... istics_210

User avatar
masafumi_ohta
Forum Moderator
Forum Moderator
Posts: 360
Joined: Sun Sep 09, 2012 12:07 am
Location: Tokyo
Contact: Website

Re: 基本的なポート仕様について

Fri Sep 21, 2018 5:23 pm

すいません、最初を読み違えてました。オープンドレインのことですね。それとルネサスの仕様書ありがとうございます。勘違いしてました...ほんとごめんなさい。

otaniさんのおっしゃるとおりいろいろ調べてみましたが電気的特性の公開はないようです(すいません)。

あとみるとこういうポストがあるようで、オープンドレインで使うことは可能なようです。otaniさんのご指示いただいたドキュメントもあたらめて読んだのですが、多分otaniさんのご指摘を参考とあとこの辺りをご参考いただければ。

https://www.raspberrypi.org/forums/view ... p?t=118340

よろしくお願いいたします。
---
Masafumi Ohta
https://groups.google.com/d/forum/japanese-raspberry-pi-users-group

murmur1975
Posts: 4
Joined: Mon Sep 17, 2018 12:16 pm

Re: 基本的なポート仕様について

Sat Sep 22, 2018 5:16 am

なるほど!わかりました。
I suppose you could emulate by setting the GPIO to Input when you would set Open Drain output high, and Output Low when you would want to pull it low. That way it would pull down when "0" and float when "1".

You can simulate open drain by setting the output value to 0 and then using the direction register as your output signal.

定量的な議論はともかく、定性的にはオープンドレイン出力を模擬できますね。
私の理解を書いてみますので、間違っていたらご指摘ください。

オープンドレインの模擬方法
  1. 安全のため、方向レジスタを[入力]、出力データレジスタを[0]にしておく
  2. 出力する
    ・出力HiZにしたいとき:方向レジスタを[入力]にする
    ・出力GNDにしたいとき:方向レジスタを[出力]にする
メモ:
  1. 出力データレジスタ[1]のときは方向レジスタ[出力]時にポートに3.3Vが現れ、外部に接続したデバイスの電圧と異なる場合は問題がある。そこでその前に、出力データレジスタを[0]にしておけば、方向レジスタ[出力]時にはGNDに接続されることになるので安全である。
  2. また、CMOS入力はHiZなので、方向レジスタ[入力]時にはHiZとなる
A, Bより、上記手順でオープンドレイン出力を模擬できる。

皆様ありがとうございました。ちょっとやってみますね。
ポートが壊れないことを祈っていてください・・・。

Return to “日本語”

Who is online

Users browsing this forum: No registered users and 2 guests