LoginSignup
0
0

More than 1 year has passed since last update.

プログラマーのための電子回路の読み方

Last updated at Posted at 2021-08-09

ピン配置やその役割について、仕様書に詳しく書かれていればよいですが、回路図を見た方が早い場合もあります。

ICにつながっている場合

例えば、EEPROM 24LC256の場合
https://akizukidenshi.com/catalog/g/gI-00705/

eeprom.png
のようにSCL,SDAと書かれていれば、データシートを見なくてもI2C通信だなとわかります。

マイコンがRL78/G13 24ピンだったとすると
10: P30/INTP3/SCK11/SCL11
11: P50/INTP1/SI11/SDA11
になっているので、シリアル・アレイ・ユニットのユニット0 チャネル3をIICとして使えばよいとわかります。
g13.png
このICの場合は、WPもマイコンにつながっているかもしれません。その場合は、ICのデータシートを見てどう制御すればよいかを調べます。
wp.png
wp2.png
書き込みするときだけ、マイコンの出力ポートを0にすることになりそうです。プロテクトの必要がなければ、マイコンには行かずにグランドにつながっているかもしれませんが、その辺は回路次第です。
マイコンにつながっていないピンは無視してよいです。

ちなみに、I2CはIC同士がシリアル通信をするための方式で、基板内のIC間でのデータの受け渡しによく使われます。EEPROM ICの中にも小さなマイコンがいて、そのマイコンとシリアル通信します。
同時に通信して衝突することがないように通信手順が決められていて、一から実装しようとすると大変ですが、RL78でコード生成機能を使えば、R_SAU0_Create,R_IIC11_Master_Sendのような関数を呼ぶだけでよいので簡単です。

トランジスタにつながっている場合

スイッチとして使われることがほとんどだと思います。
バイポーラトランジスタの場合、

  • ベース(B)につながっていたら出力ポート
  • コレクタ(C)またはエミッタ(E)につながっていたら入力ポート

と読みます。
ベースがスイッチのトグル操作に対応し、

  • NPNなら1でON
  • PNPなら0でON

もう少し正確に言うと、ベースとエミッタが同レベルならOFF、異なっていればONです。NPNの場合はエミッタがグランドに、PNPの場合はエミッタがVccにつながっていることがほとんどなので上記のようになります。
led.png
ON(P30 = 1)にするとコレクタとエミッタがつながり、(ほぼ)同レベルになります。コレクタが(ほぼ)0VになるのでLEDに電流が流れ、点灯します。OFF(P30 = 0)にするとコレクタとエミッタが切り離されます。コレクタは絶縁された状態になる(正確にはCE間の抵抗が非常に大きくなる)ので電流が流れず、消灯します。

pulse.png
P20はエミッタにつながっているので、入力ポートです。ベースがHighのとき、エミッタはコレクタを通してグランドに直結するので、P20 = 0です。ベースがLowのときはエミッタとコレクタが切り離され、負荷抵抗を介してVccにつながるのみになります。入力ポートは非常に大きな抵抗とみなすことができ、入力ポートがつながっただけでは電圧降下は起きません。したがって、エミッタ = Vcc、P20 = 1になります。つまり、PNPトランジスタを使った入力では、信号が反転します。

ちなみに、LEDを点灯するためには、要はカソード(マイコン側)をLowにすればよいということになります。なので、マイコンの出力ポートを直接LEDにつないでLow出力すればよいのにと思われるかもしれません。
led2.png
必ずしも間違いではないのですが、マイコンから流せる電流はあまり大きくないので注意が必要です。マイコンを大きな電流が流れる(抵抗が小さい)回路につなぐと、最悪故障してしまいます。LED一個なら直接駆動してもまだ何とかなりますが、モーターのように大電流が流れる回路ではご法度です。
電池ですらモーターを回すと瞬間的に電圧が下がりますが、マイコンとモーターを直接つなぐと、ソフト的にHighにしてもまったく電圧が上がらないはずです。
ソフトの立場でそこまで気にする必要はありませんが、意味のない部品に見えるものが非常に重要だったりします。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0