witchの日記: (ROBO) X-14 昨日さんざん悩んだ結果 5
日記 by
witch
昨日、色々と調べ物をする羽目になった元々の目的は
「3.3V系のマイコン(NEC VR)と5V系のマイコン(PIC)のI/Oを繋ぐのに一番楽をするには」
でした。
トラ技2002年8月号のVRシリーズ特集記事の製作例「ネットワーク電光掲示板の製作」(PDF)に、VRとTL16C552AFN(シリアルコントローラ)を繋ぐ回路例があって、データバス間に直列に抵抗(1kΩ)入れて、VR側データバスはダイオード(1S953)経由で3.3Vに繋ぐ(カソードが3.3V側)回路が出ているのだけど、どうしてこれで動作するのか理解できない。(知識不足で)
で、マイコンの入出力がどうなっているかから始まってズルズルと見直していたわけだけど…結局判らずじまい。
が、しかし、よくよく考えたら、今回やりたいのは「VRのGPIOでPICをつついて、PICに繋がったスピーカーを鳴らす」なので
「PICを3.3V駆動にすればいい」
のでした。
(圧電ブザーが3.3Vで鳴ればね)
---
今日は温泉行ってしまったので進捗ゼロ
解説 (スコア:1)
VR(CPUボード)が 3.3V系で動作していて、記事の回路が右の16C552(5V系)
"Di"が3.3V電源に向かって流れるようになっているダイオード。
これはデータバスで双方向なので、それぞれが駆動する場合を考える必要があります。
まず、VRが Highレベル(約3.3V)/Lowレベル(約0V)を出力する場合は、
Diも抵抗(1K)もほとんど影響せず、16C552のバス(入力)へ届く。
次に、16C552が駆動側の場合、Low出力はまず問題ない。
Highレベルが約5Vで出た場合ですが、High信号は、抵抗経由で、3.3Vに向かっている
ダイオードを通って逃げるので、VRに5Vがかかる心配がない、という仕掛けですね。
(3.3V電源は「電源」ではありますが「常に安定した3.3V」でもあります。)
実際はダイオードのVFが約0.6Vあるので、(3.3+0.6=) 3.9VがVR側に行ってしまいますが、
VR4181のデータシートによると、入力の絶対最大定格が ~+4.0V だそうなので、
セーフ。となります。
Re:解説 (スコア:1)
> VR4181のデータシートによると、入力の絶対最大定格が ~+4.0V だそうなので、セーフ。
んーーーー
「VRだとOK」なんですね。Armadillo-210 (ARM9: Cirrus Logic EP9307) の場合はそっちのデータシート見なきゃだめか…
素直にバススイッチIC買ってこようかな…
バススイッチ使えば1つのICでできますよ (スコア:0)
Re:バススイッチ使えば1つのICでできますよ (スコア:1)
バススイッチってどんなものかと思っていたら、74シリーズにあるのですね。
秋月や千石で手に入るようなら使ってみます。
Re:バススイッチ使えば1つのICでできますよ (スコア:1)
復習用。
レベルシフト機能 [tij.co.jp]
千石のは SN74CB3T というものでは無く、ここの説明の中で「従来のCBTシリーズ」と言っている
ものなので、5V電源からダイオード1本通して4.3Vにした電源を与えて使用します。
使う場合は、理解して使いましょう。:-)